Index: branches/unlabeled/unlabeled-1.112.2/admin/install.php
===================================================================
diff -u -r7943 -r7944
--- branches/unlabeled/unlabeled-1.112.2/admin/install.php (.../install.php) (revision 7943)
+++ branches/unlabeled/unlabeled-1.112.2/admin/install.php (.../install.php) (revision 7944)
@@ -1419,7 +1419,7 @@
if(!is_object($objMessageList))
$objMessageList = new clsEmailMessageList();
- $Offset = $objMessageList->ReadImportTable($EventTable, $force_finish ? false : true,100,$Offset);
+ $Offset = $objMessageList->ReadImportTable($EventTable, $force_finish ? false : true,300,$Offset);
if($Offset > $Total)
{
Index: branches/unlabeled/unlabeled-1.101.2/admin/install/langpacks/english.lang
===================================================================
diff -u -r7905 -r7944
--- branches/unlabeled/unlabeled-1.101.2/admin/install/langpacks/english.lang (.../english.lang) (revision 7905)
+++ branches/unlabeled/unlabeled-1.101.2/admin/install/langpacks/english.lang (.../english.lang) (revision 7944)
@@ -147,6 +147,7 @@
RmlsZSBub3QgZm91bmQgKDQwNCkgdGVtcGxhdGU=
Rmlyc3QgRGF5IE9mIFdlZWs=
UmVkaXJlY3QgdG8gSFRUUCB3aGVuIFNTTCBpcyBub3QgcmVxdWlyZWQ=
+ SGVhZGVyIFNlcGFyYXRvciBUeXBl
TmFtZQ==
SW5zdWZmaWNlbnQgcGVybWlzc2lvbnMgdGVtcGxhdGU=
R1pJUCBjb21wcmVzc2lvbiBsZXZlbCAwLTk=
@@ -493,6 +494,7 @@
U29ydCByZXZpZXdzIGJ5
VVJM
RGlzcGxheSBsaW5rIFVSTCBpbiBzdGF0dXMgYmFy
+ TGludXggKFxuKQ==
TG9jYWwgSW1hZ2U=
TG9nZ2VkIGluIGFz
TG9naW4=
@@ -1591,6 +1593,7 @@
WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIHByaW1hcnkgdGhlbWUuIENvbnRpbnVlPw==
TW9kaWZpY2F0aW9ucyB3aWxsIG5vdCB0YWtlIGVmZmVjdCB1bnRpbCB5b3UgY2xpY2sgdGhlIFNhdmUgYnV0dG9uIQ==
d2Vlaw==
+ V2luZG93cyAoXHJcbik=
eWVhcg==
WWVz
WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u
Index: branches/unlabeled/unlabeled-1.82.2/core/kernel/db/db_event_handler.php
===================================================================
diff -u -r7874 -r7944
--- branches/unlabeled/unlabeled-1.82.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 7874)
+++ branches/unlabeled/unlabeled-1.82.2/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 7944)
@@ -910,7 +910,7 @@
function OnCreate(&$event)
{
$object =& $event->getObject( Array('skip_autoload' => true) );
-
+
$items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) );
if($items_info)
{
Index: branches/unlabeled/unlabeled-1.16.2/core/units/general/inp1_parser.php
===================================================================
diff -u -r7750 -r7944
--- branches/unlabeled/unlabeled-1.16.2/core/units/general/inp1_parser.php (.../inp1_parser.php) (revision 7750)
+++ branches/unlabeled/unlabeled-1.16.2/core/units/general/inp1_parser.php (.../inp1_parser.php) (revision 7944)
@@ -1,15 +1,26 @@
InportalInited) {
+ $this->InitInPortal();
+ }
+ // in case Parsing was called through InitInPortal -> moudles -> frontaction -> emailevent
+ // we need to make sure old parser is initialized
+ $this->InitParser();
+ $template_body = $objTemplate->ParseTemplateFromBuffer($tname, $template_body);
+ return $template_body;
+ }
+
if ( !$this->InportalInited) {
//$save_t = $this->Application->GetVar('t');
$this->InitInPortal();
@@ -19,13 +30,13 @@
$get = $_GET;
unset($get['env'], $get['Action'], $get['_mod_rw_url_'], $get['rewrite']);
$this->Application->StoreVar('K4_Template_Referer', $this->Application->GetVar('t') );
-
+
$this->Application->Redirect($var_list['t'], $get);
}
}
-
+
$var_list['t'] = $this->cutTPL($var_list['t']);
-
+
if ($var_list['t'] != $this->Application->GetVar('t')) {
//$var_list['t'] = rtrim($var_list['t'],'.tpl');
$t = $var_list['t'];
@@ -39,7 +50,7 @@
}
return $template_body;
}
-
+
function cutTPL($tname)
{
if( substr($tname,-4) == '.tpl' )
@@ -48,80 +59,80 @@
}
return $tname;
}
-
+
function InitParser()
{
global $objTemplate, $CurrentTheme, $objThemes, $objLanguageCache, $var_list;
if ($this->InpParsetInited) return true;
-
+
$theme_id = $this->Application->IsAdmin() ? 1 : $this->Application->GetVar('m_theme');
if ($theme_id) {
$CurrentTheme = $objThemes->GetItem($theme_id);
-
+
$timeout = $CurrentTheme->Get('CacheTimeout');
$objLanguageCache->LoadTemplateCache($var_list['t'], $timeout, $theme_id);
$objLanguageCache->LoadCachedVars($this->Application->GetVar('m_lang'));
-
+
$objTemplate = new clsTemplateList(FULL_PATH.THEMES_PATH.'/');
}
-
+
$this->InpParsetInited = true;
}
-
+
function InitInPortal()
{
$this->InportalInited = true;
- /*global $pathtoroot, $FrontEnd, $indexURL, $rootURL, $secureURL, $var_list, $CurrentTheme,
- $objThemes, $objConfig, $m_var_list, $timeout, $objLanguages, $objLanguageCache,
- $TemplateRoot, $objTemplate, $html, $objSession, $Errors, $objCatList, $objUsers,
+ /*global $pathtoroot, $FrontEnd, $indexURL, $rootURL, $secureURL, $var_list, $CurrentTheme,
+ $objThemes, $objConfig, $m_var_list, $timeout, $objLanguages, $objLanguageCache,
+ $TemplateRoot, $objTemplate, $html, $objSession, $Errors, $objCatList, $objUsers,
$env, $mod_prefix, $ExtraVars, $timestart, $timeend, $timeout, $sqlcount, $totalsql,
$template_path, $modules_loaded, $mod_root_cats, $objModules, $objItemTypes;*/
-
-
- global $sec, $usec, $timestart, $pathtoroot, $FrontEnd, $indexURL, $kernel_version, $FormError,
- $FormValues, $ItemTables, $KeywordIgnore, $debuglevel,
- $LogLevel, $LogFile, $rq_value, $rq_name, $dbg_constMap, $dbg_constValue, $dbg_constName,
- $debugger, $g_LogFile, $LogData, $Errors,
- $g_DebugMode, $totalsql, $sqlcount, $objConfig, $ItemTypePrefixes, $ItemTagFiles, $objModules,
+
+
+ global $sec, $usec, $timestart, $pathtoroot, $FrontEnd, $indexURL, $kernel_version, $FormError,
+ $FormValues, $ItemTables, $KeywordIgnore, $debuglevel,
+ $LogLevel, $LogFile, $rq_value, $rq_name, $dbg_constMap, $dbg_constValue, $dbg_constName,
+ $debugger, $g_LogFile, $LogData, $Errors,
+ $g_DebugMode, $totalsql, $sqlcount, $objConfig, $ItemTypePrefixes, $ItemTagFiles, $objModules,
$objSystemCache, $objBanList, $objItemTypes, $objThemes, $objLanguages, $objImageList, $objFavorites,
- $objUsers, $objGroups, $DownloadId, $objPermissions, $objPermCache, $m_var_list, $objCatList,
- $objCustomFieldList, $objCustomDataList, $objCountCache, $CRLF, $objMessageList, $objEmailQueue,
- $ExtraVars, $adodbConnection, $sql, $rs, $mod_prefix, $modules_loaded, $name,
- $template_path, $mod_root_cats, $value, $mod, $ItemTypes,
- $ParserFiles, $SessionQueryString, $var_list, $objSession,
- $orderByClause, $TemplateRoot, $ip, $UseSession, $Action, $CookieTest, $sessionId,
- $var_list_update, $CurrentTheme, $UserID, $objCurrentUser, $objLanguageCache,
- $folder_name, $objLinkList, $tag_override, $timeZones, $siteZone, $serverZone,
- $lastExpire, $diffZone, $date, $nowDate, $lastExpireDate, $SearchPerformed,
- $TotalMessagesSent, $ado, $adminDir, $rootURL, $secureURL, $html, $timeout,
+ $objUsers, $objGroups, $DownloadId, $objPermissions, $objPermCache, $m_var_list, $objCatList,
+ $objCustomFieldList, $objCustomDataList, $objCountCache, $CRLF, $objMessageList, $objEmailQueue,
+ $ExtraVars, $adodbConnection, $sql, $rs, $mod_prefix, $modules_loaded, $name,
+ $template_path, $mod_root_cats, $value, $mod, $ItemTypes,
+ $ParserFiles, $SessionQueryString, $var_list, $objSession,
+ $orderByClause, $TemplateRoot, $ip, $UseSession, $Action, $CookieTest, $sessionId,
+ $var_list_update, $CurrentTheme, $UserID, $objCurrentUser, $objLanguageCache,
+ $folder_name, $objLinkList, $tag_override, $timeZones, $siteZone, $serverZone,
+ $lastExpire, $diffZone, $date, $nowDate, $lastExpireDate, $SearchPerformed,
+ $TotalMessagesSent, $ado, $adminDir, $rootURL, $secureURL, $html, $timeout,
$pathchar, $objTemplate, $objTopicList, $objArticleList, $objPostingList, $objCensorList,
$objSmileys, $objPMList, $SubscribeAddress, $SubscribeError, $SubscribeResult, $application;
-
+
$pathtoroot = FULL_PATH.'/';
-
+
if (!file_exists(FULL_PATH.'/config.php')) {
echo "In-Portal is probably not installed, or configuration file is missing.
";
echo "Please use the installation script to fix the problem.
";
echo "Go to installation script
";
flush();
$this->Application->ApplicationDie();
}
-
+
//ob_start();
$FrontEnd = 1;
-
+
$indexURL="../../index.php"; //Set to relative URL from the theme directory
-
+
/* initalize the in-portal system */
include_once(FULL_PATH."/kernel/startup.php");
-
+
$rootURL="http://".ThisDomain().$objConfig->Get("Site_Path");
$secureURL = $rootURL;
-
+
if( !$var_list['t'] ) $var_list['t'] = 'index';
-
+
$this->InitParser();
-
+
// process referer in session: begin
if (is_object($objSession)) {
$k4_referer = $objSession->GetVariable('K4_Template_Referer');
@@ -132,18 +143,18 @@
$objSession->SetVariable('Template_Referer', isset($_local_t) ? $_local_t : '');
}
// process referer in session: end
-
+
if ($this->Application->isDebugMode() && $Action) {
$this->Application->Debugger->setHTMLByIndex(1, 'Front Action: '.$Action.'', 'append');
}
-
+
LogEntry("Output Complete\n");
$objLanguageCache->SaveTemplateCache();
LogEntry("Templates Cached\n");
-
+
$timeend = getmicrotime();
$diff = $timeend - $timestart;
-
+
LogEntry("\nTotal Queries Executed: $sqlcount in $totalsql seconds\n");
LogEntry("\nPage Execution Time: $diff seconds\n", true);
if ($LogFile) {
Index: branches/unlabeled/unlabeled-1.78.2/kernel/frontaction.php
===================================================================
diff -u -r7696 -r7944
--- branches/unlabeled/unlabeled-1.78.2/kernel/frontaction.php (.../frontaction.php) (revision 7696)
+++ branches/unlabeled/unlabeled-1.78.2/kernel/frontaction.php (.../frontaction.php) (revision 7944)
@@ -377,186 +377,189 @@
break;
case "m_register":
- $_POST=inp_escape($_POST);
- $MissingCount = SetMissingDataErrors("m_register");
+ $_POST=inp_escape($_POST);
+ $MissingCount = SetMissingDataErrors("m_register");
- if(!$objConfig->Get("User_Password_Auto"))
- {
- if(($_POST["password"] != $_POST["passwordverify"]) || !strlen($_POST["passwordverify"]))
- {
- $MissingCount++;
- $FormError["m_register"]["passwordverify"] = language("lu_ferror_pswd_mismatch");
- }
+ if(!$objConfig->Get("User_Password_Auto"))
+ {
+ if(($_POST["password"] != $_POST["passwordverify"]) || !strlen($_POST["passwordverify"]))
+ {
+ $MissingCount++;
+ $FormError["m_register"]["passwordverify"] = language("lu_ferror_pswd_mismatch");
+ }
- if(strlen($_POST["password"])>30)
- {
- // echo "VAR: ".$_POST["password"]; die();
- $MissingCount++;
- $FormError["m_register"]["password"] = language("lu_ferror_pswd_toolong");
- }
+ if(strlen($_POST["password"])>30)
+ {
+ // echo "VAR: ".$_POST["password"]; die();
+ $MissingCount++;
+ $FormError["m_register"]["password"] = language("lu_ferror_pswd_toolong");
+ }
- if (strlen($_POST['password']) < $objConfig->Get("Min_Password"))
- {
- $MissingCount++;
- $FormError["m_register"]["password"] = language("lu_ferror_pswd_tooshort");
- }
- }
+ if (strlen($_POST['password']) < $objConfig->Get("Min_Password"))
+ {
+ $MissingCount++;
+ $FormError["m_register"]["password"] = language("lu_ferror_pswd_tooshort");
+ }
+ }
- if(($_POST["username"]=="root"))
- {
- $MissingCount++;
- $FormError["m_register"]["username"] = language("lu_user_exists");
- }
- else
- {
+ if(($_POST["username"]=="root"))
+ {
+ $MissingCount++;
+ $FormError["m_register"]["username"] = language("lu_user_exists");
+ }
+ else
+ {
- $u = $objUsers->GetItemByField("Login",$_POST["username"]);
- if(is_object($u))
- {
- if($u->Get("Login")==$_POST["username"])
- {
- $MissingCount++;
- $FormError["m_register"]["username"] = language("lu_user_exists");
- }
- }
- }
+ $u = $objUsers->GetItemByField("Login",$_POST["username"]);
+ if(is_object($u))
+ {
+ if($u->Get("Login")==$_POST["username"])
+ {
+ $MissingCount++;
+ $FormError["m_register"]["username"] = language("lu_user_exists");
+ }
+ }
+ }
- if (strlen($_POST['username']) < $objConfig->Get("Min_UserName"))
- {
- $MissingCount++;
- $FormError["m_register"]["username"] = language("lu_ferror_username_tooshort");
- }
+ if (strlen($_POST['username']) < $objConfig->Get("Min_UserName"))
+ {
+ $MissingCount++;
+ $FormError["m_register"]["username"] = language("lu_ferror_username_tooshort");
+ }
- if(!$MissingCount)
- {
- $CreatedOn = adodb_date("U");
- $GroupId = $objConfig->Get("User_NewGroup");
- $Status=0;
+ if(!$MissingCount)
+ {
+ $CreatedOn = adodb_date("U");
+ $GroupId = $objConfig->Get("User_NewGroup");
+ $Status=0;
- /* determine the status of new users */
- switch ($objConfig->Get("User_Allow_New"))
- {
- case "1":
- $Status=1;
- break;
- case "3":
- $Status=2;
- break;
- }
+ /* determine the status of new users */
+ switch ($objConfig->Get("User_Allow_New"))
+ {
+ case "1":
+ $Status=1;
+ break;
+ case "3":
+ $Status=2;
+ break;
+ }
- /* set Destination template */
- $var_list["t"] = strlen($_GET["dest"])? $_GET["dest"] : "index";
+ /* set Destination template */
+ $var_list["t"] = strlen($_GET["dest"])? $_GET["dest"] : "index";
- if($Status>0)
- {
- if ($objConfig->Get("User_Password_Auto")) {
- $password = makepassword();
-// $objSession->Set("password", $password);
- SetVar('user_password', $password);
- }
- else {
- $password = $_POST["password"];
- }
+ if($Status>0)
+ {
+ if ($objConfig->Get("User_Password_Auto")) {
+ $password = makepassword();
+ // $objSession->Set("password", $password);
+ SetVar('user_password', $password);
+ }
+ else {
+ $password = $_POST["password"];
+ }
- $dob = adodb_mktime(0, 0, 0, $_POST['dob_month'], $_POST['dob_day'], $_POST['dob_year']);
- $ip = $_SERVER['REMOTE_ADDR'];
+ $dob = adodb_mktime(0, 0, 0, $_POST['dob_month'], $_POST['dob_day'], $_POST['dob_year']);
+ $ip = $_SERVER['REMOTE_ADDR'];
- $application =& kApplication::Instance();
- $application->SetVar('user_password', $password);
- SetVar('user_password', $password);
- $fields_hash = Array('Login' => $_POST['username'],
- 'Password' => md5($password),
- 'FirstName' => $_POST['firstname'],
- 'LastName' => $_POST['lastname'],
- 'Company' => $_POST['company'],
- 'Email' => $_POST['email'],
- 'Status' => $Status,
- 'Phone' => $_POST['phone'],
- 'Fax' => $_POST['fax'],
- 'Street' => $_POST['street'],
- 'Street2' => $_POST['street2'],
- 'City' => $_POST['city'],
- 'State' => $_POST['state'],
- 'Zip' => $_POST['zip'],
- 'Country' => $_POST['country'],
- 'CreatedOn' => $CreatedOn,
- 'dob' => $dob,
- 'ip' => $ip);
- $u =& $objUsers->Add_User_NEW($fields_hash, true);
+ $application =& kApplication::Instance();
+ $application->SetVar('user_password', $password);
+ SetVar('user_password', $password);
+ $fields_hash = Array('Login' => $_POST['username'],
+ 'Password' => md5($password),
+ 'FirstName' => $_POST['firstname'],
+ 'LastName' => $_POST['lastname'],
+ 'Company' => $_POST['company'],
+ 'Email' => $_POST['email'],
+ 'Status' => $Status,
+ 'Phone' => $_POST['phone'],
+ 'Fax' => $_POST['fax'],
+ 'Street' => $_POST['street'],
+ 'Street2' => $_POST['street2'],
+ 'City' => $_POST['city'],
+ 'State' => $_POST['state'],
+ 'Zip' => $_POST['zip'],
+ 'Country' => $_POST['country'],
+ 'CreatedOn' => $CreatedOn,
+ 'dob' => $dob,
+ 'ip' => $ip);
+ $u =& $objUsers->Add_User_NEW($fields_hash, true);
- if(!is_object($u))
- {
- $RuleId=$u;
- $r = $objBanList->GetItem($RuleId);
- $err = $r->Get("ErrorTag");
+ if(!is_object($u))
+ {
+ $RuleId=$u;
+ $r = $objBanList->GetItem($RuleId);
+ $err = $r->Get("ErrorTag");
- if(strlen($err))
- {
- $FormError["m_register"][$r->Get("ItemField")] = language($err);
- $MissingCount++;
- }
- }
- else
- {
- $u->Set("Password",$password);
- $u->Clean();
- if($GroupId>0)
- {
- $g = $objGroups->GetItem($GroupId);
- $g->AddUser($u->Get("PortalUserId"),1,false);
- }
+ if(strlen($err))
+ {
+ $FormError["m_register"][$r->Get("ItemField")] = language($err);
+ $MissingCount++;
+ }
+ }
+ else
+ {
+ $u->Set("Password",$password);
+ $u->Clean();
+ if($GroupId>0)
+ {
+ $g = $objGroups->GetItem($GroupId);
+ $g->AddUser($u->Get("PortalUserId"),1,false);
+ }
- $custom = $_POST["custom"];
- if (is_array($custom)) {
- for($x = 0; $x < count($custom); $x++) {
- $u->SetCustomField($custom[$x],$_POST[$custom[$x]]);
- }
- $u->SaveCustomFields();
- }
+ $custom = $_POST["custom"];
+ if (is_array($custom)) {
+ for($x = 0; $x < count($custom); $x++) {
+ $u->SetCustomField($custom[$x],$_POST[$custom[$x]]);
+ }
+ $u->SaveCustomFields();
+ }
- if($Status==1)
- {
- if($objConfig->Get("User_Password_Auto"))
- {
- $u->SendUserEventMail("USER.VALIDATE",$u->Get("PortalUserId"));
- $u->SendAdminEventMail("USER.VALIDATE");
- }
- else
- {
- $doLoginNow = true;
- $u->SendUserEventMail("USER.ADD",$u->Get("PortalUserId"));
- $u->SendAdminEventMail("USER.ADD");
- }
- }
- else
- {
- $u->SendUserEventMail("USER.ADD.PENDING",$u->Get("PortalUserId"));
- $u->SendAdminEventMail("USER.ADD.PENDING");
- }
+ if($Status==1)
+ {
+ if($objConfig->Get("User_Password_Auto"))
+ {
+ $u->SendUserEventMail("USER.VALIDATE",$u->Get("PortalUserId"));
+ $u->SendAdminEventMail("USER.VALIDATE");
+ }
+ else
+ {
+ $doLoginNow = true;
+ $u->SendUserEventMail("USER.ADD",$u->Get("PortalUserId"));
+ $u->SendAdminEventMail("USER.ADD");
+ }
+ }
+ else
+ {
+ $u->SendUserEventMail("USER.ADD.PENDING",$u->Get("PortalUserId"));
+ $u->SendAdminEventMail("USER.ADD.PENDING");
+ }
- if ($doLoginNow)
- {
- $login_ok = $objSession->Login($_POST["username"], md5($password));
- if($login_ok)
- {
- $next_template = $objSession->GetVariable('next_template');
- if($next_template)
- {
- $objSession->SetVariable('next_template','');
- $var_list_update["t"] = $next_template;
- header('Location: ' . HREF_Wrapper() );
- exit;
- $var_list['t'] = $next_template.'.tpl';
- }
+ if ($doLoginNow)
+ {
+ $login_ok = $objSession->Login($_POST["username"], md5($password));
+ if($login_ok)
+ {
+ $next_template = $objSession->GetVariable('next_template');
+ if (!$next_template) {
+// $next_template = strlen($_GET["dest"])? $_GET["dest"] : "index";
+ }
+ if($next_template)
+ {
+ $objSession->SetVariable('next_template','');
+ $var_list_update["t"] = $next_template;
+ header('Location: ' . HREF_Wrapper() );
+ exit;
+ $var_list['t'] = $next_template.'.tpl';
+ }
- }
- }
- }
- }
- }
- break;
+ }
+ }
+ }
+ }
+ }
+ break;
case "m_add_friend":
$id = $_GET["UserId"];
$userid = $objSession->Get("PortalUserId");
Index: branches/unlabeled/unlabeled-1.29.2/core/units/email_events/email_events_event_handler.php
===================================================================
diff -u -r7874 -r7944
--- branches/unlabeled/unlabeled-1.29.2/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 7874)
+++ branches/unlabeled/unlabeled-1.29.2/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 7944)
@@ -6,7 +6,7 @@
define('EVENT_STATUS_DISABLED', 0);
define('EVENT_STATUS_ENABLED', 1);
define('EVENT_STATUS_FRONTEND', 2);
-
+
class EmailEventsEventsHandler extends kDBEventHandler
{
@@ -119,26 +119,26 @@
*
* @param kEvent $event
* @param int $event_id id of email event used
- *
+ *
* @return mixed
*/
function GetMessageRecipients(&$event, &$event_id)
{
$email_event =& $event->getObject( Array('skip_autoload' => true) );
/* @var $email_event kDBItem */
-
+
// get event parameters by name & type
$load_keys = Array (
'Event' => $event->getEventParam('EmailEventName'),
'Type' => $event->getEventParam('EmailEventType'),
);
$email_event->Load($load_keys);
-
+
if (!$email_event->isLoaded()) {
// event record not found
return false;
}
-
+
$enabled = $email_event->GetDBField('Enabled');
if ($enabled == EVENT_STATUS_DISABLED) {
return false;
@@ -150,18 +150,18 @@
// initial values
$to_user_id = $event->getEventParam('EmailEventToUserId');
$from_user_id = $email_event->GetDBField('FromUserId');
-
+
if ($email_event->GetDBField('Type') == EVENT_TYPE_ADMIN) {
// For type "Admin" recipient is a user from field FromUserId which means From/To user in Email events list
$to_user_id = $from_user_id;
$from_user_id = -1;
}
-
+
$event_id = $email_event->GetDBField('EventId');
-
+
return Array ($from_user_id, $to_user_id);
}
-
+
/**
* Returns user name, email by id, or ones, that specified in $direct_params
*
@@ -175,36 +175,36 @@
// load user, because it can be addressed from email template tags
$user =& $this->Application->recallObject('u.email-'.$user_type, null, Array('skip_autoload' => true));
/* @var $user UsersItem */
-
+
$email = $name = '';
$result = $user_id > 0 ? $user->Load($user_id) : $user->Clear();
if ($user->IsLoaded()) {
$email = $user->GetDBField('Email');
$name = trim($user->GetDBField('FirstName').' '.$user->GetDBField('LastName'));
}
-
+
if (is_array($direct_params)) {
if (isset($direct_params[$user_type.'_email'])) {
$email = $direct_params[$user_type.'_email'];
}
-
+
if (isset($direct_params[$user_type.'_name'])) {
$name = $direct_params[$user_type.'_name'];
}
}
-
+
if (!$email) {
// if email is empty, then use admins email
$email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
}
-
+
if (!$name) {
$name = $user_type == 'from' ? strip_tags($this->Application->ConfigValue('Site_Name')) : $email;
}
-
+
return Array ($email, $name);
}
-
+
/**
* Returns email event message by ID (headers & body in one piece)
*
@@ -216,40 +216,40 @@
$current_language = $this->Application->GetVar('m_lang');
$message =& $this->Application->recallObject('emailmessages', null, Array('skip_autoload' => true));
/* @var $message kDBItem */
-
+
$message->Load( Array('EventId' => $event_id, 'LanguageId' => $current_language) );
if (!$message->isLoaded()) {
// event translation on required language not found
- return false;
+ return false;
}
-
+
$message_type = $message->GetDBField('MessageType');
-
+
// 1. get message body
$message_body = $message->GetDBField('Template');
-
+
// 2. add footer
$sql = 'SELECT em.Template
FROM '.$message->TableName.' em
LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId
WHERE em.LanguageId = '.$current_language.' AND e.Event = "COMMON.FOOTER"';
-
+
list (, $footer) = explode("\n\n", $this->Conn->GetOne($sql));
if ($message_type == 'text') {
$esender =& $this->Application->recallObject('EmailSender');
/* @var $esender kEmailSendingHelper */
-
+
$footer = $esender->ConvertToText($footer);
}
-
+
if ($footer) {
$message_body .= "\r\n".$footer;
}
-
+
// 3. replace tags if needed
// $replacement_tags = $message->GetDBField('ReplacementTags');
// $replacement_tags = $replacement_tags ? unserialize($replacement_tags) : Array ();
-
+
$replacement_tags = Array (
' ' ' $replace_to) {
$message_body = str_replace($replace_from, $replace_to, $message_body);
}
-
+
return $message_body;
}
-
+
/**
* Parse message template and return headers (as array) and message body part
*
@@ -273,7 +273,7 @@
function ParseMessageBody($message, $direct_params = null)
{
$direct_params['message_text'] = isset($direct_params['message']) ? $direct_params['message'] : ''; // parameter alias
-
+
// 1. parse template
$this->Application->InitParser();
$parser_params = $this->Application->Parser->Params; // backup parser params
@@ -288,16 +288,16 @@
// 3. separate headers from body
$message_headers = Array ();
list($headers, $message_body) = explode("\n\n", $message, 2);
-
+
$headers = explode("\n", $headers);
foreach ($headers as $header) {
$header = explode(':', $header, 2);
$message_headers[ trim($header[0]) ] = trim($header[1]);
}
-
+
return Array ($message_headers, $message_body);
}
-
+
/**
* Raised when email message shoul be sent
*
@@ -312,38 +312,38 @@
// additional parameters from kApplication->EmailEvent
$send_params = $event->getEventParam('DirectSendParams');
-
+
// 1. get information about message sender and recipient
$recipients = $this->GetMessageRecipients($event, $event_id);
if ($recipients === false) {
// if not valid recipients found, then don't send event
return false;
}
-
+
list ($from_id, $to_id) = $recipients;
list ($from_email, $from_name) = $this->GetRecipientInfo($from_id, 'from', $send_params);
list ($to_email, $to_name) = $this->GetRecipientInfo($to_id, 'to', $send_params);
-
+
// 2. prepare message to be sent
$message_template = $this->GetMessageBody($event_id, $message_type);
if (!trim($message_template)) {
return false;
}
-
+
list ($message_headers, $message_body) = $this->ParseMessageBody($message_template, $send_params);
if (!trim($message_body)) {
return false;
}
-
+
// 3. set headers & send message
$esender =& $this->Application->recallObject('EmailSender');
/* @var $esender kEmailSendingHelper */
-
+
$esender->SetFrom($from_email, $from_name);
$esender->AddTo($to_email, $to_name);
-
+
$message_subject = isset($message_headers['Subject']) ? $message_headers['Subject'] : 'Mail message';
- $esender->SetSubject($message_subject);
+ $esender->SetSubject($message_subject);
foreach ($message_headers as $header_name => $header_value) {
$esender->SetEncodedHeader($header_name, $header_value);
@@ -359,7 +359,7 @@
foreach ($send_keys as $send_key) {
unset($send_params[$send_key]);
}
-
+
$fields_hash = Array (
'fromuser' => $from_name.' ('.$from_email.')',
'addressto' => $to_name.' ('.$to_email.')',
@@ -368,7 +368,7 @@
'event' => $email_event_name,
'EventParams' => serialize($send_params),
);
-
+
$this->Conn->doInsert($fields_hash, TABLE_PREFIX.'EmailLog');
}
Index: branches/unlabeled/unlabeled-1.69.2/core/units/general/cat_event_handler.php
===================================================================
diff -u -r7922 -r7944
--- branches/unlabeled/unlabeled-1.69.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 7922)
+++ branches/unlabeled/unlabeled-1.69.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 7944)
@@ -67,7 +67,7 @@
LEFT JOIN '.$this->Application->getUnitOption('ci', 'TableName').' ci ON ci.ItemResourceId = item_table.ResourceId
WHERE '.$id_field.' IN ('.$selected_ids.') AND (ci.PrimaryCat = 1)';
$items = $this->Conn->Query($sql, $id_field);
-
+
$perm_helper =& $this->Application->recallObject('PermissionsHelper');
foreach ($items as $item_id => $item_data) {
if ($perm_helper->ModifyCheckPermission($item_data['CreatedById'], $item_data['CategoryId'], $event->Prefix) == 0) {
@@ -76,7 +76,7 @@
break;
}
}
-
+
if (!$perm_value) {
$event->status = erPERM_FAIL;
}
@@ -597,6 +597,13 @@
}
$object->Fields['Status']['options'] = $new_options;
}
+ elseif (!$this->Application->IsAdmin() && $object->GetDBField('Status') != 1) {
+ header('HTTP/1.0 404 Not Found');
+ while (ob_get_level()) { ob_end_clean(); }
+ $this->Application->HTML = $this->Application->ParseBlock(array('name'=>$this->Application->ConfigValue('ErrorTemplate')));
+ $this->Application->Done();
+ exit();
+ }
}
@@ -1399,10 +1406,10 @@
$export_options = $export_object->loadOptions($event);
echo $export_options['start_from'] * 100 / $export_options['total_records'];
-
+
$event->status = erSTOP;
}
-
+
/**
* Returns specific to each item type columns only
*