This commit is contained in:
2020-10-29 17:11:53 +06:00
5 changed files with 35 additions and 10 deletions

View File

@ -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; }
@ -278,7 +280,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);
@ -291,7 +293,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 - ассоциативный массив значений, ключи - названия столбцов
@ -303,7 +305,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 - ассоциативный массив значений, ключи - названия столбцов
@ -915,7 +917,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>");

View 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;
}

View File

@ -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

View File

@ -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);
} }

View File

@ -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++)
{ {