Сессия
This commit is contained in:
@ -10,7 +10,9 @@
|
||||
|
||||
//if(isset($_GET[session_name()]) && $_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['USER_ID'])) { $_SESSION['USER_ID']=null; }
|
||||
if(!isset($_COOKIE['GUID'])) { $_COOKIE['GUID']=null; }
|
||||
@ -274,7 +276,7 @@
|
||||
//Вернём значение прав доступа для запрошенного объекта
|
||||
//$allow=true;
|
||||
$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;';
|
||||
|
||||
$res = $db->query($sql_query);
|
||||
@ -287,7 +289,7 @@
|
||||
$currNode->setAttributeNode($xmlAttr);
|
||||
|
||||
$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;';
|
||||
$res = $db->query($sql_query);
|
||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
||||
@ -299,7 +301,7 @@
|
||||
$currNode->setAttributeNode($xmlAttr);
|
||||
|
||||
$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;';
|
||||
$res = $db->query($sql_query);
|
||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
|
||||
@ -910,7 +912,7 @@
|
||||
|
||||
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)
|
||||
{
|
||||
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;
|
||||
|
||||
$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.'\';';
|
||||
$res = NULL;
|
||||
try
|
||||
|
||||
@ -255,7 +255,7 @@ function TMenu(v_obj,v_scr,v_treepath) //Горизонтальное меню
|
||||
|
||||
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;
|
||||
}
|
||||
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.style.cssText="width: 100%; display: none; position: absolute; z-index: 999;";
|
||||
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);
|
||||
|
||||
@ -616,7 +616,7 @@ function TMenu(v_obj,v_scr,v_treepath) //Горизонтальное меню
|
||||
var cnt=document.createElement('div');
|
||||
cnt.setAttribute('id',this.m_pr+this.m_root.htmlid+'tb');
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ try
|
||||
Exit();
|
||||
}
|
||||
|
||||
/*$res = $db->query('select * from "_Users"');
|
||||
/*$res = $db->query('select * from _Users');
|
||||
//Записываем id типов столбцов
|
||||
for($i=0;$i<$res->columnCount();$i++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user