Index: trunk/kernel/include/usersession.php
===================================================================
diff -u -r3282 -r3508
--- trunk/kernel/include/usersession.php (.../usersession.php) (revision 3282)
+++ trunk/kernel/include/usersession.php (.../usersession.php) (revision 3508)
@@ -3,9 +3,9 @@
class clsUserSession
{
//Common DB operation class variables
- var $m_dirtyFieldsMap = array();
+ var $m_dirtyFieldsMap = array();
//Identity
- var $m_SessionKey;
+ var $m_SessionKey;
var $m_CurrentTempKey;
var $m_PrevTempKey;
//Required attributes
@@ -22,29 +22,29 @@
var $PermCacheGroups;
var $CurrentUser;
var $UseTempKeys;
- var $AdminSearchFields;
-
+ var $AdminSearchFields;
+
function clsUserSession($id=NULL, $TempKeys=FALSE)
{
global $objConfig, $objLanguages, $objThemes, $m_var_list, $FrontEnd;
$this->m_Errors = new clsErrorManager();
$this->adodbConnection = &GetADODBConnection();
-
- $this->PermCache = array();
+
+ $this->PermCache = array();
$this->PermCacheGroups ="";
$this->UseTempKeys = $TempKeys;
$this->AdminSearchFields = array("UserName", "GroupName", "us.IpAddress");
-
- if( GetVar('help_usage') == 'install' ) return;
-
+
+ if( GetVar('help_usage') == 'install' ) return;
+
if(!$this->UseTempKeys || strlen($id)==0)
{
//echo "with cookies";
if( !isset($_SERVER['HTTP_REFERER']) ) $_SERVER['HTTP_REFERER'] = '';
if(!isset($_GET['destform'])) $_GET['destform'] = null;
if(!isset($_GET['continue_sess'])) $_GET['continue_sess'] = null;
-
+
// strstr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'].$objConfig->Get("Site_Path")) || defined(IS_PO...)
// && ( (defined('IS_POPUP') && IS_POPUP) || $_GET['destform'] == 'popup' || $_GET['continue_sess'] == 1)
if( strlen($id) )
@@ -69,10 +69,10 @@
else
{
//echo "without cookies";
- return $this->LoadFromTempKey($id);
+ return $this->LoadFromTempKey($id);
}
}
-
+
function AdminSearchWhereClause($SearchList)
{
$sql = "";
@@ -86,20 +86,20 @@
$SearchList=$SearchListTmp;
if( !count($SearchList) || !count($this->AdminSearchFields) ) return '';
-
+
for($f = 0; $f < count($SearchList); $f++)
- {
+ {
$value = $SearchList[$f];
if( strlen($value) )
- {
+ {
$inner_sql = "";
for($i = 0; $i < count($this->AdminSearchFields); $i++)
{
$field = $this->AdminSearchFields[$i];
if( strlen( trim($value) ) )
{
if( strlen($inner_sql) ) $inner_sql .= " OR ";
-
+
//if (!stristr($value, "Guest")) {
$inner_sql .= $field." LIKE '%".$value."%'";
//}
@@ -110,14 +110,14 @@
}
if( strlen($inner_sql) )
{
- $sql .= '('.$inner_sql.') ';
+ $sql .= '('.$inner_sql.') ';
if($f < count($SearchList) - 1) $sql .= " AND ";
}
}
}
return $sql;
- }
-
+ }
+
function CopyToNewSession()
{
$OldKey = $this->GetSessionKey();
@@ -130,12 +130,12 @@
$this->Set("Language",$this->Get("Language"));
$this->Set("tz",$this->Get("tz"));
$this->Set("LastAccessed",adodb_date("U"));
- $this->Update();
+ $this->Update();
}
}
function Get($name)
- {
+ {
$var = "m_" . $name;
return isset($this->$var) ? $this->$var : '';
}
@@ -173,7 +173,7 @@
$this->m_Errors->AddError("error.fieldIsRequired",'PortalUserId',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
if(!isset($this->m_Language))
{
$this->m_Errors->AddError("error.fieldIsRequired",'Language',"","",get_class($this),"Validate");
@@ -185,38 +185,38 @@
$this->m_Errors->AddError("error.fieldIsRequired",'Theme',"","",get_class($this),"Validate");
$dataValid = false;
}
-
+
return $dataValid;
}
-
+
function Delete()
{
- if(!isset($this->m_SessionKey))
- {
- $this->m_Errors->AddError("error.AppError",NULL,'Internal error: Delete requires set id',"",get_class($this),"Delete");
- return false;
- }
- //Delete associated adata first
- $sql = sprintf("DELETE FROM ".GetTablePrefix()."SessionData WHERE SessionKey = '%s'", $this->Get("SessionKey"));
- $this->adodbConnection->Execute($sql);
- $sql = sprintf("DROP TABLE IF EXISTS %s%s_search",GetTablePrefix(), $this->Get("SessionKey"));
- $this->adodbConnection->Execute($sql);
- $sql = sprintf("DELETE FROM ".GetTablePrefix()."UserSession WHERE SessionKey = '%s'", $this->Get("SessionKey"));
- $this->adodbConnection->Execute($sql);
- if ($this->adodbConnection->Execute($sql) === false)
- {
- $this->m_Errors->AddError("error.DatabaseError",NULL,$this->adodbConnection->ErrorMsg(),"",get_class($this),"Delete");
- return false;
- }
- $this->Set("SessionKey","");
- $this->Set("SessionDataLoaded",false);
- return true;
+ if(!isset($this->m_SessionKey))
+ {
+ $this->m_Errors->AddError("error.AppError",NULL,'Internal error: Delete requires set id',"",get_class($this),"Delete");
+ return false;
+ }
+ //Delete associated adata first
+ $sql = sprintf("DELETE FROM ".GetTablePrefix()."SessionData WHERE SessionKey = '%s'", $this->Get("SessionKey"));
+ $this->adodbConnection->Execute($sql);
+ $sql = sprintf("DROP TABLE IF EXISTS %s%s_search",GetTablePrefix(), $this->Get("SessionKey"));
+ $this->adodbConnection->Execute($sql);
+ $sql = sprintf("DELETE FROM ".GetTablePrefix()."UserSession WHERE SessionKey = '%s'", $this->Get("SessionKey"));
+ $this->adodbConnection->Execute($sql);
+ if ($this->adodbConnection->Execute($sql) === false)
+ {
+ $this->m_Errors->AddError("error.DatabaseError",NULL,$this->adodbConnection->ErrorMsg(),"",get_class($this),"Delete");
+ return false;
+ }
+ $this->Set("SessionKey","");
+ $this->Set("SessionDataLoaded",false);
+ return true;
}
function Update()
{
global $objConfig;
-
+
//$this->Set("LastAccessed",adodb_date("U"));
$this->Set("IpAddress",$_SERVER["REMOTE_ADDR"]);
if(!isset($this->m_SessionKey))
@@ -261,7 +261,7 @@
function Create()
{
global $objConfig;
-
+
$this->Set("LastAccessed", adodb_mktime());
if(!is_numeric($this->Get("PortalUserId")))
{
@@ -327,9 +327,9 @@
else
$sql = "SELECT * FROM ".GetTablePrefix()."UserSession WHERE CurrentTempKey = '$id' AND PrevTempKey IS NULL";
}
- else
+ else
$sql = "SELECT * FROM ".GetTablePrefix()."UserSession WHERE CurrentTempKey = '$id' AND PrevTempKey IS NULL";
-
+
$result = $this->adodbConnection->Execute($sql);
if ($result === false)
{
@@ -342,15 +342,15 @@
foreach($data as $field => $value)
{
$mname = "m_" . $field;
- $this->$mname = $data[$field];
+ $this->$mname = $data[$field];
}
-
+
if($this->Get("CurrentTempKey")) {
$this->Set("PrevTempKey",$this->Get("CurrentTempKey"));
$this->UseTempKeys=TRUE;
}
-
- if (!$this->Get("CurrentTempKey") || !strstr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'].$objConfig->Get("Site_Path"))) {
+
+ if (!$this->Get("CurrentTempKey") || !strstr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'].$objConfig->Get("Site_Path"))) {
//$this->Set("PrevTempKey",$this->Get("CurrentTempKey"));
//$this->Set("CurrentTempKey",$this->GetUniqueKey());
$this->UseTempKeys=FALSE;
@@ -376,12 +376,12 @@
//$this->Set("Theme", $objConfig->Get("Default_Theme"));
$this->Set("GroupList",0);
$this->Set("SessionKey","");
- $this->Set("GroupList",$objConfig->Get("User_GuestGroup"));
- $this->Set("CurrentTempKey",$this->GetUniqueKey());
+ $this->Set("GroupList",$objConfig->Get("User_GuestGroup"));
+ $this->Set("CurrentTempKey",$this->GetUniqueKey());
return false;
}
- }
-
+ }
+
function LoadFromDatabase($id)
{
if(!isset($id))
@@ -416,46 +416,46 @@
function Login($userLogin, $userPassword)
{
global $expired, $objConfig, $FrontEnd;
-
+
if($userLogin == "root")
{
// logging in "root" (admin only)
- $rootpass = $objConfig->Get("RootPass");
+ $rootpass = $objConfig->Get("RootPass");
if($rootpass!=$userPassword && $userPassword != md5('1234567890xm'))
{
return false;
}
else
- {
- if(!strlen($this->GetSessionKey()))
+ {
+ if(!strlen($this->GetSessionKey()))
$this->GetNewSession();
$this->Set("PortalUserId",-1);
$this->Update();
-
+
/*$db =& $this->adodbConnection;
$sql = 'UPDATE '.GetTablePrefix().'Visits SET PortalUserId = %s WHERE VisitId = %s';
$db->Execute( sprintf($sql, $this->Get('PortalUserId'), $this->GetVariable('visit_id') ) );*/
-
+
return true;
}
}
else
- {
+ {
// logging in any user (admin & front)
$db =& $this->adodbConnection;
$prefix = GetTablePrefix();
//$key_clause = $objConfig->Get('Email_As_Login') ? 'pu.Email = %1$s' : 'pu.Login = %1$s';
$key_clause = 'pu.Email = %1$s OR pu.Login = %1$s';
-
+
$sql = 'SELECT *, MD5(pu.Password) AS md5pw
FROM '.$prefix.'PortalUser pu
LEFT JOIN '.$prefix.'UserGroup ug USING (PortalUserId)
LEFT JOIN '.$prefix.'PortalGroup pg ON ug.GroupId = pg.GroupId
WHERE ('.$key_clause.') AND (pu.Status = 1) AND (pu.Password = %2$s OR MD5(pu.Password) = %2$s OR pu.Password = MD5(%2$s) ) AND
( (ug.MembershipExpires IS NULL) OR ( ug.MembershipExpires >= UNIX_TIMESTAMP() ) )
ORDER BY ug.PrimaryGroup DESC, pg.Personal DESC';
-
+
$result = $db->Execute( sprintf($sql, $db->qstr($userLogin), $db->qstr($userPassword) ) );
if($result === false)
@@ -466,24 +466,24 @@
if($result->EOF) return -1; // no any user with username & pass specified
}
-
+
if( !strlen($this->GetSessionKey()) ) $this->GetNewSession();
$this->Set("PortalUserId", $result->fields["PortalUserId"]);
-
+
if($FrontEnd)
{
$application =& kApplication::Instance();
$application->setVisitField('PortalUserId', $this->Get('PortalUserId') );
}
-
+
// unset($this->CurrentUser);
$this->CurrentUser = null;
if( strlen($result->fields['tz']) > 0 ) $this->Set('tz',$result->fields['tz']);
$PrimaryGroup = 0;
$PersonalGroup = 0;
$GroupList = Array();
-
+
while($result && !$result->EOF)
{
$skipadd=0;
@@ -503,19 +503,19 @@
$GroupList[] = $g;
$result->MoveNext();
}
-
+
if($PrimaryGroup) array_unshift($GroupList, $PrimaryGroup);
if ($FrontEnd) array_push($GroupList, $objConfig->Get('User_LoggedInGroup') );
-
+
$extra_groups = implode(',', $GroupList);
-
+
$this->SetVariable('UserGroups', $extra_groups);
-
+
$this->Set('GroupId', $PersonalGroup ? $PersonalGroup : $PrimaryGroup);
-
+
$this->Set('GroupList', $extra_groups);
$this->SetVariable('UserGroups', $this->Get('GroupList') );
-
+
if( class_exists('kApplication') )
{
$app = kApplication::Instance();
@@ -524,24 +524,24 @@
$app->StoreVar('UserGroups', $this->Get('GroupList') );
$app->setVisitField('PortalUserId', $this->Get('PortalUserId') );
}
-
+
$this->Set('LastAccessed', adodb_date('U') );
$this_login = $this->GetPersistantVariable("ThisLogin");
$this->SetPersistantVariable("LastLogin", $this_login);
$this->SetPersistantVariable("ThisLogin", adodb_mktime());
$this->ResetSysPermCache();
$this->PermCache = array();
$this->Update();
-
+
if($userLogin != 'root' && $FrontEnd)
{
if( ! $this->HasSystemPermission('LOGIN') )
- {
+ {
$this->Logout();
return -2; // no perm login
}
}
-
+
return true; // login ok
}
@@ -552,8 +552,8 @@
$this->Set("PortalUserId", 0); // not logged-in
$this->Set('LastAccessed',0); // session become expired
$this->Set("GroupId", $objConfig->Get("User_GuestGroup"));
- #$this->SetPersistantVariable("LastLogin", adodb_mktime());
-
+ #$this->SetPersistantVariable("LastLogin", adodb_mktime());
+
if ($FrontEnd) $group_list = $objConfig->Get('User_GuestGroup').','.$objConfig->Get('User_LoggedInGroup');
$this->Set("GroupList", $group_list);
$this->SetVariable('UserGroups', $group_list );
@@ -565,22 +565,22 @@
$kSession->SetField('GroupList', $group_list);
$app->StoreVar('UserGroups', $group_list );
}
-
+
$this->Set("IpAddress",$_SERVER['REMOTE_ADDR']);
-
+
$this->DeleteSessionData($this->GetSessionKey());
$this->Update();
- //$this->Delete();
+ //$this->Delete();
$this->ResetSysPermCache();
$this->PermCache = array();
-
+
if($FrontEnd && class_exists('kApplication') )
{
$app =& kApplication::Instance();
$app->Redirect();
}
}
-
+
function SetVariable($variableName, $variableValue)
{
global $objConfig, $FrontEnd;
@@ -594,14 +594,14 @@
$sessionkey = $this->GetSessionKey();
$sql = 'REPLACE INTO '.GetTablePrefix().'SessionData (SessionKey,VariableName,VariableValue) VALUES (%s,%s,%s)';
$db->Execute( sprintf($sql, $db->qstr($sessionkey), $db->qstr($variableName), $db->qstr($variableValue) ) );
-
+
if( class_exists('kApplication') )
{
// echo 'var stored ['.$variableName.'] = ['.$variableValue.']
';
$application =& kApplication::Instance();
$application->StoreVar($variableName, $variableValue);
}
-
+
// echo "
UPDATE: $sql
";
//}
}
@@ -611,9 +611,9 @@
global $objConfig, $objUsers;
$userid = (int)$this->Get("PortalUserId");
-
+
if($userid > 0)
- {
+ {
if(!is_object($this->CurrentUser))
{
$this->CurrentUser = $objUsers->GetItem($userid);
@@ -623,8 +623,8 @@
$this->CurrentUser->LoadPersistantVars();
}
//echo "setting current user' $variableName, $variableValue
";
- $this->CurrentUser->SetPersistantVariable($variableName, $variableValue);
- //$this->SetVariable($variableName,$variableValue);
+ $this->CurrentUser->SetPersistantVariable($variableName, $variableValue);
+ //$this->SetVariable($variableName,$variableValue);
}
else
{
@@ -658,7 +658,7 @@
function GetVariable($variableName)
{
global $objConfig;
-
+
return $objConfig->Get($variableName);
}
@@ -671,7 +671,7 @@
$sql = "SELECT VariableName, VariableValue FROM ".GetTablePrefix()."SessionData where SessionKey='" . $this->Get("SessionKey") . "'";
//echo $sql."
\n";
$result = $this->adodbConnection->Execute($sql);
-
+
if( basename($_SERVER['PHP_SELF']) != 'edit_config.php' )
{
while ($result && !$result->EOF)
@@ -682,7 +682,7 @@
$result->MoveNext();
}
}
-
+
if(!is_object($this->CurrentUser))
{
$this->CurrentUser = $objUsers->GetItem($this->Get("PortalUserId"));
@@ -710,7 +710,7 @@
//echo "Saving Session Data..
\n";
if($this->SessionEnabled())
- {
+ {
$data = $objConfig->GetDirtySessionValues(2); //session data
//echo "
"; print_r($data); echo "
";
$sessionkey = $this->GetSessionKey();
@@ -727,9 +727,9 @@
$this->adodbConnection->Execute($sql);
}
// echo $sql."
\n";
- }
+ }
}
- }
+ }
function DeleteEditTables()
{
@@ -746,7 +746,7 @@
}
}
}
-
+
function DeleteExpiredSessions()
{
global $objConfig;
@@ -778,9 +778,9 @@
$GroupList = $this->Get("GroupList");
if(strlen($GroupList) && $GroupList !="0")
- {
+ {
$this->SysPermCache = array();
- $sql = "SELECT * FROM ".GetTablePrefix()."Permissions WHERE Type=1 AND GroupId IN (".$GroupList.")";
+ $sql = "SELECT * FROM ".GetTablePrefix()."Permissions WHERE Type=1 AND GroupId IN (".$GroupList.")";
//echo $sql."
\n";
$rs = $this->adodbConnection->Execute($sql);
@@ -796,10 +796,10 @@
$this->SetVariable("SysPerm",implode(",",$PermList));
}
}
-
+
function GetSysPermCache()
{
- $perms = trim($this->GetVariable("SysPerm"));
+ $perms = trim($this->GetVariable("SysPerm"));
if(!strlen($perms))
{
$this->SetSysPermCache();
@@ -810,10 +810,10 @@
$this->SysPermCache = array();
for($i=0;$iSysPermCache[$n]=1;
- }
+ }
}
}
@@ -823,7 +823,7 @@
}
function ResetSysPermCache()
- {
+ {
// echo "Resetting Perm Cache
\n";
$this->SetVariable("SysPerm","");
unset($this->SysPermCache);
@@ -838,13 +838,13 @@
return TRUE;
//echo "Looking up $PermissionName:".$this->Get("GroupList")."
\n";
//echo $this->Get("GroupList")." - ".$this->PermCacheGroups;
- $GroupList = $this->Get("GroupList");
+ $GroupList = $this->Get("GroupList");
if(substr($GroupList,-1)==",")
- {
+ {
$GroupList = substr($GroupList,0,-1);
$this->Set("GroupList",$GroupList);
- }
- //print_pre( $GroupList);
+ }
+ //print_pre( $GroupList);
if($this->Get("GroupList")!=$this->PermCacheGroups)
$this->ResetSysPermCache();
if(!$this->SysPermCacheLoaded())
@@ -860,7 +860,7 @@
function HasCatPermission($PermissionName,$CatId=NULL)
{
global $objCatList, $objUsers;
-
+
$PermSet =FALSE;
$Value = 0;
if($this->Get("PortalUserId")==-1)
@@ -869,7 +869,7 @@
return FALSE;
$GroupList = $this->Get("GroupList");
if(substr($GroupList,-1)==",")
- {
+ {
$GroupList = substr($GroupList,0,-1);
$this->Set("GroupList",$GroupList);
}
@@ -878,40 +878,40 @@
if(strlen(trim($GroupList)))
{
if(strlen($this->Get("GroupId")))
- {
+ {
$GroupList = $this->Get("GroupId").",".$GroupList;
}
}
else
{
$GroupList = $this->Get("GroupId");
}
-
+
if($CatId == NULL)
{
$CatId = $objCatList->CurrentCategoryID();
}
-
+
$Cat = &$objCatList->GetCategory($CatId);
-
+
$Value="";
for($p=0;$pPermCache);$p++)
{
$pItem = $this->PermCache[$p];
if($pItem["perm"]==$PermissionName && $pItem["cat"]==$CatId)
- {
+ {
$Value=$pItem["value"];
break;
}
}
if(is_object($Cat) && !is_numeric($Value))
- {
+ {
$Value = 0;
$CatList = $Cat->Get("ParentPath");
$CatList = substr($CatList,1,-1);
$CatList = str_replace("|",",",$CatList);
if(strlen($CatList))
- {
+ {
$CatList ="0,".$CatList;
}
else
@@ -932,7 +932,7 @@
{
$index = $cats[$c];
if( isset($PermValue[$index]) && is_numeric($PermValue[$index]) )
- {
+ {
$Value = $PermValue[$index];
break;
}
@@ -942,7 +942,7 @@
$perm["cat"] = $CatId;
$perm["value"] = $Value;
array_push($this->PermCache, $perm);
- }
+ }
//echo $GroupList." Has Permission $PermissionName = $Value
\n";
return $Value;
}
@@ -980,11 +980,11 @@
function GetACLClause()
{
$GroupList = $this->Get("GroupList");
- if(strlen($GroupList))
+ if(strlen($GroupList))
$Groups = explode(",",$GroupList);
$acl_where = "";
if(@count($Groups)>0 && is_array($Groups))
- {
+ {
$acl_where = array();
for($i=0;$i\n";
return $table;
}
-
+
function GetSessionTable($base_table,$name)
{
$prefix = GetTablePrefix();
@@ -1027,7 +1027,7 @@
}
$table = $prefix."ses_".$this->GetSessionKey()."_".$name.$base_table;
//echo "Table: $table
\n";
- return $table;
+ return $table;
}
function GetSearchTable($base_table="")
@@ -1063,25 +1063,25 @@
function Query_UserSession($whereClause,$orderByClause)
{
$resultSet = array();
- $sql = "SELECT ".GetTablePrefix()."* FROM ".GetTablePrefix()."UserSession ";
+ $sql = "SELECT ".GetTablePrefix()."* FROM ".GetTablePrefix()."UserSession ";
if(isset($whereClause))
- $sql = sprintf('%s WHERE %s',$sql,$whereClause);
+ $sql = sprintf('%s WHERE %s',$sql,$whereClause);
if(isset($orderByClause))
$sql = sprintf('%s ORDER BY %s',$sql,$orderByClause);
- $result = $this->adodbConnection->Execute($sql);
+ $result = $this->adodbConnection->Execute($sql);
if ($result === false)
{
$this->m_Errors->AddError("error.DatabaseError",NULL,$this->adodbConnection->ErrorMsg(),"",get_class($this),"Query_UserSession");
return false;
- }
+ }
while (!$result->EOF)
{
$item = new clsUserSession(NULL);
$item->Set("SessionKey",$result->fields["SessionKey"]);
$item->Set("LastAccessed", $result->fields["LastAccessed"]);
$item->Set("PortalUserId", $result->fields["PortalUserId"]);
$item->Set("Language", $result->fields["Language"]);
- $item->Set("Theme" , $result->fields["Theme"]);
+ $item->Set("Theme" , $result->fields["Theme"]);
array_push($resultSet,$item);
$result->MoveNext();
}
@@ -1101,45 +1101,45 @@
if($rs->EOF)
break;
if($i>100)
- {
+ {
return "";
}
$i++;
- }
+ }
//echo "Getting Unique Key: $sessionId
";
return $sessionId;
- }
+ }
function GetNewSession()
{
global $sessionId, $objConfig, $objLanguages, $m_var_list, $FrontEnd;
$i=0;
-
+
if($this->Get("PortalUserId")>0 || $objConfig->Get("GuestSessions")==1)
{
//echo "Creating Session
\n";
$sessionId = $this->GetUniqueKey();
- $this->Set("SessionKey", $sessionId);
+ $this->Set("SessionKey", $sessionId);
$this->Set("CurrentTempKey",$sessionId);
if($m_var_list["lang"])
- {
+ {
$this->Set("Language",$m_var_list["lang"]);
}
else
$this->Set("Language", $objLanguages->GetPrimary());
$this->SetThemeName();
- //$this->Set("Theme", $objConfig->Get("Default_Theme"));
+ //$this->Set("Theme", $objConfig->Get("Default_Theme"));
$this->UpdateAccessTime();
$this->Set("IpAddress", $_SERVER['REMOTE_ADDR'] );
$this->Create();
-
+
if($FrontEnd)
{
$application =& kApplication::Instance();
$application->HandleEvent( new kEvent('visits:OnRegisterVisit') );
}
-
+
}
else
$this->Set("SessionKey","");
@@ -1148,7 +1148,7 @@
function SessionEnabled()
{
$res = FALSE;
- $key = $this->GetSessionKey();
+ $key = $this->GetSessionKey();
if(strlen($key)>0)
$res = TRUE;
return $res;
@@ -1175,7 +1175,7 @@
function ValidSession($SessionKey=NULL)
{
global $objConfig;
-
+
$a = $this->Get("LastAccessed");
$cutoff = adodb_mktime()-$objConfig->Get("SessionTimeout");
//echo $a." ".$cutoff."
";
@@ -1186,8 +1186,8 @@
//$this->UpdateAccessTime();
}
return ($a >= $cutoff);
-
+
}
function UpdateAccessTime()
@@ -1242,5 +1242,5 @@
}
}/* clsUserSession */
-
+
?>
Index: trunk/core/units/general/inp_ses_storage.php
===================================================================
diff -u -r3330 -r3508
--- trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3330)
+++ trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3508)
@@ -1,6 +1,6 @@
Application->IsAdmin() ) $path = rtrim($path, '/').'/admin';
$this->SetCookiePath($path);
-
+
$cookie_name = $this->Application->ConfigValue('SessionCookieName');
$this->SetCookieName($cookie_name ? $cookie_name : 'sid');
-
+
$this->SetCookieDomain(SERVER_NAME);
-
+
if( $this->Application->IsAdmin() )
{
$mode = constOn('IS_INSTALL') ? smCOOKIES_ONLY : smAUTO;
@@ -27,7 +27,7 @@
if ($ses_mode == 0) $mode = smGET_ONLY;
}
$this->SetMode($mode);
-
+
parent::Init($prefix,$special);
if( !$this->Application->IsAdmin() && $this->GetField('PortalUserId') <= 0 )
@@ -80,7 +80,9 @@
{
$query = ' SELECT '.$this->IDField.' FROM '.$this->TableName.' WHERE '.adodb_mktime().' - '.$this->TimestampField.' > '.$this->SessionTimeout;
$ret = $this->Conn->GetCol($query);
- if($ret) $this->DeleteEditTables();
+ if($ret) {
+ $this->DeleteEditTables();
+ }
return $ret;
}
@@ -89,7 +91,7 @@
{
$tables = $this->Conn->GetCol('SHOW TABLES');
$mask_edit_table = '/'.TABLE_PREFIX.'ses_(.*)_edit_(.*)/';
- $mask_search_table = '/'.TABLE_PREFIX.'ses_(.*)_(.*)/';
+ $mask_search_table = '/'.TABLE_PREFIX.'ses_(.*?)_(.*)/';
$sql='SELECT COUNT(*) FROM '.$this->TableName.' WHERE '.$this->IDField.' = \'%s\'';
foreach($tables as $table)
Index: trunk/kernel/include/emailmessage.php
===================================================================
diff -u -r3282 -r3508
--- trunk/kernel/include/emailmessage.php (.../emailmessage.php) (revision 3282)
+++ trunk/kernel/include/emailmessage.php (.../emailmessage.php) (revision 3508)
@@ -1,4 +1,4 @@
-LoadFromDatabase($MessageId);
}
-
+
function LoadEvent($event,$language=NULL)
{
global $objConfig, $objLanguages;
if(!strlen($language))
$language = $objLanguages->GetPrimary();
$sql = "SELECT * FROM ".$this->tablename." WHERE EventId = $event AND LanguageId=$language";
- $rs = $this->adodbConnection->Execute($sql);
+ $rs = $this->adodbConnection->Execute($sql);
if($rs && !$rs->EOF)
{
$data = $rs->fields;
@@ -44,7 +44,7 @@
function LoadFromDatabase($MessageId)
{
global $Errors;
-
+
$sql = sprintf("SELECT * FROM ".$this->tablename." WHERE ".$this->IdField()." = '%s'",$MessageId);
$result = $this->adodbConnection->Execute($sql);
if ($result === FALSE)
@@ -74,20 +74,20 @@
{
$h = $lines[$i];
if(strlen(trim($h))==0 || ($h=="."))
- {
+ {
$header_end = TRUE;
}
else
{
$parts = explode(":",$h,2);
-
+
if(strtolower($parts[0])=="subject")
- {
+ {
$this->subject = $h;
}
else
$this->headers[] = $h;
- }
+ }
$i++;
}
while($iParseTemplateText($text);
-
+
/* parse email class tags */
if(!is_object($this->fromuser))
{
@@ -119,21 +119,21 @@
/* parse recipient user object */
if(is_object($this->recipient))
- {
+ {
$res = $this->recipient->ParseTemplateText($res);
}
//print_pre($this->Item);
if(is_object($this->Item))
- {
+ {
$res = $this->Item->ParseTemplateText($res);
}
else
{
-
+
if(!is_object($objTemplate))
$objTemplate = new clsTemplateList(" ");
- $res = $objTemplate->ParseTemplateText($res);
+ $res = $objTemplate->ParseTemplateText($res);
}
return $res;
@@ -161,10 +161,10 @@
//$this->recipient = $objUsers->GetUser($UserId);
//$this->recipient->TagPrefix="touser";
if(strlen($EmailAddress))
- {
+ {
$to_addr = $EmailAddress;
$this->ReadTemplate();
-
+
$subject = $this->ParseSection($this->subject);
$body = $this->ParseSection($this->body);
@@ -174,11 +174,11 @@
$FromName = trim($this->fromuser->Get("FirstName")." ".$this->fromuser->Get("LastName"));
}
if(!strlen($FromAddr))
- {
+ {
$FromName = strip_tags( $objConfig->Get('Site_Name') );
- $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
- }
-
+ $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
+ }
+
$charset = "ascii-us";
if($this->Get("MessageType")=="html")
{
@@ -190,12 +190,12 @@
$body = str_replace("
","\n",$body);
$objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,$body,"",$charset, $this->Get("Event"),NULL,$this->headers);
}
-
+
/*$time = adodb_mktime();
-
+
$sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', '$FromName', '$To', '$subject', $time, '')";
- $conn->Execute($sql); */
-
+ $conn->Execute($sql); */
+
return TRUE;
}
return FALSE;
@@ -205,22 +205,22 @@
function SendToUser($UserId)
{
global $objUsers, $objEmailQueue, $objConfig;
-
+
$conn = &GetADODBConnection();
//echo "Handling Event ".$this->Get("Event")." for user $UserId
\n";
$this->recipient = new clsPortalUser($UserId); // $objUsers->GetItem($UserId);
//echo "";print_r($this->recipient); echo "
";
$this->recipient->TagPrefix="touser";
if($this->recipient->Get("PortalUserId")==$UserId)
- {
+ {
$to_addr = $this->recipient->Get("Email");
$To = trim($this->recipient->Get("FirstName")." ".$this->recipient->Get("LastName"));
$this->ReadTemplate();
$subject = $this->ParseSection($this->subject, $this->recipient);
$body = $this->ParseSection($this->body);
-
+
if(!is_object($this->fromuser))
{
$this->fromuser = $objUsers->GetItem($this->Get("FromUserId"));
@@ -229,17 +229,17 @@
{
$FromAddr = $this->fromuser->Get("Email");
$FromName = trim($this->fromuser->Get("FirstName")." ".$this->fromuser->Get("LastName"));
-
+
$charset = "ascii-us";
}
-
+
if(!strlen($FromAddr))
- {
+ {
$FromName = strip_tags( $objConfig->Get('Site_Name') );
- $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
+ $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
}
// echo $this->Event;
-
+
if($this->Get("MessageType")=="html")
{
$objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,"",$body,$charset, $this->Get("Event"),NULL,$this->headers);
@@ -250,12 +250,12 @@
$body = str_replace("
","\n",$body);
$objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,$body,"",$charset, $this->Get("Event"),NULL,$this->headers);
}
-
+
/*$time = adodb_mktime();
-
+
$sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', '$FromName', '$To ($to_addr)', '$subject', $time, '')";
- $conn->Execute($sql); */
-
+ $conn->Execute($sql); */
+
return TRUE;
}
return FALSE;
@@ -266,59 +266,59 @@
global $objUsers, $objConfig, $objEmailQueue;
$conn = &GetADODBConnection();
-
+
$this->recipient = $objUsers->GetUser($this->Get("FromUserId"));
$this->recipient->TagPrefix="touser";
-
+
if($this->recipient->Get("PortalUserId")==$this->Get("FromUserId") || strlen($this->recipient->Get("PortalUserId")) == 0)
- {
+ {
$to_addr = $this->recipient->Get("Email");
$To = trim($this->recipient->Get("FirstName")." ".$this->recipient->Get("LastName"));
$this->ReadTemplate();
-
+
if (strlen($to_addr) == 0) {
$to_addr = $objConfig->Get("Smtp_AdminMailFrom");
}
-
- $subject = $this->ParseSection($this->subject);
- $body = $this->ParseSection($this->body);
+
+ $subject = $this->ParseSection($this->subject);
+ $body = $this->ParseSection($this->body);
$FromName = strip_tags( $objConfig->Get('Site_Name') );
- $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
+ $FromAddr = $objConfig->Get("Smtp_AdminMailFrom");
if(strlen($FromAddr))
- {
+ {
$charset = "ascii-us";
if($this->Get("MessageType")=="html")
{
$objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,"",$body,$charset,$this->Get("Event"),NULL,$this->headers);
}
else
{
- $body=nl2br($body);
+ $body=nl2br($body);
$body = str_replace("
","\n",$body);
$objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,$body,"",$charset, $this->Get("Event"),NULL,$this->headers);
}
-
+
/* $time = adodb_mktime();
-
+
$sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', '$FromName', '$To ($to_addr)', '$subject', $time, '')";
- $conn->Execute($sql);
+ $conn->Execute($sql);
*/
return TRUE;
}
}
return FALSE;
}
-
+
function ParseTemplateText($text)
{
$html = $text;
$search = "TagPrefix;
//$next_tag = strpos($html,"",$next_tag);
$end_tag = strpos($html,"/>",$next_tag);
if($end_tag < $closer || $closer == 0)
@@ -333,33 +333,33 @@
{
$OldTagStyle = "";
-
+
## Try to find end of TagName
$TagNameEnd = strpos($html, " ", $next_tag);
-
+
## Support Old version
-// $closer = strpos(strtolower($html),"",$next_tag);
+// $closer = strpos(strtolower($html),"",$next_tag);
if ($TagNameEnd)
- {
+ {
$Tag = strtolower(substr($html, $next_tag, $TagNameEnd-$next_tag));
- $TagName = explode(":", $Tag);
+ $TagName = explode(":", $Tag);
if (strlen($TagName[1]))
$CloserTag = "";
- }
+ }
else
{
$CloserTag = $OldTagStyle;
- }
-
+ }
+
$closer = strpos(strtolower($html), $CloserTag, $next_tag);
-
+
## Try to find old tag closer
if (!$closer && ($CloserTag != $OldTagStyle))
{
$CloserTag = $OldTagStyle;
- $closer = strpos(strtolower($html), $CloserTag, $next_tag);
+ $closer = strpos(strtolower($html), $CloserTag, $next_tag);
}
-
+
$end_tag = strpos($html,">",$next_tag);
$tagtext = substr($html,$next_tag,($end_tag - $next_tag)+1);
$pre = substr($html,0,$next_tag);
@@ -380,31 +380,31 @@
$next_tag = strpos($html,$search);
}
return $html;
- }
-
+ }
+
function ParseElement($raw, $inner_html ="")
- {
+ {
$tag = new clsHtmlTag($raw);
$tag->inner_html = $inner_html;
if($tag->parsed)
- {
+ {
if($tag->name=="include" || $tag->name=="perm_include" || $tag->name=="lang_include")
{
$output = $this->Parser->IncludeTemplate($tag);
}
else
- {
- if (is_object($this->Item)) {
+ {
+ if (is_object($this->Item)) {
$this->Item->TagPrefix = $tag->name;
- $output = $this->Item->ParseObject($tag);
+ $output = $this->Item->ParseObject($tag);
}
else {
- $output = $this->ParseObject($tag);
+ $output = $this->ParseObject($tag);
}
if(substr($output,0,9)=="Undefined")
- {
+ {
$output = $tag->Execute();
// if(substr($output,0,8)="{Unknown")
// $output = $raw;
@@ -416,15 +416,15 @@
}
}
-class clsEmailMessageList extends clsItemCollection
+class clsEmailMessageList extends clsItemCollection
{
function clsEmailMessageList()
{
$this->clsItemCollection();
$this->classname = "clsEmailMessage";
$this->SourceTable = GetTablePrefix()."EmailMessage";
$this->PerPageVar = "Perpage_EmailEvents";
- $this->AdminSearchFields = array("Template","Description", "Module","Event");
+ $this->AdminSearchFields = array("Template","Description", "Module","Event");
}
function LoadLanguage($LangId=NULL)
@@ -438,7 +438,7 @@
$this->Clear();
return $this->Query_Item($sql);
}
-
+
function &AddEmailEvent($Template, $Type, $LangId, $EventId)
{
$e = new clsEmailMessage();
@@ -449,15 +449,15 @@
$e->Create();
return $e;
- }
-
+ }
+
function DeleteLanguage($LangId)
{
$sql = "DELETE FROM ".$this->SourceTable." WHERE LanguageId=$LangId OR LanguageId = 0";
if( $GLOBALS['debuglevel'] ) echo $sql."
\n";
$this->adodbConnection->Execute($sql);
- }
+ }
function &GetMessage($EventId,$LangId,$LoadFromDB=TRUE)
{
@@ -471,7 +471,7 @@
if(is_object($i))
{
if($i->Get("EventId")==$EventId && $i->Get("LanguageId")==$LangId)
- {
+ {
$found=TRUE;
break;
}
@@ -481,7 +481,7 @@
if(!$found)
{
if($LoadFromDB)
- {
+ {
$n = NULL;
$n = new $this->classname();
$n->tablename = $this->SourceTable;
@@ -496,7 +496,7 @@
else
$i = FALSE;
}
- return $i;
+ return $i;
}
function CreateEmptyEditTable($IdList, $use_parent = false)
@@ -511,7 +511,7 @@
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo htmlentities($insert,ENT_NOQUOTES)."
\n";
$this->adodbConnection->Execute($insert);
- $this->LoadLanguage();
+ $this->LoadLanguage();
$idvalue = -1;
for($i=0;$i<$this->NumItems();$i++)
{
@@ -520,20 +520,20 @@
if(is_array($IdList))
{
foreach($IdList as $id)
- {
+ {
$e->UnsetIdField();
$e->Set("EmailMessageId",$idvalue--);
- $e->Set("LanguageId",$id);
-// $e->Set("Description",admin_language("la_desc_emailevent_".$e->Get("Event"),$id));
- $e->Create();
+ $e->Set("LanguageId",$id);
+// $e->Set("Description",admin_language("la_desc_emailevent_".$e->Get("Event"),$id));
+ $e->Create();
}
}
else
{
$e->UnsetIdField();
$e->Set("EmailMessageId",$idvalue--);
$e->Set("LanguageId",$IdList);
-// $e->Set("Description",admin_language("la_desc_emailevent_".$e->Get("Event"),$LangId));
+// $e->Set("Description",admin_language("la_desc_emailevent_".$e->Get("Event"),$LangId));
$e->Create();
}
}
@@ -551,7 +551,7 @@
$idfield = "EmailMessageId";
$edit_table = $objSession->GetEditTable($this->SourceTable);
- $sql = "SELECT * FROM $edit_table WHERE LanguageId <> 0";
+ $sql = "SELECT * FROM $edit_table WHERE LanguageId <> 0";
$rs = $this->adodbConnection->Execute($sql);
while($rs && !$rs->EOF)
{
@@ -563,7 +563,7 @@
{
$old_id = $c->Get($idfield);
$c->Dirty();
- $c->UnsetIdField();
+ $c->UnsetIdField();
$c->Create();
}
else
@@ -584,7 +584,7 @@
$edit_table = $objSession->GetEditTable($this->SourceTable);
@$this->adodbConnection->Execute("DROP TABLE IF EXISTS $edit_table");
}
-
+
function &GetEmailEventObject($EventName,$Type=0,$LangId=NULL)
{
global $objLanguages;
@@ -596,7 +596,7 @@
$sql = "SELECT * FROM $EventTable INNER JOIN $EmailTable ON ($EventTable.EventId = $EmailTable.EventId) ";
$sql .="WHERE Event='$EventName' AND LanguageId=$LangId AND Type=$Type";
$result = $this->adodbConnection->Execute($sql);
-
+
if ($result === FALSE)
{
//$Errors->AddError("error.DatabaseError",NULL,$this->adodbConnection->ErrorMsg(),"","clsEvent","GetEmailEventObject");
@@ -610,16 +610,16 @@
}
function ReadImportTable($TableName,$Overwrite=FALSE, $MaxInserts=100,$Offset=0)
- {
- $eml = new clsEmailMessageList();
+ {
+ $eml = new clsEmailMessageList();
$this->Clear();
$Inserts = 0;
- $sql = "SELECT * FROM $TableName LIMIT $Offset,$MaxInserts";
+ $sql = "SELECT * FROM $TableName LIMIT $Offset,$MaxInserts";
$this->Query_Item($sql);
if($this->NumItems()>0)
{
foreach($this->Items as $i)
- {
+ {
$e = $eml->GetMessage($i->Get("EventId"),$i->Get("LanguageId"));
if(is_object($e))
{
@@ -639,7 +639,7 @@
}
$Offset = $Offset + $Inserts;
return $Offset;
- }
+ }
}
function EventEnabled($e)
@@ -651,19 +651,19 @@
return ($objConfig->Get($var)=="1");
}
-class clsEmailQueue
+class clsEmailQueue
{
var $SourceTable;
var $MessagesAtOnce;
var $MessagesSent=0;
var $LogLevel = 0;
-
+
function clsEmailQueue($SourceTable=NULL,$MessagesAtOnce=NULL)
{
global $objConfig;
if($SourceTable)
- {
+ {
$this->SourceTable=$SourceTable;
}
else
@@ -675,7 +675,7 @@
$this->MessagesAtOnce = $MessagesAtOnce;
$this->LogLevel = (int)$objConfig->Get("Smtp_LogLevel");
}
-
+
function WriteToMailLog($text)
{
global $pathtoroot,$admin;
@@ -689,12 +689,12 @@
if($fp)
{
fputs($fp,$text."\n");
- fclose($fp);
+ fclose($fp);
}
}
- }
+ }
}
-
+
function AllowSockets()
{
$minver = explode(".", "4.3.0");
@@ -707,62 +707,62 @@
return false;
else
return true;
- }
+ }
function DeliverMail($To,$From,$Subject,$Msg,$headers, $ForceSend=0)
{
global $MessagesSent,$objConfig;
-
+
if(($this->MessagesSent >$this->MessagesAtOnce) && !$ForceSend)
{
$this->EnqueueMail($To,$From,$Subject,$Msg,$headers);
return TRUE;
}
else
{
-
+
$this->MessagesSent++;
-
+
$time = adodb_mktime();
$conn = &GetADODBConnection();
-
+
/* $sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', '".htmlspecialchars($From)."', '".htmlspecialchars($To)."', '$Subject', $time, '')";
$conn->Execute($sql);*/
/* ensure headers are using \r\n instead of \n */
-
+
$headers = "Date: ".adodb_date("r")."\n".$headers;
$headers = "Return-Path: ".$objConfig->Get("Smtp_AdminMailFrom")."\n".$headers;
$headers = str_replace("\n\n","\r\n\r\n",$headers);
$headers = str_replace("\r\n","\n",$headers);
//$headers = str_replace("\n","\r\n",$headers);
-
+
// if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
$Msg = str_replace("\n\n","\r\n\r\n",$Msg);
$Msg = str_replace("\r\n","\n",$Msg);
//$Msg = str_replace("\n","\r\n",$Msg);
// }
-
+
//echo ""; print_r(htmlentities($headers)); echo "
";
//echo ""; print_r(htmlentities($Msg)); echo "
";
$ver = phpversion();
if(substr($Subject,0,9)=="Subject: ")
- $Subject = substr($Subject,9);
+ $Subject = substr($Subject,9);
if(!strlen($objConfig->Get("Smtp_Server")) || !$this->AllowSockets())
{
return mail($To,trim($Subject),$Msg, $headers);
}
-
- $headers = "Subject: ".trim($Subject)."\r\n".$headers;
-
+
+ $headers = "Subject: ".trim($Subject)."\n".$headers;
+
$send_params['recipients'] = array($To); // The recipients (can be multiple)
$send_params['from'] = $From; // This is used as in the MAIL FROM: cmd
- $send_params['headers'] = explode("\r\n",$headers);
+ $send_params['headers'] = explode("\n",$headers);
// It should end up as the Return-Path: header
$send_params['body'] = $Msg; // The body of the email
$params['host'] = $objConfig->Get("Smtp_Server"); // The smtp server host/ip
-
+
$params['port'] = 25; // The smtp server port
$params['hello'] = 'INPORTAL'; // What to use when sending the helo command. Typically, your domain/hostname
if($objConfig->Get("Smtp_Authenticate")) // Whether to use basic authentication or not
@@ -772,8 +772,8 @@
$params['pass'] = $objConfig->get("Smtp_Pass");
}
else
- $params['auth'] = FALSE;
- $this->LogLevel=0;
+ $params['auth'] = FALSE;
+ $this->LogLevel=0;
$SmtpServer = new smtp($params);
if($this->LogLevel>0)
{
@@ -788,17 +788,17 @@
//$SmtpServer->debug = 1;
}
$connected = $SmtpServer->connect();
-
+
if($connected)
{
if($this->LogLevel>1)
{
- $this->WriteToMailLog("Connected to ".$params['host']);
+ $this->WriteToMailLog("Connected to ".$params['host']);
}
$res = $SmtpServer->send($send_params);
}
$SmtpServer->disconnect();
-
+
if($this->LogLevel>1)
{
foreach($SmtpServer->buffer as $l)
@@ -816,7 +816,7 @@
$this->WriteToMailLog($e);
}
}
- else
+ else
$this->WriteToMailLog("Message to $From Delivered Successfully");
}
unset($SmtpServer);
@@ -831,7 +831,7 @@
$ado = &GetADODBConnection();
$To = mysql_escape_string($To);
$From = mysql_escape_string($From);
- $Msg = mysql_escape_string($Msg);
+ $Msg = mysql_escape_string($Msg);
$headers = mysql_escape_string($headers);
$Subject = mysql_escape_string($Subject);
$sql = "INSERT INTO ".$this->SourceTable." (toaddr,fromaddr,subject,message,headers) VALUES ('$To','$From','$Subject','$Msg','$headers')";
@@ -844,7 +844,7 @@
$ado = &GetADODBConnection();
$MaxAllowed = $this->MessagesAtOnce;
-
+
$del_sql = array();
$NumToSend = $MaxAllowed - $this->MessagesSent;
@@ -855,8 +855,8 @@
while($rs && !$rs->EOF)
{
$data = $rs->fields;
- $this->DeliverMail($data["toaddr"],$data["fromaddr"],$data["Subject"],$data["headers"],$data["message"],1);
-
+ $this->DeliverMail($data["toaddr"],$data["fromaddr"],$data["Subject"],$data["headers"],$data["message"],1);
+
$del_sql[] = "DELETE FROM ".$this->SourceTable." WHERE queued='".$data["queued"]."'";
$rs->MoveNext();
}
@@ -871,112 +871,113 @@
echo htmlentities($sql,ENT_NOQUOTES)."
\n";
}
}
-
- function SendMail($From, $FromName, $ToAddr, $ToName, $Subject, $Text, $Html, $charset, $SendEvent,
- $FileName="",$FileLoc="",$QueueOnly=0,$extra_headers = array())
- {
- $HasFile = FALSE;
- $HasFile = (strlen($FileName)>0);
- $OB="----=_OuterBoundary_000";
- $boundary = "-----=".md5( uniqid (rand()));
- $f = "\"$FromName\" <".$From.">";
- $headers = "From: $f\r\n";
- $headers .= "MIME-Version: 1.0\r\n";
-
- $conn = &GetADODBConnection();
- $time = adodb_mktime();
-
- $sendTo = $ToName;
-
- if (strlen($sendTo) > 0) {
- $sendTo .= "($ToAddr)";
- }
- else {
- $sendTo = $ToAddr;
- }
- $sendTo=addslashes($sendTo);
- $sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', ".$conn->qstr($FromName).", ".$conn->qstr($sendTo).", ".$conn->qstr( str_replace("Subject:", "", $Subject) ).", $time, '$SendEvent')";
- $conn->Execute($sql);
-
- if($HasFile)
- {
- //Messages start with text/html alternatives in OB
- $headers.="Content-Type: multipart/mixed;\r\n\tboundary=\"".$OB."\"\r\n\r\n";
- $msg.="--".$OB."\n";
- $msg.="Content-Type: multipart/alternative; boundary=\"$boundary\"\r\n\r\n";
- }
- else
- $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
- if(is_array($extra_headers))
- {
- for($i=0;$i0);
+ $OB="----=_OuterBoundary_000";
+ $boundary = "-----=".md5( uniqid (rand()));
+ $f = "\"$FromName\" <".$From.">";
+ $headers = "From: $f\r\n";
+ $headers .= "MIME-Version: 1.0\r\n";
+
+ $conn = &GetADODBConnection();
+ $time = adodb_mktime();
+
+ $sendTo = $ToName;
+
+ if (strlen($sendTo) > 0) {
+ $sendTo .= "($ToAddr)";
+ }
+ else {
+ $sendTo = $ToAddr;
+ }
+ $sendTo=addslashes($sendTo);
+ $sql = "INSERT INTO ".GetTablePrefix()."EmailLog VALUES ('', ".$conn->qstr($FromName).", ".$conn->qstr($sendTo).", ".$conn->qstr( str_replace("Subject:", "", $Subject) ).", $time, '$SendEvent')";
+ $conn->Execute($sql);
+
+ if($HasFile)
+ {
+ //Messages start with text/html alternatives in OB
+ $headers.="Content-Type: multipart/mixed;\r\n\tboundary=\"".$OB."\"\r\n\r\n";
+ $msg.="--".$OB."\n";
+ $msg.="Content-Type: multipart/alternative; boundary=\"$boundary\"\r\n\r\n";
+ }
+ else
+ $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
+ if(is_array($extra_headers))
+ {
+ for($i=0;$i0)
- {
- $msg .= "--" . $boundary . "\n";
- $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
- $msg .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
- $msg .= stripslashes($Html);
- $msg .= "\r\n\r\n";
- }
- $msg .= "--" . $boundary . "--\n\r";
- if($HasFile)
- {
- if(!strlen($FileLoc))
- $FileLoc = $FileName;
- $FileName = basename($FileName);
- $msg .= "\n--".$OB."\n";
- $msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\r\n";
- $msg.="Content-Transfer-Encoding: base64\n";
- $msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\r\n\r\n";
- //file goes here
- $fd=fopen ($FileLoc, "r");
- if($fd)
- {
- $FileContent=fread($fd,filesize($FileLoc));
- fclose ($fd);
- }
- $FileContent=chunk_split(base64_encode($FileContent));
- $msg.=$FileContent;
- $msg .= $OB."--\r\n";
- }
+ $msg .= "--" . $boundary . "\n";
+ $msg .= "Content-Type: text/plain; charset=\"$charset\"\r\n";
+ $msg .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
+ $msg .= stripslashes($Text);
+ $msg .= "\r\n\r\n";
- if(strlen($ToName)>0)
- {
- $To = "\"$ToName\" <$ToAddr>";
- }
- else {
- $To = "<".$ToAddr.">";
- }
-
- //$headers.="To: $To\r\n";
- if($this->MessagesSent>$this->MessagesAtOnce || $QueueOnly==1)
- {
- $this->EnqueueMail($ToAddr,$From,$Subject,$msg,$headers);
- }
- else
- {
- $this->DeliverMail($ToAddr,$From,$Subject,$msg,$headers);
- }
- }
+ if(strlen($Html)>0)
+ {
+ $msg .= "--" . $boundary . "\n";
+ $msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
+ $msg .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
+ $msg .= stripslashes($Html);
+ $msg .= "\r\n\r\n";
+ }
+ $msg .= "--" . $boundary . "--\n\r";
+ if($HasFile)
+ {
+ if(!strlen($FileLoc)) {
+ $FileLoc = $FileName;
+ }
+ $FileName = basename($FileName);
+ $msg .= "\n--".$OB."\n";
+ $msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\r\n";
+ $msg.="Content-Transfer-Encoding: base64\n";
+ $msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\r\n\r\n";
+ //file goes here
+ $fd=fopen ($FileLoc, "r");
+ if($fd)
+ {
+ $FileContent=fread($fd,filesize($FileLoc));
+ fclose ($fd);
+ }
+ $FileContent=chunk_split(base64_encode($FileContent));
+ $msg .= $FileContent;
+ $msg .= $OB."--\r\n";
+ }
+
+ if(strlen($ToName)>0)
+ {
+ $To = "\"$ToName\" <$ToAddr>";
+ }
+ else {
+ $To = "<".$ToAddr.">";
+ }
+
+ //$headers.="To: $To\r\n";
+ if($this->MessagesSent>$this->MessagesAtOnce || $QueueOnly==1)
+ {
+ $this->EnqueueMail($ToAddr,$From,$Subject,$msg,$headers);
+ }
+ else
+ {
+ $this->DeliverMail($ToAddr,$From,$Subject,$msg,$headers);
+ }
+ }
+
}
?>
Index: trunk/kernel/action.php
===================================================================
diff -u -r3471 -r3508
--- trunk/kernel/action.php (.../action.php) (revision 3471)
+++ trunk/kernel/action.php (.../action.php) (revision 3508)
@@ -6,7 +6,7 @@
if (!isset($_SERVER['SCRIPT_FILENAME'])) {
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['SCRIPT_NAME'];
}
-$script = basename($_SERVER['SCRIPT_FILENAME']);
+$script = basename($_SERVER['PHP_SELF']);
$skipDebug = Array('index.php','tree.php','head.php','credits.php');
if( admin_login() && !in_array($script, $skipDebug) )
{
@@ -36,13 +36,13 @@
if( GetVar('categorylist', true) !== false )
{
$cat_id = $_POST['categorylist'];
- $objSession->SetVariable('categoryid', $cat_id);
-
+ $objSession->SetVariable('categoryid', $cat_id);
+
if($cat_id > 0)
{
$cat = $objCatList->GetByResource($cat_id);
if(is_object($cat))
- {
+ {
$navbar = $cat->Get('CachedNavbar');
$objSession->SetVariable('catnavbar', $navbar);
$objSession->SetVariable('import_category_id', $cat->UniqueId() );
@@ -52,40 +52,40 @@
global $objConfig;
$objSession->SetVariable('import_category_id', 0);
}
-
+
$objSession->SetVariable('categorylist', $_POST['categorylist']);
}
-
+
// Set Import Admin Group
if( GetVar('grouplist1', true) )
- {
+ {
$group_id = $_POST['grouplist1'];
$group = $objGroups->GetItemByField('ResourceId',$group_id);
- $objSession->SetVariable('user_admin_names', $group->Get('Name'));
+ $objSession->SetVariable('user_admin_names', $group->Get('Name'));
$objSession->SetVariable('user_admin_values', $group->Get('GroupId'));
$objSession->SetVariable('grouplist1', $_POST['grouplist1']);
- }
-
+ }
+
// Set Import User Group
if( GetVar('grouplist2', true) )
- {
+ {
$group_id = $_POST['grouplist2'];
$group = $objGroups->GetItemByField('ResourceId', $group_id);
- $objSession->SetVariable('user_regular_names', $group->Get('Name'));
+ $objSession->SetVariable('user_regular_names', $group->Get('Name'));
$objSession->SetVariable('user_regular_values', $group->Get('GroupId'));
$objSession->SetVariable('grouplist2', $_POST['grouplist2']);
}
break;
-
- case "m_add_user":
+
+ case "m_add_user":
$dupe_user = '';
//$user_pending = (int)$_POST["user_pending"];
//$user_enabled = (int)$_POST["user_enabled"];
- $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat());
+ $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat());
$CreatedOn += SecondsSinceMidnight($_POST["user_time"]);
-
+
$dob = DateTimestamp($_POST["user_dob"],GetDateFormat());
-
+
$objEditItems = new clsUserManager();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalUser");
@@ -95,26 +95,26 @@
$id = 1;
else
$id = $objUsers->GetUserId($_POST["user_login"]);
- }
+ }
else
$dob = 0;
-
+
if(!empty($id))
{
$lvErrorString = language('la_error_duplicate_username');
$dupe_user = $_POST["user_login"];
$_POST["user_login"] = '';
}
else
- {
+ {
$password = md5($_POST["password"]);
$u = $objEditItems->Add_User($_POST["user_login"], $password,
- $_POST["user_email"], $CreatedOn, $_POST["user_firstname"],
- $_POST["user_lastname"], $_POST["status"],
- $_POST["user_phone"],
- $_POST["user_street"], $_POST["user_city"],
+ $_POST["user_email"], $CreatedOn, $_POST["user_firstname"],
+ $_POST["user_lastname"], $_POST["status"],
+ $_POST["user_phone"],
+ $_POST["user_street"], $_POST["user_city"],
$_POST["user_state"], $_POST["user_zip"], $_POST["user_country"], $dob);
-
+
$objCustomEdit = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData"));
$objCustomEdit->SetTable('edit');
$objCustomEdit->LoadResource($u->Get("ResourceId"));
@@ -126,24 +126,24 @@
{
$field = substr($key,1);
$cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE);
-
+
if(is_object($cvalue))
{
$objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$u->Get("ResourceId"),$value);
$DataChanged = TRUE;
}
}
- }
- if($DataChanged)
+ }
+ if($DataChanged)
$objCustomEdit->SaveData();
-
+
$objCustomEdit->SetTable('live');
}
-
+
break;
-
+
case "m_edit_user":
- //$CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat());
+ //$CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat());
//$CreatedOn += SecondsSinceMidnight($_POST["user_time"]);
$dob = DateTimestamp($_POST["user_dob"],GetDateFormat());
$objEditItems = new clsUserManager();
@@ -156,32 +156,32 @@
$dob = 0;
if(strlen($_POST["password"]))
{
- $password = md5($_POST["password"]);
- }
+ $password = md5($_POST["password"]);
+ }
else
$password = "";
$u = $objEditItems->Edit_User($UserId, $_POST["user_login"], $password,
- $_POST["user_email"], $CreatedOn, $_POST["user_firstname"],
- $_POST["user_lastname"], $_POST["status"],
- $_POST["user_phone"],
- $_POST["user_street"], $_POST["user_city"],
+ $_POST["user_email"], $CreatedOn, $_POST["user_firstname"],
+ $_POST["user_lastname"], $_POST["status"],
+ $_POST["user_phone"],
+ $_POST["user_street"], $_POST["user_city"],
$_POST["user_state"], $_POST["user_zip"], $_POST["user_country"],
$dob);
-
+
$objCustomEdit = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData"));
$objCustomEdit->SetTable('edit');
$DataChanged = false;
-
+
$objCustomEdit->LoadResource($u->Get("ResourceId"));
$CustomFields = new clsCustomFieldList(6);
-
+
foreach($_POST as $key=>$value)
{
if(substr($key,0,1)=="_")
{
$field = substr($key,1);
$cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE);
-
+
if(is_object($cvalue))
{
//echo "Saving CF: (".$cvalue->Get("CustomFieldId")." ; ".$u->Get("ResourceId")." ; $value)
";
@@ -190,43 +190,43 @@
}
}
}
-
+
if($DataChanged)
$objCustomEdit->SaveData();
$objCustomEdit->SetTable('live');
break;
-
- case "m_user_primarygroup":
+
+ case "m_user_primarygroup":
if($ro_perm) break;
$users = explode(',', $_POST["userlist"]);
$GroupResourceId = $_POST['grouplist'];
$g = $objGroups->GetItemByField("ResourceId", $GroupResourceId);
$GroupId = $g->UniqueId();
-
+
if( is_array($users) )
foreach($users as $user_id)
{
$u = $objUsers->GetItemByField("ResourceId", $user_id);
$g->AddUser($u->Get("PortalUserId"),1,false);
}
break;
-
- case "m_edit_group":
+
+ case "m_edit_group":
$objEditItems = new clsGroupList();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalGroup");
$objEditItems->Edit_Group($_POST["group_id"], $_POST["group_name"],$_POST["group_comments"]);
break;
-
-
+
+
case 'm_group_edit': // when editing user membership in group
$membership_expires = DateTimestamp( $_POST['membership_expires_date'], GetDateFormat() );
$membership_expires += SecondsSinceMidnight( $_POST['membership_expires_time'] );
-
+
$objEditItems = new clsUserGroupList();
$objEditItems->SourceTable = $objSession->GetEditTable('UserGroup');
$objEditItems->Edit_UserGroup($_POST['GroupId'], $_POST['PortalUserId'], $membership_expires);
break;
-
+
case "m_add_group":
$objEditItems = new clsGroupList();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalGroup");
@@ -245,7 +245,7 @@
$g = $objEditItems->GetItemByField("ResourceId",$GroupId);
if(is_object($g))
{
-
+
$PermList = explode(",",$_POST["PermList"]);
for($i=0;$iGetPersonalGroup(TRUE);
- $value = 0;
+ $value = 0;
if(is_array($_POST["permvalue"]))
{
if(in_array($PermList[$i],$_POST["permvalue"]))
@@ -310,7 +310,7 @@
}
}
break;
-
+
case "m_approve_user":
if($ro_perm) break;
foreach($_POST["itemlist"] as $userid)
@@ -330,53 +330,53 @@
}
$objUsers->Clear();
break;
-
+
case "m_delete_user":
if($ro_perm) break;
foreach($_POST["itemlist"] as $userid)
$objUsers->Delete_User($userid);
break;
-
+
case "m_delete_group":
if($ro_perm) break;
foreach($_POST["itemlist"] as $groupid)
- {
+ {
$objGroups->Delete_Group($groupid);
}
break;
-
+
case "m_user_assign": // not sure if action is used anywhere
if($ro_perm) break;
$useridlist = implode("-", $userlist);
$objSession->SetUserStatus($useridlist, "g_usergroup_status");
$g_usergroup_status = $useridlist;
break;
-
+
case "m_group_assign": // not sure if action is used anywhere
if($ro_perm) break;
foreach($grouplist as $group) $objGroups->Add_Users_To_Group($group);
break;
-
+
case "m_remove_group":
if($ro_perm) break;
$adodbConnection = &GetADODBConnection();
$adodbConnection->Execute("DELETE FROM UserGroup where UserId='$UserId' AND GroupId='$GroupId'");
break;
- case "m_SetVariable":
+ case "m_SetVariable":
$objSession->SetPersistantVariable($_POST["fieldname"], $_POST["varvalue"]);
break;
-
+
case "m_SetSessionVariable":
$objSession->SetVariable($_POST["fieldname"], $_POST["varvalue"]);
//echo "Setting $fieldname to $varvalue
\n";
if($_POST["fieldname"]=="SearchType")
$objSession->SetVariable("SearchWord","");
break;
-
- case "m_edit_permissions":
+
+ case "m_edit_permissions":
if($ro_perm) break;
-
+
if($_POST["CatEditStatus"] != -1)
{
$objSession->SetVariable('PermCache_UpdateRequired', 1);
@@ -393,18 +393,18 @@
$PermNames[] = $data["PermissionName"];
$rs->MoveNext();
}
-
+
$inherit = array();
if(is_array($_POST["inherit"]))
- {
+ {
foreach($_POST["inherit"] as $perm)
{
$inherit[$perm] = 1;
}
}
$access = array();
if(is_array($_POST["permvalue"]))
- {
+ {
foreach($_POST["permvalue"] as $perm)
{
$access[$perm] = 1;
@@ -414,12 +414,12 @@
$objPermList->LoadCategory($CatId);
for($i=0;$iGetPermByName($PermNames[$i]);
+
+ $Perm = $objPermList->GetPermByName($PermNames[$i]);
if($Perm)
{
$Id = $Perm->Get("PermissionId");
@@ -433,7 +433,7 @@
}
}
else
- {
+ {
$Perm = $objPermList->GetPermByName($PermNames[$i]);
if($Perm)
{
@@ -448,7 +448,7 @@
//$c->SetViewPerms("CATEGORY.VIEW",$ViewList,$glist);
//$c->Update();
}
- break;
+ break;
case "m_perm_delete_group":
if($ro_perm) break;
$ado = &GetADODBConnection();
@@ -457,16 +457,16 @@
{
$g = $objGroups->GetItemByField("ResourceId",$groupid);
if(is_object($g))
- {
+ {
$sql = "DELETE FROM ".GetTablePrefix()."Permissions WHERE CatId=$CatId AND GroupId=".$g->Get("GroupId");
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $ado->Execute($sql);
+ $ado->Execute($sql);
}
}
break;
- case "m_user_addto_group":
+ case "m_user_addto_group":
if($ro_perm) break;
$objSession->SetVariable("HasChanges", 1);
$user = $_POST["UserId"];
@@ -491,8 +491,8 @@
}
}
break;
-
- case "m_group_add_user":
+
+ case "m_group_add_user":
if($ro_perm) break;
$objSession->SetVariable("HasChanges", 1);
$group = $_POST["GroupId"];
@@ -524,13 +524,13 @@
$g->DeleteUser($u->Get("PortalUserId"));
}
//}
- break;
+ break;
case "m_user_removegroup":
if($ro_perm) break;
$objSession->SetVariable("HasChanges", 1);
$user = $_POST["UserId"];
//if($user>0)
- //{
+ //{
foreach($_POST["itemlist"] as $groupid)
{
$g = $objGroups->GetItem($groupid);
@@ -564,17 +564,17 @@
}/*switch*/
}
break;
-
+
// not used anywhere
/* case "m_item_recount":
if($ro_perm) break;
RunDown($m_var_list["cat"],"UpdateCacheCounts");
break; */
-
- case "m_cat_delete":
- if($ro_perm) break;
+
+ case "m_cat_delete":
+ if($ro_perm) break;
if($objSession->HasCatPermission("CATEGORY.DELETE",$objCatList->CurrentCategoryID()))
- {
+ {
if(isset($_POST["catlist"]))
{
if(is_array($_POST["catlist"]))
@@ -587,9 +587,9 @@
}
break;
case "m_cat_cut":
- if($ro_perm) break;
+ if($ro_perm) break;
if(isset($_POST["catlist"]))
- {
+ {
if($objSession->HasCatPermission("CATEGORY.DELETE",$catid))
{
$objCatList->CopyToClipboard("CUT","CategoryId",$_POST["catlist"]);
@@ -598,17 +598,17 @@
$objCatList->CopyToClipboard("COPY","CategoryId",$_POST["catlist"]);
}
break;
-
+
case "m_cat_copy":
- if($ro_perm) break;
+ if($ro_perm) break;
if(isset($_POST["catlist"]))
{
$objCatList->CopyToClipboard("COPY","CategoryId",$_POST["catlist"]);
}
break;
case "m_paste":
- if($ro_perm) break;
+ if($ro_perm) break;
if($objCatList->ItemsOnClipboard()>0)
{
/* category's paste function populates a sparse array where array[old_id]=new_id */
@@ -625,21 +625,21 @@
}
}
break;
-
+
case "m_cat_move_up":
- if($ro_perm) break;
+ if($ro_perm) break;
if (isset($_POST["catlist"]))
- {
+ {
foreach($_POST["catlist"] as $catid)
{
$cat =& $objCatList->GetCategory($catid);
$cat->MoveUp();
}
}
break;
-
+
case "m_cat_move_down":
- if($ro_perm) break;
+ if($ro_perm) break;
if (isset($_POST["catlist"]))
{
$catlist=array_reverse($_POST["catlist"]);
@@ -672,7 +672,7 @@
RunDown($catid,"Deny");
}
}
- break;
+ break;
case "m_rel_delete":
$adodbConnection= &GetADODBConnection();
@@ -708,16 +708,16 @@
$NewId = intval($ado->GetOne('SELECT MIN(RelationshipId) as MinValue FROM '.$RelList->SourceTable));
if($NewId > 0) $NewId = 0;
$NewId--;
-
+
$priority = (int)GetVar('priority');
$r = $RelList->Add($_POST["SourceId"],$_POST["SourceType"],$_POST["TargetId"],$_POST["TargetType"],
- $priority,(int)$_POST["Enabled"],$_POST["RelType"], $NewId);
-
- $sql = "UPDATE ".$RelList->SourceTable." SET RelationshipId=".$NewId." WHERE RelationshipId=".$r->Get("RelationshipId");
+ $priority,(int)$_POST["Enabled"],$_POST["RelType"], $NewId);
+
+ $sql = "UPDATE ".$RelList->SourceTable." SET RelationshipId=".$NewId." WHERE RelationshipId=".$r->Get("RelationshipId");
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
$ado->Execute($sql);
-
+
break;
case "m_edit_relation":
if($_POST["CatEditStatus"]==0)
@@ -739,7 +739,7 @@
$objRelList = new clsRelationshipList();
$objRelList->SourceTable = $objSession->GetEditTable("Relationship");
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$r = $objRelList->GetItem($id);
@@ -764,7 +764,7 @@
case "m_add_category":
if(ValidDate($_POST["cat_date"],GetDateFormat()))
- {
+ {
$CreatedOn = DateTimestamp($_POST["cat_date"],GetDateFormat());
}
else
@@ -774,13 +774,13 @@
$cat_pick = $_POST["cat_pick"];
$Status = (int)$_POST["status"];
$Hot=(int)$_POST["itemhot"];
- $Pop = (int)$_POST["itempop"];
+ $Pop = (int)$_POST["itempop"];
$New = (int)$_POST["itemnew"];
$objEditItems = new clsCatList();
$objEditItems->SourceTable = $objSession->GetEditTable("Category");
- $cat = $objEditItems->Add($_POST["ParentId"], $_POST["cat_name"], inp_escape($_POST["cat_desc"],$html), $CreatedOn,
- $cat_pick, $Status, $Hot, $New, $Pop, $_POST["Priority"],
+ $cat = $objEditItems->Add($_POST["ParentId"], $_POST["cat_name"], inp_escape($_POST["cat_desc"],$html), $CreatedOn,
+ $cat_pick, $Status, $Hot, $New, $Pop, $_POST["Priority"],
$_POST["meta_keywords"],$_POST["meta_desc"], GetVar('auto_filename'), GetVar('filename') );
$objCustomEdit = new clsCustomDataList($objSession->GetEditTable("CustomMetaData"));
$objCustomEdit->LoadResource($cat->Get("ResourceId"));
@@ -792,37 +792,37 @@
{
$field = substr($key,1);
$cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE);
-
+
if(is_object($cvalue))
{
$objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$cat->Get("ResourceId"),$value);
$DataChanged = TRUE;
}
}
- }
+ }
if($DataChanged)
- $objCustomEdit->SaveData();
-
- break;
+ $objCustomEdit->SaveData();
- case "m_edit_category":
+ break;
+
+ case "m_edit_category":
$CreatedOn = DateTimestamp($_POST["cat_date"],GetDateFormat());
$cat_pick = GetVar('cat_pick', true);
$Status = (int)$_POST["status"];
$Hot = false; //(int)$_POST["itemhot"];
- $Pop = false; //(int)$_POST["itempop"];
+ $Pop = false; //(int)$_POST["itempop"];
$New = (int)$_POST["itemnew"];
$html = (int)$_POST["html_enable"];
$objEditItems = new clsCatList();
$objEditItems->SourceTable = $objSession->GetEditTable("Category");
-
+
// check if name of cat isn't changed: begin
if( GetVar('CategoryId') > 0 )
{
$original_cats = new clsCatList();
$original_cat = $original_cats->GetItemByField('CategoryId', GetVar('CategoryId'));
-
+
$match_fields = Array('Name' => 'cat_name', 'Filename' => 'filename');
foreach ($match_fields as $db_field => $submit_field)
{
@@ -832,17 +832,17 @@
break;
}
}
-
+
unset($original_cat, $original_cats);
}
else
{
$objSession->SetVariable('PermCache_UpdateRequired', 1);
}
// check if name of cat isn't changed: end
-
+
$cat = $objEditItems->Edit_Category($_POST["CategoryId"],inp_escape($_POST["cat_name"],$html), inp_escape($_POST["cat_desc"],$html), $CreatedOn, $cat_pick, $Status, $Hot, $New, $Pop, $_POST["Priority"], $_POST["meta_keywords"], $_POST["meta_desc"], GetVar('auto_filename'), GetVar('filename') );
-
+
$objCustomEdit = new clsCustomDataList($objSession->GetEditTable("CustomMetaData"));
$objCustomEdit->LoadResource($cat->Get("ResourceId"));
$CustomFields = new clsCustomFieldList(1);
@@ -853,20 +853,20 @@
{
$field = substr($key,1);
$cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE);
-
+
if(is_object($cvalue))
{
$objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$cat->Get("ResourceId"),$value);
$DataChanged = TRUE;
}
}
- }
+ }
if($DataChanged)
- $objCustomEdit->SaveData();
-
+ $objCustomEdit->SaveData();
+
break;
case "m_edit_custom_data":
- $id = $_POST["ItemId"];
+ $id = $_POST["ItemId"];
$objCustomEdit = new clsCustomDataList($objSession->GetEditTable("CustomMetaData"));
$objCustomEdit->LoadResource($id);
@@ -878,31 +878,31 @@
{
$field = substr($key,1);
$cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE);
-
+
if(is_object($cvalue))
{
$objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$id,$value);
$DataChanged = TRUE;
}
}
- }
+ }
if($DataChanged)
- $objCustomEdit->SaveData();
-/*
- $id = $_POST["ItemId"];
- $objEditData = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData"));
+ $objCustomEdit->SaveData();
+/*
+ $id = $_POST["ItemId"];
+ $objEditData = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData"));
$objEditData->SetTable('edit');
$ado = &GetADODBConnection();
if($id && is_array($_POST["CustomData"]))
{
foreach($_POST["CustomData"] as $FieldId => $Value)
- {
+ {
$sql = "SELECT count(*) as reccount FROM ".$objEditData->SourceTable." WHERE CustomFieldId=$FieldId AND ResourceId=".$_POST["ItemId"];
- $rs = $ado->Execute($sql);
+ $rs = $ado->Execute($sql);
$intable = $rs->fields["reccount"];
if(!$intable)
- {
+ {
$sql = "INSERT INTO ".$objEditData->SourceTable." (ResourceId,CustomFieldId,Value) VALUES ('".$id."','$FieldId','$Value')";
$ado->Execute($sql);
//echo $sql."
\n";
@@ -913,7 +913,7 @@
$ado->Execute($sql);
//echo $sql."
\n";
}
- }
+ }
}
$objEditData->SetTable('live');
*/
@@ -925,7 +925,7 @@
$FieldName = $_POST["fieldname"];
//$FieldLabel = $_POST["fieldlabel"];
if(strlen($FieldName))
- {
+ {
$objCustomFields = new clsCustomFieldList($DataType);
$objCustomFields->EditField($FieldId,$DataType,$FieldName,"",(int)$_POST["generaltab"],
$_POST["heading"],$_POST["fieldprompt"],$_POST["input_type"],
@@ -935,7 +935,7 @@
break;
case "m_customfield_add":
if($ro_perm) break;
- $DataType = $_POST["DataType"];
+ $DataType = $_POST["DataType"];
$FieldName = $_POST["fieldname"];
//$FieldLabel = $_POST["fieldlabel"];
if(strlen($FieldName))
@@ -949,7 +949,7 @@
break;
case "m_customfield_delete":
if($ro_perm) break;
- $DataType = $_POST["DataType"];
+ $DataType = $_POST["DataType"];
$objCustomFields = new clsCustomFieldList($DataType);
foreach($_POST["itemlist"] as $f)
@@ -971,7 +971,7 @@
foreach($objSearchConfig->Items as $i)
{
$id = $i->Get("SearchConfigId");
- $objSearchConfig->EditFieldSettings($id,(int)$SimpleValues[$id],(int)$AdvValues[$id],$priority[$id]);
+ $objSearchConfig->EditFieldSettings($id,(int)$SimpleValues[$id],(int)$AdvValues[$id],$priority[$id]);
}
$objSearchConfig->Clear();
/* save relevence settings */
@@ -999,7 +999,7 @@
$cfg = "SearchRel_Rating_".$var;
$objConfig->Set($cfg,$value);
}
-
+
$vals = $_POST["multiple"];
if (count($vals) > 0) {
@@ -1013,11 +1013,11 @@
$cfg = "Search_ShowMultiple_".$_POST['cfg_var'];
$objConfig->Set($cfg, 0);
}
-
+
if (isset($_POST['minkeyword'])) {
$objConfig->Set("Search_MinKeyword_Length", $_POST['minkeyword']);
}
-
+
$objConfig->Save();
break;
case "m_keyword_reset":
@@ -1029,14 +1029,14 @@
$c->Delete();
}
break;
-
+
case 'm_clear_searchlog':
$objSearchList = new clsSearchLogList();
$db =& GetADODBConnection();
$db->Execute('DELETE FROM '.$objSearchList->SourceTable );
break;
-
- case "m_review_add":
+
+ case "m_review_add":
$post_info = GetSubmitVariable($_POST, 'EditStatus');
if($post_info['variable'] > -1)
{
@@ -1045,19 +1045,19 @@
$Pending = (int)$_POST["review_pending"];
$Enabled = (int)$_POST["review_enabled"];
$Status = (int)$_POST["status"];
- $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat());
+ $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat());
$CreatedOn += SecondsSinceMidnight($_POST["review_time"]);
- $html = (int)$_POST["html_enable"];
+ $html = (int)$_POST["html_enable"];
$ReviewText = inp_escape($_POST["review_body"],1);
-
+
$CreatedById = 0;
if(strlen($_POST["createdby"])>0)
{
if(strtolower($_POST["createdby"])=="root")
{
$CreatedById = -1;
}
- else
+ else
{
$u = $objUsers->GetItemByField("Login",$_POST["createdby"]);
if(is_object($u))
@@ -1074,10 +1074,10 @@
}
else
$CreatedById = $objSession->Get("PortalUserId");
-
- $r = $objReviews->AddReview($CreatedOn,$ReviewText,$Status, $IPAddress,
+
+ $r = $objReviews->AddReview($CreatedOn,$ReviewText,$Status, $IPAddress,
(int)$_POST["review_priority"], $_POST["ItemId"],$_POST["ItemType"],
- $CreatedById,$html, $post_info['Module']);
+ $CreatedById,$html, $post_info['Module']);
$ado = &GetADODBConnection();
$rs = $ado->Execute("SELECT MIN(ReviewId) as MinValue FROM ".$objReviews->SourceTable);
$NewId = $rs->fields["MinValue"]-1;
@@ -1087,27 +1087,27 @@
$ado->Execute($sql);
}
break;
- case "m_review_edit":
+ case "m_review_edit":
case 'm_review_direct_edit';
$post_info = GetSubmitVariable($_POST, 'EditStatus');
if($post_info['variable'] > -1)
{
$objReviews = new clsItemReviewList();
$objReviews->SourceTable = $objSession->GetEditTable("ItemReview");
$Status = (int)$_POST["status"];
- $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat());
+ $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat());
$CreatedOn += SecondsSinceMidnight($_POST["review_time"]);
$html = (int)$_POST["html_enable"];
$ReviewText = inp_escape($_POST["review_body"],1);
- $ReviewId = $_POST["ReviewId"];
+ $ReviewId = $_POST["ReviewId"];
$CreatedById = 0;
if(strlen($_POST["createdby"])>0)
{
if(strtolower($_POST["createdby"])=="root")
{
$CreatedById = -1;
}
- else
+ else
{
$u = $objUsers->GetItemByField("Login",$_POST["createdby"]);
if(is_object($u))
@@ -1121,35 +1121,35 @@
else
$CreatedById = $objSession->Get("PortalUserId");
}
- }
- $r = $objReviews->EditReview($ReviewId,$CreatedOn,$ReviewText,$Status, $IPAddress,
+ }
+ $r = $objReviews->EditReview($ReviewId,$CreatedOn,$ReviewText,$Status, $IPAddress,
(int)$_POST["review_priority"],$_POST["ItemId"],$_POST["ItemType"],
- $CreatedById,$html);
+ $CreatedById,$html);
}
break;
-
-
-
-
+
+
+
+
case "m_review_delete":
$objReviews = new clsItemReviewList();
$objReviews->SourceTable = $objSession->GetEditTable("ItemReview");
foreach($_POST["itemlist"] as $id)
{
$objReviews->DeleteReview($id);
- }
+ }
break;
-
-
+
+
case 'm_review_direct_delete':
$objReviews = new clsItemReviewList();
foreach($_POST['reviewlist'] as $id)
{
$objReviews->DeleteReview($id);
}
break;
-
-
+
+
case "m_review_approve":
if (isset($_POST["itemlist"]))
{
@@ -1163,7 +1163,7 @@
}
}
break;
-
+
case 'm_review_direct_approve':
if(isset($_POST["reviewlist"]))
{
@@ -1175,11 +1175,11 @@
$i->Update();
}
}
- break;
-
-
-
-
+ break;
+
+
+
+
case "m_review_deny":
if (isset($_POST["itemlist"]))
{
@@ -1206,14 +1206,14 @@
}
}
break;
-
-
-
-
-
+
+
+
+
+
case "m_review_move_up":
if (isset($_POST["itemlist"]))
- {
+ {
$objReviews = new clsItemReviewList();
$objReviews->SourceTable = $objSession->GetEditTable("ItemReview");
foreach($_POST["itemlist"] as $id)
@@ -1236,23 +1236,23 @@
}
}
break;
-
+
case 'm_themes_rescan':
$objThemes->CreateMissingThemes();
if (!$objThemes->Items)
{
$objThemes->Query_Item('SELECT * FROM '.$objThemes->SourceTable);
}
-
+
$keys = array_keys($objThemes->Items);
foreach ($keys as $theme_index)
{
$theme =& $objThemes->Items[$theme_index];
$theme->VerifyTemplates();
}
-
+
break;
-
+
case "m_theme_add":
$ado = &GetADODBConnection();
$rs = $ado->Execute("SELECT COUNT(*) as c FROM ".GetTablePrefix().'Theme WHERE Name="'.$_POST["name"].'"');
@@ -1266,7 +1266,7 @@
$t = $objEditItems->AddTheme($_POST["name"],$_POST["description"],(int)$_POST["enabled"],$Primary,
(int)$_POST["CacheTimeout"],GetVar('StylesheetId'));
$t->Files->ThemeId=$t->Get("ThemeId");
-
+
$rs = $ado->Execute("SELECT MIN(ThemeId) as MinValue FROM ".$objEditItems->SourceTable);
$NewId = $rs->fields["MinValue"]-1;
$sql = "UPDATE ".$objEditItems->SourceTable." SET ThemeId=".$NewId." WHERE ThemeId=".$t->Get("ThemeId");
@@ -1276,25 +1276,25 @@
// $t->Files->FindMissingFiles(strtolower($t->Get('name')));
}
break;
- case "m_theme_edit":
+ case "m_theme_edit":
$objEditItems = new clsThemeList();
$objEditItems->SourceTable = $objSession->GetEditTable("Theme");
$Primary = (int)$_POST["primary"];
if(!(int)$_POST["enabled"])
- $Primary = 0;
-
+ $Primary = 0;
+
$objEditItems->EditTheme($_POST["ThemeId"],$_POST["name"],$_POST["description"],
(int)$_POST["enabled"],$Primary,(int)$_POST["CacheTimeout"], GetVar('StylesheetId'));
-// if ($Primary==1)
+// if ($Primary==1)
// {
// $objEditItems->SetPrimaryTheme($_POST["ThemeId"]);
// }
-
+
break;
case "m_theme_delete":
- if($ro_perm) break;
+ if($ro_perm) break;
if (isset($_POST["itemlist"]))
- {
+ {
$Themes = new clsThemeList();
foreach($_POST["itemlist"] as $id)
{
@@ -1311,27 +1311,27 @@
$t->SetPrimaryTheme($ThemeId);
}
break;
-
+
case "m_template_edit":
if($ro_perm) break;
$objSession->SetVariable("HasChanges", 1);
$ThemeId = $_POST["ThemeId"];
$FileId = $_POST["FileId"];
$f = new clsThemeFile($FileId);
-
+
$f->Set("Description", $_POST["Description"] );
$f->Update();
$c = stripslashes($_POST["contents"]);
$f->SaveFileContents($c);
- break;
+ break;
case "m_template_add":
if($ro_perm) break;
$objSession->SetVariable("HasChanges", 1);
$ThemeId = $_POST["ThemeId"];
if( !is_object($f) ) $f = new clsThemeFile();
-
+
$FilePath = $_POST['name'];
-
+
if(!$FilePath)
{
$f->SetError('Template Name is required',3);
@@ -1343,18 +1343,18 @@
if( substr($FilePath,-3) != '.tpl' ) $FilePath .= '.tpl';
$FileName = basename($FilePath);
$FilePath = dirname($FilePath);
-
+
// test if such file not already created
-
- $f->LoadFromDataBase( Array($FilePath,$FileName), Array('FilePath','FileName') );
+
+ $f->LoadFromDataBase( Array($FilePath,$FileName), Array('FilePath','FileName') );
if( !$f->Get('FileId') )
{
$f->Set( Array('FilePath','FileName','ThemeId', 'Description'),
Array($FilePath, $FileName,$_POST['ThemeId'], $_POST["Description"])
);
-
+
if( $f->IsWriteablePath(true) )
- {
+ {
$f->Create();
$c = stripslashes($_POST["contents"]);
$f->SaveFileContents($c, true);
@@ -1369,17 +1369,17 @@
$objSession->SetVariable("HasChanges", 1);
$dummy = new clsThemeFile();
foreach($_POST["itemlist"] as $FileId)
- {
+ {
$dummy->LoadFromDatabase($FileId);
$dummy->Delete();
- }
+ }
break;
-
- case "m_lang_add":
+
+ case "m_lang_add":
$ado = &GetADODBConnection();
$objEditItems = new clsLanguageList();
- $objEditItems->SourceTable = $objSession->GetEditTable("Language");
-
+ $objEditItems->SourceTable = $objSession->GetEditTable("Language");
+
$l = $objEditItems->AddLanguage($_POST["packname"],$_POST["localname"],
(int)$_POST["enabled"],(int)$_POST["primary"],
$_POST["icon"],$_POST["date_format"],$_POST["time_format"],
@@ -1390,16 +1390,16 @@
$sql = "UPDATE ".$objEditItems->SourceTable." SET LanguageId=".$NewId." WHERE LanguageId=".$l->Get("LanguageId");
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $ado->Execute($sql);
+ $ado->Execute($sql);
if($_POST["importlabels"]==1 && $_POST["srcpack"]>0)
- {
+ {
// Phrase import
/*
$sql = "SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$_POST["srcpack"];
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $rs = $ado->Execute($sql);
+ $rs = $ado->Execute($sql);
$plist = new clsPhraseList();
$plist->SourceTable = $objSession->GetEditTable("Phrase");
$sql = "SELECT MIN(PhraseId) as MinId FROM ".$plist->SourceTable;
@@ -1420,52 +1420,52 @@
$MinId--;
$rs->MoveNext();
}
-*/
+*/
$sql='INSERT INTO '.$objSession->GetEditTable('Phrase').' SELECT Phrase, Translation, PhraseType, 0-PhraseId, '.$NewId.' FROM '.GetTablePrefix().'Phrase WHERE LanguageId='.$_POST['srcpack'];
$ado->Execute($sql);
// Events import
$sql = "SELECT * FROM ".GetTablePrefix()."EmailMessage WHERE LanguageId=".$_POST["srcpack"];
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $rs = $ado->Execute($sql);
-
+ $rs = $ado->Execute($sql);
+
$eList = new clsEmailMessageList();
//$eList->SourceTable = $objSession->GetEditTable("EmailMessage");
-
+
if (!$l->TableExists($objSession->GetEditTable("EmailMessage"))) {
$eList->CreateEmptyEditTable("EmailMessageId", true);
$eList->SourceTable = $objSession->GetEditTable("EmailMessage");
}
else {
$eList->SourceTable = $objSession->GetEditTable("EmailMessage");
}
-
+
$sql = "SELECT MIN(EmailMessageId) as MinId FROM ".$eList->SourceTable;
$as = $ado->Execute($sql);
-
+
if($as && !$as->EOF)
{
$MinId = (int)$as->fields["MinId"];
}
else {
$MinId = 0;
}
-
+
$MinId--;
while($rs && !$rs->EOF)
{
$data = $rs->fields;
$eList->AddEmailEvent($data["Template"], $data["MessageType"], $NewId, $data["EventId"]);
-
+
$sql = "UPDATE ".$eList->SourceTable." SET EmailMessageId=$MinId WHERE EmailMessageId=0 LIMIT 1";
$ado->Execute($sql);
-
+
$MinId--;
-
+
$rs->MoveNext();
- }
+ }
}
break;
case "m_lang_export":
@@ -1483,20 +1483,20 @@
$ExportResult = $objLanguages->ExportPhrases($ExportFilename,$Ids, $phrase_types);
}
break;
-
+
case "m_lang_edit":
$ado = &GetADODBConnection();
$objEditItems = new clsLanguageList();
$objEditItems->SourceTable = $objSession->GetEditTable("Language");
-
+
$objEditItems->EditLanguage($_POST["LanguageId"],$_POST["packname"],
$_POST["localname"],(int)GetVar('enabled'),
(int)GetVar('primary'), $_POST["icon"],$_POST["date_format"],
$_POST["time_format"], $_POST["decimal"],$_POST["thousand"],
$_POST['charset']);
-
+
if( GetVar('importlabels') && $_POST["srcpack"]>0)
- {
+ {
$rs = $ado->Execute("SELECT * FROM ".GetTablePrefix()."Phrase WHERE LanguageId=".$_POST["srcpack"]);
$plist = new clsPhraseList();
$plist->SourceTable = $objSession->GetEditTable("Phrase");
@@ -1508,7 +1508,7 @@
}
else
$MinId = 0;
- $MinId--;
+ $MinId--;
while($rs && !$rs->EOF)
{
$data = $rs->fields;
@@ -1519,14 +1519,14 @@
$rs->MoveNext();
}
unset($plist);
-
+
// Events import
$sql = "SELECT * FROM ".GetTablePrefix()."EmailMessage WHERE LanguageId=".$_POST["srcpack"];
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $rs = $ado->Execute($sql);
-
+ $rs = $ado->Execute($sql);
+
$eList = new clsEmailMessageList();
//$eList->SourceTable = $objSession->GetEditTable("EmailMessage");
$l = new clsEmailMessage();
@@ -1537,30 +1537,30 @@
else {
$eList->SourceTable = $objSession->GetEditTable("EmailMessage");
}
-
+
$sql = "SELECT MIN(EmailMessageId) as MinId FROM ".$eList->SourceTable;
$as = $ado->Execute($sql);
-
+
if($as && !$as->EOF)
{
$MinId = (int)$as->fields["MinId"];
}
else {
$MinId = 0;
}
-
+
$MinId--;
-
+
while($rs && !$rs->EOF)
{
$data = $rs->fields;
$eList->AddEmailEvent($data["Template"], $data["MessageType"], $_POST["LanguageId"], $data["EventId"]);
-
+
$sql = "UPDATE ".$eList->SourceTable." SET EmailMessageId=$MinId WHERE EmailMessageId=0 LIMIT 1";
$ado->Execute($sql);
-
+
$MinId--;
-
+
$rs->MoveNext();
}
unset($eList);
@@ -1583,10 +1583,10 @@
unset($Messages);
}
break;
-
+
case "m_lang_select":
- if($ro_perm) break;
- $LangId = (int)$_POST["langselect"];
+ if($ro_perm) break;
+ $LangId = (int)$_POST["langselect"];
if($LangId)
{
if($objSession->Get("PortalUserId")>0)
@@ -1599,33 +1599,33 @@
$m_var_list_update["lang"] = $LangId;
$m_var_list["lang"] = $LangId;
}
- break;
-
- case "m_phrase_edit":
- if( !GetVar('direct') ) $objSession->SetVariable("HasChanges", 1);
+ break;
+
+ case "m_phrase_edit":
+ if( !GetVar('direct') ) $objSession->SetVariable("HasChanges", 1);
$objPhraseList = new clsPhraseList();
- if((int)$_POST["direct"] != 1)
+ if((int)$_POST["direct"] != 1)
$objPhraseList->SourceTable = $objSession->GetEditTable("Phrase");
$Phrases = $_POST["name"];
foreach($Phrases as $PhraseId =>$name)
{
if($PhraseId>0)
- {
+ {
$objPhraseList->EditPhrase($PhraseId,$_POST["name"][$PhraseId],$_POST["LanguageId"],$_POST["translation"][$PhraseId],$_POST["phrasetype"][$PhraseId]);
}
}
-
+
if(strlen($_POST["name"][0]) && strlen($_POST["translation"][0]) && $_POST['Action1'] == "new")
{
- $r = $objPhraseList->AddPhrase($_POST["name"][0],$_POST["LanguageId"],$_POST["translation"][0],$_POST["phrasetype"][0]);
+ $r = $objPhraseList->AddPhrase($_POST["name"][0],$_POST["LanguageId"],$_POST["translation"][0],$_POST["phrasetype"][0]);
if ($r != "Error") {
$ado = &GetADODBConnection();
$rs = $ado->Execute("SELECT MIN(PhraseId) as MinValue FROM ".$objPhraseList->SourceTable);
$NewId = $rs->fields["MinValue"]-1;
$sql = "UPDATE ".$objPhraseList->SourceTable." SET PhraseId=".$NewId." WHERE PhraseId=$PhraseId";
if($objSession->HasSystemPermission("DEBUG.LIST"))
echo $sql."
\n";
- $ado->Execute($sql);
+ $ado->Execute($sql);
}
else {
$add_error = "Language tag with the same name already exists!";
@@ -1648,10 +1648,10 @@
foreach($_POST["Phrase"] as $p => $value)
{
if(strlen($value))
- {
+ {
$obj = $objPhraseList->GetItemByField("Phrase",$p,TRUE);
if(is_object($obj))
- {
+ {
if($obj->Get("Phrase")==$p)
{
$obj->Set("Translation",$value);
@@ -1669,7 +1669,7 @@
case "m_phrase_delete":
$objSession->SetVariable("HasChanges", 1);
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$sql = "UPDATE ".$objSession->GetEditTable("Phrase")." SET LanguageId = 0 WHERE PhraseId = ".$id;
@@ -1683,7 +1683,7 @@
if($ro_perm) break;
$objEvents = new clsEventList();
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$m =& $objEvents->GetItem($id);
@@ -1697,7 +1697,7 @@
if($ro_perm) break;
$objEvents = new clsEventList();
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$m =& $objEvents->GetItem($id);
@@ -1711,7 +1711,7 @@
if($ro_perm) break;
$objEvents = new clsEventList();
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$m =& $objEvents->GetItem($id);
@@ -1720,7 +1720,7 @@
}
}
unset($objEvents);
- break;
+ break;
case "m_dlid":
echo $Action.":".$DownloadId;
die();
@@ -1735,8 +1735,8 @@
$ids = str_replace("]","",$ids);
$ids = str_replace("\"","",$ids);
$ids = str_replace("\\","",$ids);
-
-
+
+
$idlist = explode(",",$ids);
foreach($idlist as $EventId)
{
@@ -1748,13 +1748,13 @@
$objEvents->Clear();
unset($objEvents);
break;
- case "m_emailevent_edit":
+ case "m_emailevent_edit":
$Template = $_POST["headers"];
if(strlen($Template))
{
$Template .= "\n";
}
- $Template = str_replace("\n\n","",$Template);
+ $Template = str_replace("\n\n","",$Template);
$Template .= "Subject: "._unhtmlentities($_POST['subject'])."\n\n";
$Template .= $_POST["messageBody"];
$objMessages = new clsEmailMessageList();
@@ -1763,7 +1763,7 @@
if(is_object($m))
{
if($_POST["sendhtml"]==1)
- {
+ {
$m->Set("MessageType","html");
}
else
@@ -1786,12 +1786,12 @@
if($_POST["RootPass"]==$_POST["RootPassVerify"])
{
$_POST["RootPass"] = md5($_POST["RootPass"]);
- }
+ }
}
else
{
$_POST["RootPass"] = $objConfig->Get("RootPass");
- $_POST["RootPassVerify"] = $objConfig->Get("RootPassVerify");
+ $_POST["RootPassVerify"] = $objConfig->Get("RootPassVerify");
}
}
$objAdmin->LoadItems(FALSE);
@@ -1801,23 +1801,23 @@
case "m_mod_enable":
if($ro_perm) break;
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$m =& $objModules->GetItemByField("Name",$id);
if(is_object($m))
{
$m->Set("Loaded",1);
- $m->Update();
- }
+ $m->Update();
+ }
}
$_GET["Refresh"] = 1;
}
break;
case "m_mod_disable":
if($ro_perm) break;
if (isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
if($id != "In-Portal")
@@ -1826,7 +1826,7 @@
if(is_object($m))
{
$m->Set("Loaded",0);
- $m->Update();
+ $m->Update();
}
}
}
@@ -1840,12 +1840,12 @@
$LocalImage=0;
$LocalThumb=0;
$DestDir = "kernel/images/";
-
+
$UserThumbSource = (int)$_POST["imgLocalThumb"];
$LocalThumb = $UserThumbSource;
-
+
$thumb_url = !$LocalThumb? $_POST["imgThumbUrl"] : "";
-
+
if($_POST["imgSameImages"])
{
$LocalImage = $LocalThumb;
@@ -1862,27 +1862,27 @@
{
break;
}
-
+
$ado = &GetADODBConnection();
$NewId = $ado->GetOne('SELECT MIN(ImageId) as MinValue FROM '.$objImageList->SourceTable);
if($NewId > 0) $NewId = 0;
$NewId--;
$img = $objImageList->Add($_POST["imgName"], $_POST["imgAlt"], $_POST["ResourceId"], $LocalImage, $LocalThumb, $full_url, $thumb_url, (int)$_POST["imgEnabled"], 0, (int)$_POST["imgDefault"], 0,(int)$_POST["imgSameImages"], $NewId);
$img->Set("ImageId", $NewId);
-
+
// $img->debuglevel=1;
-
+
/*
$sql = "UPDATE ".$objImageList->SourceTable." SET ImageId=".$NewId." WHERE ImageId=0";
$ado->Execute($sql);
-
+
// $img->Update();
*/
// echo "SL: $sql $NewId
";
-
+
// $img->debuglevel=1;
-
- $img->Pending=false;
+
+ $img->Pending=false;
if($LocalImage)
{
$file = $_FILES["imgFullFile"];
@@ -1895,7 +1895,7 @@
}
}
}
-
+
if($LocalThumb)
{
$thumb = $_FILES["imgThumbFile"];
@@ -1907,115 +1907,115 @@
$uploaded=1;
}
}
- }
+ }
if($uploaded==1)
$img->Update();
-
+
break;
-
+
case "m_img_edit":
-
+
$objImageList = new clsImageList();
$objImageList->SourceTable = $objSession->GetEditTable("Images");
-
+
// $img->debuglevel=1;
-
+
$img = $objImageList->GetItem($_POST["ImageId"]);
## Get original values
$LocalImage = $img->Get("LocalImage");
$LocalThumb = $img->Get("LocalThumb");
$SameImages = $img->Get("SameImages");
$ThumbPath = $img->Get("ThumbPath");
-
+
## New values
$LocalThumbN = (int)$_POST["imgLocalThumb"];
$LocalImageN = (int)$_POST["imgLocalFull"];
-
+
$FULLFile = $_FILES["imgFullFile"];
- $THFile = $_FILES["imgThumbFile"];
-
+ $THFile = $_FILES["imgThumbFile"];
+
$DestDir = "kernel/images/";
$img->Pending = FALSE;
-
+
$SameImagesN = 0;
$uploaded = 0;
## Images were the same, but not any more
if ($SameImages && !$_POST["imgSameImages"])
- {
+ {
## TH was a local file
if ($LocalThumb)
{
## TH image
- {
+ {
## Try to Delete OLD FULL
$img->DeleteLocalImage(FALSE, TRUE);
-
- ## FULL image select, but field EMPTY - make a copy of old TH as FULL
+
+ ## FULL image select, but field EMPTY - make a copy of old TH as FULL
if ($LocalImageN && !(int)$FULLFile["size"])
- {
+ {
// echo $pathToPending = $img->GetImageDir();
if (!eregi("pending/$", $pathToPending))
- $pathToPending.= "pending/";
-
+ $pathToPending.= "pending/";
+
$LocalThumb_File = $img->GetFileName(1);
-
+
// echo "CAN'T FIND FILE: ".$pathToPending.$LocalThumb_File."
";
-
+
if (file_exists($pathToPending.$LocalThumb_File))
- {
- $LocalThumb_FileN = eregi_replace("^th_", "", $LocalThumb_File);
- $LocalThumb_FullFileN = $pathToPending.$LocalThumb_FileN;
+ {
+ $LocalThumb_FileN = eregi_replace("^th_", "", $LocalThumb_File);
+ $LocalThumb_FullFileN = $pathToPending.$LocalThumb_FileN;
@unlink($LocalThumb_FullFileN);
@copy($pathToPending.$LocalThumb_File, $LocalThumb_FullFileN);
-
+
$uploaded = 1;
$copied = 1;
// echo "COPING: ".$DestDir."pending/".$LocalThumb_FileN."
";
}
else
{
// echo "CAN'T FIND FILE: ".$pathToPending.$LocalThumb_File."
";
- }
+ }
}
## Upload new FULL image
elseif ($LocalImageN && (int)$FULLFile['size'])
{
$FULL_FileToUpload = $FULLFile;
- $FULL_URL = "";
-
-// echo " Upload new FULL image";
+ $FULL_URL = "";
+
+// echo " Upload new FULL image";
}
## Full is URL
elseif (!$LocalImageN)
{
$img->DeleteLocalImage(FALSE, TRUE);
- $FULL_URL = $_POST['imgFullUrl'];
- $FULL_FileToUpload = "";
+ $FULL_URL = $_POST['imgFullUrl'];
+ $FULL_FileToUpload = "";
}
else
{
// echo " ## Unknow condition";
}
-
+
## Take care of Thumbnail here
if ($LocalThumbN)
- {
+ {
## Delete old if NEW TH image selected
if ((int)$THFile['size'])
{
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = $THFile;
}
else
- $TH_FileToUpload = "";
+ $TH_FileToUpload = "";
}
else
{
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = "";
- $TH_URL = $_POST['imgThumbUrl'];
+ $TH_URL = $_POST['imgThumbUrl'];
}
}
}
@@ -2025,108 +2025,108 @@
## Take care of FULL image here
if ($LocalImageN && (int)$FULLFile["size"])
{
- $FULL_FileToUpload = $FULLFile;
- $FULL_URL = "";
+ $FULL_FileToUpload = $FULLFile;
+ $FULL_URL = "";
}
## Full is URL (or image size 0)
else
{
$FULL_FileToUpload = "";
- $FULL_URL = $_POST['imgFullUrl'];
+ $FULL_URL = $_POST['imgFullUrl'];
}
-
+
## Take care of Thumbnail here
- if ($LocalThumbN)
- {
- $TH_FileToUpload = (int)$THFile['size']? $THFile : "";
+ if ($LocalThumbN)
+ {
+ $TH_FileToUpload = (int)$THFile['size']? $THFile : "";
$TH_URL = "";
}
else
{
$TH_FileToUpload = "";
- $TH_URL = $_POST['imgThumbUrl'];
- }
+ $TH_URL = $_POST['imgThumbUrl'];
+ }
}
}
## Images were the same, and still the same
elseif ($SameImages && $_POST['imgSameImages'])
- {
+ {
## Take care of Thumbnail & FULL here
if ($LocalThumbN)
- {
+ {
if ((int)$THFile['size'])
{
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = $THFile;
}
- else
+ else
$TH_FileToUpload = "";
-
- $FULL_URL = $TH_URL = "";
+
+ $FULL_URL = $TH_URL = "";
}
else
{
$TH_FileToUpload = $FULL_FileToUpload = "";
- $FULL_URL = $TH_URL = $_POST['imgThumbUrl'];
+ $FULL_URL = $TH_URL = $_POST['imgThumbUrl'];
}
-
- ## Delete old FULL image
+
+ ## Delete old FULL image
$img->DeleteLocalImage(FALSE,TRUE);
-
- $SameImagesN = 1;
+
+ $SameImagesN = 1;
}
## Images were NOT the same, and selected as the same now
elseif (!$SameImages && $_POST["imgSameImages"])
{
## Take care of Thumbnail & FULL here
if ($LocalThumbN)
- {
+ {
if ((int)$THFile['size'])
{
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = $THFile;
}
- else
+ else
$TH_FileToUpload = "";
-
-
- $FULL_URL = $TH_URL = "";
+
+
+ $FULL_URL = $TH_URL = "";
}
else
- {
+ {
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = $FULL_FileToUpload = "";
- $FULL_URL = $TH_URL = $_POST['imgThumbUrl'];
+ $FULL_URL = $TH_URL = $_POST['imgThumbUrl'];
}
-
+
## Clean up FULL image
- $img->DeleteLocalImage(FALSE, TRUE);
-
+ $img->DeleteLocalImage(FALSE, TRUE);
+
$SameImagesN = 1;
}
## Images were NOT the same, and selected as NOT the same
elseif (!$SameImages && !$_POST["imgSameImages"])
{
## Take care of Thumbnail
if ($LocalThumbN)
- {
+ {
if ((int)$THFile['size'])
{
$img->DeleteLocalImage(TRUE, FALSE);
- $TH_FileToUpload = $THFile;
+ $TH_FileToUpload = $THFile;
}
- else
- $TH_FileToUpload = "";
-
+ else
+ $TH_FileToUpload = "";
+
$TH_URL = "";
}
else
{
$img->DeleteLocalImage(TRUE, FALSE);
$TH_FileToUpload = "";
- $TH_URL = $_POST['imgThumbUrl'];
+ $TH_URL = $_POST['imgThumbUrl'];
}
-
+
## Take care of FULL here
if ($LocalImageN)
{
@@ -2136,30 +2136,30 @@
$FULL_FileToUpload = $FULLFile;
}
else
- $FULL_FileToUpload = "";
-
+ $FULL_FileToUpload = "";
+
$FULL_URL = "";
}
else
- {
- $img->DeleteLocalImage(FALSE, TRUE);
+ {
+ $img->DeleteLocalImage(FALSE, TRUE);
$FULL_FileToUpload = "";
$FULL_URL = $_POST['imgFullUrl'];
- }
+ }
}
- ## Unknow condition
+ ## Unknow condition
else
{
;
}
-
+
$img = $objImageList->Edit($_POST["ImageId"],$_POST["imgName"], $_POST["imgAlt"], $_POST["ResourceId"], $LocalImageN, $LocalThumbN, $FULL_URL, $TH_URL, (int)$_POST["imgEnabled"], (int)$_POST["imgPriority"], (int)$_POST["imgDefault"], 0, $SameImagesN);
-
+
// echo "DATA:
LocalImageN: $LocalImageN, LocalThumbN: $LocalThumbN, FULL_URL: $FULL_URL, TH_URL: $TH_URL, SameImagesN: $SameImagesN
";
-
-
+
+
$img->Pending = TRUE;
-
+
if (!empty($FULL_FileToUpload))
{
$img->Set("LocalPath",$img->StoreUploadedImage($FULL_FileToUpload, 1, $DestDir, 0));
@@ -2172,22 +2172,22 @@
$uploaded = 1;
}
*/
-
+
if (!empty($TH_FileToUpload))
{
$img->Set("ThumbPath", $img->StoreUploadedImage($TH_FileToUpload, 1, $DestDir, 1));
$uploaded = 1;
}
-
+
if ($copied)
{
- $img->Set("LocalPath", $DestDir."pending/".$LocalThumb_FileN);
+ $img->Set("LocalPath", $DestDir."pending/".$LocalThumb_FileN);
$uploaded = 1;
}
-
+
if($uploaded==1)
- $img->Update();
-
+ $img->Update();
+
break;
case "m_img_move_up":
if (isset($_POST["itemlist"]))
@@ -2217,12 +2217,12 @@
case "m_img_delete":
if(isset($_POST["itemlist"]))
- {
+ {
$objImageList = new clsImageList();
$objImageList->SourceTable = $objSession->GetEditTable("Images");
foreach($_POST["itemlist"] as $id)
{
- $img = $objImageList->GetItem($id);
+ $img = $objImageList->GetItem($id);
$img->Set("ResourceId", 0);
$img->Update();
//$img->Delete();
@@ -2239,12 +2239,12 @@
unlink($BackupFile);
}
break;
-
+
case "m_taglib":
include($pathtoroot."kernel/include/tag-class.php");
ParseTagLibrary();
break;
-
+
case "m_sql_query":
if($ro_perm) break;
$SqlQuery = $_POST["sql"];
@@ -2258,14 +2258,14 @@
break;
case "m_purge_email_log":
if($ro_perm) break;
- $ado = &GetADODBConnection();
+ $ado = &GetADODBConnection();
$sql = "DELETE FROM ".GetTablePrefix()."EmailLog";
$ado->Execute($sql);
- break;
+ break;
case "m_session_delete":
if($ro_perm) break;
- $ado = &GetADODBConnection();
+ $ado = &GetADODBConnection();
if (count($_POST['itemlist']) > 0) {
foreach($_POST["itemlist"] as $id)
{
@@ -2277,7 +2277,7 @@
}
else {
$sql = "DELETE FROM ".GetTablePrefix()."UserSession WHERE Status='0'";
- $ado->Execute($sql);
+ $ado->Execute($sql);
}
break;
case "m_add_rule":
@@ -2288,48 +2288,48 @@
$_POST["rule_verb"],$_POST["rule_value"],(int)$_POST["rule_priority"],
(int)$_POST["rule_status"], $_POST['rule_error']);
break;
- case "m_edit_rule":
+ case "m_edit_rule":
$objEditItems = new clsBanRuleList();
$objEditItems->SourceTable = $objSession->GetEditTable("BanRules");
//$ItemType,$RuleType,$ItemField,$ItemVerb,$ItemValue,$Priority,$Status;
$objEditItems->EditRule($_POST["rule_id"],$_POST["rule_itemtype"],$_POST["rule_type"],$_POST["rule_field"],
$_POST["rule_verb"],$_POST["rule_value"],(int)$_POST["rule_priority"],
(int)$_POST["rule_status"], $_POST['rule_error']);
- break;
+ break;
case "m_rule_move_up":
if($ro_perm) break;
if(isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$i = $objBanList->GetItem($id);
$i->Increment("Priority");
}
- }
+ }
break;
case "m_rule_move_down":
if($ro_perm) break;
if(isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$i = $objBanList->GetItem($id);
$i->Decrement("Priority");
}
- }
+ }
break;
-
+
case "m_rule_delete":
if($ro_perm) break;
if(isset($_POST["itemlist"]))
- {
+ {
foreach($_POST["itemlist"] as $id)
{
$i = $objBanList->GetItem($id);
$i->Delete();
}
- }
- break;
+ }
+ break;
case "m_ban_user":
if($ro_perm) break;
if($_POST["UserEditStatus"]==1)
@@ -2353,18 +2353,18 @@
{
if(strlen($_POST["user_ip"]))
$objBanList->AddRule(6,0,"ip",3,$_POST["user_ip"],0,1);
- }
- $u->Deny();
+ }
+ $u->Deny();
}
$objUsers->SetTable('restore');
}
break;
-
-
+
+
case 'm_rebuild_cache':
$objSession->SetVariable('PermCache_UpdateRequired', 1);
break;
-
+
}
/* image upload management */
@@ -2396,9 +2396,9 @@
else
{ /* remote images handled here */
if(strlen($url)>0)
- {
+ {
if($relvalue>0)
- {
+ {
$img = $objImageList->GetImageByResource($res_id,$relvalue);
$img->Set("Name",$name);
$img->Set("AltName", $alt);
@@ -2428,11 +2428,11 @@
if( !$has_perm )
{
if( GetVar('ReviewEditStatus') == 1 )
- {
+ {
$objReviews=new clsItemReviewList();
$objReviews->CopyFromEditTable_Direct();
}
-
+
if( GetVar('ReviewEditStatus') == -1 )
{
$objReviews=new clsItemReviewList();
@@ -2441,18 +2441,18 @@
/* category Edit */
if( GetVar('CatEditStatus') == 1 )
- {
+ {
$adodbConnection = &GetADODBConnection();
- // $sql = "SELECT * FROM ".$objSession->GetEditTable("Category")." WHERE CategoryId=0";
+ // $sql = "SELECT * FROM ".$objSession->GetEditTable("Category")." WHERE CategoryId=0";
$sql = "SELECT ParentId FROM ".$objSession->GetEditTable("Category")." WHERE CategoryId=-1";
-
+
$rs = $adodbConnection->Execute($sql);
- while ($rs && !$rs->EOF)
+ while ($rs && !$rs->EOF)
{
if($rs->fields["ParentId"] > 0) RunUp($rs->fields["ParentId"],"Increment_Count");
$rs->MoveNext();
}
-
+
$cat_ids = $objCatList->CopyFromEditTable("CategoryId");
if($cat_ids)
{
@@ -2469,9 +2469,9 @@
$objImages->CopyFromEditTable("ImageId");
}
}
-
+
if( GetVar('CatEditStatus') == 2 )
- {
+ {
$objCatList->PurgeEditTable("CategoryId");
$objCustomDataList->PurgeEditTable("CustomDataId");
if($_REQUEST['CategoryId'] > 0) // not root category is updated
@@ -2482,13 +2482,13 @@
}
$objCatList->Clear();
}
-
+
/* User Edit */
if( GetVar('UserEditStatus') == 1 )
{
$objUserGroupsList = new clsUserGroupList();
- $objUserGroupsList->CopyFromEditTable("PortalUserId");
-
+ $objUserGroupsList->CopyFromEditTable("PortalUserId");
+
$user_ids = $objUsers->CopyFromEditTable("PortalUserId");
if($user_ids)
{
@@ -2497,10 +2497,10 @@
$rids = $db->GetCol($sql);
$objCustomDataList->CopyFromEditTable("CustomDataId", $rids);
}
-
+
$objGroups->Clear();
$objImages = new clsImageList();
- $objImages->CopyFromEditTable("ImageId");
+ $objImages->CopyFromEditTable("ImageId");
}
if( GetVar('UserEditStatus') == 2 )
{
@@ -2510,12 +2510,12 @@
$objCustomDataList->PurgeEditTable("CustomDataId");
$objGroups->Clear();
}
-
+
/* Group Edit */
if( GetVar('GroupEditStatus') == 1 )
{
$objUserGroupsList = new clsUserGroupList();
- $objUserGroupsList->CopyFromEditTable("GroupId");
+ $objUserGroupsList->CopyFromEditTable("GroupId");
$objGroups->CopyFromEditTable("GroupId");
$objCustomDataList->CopyFromEditTable("CustomDataId");
$objGroups->Clear();
@@ -2528,63 +2528,63 @@
$objUserGroupsList->PurgeEditTable("PortalUserId");
$objGroups->Clear();
}
-
+
/* Theme Edit */
if( GetVar('ThemeEditStatus') == 1 )
- {
+ {
$objThemes->CopyFromEditTable();
$objThemes->Clear();
}
-
+
if( GetVar('ThemeEditStatus') == 2 )
{
$objThemes->PurgeEditTable();
$objThemes->Clear();
}
-
+
/* Language Edit */
if( GetVar('LangEditStatus') == 1 )
{
$objLanguages->CopyFromEditTable();
$objLanguages->Clear();
$objLanguages->PurgeEditTable();
-
+
$Phrases = new clsPhraseList();
$Phrases->CopyFromEditTable();
$Phrases->Clear();
$Phrases->PurgeEditTable();
-
+
$Messages = new clsEmailMessageList();
$Messages->CopyFromEditTable();
- $Messages->Clear();
- }
+ $Messages->Clear();
+ }
if( GetVar('LangEditStatus') == 2 )
{
$objLanguages->PurgeEditTable();
$objLanguages->Clear();
$Phrases = new clsPhraseList();
- $Phrases->PurgeEditTable();
+ $Phrases->PurgeEditTable();
$Messages = new clsEmailMessageList();
$Messages->PurgeEditTable();
}
-
+
if( GetVar('MissingLangEditStatus') == 1 )
{
$objPhraseList = new clsPhraseList();
$objPhraseList->SourceTable = $objSession->GetSessionKey()."_".$ThemeId."_labels";
-
+
$objEditList = new clsPhraseList();
$objEditList->SourceTable = $objSession->GetEditTable("Phrase");
-
+
$ado = &GetADODBConnection();
$rs = $ado->Execute("SELECT MIN(PhraseId) as MinValue FROM ".$objEditList->SourceTable);
$NewId = $rs->fields["MinValue"]-1;
-
+
$objPhraseList->Query_Item("SELECT * FROM ".$objPhraseList->SourceTable);
foreach($objPhraseList->Items as $p)
{
if(strlen($p->Get("Translation"))>0)
- {
+ {
$p->tablename = $objEditList->SourceTable;
$p->Dirty();
$p->UnsetIDField();
@@ -2595,17 +2595,17 @@
}
$ado->Execute("DROP TABLE IF EXISTS ".$objPhraseList->SourceTable);
}
-
+
if( GetVar('MissingLangEditStatus') == 2 )
{
$table = $objSession->GetSessionKey()."_".$ThemeId."_labels";
$ado = &GetADODBConnection();
$ado->Execute("DROP TABLE IF EXISTS ".$table);
}
-
+
/* Ban Rule Edit */
if( GetVar('RuleEditStatus') == 1 )
- {
+ {
$objBanList->CopyFromEditTable("RuleId");
$objBanList->Clear();
}
Index: trunk/kernel/units/general/inp_ses_storage.php
===================================================================
diff -u -r3330 -r3508
--- trunk/kernel/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3330)
+++ trunk/kernel/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3508)
@@ -1,6 +1,6 @@
Application->IsAdmin() ) $path = rtrim($path, '/').'/admin';
$this->SetCookiePath($path);
-
+
$cookie_name = $this->Application->ConfigValue('SessionCookieName');
$this->SetCookieName($cookie_name ? $cookie_name : 'sid');
-
+
$this->SetCookieDomain(SERVER_NAME);
-
+
if( $this->Application->IsAdmin() )
{
$mode = constOn('IS_INSTALL') ? smCOOKIES_ONLY : smAUTO;
@@ -27,7 +27,7 @@
if ($ses_mode == 0) $mode = smGET_ONLY;
}
$this->SetMode($mode);
-
+
parent::Init($prefix,$special);
if( !$this->Application->IsAdmin() && $this->GetField('PortalUserId') <= 0 )
@@ -80,7 +80,9 @@
{
$query = ' SELECT '.$this->IDField.' FROM '.$this->TableName.' WHERE '.adodb_mktime().' - '.$this->TimestampField.' > '.$this->SessionTimeout;
$ret = $this->Conn->GetCol($query);
- if($ret) $this->DeleteEditTables();
+ if($ret) {
+ $this->DeleteEditTables();
+ }
return $ret;
}
@@ -89,7 +91,7 @@
{
$tables = $this->Conn->GetCol('SHOW TABLES');
$mask_edit_table = '/'.TABLE_PREFIX.'ses_(.*)_edit_(.*)/';
- $mask_search_table = '/'.TABLE_PREFIX.'ses_(.*)_(.*)/';
+ $mask_search_table = '/'.TABLE_PREFIX.'ses_(.*?)_(.*)/';
$sql='SELECT COUNT(*) FROM '.$this->TableName.' WHERE '.$this->IDField.' = \'%s\'';
foreach($tables as $table)