Index: trunk/kernel/units/images/image_event_handler.php =================================================================== diff -u -N -r4303 -r6625 --- trunk/kernel/units/images/image_event_handler.php (.../image_event_handler.php) (revision 4303) +++ trunk/kernel/units/images/image_event_handler.php (.../image_event_handler.php) (revision 6625) @@ -1,44 +1,44 @@ 'ImageAction', 'OnBeforeDeleteFromLive'=>'ImageAction', 'OnBeforeCopyToLive'=>'ImageAction', 'OnBeforeItemDelete'=>'ImageAction', 'OnAfterClone'=>'ImageAction', ); - + $this->eventMethods = array_merge($this->eventMethods, $image_events); } - + function customProcessing(&$event, $type) { $object =& $event->GetObject(); switch ($type) { - case 'before' : + case 'before' : if ($object->GetDBField('LocalImage')) { $object->SetDBField('Url', ''); } - else + else { $object->SetDBField('LocalPath', ''); } - - if ($object->GetDBField('LocalThumb')) + + if ($object->GetDBField('LocalThumb')) { $object->SetDBField('ThumbUrl', ''); } - else + else { $object->SetDBField('ThumbPath', ''); } - + if ($object->GetDBField('SameImages')) { $object->SetDBField('LocalImage', 1); @@ -53,12 +53,12 @@ $object->GetDBField('ResourceId').' AND ImageId<>'. $object->GetId(); $res = $this->Conn->Query($sql); - } + } break; default: } } - + function ImageAction(&$event) { $id = $event->getEventParam('id'); @@ -72,26 +72,26 @@ else { $object->SwitchToTemp(); } - + $object->Load($id); - + $fields = Array('LocalPath' => 'LocalImage', 'ThumbPath' => 'LocalThumb'); foreach ($fields as $a_field => $mode_field) { $file = $object->GetField($a_field); if (!$file) continue; $source_file = FULL_PATH.$file; - + switch ($event->Name) { // Copy image files to pending dir and update corresponding fields in temp record // Checking for existing files and renaming if nessessary - two users may upload same pending files at the same time! - case 'OnAfterCopyToTemp': + case 'OnAfterCopyToTemp': $new_file = IMAGES_PENDING_PATH . $this->ValidateFileName(FULL_PATH.IMAGES_PENDING_PATH, basename($file)); - $dest_file = FULL_PATH.$new_file; + $dest_file = FULL_PATH.$new_file; copy($source_file, $dest_file); $object->Fields[$a_field]['skip_empty'] = false; $object->SetDBField($a_field, $new_file); break; - + // Copy image files to live dir (checking if fileexists and renameing if nessessary) // and update corresponding fields in temp record (which gets copied to live automatically) case 'OnBeforeCopyToLive': @@ -108,12 +108,12 @@ $object->Fields[$a_field]['skip_empty'] = false; $object->SetDBField($a_field, $new_file); break; - + case 'OnBeforeDeleteFromLive': // Delete image files from live folder before copying over from temp case 'OnBeforeItemDelete': // Delete image files when deleteing Image object - @unlink(FULL_PATH.$file); + @unlink(FULL_PATH.$file); break; - + case 'OnAfterClone': // Copy files when cloning objects, renaming it on the fly $path_info = pathinfo($file); $new_file = $path_info['dirname'].'/'.$this->ValidateFileName(FULL_PATH.$path_info['dirname'], $path_info['basename']); @@ -128,25 +128,25 @@ $object->Update(null, true); } } - + function ValidateFileName($path, $name) { $parts = pathinfo($name); $ext = '.'.$parts['extension']; $filename = substr($parts['basename'], 0, -strlen($ext)); $new_name = $filename.$ext; - while ( file_exists($path.'/'.$new_name) ) + while ( file_exists($path.'/'.$new_name) ) { if ( preg_match("/({$filename}_)([0-9]*)($ext)/", $new_name, $regs) ) { $new_name = $regs[1].($regs[2]+1).$regs[3]; } else { $new_name = $filename.'_1'.$ext; } - } - return $new_name; + } + return $new_name; } - + /** * Enter description here... * @@ -158,7 +158,7 @@ $object->SetDBField('DefaultImg', 1); $object->Update(); } - + /** * Enter description here... * @@ -177,22 +177,22 @@ } if($object->GetDBField('DefaultImg') && $object->Validate()) { - + $sql = 'UPDATE '.$object->TableName.' SET DefaultImg = 0 WHERE ResourceId = '.$id.' AND ImageId <> '.$object->GetDBField('ImageId'); $this->Conn->Query($sql); $object->SetDBField('Enabled', 1); } } - + function OnAfterItemCreate(&$event) { $event->CallSubEvent('OnBeforeItemUpdate'); $object =& $event->getObject(); $object->Update(); - } - + } + /** * Deletes all selected items. * Automatically recurse into sub-items using temp handler, and deletes sub-items @@ -203,15 +203,15 @@ function OnMassDelete(&$event) { $event->status=erSUCCESS; - + $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - + $this->StoreSelectedIDs($event); - + $event->setEventParam('ids', $this->getSelectedIDs($event) ); $this->customProcessing($event, 'before'); $ids = $event->getEventParam('ids'); - + $object =& $event->getObject(); $sql = 'SELECT ImageId FROM '.$object->TableName.' WHERE DefaultImg=1'; $primary = $this->Conn->GetOne($sql); @@ -224,18 +224,18 @@ unset($ids[$key]); } } - + if($ids) { $temp->DeleteItems($event->Prefix, $event->Special, $ids); } $this->clearSelectedIDs($event); } - + /*function OnAfterItemLoad(&$event) { $object =& $event->getObject(); - + if ( $object->GetDBField('ThumbPath') || $object->GetDBField('SameImages') ) { // return local image or url @@ -246,24 +246,24 @@ $path = $object->GetDBField('LocalImage') ? PROTOCOL.SERVER_NAME.BASE_PATH.$object->GetDBField('LocalPath') : $object->GetDBField('Url'); if ( $object->GetDBField('LocalImage') && !file_exists(FULL_PATH.$object->GetDBField('LocalPath')) ) $path = ''; } - + $object->SetDBField('ImageUrl', $path); }*/ - + function SetCustomQuery(&$event) { parent::SetCustomQuery($event); - + $types=$event->getEventParam('types'); $except_types=$event->getEventParam('except'); $object =& $event->getObject(); $type_clauses = Array(); - + if( !$this->Application->IsAdmin() ) { $object->addFilter('active', '%1$s.Enabled = 1'); } - + if($product_id = $event->getEventParam('product_id')) { $object->removeFilter('parent_filter'); @@ -272,27 +272,27 @@ $resource_id = (int) $this->Conn->GetOne($sql); $object->addFilter('product_images', '%1$s.ResourceId = '.$resource_id); } - + $type_clauses['additional']['include'] = '%1$s.DefaultImg != 1'; $type_clauses['additional']['except'] = '%1$s.DefaultImg = 1'; $type_clauses['additional']['having_filter'] = false; - + /********************************************/ - + $includes_or_filter =& $this->Application->makeClass('kMultipleFilter'); $includes_or_filter->setType(FLT_TYPE_OR); - + $excepts_and_filter =& $this->Application->makeClass('kMultipleFilter'); $excepts_and_filter->setType(FLT_TYPE_AND); $includes_or_filter_h =& $this->Application->makeClass('kMultipleFilter'); $includes_or_filter_h->setType(FLT_TYPE_OR); - + $excepts_and_filter_h =& $this->Application->makeClass('kMultipleFilter'); $excepts_and_filter_h->setType(FLT_TYPE_AND); $except_types_array=explode(',', $types); - + if ($types){ $types_array=explode(',', $types); for ($i=0; $iaddFilter('includes_filter', $includes_or_filter); $object->addFilter('excepts_filter', $excepts_and_filter); - + $object->addFilter('includes_filter_h', $includes_or_filter_h, HAVING_FILTER); $object->addFilter('excepts_filter_h', $excepts_and_filter_h, HAVING_FILTER); } Index: trunk/core/units/configuration/configuration_event_handler.php =================================================================== diff -u -N -r6428 -r6625 --- trunk/core/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 6428) +++ trunk/core/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Conn->qstr( $this->Application->GetVar('cf_type') ); $main_prefix = $this->Conn->GetOne($sql); - + $section = $this->Application->getUnitOption($main_prefix.'.custom', 'PermSection'); $event->setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -28,26 +28,26 @@ function SetCustomQuery(&$event) { $object =& $event->getObject(); - + $item_type = $this->Application->GetVar('cf_type'); if (!$item_type) { $prefix = $event->getEventParam('SourcePrefix'); $item_type = $this->Application->getUnitOption($prefix, 'ItemType'); } - + if ($event->Special == 'general') { $object->addFilter('generaltab_filter', '%1$s.OnGeneralTab = 1'); } - + if ($item_type) { $object->addFilter('itemtype_filter', '%1$s.Type = '.$item_type); } - + if (!($this->Application->isDebugMode() && $this->Application->IsAdmin())) { $object->addFilter('user_filter', '%1$s.IsSystem = 0'); } } - + /** * Prevents from duplicate item creation * @@ -56,19 +56,19 @@ function OnBeforeItemCreate(&$event) { $object =& $event->getObject(); - + $live_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $sql = 'SELECT COUNT(*) FROM '.$live_table.' WHERE FieldName = '.$this->Conn->qstr($object->GetDBField('FieldName')).' AND Type = '.$object->GetDBField('Type'); $found = $this->Conn->GetOne($sql); - + if ($found) { $event->status = erFAIL; $object->SetError('FieldName', 'duplicate', 'la_error_CustomExists'); } } - + /** * Occurse after deleting item, id of deleted item * is stored as 'id' param of event @@ -80,11 +80,11 @@ { $object =& $event->getObject(); $main_prefix = $this->getPrefixByItemType($object->GetDBField('Type')); - + $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); $ml_helper->deleteField($main_prefix.'-cdata', $event->getEventParam('id')); } - + /** * Get config prefix based on item type * @@ -98,7 +98,7 @@ WHERE ItemType = '.$item_type; return $this->Conn->GetOne($sql); } - + /** * Enter description here... * @@ -109,22 +109,22 @@ if ($event->MasterEvent->status != erSUCCESS) { return false; } - + $object =& $event->getObject(); $main_prefix = $this->getPrefixByItemType($object->GetDBField('Type')); - + $this->Application->HandleEvent( new kEvent($main_prefix.'-cdata:OnCreateCustomFields') ); - + $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); $ml_helper->createFields($main_prefix.'-cdata'); } - + function OnMassDelete(&$event) { parent::OnMassDelete($event); $event->redirect_params = Array('opener' => 's'); } - + /** * Prepare temp tables for creating new item * but does not create it. Actual create is Index: trunk/kernel/units/modules/modules_event_handler.php =================================================================== diff -u -N -r4758 -r6625 --- trunk/kernel/units/modules/modules_event_handler.php (.../modules_event_handler.php) (revision 4758) +++ trunk/kernel/units/modules/modules_event_handler.php (.../modules_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ \ No newline at end of file Index: trunk/core/units/themes/themes_config.php =================================================================== diff -u -N -r5110 -r6625 --- trunk/core/units/themes/themes_config.php (.../themes_config.php) (revision 5110) +++ trunk/core/units/themes/themes_config.php (.../themes_config.php) (revision 6625) @@ -1,10 +1,10 @@ 'theme', 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'InpDBEventHandler','file'=>'','build_event'=>'OnBuild'), + 'EventHandlerClass' => Array('class'=>'kDBEventHandler','file'=>'','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'ThemesTagProcessor','file'=>'themes_tag_processor.php','build_event'=>'OnBuild'), 'AutoLoad' => true, 'Hooks' => Array(), @@ -15,15 +15,15 @@ 4 => 'mode', ), 'IDField' => 'ThemeId', - + 'StatusField' => Array('Enabled','Primary'), - + 'TitleField' => 'Name', - + 'TableName' => TABLE_PREFIX.'Theme', 'SubItems' => Array('themefiles'), - - + + 'Sections' => Array( 'in-portal:configure_themes' => Array( 'parent' => 'in-portal:system', @@ -34,34 +34,34 @@ 'priority' => 3, 'type' => stTREE, ), - + ), - + 'FilterMenu' => Array( 'Groups' => Array( Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER), ), - + 'Filters' => Array( 0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ), 1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0' ), ) ), - + 'AutoDelete' => true, 'AutoClone' => true, - + 'ListSQLs' => Array( ''=>'SELECT * FROM %s', ), // key - special, value - list select sql 'ItemSQLs' => Array( ''=>' SELECT %1$s.*, style.LastCompiled, style.Name AS StyleName - FROM %s + FROM %s LEFT JOIN '.TABLE_PREFIX.'Stylesheets style ON style.StylesheetId = %1$s.StylesheetId', ), - 'ListSortings' => Array( + 'ListSortings' => Array( '' => Array( 'Sorting' => Array('Name' => 'asc'), ) - ), + ), 'Fields' => Array( 'ThemeId' => Array(), 'Name' => Array('type' => 'string','not_null' => '1','default' => ''), @@ -75,7 +75,7 @@ 'VirtualFields' => Array( 'LastCompiled' => Array('type'=>'int', 'formatter'=>'kDateFormatter' ), ), - + 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif',0=>'icon16_style_disabled.gif',1=>'icon16_style.gif'), @@ -84,7 +84,7 @@ 'Description' => Array( 'title'=>'la_col_Description', 'data_block' => 'grid_description_td' ), 'Enabled' => Array( 'title'=>'la_col_Status' ), ), - + ), ), ); Index: trunk/core/units/phrases/phrases_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/phrases/phrases_event_handler.php (.../phrases_event_handler.php) (revision 6583) +++ trunk/core/units/phrases/phrases_event_handler.php (.../phrases_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Tree[$section_name]) ? $this->Tree[$section_name] : Array(); $this->Tree[$section_name] = array_merge_recursive2($current_data, $section_params); Index: trunk/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 6093) +++ trunk/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ GetTempName($table), - $table, - $IdField, - $ids); - $this->Conn->Query($query); - if (isset($autoincrement) && !empty($autoincrement)) { - $query = sprintf("ALTER TABLE %s - CHANGE %s %s INT(11) NOT NULL AUTO_INCREMENT, - ADD PRIMARY KEY (%s)", - $this->GetTempName($table), - $autoincrement, - $autoincrement, - $autoincrement, - $this->GetTempName($table)); - echo $query.'
'; - $this->Conn->Query($query); - } - - if($table == TABLE_PREFIX.'Images') - { - $query = sprintf('SELECT LocalPath,ThumbPath FROM %s WHERE %s IN (%s)',$table,$IdField,$ids); - $res = $this->Conn->Query($query); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - $dest_file = FULL_PATH.str_replace(IMAGES_PATH, IMAGES_PENDING_PATH, $field_value); - copy($source_file, $dest_file); - } - } - - $update_sql = 'UPDATE '.$this->GetTempName($table).' SET LocalPath = REPLACE(LocalPath, - "'.IMAGES_PATH.'", "'.IMAGES_PENDING_PATH.'"), - ThumbPath = REPLACE(ThumbPath, - "'.IMAGES_PATH.'","'.IMAGES_PENDING_PATH.'") - WHERE '.$IdField.' IN ('.$ids.')'; - $this->Conn->Query($update_sql); - - } - - } - - function CopyTempToOriginal($table, $IdField, $autoincrement=null) - { - if (isset($autoincrement) && !empty($autoincrement)) - { - $this->RemoveAutoincrement($table, $autoincrement); - } - - if( $table != $this->MasterTable ) - { - // get main ids - $sql = 'SELECT '.$this->Tables[$table]['ForeignKey']. - ' FROM '.$this->MasterTable. - ' WHERE '.$this->Tables[$this->MasterTable]['IdField'].' IN ('.implode(',',$this->MasterIDs).')'; - $main_ids = $this->Conn->GetCol($sql); - - if($main_ids) - { - if ($table == TABLE_PREFIX.'Images') - { - $sql = 'SELECT LocalPath, ThumbPath FROM '.$table. - ' WHERE '.$IdField.' IN ('.implode(',', $main_ids).')'; - $res = $this->Conn->Query($sql); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - unlink($source_file); - } - } - } - - // delete all related to main table records from subtable - $sql = 'DELETE FROM '.$table.' WHERE '.$IdField.' IN ('.implode(',',$main_ids).')'; - $this->Conn->Query($sql); - } - - $subtable_idfield = $this->Tables[$table]['SubIDField']; - $this->Conn->Query('UPDATE '.$this->GetTempName($table).' SET '.$subtable_idfield.' = 0 WHERE '.$subtable_idfield.' < 0'); - } - else - { - // get IDs, that exist in temp table - $query = sprintf('SELECT %s FROM %s', - $IdField, - $this->GetTempName($table)); - $this->MasterIDs = $this->Conn->GetCol($query); // were $temp_ids before - if($this->MasterIDs) - { - // delete original records from master table - $query = sprintf('DELETE FROM %s WHERE %s IN (%s)', - $table, - $IdField, - implode(',',$this->MasterIDs) ); - $this->Conn->Query($query); - } - } - - $query = sprintf("INSERT INTO %s - SELECT * FROM %s", - $table, - $this->GetTempName($table)); - $this->Conn->Query($query); - - - if($table == TABLE_PREFIX.'Images' && count($main_ids) > 0) - { - $query = sprintf(' SELECT LocalPath, ThumbPath FROM %s - WHERE %s IN (%s)', - $table, - $IdField, - implode(',',$this->MasterIDs)); - $res = $this->Conn->Query($query); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - $dest_file = FULL_PATH.str_replace(IMAGES_PENDING_PATH, IMAGES_PATH, $field_value); - rename($source_file, $dest_file); - } - } - - $update_sql = 'UPDATE '.$table.' SET LocalPath = REPLACE(LocalPath, - "'.IMAGES_PENDING_PATH.'", "'.IMAGES_PATH.'"), - ThumbPath = REPLACE(ThumbPath, - "'.IMAGES_PENDING_PATH.'", "'.IMAGES_PATH.'") - WHERE '.$IdField.' IN ('.implode(',', $this->MasterIDs).')'; - $this->Conn->Query($update_sql); - - } - - return $this->Conn->getInsertID(); - } - -} - - -?> \ No newline at end of file Index: trunk/kernel/units/category_items/category_items_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/kernel/units/category_items/category_items_event_handler.php (.../category_items_event_handler.php) (revision 6093) +++ trunk/kernel/units/category_items/category_items_event_handler.php (.../category_items_event_handler.php) (revision 6625) @@ -1,8 +1,8 @@ getObject(); - + $ml_formatter =& $this->Application->recallObject('kMultiLanguage'); $object->addCalculatedField('CategoryName', 'c.'.$ml_formatter->LangFieldName('CachedNavbar')); } - + /** * Set's new category as primary for product * @@ -28,15 +28,15 @@ $ids=$this->getSelectedIDs($event); if($ids) { - $id = array_shift($ids); + $id = array_shift($ids); $table_info = $object->getLinkedInfo(); - + $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 0 WHERE '.$table_info['ForeignKey'].' = '.$table_info['ParentId']); - $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 1 WHERE ('.$table_info['ForeignKey'].' = '.$table_info['ParentId'].') AND (CategoryId = '.$id.')'); + $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 1 WHERE ('.$table_info['ForeignKey'].' = '.$table_info['ParentId'].') AND (CategoryId = '.$id.')'); } $event->redirect_params = Array('opener' => 's', 'pass_events' => true); //stay! } - + /** * Apply custom processing to item * @@ -48,7 +48,7 @@ { $object =& $event->getObject(); $table_info = $object->getLinkedInfo(); - + switch ($type) { case 'before': @@ -59,7 +59,7 @@ $event->setEventParam('ids',$ids); } break; - + // not needed because 'before' does not allow to delete primary cat! /*case 'after': // set 1st not deleted category as primary @@ -73,7 +73,7 @@ } } } - + /** * Removes primary mark from cloned category items record * @@ -85,10 +85,10 @@ $table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); $sql = 'UPDATE %s SET PrimaryCat = 0 WHERE %s = %s'; - + $this->Conn->Query( sprintf($sql, $table, $id_field, $id) ); } - + /** * Deletes items of requested type from requested categories. * In case if item is deleted from it's last category, then delete item too. @@ -99,29 +99,29 @@ { $category_ids = $event->getEventParam('category_ids'); if(!$category_ids) return false; - + $item_prefix = $event->getEventParam('item_prefix'); $item =& $this->Application->recallObject($item_prefix.'.-item', null, Array('skip_autoload' => true)); - + $ci_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $item_table = $this->Application->getUnitOption($item_prefix, 'TableName'); - + $sql = 'SELECT ItemResourceId, CategoryId FROM %1$s INNER JOIN %2$s ON (%1$s.ResourceId = %2$s.ItemResourceId) WHERE CategoryId IN (%3$s)'; $category_items = $this->Conn->Query( sprintf($sql, $item_table, $ci_table, implode(',', $category_ids) ) ); - + $item_hash = Array(); foreach($category_items as $ci_row) { $item_hash[ $ci_row['ItemResourceId'] ][] = $ci_row['CategoryId']; } - + foreach($item_hash as $item_resource_id => $delete_category_ids) { $item->Load($item_resource_id, 'ResourceId'); $item->DeleteFromCategories($delete_category_ids); } } - + } ?> \ No newline at end of file Index: trunk/kernel/units/email_messages/email_messages_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/kernel/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 6583) +++ trunk/kernel/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Application->GetVar('HelpContent'); - + $module = $this->Application->GetVar('h_module'); $title_preset = $this->Application->GetVar('h_title_preset'); - + $sql = 'SELECT Path FROM '.TABLE_PREFIX.'Modules WHERE LOWER(Name)='.$this->Conn->qstr( strtolower($module) ); $module_path = $this->Conn->GetOne($sql); - + $help_file = FULL_PATH.'/'.$module_path.'module_help/'.$title_preset.'.txt'; $help_data = $this->Application->GetVar('HelpContent'); - + $fp = fopen($help_file,'w'); fwrite($fp,$help_data); fclose($fp); Index: trunk/kernel/units/statistics/statistics_event_handler.php =================================================================== diff -u -N -r4687 -r6625 --- trunk/kernel/units/statistics/statistics_event_handler.php (.../statistics_event_handler.php) (revision 4687) +++ trunk/kernel/units/statistics/statistics_event_handler.php (.../statistics_event_handler.php) (revision 6625) @@ -1,7 +1,7 @@ getObject(); - + if ($event->Special == 'summary') { $object->addFilter('summary_filter', '%1$s.AdminSummary = 1'); } - + $module_list = ''; foreach ($this->Application->ModuleInfo as $module_name => $module_info) { $module_list .= $this->Conn->qstr($module_name).','; } $module_list = preg_replace('/(.*),$/', '\\1', $module_list); - + $object->addFilter('status_filter', '%1$s.Module IN ('.$module_list.')'); } } Index: trunk/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 6583) +++ trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ permMapping = array_merge($this->permMapping, $permissions); } - + /** * Check permission of item, that being translated * @@ -24,13 +24,13 @@ function CheckPermission(&$event) { list($prefix, $field) = $this->getPrefixAndField($event); - + $top_prefix = $this->Application->GetTopmostPrefix($prefix); $event->setEventParam('top_prefix', $top_prefix); return parent::CheckPermission($event); } - - + + /** * Returns prefix and field being translated * @@ -39,74 +39,74 @@ function getPrefixAndField(&$event) { $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); - + if (strpos($field,':') !== false) { - list($prefix, $field) = explode(':', $field); + list($prefix, $field) = explode(':', $field); } else { - $prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + $prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); } return Array($prefix, $field); } - + function OnLoad(&$event) { list($obj_prefix, $field) = $this->getPrefixAndField($event); - + $object =& $this->Application->recallObject($obj_prefix); $translator =& $this->Application->recallObject($event->getPrefixSpecial()); - + $def_lang = $this->Application->GetDefaultLanguageId(); - + $current_lang = $translator->GetDBField('Language'); if (!$current_lang) $current_lang = $this->Application->RecallVar('trans_lang'); if (!$current_lang) $current_lang = $this->Application->GetVar('m_lang'); /*if ($current_lang == $def_lang) { $current_lang = $def_lang + 1; }*/ $this->Application->StoreVar('trans_lang', $current_lang); //remember translation language for user friendlyness - + $translator->SetID(1); $translator->SetDBField('Original', $object->GetDBField('l'.$this->Application->GetVar('m_lang').'_'.$field)); $translator->SetDBField('Language', $current_lang); $translator->SetDBField('SwitchLanguage', $current_lang); - + $translator->SetDBField('Translation', $object->GetDBField('l'.$current_lang.'_'.$field)); - + $cur_lang =& $this->Application->recallObject('lang.current'); $cur_lang->Load($current_lang); - + $translator->SetDBField('Charset', $cur_lang->GetDBField('Charset')); - + $event->redirect = false; } - + function OnSaveAndClose(&$event) { $event->CallSubEvent('OnPreSave'); $this->finalizePopup($event); } - + function OnPreSave(&$event) { $translator =& $this->Application->recallObject($event->getPrefixSpecial()); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) $field_values = array_shift($items_info); $translator->SetFieldsFromHash($field_values); - + list($obj_prefix, $field) = $this->getPrefixAndField($event); - + $object =& $this->Application->recallObject($obj_prefix); - + $lang = $translator->GetDBField('Language'); $object->Fields['l'.$lang.'_'.$field] = Array(); $object->SetDBField('l'.$lang.'_'.$field, $translator->GetDBField('Translation')); $this->RemoveRequiredFields($object); $object->Update(); } - + function OnChangeLanguage(&$event) { $event->CallSubEvent('OnPreSave'); @@ -115,7 +115,7 @@ $event->CallSubEvent('OnLoad'); $event->redirect = false; } - + } Index: trunk/core/units/relationship/relationship_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 6583) +++ trunk/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Factory->includeClassFile('kDBEventHandler'); -class kCatDBEventHandler extends InpDBEventHandler { +class kCatDBEventHandler extends kDBEventHandler { /** * Allows to override standart permission mapping Index: trunk/core/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r6428 -r6625 --- trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 6428) +++ trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ 'iterateItems', - 'OnMassDecline'=>'iterateItems', - 'OnMassMoveUp'=>'iterateItems', - 'OnMassMoveDown'=>'iterateItems', - ); - - $this->eventMethods = array_merge($this->eventMethods, $common_events); - } - - /** - * Apply same processing to each item beeing selected in grid - * - * @param kEvent $event - * @access private - */ - function iterateItems(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $object =& $event->getObject( Array('skip_autoload' => true) ); - $ids = $this->StoreSelectedIDs($event); - - if ($ids) { - $status_field = array_shift( $this->Application->getUnitOption($event->Prefix,'StatusField') ); - - foreach ($ids as $id) { - $object->Load($id); - - switch ($event->Name) { - case 'OnMassApprove': - $object->SetDBField($status_field, 1); - break; - - case 'OnMassDecline': - $object->SetDBField($status_field, 0); - break; - - case 'OnMassMoveUp': - $object->SetDBField('Priority', $object->GetDBField('Priority') + 1); - break; - - case 'OnMassMoveDown': - $object->SetDBField('Priority', $object->GetDBField('Priority') - 1); - break; - } - - if ($object->Update()) { - $event->status = erSUCCESS; - } - else { - $event->status = erFAIL; - $event->redirect = false; - break; - } - } - } - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function OnMassClone(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $event->status = erSUCCESS; - - $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - - $ids = $this->StoreSelectedIDs($event); - - if ($ids) { - $temp->CloneItems($event->Prefix, $event->Special, $ids); - } - - $this->clearSelectedIDs($event); - } - - function check_array($records, $field, $value) - { - foreach ($records as $record) { - if ($record[$field] == $value) { - return true; - } - } - return false; - } - - function OnPreSavePopup(&$event) - { - $object =& $event->getObject(); - $this->RemoveRequiredFields($object); - $event->CallSubEvent('OnPreSave'); - - $this->finalizePopup($event); - } - } - - -?> \ No newline at end of file Index: trunk/kernel/units/general/general_config.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/kernel/units/general/general_config.php (.../general_config.php) (revision 6583) +++ trunk/kernel/units/general/general_config.php (.../general_config.php) (revision 6625) @@ -4,7 +4,7 @@ 'Prefix' => 'm', 'EventHandlerClass' => Array('class' => 'MainEventHandler', 'file' => 'main_event_handler.php', 'build_event' => 'OnBuild'), /*'TagProcessorClass' => Array('class'=>'kMainTagProcessor','file'=>'','build_event'=>'OnBuild'),*/ - + 'QueryString' => Array( 1 => 'cat_id', 2 => 'cat_page', @@ -16,13 +16,21 @@ 'TitlePhrase' => 'la_Text_Category', 'ItemType' => 1, 'TableName' => TABLE_PREFIX.'Category', - + 'CatalogItem' => true, - + 'PortalStyleEnv' => true, - + 'PermTabText' => 'In-Portal', 'PermSection' => Array('search' => 'in-portal:configuration_search', 'custom' => 'in-portal:configuration_custom'), + + + 'RegisterClasses' => Array( + Array('class'=>'InpCustomFieldsHelper','pseudo'=>'InpCustomFieldsHelper','file'=>'custom_fields.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kCountryStatesHelper','pseudo'=>'CountryStatesHelper','file'=>'country_states.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kBracketsHelper','pseudo'=>'BracketsHelper','file'=>'brackets.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kXMLHelper','pseudo'=>'kXMLHelper','file'=>'xml_helper.php','build_event'=>'','require_classes'=>'kHelper'), + ), ); - + ?> \ No newline at end of file Index: trunk/kernel/units/user_groups/user_groups_config.php =================================================================== diff -u -N -r4790 -r6625 --- trunk/kernel/units/user_groups/user_groups_config.php (.../user_groups_config.php) (revision 4790) +++ trunk/kernel/units/user_groups/user_groups_config.php (.../user_groups_config.php) (revision 6625) @@ -19,7 +19,7 @@ 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'InpDBEventHandler','file'=>'','build_event'=>'OnBuild'), + 'EventHandlerClass' => Array('class'=>'kDBEventHandler','file'=>'','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'), 'AutoLoad' => true, Index: trunk/kernel/units/general/my_application.php =================================================================== diff -u -N --- trunk/kernel/units/general/my_application.php (revision 6583) +++ trunk/kernel/units/general/my_application.php (revision 0) @@ -1,56 +0,0 @@ -registerClass('Inp1Parser',MODULES_PATH.'/kernel/units/general/inp1_parser.php','Inp1Parser'); - - $this->registerClass('InpSession',MODULES_PATH.'/kernel/units/general/inp_ses_storage.php','Session'); - $this->registerClass('InpSessionStorage',MODULES_PATH.'/kernel/units/general/inp_ses_storage.php','SessionStorage'); - - $this->registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); - $this->registerClass('kCatDBItemExportHelper',MODULES_PATH.'/kernel/units/general/cat_dbitem_export.php', 'CatItemExportHelper'); - $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); - $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('kCatDBTagProcessor',MODULES_PATH.'/kernel/units/general/cat_tag_processor.php'); - - $this->registerClass('InpDBEventHandler', MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php', 'kDBEventHandler'); - $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler'); - - $this->registerClass('InpCustomFieldsHelper',MODULES_PATH.'/kernel/units/general/custom_fields.php','InpCustomFieldsHelper'); - $this->registerClass('kCountryStatesHelper',MODULES_PATH.'/kernel/units/general/country_states.php','CountryStatesHelper'); - $this->registerClass('kBracketsHelper',MODULES_PATH.'/kernel/units/general/brackets.php','BracketsHelper'); - $this->registerClass('kXMLHelper',MODULES_PATH.'/kernel/units/general/xml_helper.php','kXMLHelper'); - - $this->registerClass('kModulesHelper', MODULES_PATH.'/kernel/units/general/helpers/modules.php', 'ModulesHelper'); - } - - function getUserGroups($user_id) - { - switch($user_id) - { - case -1: - $user_groups = $this->ConfigValue('User_LoggedInGroup'); - break; - case -2: - $user_groups = $this->ConfigValue('User_LoggedInGroup'); - $user_groups .= ','.$this->ConfigValue('User_GuestGroup'); - break; - default: - $sql = 'SELECT GroupId FROM '.TABLE_PREFIX.'UserGroup WHERE PortalUserId = '.$user_id; - $res = $this->Conn->GetCol($sql); - $user_groups = Array( $this->ConfigValue('User_LoggedInGroup') ); - if(is_array($res)) - { - $user_groups = array_merge($user_groups, $res); - } - $user_groups = implode(',', $user_groups); - } - return $user_groups; - } - } - -?> \ No newline at end of file Index: trunk/kernel/units/selectors/selectors_event_handler.php =================================================================== diff -u -N -r5431 -r6625 --- trunk/kernel/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 5431) +++ trunk/kernel/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 6625) @@ -3,7 +3,7 @@ safeDefine('STYLE_BASE', 1); safeDefine('STYLE_BLOCK', 2); - class SelectorsEventHandler extends InpDBEventHandler + class SelectorsEventHandler extends kDBEventHandler { /** * Allows to override standart permission mapping @@ -15,13 +15,13 @@ $permissions = Array( 'OnResetToBase' => Array('subitem' => 'add|edit'), 'OnMassResetToBase' => Array('subitem' => 'add|edit'), - + 'OnOpenStyleEditor' => Array('subitem' => 'add|edit'), 'OnSaveStyle' => Array('subitem' => 'add|edit'), ); $this->permMapping = array_merge($this->permMapping, $permissions); } - + /** * Occures before an item has been cloned * Id of newly created item is passed as event' 'id' param @@ -32,43 +32,43 @@ { $event->Init($event->Prefix, '-item'); $object =& $event->getObject(); - + $title_field = 'SelectorName'; $new_name = $object->GetDBField($title_field); $original_checked = false; - + $foreign_key = $event->getEventParam('foreign_key'); // in case if whole stylesheet is cloned if($foreign_key === false) $foreign_key = $object->GetDBField('StylesheetId'); // in case if selector is copied ifself - + do { if ( preg_match('/(.*)-([\d]+)/', $new_name, $regs) ) { $new_name = $regs[1].'-'.($regs[2]+1); } elseif ($original_checked) { $new_name = $new_name.'-1'; } - - // if we are cloning in temp table this will look for names in temp table, + + // if we are cloning in temp table this will look for names in temp table, // since object' TableName contains correct TableName (for temp also!) // if we are cloning live - look in live - $query = ' SELECT '.$title_field.' + $query = ' SELECT '.$title_field.' FROM '.$object->TableName.' WHERE '.$title_field.' = '.$this->Conn->qstr($new_name).' AND StylesheetId = '.$foreign_key; - + $res = $this->Conn->GetOne($query); - + /*// if not found in live table, check in temp table if applicable if ($res === false && $object->Special == 'temp') { $query = 'SELECT '.$name_field.' FROM '.$this->GetTempName($master['TableName']).' WHERE '.$name_field.' = '.$this->Conn->qstr($new_name); $res = $this->Conn->GetOne($query); }*/ - + $original_checked = true; } while ($res !== false); $object->SetDBField($title_field, $new_name); } - + /** * Show base styles or block styles * @@ -82,13 +82,13 @@ case 'base': $object->addFilter('type_filter', '%1$s.Type = 1'); break; - + case 'block': $object->addFilter('type_filter', '%1$s.Type = 2'); break; } } - + /** * Enter description here... * @@ -98,7 +98,7 @@ { $this->SerializeSelectorData($event); } - + /** * Enter description here... * @@ -107,8 +107,8 @@ function OnBeforeItemCreate(&$event) { $this->SerializeSelectorData($event); - } - + } + /** * Enter description here... * @@ -118,7 +118,7 @@ { $this->UnserializeSelectorData($event); } - + /** * Enter description here... * @@ -128,7 +128,7 @@ { $this->UnserializeSelectorData($event); } - + /** * Get's special of main item for linking with subitem * @@ -139,7 +139,7 @@ { return ''; } - + /** * Save css-style name & description before opening css editor * @@ -150,7 +150,7 @@ $this->SaveChanges($event); $event->redirect = false; } - + /** * Saves Changes to Item * @@ -159,16 +159,16 @@ function SaveChanges(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) { - list($id,$field_values) = each($items_info); + list($id,$field_values) = each($items_info); if($id == 0) { $parent_id = getArrayValue($field_values,'ParentId'); if($parent_id) $object->Load($parent_id); - + $object->SetFieldsFromHash($field_values); $object->Create(); if( $object->IsTempTable() ) $object->setTempID(); @@ -182,7 +182,7 @@ } } } - + /** * Save style changes from style editor * @@ -191,13 +191,13 @@ function OnSaveStyle(&$event) { $this->SaveChanges($event); - + $object =& $event->getObject(); $this->Application->SetVar($event->getPrefixSpecial().'_id', $object->GetId() ); - + $this->finalizePopup($event); } - + /** * Extract styles * @@ -209,7 +209,7 @@ $selector_data = $object->GetDBField('SelectorData'); if($selector_data) { - $selector_data = unserialize($selector_data); + $selector_data = unserialize($selector_data); $object->SetDBField('SelectorData', $selector_data); } else @@ -218,7 +218,7 @@ } $this->AddParentProperties($event, $selector_data); } - + /** * Serialize item before saving to db * @@ -229,14 +229,14 @@ $object =& $event->getObject(); $selector_data = $object->GetDBField('SelectorData'); if(!$selector_data) $selector_data = Array(); - + $selector_data = $this->RemoveParentProperties($event, $selector_data); - + if( !IsSerialized($selector_data) ) $selector_data = serialize($selector_data); - + $object->SetDBField('SelectorData', $selector_data); } - + /** * Unserialize data back when update was made * @@ -248,12 +248,12 @@ $selector_data = $object->GetDBField('SelectorData'); if(!$selector_data) $selector_data = Array(); if( IsSerialized($selector_data) ) $selector_data = unserialize($selector_data); - + $selector_data = $this->AddParentProperties($event, $selector_data); - + $object->SetDBField('SelectorData', $selector_data); } - + /** * Populate options based on temporary table :) * @@ -262,13 +262,13 @@ function OnPrepareBaseStyles(&$event) { $object =& $event->getObject(); - + $parent_info = $object->getLinkedInfo(); $title_field = $this->Application->getUnitOption($event->Prefix,'TitleField'); $sql = 'SELECT '.$title_field.', '.$object->IDField.' FROM '.$object->TableName.' WHERE Type = 1 AND StylesheetId = '.$parent_info['ParentId'].' ORDER BY '.$title_field; $object->Fields['ParentId']['options'] = $this->Conn->GetCol($sql,$object->IDField); } - + /** * Remove properties of parent style that match by value from style * @@ -282,9 +282,9 @@ { $sql = 'SELECT SelectorData FROM '.$object->TableName.' WHERE '.$object->IDField.' = '.$parent_id; $base_selector_data = $this->Conn->GetOne($sql); - + if( IsSerialized($base_selector_data) ) $base_selector_data = unserialize($base_selector_data); - + foreach($selector_data as $prop_name => $prop_value) { if( !$prop_value || getArrayValue($base_selector_data,$prop_name) == $prop_value ) @@ -305,7 +305,7 @@ return $selector_data; } } - + /** * Add back properties from parent style, that match this style property values * @@ -319,17 +319,17 @@ { $sql = 'SELECT SelectorData FROM '.$object->TableName.' WHERE '.$object->IDField.' = '.$parent_id; $base_selector_data = $this->Conn->GetOne($sql); - + if( IsSerialized($base_selector_data) ) $base_selector_data = unserialize($base_selector_data); - + $selector_data = array_merge_recursive2($base_selector_data,$selector_data); - + $object->SetDBField('SelectorData', $selector_data); return $selector_data; } return $selector_data; } - + /** * Reset Style definition to base style -> no customizations * @@ -340,10 +340,10 @@ $object =& $event->getObject(); $object->SetFieldsFromHash( $this->getSubmittedFields($event) ); $object->ResetStyle(); - + $event->redirect_params['pass'] = 'all,'.$event->getPrefixSpecial(); } - + /** * Resets selected styles properties to values of their base classes * @@ -352,15 +352,15 @@ function OnMassResetToBase(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) { foreach($items_info as $id => $field_values) { $object->Load($id); $object->ResetStyle(); - } + } } } } Index: trunk/core/units/permissions/permissions_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/core/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 6093) +++ trunk/core/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ 'ImageAction', 'OnBeforeDeleteFromLive'=>'ImageAction', 'OnBeforeCopyToLive'=>'ImageAction', 'OnBeforeItemDelete'=>'ImageAction', 'OnAfterClone'=>'ImageAction', ); - + $this->eventMethods = array_merge($this->eventMethods, $image_events); } - + function customProcessing(&$event, $type) { $object =& $event->GetObject(); switch ($type) { - case 'before' : + case 'before' : if ($object->GetDBField('LocalImage')) { $object->SetDBField('Url', ''); } - else + else { $object->SetDBField('LocalPath', ''); } - - if ($object->GetDBField('LocalThumb')) + + if ($object->GetDBField('LocalThumb')) { $object->SetDBField('ThumbUrl', ''); } - else + else { $object->SetDBField('ThumbPath', ''); } - + if ($object->GetDBField('SameImages')) { $object->SetDBField('LocalImage', 1); @@ -53,12 +53,12 @@ $object->GetDBField('ResourceId').' AND ImageId<>'. $object->GetId(); $res = $this->Conn->Query($sql); - } + } break; default: } } - + function ImageAction(&$event) { $id = $event->getEventParam('id'); @@ -72,26 +72,26 @@ else { $object->SwitchToTemp(); } - + $object->Load($id); - + $fields = Array('LocalPath' => 'LocalImage', 'ThumbPath' => 'LocalThumb'); foreach ($fields as $a_field => $mode_field) { $file = $object->GetField($a_field); if (!$file) continue; $source_file = FULL_PATH.$file; - + switch ($event->Name) { // Copy image files to pending dir and update corresponding fields in temp record // Checking for existing files and renaming if nessessary - two users may upload same pending files at the same time! - case 'OnAfterCopyToTemp': + case 'OnAfterCopyToTemp': $new_file = IMAGES_PENDING_PATH . $this->ValidateFileName(FULL_PATH.IMAGES_PENDING_PATH, basename($file)); - $dest_file = FULL_PATH.$new_file; + $dest_file = FULL_PATH.$new_file; copy($source_file, $dest_file); $object->Fields[$a_field]['skip_empty'] = false; $object->SetDBField($a_field, $new_file); break; - + // Copy image files to live dir (checking if fileexists and renameing if nessessary) // and update corresponding fields in temp record (which gets copied to live automatically) case 'OnBeforeCopyToLive': @@ -108,12 +108,12 @@ $object->Fields[$a_field]['skip_empty'] = false; $object->SetDBField($a_field, $new_file); break; - + case 'OnBeforeDeleteFromLive': // Delete image files from live folder before copying over from temp case 'OnBeforeItemDelete': // Delete image files when deleteing Image object - @unlink(FULL_PATH.$file); + @unlink(FULL_PATH.$file); break; - + case 'OnAfterClone': // Copy files when cloning objects, renaming it on the fly $path_info = pathinfo($file); $new_file = $path_info['dirname'].'/'.$this->ValidateFileName(FULL_PATH.$path_info['dirname'], $path_info['basename']); @@ -128,25 +128,25 @@ $object->Update(null, true); } } - + function ValidateFileName($path, $name) { $parts = pathinfo($name); $ext = '.'.$parts['extension']; $filename = substr($parts['basename'], 0, -strlen($ext)); $new_name = $filename.$ext; - while ( file_exists($path.'/'.$new_name) ) + while ( file_exists($path.'/'.$new_name) ) { if ( preg_match("/({$filename}_)([0-9]*)($ext)/", $new_name, $regs) ) { $new_name = $regs[1].($regs[2]+1).$regs[3]; } else { $new_name = $filename.'_1'.$ext; } - } - return $new_name; + } + return $new_name; } - + /** * Enter description here... * @@ -158,7 +158,7 @@ $object->SetDBField('DefaultImg', 1); $object->Update(); } - + /** * Enter description here... * @@ -177,22 +177,22 @@ } if($object->GetDBField('DefaultImg') && $object->Validate()) { - + $sql = 'UPDATE '.$object->TableName.' SET DefaultImg = 0 WHERE ResourceId = '.$id.' AND ImageId <> '.$object->GetDBField('ImageId'); $this->Conn->Query($sql); $object->SetDBField('Enabled', 1); } } - + function OnAfterItemCreate(&$event) { $event->CallSubEvent('OnBeforeItemUpdate'); $object =& $event->getObject(); $object->Update(); - } - + } + /** * Deletes all selected items. * Automatically recurse into sub-items using temp handler, and deletes sub-items @@ -203,15 +203,15 @@ function OnMassDelete(&$event) { $event->status=erSUCCESS; - + $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - + $this->StoreSelectedIDs($event); - + $event->setEventParam('ids', $this->getSelectedIDs($event) ); $this->customProcessing($event, 'before'); $ids = $event->getEventParam('ids'); - + $object =& $event->getObject(); $sql = 'SELECT ImageId FROM '.$object->TableName.' WHERE DefaultImg=1'; $primary = $this->Conn->GetOne($sql); @@ -224,18 +224,18 @@ unset($ids[$key]); } } - + if($ids) { $temp->DeleteItems($event->Prefix, $event->Special, $ids); } $this->clearSelectedIDs($event); } - + /*function OnAfterItemLoad(&$event) { $object =& $event->getObject(); - + if ( $object->GetDBField('ThumbPath') || $object->GetDBField('SameImages') ) { // return local image or url @@ -246,24 +246,24 @@ $path = $object->GetDBField('LocalImage') ? PROTOCOL.SERVER_NAME.BASE_PATH.$object->GetDBField('LocalPath') : $object->GetDBField('Url'); if ( $object->GetDBField('LocalImage') && !file_exists(FULL_PATH.$object->GetDBField('LocalPath')) ) $path = ''; } - + $object->SetDBField('ImageUrl', $path); }*/ - + function SetCustomQuery(&$event) { parent::SetCustomQuery($event); - + $types=$event->getEventParam('types'); $except_types=$event->getEventParam('except'); $object =& $event->getObject(); $type_clauses = Array(); - + if( !$this->Application->IsAdmin() ) { $object->addFilter('active', '%1$s.Enabled = 1'); } - + if($product_id = $event->getEventParam('product_id')) { $object->removeFilter('parent_filter'); @@ -272,27 +272,27 @@ $resource_id = (int) $this->Conn->GetOne($sql); $object->addFilter('product_images', '%1$s.ResourceId = '.$resource_id); } - + $type_clauses['additional']['include'] = '%1$s.DefaultImg != 1'; $type_clauses['additional']['except'] = '%1$s.DefaultImg = 1'; $type_clauses['additional']['having_filter'] = false; - + /********************************************/ - + $includes_or_filter =& $this->Application->makeClass('kMultipleFilter'); $includes_or_filter->setType(FLT_TYPE_OR); - + $excepts_and_filter =& $this->Application->makeClass('kMultipleFilter'); $excepts_and_filter->setType(FLT_TYPE_AND); $includes_or_filter_h =& $this->Application->makeClass('kMultipleFilter'); $includes_or_filter_h->setType(FLT_TYPE_OR); - + $excepts_and_filter_h =& $this->Application->makeClass('kMultipleFilter'); $excepts_and_filter_h->setType(FLT_TYPE_AND); $except_types_array=explode(',', $types); - + if ($types){ $types_array=explode(',', $types); for ($i=0; $iaddFilter('includes_filter', $includes_or_filter); $object->addFilter('excepts_filter', $excepts_and_filter); - + $object->addFilter('includes_filter_h', $includes_or_filter_h, HAVING_FILTER); $object->addFilter('excepts_filter_h', $excepts_and_filter_h, HAVING_FILTER); } Index: trunk/core/units/stylesheets/stylesheets_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/core/units/stylesheets/stylesheets_event_handler.php (.../stylesheets_event_handler.php) (revision 6093) +++ trunk/core/units/stylesheets/stylesheets_event_handler.php (.../stylesheets_event_handler.php) (revision 6625) @@ -1,8 +1,8 @@ getObject( Array('skip_autoload' => true) ); $object->SwitchToLive(); - + $ids = explode(',', $event->MasterEvent->getEventParam('ids') ); - + if(!$ids) return false; foreach($ids as $id) { Index: trunk/core/units/config_search/config_search_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/core/units/config_search/config_search_event_handler.php (.../config_search_event_handler.php) (revision 6093) +++ trunk/core/units/config_search/config_search_event_handler.php (.../config_search_event_handler.php) (revision 6625) @@ -1,7 +1,7 @@ setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -26,11 +26,11 @@ function SetCustomQuery(&$event) { $object =& $event->getObject(); - + // show only items that belong to selected module $module = $this->Application->GetVar('module'); $object->addFilter('module_filter', '%1$s.ModuleName = '.$this->Conn->qstr($module)); - + // don't show disabled search items $object->addFilter('active_filter', '%1$s.SimpleSearch <> -1'); } @@ -44,12 +44,12 @@ { if (!$this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { parent::OnUpdate($event); - + $conf_update = new kEvent('conf:OnUpdate'); $conf_update->redirect = false; $this->Application->HandleEvent($conf_update); } - + $event->SetRedirectParam('opener', 's'); } @@ -58,7 +58,7 @@ parent::OnCancel($event); $event->SetRedirectParam('opener', 's'); } - + /** * [HOOK] Enter description here... * @@ -71,14 +71,14 @@ // user & system custom fields are not searchable return false; } - + $object =& $event->getObject( Array('skip_autoload' => true) ); - + $custom_id = $custom_field->GetID(); if ($object->GetDBField('CustomFieldId') != $custom_id) { $object->Load($custom_id, 'CustomFieldId'); } - + $cf_search = Array(); $cf_search['DisplayOrder'] = $custom_field->GetDBField('DisplayOrder'); $cf_search['ElementType'] = $custom_field->GetDBField('ElementType'); @@ -87,16 +87,16 @@ $cf_search['Description'] = $custom_field->GetDBField('Prompt'); $cf_search['ConfigHeader'] = $custom_field->GetDBField('Heading'); // 'la_Text_CustomFields'; $cf_search['TableName'] = 'CustomField'; - + $sql = 'SELECT Module FROM '.TABLE_PREFIX.'ItemTypes WHERE ItemType = '.$custom_field->GetDBField('Type'); - + $cf_search['ModuleName'] = $this->Conn->GetOne($sql); - + $object->SetFieldsFromHash($cf_search); $object->SetDBField('CustomFieldId', $custom_id); - + $result = $object->isLoaded() ? $object->Update() : $object->Create(); } } Index: trunk/kernel/units/configuration/configuration_event_handler.php =================================================================== diff -u -N -r6428 -r6625 --- trunk/kernel/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 6428) +++ trunk/kernel/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ \ No newline at end of file Index: trunk/core/units/custom_fields/custom_fields_event_handler.php =================================================================== diff -u -N -r4926 -r6625 --- trunk/core/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 4926) +++ trunk/core/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Conn->qstr( $this->Application->GetVar('cf_type') ); $main_prefix = $this->Conn->GetOne($sql); - + $section = $this->Application->getUnitOption($main_prefix.'.custom', 'PermSection'); $event->setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -28,26 +28,26 @@ function SetCustomQuery(&$event) { $object =& $event->getObject(); - + $item_type = $this->Application->GetVar('cf_type'); if (!$item_type) { $prefix = $event->getEventParam('SourcePrefix'); $item_type = $this->Application->getUnitOption($prefix, 'ItemType'); } - + if ($event->Special == 'general') { $object->addFilter('generaltab_filter', '%1$s.OnGeneralTab = 1'); } - + if ($item_type) { $object->addFilter('itemtype_filter', '%1$s.Type = '.$item_type); } - + if (!($this->Application->isDebugMode() && $this->Application->IsAdmin())) { $object->addFilter('user_filter', '%1$s.IsSystem = 0'); } } - + /** * Prevents from duplicate item creation * @@ -56,19 +56,19 @@ function OnBeforeItemCreate(&$event) { $object =& $event->getObject(); - + $live_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $sql = 'SELECT COUNT(*) FROM '.$live_table.' WHERE FieldName = '.$this->Conn->qstr($object->GetDBField('FieldName')).' AND Type = '.$object->GetDBField('Type'); $found = $this->Conn->GetOne($sql); - + if ($found) { $event->status = erFAIL; $object->SetError('FieldName', 'duplicate', 'la_error_CustomExists'); } } - + /** * Occurse after deleting item, id of deleted item * is stored as 'id' param of event @@ -80,11 +80,11 @@ { $object =& $event->getObject(); $main_prefix = $this->getPrefixByItemType($object->GetDBField('Type')); - + $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); $ml_helper->deleteField($main_prefix.'-cdata', $event->getEventParam('id')); } - + /** * Get config prefix based on item type * @@ -98,7 +98,7 @@ WHERE ItemType = '.$item_type; return $this->Conn->GetOne($sql); } - + /** * Enter description here... * @@ -109,22 +109,22 @@ if ($event->MasterEvent->status != erSUCCESS) { return false; } - + $object =& $event->getObject(); $main_prefix = $this->getPrefixByItemType($object->GetDBField('Type')); - + $this->Application->HandleEvent( new kEvent($main_prefix.'-cdata:OnCreateCustomFields') ); - + $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); $ml_helper->createFields($main_prefix.'-cdata'); } - + function OnMassDelete(&$event) { parent::OnMassDelete($event); $event->redirect_params = Array('opener' => 's'); } - + /** * Prepare temp tables for creating new item * but does not create it. Actual create is Index: trunk/core/units/users/users_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 6583) +++ trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ 'theme', 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'InpDBEventHandler','file'=>'','build_event'=>'OnBuild'), + 'EventHandlerClass' => Array('class'=>'kDBEventHandler','file'=>'','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'ThemesTagProcessor','file'=>'themes_tag_processor.php','build_event'=>'OnBuild'), 'AutoLoad' => true, 'Hooks' => Array(), @@ -15,15 +15,15 @@ 4 => 'mode', ), 'IDField' => 'ThemeId', - + 'StatusField' => Array('Enabled','Primary'), - + 'TitleField' => 'Name', - + 'TableName' => TABLE_PREFIX.'Theme', 'SubItems' => Array('themefiles'), - - + + 'Sections' => Array( 'in-portal:configure_themes' => Array( 'parent' => 'in-portal:system', @@ -34,34 +34,34 @@ 'priority' => 3, 'type' => stTREE, ), - + ), - + 'FilterMenu' => Array( 'Groups' => Array( Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER), ), - + 'Filters' => Array( 0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ), 1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0' ), ) ), - + 'AutoDelete' => true, 'AutoClone' => true, - + 'ListSQLs' => Array( ''=>'SELECT * FROM %s', ), // key - special, value - list select sql 'ItemSQLs' => Array( ''=>' SELECT %1$s.*, style.LastCompiled, style.Name AS StyleName - FROM %s + FROM %s LEFT JOIN '.TABLE_PREFIX.'Stylesheets style ON style.StylesheetId = %1$s.StylesheetId', ), - 'ListSortings' => Array( + 'ListSortings' => Array( '' => Array( 'Sorting' => Array('Name' => 'asc'), ) - ), + ), 'Fields' => Array( 'ThemeId' => Array(), 'Name' => Array('type' => 'string','not_null' => '1','default' => ''), @@ -75,7 +75,7 @@ 'VirtualFields' => Array( 'LastCompiled' => Array('type'=>'int', 'formatter'=>'kDateFormatter' ), ), - + 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif',0=>'icon16_style_disabled.gif',1=>'icon16_style.gif'), @@ -84,7 +84,7 @@ 'Description' => Array( 'title'=>'la_col_Description', 'data_block' => 'grid_description_td' ), 'Enabled' => Array( 'title'=>'la_col_Status' ), ), - + ), ), ); Index: trunk/kernel/units/reviews/reviews_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/kernel/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 6093) +++ trunk/kernel/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Tree[$section_name]) ? $this->Tree[$section_name] : Array(); $this->Tree[$section_name] = array_merge_recursive2($current_data, $section_params); Index: trunk/core/units/general/inp_temp_handler.php =================================================================== diff -u -N --- trunk/core/units/general/inp_temp_handler.php (revision 2604) +++ trunk/core/units/general/inp_temp_handler.php (revision 0) @@ -1,158 +0,0 @@ -GetTempName($table), - $table, - $IdField, - $ids); - $this->Conn->Query($query); - if (isset($autoincrement) && !empty($autoincrement)) { - $query = sprintf("ALTER TABLE %s - CHANGE %s %s INT(11) NOT NULL AUTO_INCREMENT, - ADD PRIMARY KEY (%s)", - $this->GetTempName($table), - $autoincrement, - $autoincrement, - $autoincrement, - $this->GetTempName($table)); - echo $query.'
'; - $this->Conn->Query($query); - } - - if($table == TABLE_PREFIX.'Images') - { - $query = sprintf('SELECT LocalPath,ThumbPath FROM %s WHERE %s IN (%s)',$table,$IdField,$ids); - $res = $this->Conn->Query($query); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - $dest_file = FULL_PATH.str_replace(IMAGES_PATH, IMAGES_PENDING_PATH, $field_value); - copy($source_file, $dest_file); - } - } - - $update_sql = 'UPDATE '.$this->GetTempName($table).' SET LocalPath = REPLACE(LocalPath, - "'.IMAGES_PATH.'", "'.IMAGES_PENDING_PATH.'"), - ThumbPath = REPLACE(ThumbPath, - "'.IMAGES_PATH.'","'.IMAGES_PENDING_PATH.'") - WHERE '.$IdField.' IN ('.$ids.')'; - $this->Conn->Query($update_sql); - - } - - } - - function CopyTempToOriginal($table, $IdField, $autoincrement=null) - { - if (isset($autoincrement) && !empty($autoincrement)) - { - $this->RemoveAutoincrement($table, $autoincrement); - } - - if( $table != $this->MasterTable ) - { - // get main ids - $sql = 'SELECT '.$this->Tables[$table]['ForeignKey']. - ' FROM '.$this->MasterTable. - ' WHERE '.$this->Tables[$this->MasterTable]['IdField'].' IN ('.implode(',',$this->MasterIDs).')'; - $main_ids = $this->Conn->GetCol($sql); - - if($main_ids) - { - if ($table == TABLE_PREFIX.'Images') - { - $sql = 'SELECT LocalPath, ThumbPath FROM '.$table. - ' WHERE '.$IdField.' IN ('.implode(',', $main_ids).')'; - $res = $this->Conn->Query($sql); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - unlink($source_file); - } - } - } - - // delete all related to main table records from subtable - $sql = 'DELETE FROM '.$table.' WHERE '.$IdField.' IN ('.implode(',',$main_ids).')'; - $this->Conn->Query($sql); - } - - $subtable_idfield = $this->Tables[$table]['SubIDField']; - $this->Conn->Query('UPDATE '.$this->GetTempName($table).' SET '.$subtable_idfield.' = 0 WHERE '.$subtable_idfield.' < 0'); - } - else - { - // get IDs, that exist in temp table - $query = sprintf('SELECT %s FROM %s', - $IdField, - $this->GetTempName($table)); - $this->MasterIDs = $this->Conn->GetCol($query); // were $temp_ids before - if($this->MasterIDs) - { - // delete original records from master table - $query = sprintf('DELETE FROM %s WHERE %s IN (%s)', - $table, - $IdField, - implode(',',$this->MasterIDs) ); - $this->Conn->Query($query); - } - } - - $query = sprintf("INSERT INTO %s - SELECT * FROM %s", - $table, - $this->GetTempName($table)); - $this->Conn->Query($query); - - - if($table == TABLE_PREFIX.'Images' && count($main_ids) > 0) - { - $query = sprintf(' SELECT LocalPath, ThumbPath FROM %s - WHERE %s IN (%s)', - $table, - $IdField, - implode(',',$this->MasterIDs)); - $res = $this->Conn->Query($query); - - foreach ($res as $record) - { - foreach ($record as $field => $field_value) - { - $source_file = FULL_PATH.$field_value; - $dest_file = FULL_PATH.str_replace(IMAGES_PENDING_PATH, IMAGES_PATH, $field_value); - rename($source_file, $dest_file); - } - } - - $update_sql = 'UPDATE '.$table.' SET LocalPath = REPLACE(LocalPath, - "'.IMAGES_PENDING_PATH.'", "'.IMAGES_PATH.'"), - ThumbPath = REPLACE(ThumbPath, - "'.IMAGES_PENDING_PATH.'", "'.IMAGES_PATH.'") - WHERE '.$IdField.' IN ('.implode(',', $this->MasterIDs).')'; - $this->Conn->Query($update_sql); - - } - - return $this->Conn->getInsertID(); - } - -} - - -?> \ No newline at end of file Index: trunk/kernel/units/translator/translator_event_handler.php =================================================================== diff -u -N -r4788 -r6625 --- trunk/kernel/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 4788) +++ trunk/kernel/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ permMapping = array_merge($this->permMapping, $permissions); } - + /** * Check permission of item, that being translated * @@ -24,13 +24,13 @@ function CheckPermission(&$event) { list($prefix, $field) = $this->getPrefixAndField($event); - + $top_prefix = $this->Application->GetTopmostPrefix($prefix); $event->setEventParam('top_prefix', $top_prefix); return parent::CheckPermission($event); } - - + + /** * Returns prefix and field being translated * @@ -39,74 +39,74 @@ function getPrefixAndField(&$event) { $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); - + if (strpos($field,':') !== false) { - list($prefix, $field) = explode(':', $field); + list($prefix, $field) = explode(':', $field); } else { - $prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + $prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); } return Array($prefix, $field); } - + function OnLoad(&$event) { list($obj_prefix, $field) = $this->getPrefixAndField($event); - + $object =& $this->Application->recallObject($obj_prefix); $translator =& $this->Application->recallObject($event->getPrefixSpecial()); - + $def_lang = $this->Application->GetDefaultLanguageId(); - + $current_lang = $translator->GetDBField('Language'); if (!$current_lang) $current_lang = $this->Application->RecallVar('trans_lang'); if (!$current_lang) $current_lang = $this->Application->GetVar('m_lang'); /*if ($current_lang == $def_lang) { $current_lang = $def_lang + 1; }*/ $this->Application->StoreVar('trans_lang', $current_lang); //remember translation language for user friendlyness - + $translator->SetID(1); $translator->SetDBField('Original', $object->GetDBField('l'.$this->Application->GetVar('m_lang').'_'.$field)); $translator->SetDBField('Language', $current_lang); $translator->SetDBField('SwitchLanguage', $current_lang); - + $translator->SetDBField('Translation', $object->GetDBField('l'.$current_lang.'_'.$field)); - + $cur_lang =& $this->Application->recallObject('lang.current'); $cur_lang->Load($current_lang); - + $translator->SetDBField('Charset', $cur_lang->GetDBField('Charset')); - + $event->redirect = false; } - + function OnSaveAndClose(&$event) { $event->CallSubEvent('OnPreSave'); $this->finalizePopup($event); } - + function OnPreSave(&$event) { $translator =& $this->Application->recallObject($event->getPrefixSpecial()); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) $field_values = array_shift($items_info); $translator->SetFieldsFromHash($field_values); - + list($obj_prefix, $field) = $this->getPrefixAndField($event); - + $object =& $this->Application->recallObject($obj_prefix); - + $lang = $translator->GetDBField('Language'); $object->Fields['l'.$lang.'_'.$field] = Array(); $object->SetDBField('l'.$lang.'_'.$field, $translator->GetDBField('Translation')); $this->RemoveRequiredFields($object); $object->Update(); } - + function OnChangeLanguage(&$event) { $event->CallSubEvent('OnPreSave'); @@ -115,7 +115,7 @@ $event->CallSubEvent('OnLoad'); $event->redirect = false; } - + } Index: trunk/kernel/units/relationship/relationship_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/kernel/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 6583) +++ trunk/kernel/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ Factory->includeClassFile('kDBEventHandler'); -class kCatDBEventHandler extends InpDBEventHandler { +class kCatDBEventHandler extends kDBEventHandler { /** * Allows to override standart permission mapping Index: trunk/kernel/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r6428 -r6625 --- trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 6428) +++ trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ getObject(); - + $ml_formatter =& $this->Application->recallObject('kMultiLanguage'); $object->addCalculatedField('CategoryName', 'c.'.$ml_formatter->LangFieldName('CachedNavbar')); } - + /** * Set's new category as primary for product * @@ -28,15 +28,15 @@ $ids=$this->getSelectedIDs($event); if($ids) { - $id = array_shift($ids); + $id = array_shift($ids); $table_info = $object->getLinkedInfo(); - + $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 0 WHERE '.$table_info['ForeignKey'].' = '.$table_info['ParentId']); - $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 1 WHERE ('.$table_info['ForeignKey'].' = '.$table_info['ParentId'].') AND (CategoryId = '.$id.')'); + $this->Conn->Query('UPDATE '.$object->TableName.' SET PrimaryCat = 1 WHERE ('.$table_info['ForeignKey'].' = '.$table_info['ParentId'].') AND (CategoryId = '.$id.')'); } $event->redirect_params = Array('opener' => 's', 'pass_events' => true); //stay! } - + /** * Apply custom processing to item * @@ -48,7 +48,7 @@ { $object =& $event->getObject(); $table_info = $object->getLinkedInfo(); - + switch ($type) { case 'before': @@ -59,7 +59,7 @@ $event->setEventParam('ids',$ids); } break; - + // not needed because 'before' does not allow to delete primary cat! /*case 'after': // set 1st not deleted category as primary @@ -73,7 +73,7 @@ } } } - + /** * Removes primary mark from cloned category items record * @@ -85,10 +85,10 @@ $table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); $sql = 'UPDATE %s SET PrimaryCat = 0 WHERE %s = %s'; - + $this->Conn->Query( sprintf($sql, $table, $id_field, $id) ); } - + /** * Deletes items of requested type from requested categories. * In case if item is deleted from it's last category, then delete item too. @@ -99,29 +99,29 @@ { $category_ids = $event->getEventParam('category_ids'); if(!$category_ids) return false; - + $item_prefix = $event->getEventParam('item_prefix'); $item =& $this->Application->recallObject($item_prefix.'.-item', null, Array('skip_autoload' => true)); - + $ci_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); $item_table = $this->Application->getUnitOption($item_prefix, 'TableName'); - + $sql = 'SELECT ItemResourceId, CategoryId FROM %1$s INNER JOIN %2$s ON (%1$s.ResourceId = %2$s.ItemResourceId) WHERE CategoryId IN (%3$s)'; $category_items = $this->Conn->Query( sprintf($sql, $item_table, $ci_table, implode(',', $category_ids) ) ); - + $item_hash = Array(); foreach($category_items as $ci_row) { $item_hash[ $ci_row['ItemResourceId'] ][] = $ci_row['CategoryId']; } - + foreach($item_hash as $item_resource_id => $delete_category_ids) { $item->Load($item_resource_id, 'ResourceId'); $item->DeleteFromCategories($delete_category_ids); } } - + } ?> \ No newline at end of file Index: trunk/core/units/email_messages/email_messages_event_handler.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 6583) +++ trunk/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ 'iterateItems', - 'OnMassDecline'=>'iterateItems', - 'OnMassMoveUp'=>'iterateItems', - 'OnMassMoveDown'=>'iterateItems', - ); - - $this->eventMethods = array_merge($this->eventMethods, $common_events); - } - - /** - * Apply same processing to each item beeing selected in grid - * - * @param kEvent $event - * @access private - */ - function iterateItems(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $object =& $event->getObject( Array('skip_autoload' => true) ); - $ids = $this->StoreSelectedIDs($event); - - if ($ids) { - $status_field = array_shift( $this->Application->getUnitOption($event->Prefix,'StatusField') ); - - foreach ($ids as $id) { - $object->Load($id); - - switch ($event->Name) { - case 'OnMassApprove': - $object->SetDBField($status_field, 1); - break; - - case 'OnMassDecline': - $object->SetDBField($status_field, 0); - break; - - case 'OnMassMoveUp': - $object->SetDBField('Priority', $object->GetDBField('Priority') + 1); - break; - - case 'OnMassMoveDown': - $object->SetDBField('Priority', $object->GetDBField('Priority') - 1); - break; - } - - if ($object->Update()) { - $event->status = erSUCCESS; - } - else { - $event->status = erFAIL; - $event->redirect = false; - break; - } - } - } - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function OnMassClone(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $event->status = erSUCCESS; - - $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - - $ids = $this->StoreSelectedIDs($event); - - if ($ids) { - $temp->CloneItems($event->Prefix, $event->Special, $ids); - } - - $this->clearSelectedIDs($event); - } - - function check_array($records, $field, $value) - { - foreach ($records as $record) { - if ($record[$field] == $value) { - return true; - } - } - return false; - } - - function OnPreSavePopup(&$event) - { - $object =& $event->getObject(); - $this->RemoveRequiredFields($object); - $event->CallSubEvent('OnPreSave'); - - $this->finalizePopup($event); - } - } - - -?> \ No newline at end of file Index: trunk/core/units/help/help_event_handler.php =================================================================== diff -u -N -r1662 -r6625 --- trunk/core/units/help/help_event_handler.php (.../help_event_handler.php) (revision 1662) +++ trunk/core/units/help/help_event_handler.php (.../help_event_handler.php) (revision 6625) @@ -1,8 +1,8 @@ Application->GetVar('HelpContent'); - + $module = $this->Application->GetVar('h_module'); $title_preset = $this->Application->GetVar('h_title_preset'); - + $sql = 'SELECT Path FROM '.TABLE_PREFIX.'Modules WHERE LOWER(Name)='.$this->Conn->qstr( strtolower($module) ); $module_path = $this->Conn->GetOne($sql); - + $help_file = FULL_PATH.'/'.$module_path.'module_help/'.$title_preset.'.txt'; $help_data = $this->Application->GetVar('HelpContent'); - + $fp = fopen($help_file,'w'); fwrite($fp,$help_data); fclose($fp); Index: trunk/core/units/statistics/statistics_event_handler.php =================================================================== diff -u -N -r4687 -r6625 --- trunk/core/units/statistics/statistics_event_handler.php (.../statistics_event_handler.php) (revision 4687) +++ trunk/core/units/statistics/statistics_event_handler.php (.../statistics_event_handler.php) (revision 6625) @@ -1,7 +1,7 @@ getObject(); - + if ($event->Special == 'summary') { $object->addFilter('summary_filter', '%1$s.AdminSummary = 1'); } - + $module_list = ''; foreach ($this->Application->ModuleInfo as $module_name => $module_info) { $module_list .= $this->Conn->qstr($module_name).','; } $module_list = preg_replace('/(.*),$/', '\\1', $module_list); - + $object->addFilter('status_filter', '%1$s.Module IN ('.$module_list.')'); } } Index: trunk/core/units/user_groups/user_groups_config.php =================================================================== diff -u -N -r4790 -r6625 --- trunk/core/units/user_groups/user_groups_config.php (.../user_groups_config.php) (revision 4790) +++ trunk/core/units/user_groups/user_groups_config.php (.../user_groups_config.php) (revision 6625) @@ -19,7 +19,7 @@ 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'InpDBEventHandler','file'=>'','build_event'=>'OnBuild'), + 'EventHandlerClass' => Array('class'=>'kDBEventHandler','file'=>'','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'), 'AutoLoad' => true, Index: trunk/core/units/general/general_config.php =================================================================== diff -u -N -r6583 -r6625 --- trunk/core/units/general/general_config.php (.../general_config.php) (revision 6583) +++ trunk/core/units/general/general_config.php (.../general_config.php) (revision 6625) @@ -4,7 +4,7 @@ 'Prefix' => 'm', 'EventHandlerClass' => Array('class' => 'MainEventHandler', 'file' => 'main_event_handler.php', 'build_event' => 'OnBuild'), /*'TagProcessorClass' => Array('class'=>'kMainTagProcessor','file'=>'','build_event'=>'OnBuild'),*/ - + 'QueryString' => Array( 1 => 'cat_id', 2 => 'cat_page', @@ -16,13 +16,21 @@ 'TitlePhrase' => 'la_Text_Category', 'ItemType' => 1, 'TableName' => TABLE_PREFIX.'Category', - + 'CatalogItem' => true, - + 'PortalStyleEnv' => true, - + 'PermTabText' => 'In-Portal', 'PermSection' => Array('search' => 'in-portal:configuration_search', 'custom' => 'in-portal:configuration_custom'), + + + 'RegisterClasses' => Array( + Array('class'=>'InpCustomFieldsHelper','pseudo'=>'InpCustomFieldsHelper','file'=>'custom_fields.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kCountryStatesHelper','pseudo'=>'CountryStatesHelper','file'=>'country_states.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kBracketsHelper','pseudo'=>'BracketsHelper','file'=>'brackets.php','build_event'=>'','require_classes'=>'kHelper'), + Array('class'=>'kXMLHelper','pseudo'=>'kXMLHelper','file'=>'xml_helper.php','build_event'=>'','require_classes'=>'kHelper'), + ), ); - + ?> \ No newline at end of file Index: trunk/core/units/general/my_application.php =================================================================== diff -u -N --- trunk/core/units/general/my_application.php (revision 6583) +++ trunk/core/units/general/my_application.php (revision 0) @@ -1,56 +0,0 @@ -registerClass('Inp1Parser',MODULES_PATH.'/kernel/units/general/inp1_parser.php','Inp1Parser'); - - $this->registerClass('InpSession',MODULES_PATH.'/kernel/units/general/inp_ses_storage.php','Session'); - $this->registerClass('InpSessionStorage',MODULES_PATH.'/kernel/units/general/inp_ses_storage.php','SessionStorage'); - - $this->registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); - $this->registerClass('kCatDBItemExportHelper',MODULES_PATH.'/kernel/units/general/cat_dbitem_export.php', 'CatItemExportHelper'); - $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); - $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('kCatDBTagProcessor',MODULES_PATH.'/kernel/units/general/cat_tag_processor.php'); - - $this->registerClass('InpDBEventHandler', MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php', 'kDBEventHandler'); - $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler'); - - $this->registerClass('InpCustomFieldsHelper',MODULES_PATH.'/kernel/units/general/custom_fields.php','InpCustomFieldsHelper'); - $this->registerClass('kCountryStatesHelper',MODULES_PATH.'/kernel/units/general/country_states.php','CountryStatesHelper'); - $this->registerClass('kBracketsHelper',MODULES_PATH.'/kernel/units/general/brackets.php','BracketsHelper'); - $this->registerClass('kXMLHelper',MODULES_PATH.'/kernel/units/general/xml_helper.php','kXMLHelper'); - - $this->registerClass('kModulesHelper', MODULES_PATH.'/kernel/units/general/helpers/modules.php', 'ModulesHelper'); - } - - function getUserGroups($user_id) - { - switch($user_id) - { - case -1: - $user_groups = $this->ConfigValue('User_LoggedInGroup'); - break; - case -2: - $user_groups = $this->ConfigValue('User_LoggedInGroup'); - $user_groups .= ','.$this->ConfigValue('User_GuestGroup'); - break; - default: - $sql = 'SELECT GroupId FROM '.TABLE_PREFIX.'UserGroup WHERE PortalUserId = '.$user_id; - $res = $this->Conn->GetCol($sql); - $user_groups = Array( $this->ConfigValue('User_LoggedInGroup') ); - if(is_array($res)) - { - $user_groups = array_merge($user_groups, $res); - } - $user_groups = implode(',', $user_groups); - } - return $user_groups; - } - } - -?> \ No newline at end of file Index: trunk/kernel/units/permissions/permissions_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/kernel/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 6093) +++ trunk/kernel/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 6625) @@ -1,6 +1,6 @@ getObject( Array('skip_autoload' => true) ); $object->SwitchToLive(); - + $ids = explode(',', $event->MasterEvent->getEventParam('ids') ); - + if(!$ids) return false; foreach($ids as $id) { Index: trunk/kernel/units/config_search/config_search_event_handler.php =================================================================== diff -u -N -r6093 -r6625 --- trunk/kernel/units/config_search/config_search_event_handler.php (.../config_search_event_handler.php) (revision 6093) +++ trunk/kernel/units/config_search/config_search_event_handler.php (.../config_search_event_handler.php) (revision 6625) @@ -1,7 +1,7 @@ setEventParam('PermSection', $section); return parent::CheckPermission($event); } - + /** * Apply any custom changes to list's sql query * @@ -26,11 +26,11 @@ function SetCustomQuery(&$event) { $object =& $event->getObject(); - + // show only items that belong to selected module $module = $this->Application->GetVar('module'); $object->addFilter('module_filter', '%1$s.ModuleName = '.$this->Conn->qstr($module)); - + // don't show disabled search items $object->addFilter('active_filter', '%1$s.SimpleSearch <> -1'); } @@ -44,12 +44,12 @@ { if (!$this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { parent::OnUpdate($event); - + $conf_update = new kEvent('conf:OnUpdate'); $conf_update->redirect = false; $this->Application->HandleEvent($conf_update); } - + $event->SetRedirectParam('opener', 's'); } @@ -58,7 +58,7 @@ parent::OnCancel($event); $event->SetRedirectParam('opener', 's'); } - + /** * [HOOK] Enter description here... * @@ -71,14 +71,14 @@ // user & system custom fields are not searchable return false; } - + $object =& $event->getObject( Array('skip_autoload' => true) ); - + $custom_id = $custom_field->GetID(); if ($object->GetDBField('CustomFieldId') != $custom_id) { $object->Load($custom_id, 'CustomFieldId'); } - + $cf_search = Array(); $cf_search['DisplayOrder'] = $custom_field->GetDBField('DisplayOrder'); $cf_search['ElementType'] = $custom_field->GetDBField('ElementType'); @@ -87,16 +87,16 @@ $cf_search['Description'] = $custom_field->GetDBField('Prompt'); $cf_search['ConfigHeader'] = $custom_field->GetDBField('Heading'); // 'la_Text_CustomFields'; $cf_search['TableName'] = 'CustomField'; - + $sql = 'SELECT Module FROM '.TABLE_PREFIX.'ItemTypes WHERE ItemType = '.$custom_field->GetDBField('Type'); - + $cf_search['ModuleName'] = $this->Conn->GetOne($sql); - + $object->SetFieldsFromHash($cf_search); $object->SetDBField('CustomFieldId', $custom_id); - + $result = $object->isLoaded() ? $object->Update() : $object->Create(); } } Index: trunk/core/units/selectors/selectors_event_handler.php =================================================================== diff -u -N -r5431 -r6625 --- trunk/core/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 5431) +++ trunk/core/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 6625) @@ -3,7 +3,7 @@ safeDefine('STYLE_BASE', 1); safeDefine('STYLE_BLOCK', 2); - class SelectorsEventHandler extends InpDBEventHandler + class SelectorsEventHandler extends kDBEventHandler { /** * Allows to override standart permission mapping @@ -15,13 +15,13 @@ $permissions = Array( 'OnResetToBase' => Array('subitem' => 'add|edit'), 'OnMassResetToBase' => Array('subitem' => 'add|edit'), - + 'OnOpenStyleEditor' => Array('subitem' => 'add|edit'), 'OnSaveStyle' => Array('subitem' => 'add|edit'), ); $this->permMapping = array_merge($this->permMapping, $permissions); } - + /** * Occures before an item has been cloned * Id of newly created item is passed as event' 'id' param @@ -32,43 +32,43 @@ { $event->Init($event->Prefix, '-item'); $object =& $event->getObject(); - + $title_field = 'SelectorName'; $new_name = $object->GetDBField($title_field); $original_checked = false; - + $foreign_key = $event->getEventParam('foreign_key'); // in case if whole stylesheet is cloned if($foreign_key === false) $foreign_key = $object->GetDBField('StylesheetId'); // in case if selector is copied ifself - + do { if ( preg_match('/(.*)-([\d]+)/', $new_name, $regs) ) { $new_name = $regs[1].'-'.($regs[2]+1); } elseif ($original_checked) { $new_name = $new_name.'-1'; } - - // if we are cloning in temp table this will look for names in temp table, + + // if we are cloning in temp table this will look for names in temp table, // since object' TableName contains correct TableName (for temp also!) // if we are cloning live - look in live - $query = ' SELECT '.$title_field.' + $query = ' SELECT '.$title_field.' FROM '.$object->TableName.' WHERE '.$title_field.' = '.$this->Conn->qstr($new_name).' AND StylesheetId = '.$foreign_key; - + $res = $this->Conn->GetOne($query); - + /*// if not found in live table, check in temp table if applicable if ($res === false && $object->Special == 'temp') { $query = 'SELECT '.$name_field.' FROM '.$this->GetTempName($master['TableName']).' WHERE '.$name_field.' = '.$this->Conn->qstr($new_name); $res = $this->Conn->GetOne($query); }*/ - + $original_checked = true; } while ($res !== false); $object->SetDBField($title_field, $new_name); } - + /** * Show base styles or block styles * @@ -82,13 +82,13 @@ case 'base': $object->addFilter('type_filter', '%1$s.Type = 1'); break; - + case 'block': $object->addFilter('type_filter', '%1$s.Type = 2'); break; } } - + /** * Enter description here... * @@ -98,7 +98,7 @@ { $this->SerializeSelectorData($event); } - + /** * Enter description here... * @@ -107,8 +107,8 @@ function OnBeforeItemCreate(&$event) { $this->SerializeSelectorData($event); - } - + } + /** * Enter description here... * @@ -118,7 +118,7 @@ { $this->UnserializeSelectorData($event); } - + /** * Enter description here... * @@ -128,7 +128,7 @@ { $this->UnserializeSelectorData($event); } - + /** * Get's special of main item for linking with subitem * @@ -139,7 +139,7 @@ { return ''; } - + /** * Save css-style name & description before opening css editor * @@ -150,7 +150,7 @@ $this->SaveChanges($event); $event->redirect = false; } - + /** * Saves Changes to Item * @@ -159,16 +159,16 @@ function SaveChanges(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) { - list($id,$field_values) = each($items_info); + list($id,$field_values) = each($items_info); if($id == 0) { $parent_id = getArrayValue($field_values,'ParentId'); if($parent_id) $object->Load($parent_id); - + $object->SetFieldsFromHash($field_values); $object->Create(); if( $object->IsTempTable() ) $object->setTempID(); @@ -182,7 +182,7 @@ } } } - + /** * Save style changes from style editor * @@ -191,13 +191,13 @@ function OnSaveStyle(&$event) { $this->SaveChanges($event); - + $object =& $event->getObject(); $this->Application->SetVar($event->getPrefixSpecial().'_id', $object->GetId() ); - + $this->finalizePopup($event); } - + /** * Extract styles * @@ -209,7 +209,7 @@ $selector_data = $object->GetDBField('SelectorData'); if($selector_data) { - $selector_data = unserialize($selector_data); + $selector_data = unserialize($selector_data); $object->SetDBField('SelectorData', $selector_data); } else @@ -218,7 +218,7 @@ } $this->AddParentProperties($event, $selector_data); } - + /** * Serialize item before saving to db * @@ -229,14 +229,14 @@ $object =& $event->getObject(); $selector_data = $object->GetDBField('SelectorData'); if(!$selector_data) $selector_data = Array(); - + $selector_data = $this->RemoveParentProperties($event, $selector_data); - + if( !IsSerialized($selector_data) ) $selector_data = serialize($selector_data); - + $object->SetDBField('SelectorData', $selector_data); } - + /** * Unserialize data back when update was made * @@ -248,12 +248,12 @@ $selector_data = $object->GetDBField('SelectorData'); if(!$selector_data) $selector_data = Array(); if( IsSerialized($selector_data) ) $selector_data = unserialize($selector_data); - + $selector_data = $this->AddParentProperties($event, $selector_data); - + $object->SetDBField('SelectorData', $selector_data); } - + /** * Populate options based on temporary table :) * @@ -262,13 +262,13 @@ function OnPrepareBaseStyles(&$event) { $object =& $event->getObject(); - + $parent_info = $object->getLinkedInfo(); $title_field = $this->Application->getUnitOption($event->Prefix,'TitleField'); $sql = 'SELECT '.$title_field.', '.$object->IDField.' FROM '.$object->TableName.' WHERE Type = 1 AND StylesheetId = '.$parent_info['ParentId'].' ORDER BY '.$title_field; $object->Fields['ParentId']['options'] = $this->Conn->GetCol($sql,$object->IDField); } - + /** * Remove properties of parent style that match by value from style * @@ -282,9 +282,9 @@ { $sql = 'SELECT SelectorData FROM '.$object->TableName.' WHERE '.$object->IDField.' = '.$parent_id; $base_selector_data = $this->Conn->GetOne($sql); - + if( IsSerialized($base_selector_data) ) $base_selector_data = unserialize($base_selector_data); - + foreach($selector_data as $prop_name => $prop_value) { if( !$prop_value || getArrayValue($base_selector_data,$prop_name) == $prop_value ) @@ -305,7 +305,7 @@ return $selector_data; } } - + /** * Add back properties from parent style, that match this style property values * @@ -319,17 +319,17 @@ { $sql = 'SELECT SelectorData FROM '.$object->TableName.' WHERE '.$object->IDField.' = '.$parent_id; $base_selector_data = $this->Conn->GetOne($sql); - + if( IsSerialized($base_selector_data) ) $base_selector_data = unserialize($base_selector_data); - + $selector_data = array_merge_recursive2($base_selector_data,$selector_data); - + $object->SetDBField('SelectorData', $selector_data); return $selector_data; } return $selector_data; } - + /** * Reset Style definition to base style -> no customizations * @@ -340,10 +340,10 @@ $object =& $event->getObject(); $object->SetFieldsFromHash( $this->getSubmittedFields($event) ); $object->ResetStyle(); - + $event->redirect_params['pass'] = 'all,'.$event->getPrefixSpecial(); } - + /** * Resets selected styles properties to values of their base classes * @@ -352,15 +352,15 @@ function OnMassResetToBase(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); - + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) { foreach($items_info as $id => $field_values) { $object->Load($id); $object->ResetStyle(); - } + } } } }