Добавлена возможность отмечать посещение, отображение адаптируется к данным (чекбоксы)
This commit is contained in:
parent
10d53cb144
commit
fbb88422d0
|
@ -65,6 +65,32 @@ class attendancelog {
|
||||||
$awn = json_decode(file_get_contents($url),1);
|
$awn = json_decode(file_get_contents($url),1);
|
||||||
return $awn['week_cur'];
|
return $awn['week_cur'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function AttendanceAddEdit()
|
||||||
|
{
|
||||||
|
if(isset($_POST['attendance_add_edit'])){
|
||||||
|
|
||||||
|
foreach ($_POST['attendance_add_edit']['attendance'] as $student_name => $student_att){
|
||||||
|
if ($student_att == 'on'){
|
||||||
|
$student_att = 1;
|
||||||
|
}else{
|
||||||
|
$student_att = 0;
|
||||||
|
}
|
||||||
|
$sql_search = 'SELECT id FROM acs_attendancelog_students_attendance WHERE name="'. $student_name .'" AND gruppa="'. $this->DB->rescape($_POST['attendance_add_edit']['info']['gruppa']) .'" AND date1="'. $this->DB->rescape($_POST['attendance_add_edit']['info']['date']) .'" AND time1='. $this->DB->rescape($_POST['attendance_add_edit']['info']['time1']) .' AND predmet="'. $this->DB->rescape($_POST['attendance_add_edit']['info']['predmet']) .'" ';
|
||||||
|
$search = $this->DB->QUR_SEL($sql_search);
|
||||||
|
if (isset($search[1])){
|
||||||
|
$sql_update = 'UPDATE acs_attendancelog_students_attendance SET att=' . $student_att . ' WHERE id='. $search[1]['id'] .' ';
|
||||||
|
$rez = $this->DB->QUR($sql_update);
|
||||||
|
}else {
|
||||||
|
$sql_insert = 'INSERT INTO acs_attendancelog_students_attendance (id, name, gruppa, date1, att, time1, predmet) VALUES (0,"'.$student_name.'", "'. $this->DB->rescape($_POST['attendance_add_edit']['info']['gruppa']) .'", "'. $this->DB->rescape($_POST['attendance_add_edit']['info']['date']) .'", '. $student_att .', '. $this->DB->rescape($_POST['attendance_add_edit']['info']['time1']) .',"'. $this->DB->rescape($_POST['attendance_add_edit']['info']['predmet']) . '")';
|
||||||
|
$rez = $this->DB->QUR($sql_insert);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return $rez;
|
||||||
|
}
|
||||||
|
}
|
||||||
function mainPageAction()
|
function mainPageAction()
|
||||||
{
|
{
|
||||||
$des = ''; if(isset($_GET['des'])) $des = $_GET['des'];
|
$des = ''; if(isset($_GET['des'])) $des = $_GET['des'];
|
||||||
|
@ -73,19 +99,35 @@ class attendancelog {
|
||||||
$current_group_classes = $this->getClassesByGroup($current_group[1]['sokr'], $current_group[1]['fo']);
|
$current_group_classes = $this->getClassesByGroup($current_group[1]['sokr'], $current_group[1]['fo']);
|
||||||
$currentTime = $this->currentTime();
|
$currentTime = $this->currentTime();
|
||||||
$out = array();
|
$out = array();
|
||||||
|
if(isset($_POST['date_request'])) {
|
||||||
|
$week_compare = $this->getWeekByDate(strtotime($_POST['date_request']));
|
||||||
|
$day_compare = date('w', strtotime($_POST['date_request']));
|
||||||
|
$db_date = $this->DB->rescape($_POST['date_request']);
|
||||||
|
}else {
|
||||||
|
$week_compare = $currentTime['week1'];
|
||||||
|
$day_compare = $currentTime['day1'];
|
||||||
|
$db_date = $currentTime['date'];
|
||||||
|
}
|
||||||
foreach ($current_group_classes['raspis'] as $class) {
|
foreach ($current_group_classes['raspis'] as $class) {
|
||||||
if(isset($_POST['date_request'])) {
|
|
||||||
$week_compare = $this->getWeekByDate(strtotime($_POST['date_request']));
|
|
||||||
$day_compare = date('w', strtotime($_POST['date_request']));
|
|
||||||
}else {
|
|
||||||
$week_compare = $currentTime['week1'];
|
|
||||||
$day_compare = $currentTime['day1'];
|
|
||||||
}
|
|
||||||
if ($class['week1'] == $week_compare) {
|
if ($class['week1'] == $week_compare) {
|
||||||
if($class['day1'] == $day_compare){
|
if($class['day1'] == $day_compare){
|
||||||
$out['day_name'] = $class['day_name'];
|
$out['day_name'] = $class['day_name'];
|
||||||
$out['day_info'][$class['time1']] = $class;
|
$out['day_info'][$class['time1']] = $class;
|
||||||
$out['students'] = $this->getStudentsByGroup($current_group[1]['sokr'], $current_group[1]['fo']);
|
$students = $this->getStudentsByGroup($current_group[1]['sokr'], $current_group[1]['fo']);
|
||||||
|
foreach ($students['students'] as $student_name){
|
||||||
|
$out['day_info'][$class['time1']]['students'][$student_name] = 'off';
|
||||||
|
$sql_search = 'SELECT name, att FROM acs_attendancelog_students_attendance WHERE name="'. $student_name .'" AND gruppa="'. $current_group[1]['sokr'] .'" AND date1="'. $db_date .'" AND time1='. $class['time1'] .' AND predmet="'. $class['predmet'] .'" ';
|
||||||
|
$search = $this->DB->QUR_SEL($sql_search);
|
||||||
|
if(isset($search[1])){
|
||||||
|
if($search[1]['att'] == 1){
|
||||||
|
$db_att = 'on';
|
||||||
|
}else{
|
||||||
|
$db_att = 'off';
|
||||||
|
}
|
||||||
|
$out['day_info'][$class['time1']]['students'][$student_name] = $db_att;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,14 +138,16 @@ class attendancelog {
|
||||||
{
|
{
|
||||||
$html = '';
|
$html = '';
|
||||||
$groups = $this->getAllGrupps();
|
$groups = $this->getAllGrupps();
|
||||||
$actionResult = $this->mainPageAction();
|
|
||||||
$currentTime = $this->currentTime();
|
$currentTime = $this->currentTime();
|
||||||
|
$AttendanceAddEdit = $this->AttendanceAddEdit();
|
||||||
|
$actionResult = $this->mainPageAction();
|
||||||
//$html .= '<pre>'. print_r($groups,1) . '</pre>';
|
//$html .= '<pre>'. print_r($groups,1) . '</pre>';
|
||||||
//$html .= '<pre>'. print_r($actionResult,1) . '</pre>';
|
//$html .= '<pre>'. print_r($actionResult,1) . '</pre>';
|
||||||
//$html .= '<pre>'. print_r($currentTime,1) . '</pre>';
|
//$html .= '<pre>'. print_r($currentTime,1) . '</pre>';
|
||||||
|
//$html .= '<pre>'. print_r($AttendanceAddEdit,1) . '</pre>';
|
||||||
//$html .= '<pre>'. print_r($_GET,1) . '</pre>';
|
//$html .= '<pre>'. print_r($_GET,1) . '</pre>';
|
||||||
//$html .= '<pre>'. print_r($_POST,1) . '</pre>';
|
//$html .= '<pre>'. print_r($_POST,1) . '</pre>';
|
||||||
//$html .= '<pre>'. print_r($_SESSION,1) . '</pre>';
|
$html .= '<pre>'. print_r($_SESSION,1) . '</pre>';
|
||||||
GLOBAL $smarty;
|
GLOBAL $smarty;
|
||||||
$page = ''; if(isset($_GET['page'])) $page = $_GET['page'];
|
$page = ''; if(isset($_GET['page'])) $page = $_GET['page'];
|
||||||
$des = ''; if(isset($_GET['des'])) $des = $_GET['des'];
|
$des = ''; if(isset($_GET['des'])) $des = $_GET['des'];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span">
|
<div class="span">
|
||||||
<h3 class="page-title"> Посещаемость </h3>
|
<h3 class="page-title"> Посещаемость </h3>
|
||||||
<ul class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
|
@ -36,6 +36,9 @@
|
||||||
<span class="tools"><a href="javascript:;" class="icon-chevron-down"></a></span>
|
<span class="tools"><a href="javascript:;" class="icon-chevron-down"></a></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="widget-body">
|
<div class="widget-body">
|
||||||
|
{if $actionResult|count < 1}
|
||||||
|
<h3> У группы нет пар в этот день!</h3>
|
||||||
|
{else}
|
||||||
<div class="accordion" id="accordion{$key}">
|
<div class="accordion" id="accordion{$key}">
|
||||||
<h3 style="width: 100%; text-align: center">
|
<h3 style="width: 100%; text-align: center">
|
||||||
({$actionResult.day_name})
|
({$actionResult.day_name})
|
||||||
|
@ -65,27 +68,28 @@
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>No</th>
|
|
||||||
<th>ФИО</th>
|
<th>ФИО</th>
|
||||||
<th>Присутствие</th>
|
<th>Присутствие</th>
|
||||||
<th>Примечание</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{foreach from=$actionResult.students.students key=key item=student}
|
{foreach from=$class.students key=student item=att}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{$key}</td>
|
|
||||||
<td>{$student}</td>
|
<td>{$student}</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="hidden" name="attendance_add_edit[attendance][{$student}]" value="off">
|
<input type="hidden" name="attendance_add_edit[attendance][{$student}]" value="off">
|
||||||
<input type="hidden" name="attendance_add_edit[info]['week1']" value="{$class.week1}">
|
<input type="hidden" name="attendance_add_edit[info][time1]" value="{$class.time1}">
|
||||||
<input type="hidden" name="attendance_add_edit[info]['day1']" value="{$class.day1}">
|
<input type="hidden" name="attendance_add_edit[info][predmet]" value="{$class.predmet}">
|
||||||
<input type="hidden" name="attendance_add_edit[info]['time1']" value="{$class.time1}">
|
<input type="hidden" name="attendance_add_edit[info][gruppa]" value="{$groupName}">
|
||||||
<input type="hidden" name="attendance_add_edit[info]['predmet']" value="{$class.predmet}">
|
{if isset($smarty.post.date_request)}
|
||||||
<input type="hidden" name="attendance_add_edit[info]['gruppa']" value="{$groupName}">
|
<input type="hidden" name="attendance_add_edit[info][date]" value="{$smarty.post.date_request}">
|
||||||
<input type="checkbox" name="attendance_add_edit[attendance][{$student}]" id="{$key}">
|
{else}
|
||||||
|
<input type="hidden" name="attendance_add_edit[info][date]" value="{$currentTime.date}">
|
||||||
|
{/if}
|
||||||
|
<label for="{$student|replace:' ':''}{$key}"></label>
|
||||||
|
<input class="custom-checkbox" type="checkbox" name="attendance_add_edit[attendance][{$student}]" id="{$student|replace:' ':''}{$key}" {if $att == 'on'} checked {/if}>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td><input type="text" name="" id="" value=""></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -103,6 +107,7 @@
|
||||||
{/if}
|
{/if}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</div>
|
</div>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue