function getTaskRightId($user_id, $pg_url) { $taskRightId = 0; if (intval($user_id) > 0 && trim($pg_url) != '') { $query = "SELECT distinct tig.task_rights_id \r\n\t\tFROM task_in_group tig inner join tasks t on t.id=tig.task_id \r\n\t\tWHERE tig.user_group_id in (\r\n\t\t SELECT group_id\r\n\t\t\tFROM user_in_group\r\n\t\t\tWHERE user_id ='" . $user_id . "') and t.url like '" . $pg_url . "%'"; //введение персональных задач пользователя $query .= "union \r\n\t\tSELECT distinct tiu.task_rights_id \r\n\t\tFROM task_in_user tiu inner join tasks t on t.id=tiu.task_id \r\n\t\tWHERE user_id ='" . $user_id . "' and t.url like '" . $pg_url . "%'\r\n\t\torder by 1 desc limit 0,1"; $taskRightId = intval(getScalarVal($query)); } return $taskRightId; }
if (isset($search_query)) { $query .= $search_query; } if (isset($on_control_query)) { $query .= $on_control_query; } $query .= " order by " . $sort . " " . $stype . " "; // </abarmin> $res = mysql_query($query . 'limit ' . ($page - 1) * $pgVals . ',' . $pgVals); //echo $query; ?> <!--//---------------------------------начало списочная форма ------------------------------------------------- --> <form name=item_list action="" method="get"> <?php if (!isset($_GET['save']) && !isset($_GET['print'])) { $itemCnt = getScalarVal('select count(*) from (' . $query . ')t'); if (floor($itemCnt / $pgVals) == $itemCnt / $pgVals) { $pages_cnt = floor($itemCnt / $pgVals); } else { $pages_cnt = $itemCnt / $pgVals + 1; } $add_string = reset_param_name($query_string, 'page'); //"&pgVals=".$pgVals; echo '<div align=center>страницы ' . getPagenumList($pages_cnt, $page, 6, 'page', $add_string, '') . '</div>'; ?> <label><input type=checkbox name="on_control_filter" <?php if ($on_control_filter == 'on') { echo 'checked'; } ?>
function report_build($inGrFilendNum, $query) { // global $page, $pageVals, $query_string, $sort, $stype; //получаем имена столбцов по запросу, в запросе намерено не запрашиваем данные $res_col_names = mysql_query($query . ' limit 0'); //echo $query.' limit 0'; //print_r($res_col_names); //echo ' mysql_field_name($res_col_names,0)='.mysql_field_name($res_col_names,2); $groupArrGlobal = array(); $inGrFilendNum_cnt = count($inGrFilendNum); if ($inGrFilendNum_cnt > 3) { $inGrFilendNum_cnt = 3; } else { if ($inGrFilendNum_cnt <= 0) { $inGrFilendNum_cnt = 1; $inGrFilendNum = array(1); } } for ($i = 0; $i < $inGrFilendNum_cnt; $i++) { array_push($groupArrGlobal, array('grN' . ($i + 1), mysql_field_name($res_col_names, $inGrFilendNum[$i] - 1), $i + 1, 1)); } if ($inGrFilendNum_cnt == 1) { array_push($groupArrGlobal, array('grN2', mysql_field_name($res_col_names, 1), 2, 0)); array_push($groupArrGlobal, array('grN3', mysql_field_name($res_col_names, 2), 3, 0)); } if ($inGrFilendNum_cnt == 2) { array_push($groupArrGlobal, array('grN3', mysql_field_name($res_col_names, 2), 3, 0)); } //print_r($groupArrGlobal); /* $groupArrGlobal=array( array('grN1','дисциплина',1,1), array('grN2','преподаватель',2,1), array('grN3','вид контроля',3,1) ); //массив уровней группировки */ //смотрим какой параметр не используется при группировке $ignCol = count($groupArrGlobal); //число игнорируемых колонок при выводе таблицы результатов for ($i = 0; $i < $ignCol; $i++) { if (strpos($query_string, 'grN' . ($i + 1)) === false && isset($_GET['gr' . $i])) { $groupArrGlobal[$i][3] = 0; } } $getArrGr = array('', '', ''); //массив входных параметров сортировки из Get $groupArr = array(); $groupArr = $groupArrGlobal; if (isset($_GET['gr0']) && isset($_GET['gr1']) && isset($_GET['gr2'])) { for ($i = 0; $i < count($getArrGr); $i++) { $getArrGr[$i] = $_GET['gr' . $i]; } $groupArrTmp = array($groupArrGlobal[0][0] => 0, $groupArrGlobal[1][0] => 1, $groupArrGlobal[2][0] => 2); for ($i = 0; $i < count($getArrGr); $i++) { $groupArr[$i] = $groupArrGlobal[$groupArrTmp[$getArrGr[$i]]]; } } ?> <script language="javascript"> function test_liter_order(){//проверка порядка сортировки для вывода литературы var val_tmp_i=''; var val_tmp_j=''; var cur_val=''; var err=false; var sp_name=document.getElementById('gr0'); var pp_name=document.getElementById('gr1'); var kd_fio=document.getElementById('gr2'); if (sp_name.value==pp_name.value || sp_name.value==kd_fio.value) {err=true;} if (sp_name.value==pp_name.value || pp_name.value==kd_fio.value) {err=true;} if (sp_name.value==kd_fio.value || pp_name.value==kd_fio.value) {err=true;} if (err==false) {document.forms['gr_list'].submit(); } else {if (!confirm('Обнаружено совпадение в порядке группировки.\n\n Вы можете исправить порядок группировки или использовать указанный Вами порядок. \n\nИсправить ?')) document.forms['gr_list'].submit();} } </script> <?php //указываем сортировку для используемых столбцов в группировки, а потом по сортируемому столбцу //print_r($groupArrGlobal); $query .= ' order by '; for ($i = 0; $i < count($groupArr); $i++) { if ($groupArrGlobal[$i][3] == 1) { $query .= $groupArrGlobal[$i][2] . ', '; } } if ($sort > 0) { $query .= '' . $sort . ' ' . $stype . ' '; } else { $query = preg_replace('/, $/', '', $query); } //echo $query; $res_PP = mysql_query($query . ' limit ' . ($page - 1) * $pageVals . ',' . $pageVals); if (!isset($_GET['save']) && !isset($_GET['print'])) { ?> <form name="gr_list" id="gr_list" action="" method="get"> порядок группировки: <?php $query_str_hiddenFields = $query_string; //храним параметры GET, кроме полей группировки for ($j = 0; $j < count($groupArr); $j++) { echo $j + 1 . ' <select name="gr' . $j . '" id="gr' . $j . '">'; for ($i = 0; $i < count($groupArrGlobal); $i++) { $selected = ''; if (isset($_GET['gr' . $j])) { if ($groupArrGlobal[$i][0] == $_GET['gr' . $j]) { $selected = ' selected'; } $query_str_hiddenFields = reset_param_name($query_str_hiddenFields, 'gr' . $j); } else { if ($groupArrGlobal[$i][0] == $groupArrGlobal[$j][0] && $groupArrGlobal[$i][3] == 1) { $selected = ' selected'; } } echo '<option value=' . $groupArrGlobal[$i][0] . '' . $selected . '>' . $groupArrGlobal[$i][1] . '</option>'; } echo '</select> '; } while (list($key, $value) = each($_GET)) { //не храним группы, т.к. они уже есть if (!preg_match('/^gr\\d+$/', $key)) { echo '<input type=hidden id="' . $key . '" name="' . $key . '" value="' . $value . '">'; } } ?> <input type=button value=Ok onClick=javascript:test_liter_order();> <input type=button value="по умолчанию" title="восстановить параметры по умолчанию" onClick=window.location.href="?<?php echo $query_str_hiddenFields; ?> "> <!-- input type=hidden id="student_id" name="student_id" value="<?php echo $_GET['student_id']; ?> " --> </form> <?php } $flag1 = false; $flag2 = false; $i = 0; $elemCnt = mysql_num_rows($res_PP); //echo ' elemCnt='.$elemCnt; $res_pp = mysql_fetch_array($res_PP, MYSQL_NUM); //echo '$groupArr[0][2]-1='.($groupArr[0][2]-1).''; //print_r($groupArr); //echo ' sort='.$sort; while ($i < $elemCnt) { $paramVal1 = $res_pp[$groupArr[0][2] - 1]; //1-уровня группировки echo '<br><b>' . $res_pp[$groupArr[0][2] - 1] . '</b><br>'; while ($paramVal1 == $res_pp[$groupArr[0][2] - 1] && $i < $elemCnt) { $paramVal2 = $res_pp[$groupArr[1][2] - 1]; //2-уровня группировки if ($groupArr[0][0] != $groupArr[1][0] && $groupArr[1][3] == 1) { echo ' <span class="grN2" style="padding-left:20;">' . $groupArr[1][1] . ': ' . color_mark($q, $res_pp[$groupArr[1][2] - 1]) . color_mark($q, $tw_name_add) . '</span><br>' . "\n"; } while ($paramVal2 == $res_pp[$groupArr[1][2] - 1] && $paramVal1 == $res_pp[$groupArr[0][2] - 1] && $i < $elemCnt) { $paramVal3 = $res_pp[$groupArr[2][2] - 1]; //3-уровня группировки if ($groupArr[1][0] != $groupArr[2][0] && $groupArr[2][3] == 1) { echo '<span class="grN3" style="padding-left:40;">' . $groupArr[2][1] . ': ' . color_mark($q, $res_pp[$groupArr[2][2] - 1]) . '</span><br>' . "\n"; } //печатаем заголоски столбцов таблицы echo '<table border=1 cellspacing=0 cellpadding=5><tr>'; for ($m = 0; $m < $ignCol; $m++) { if ($groupArrGlobal[$m][3] == 0) { echo '<td class=main width="' . setColWidth(mysql_field_len($res_PP, $m)) . '">' . print_col($m + 1, mysql_field_name($res_PP, $m)) . '</td>'; } } for ($j = 3; $j < mysql_num_fields($res_PP); $j++) { echo '<td class=main width="' . setColWidth(mysql_field_len($res_PP, $j)) . '">' . print_col($j + 1, mysql_field_name($res_PP, $j)) . '</td>'; } echo '</tr>'; while ($paramVal3 == $res_pp[$groupArr[2][2] - 1] && $paramVal2 == $res_pp[$groupArr[1][2] - 1] && $paramVal1 == $res_pp[$groupArr[0][2] - 1] && $i < $elemCnt) { //вывод ФИО студентов echo '<tr>'; //вывод неиспользуемых полей группировки в основную таблицу for ($m = 0; $m < $ignCol; $m++) { if ($groupArrGlobal[$m][3] == 0) { echo '<td> ' . $res_pp[$m] . '</td>'; } } //вывод остальных полей, кроме полей группировки for ($k = $ignCol; $k < mysql_num_fields($res_PP); $k++) { echo '<td> ' . $res_pp[$k] . '</td>'; } echo '</tr>' . "\n"; $res_pp = mysql_fetch_array($res_PP, MYSQL_NUM); $i++; } echo '</table>'; } } } //$res=mysql_query($query); $itemCnt = getScalarVal('select count(*) from (' . $query . ')t'); if (floor($itemCnt / $pageVals) == $itemCnt / $pageVals) { $pages_cnt = floor($itemCnt / $pageVals); } else { $pages_cnt = floor($itemCnt / $pageVals) + 1; } echo '<div align="left"> страницы '; $add_string = reset_param_name($query_string, 'page'); for ($i = 1; $i <= $pages_cnt; $i++) { if ($i != $page) { echo '<a href="?page=' . $i . '&' . $add_string . '"> ' . $i . ' </a>'; } else { echo ' <b>' . $i . '</b> '; } } //-------------------------------------------------------- echo '<br>макс.число строк на странице: <input type=text value="' . $pageVals . '" name="pageVals" id="pageVals" size=10 title="число с 1-99"> <input type=button onclick="javascript:pgVals(\'' . reset_param_name($add_string, 'pageVals') . '\');" value=Ok> <p> Всего строк: ' . $itemCnt . '</div>'; }
$kadri_id = $_GET['kadri_id']; } //---------------------------------------------------------- if (isset($_GET['action']) && $_GET['action'] == 'del' && $item_id > 0 && $write_mode) { //echo '!!!!!!!del!!!!!!'; $query = 'delete from `filial_going` where id="' . $item_id . '" ' . ($view_all_mode ? "" : " and kadri_id=" . $kadri_id) . ''; //echo $query; $res = mysql_query($query); $query_string = reset_param_name($query_string, 'action'); $query_string = reset_param_name($query_string, 'order_id'); header('Location:' . $curpage . '?' . $query_string); } if ($item_id > 0 && !$view_all_mode) { $f_g_stats = getRowSqlVar(); $in_kadri = intval(getScalarVal('select id from filial_going where kadri_id=' . intval($_SESSION['kadri_id']))); if ($in_kadri <= 0) { $item_id = 0; } else { $kadri_id = $_SESSION['kadri_id']; } } if ($item_id == 0 && !$view_all_mode && (!isset($_GET['kadri_id']) || $_GET['kadri_id'] != $_SESSION['kadri_id'])) { header('Location:?kadri_id=' . $_SESSION['kadri_id'] . ''); } //------------------------------------------------------------------------ include 'master_page_short.php'; $page = 1; $q = ''; //строка поиска $pgVals = 20;
$_SESSION['auth'] = 1; $_SESSION['FIO'] = $f['FIO']; $_SESSION['userType'] = $f['status']; //$_SESSION['role']=$f['role']; $_SESSION['kadri_id'] = $f['kadri_id']; $_SESSION['user_login'] = $f['login']; $_SESSION['group_id'] = $g['group_id']; //ID группы пользователя $_SESSION['group_blocked'] = $g['group_blocked']; //ID группы пользователя $_SESSION['all_user_select'] = $g['all_user_select']; //-----------права на фотогалерею с учетом Прав на портале---------- $query = "SELECT distinct tig.task_rights_id \r\n\t\t\tFROM task_in_group tig inner join tasks t on t.id=tig.task_id \r\n\t\t\tWHERE tig.user_group_id in (\r\n\t\t\t SELECT group_id\r\n\t\t\t\tFROM user_in_group\r\n\t\t\t\tWHERE user_id ='" . $f['id'] . "') and t.url like '%_photo_cpg%' "; //введение персональных задач пользователя $query .= "union \r\n\t\t\tSELECT distinct tiu.task_rights_id \r\n\t\t\tFROM task_in_user tiu inner join tasks t on t.id=tiu.task_id \r\n\t\t\tWHERE user_id ='" . $f['id'] . "' and t.url like '%_photo_cpg%'\r\n\t\t\torder by 1 desc limit 0,1"; $task_rights_id = getScalarVal($query); //echo '$task_rights_id='.$task_rights_id.'<hr>'.$query; switch ($task_rights_id) { case 3: $_SESSION['photo_act'] = 'user'; break; case 4: $_SESSION['photo_act'] = 'admin'; break; default: $_SESSION['photo_act'] = 'guest'; } //----------------------------------------------------- $result_photo = mysql_query('select photo from kadri where id="' . $f['kadri_id'] . '"'); $tmp_photo = mysql_fetch_array($result_photo); $_SESSION['photo'] = $tmp_photo['photo'];
<?php include 'authorisation.php'; //&& //$lect_control $lect_control = false; //позволять преподавателям менять нагрузку в форме через копирование $lect_id = 0; //получаем норме пользователя по его kadri_id $lect_id = getScalarVal('select id from users where kadri_id="' . $_GET['kadri_id'] . '"'); //echo ' $lect_id='.$lect_id; if ($_SESSION['userType'] == 'lect' && !$lect_control) { $lect_control = false; } else { $lect_control = true; } $kind_type_defaults = '&kind_type1=on&kind_type2=on&kind_type3=on&kind_type4=on&filial_flag=on'; //какую нагрузку показывать $query_string = $_SERVER['QUERY_STRING']; //session_start(); //print_r($_SESSION); if (!isset($_GET['kadri_id']) || $_GET['kadri_id'] == "") { if ($_SESSION['userType'] == 'lect') { header('Location:?kadri_id=' . $_SESSION['kadri_id'] . $kind_type_defaults); } else { header('Location:s_hours.php'); echo '<hr> userType=' . $_SESSION['userType'] . '<hr>'; } //header('location:s_hours.php'); echo $_GET['kadri_id'] . "Не найден преподаватель. <a href='s_hours.php'>Вернуться к выбору преподавателя...</a>"; exit;
$query_string = $_SERVER['QUERY_STRING']; if (isset($_GET['gr_mode']) && intval($_GET['gr_mode']) > 0) { $gr_mode = intval($_GET['gr_mode']); } if (isset($_GET['idlect']) && intval($_GET['idlect']) > 0) { $idlect = intval($_GET['idlect']); } if (isset($_GET['idlect2']) && intval($_GET['idlect2']) > 0) { $idlect2 = intval($_GET['idlect2']); } $fiolect = ''; if (!$hide_person_data_rule && ($idlect > 0 || $idlect2 > 0)) { if (isset($_GET['gr_mode']) && $_GET['gr_mode'] == 1) { $fiolect = getScalarVal('select name from study_groups where id="' . $idlect . '"'); } else { $fiolect = getScalarVal('select FIO from users where id="' . ($idlect > 0 ? $idlect : $idlect2) . '"'); } if ($fiolect != '') { $head_title = $fiolect . '. ' . $head_title; } } if (!isset($_GET['onget'])) { $wap = ''; if (isset($_GET['wap'])) { $wap = 'wap&'; } header("Location:?" . $wap . "onget=1&getallsub=1"); } include "header.php"; if (!isset($_GET['save']) && !isset($_GET['print'])) { if (!isset($_GET['wap'])) {
if (isset($_GET['slsys_id'])) { $slave_system_id = intval($_GET['slsys_id']); } // массив параметров интеграции системы, путь, страницы ... $SlaveSystem = getRowSqlVar("select * from sso_systems where id=" . $slave_system_id); if ($slave_system_id > 0 && is_array($SlaveSystem)) { //--------начало---- вывод для ajax-заппроса POST, будет выведен только через alert(html) if (isset($_POST) && $_POST['username'] != '') { include_once 'funcs_php_crypt.php'; //библиотека симметричного шифрования $slaveUser = array('id' => '', 'name' => '', 'psw' => ''); $slaveUser['name'] = $_POST['username']; $slaveUser['psw'] = $_POST['password']; $msg .= '<p>'; $userExist = getScalarVal('select count(*) from `' . $sql_base . '`.sso_user_table where master_user_id=' . $master_user_id . ' and slave_system_id=' . $slave_system_id . ' '); if (intval($userExist) > 0) { // обновить сведения о Сервисе пользователя $query = 'update `' . $sql_base . '`.sso_user_table set slave_user_hash="' . $slaveUser['name'] . '", slave_psw_hash="' . encodeKey($slaveUser['psw'], $SlaveSystem[0]['psw_salt']) . '" where master_user_id=' . $master_user_id . ' and slave_system_id=' . $slave_system_id . ''; } else { // добавить сведения о Сервисе пользователя $query = 'insert into `' . $sql_base . '`.sso_user_table(master_user_id,slave_system_id, slave_user_hash,slave_psw_hash) values (' . $master_user_id . ',' . $slave_system_id . ', "' . $slaveUser['name'] . '","' . encodeKey($slaveUser['psw'], $SlaveSystem[0]['psw_salt']) . '")'; } if (mysql_query($query) && mysql_affected_rows() > 0) {
//echo $query_all;exit(); //--------------------------- if (isset($_GET['year']) && ($_GET['year'] > 0 && $_GET['year'] < 10)) { //$def_settings['year_name']=$_GET['year']; //echo '!!!!'; $query_all = 'SELECT time_intervals.id as year_id,time_intervals.name as year_name FROM time_intervals where id="' . $_GET['year'] . '" limit 0,1'; //echo '$query_all='.$query_all; } //echo '1111111'; //--------------------------- if ($res_all = mysql_query($query_all) and mysql_numrows($res_all) > 0) { $def_settings = mysql_fetch_array($res_all); } $year_name = ""; if ($year > 0) { $year_name = getScalarVal('SELECT ti.name FROM time_intervals ti WHERE (ti.id = ' . $year . ')'); } if (isset($def_settings)) { //echo '<span align="center"> <u>год: '.$def_settings['year_name'].'</u></span>'; //------------------------------------------------------------------------------------------------------ if (!isset($_GET['save']) && !isset($_GET['print'])) { echo "<div style='text-align:right;'>\r\n\t\t\t \t<a class=text href='?" . $_SERVER["QUERY_STRING"] . "&save&attach=doc' title='Выгрузить' target='_blank'>Передать в MS Word</a> \r\n\t\t\t\t<a class=text href='?" . $_SERVER["QUERY_STRING"] . "&print' title='Распечатать' target='_blank'>Печать</a></div>"; } echo ' <table width="" border="0"> <tr valign="top" align="left"> <td width="300"> </td> <td align="center"><b>ПЛАН</b></td> <td align="center"> </td> </tr> <tr valign="top" class="text">
} ?> <label><input type=checkbox id=main_cat onclick="setCat(this);" <?php echo $main_cat ? "checked" : ""; ?> >бюджет </label> <label><input type=checkbox id=add_cat onclick="setCat(this);" <?php echo $add_cat ? "checked" : ""; ?> >коммерция </label> <span style="padding-left:20; font-weight:bold;"> итого: <?php $sumFields = ($main_cat ? 'sum+ ' : '') . ($add_cat ? 'sum_add+ ' : ''); $sumFields = preg_replace("/\\+ \$/", '', $sumFields); $query = 'select sum(' . $sumFields . ') FROM hours_kind WHERE year_id = "' . $year_id_all . '"'; echo numLocal(getScalarVal($query)); ?> </span> </span> </td></tr> <tr class=title height="30" align=center> <?php if (!isset($_GET['save']) && !isset($_GET['print'])) { ?> <td>Правка</td> <?php } ?> <td width=20>№ п\п</td> <td>ФИО преподавателя</td> <td>долж.</td>
<?php //интеграция с Mantis //через соотнесение пользователя Mantis пользователю портала АСУ //таблица соотнесения в БД АСУ $asu_mantis_inter = 'mantis_user_table'; $mantis_path = '../mantisbt/'; $mantis_user_table = 'mantis_user_table'; include_once $mantis_path . 'config_inc.php'; if (isset($_SESSION['id']) && intval($_SESSION['id']) > 0) { $asu_user_id = intval($_SESSION['id']); if (mysql_connect($g_hostname, $g_db_username, $g_db_password) && mysql_select_db($g_database_name)) { //поиск связки пользователя для автоматической авторизации в Mantis $query = "select m.cookie_string\r\n from {$g_database_name}.{$mantis_user_table} m\r\n left join {$sql_base}.{$asu_mantis_inter} a on a.mantis_user_id=m.id\r\n where a.asu_user_id=" . $asu_user_id; $cookie_string = getScalarVal($query); //удаление старой авторизации Мантис, если существует if (isset($_COOKIE['MANTIS_STRING_COOKIE']) && $_COOKIE['MANTIS_STRING_COOKIE'] != '') { setcookie('MANTIS_STRING_COOKIE', '', time() - 3600, ''); } //проставление текущей метки авторизации if ($cookie_string != '') { setcookie('MANTIS_STRING_COOKIE', $cookie_string, 0, '/'); } } else { $msg .= '<div class=warning>не могу соединиться с БД Mantis. Интеграция не произведена</div>'; } }