예제 #1
0
파일: inc_out.php 프로젝트: yonkon/diplom
use Components\Classes\Roles;
use Components\Classes\db;
$tbl = $GUI->Table("mls_out", array("cur_sort_up" => true));
$tbl->Width = "100%";
$tbl->DataMYSQL("messages");
$tbl->FilterMYSQL("creator_id='u" . $_SESSION["user"]["data"]["id"] . "'");
$tbl->Pager(CGUI_PAGER_FLAG_SEL | CGUI_PAGER_FLAG_RR | CGUI_PAGER_FLAG_R | CGUI_PAGER_FLAG_FF | CGUI_PAGER_FLAG_F, 10, array(10, 20, 50, 100, 0));
global $n;
if (Roles::isActionAllowed($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"], "Просмотр сообщения")) {
    $tbl->RowEvent2 = "document.location.href=\"?section=mls&subsection=2&type=o&read=%var%\"";
}
$columns_resource = Roles::getColumns($GUI->mmenu->selected->id, $GUI->mmenu->selected->selected->id, $_SESSION["user"]["data"]["group_id"]);
if (!is_resource($columns_resource)) {
    $GUI->ERR($columns_resource);
    page_reload();
}
$new_columns = array();
$column_group_name = array();
while ($row = db::fetch_array($columns_resource)) {
    if ($row['group_internal_name'] != "") {
        $column_group_name[] = $row['group_internal_name'];
        $new_columns[$row['group_internal_name']]['custom'][] = $row;
    } else {
        $new_columns[] = $row;
    }
}
foreach ($new_columns as $column) {
    if (isset($column['internal_name']) && in_array($column['internal_name'], $column_group_name)) {
        continue;
    }
예제 #2
0
파일: index.php 프로젝트: yonkon/diplom
 function loginform_exec($Frm, $Err)
 {
     if ($Err) {
         $Frm->_gui->Vars["login_message"] = "Ошибки при заполнении формы";
         return;
     }
     // clr
     db::delete(TABLE_LOGIN_HOST, "time < " . (time() - 900));
     $last_login_time = db::get_arrays("SELECT time FROM " . TABLE_LOGIN_HOST . " WHERE ip = '" . db::input($_SERVER["REMOTE_ADDR"]) . "' ORDER BY time");
     $cnt = count($last_login_time);
     $rowx["time"] = 0;
     if ($cnt) {
         $rowx = $last_login_time[0];
     }
     $user = Employee::findOneBy(array('email' => strtolower($Frm->GetValue(0)), 'hpwd' => md5($Frm->GetValue(1) . $Frm->GetValue(0))));
     if (!$user || $cnt > 2) {
         if ($cnt > 1) {
             $t = 900 - time() + $rowx["time"];
             if ($t > 60) {
                 $w = floor($t / 60) . " мин.";
             } else {
                 $w = " минуту";
             }
             $Frm->_gui->Vars["login_message"] = "Попытки исчерпаны. Подождите " . $w;
         } else {
             $Frm->_gui->Vars["login_message"] = "Ошибка. Осталось попыток: " . (2 - $cnt);
             db::insert(TABLE_LOGIN_HOST, array('ip' => $_SERVER['REMOTE_ADDR'], 'time' => time()));
         }
         return;
     } else {
         // ok
         if ($user["blocked"] || $user["black_list"]) {
             $Frm->_gui->Vars["login_message"] = "Доступ запрещен";
             return;
         }
         $ll = array();
         if ($user["last_login"]) {
             $ll = unserialize($user["last_login"]);
             while (count($ll) > 99) {
                 array_shift($ll);
             }
         }
         $ll[] = array("ip" => $_SERVER['REMOTE_ADDR'], "time" => time());
         Employee::update($user['id'], array('last_act' => time(), 'last_login' => serialize($ll)));
         unset($user["last_act"]);
         unset($user["last_login"]);
         $_SESSION["user"]["auth"] = true;
         $_SESSION["user"]["data"] = $user;
         page_reload();
     }
 }