Index: trunk/kernel/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r4675 -r4845 --- trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4675) +++ trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4845) @@ -16,7 +16,7 @@ ); $this->permMapping = array_merge($this->permMapping, $permissions); } - + /** * Changes permission section to one from REQUEST, not from config * @@ -26,7 +26,7 @@ { $module = $this->Application->GetVar('module'); $module = explode(':', $module, 2); - + if (count($module) == 1) { $main_prefix = $this->Application->findModule('Name', $module[0], 'Var'); } @@ -35,11 +35,11 @@ $main_prefix = $exceptions[ $module[1] ]; } $section = $this->Application->getUnitOption($main_prefix.'.email', 'PermSection'); - + $event->setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -91,7 +91,7 @@ WHERE '.$id_field.' IN ('.$ids.')'; $this->Conn->Query($sql); } - + $this->finalizePopup($event); } @@ -104,7 +104,7 @@ { $this->StoreSelectedIDs($event); } - + /** * Raised when email message shoul be sent * @@ -152,7 +152,7 @@ */ //Parse Message Template $message_object->Load(array('EventId' => $event_id, 'LanguageId' => $this->Application->GetVar('m_lang'))); - $message_type = $message_object->GetDBField('MessageType'); + $message_type = $message_object->GetDBField('MessageType'); // add footer: begin $sql = 'SELECT em.Template @@ -163,7 +163,7 @@ $footer = $message_object->GetDBField('MessageType') == 'text' ? strip_tags($footer[1]) : $footer[1]; $message_template = $message_object->GetDBField('Template')."\r\n".$footer; // add footer: end - + $email_object = &$this->Application->recallObject('kEmailMessage'); $email_object->Clear(); Index: trunk/core/kernel/application.php =================================================================== diff -u -N -r4842 -r4845 --- trunk/core/kernel/application.php (.../application.php) (revision 4842) +++ trunk/core/kernel/application.php (.../application.php) (revision 4845) @@ -1068,7 +1068,7 @@ */ function getPassInfo($pass = 'all') { - $pass = str_replace('all', trim($this->GetVar('passed'), ','), $pass); + $pass = trim(str_replace('all', trim($this->GetVar('passed'), ','), $pass), ','); if (!$pass) { return Array(); @@ -1145,6 +1145,8 @@ unset($params['escape']); } + $ret = str_replace('%2F', '/', urlencode($ret)); + $params_str = ''; $join_string = $encode ? '&' : '&'; foreach ($params as $param => $value) Index: trunk/core/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r4675 -r4845 --- trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4675) +++ trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4845) @@ -16,7 +16,7 @@ ); $this->permMapping = array_merge($this->permMapping, $permissions); } - + /** * Changes permission section to one from REQUEST, not from config * @@ -26,7 +26,7 @@ { $module = $this->Application->GetVar('module'); $module = explode(':', $module, 2); - + if (count($module) == 1) { $main_prefix = $this->Application->findModule('Name', $module[0], 'Var'); } @@ -35,11 +35,11 @@ $main_prefix = $exceptions[ $module[1] ]; } $section = $this->Application->getUnitOption($main_prefix.'.email', 'PermSection'); - + $event->setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -91,7 +91,7 @@ WHERE '.$id_field.' IN ('.$ids.')'; $this->Conn->Query($sql); } - + $this->finalizePopup($event); } @@ -104,7 +104,7 @@ { $this->StoreSelectedIDs($event); } - + /** * Raised when email message shoul be sent * @@ -152,7 +152,7 @@ */ //Parse Message Template $message_object->Load(array('EventId' => $event_id, 'LanguageId' => $this->Application->GetVar('m_lang'))); - $message_type = $message_object->GetDBField('MessageType'); + $message_type = $message_object->GetDBField('MessageType'); // add footer: begin $sql = 'SELECT em.Template @@ -163,7 +163,7 @@ $footer = $message_object->GetDBField('MessageType') == 'text' ? strip_tags($footer[1]) : $footer[1]; $message_template = $message_object->GetDBField('Template')."\r\n".$footer; // add footer: end - + $email_object = &$this->Application->recallObject('kEmailMessage'); $email_object->Clear(); Index: trunk/core/kernel/utility/debugger/debugger_responce.php =================================================================== diff -u -N -r4821 -r4845 --- trunk/core/kernel/utility/debugger/debugger_responce.php (.../debugger_responce.php) (revision 4821) +++ trunk/core/kernel/utility/debugger/debugger_responce.php (.../debugger_responce.php) (revision 4845) @@ -1,9 +1,9 @@ prefixFiles[$prefix])) { - $this->Application->Debugger->appendTrace(); + if ($this->Application->isDebugMode()) $this->Application->Debugger->appendTrace(); trigger_error('Configuration file for prefix '.$prefix.' is unknown', E_USER_ERROR); return ; } @@ -512,9 +512,15 @@ function setUnitOption($prefix, $name, $value) { if (preg_match('/(.*)\.(.*)/', $prefix, $rets)) { + if (!isset($this->configData[$rets[1]])) { + $this->loadConfig($rets[1]); + } $this->configData[$rets[1]][$name][$rets[2]] = $value; } else { + if (!isset($this->configData[$prefix])) { + $this->loadConfig($prefix); + } $this->configData[$prefix][$name] = $value; } Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r4802 -r4845 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 4802) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 4845) @@ -437,6 +437,7 @@ */ function RunRegularEvents($event_type = reBEFORE, $from_cron=false) { + if (defined('IS_INSTALL')) return ; // if RegularEvents are set to run from cron if (!$from_cron && $this->Application->ConfigValue('UseCronForRegularEvent')) return ; $events_source = ($event_type == reBEFORE) ? $this->beforeRegularEvents : $this->afterRegularEvents;