/** * Добавляем пользователя с текущими данными * @global type $sqlcn */ function Add() { global $sqlcn; // хешируем пароль $this->salt = generateSalt(); $this->password = sha1(sha1($this->pass) . $this->salt); $sql = "INSERT INTO users (id, randomid, orgid, login, pass, `password`, salt,\n\t\t\temail, mode, lastdt, active) VALUES (NULL, '{$this->randomid}'," . " '{$this->orgid}', '{$this->login}', '{$this->pass}'," . " '{$this->password}', '{$this->salt}', " . " '{$this->email}', '{$this->mode}', NOW(), 1)"; $sqlcn->ExecuteSQL($sql) or die('Неверный запрос Tusers.Add (1): ' . mysqli_error($sqlcn->idsqlconnection)); $fio = $this->fio; $code = $this->tab_num; $telephonenumber = $this->telephonenumber; $homephone = $this->homephone; $jpegphoto = $this->jpegphoto; $rid = $this->randomid; $post = $this->post; $zx = new Tusers(); if ($zx->GetByRandomIdNoProfile($rid)) { // добавляю профиль $sql = "INSERT INTO users_profile (id, usersid, fio, code,\n\t\t\t\ttelephonenumber, homephone, jpegphoto, post, faza, enddate,\n\t\t\t\tres1) VALUES (NULL, '{$zx->id}', '{$fio}', '{$code}'," . " '{$telephonenumber}', '{$homephone}', '{$jpegphoto}'," . " '{$post}', '', NOW(), '')"; $sqlcn->ExecuteSQL($sql) or die('Неверный запрос Tusers.Add(2): ' . mysqli_error($sqlcn->idsqlconnection)); } else { die('Не найден пользователь по randomid Tusers.Add'); } }
$i = 0; while ($row = mysqli_fetch_array($result)) { $responce->rows[$i]['id'] = $row['id']; $dt = MySQLDateTimeToDateTime($row['dt']); if ($row['status'] == '0') { $status = 'Создано'; } if ($row['status'] == '1') { $status = 'В работе'; } if ($row['status'] == '2') { $status = 'Утверждено'; } if ($row['status'] == '3') { $status = 'Отменено'; } if ($row['status'] == '4') { $status = 'Доработать'; } $zx = new Tusers(); $zx->GetById($row['userid']); $responce->rows[$i]['cell'] = array($row['id'], $dt, $row['title'], $status, $zx->fio, $row['node'], $row['xml']); $i++; } echo json_encode($responce); } if ($oper == 'del') { // помечаю БП как "отменен" $SQL = "UPDATE bp_xml SET status=3 WHERE id='{$id}'"; $result = $sqlcn->ExecuteSQL($SQL) or die("Не могу выбрать сформировать список задач!" . mysqli_error($sqlcn->idsqlconnection)); }
if ($pass == '') { // пароль не может быть пустым при добавлении пользователя $err[] = 'Не задан пароль!'; } if (DoubleLogin($login) != 0) { $err[] = 'Такой логин уже есть в базе!'; } if (DoubleEmail($email) != 0) { $err[] = 'Такой E-mail уже есть в базе!'; } } /* Закончили всяческие проверки */ // Добавляем пользователя if ($step == 'add') { if (count($err) == 0) { $tmpuser = new Tusers(); $tmpuser->active = 1; $tmpuser->fio = $login; $tmpuser->Add(GetRandomId(60), $orgid, $login, $pass, $email, $mode); } } // Редактируем пользователя if ($step == 'edit') { if (count($err) == 0) { $id = GetDef('id'); $ps = $pass != '' ? " password=SHA1(CONCAT(SHA1('{$pass}'), salt))," : ''; $sql = "UPDATE users SET orgid = '{$orgid}', login = '******', {$ps} email = '{$email}', mode = '{$mode}' WHERE id = '{$id}'"; $sqlcn->ExecuteSQL($sql) or die('Не смог изменить пользователя!: ' . mysqli_error($sqlcn->idsqlconnection)); } } } else {
$dt = '-'; if ($result != '') { while ($myrow = mysqli_fetch_array($result)) { $dt = $myrow['TimeVal']; $str_exp = explode(" ", $dt); $dt = $str_exp[1]; } } else { die('Неверный запрос GetEnterTime: ' . mysqli_error($sqlcn->idsqlconnection)); } return $dt; } $result = $sqlcn->ExecuteSQL("SELECT * FROM users_ori order by fio"); if ($result != '') { $num = 0; $u = new Tusers(); ?> <table class="table table-striped" width='100%'> <thead> <tr> <th>№</th> <th>Фото</th> <th>Должность</th> <th>ФИО</th> <th>Табельный</th> <th>Пришел</th> <th>Ушел</th> </tr> </thead> <tbody> <?php
} if ($page > $total_pages) { $page = $total_pages; } $start = $limit * $page - $limit; $SQL = "SELECT FORMAT((bp_xml_userlist.timer*24-(NOW( ) - bp_xml_userlist.dtstart)/60/60),0) AS ctt,\n bp_xml.userid as crid,bp_xml.id AS bpid,bp_xml_userlist.id AS uid, bp_xml_userlist.dtstart AS dtstart, bp_xml.title AS title\nFROM bp_xml_userlist\nINNER JOIN bp_xml ON bp_xml_userlist.bpid = bp_xml.id WHERE \n bp_xml_userlist.result=0 and bp_xml.status=1 and bp_xml_userlist.userid='{$curuserid}' \n ORDER BY bp_xml.id DESC, {$sidx} {$sord} LIMIT {$start} , {$limit} "; //echo "!$SQL!"; $result = $sqlcn->ExecuteSQL($SQL) or die("Не могу выбрать сформировать список bp_userlist!" . mysqli_error($sqlcn->idsqlconnection)); $responce = new stdClass(); $responce->page = $page; $responce->total = $total_pages; $responce->records = $count; $i = 0; while ($row = mysqli_fetch_array($result)) { $responce->rows[$i]['id'] = $row['uid']; $un = new Tusers(); $un->GetById($row['crid']); $row['ctt'] = round($row['ctt'], 0); $ttm = $row['ctt']; if ($row['ctt'] > 10) { $tt = "<span class='badge badge-success'>{$ttm}</span>"; } if ($row['ctt'] <= 10) { $tt = "<span class='badge badge-warning'>{$ttm}</span>"; } if ($row['ctt'] <= 3) { $tt = "<span class='badge badge-important'>{$ttm}</span>"; } $responce->rows[$i]['cell'] = array($row['uid'], $row['bpid'], $row['dtstart'], $row['title'], $un->fio, $tt); $i++; }
<?php /* * Данный код создан и распространяется по лицензии GPL v3 * Разработчики: * Грибов Павел, * Сергей Солодягин (solodyagin@gmail.com) * (добавляйте себя если что-то делали) * http://грибовы.рф */ // Запрещаем прямой вызов скрипта. defined('WUO_ROOT') or die('Доступ запрещён'); $photo = GetDef('photo'); $us = new Tusers(); $us->GetById($user->id); $us->jpegphoto = $photo; $us->Update();
// загружаем классы работы с профилем пользователя include_once "../../../../class/bp.php"; // загружаем классы работы c "Бизнес процессами" // загружаем все что нужно для работы движка include_once "../../../../inc/connect.php"; // соеденяемся с БД, получаем $mysql_base_id include_once "../../../../inc/config.php"; // подгружаем настройки из БД, получаем заполненый класс $cfg include_once "../../../../inc/functions.php"; // загружаем функции include_once "../../../../inc/login.php"; // логинимся $bpid = _GET("bpid"); $bp = new Tbp(); $bp->GetById($bpid); $u = new Tusers(); $u->GetById($bp->userid); ?> <div class="row-fluid"> <div class="span2"> <ul class="thumbnails"> <li class="span12"> <a href="#" class="thumbnail"> <img src="photos/<?php echo "{$u->jpegphoto}"; ?> " alt=""> </a> </li> </ul> </div>
$(document).ready(function () { // навесим на форму 'myForm' обработчик отлавливающий сабмит формы и передадим функцию callback. $('#myForm').ajaxForm(function (msg) { if (msg != 'ok') { $('#messenger').html(msg); } else { $('#add_edit').html(''); $('#add_edit').dialog('destroy'); jQuery('#list2').jqGrid().trigger('reloadGrid'); } }); }); </script> <?php if ($user->mode == '1') { $tmpuser = new Tusers(); $tmpuser->GetById($userid); $id = $tmpuser->id; $fio = $tmpuser->fio; $photo = $tmpuser->jpegphoto; if ($photo == '') { $photo = WUO_ROOT . "/controller/client/themes/{$cfg->theme}/img/noimage.jpg"; } $code = $tmpuser->tab_num; $post = $tmpuser->post; $phone1 = $tmpuser->telephonenumber; $phone2 = $tmpuser->homephone; unset($tmpuser); ?> <div class="container-fluid"> <div class="row">
* http://грибовы.рф */ // Запрещаем прямой вызов скрипта. defined('WUO_ROOT') or die('Доступ запрещён'); $userid = GetDef('userid'); $addnone = GetDef('addnone'); $orgid = GetDef('orgid'); $sql = "SELECT * FROM users WHERE active = 1 AND orgid = '{$orgid}' ORDER BY login"; $result = $sqlcn->ExecuteSQL($sql) or die('Не могу выбрать список пользователей! ' . mysqli_error($sqlcn->idsqlconnection)); ?> <select name="suserid" id="suserid"> <?php if ($addnone == 'true') { echo '<option value="-1">не выбрано</option>'; } while ($row = mysqli_fetch_array($result)) { $z = $row['id']; $zx = new Tusers(); $zx->GetById($z); $sl = $z == $userid ? 'selected' : ''; echo "<option value=\"{$z}\" {$sl}>{$zx->fio}({$row['login']})</option>"; unset($zx); } ?> </select> <script> for (var selector in config) { $(selector).chosen(config[selector]); } </script>
// загружаем все что нужно для работы движка include_once "../../../inc/connect.php"; // соеденяемся с БД, получаем $mysql_base_id include_once "../../../inc/config.php"; // подгружаем настройки из БД, получаем заполненый класс $cfg include_once "../../../inc/functions.php"; // загружаем функции include_once "../../../inc/login.php"; // загружаем функции $userid = _GET('userid'); $addnone = _GET('addnone'); $orgid = _GET('orgid'); $SQL = "SELECT * FROM users WHERE active=1 and orgid='{$orgid}' ORDER BY login"; $result = $sqlcn->ExecuteSQL($SQL) or die("Не могу выбрать список пользователей!" . mysqli_error($sqlcn->idsqlconnection)); $sts = "<select name=suserid id=suserid>"; if ($addnone == 'true') { $sts = $sts . "<option value='-1' >нет выбора</option>"; } while ($row = mysqli_fetch_array($result)) { $z = $row['id']; $sts = $sts . "<option value={$z} "; $zx = new Tusers(); $zx->GetById($row['id']); if ($userid == $row['id']) { $sts = $sts . "selected"; } $l = $row['login']; $sts = $sts . ">{$zx->fio}({$l})</option>"; } $sts = $sts . '</select><script> for (var selector in config) {$(selector).chosen(config[selector]);};</script>'; echo $sts;
// загружаем классы работы с пользователями include_once "../../../class/employees.php"; // загружаем классы работы с профилем пользователя // загружаем все что нужно для работы движка include_once "../../../inc/connect.php"; // соеденяемся с БД, получаем $mysql_base_id include_once "../../../inc/config.php"; // подгружаем настройки из БД, получаем заполненый класс $cfg include_once "../../../inc/functions.php"; // загружаем функции include_once "../../../inc/login.php"; // загружаем функции if (file_exists('../../../import/employees.xml')) { $xml = simplexml_load_file('../../../import/employees.xml'); //echo "<table class='table table-hover'> <thead><tr><th>Фото</th><th>ФИО/Должность</th><th>Фаза</th></tr></thead><tbody>"; $ts = new Tusers(); foreach ($xml->employees as $em) { if ($em->faza != "Работает" and $em->faza != "В отпуске по уходу за ребенком") { //var_dump($em); $ts->GetByCode($em->code); $photo = "client/view/themes/{$cfg->theme}/noimage.jpg"; if ($ts->jpegphoto != "") { $photo = "photos/{$ts->jpegphoto}"; } echo "<div class='row-fluid'>"; echo "<div class='span2'>\n <ul class='thumbnails'>\n <li class='span12'>\n <a href='#' class='thumbnail'>\n <img src='{$photo}' alt=''>\n </a>\n </li> \n </ul>"; echo "</div>"; echo "<div class='span8'>"; echo "<h4>{$em->fio}</h4>"; echo "<p class='text-info'>{$em->post}<br>"; echo "{$em->faza} до {$em->enddate}</p>";
/** * * @global type $sqlcn * @global type $cfg * @param type $status */ function SetStatus($status) { global $sqlcn, $cfg; if ($this->status != $status) { $url = $cfg->urlsite; $sqlcn->ExecuteSQL("UPDATE bp_xml SET status='{$status}' WHERE id='{$this->id}'", $cfg->base_id) or die('Неверный запрос Tbp_xml.SetStatus: ' . mysqli_error($sqlcn->idsqlconnection)); $zz = new Tusers(); $zz->GetById($this->userid); smtpmail($zz->email, "Изменился статус БП!", "Внимание! Зайдите на портал и посмотрите статус БП№ {$this->id} <br><a href={$url}/index.php?content_page=bp>{$this->title}</a>"); } }
function Add() { // добавляем пользователя с текущими данными global $sqlcn; $sql = "INSERT INTO users (id,randomid,orgid,login,pass,email,mode,lastdt,active) VALUES\n (NULL,'{$this->randomid}','{$this->orgid}','{$this->login}','{$this->pass}',\n '{$this->email}','{$this->mode}',now(),1)"; $result = $sqlcn->ExecuteSQL($sql); if ($result == '') { die('Неверный запрос Tusers.Add (1): ' . mysqli_error($sqlcn->idsqlconnection)); } $fio = $this->fio; $code = $this->tab_num; $telephonenumber = $this->telephonenumber; $homephone = $this->homephone; $jpegphoto = $this->jpegphoto; $rid = $this->randomid; $post = $this->post; $zx = new Tusers(); if ($zx->GetByRandomIdNoProfile($rid) == true) { // добавляю профиль $sql = "INSERT INTO users_profile (id,usersid,fio,code,telephonenumber,homephone,jpegphoto,post,faza,enddate,res1) VALUES\n (NULL,'{$zx->id}','{$fio}','{$code}','{$telephonenumber}',\n '{$homephone}','{$jpegphoto}','{$post}','',now(),'')"; $result = $sqlcn->ExecuteSQL($sql); } else { die('Не найден пользователь по randomid Tusers.Add'); } if ($result == '') { die('Неверный запрос Tusers.Add(2): ' . mysqli_error($sqlcn->idsqlconnection)); } }
<th>Результат</th> <th>Комментарий</th> </tr> </thead> <tbody> <?php $bpid = _GET("bpid"); $bp = new Tbp(); $bp->GetById($bpid); $sql = "SELECT * FROM bp_xml_userlist WHERE bpid='{$bpid}' order by id"; $result = $sqlcn->ExecuteSQL($sql); if ($result != '') { while ($myrow = mysqli_fetch_array($result)) { $numid = $myrow['id']; $cm = $myrow['comment']; $uz = new Tusers(); $uz->GetById($myrow['userid']); $uname = $uz->fio; $bpnode = $bp->GetTitleAndCommentNode($myrow['node']); $bpnodetitle = $bpnode['title']; $bpnodecomment = $bpnode['comment']; $rz = 'Пока не определено'; if ($myrow['result'] == $myrow['accept']) { $rz = 'Утвердить'; } if ($myrow['result'] == $myrow['cancel']) { $rz = 'Отменить'; } if ($myrow['result'] == $myrow['thinking']) { $rz = 'Доработать'; }
<?php // Данный код создан и распространяется по лицензии GPL v3 // Изначальный автор данного кода - Грибов Павел // http://грибовы.рф $user = new Tusers(); // Если есть печеньки,то получаем сессионный идентификатор if (isset($_COOKIE["user_randomid_w3"])) { $user->randomid = $_COOKIE["user_randomid_w3"]; SetCookie("user_randomid_w3", "{$user->randomid}", time() + 3600000, '/'); // ну и обновляем заодно время жизни печеньки } else { $user->randomid = ""; } // если есть кукисы, то заполняем данные по пользователю ГЛОБАЛЬНО в переменную $user // если кукисов нет, или они не верные,то $user->randomid делаем пустым if ($user->randomid != "") { $user->GetByRandomId($user->randomid); // Если пользователя не нашли, то кук взялся непонятно откуда. Трем его! if ($user->id == "") { SetCookie("user_randomid_w3", "", time() - 3600, "/"); $user->randomid = ""; } else { // если нашли, то $user->UpdateLastdt($user->id); // обновляем дату последнего входа пользователя } } // обрабатываем попытку войти/зарегистрироваться if (isset($_GET["login_step"])) { if ($_GET["login_step"] == 'logout') {
if (!preg_match("/^[a-zA-Z0-9\\._-]+@[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,4}\$/", $email)) { $err[] = "Не верно указан E-mail"; } if ($step == "add") { if (DoubleLogin($login) != 0) { $err[] = "Такой логин уже есть в базе!"; } if (DoubleEmail($email) != 0) { $err[] = "Такой E-mail уже есть в базе!"; } } // Закончили всяческие проверки // Добавляем пользователя if ($step == "add") { if (count($err) == 0) { $tmpuser = new Tusers(); $tmpuser->randomid = GetRandomId(60); $tmpuser->orgid = $orgid; $tmpuser->login = $login; $tmpuser->pass = $pass; $tmpuser->email = $email; $tmpuser->mode = $mode; $tmpuser->active = 1; $tmpuser->fio = $login; $tmpuser->Add(); } } if ($step == "edit") { if (count($err) == 0) { $id = $_GET["id"]; $sql = "UPDATE users SET orgid='{$orgid}',login='******',pass='******',email='{$email}',mode='{$mode}' WHERE id='{$id}'";
<?php /* * Данный код создан и распространяется по лицензии GPL v3 * Разработчики: * Грибов Павел, * Сергей Солодягин (solodyagin@gmail.com) * (добавляйте себя если что-то делали) * http://грибовы.рф */ // Запрещаем прямой вызов скрипта. defined('WUO_ROOT') or die('Доступ запрещён'); $step = GetDef('step'); $userid = GetDef('userid'); $fio = PostDef('fio'); $post = PostDef('post'); $photo = PostDef('picname'); $code = PostDef('code'); $phone1 = PostDef('phone1'); $phone2 = PostDef('phone2'); $tmpuser = new Tusers(); $tmpuser->GetById($userid); $tmpuser->fio = $fio; $tmpuser->jpegphoto = $photo; $tmpuser->post = $post; $tmpuser->tab_num = $code; $tmpuser->telephonenumber = $phone1; $tmpuser->homephone = $phone2; $tmpuser->Update(); unset($tmpuser); echo 'ok';
$sql = "INSERT INTO move (id,eqid,dt,orgidfrom,orgidto,placesidfrom,placesidto,useridfrom,useridto,comment) VALUES (NULL,'{$id}',NOW(),'{$etmc->orgid}','{$sorgid}','{$etmc->placesid}','{$splaces}','{$etmc->usersid}','{$suserid}','{$comment}')"; $result = $sqlcn->ExecuteSQL($sql); if ($result == '') { $err[] = 'Не смог добавить перемещение!: ' . mysqli_error($sqlcn->idsqlconnection); } if ($cfg->sendemail == 1) { $touser = new Tusers(); $touser->GetById($suserid); $url = $cfg->urlsite; $tmcname = $etmc->tmcname; $txt = "Внимание! На Вашу ответственность переведена новая единица ТМЦ ({$tmcname}). <a href={$url}/index.php?content_page=eq_list&usid={$suserid}>Подробности здесь.</a>"; smtpmail("{$touser->email}", "Уведомление о перемещении ТМЦ", $txt); // отсылаем уведомление кому пришло SendEmailByPlaces($etmc->placesid, "Изменился состав ТМЦ в помещении", "Внимание! В закрепленном за вами помещении изменился состав ТМЦ. <a href={$url}/index.php?content_page=eq_list>Подробнее здесь.</a>"); SendEmailByPlaces($splaces, "Изменился состав ТМЦ в помещении", "Внимание! В закрепленном за вами помещении изменился состав ТМЦ. <a href={$url}/index.php?content_page=eq_list>Подробнее здесь.</a>"); $touser = new Tusers(); $touser->GetById($etmc->usersid); $txt = "Внимание! С вашей отвественности снята единица ТМЦ ({$tmcname}). <a href={$url}/index.php?content_page=eq_list&usid={$etmc->usersid}>Подробности здесь.</a>"; smtpmail("{$touser->email}", "Уведомление о перемещении ТМЦ", $txt); } } } } if (count($err) == 0) { echo "ok"; } else { echo '<script>$("#messenger").addClass("alert alert-error");</script>'; for ($i = 0; $i <= count($err); $i++) { echo "{$err[$i]}<br>"; } }
$responce->rows[$i]['id'] = $row['id']; $dt = MySQLDateToDate($row['dt']); $dtend = MySQLDateToDate($row['dtend']); if ($row['status'] == '1') { $st = 'В сервисе'; } if ($row['status'] == '0') { $st = "Работает"; } if ($row["status"] == '2') { $st = 'Есть заявка'; } if ($row['status'] == '3') { $st = 'Списать'; } $zz = new Tusers(); if ($row['userto'] != '-1') { $zz->GetById($row['userto']); $row['userto'] = $zz->fio; } else { $row['userto'] = 'не задано'; } if ($row['userfrom'] != '-1') { $zz->GetById($row['userfrom']); $row['userfrom'] = $zz->fio; } else { $row['userfrom'] = 'не задано'; } $responce->rows[$i]['cell'] = array($row['id'], $dt, $dtend, $row['name'], $row['cost'], $row['comment'], $st, $row['userfrom'], $row['userto'], $row['doc']); $i++; }