DB = $DB; $this->name = $name; } function getAllGrupps() { $sql_search = 'SELECT id, sokr, fo, kurs FROM acs_grupp WHERE fo="ОФО" ORDER BY `sokr` DESC'; $rez = $this->DB->QUR_SEL($sql_search); return $rez; } function getStudentsByGroup($groupName,$educationForm) { $educationForm = urlencode($educationForm); $groupName = urlencode($groupName); $url = 'https://eios.mkgtu.ru/api.php?des=studentsByGrupp¶m1=' . $groupName . '¶m2=' . $educationForm; return json_decode(file_get_contents($url),1); } function getClassesByGroup($groupName,$educationForm) { $tmp = explode('-', $groupName); $groupName = trim($tmp[0]); $groupNumber = substr($tmp[1],0,2); $educationForm = urlencode($educationForm); $groupName = urlencode($groupName); $groupNumber = urlencode($groupNumber); $url = 'https://local.mkgtu.ru/raspisnew/api.php?des=raspis_grupp&name='. $groupName .'&number='. $groupNumber .'&fo=' . $educationForm; return json_decode(file_get_contents($url),1); //return $url; } function currentTime() { //возвращает информацию о текущем моменте для пользователя $rez = array(); $moment = getdate(); $curr_minutes = $moment['hours'] * 60 + $moment['seconds']; $minutes = 480; for($i = 1; $i < 8; $i++) { //возвращает текущую пару в университете if ($curr_minutes >= $minutes-10 AND $curr_minutes <= $minutes + 90){ $rez['time1'] = $i; } if ($i == 4){ $minutes = $minutes + 110; }else{ $minutes = $minutes + 100; } } $week = json_decode(file_get_contents('https://local.mkgtu.ru/raspisnew/api.php?des=raspis_week_cur'),1); $rez['day1'] = $moment['wday']; $rez['mday'] = $moment['mday']; $rez['mon'] = $moment['mon']; $rez['0'] = $moment['0']; $rez['year'] = $moment['year']; $rez['date'] = date("Y-m-d"); $rez['week1'] = $week['week_cur']; return $rez; } function getGroupNameByID($id) { $sql_search = 'SELECT sokr, fo FROM acs_grupp WHERE id='. $id .' '; return $this->DB->QUR_SEL($sql_search); } function mainPageAction() { $des = ''; if(isset($_GET['des'])) $des = $_GET['des']; if ($des == 'show'){ //получаем список пар по имени группы // $current_group = $this->getGroupNamebyID($_GET['id']); // return $this->getStudentsByGroup($current_group[1]['sokr'], $current_group[1]['fo']); $current_group = $this->getGroupNamebyID($_GET['id']); $current_group_classes = $this->getClassesByGroup($current_group[1]['sokr'], $current_group[1]['fo']); $currentTime = $this->currentTime(); $out = array(); foreach ($current_group_classes['raspis'] as $class) { if ($class['week1'] != $currentTime['week1']) { $out['info'][$class['day1']]['day_name'] = $class['day_name']; $out['info'][$class['day1']][$class['time1']] = $class; $out['students'] = $this->getStudentsByGroup($current_group[1]['sokr'], $current_group[1]['fo']); } } return $out; } } function HTML() { $html = ''; $groups = $this->getAllGrupps(); $actionResult = $this->mainPageAction(); $currentTime = $this->currentTime(); //$html .= '
'. print_r($groups,1) . '
'; $html .= '
'. print_r($actionResult,1) . '
'; $html .= '
'. print_r($currentTime,1) . '
'; //$html .= '
'. print_r($_GET,1) . '
'; //$html .= '
'. print_r($_POST,1) . '
'; //$html .= '
'. print_r($_SESSION,1) . '
'; GLOBAL $smarty; $page = ''; if(isset($_GET['page'])) $page = $_GET['page']; $des = ''; if(isset($_GET['des'])) $des = $_GET['des']; $smarty->assign('des', $des); $smarty->assign('name', $this->name); $smarty->assign('currentTime', $currentTime); if($page == 'headman') { $smarty->clearCache('moduls/attendancelog/tpl/headman.html'); $html .= $smarty->fetch('moduls/attendancelog/tpl/headman.html'); } if ($page == ''){ $smarty->assign('groups',$groups); $smarty->clearCache('moduls/attendancelog/tpl/main_page.html'); $html .= $smarty->fetch('moduls/attendancelog/tpl/main_page.html'); } if ($page == 'main'){ if ($des == 'show'){ $smarty->assign('actionResult', $actionResult); $groupName = $this->getGroupNameByID($_GET['id']); $groupName = $groupName[1]['sokr']; $smarty->assign('groupName', $groupName); } $smarty->assign('groups',$groups); $smarty->clearCache('moduls/attendancelog/tpl/main_page.html'); $html .= $smarty->fetch('moduls/attendancelog/tpl/main_page.html'); } return $html; } }