Index: trunk/core/kernel/startup.php
===================================================================
diff -u -N -r2853 -r3031
--- trunk/core/kernel/startup.php (.../startup.php) (revision 2853)
+++ trunk/core/kernel/startup.php (.../startup.php) (revision 3031)
@@ -2,12 +2,9 @@
define('KERNEL_PATH', FULL_PATH.'/kernel/kernel4');
include_once(KERNEL_PATH.'/globals.php'); // non OOP functions used through kernel, e.g. print_pre
+
+ if( defined('ADMIN') && ADMIN ) define('SPECIAL_TEMPLATES_FOLDER', '/kernel/admin_templates');
- if( defined('ADMIN') && ADMIN )
- {
- define('SPECIAL_TEMPLATES_FOLDER', '/kernel/admin_templates');
- }
-
define('INPORTAL_ENV', 1);
# New path detection method: begin
Index: trunk/core/kernel/db/db_tag_processor.php
===================================================================
diff -u -N -r2942 -r3031
--- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 2942)
+++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3031)
@@ -687,6 +687,7 @@
if ($total_pages) $this->Application->Parser->DataExists = true;
+ if($total_pages == 0) $total_pages = 1; // display 1st page as selected in case if we have no pages at all
$o = '';
// what are these 2 lines for?
Index: trunk/core/kernel/session/session.php
===================================================================
diff -u -N -r3021 -r3031
--- trunk/core/kernel/session/session.php (.../session.php) (revision 3021)
+++ trunk/core/kernel/session/session.php (.../session.php) (revision 3031)
@@ -363,7 +363,7 @@
function CheckIfCookiesAreOn()
{
// $this->CheckDuplicateCookies();
- if ($this->Mode == smGET_ONLY || (defined('INPORTAL_ENV')&&INPORTAL_ENV && defined('ADMIN')&&ADMIN && !$this->Application->GetVar('front')) )
+ if ($this->Mode == smGET_ONLY || (defined('INPORTAL_ENV')&&INPORTAL_ENV && $this->Application->IsAdmin() && !$this->Application->GetVar('front')) )
{
//we don't need to bother checking if we would not use it
$this->CookiesEnabled = false;
Index: trunk/core/units/general/inp_ses_storage.php
===================================================================
diff -u -N -r3021 -r3031
--- trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3021)
+++ trunk/core/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3031)
@@ -5,26 +5,27 @@
function Init($prefix,$special)
{
$this->SessionTimeout = $this->Application->ConfigValue('SessionTimeout');
- if (BASE_PATH == '') {
- $path = '/';
+
+ $path = (BASE_PATH == '') ? '/' : BASE_PATH;
+ if ( $this->Application->IsAdmin() ) $path = rtrim($path, '/').'/admin';
+ $this->SetCookiePath($path);
+
+ $this->SetCookieName( $this->Application->ConfigValue('SessionCookieName') );
+ $this->SetCookieDomain(SERVER_NAME);
+
+ if( $this->Application->IsAdmin() )
+ {
+ $mode = smAUTO;
}
- else {
- $path = BASE_PATH;
- }
- if ( defined('ADMIN') && ADMIN )
+ else
{
- $path = rtrim($path, '/');
- $path .= '/admin';
+ $ses_mode = $this->Application->ConfigValue('CookieSessions');
+ if ($ses_mode == 2) $mode = smAUTO;
+ if ($ses_mode == 1) $mode = smCOOKIES_ONLY;
+ if ($ses_mode == 0) $mode = smGET_ONLY;
}
- $this->SetCookiePath( $path );
- $ses_mode = $this->Application->ConfigValue('CookieSessions');
- if ($ses_mode == 2) $mode = smAUTO;
- if ($ses_mode == 1) $mode = smCOOKIES_ONLY;
- if ($ses_mode == 0) $mode = smGET_ONLY;
- if ( defined('ADMIN') && ADMIN ) $mode = smAUTO;
$this->SetMode($mode);
- $this->SetCookieName( $this->Application->ConfigValue('SessionCookieName') );
- $this->SetCookieDomain(SERVER_NAME);
+
parent::Init($prefix,$special);
if( !$this->Application->IsAdmin() && $this->GetField('PortalUserId') <= 0 )
Index: trunk/kernel/units/users/users_event_handler.php
===================================================================
diff -u -N -r3013 -r3031
--- trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 3013)
+++ trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 3031)
@@ -55,7 +55,7 @@
{
$groups = $object->getMembershipGroups(true);
if(!$groups) $groups = Array();
- if (!defined('ADMIN')) array_push($groups, $this->Application->ConfigValue('User_LoggedInGroup') );
+ if ( !$this->Application->IsAdmin() ) array_push($groups, $this->Application->ConfigValue('User_LoggedInGroup') );
$this->Application->StoreVar( 'UserGroups', implode(',', $groups) );
if( $this->Application->CheckPermission('LOGIN',0) )
Index: trunk/core/kernel/utility/http_query.php
===================================================================
diff -u -N -r2600 -r3031
--- trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 2600)
+++ trunk/core/kernel/utility/http_query.php (.../http_query.php) (revision 3031)
@@ -73,7 +73,7 @@
{
parent::Params();
$this->Order = $order;
- $this->Admin = defined('ADMIN') && ADMIN;
+ $this->Admin = $this->Application->IsAdmin(); // better cache this value, not to calculate it each time in foreach
$this->AddAllVars();
$this->specialsToRemove = $this->Get('remove_specials');
Index: trunk/core/units/users/users_event_handler.php
===================================================================
diff -u -N -r3013 -r3031
--- trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 3013)
+++ trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 3031)
@@ -55,7 +55,7 @@
{
$groups = $object->getMembershipGroups(true);
if(!$groups) $groups = Array();
- if (!defined('ADMIN')) array_push($groups, $this->Application->ConfigValue('User_LoggedInGroup') );
+ if ( !$this->Application->IsAdmin() ) array_push($groups, $this->Application->ConfigValue('User_LoggedInGroup') );
$this->Application->StoreVar( 'UserGroups', implode(',', $groups) );
if( $this->Application->CheckPermission('LOGIN',0) )
Index: trunk/core/kernel/parser/template.php
===================================================================
diff -u -N -r2839 -r3031
--- trunk/core/kernel/parser/template.php (.../template.php) (revision 2839)
+++ trunk/core/kernel/parser/template.php (.../template.php) (revision 3031)
@@ -82,14 +82,21 @@
function SetThemePath()
{
- if ( defined('SPECIAL_TEMPLATES_FOLDER') ) {
- safeDefine( 'THEMES_PATH', preg_replace('/'.preg_quote(rtrim(FULL_PATH, '/'), '/').'/i','',str_replace('\\', '/', FULL_PATH)). SPECIAL_TEMPLATES_FOLDER );
+ if ( defined('SPECIAL_TEMPLATES_FOLDER') )
+ {
+ $sub_folder = SPECIAL_TEMPLATES_FOLDER;
}
- else {
+ elseif( $this->Application->IsAdmin() )
+ {
+ $sub_folder = '/admin/templates';
+ }
+ else
+ {
$current_theme = $this->Application->GetVar('m_theme');
- $folder = $this->Application->DB->GetOne('SELECT Name FROM '.TABLE_PREFIX.'Theme WHERE ThemeId = '.$current_theme);
- safeDefine( 'THEMES_PATH', preg_replace('/'.preg_quote(rtrim(FULL_PATH, '/'), '/').'/i','',str_replace('\\', '/', FULL_PATH)). ( defined('ADMIN') ? '/admin/templates' : '/themes/'.$folder));
+ $theme_folder = $this->Application->DB->GetOne('SELECT Name FROM '.TABLE_PREFIX.'Theme WHERE ThemeId = '.$current_theme);
+ $sub_folder = '/themes/'.$theme_folder;
}
+ safeDefine('THEMES_PATH', $sub_folder);
}
function LoadTemplate($filename, $title=NULL, $silent=0)
@@ -103,7 +110,7 @@
$module_filename = $filename;
}
- if ( defined('ADMIN') && ADMIN && in_array(strtolower($first_dir), $this->ModulesCache)) {
+ if ( $this->Application->IsAdmin() && in_array(strtolower($first_dir), $this->ModulesCache)) {
$path = MODULES_PATH.'/'.strtolower($first_dir).'/admin_templates';
}
else {
@@ -126,7 +133,7 @@
$module_filename = $filename;
}
- if ( defined('ADMIN') && ADMIN && in_array(strtolower($first_dir), $this->ModulesCache)) {
+ if ( $this->Application->IsAdmin() && in_array(strtolower($first_dir), $this->ModulesCache)) {
$path = MODULES_PATH.'/'.strtolower($first_dir).'/admin_templates';
}
else {
Index: trunk/kernel/units/general/cat_event_handler.php
===================================================================
diff -u -N -r2915 -r3031
--- trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 2915)
+++ trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3031)
@@ -188,16 +188,16 @@
$view_perm = 1;
$object->addFilter('perm_filter', 'perm.PermId = '.$view_perm);
- if (!defined('ADMIN')) {
- $groups = explode(',',$this->Application->RecallVar('UserGroups'));
- foreach ($groups as $group) {
+
+ if ( !$this->Application->IsAdmin() )
+ {
+ $groups = explode( ',', $this->Application->RecallVar('UserGroups') );
+ foreach($groups as $group)
+ {
$view_filters[] = 'FIND_IN_SET('.$group.', perm.acl) || ((NOT FIND_IN_SET('.$group.',perm.dacl)) AND perm.acl=\'\')';
}
$view_filter = implode(' OR ', $view_filters);
$object->addFilter('perm_filter2', $view_filter);
- }
-
- if (!defined('ADMIN')) {
$object->addFilter('status_filter', $object->TableName.'.Status = 1');
}
Index: trunk/kernel/units/email_events/email_events_event_handler.php
===================================================================
diff -u -N -r2995 -r3031
--- trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 2995)
+++ trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 3031)
@@ -68,6 +68,11 @@
function OnEmailEvent(&$event){
$email_event = $event->getEventParam('EmailEventName');
+ if( strpos($email_event, '_') !== false )
+ {
+ trigger_error('Invalid email event name '.$email_event.'. Use only UPPERCASE characters and dots as email event names', E_USER_ERROR);
+ }
+
$to_user_id = $event->getEventParam('EmailEventToUserId');
$email_event_type = $event->getEventParam('EmailEventType');
@@ -87,7 +92,7 @@
$direct_send_params = $event->getEventParam('DirectSendParams');
if ($enabled == 0) return; // disabled event
- if ($enabled == 2 && defined("ADMIN")) return; // event only for front-end
+ if ($enabled == 2 && $this->Application->IsAdmin() ) return; // event only for front-end
if ($type == 1){
// For type "Admin" recipient is a user from field FromUserId which means From/To user in Email events list
Index: trunk/kernel/units/categories/categories_event_handler.php
===================================================================
diff -u -N -r2586 -r3031
--- trunk/kernel/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 2586)
+++ trunk/kernel/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 3031)
@@ -80,16 +80,14 @@
$view_perm = 1;
$object->addFilter('perm_filter', 'PermId = '.$view_perm);
- if (!defined('ADMIN')) {
+ if ( !$this->Application->IsAdmin() )
+ {
$groups = explode(',',$this->Application->RecallVar('UserGroups'));
foreach ($groups as $group) {
$view_filters[] = 'FIND_IN_SET('.$group.', acl) || ((NOT FIND_IN_SET('.$group.',dacl)) AND acl=\'\')';
}
$view_filter = implode(' OR ', $view_filters);
$object->addFilter('perm_filter2', $view_filter);
- }
-
- if (!defined('ADMIN')) {
$object->addFilter('status_filter', $object->TableName.'.Status = 1');
}
@@ -214,7 +212,7 @@
function GetPassedId(&$event)
{
- if (defined('ADMIN')) return parent::getPassedID($event);
+ if ( $this->Application->IsAdmin() ) return parent::getPassedID($event);
$ret = $this->Application->GetVar('m_cat_id');
if($ret) return $ret;
Index: trunk/core/kernel/application.php
===================================================================
diff -u -N -r2914 -r3031
--- trunk/core/kernel/application.php (.../application.php) (revision 2914)
+++ trunk/core/kernel/application.php (.../application.php) (revision 3031)
@@ -697,8 +697,8 @@
{
if(!$t) $t = $this->GetVar('t'); // moved from MainProcessor->T()
- if (defined('ADMIN') && $prefix == '') $prefix='/admin';
- if (defined('ADMIN') && $prefix == '_FRONT_END_') $prefix = '';
+ if ( $this->IsAdmin() && $prefix == '') $prefix='/admin';
+ if ( $this->IsAdmin() && $prefix == '_FRONT_END_') $prefix = '';
$index_file = isset($index_file) ? $index_file : (defined('INDEX_FILE') ? INDEX_FILE : basename($_SERVER['SCRIPT_NAME']));
if( isset($params['index_file']) ) $index_file = $params['index_file'];
Index: trunk/core/units/categories/categories_event_handler.php
===================================================================
diff -u -N -r2586 -r3031
--- trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 2586)
+++ trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 3031)
@@ -80,16 +80,14 @@
$view_perm = 1;
$object->addFilter('perm_filter', 'PermId = '.$view_perm);
- if (!defined('ADMIN')) {
+ if ( !$this->Application->IsAdmin() )
+ {
$groups = explode(',',$this->Application->RecallVar('UserGroups'));
foreach ($groups as $group) {
$view_filters[] = 'FIND_IN_SET('.$group.', acl) || ((NOT FIND_IN_SET('.$group.',dacl)) AND acl=\'\')';
}
$view_filter = implode(' OR ', $view_filters);
$object->addFilter('perm_filter2', $view_filter);
- }
-
- if (!defined('ADMIN')) {
$object->addFilter('status_filter', $object->TableName.'.Status = 1');
}
@@ -214,7 +212,7 @@
function GetPassedId(&$event)
{
- if (defined('ADMIN')) return parent::getPassedID($event);
+ if ( $this->Application->IsAdmin() ) return parent::getPassedID($event);
$ret = $this->Application->GetVar('m_cat_id');
if($ret) return $ret;
Index: trunk/core/units/general/cat_event_handler.php
===================================================================
diff -u -N -r2915 -r3031
--- trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 2915)
+++ trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3031)
@@ -188,16 +188,16 @@
$view_perm = 1;
$object->addFilter('perm_filter', 'perm.PermId = '.$view_perm);
- if (!defined('ADMIN')) {
- $groups = explode(',',$this->Application->RecallVar('UserGroups'));
- foreach ($groups as $group) {
+
+ if ( !$this->Application->IsAdmin() )
+ {
+ $groups = explode( ',', $this->Application->RecallVar('UserGroups') );
+ foreach($groups as $group)
+ {
$view_filters[] = 'FIND_IN_SET('.$group.', perm.acl) || ((NOT FIND_IN_SET('.$group.',perm.dacl)) AND perm.acl=\'\')';
}
$view_filter = implode(' OR ', $view_filters);
$object->addFilter('perm_filter2', $view_filter);
- }
-
- if (!defined('ADMIN')) {
$object->addFilter('status_filter', $object->TableName.'.Status = 1');
}
Index: trunk/core/units/email_events/email_events_event_handler.php
===================================================================
diff -u -N -r2995 -r3031
--- trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 2995)
+++ trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 3031)
@@ -68,6 +68,11 @@
function OnEmailEvent(&$event){
$email_event = $event->getEventParam('EmailEventName');
+ if( strpos($email_event, '_') !== false )
+ {
+ trigger_error('Invalid email event name '.$email_event.'. Use only UPPERCASE characters and dots as email event names', E_USER_ERROR);
+ }
+
$to_user_id = $event->getEventParam('EmailEventToUserId');
$email_event_type = $event->getEventParam('EmailEventType');
@@ -87,7 +92,7 @@
$direct_send_params = $event->getEventParam('DirectSendParams');
if ($enabled == 0) return; // disabled event
- if ($enabled == 2 && defined("ADMIN")) return; // event only for front-end
+ if ($enabled == 2 && $this->Application->IsAdmin() ) return; // event only for front-end
if ($type == 1){
// For type "Admin" recipient is a user from field FromUserId which means From/To user in Email events list
Index: trunk/kernel/units/general/inp_ses_storage.php
===================================================================
diff -u -N -r3021 -r3031
--- trunk/kernel/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3021)
+++ trunk/kernel/units/general/inp_ses_storage.php (.../inp_ses_storage.php) (revision 3031)
@@ -5,26 +5,27 @@
function Init($prefix,$special)
{
$this->SessionTimeout = $this->Application->ConfigValue('SessionTimeout');
- if (BASE_PATH == '') {
- $path = '/';
+
+ $path = (BASE_PATH == '') ? '/' : BASE_PATH;
+ if ( $this->Application->IsAdmin() ) $path = rtrim($path, '/').'/admin';
+ $this->SetCookiePath($path);
+
+ $this->SetCookieName( $this->Application->ConfigValue('SessionCookieName') );
+ $this->SetCookieDomain(SERVER_NAME);
+
+ if( $this->Application->IsAdmin() )
+ {
+ $mode = smAUTO;
}
- else {
- $path = BASE_PATH;
- }
- if ( defined('ADMIN') && ADMIN )
+ else
{
- $path = rtrim($path, '/');
- $path .= '/admin';
+ $ses_mode = $this->Application->ConfigValue('CookieSessions');
+ if ($ses_mode == 2) $mode = smAUTO;
+ if ($ses_mode == 1) $mode = smCOOKIES_ONLY;
+ if ($ses_mode == 0) $mode = smGET_ONLY;
}
- $this->SetCookiePath( $path );
- $ses_mode = $this->Application->ConfigValue('CookieSessions');
- if ($ses_mode == 2) $mode = smAUTO;
- if ($ses_mode == 1) $mode = smCOOKIES_ONLY;
- if ($ses_mode == 0) $mode = smGET_ONLY;
- if ( defined('ADMIN') && ADMIN ) $mode = smAUTO;
$this->SetMode($mode);
- $this->SetCookieName( $this->Application->ConfigValue('SessionCookieName') );
- $this->SetCookieDomain(SERVER_NAME);
+
parent::Init($prefix,$special);
if( !$this->Application->IsAdmin() && $this->GetField('PortalUserId') <= 0 )