Сессия
This commit is contained in:
@ -10,7 +10,9 @@
|
|||||||
|
|
||||||
//if(isset($_GET[session_name()]) && $_GET[session_name()]!='') //Чтоб сессия переданная гетом была главней
|
//if(isset($_GET[session_name()]) && $_GET[session_name()]!='') //Чтоб сессия переданная гетом была главней
|
||||||
// session_id($_GET[session_name()]);
|
// session_id($_GET[session_name()]);
|
||||||
@session_start();
|
|
||||||
|
startSession(true); //Для ручного определения времени жизни сесии
|
||||||
|
|
||||||
if(isset($_SESSION['REMOTE_ADDR']) && $_SESSION['REMOTE_ADDR'] != $_SERVER['REMOTE_ADDR']) unset($_SESSION['USER_ID']); //Делаемся не авторизованным если зашли с другого ip адреса
|
if(isset($_SESSION['REMOTE_ADDR']) && $_SESSION['REMOTE_ADDR'] != $_SERVER['REMOTE_ADDR']) unset($_SESSION['USER_ID']); //Делаемся не авторизованным если зашли с другого ip адреса
|
||||||
if(!isset($_SESSION['USER_ID'])) { $_SESSION['USER_ID']=null; }
|
if(!isset($_SESSION['USER_ID'])) { $_SESSION['USER_ID']=null; }
|
||||||
if(!isset($_COOKIE['GUID'])) { $_COOKIE['GUID']=null; }
|
if(!isset($_COOKIE['GUID'])) { $_COOKIE['GUID']=null; }
|
||||||
@ -274,7 +276,7 @@
|
|||||||
//Вернём значение прав доступа для запрошенного объекта
|
//Вернём значение прав доступа для запрошенного объекта
|
||||||
//$allow=true;
|
//$allow=true;
|
||||||
$allow=false;
|
$allow=false;
|
||||||
//$sql_query='select a.*,at.name from "_Access" a, "_Actions" at where a.del=false and at.id=a.action_id and at.name=\'Insert_'.$typename.'\' and a.group_id in (select group_id from "_UsersGroups" where user_id='.$_SESSION['USER_ID'].');'
|
//$sql_query='select a.*,at.name from _Access a, _Actions at where a.del=false and at.id=a.action_id and at.name=\'Insert_'.$typename.'\' and a.group_id in (select group_id from _UsersRoles where user_id='.$_SESSION['USER_ID'].');'
|
||||||
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Insert_'.$typename.'\') as allow;';
|
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Insert_'.$typename.'\') as allow;';
|
||||||
|
|
||||||
$res = $db->query($sql_query);
|
$res = $db->query($sql_query);
|
||||||
@ -287,7 +289,7 @@
|
|||||||
$currNode->setAttributeNode($xmlAttr);
|
$currNode->setAttributeNode($xmlAttr);
|
||||||
|
|
||||||
$allow=false;
|
$allow=false;
|
||||||
//$sql_query='select a.*,at.name from "_Access" a, "_Actions" at where a.del=false and at.id=a.action_id and at.name=\'Update_'.$typename.'\' and a.group_id in (select group_id from "_UsersGroups" where user_id='.$_SESSION['USER_ID'].');';
|
//$sql_query='select a.*,at.name from _Access a, _Actions at where a.del=false and at.id=a.action_id and at.name=\'Update_'.$typename.'\' and a.group_id in (select group_id from _UsersRoles where user_id='.$_SESSION['USER_ID'].');';
|
||||||
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Update_'.$typename.'\') as allow;';
|
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Update_'.$typename.'\') as allow;';
|
||||||
$res = $db->query($sql_query);
|
$res = $db->query($sql_query);
|
||||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
||||||
@ -299,7 +301,7 @@
|
|||||||
$currNode->setAttributeNode($xmlAttr);
|
$currNode->setAttributeNode($xmlAttr);
|
||||||
|
|
||||||
$allow=false;
|
$allow=false;
|
||||||
//$sql_query='select a.*,at.name from "_Access" a, "_Actions" at where a.del=false and at.id=a.action_id and at.name=\'Delete_'.$typename.'\' and a.group_id in (select group_id from "_UsersGroups" where user_id='.$_SESSION['USER_ID'].');';
|
//$sql_query='select a.*,at.name from _Access a, _Actions at where a.del=false and at.id=a.action_id and at.name=\'Delete_'.$typename.'\' and a.group_id in (select group_id from _UsersRoles where user_id='.$_SESSION['USER_ID'].');';
|
||||||
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Delete_'.$typename.'\') as allow;';
|
$sql_query='select '.$Schema.'p_getaccess('.getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']).',\'Delete_'.$typename.'\') as allow;';
|
||||||
$res = $db->query($sql_query);
|
$res = $db->query($sql_query);
|
||||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
||||||
@ -910,7 +912,7 @@
|
|||||||
|
|
||||||
if($cmd==0) //Restore password by email
|
if($cmd==0) //Restore password by email
|
||||||
{
|
{
|
||||||
$res = $db->query("select 1 from \"_Users\" where del=false and email = '$login';");
|
$res = $db->query("select 1 from _Users where del=false and email = '$login';");
|
||||||
if($res->rowCount()>0)
|
if($res->rowCount()>0)
|
||||||
{
|
{
|
||||||
mail($login,'BigFootTrade.kz','Not implement',"Content-type: text/html; charset=utf-8\r\nFrom: BigFootTrade Site <info@bigfoottrade.kz>");
|
mail($login,'BigFootTrade.kz','Not implement',"Content-type: text/html; charset=utf-8\r\nFrom: BigFootTrade Site <info@bigfoottrade.kz>");
|
||||||
|
|||||||
23
metadata/include/session.php
Normal file
23
metadata/include/session.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
//Для одностраничного приложения с AJAX запросами для определения времени жизни сесии
|
||||||
|
//$prolong==true для продления виртуальной сессии
|
||||||
|
function startSession($prolong=true)
|
||||||
|
{
|
||||||
|
$sessionLifetime = 3600; //В секундах (время жизни должно быть меньше чем session.gc_maxlifetime там значение по умолчанию: 1440/60=24 минутs (60*60=3600 час))
|
||||||
|
if (!@session_start()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$t = time();
|
||||||
|
if(!isset($_SESSION['lastactivity']) || $prolong){
|
||||||
|
$_SESSION['lastactivity']=$t;
|
||||||
|
}
|
||||||
|
if ( $t-$_SESSION['lastactivity'] >= $sessionLifetime )
|
||||||
|
{
|
||||||
|
$t=$_SESSION['lastactivity'];
|
||||||
|
session_unset();
|
||||||
|
$_SESSION['lastactivity']=$t;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@ -16,7 +16,7 @@ function trt($text)
|
|||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$result='';
|
$result='';
|
||||||
$sql='select translation from main._translations where del=false and language_id='.$_SESSION["LNG"].' and identifier=\''.$text.'\';';
|
$sql='select translation from _translations where del=false and language_id='.$_SESSION["LNG"].' and identifier=\''.$text.'\';';
|
||||||
//$sql='select translation from main._translations where del=false and language_id=(select id from main._languages where short_name=\''.$_SESSION["LNG"].'\') and identifier=\''.$text.'\';';
|
//$sql='select translation from main._translations where del=false and language_id=(select id from main._languages where short_name=\''.$_SESSION["LNG"].'\') and identifier=\''.$text.'\';';
|
||||||
$res = NULL;
|
$res = NULL;
|
||||||
try
|
try
|
||||||
|
|||||||
@ -255,7 +255,7 @@ function TMenu(v_obj,v_scr,v_treepath) //Горизонтальное меню
|
|||||||
|
|
||||||
if(ptn.wch) //TODO проверить нужно или нет здесь
|
if(ptn.wch) //TODO проверить нужно или нет здесь
|
||||||
{
|
{
|
||||||
cnt.innerHTML='<nobr id="qwery"><img src="../metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
cnt.innerHTML='<nobr id="qwery"><img src="../resources/metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(var i=0;i<ptn.childs.length;i++) //Пробегаемся по дочерним текущего узла и создаём кнопки
|
for(var i=0;i<ptn.childs.length;i++) //Пробегаемся по дочерним текущего узла и создаём кнопки
|
||||||
@ -476,7 +476,7 @@ function TMenu(v_obj,v_scr,v_treepath) //Горизонтальное меню
|
|||||||
tb=document.createElement('div');
|
tb=document.createElement('div');
|
||||||
tb.style.cssText="width: 100%; display: none; position: absolute; z-index: 999;";
|
tb.style.cssText="width: 100%; display: none; position: absolute; z-index: 999;";
|
||||||
tb.setAttribute('id',tn.tree.m_pr+tn.node.getAttribute("htmlid")+'tb');
|
tb.setAttribute('id',tn.tree.m_pr+tn.node.getAttribute("htmlid")+'tb');
|
||||||
tb.innerHTML='<nobr><img src="../metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
tb.innerHTML='<nobr><img src="../resources/metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
||||||
|
|
||||||
tn.tree.m_obj.appendChild(tb);
|
tn.tree.m_obj.appendChild(tb);
|
||||||
|
|
||||||
@ -616,7 +616,7 @@ function TMenu(v_obj,v_scr,v_treepath) //Горизонтальное меню
|
|||||||
var cnt=document.createElement('div');
|
var cnt=document.createElement('div');
|
||||||
cnt.setAttribute('id',this.m_pr+this.m_root.htmlid+'tb');
|
cnt.setAttribute('id',this.m_pr+this.m_root.htmlid+'tb');
|
||||||
cnt.style.cssText="width: 100%; display: inline-block;";
|
cnt.style.cssText="width: 100%; display: inline-block;";
|
||||||
cnt.innerHTML='<nobr id="qwery"><img src="../metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
cnt.innerHTML='<nobr id="qwery"><img src="../resources/metadata/tree/icons/loading.gif" alt=" "><font color="#999999"><b> Подождите пожалуйста...</b></font></nobr>';
|
||||||
this.m_obj.appendChild(cnt);
|
this.m_obj.appendChild(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ try
|
|||||||
Exit();
|
Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*$res = $db->query('select * from "_Users"');
|
/*$res = $db->query('select * from _Users');
|
||||||
//Записываем id типов столбцов
|
//Записываем id типов столбцов
|
||||||
for($i=0;$i<$res->columnCount();$i++)
|
for($i=0;$i<$res->columnCount();$i++)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user