Диплом: Автоматизация распределения заданий и учета работы монтажных бригад в ООО "Айтипроектстрой"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
78
//echo $rm;
$login = ($_POST['login']);
$password = md5($_POST['password']);
$stmt = $dbConnection->prepare('SELECT id,login,fio from users where
login=:login AND pass=:pass AND status=1');
$stmt->execute(array(':login' => $login, ':pass' => $password));
if ($stmt ->rowCount() == 1) {
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//session_regenerate_id();
$_SESSION['helpdesk_user_id'] = $row['id'];
$_SESSION['helpdesk_user_login'] = $row['login'];
$_SESSION['helpdesk_user_fio'] = $row['fio'];
$_SESSION['code'] = md5($password);
if ($rm == "1") {
setcookie('authhash_uid', $_SESSION['helpdesk_user_id'],
time()+60*60*24*7);
setcookie('authhash_code', $_SESSION['code'], time()+60*60*24*7);
}
}
else {
$va='error';
}
}
//if (isset($_SESSION['code']) ) {
if (validate_user($_SESSION['helpdesk_user_id'], $_SESSION['code'])) {
$url = parse_url($CONF['hostname']);
if ($rq==1) { header("Location: http://".$url['host'].$req_url);}
if ($rq==0) {
if (!isset($_GET['page'])) {
79
include("inc/head.inc.php");
include("inc/navbar.inc.php");
include("inc/dashboard.php");
include("inc/footer.inc.php");
}
if (isset($_GET['page'])) {
switch($_GET['page']) {
case 'create': include('inc/new.php'); break;
case 'list': include('inc/list.php'); break;
case 'stats': include('inc/stats.php'); break;
case 'clients': include('inc/clients.php'); break;
case 'helper': include('inc/helper.php'); break;
case 'notes': include('inc/notes.php'); break;
case 'profile': include('inc/profile.php'); break;
case 'help': include('inc/help.php'); break;
case 'users': include('inc/users.php'); break;
case 'deps': include('inc/deps.php'); break;
case 'approve': include('inc/approve.php'); break;
case 'posada': include('inc/posada.php'); break;
case 'units': include('inc/units.php'); break;
case 'subj': include('inc/subj.php'); break;
case 'ticket': include('inc/ticket.php'); break;
case 'userinfo':include('inc/userinfo.php');break;
case 'config': include('inc/perf.php'); break;
case 'files': include('inc/files.php'); break;
case 'main_stats': include('inc/all_stats.php'); break;
case 'print_ticket': include('inc/print_ticket.php'); break;
default: include('404.php');
}
}
}
}
80
else {
include("inc/head.inc.php");
include 'inc/auth.php';
}
} else {
include "sys/install.php";
}
?>
functions.inc.php
<?php
include_once('conf.php');
include_once('sys/class.phpmailer.php');
include_once('sys/Parsedown.php');
require 'library/HTMLPurifier.auto.php';
date_default_timezone_set('Europe/Kiev');
$dbConnection = new PDO(
'mysql:host='.$CONF_DB['host'].';dbname='.$CONF_DB['db_name'],
$CONF_DB['username'],
$CONF_DB['password'],
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$CONF = array (
'title_header' =>get_conf_param('title_header'),
81
'hostname' =>get_conf_param('hostname'),
'mail' =>get_conf_param('mail'),
'days2arch' =>get_conf_param('days2arch'),
'name_of_firm' =>get_conf_param('name_of_firm'),
'fix_subj' =>get_conf_param('fix_subj'),
'first_login' =>get_conf_param('first_login'),
'file_uploads' =>get_conf_param('file_uploads'),
'file_types' => '('.get_conf_param('file_types').')',
'file_size' =>get_conf_param('file_size')
);
$CONF_MAIL = array (
'active' =>get_conf_param('mail_active'),
'host' =>get_conf_param('mail_host'),
'port' =>get_conf_param('mail_port'),
'auth' =>get_conf_param('mail_auth'),
'auth_type' =>get_conf_param('mail_auth_type'),
'username' =>get_conf_param('mail_username'),
'password' =>get_conf_param('mail_password'),
'from' =>get_conf_param('mail_from'),
'debug' => 'false'
);
if ($CONF_HD['debug_mode'] == false) {
error_reporting(E_ALL ^ E_NOTICE);
error_reporting(0);
}
82
include_once('inc/mail.inc.php');
$forhostname=substr($CONF['hostname'], -1);
if ($forhostname == "/") {$CONF['hostname']=$CONF['hostname'];}
else if ($forhostname<> "/") {$CONF['hostname']=$CONF['hostname']."/";}
function get_user_lang(){
global $dbConnection;
$mid=$_SESSION['helpdesk_user_id'];
$stmt = $dbConnection->prepare('SELECT lang from users where id=:mid');
$stmt->execute(array(':mid' => $mid));
$max = $stmt->fetch(PDO::FETCH_NUM);
$max_id=$max[0];
$length = strlen(utf8_decode($max_id));
if (($length < 1) || $max_id == "0") {$ress='ru';} else {$ress=$max_id;}
return $ress;
}
$lang=get_user_lang();
switch ($lang) {
case 'ua':
$lang_file = 'lang.ua.php';
break;
83
case 'ru':
$lang_file = 'lang.ru.php';
break;
case 'en':
$lang_file = 'lang.en.php';
break;
default:
$lang_file = 'lang.ru.php';
}
include_once 'lang/'.$lang_file;
function get_conf_param($in) {
global $dbConnection;
$stmt = $dbConnection->prepare('SELECT value FROM perf where
param=:in');
$stmt->execute(array(':in' => $in));
$fio = $stmt->fetch(PDO::FETCH_ASSOC);
return $fio['value'];
}
$fio_user=$fio['fio'];
function generateRandomString($length = 5) {
$characters = '0123456789';
$randomString = '';
84
for ($i = 0; $i< $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}
function validate_exist_login($str) {
global $dbConnection;
$uid=$_SESSION['helpdesk_user_id'];
$stmt = $dbConnection->prepare('SELECT count(login) as n from users
where login=:str');
$stmt->execute(array(':str' => $str));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row['n'] > 0) {$r=false;}
else if ($row['n'] == 0) {$r=true;}
return $r;
}
function validate_exist_mail($str) {
global $dbConnection;
$uid=$_SESSION['helpdesk_user_id'];
$stmt = $dbConnection->prepare('SELECT count(email) as n from users
where email=:str and id != :uid');
$stmt->execute(array(':str' => $str,':uid' => $uid));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row['n'] > 0) {$r=false;}
else if ($row['n'] == 0) {$r=true;}
85
return $r;
}
function validate_email($str)
{
return preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-
]+)*(\.[a-z]{2,3})$/',$str);
}
function validate_alphanumeric_underscore($str)
{
return preg_match('/^[a-zA-Z0-9_\.-]+$/',$str);
}
function update_val_by_key($key,$val) {
global $dbConnection;
$stmt = $dbConnection->prepare('update perf set value=:value where
param=:param');
$stmt->execute(array(':value' => $val,':param' => $key));
return true;
}
function randomPassword() {
$alphabet = "abcdefghijklmnopqrstuwxyz0123456789";
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i< 5; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
return implode($pass);
86
}
function randomhash() {
$alphabet = "abcdefghijklmnopqrstuwxyz0123456789";
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i< 24; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
return implode($pass);
}
functionget_date_ok($d_create, $id) {
global $dbConnection;
$stmt = $dbConnection->prepare('select date_op from ticket_log where
ticket_id=:id and msg=:ok order by date_op DESC');
$stmt->execute(array(':id' => $id, ':ok' => 'ok'));
$total_ticket = $stmt->fetch(PDO::FETCH_ASSOC);
$tt=$total_ticket['date_op'];
return $tt;
}
?>

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)