96 lines
3.9 KiB
PHP
96 lines
3.9 KiB
PHP
<?php
|
|
class attendancelog {
|
|
private string $name;
|
|
private $DB;
|
|
public function __construct($DB, $name){
|
|
$this->DB = $DB;
|
|
$this->name = $name;
|
|
}
|
|
function getAllGrupps() {
|
|
$sql_search = 'SELECT id, sokr, fo, kurs FROM acs_grupp 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 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']);
|
|
$out = array();
|
|
foreach ($current_group_classes['raspis'] as $class) {
|
|
$out['info'][$class['week_name']][$class['day_name']][$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();
|
|
//$html .= '<pre>'. print_r($groups,1) . '</pre>';
|
|
//$html .= '<pre>'. print_r($actionResult,1) . '</pre>';
|
|
//$html .= '<pre>'. print_r($_GET,1) . '</pre>';
|
|
//$html .= '<pre>'. print_r($_SESSION,1) . '</pre>';
|
|
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);
|
|
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;
|
|
}
|
|
} |