Index: branches/1.1.x/units/sections/sections_config.php =================================================================== --- branches/1.1.x/units/sections/sections_config.php (revision 14286) +++ branches/1.1.x/units/sections/sections_config.php (revision 14287) @@ -1,107 +1,107 @@ <?php /** * Custom-sections prefix * * @author dmitrya * @package Custom (Development Kit) */ defined('FULL_PATH') or die('restricted access!'); $config = Array ( 'Prefix' => 'custom-sections', 'ConfigPriority' => 2, # Event handler class used for HOOKing to existing events (ie. ) 'EventHandlerClass' => Array ('class' => 'CustomEventHandler', 'file' => 'custom_eh.php', 'build_event' => 'OnBuild'), # Defined to draw new sections (if any) in left nav. tree, normally each unit has it's own Tag Processor 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'), # Extend/override already existing classes (ie. Event Handlers, Tag Processors, Helpers) 'RegisterClasses' => Array ( # extend default User core/units/users/users_tag_processor.php / users_event_handler.php // Array ('pseudo' => 'u_TagProcessor', 'class' => 'EUserTagProcessor', 'file' => 'users/e_user_tp.php'), // Array ('pseudo' => 'u_EventHandler', 'class' => 'EUserEventHandler', 'file' => 'users/e_user_eh.php'), # extend default Product classes /in-commerce/units/products/products_tag_processor.php / products_event_handler.php // Array ('pseudo' => 'p_TagProcessor', 'class' => 'EProductTagProcessor', 'file' => 'products/e_product_tp.php'), // Array ('pseudo' => 'p_EventHandler', 'class' => 'EProductEventHandler', 'file' => 'products/e_product_eh.php'), # extend default Link /in-link/units/links/link_tag_processor.php / links_event_handler.php // Array ('pseudo' => 'l_TagProcessor', 'class' => 'ELinkTagProcessor', 'file' => 'links/e_link_tp.php'), // Array ('pseudo' => 'l_EventHandler', 'class' => 'ELinkEventHandler', 'file' => 'links/e_link_eh.php'), # extend default Category /core/units/categories/categories_tag_processor.php / categories_event_handler.php // Array ('pseudo' => 'c_TagProcessor', 'class' => 'ECategoryTagProcessor', 'file' => 'categories/e_category_tp.php'), // Array ('pseudo' => 'c_EventHandler', 'class' => 'ECategoryEventHandler', 'file' => 'categories/e_category_eh.php'), # extend default Article /in-news/units/articles/article_tag_processor.php / articles_event_handler.php // Array ('pseudo' => 'n_TagProcessor', 'class' => 'EArticleTagProcessor', 'file' => 'articles/e_article_tp.php'), // Array ('pseudo' => 'n_EventHandler', 'class' => 'EArticleEventHandler', 'file' => 'articles/e_article_eh.php'), ), # Replace/substiture any admin default templates with custom ones 'ReplacementTemplates' => Array ( # replace default image block with custom template // 'incs/image_blocks' => 'custom/incs/image_blocks', # replace default edit link template // 'in-links/links/links_edit' => 'custom/links/links_edit', # replace default edit category template // 'categories/categories_edit' => 'custom/categories/categories_edit', ), # Hooks to events that may call any other events 'Hooks' => Array ( - + # hook to OnAfterCacheRebuild event of "adm" prefix (tiggered when unit cache is rebuild and stored) called # to override cloned sub-items (ie. register extended classes for cloned unit configs such as n-img, n-rev) /*Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'adm', 'HookToSpecial' => '*', 'HookToEvent' => Array ('OnAfterCacheRebuild'), 'DoPrefix' => '', 'DoSpecial' => '*', 'DoEvent' => 'OnOverrideClonedSubItems', ),*/ - + # hook to category OnAfterConfigRead event called to customize category configuration settings /*Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'c', 'HookToSpecial' => '*', 'HookToEvent' => Array ('OnAfterConfigRead'), 'DoPrefix' => '', 'DoSpecial' => '*', 'DoEvent' => 'OnModifyCategoriesConfig', ),*/ ), 'PermSection' => Array ('main' => 'custom', 'email' => 'custom:configuration_email'), # New sections in left navigation /*'Sections' => Array ( 'custom' => Array ( 'parent' => 'in-portal:root', 'icon' => 'conf_custom', 'label' => 'la_title_Custom', 'url' => Array ('t' => 'index', 'pass' => 'm'), 'permissions' => Array ('view'), 'priority' => 2.4, 'container' => true, 'type' => stTREE, ), ),*/ ); \ No newline at end of file Index: branches/1.1.x/admin_templates/widgets/widget_edit.tpl =================================================================== --- branches/1.1.x/admin_templates/widgets/widget_edit.tpl (revision 14286) +++ branches/1.1.x/admin_templates/widgets/widget_edit.tpl (revision 14287) @@ -1,89 +1,91 @@ <inp2:adm_SetPopupSize width="750" height="570"/> +<inp2:m_DefaultParam prefix="widget" grid="Default" title_preset="widget_edit" section="custom:widgets" id_field="WidgetId"/> + <inp2:m_include t="incs/header"/> -<inp2:m_RenderElement name="combined_header" section="custom:widgets" prefix="widget" title_preset="widget_edit"/> +<inp2:m_RenderElement name="combined_header" section="$section" prefix="$prefix" title_preset="$title_preset"/> <!-- ToolBar --> <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <script type="text/javascript"> a_toolbar = new ToolBar(); a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() { - submit_event('widget','<inp2:widget_SaveEvent/>'); + submit_event('<inp2:m_Param name="prefix"/>','<inp2:{$prefix}_SaveEvent/>'); } )); a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() { - cancel_edit('widget','OnCancelEdit','<inp2:widget_SaveEvent/>','<inp2:m_Phrase label="la_FormCancelConfirmation" escape="1"/>'); + cancel_edit('<inp2:m_Param name="prefix"/>','OnCancelEdit','<inp2:{$prefix}_SaveEvent/>','<inp2:m_Phrase label="la_FormCancelConfirmation" escape="1"/>'); } )); a_toolbar.AddButton( new ToolBarButton('reset_edit', '<inp2:m_phrase label="la_ToolTip_Reset" escape="1"/>', function() { - reset_form('widget', 'OnReset', '<inp2:m_Phrase label="la_FormResetConfirmation" escape="1"/>'); + reset_form('<inp2:m_Param name="prefix"/>', 'OnReset', '<inp2:m_Phrase label="la_FormResetConfirmation" escape="1"/>'); } )); a_toolbar.AddButton( new ToolBarSeparator('sep1') ); a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() { - go_to_id('widget', '<inp2:widget_PrevId/>'); + go_to_id('<inp2:m_Param name="prefix"/>', '<inp2:{$prefix}_PrevId/>'); } )); a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() { - go_to_id('widget', '<inp2:widget_NextId/>'); + go_to_id('<inp2:m_Param name="prefix"/>', '<inp2:{$prefix}_NextId/>'); } )); a_toolbar.Render(); - <inp2:m_if check="widget_IsSingle" > + <inp2:m_if check="{$prefix}_IsSingle" > a_toolbar.HideButton('prev'); a_toolbar.HideButton('next'); a_toolbar.HideButton('sep1'); <inp2:m_else/> - <inp2:m_if check="widget_IsLast" > + <inp2:m_if check="{$prefix}_IsLast" > a_toolbar.DisableButton('next'); </inp2:m_if> - <inp2:m_if check="widget_IsFirst" > + <inp2:m_if check="{$prefix}_IsFirst" > a_toolbar.DisableButton('prev'); </inp2:m_if> </inp2:m_if> </script> <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript" src="<inp2:m_Compress files='js/uploader/upload_manager.js|js/uploader/uploader.js'/>"></script> </td> </tr> </tbody> </table> -<inp2:widget_SaveWarning name="grid_save_warning"/> -<inp2:widget_ErrorWarning name="form_error_warning"/> +<inp2:{$prefix}_SaveWarning name="grid_save_warning"/> +<inp2:{$prefix}_ErrorWarning name="form_error_warning"/> <div id="scroll_container"> <table class="edit-form"> <inp2:m_RenderElement name="subsection" title="la_section_Page"/> - <inp2:m_RenderElement name="inp_id_label" prefix="widget" field="WidgetId" title="la_fld_Id"/> - <inp2:m_RenderElement name="inp_edit_box" prefix="widget" field="Title" title="la_fld_Title" style="width: 100px"/> - <inp2:m_RenderElement name="inp_edit_checkbox" prefix="widget" field="Good" title="la_fld_Good"/> - <inp2:m_RenderElement name="inp_edit_fck" prefix="widget" field="Description" title="la_fld_Description"/> - <inp2:m_RenderElement name="inp_edit_radio" prefix="widget" field="Status" title="la_fld_Status"/> - <inp2:m_RenderElement name="inp_edit_options" prefix="widget" field="Type" title="la_fld_Type" has_empty="1"/> + <inp2:m_RenderElement name="inp_id_label" prefix="$prefix" field="$id_field" title="la_fld_Id"/> + <inp2:m_RenderElement name="inp_edit_box" prefix="$prefix" field="Title" title="la_fld_Title" style="width: 100px"/> + <inp2:m_RenderElement name="inp_edit_checkbox" prefix="$prefix" field="Good" title="la_fld_Good"/> + <inp2:m_RenderElement name="inp_edit_fck" prefix="$prefix" field="Description" title="la_fld_Description"/> + <inp2:m_RenderElement name="inp_edit_radio" prefix="$prefix" field="Status" title="la_fld_Status"/> + <inp2:m_RenderElement name="inp_edit_options" prefix="$prefix" field="Type" title="la_fld_Type" has_empty="1"/> <!--## - <inp2:m_RenderElement name="inp_edit_date" prefix="widget" field="CreatedOn" title="la_fld_CreatedOn"/> - <inp2:m_RenderElement name="inp_edit_checkbox" prefix="widget" field="IsSystem" title="la_fld_IsSystemTemplate" onchange="OnSystemClick()"/> + <inp2:m_RenderElement name="inp_edit_date" prefix="$prefix" field="CreatedOn" title="la_fld_CreatedOn"/> + <inp2:m_RenderElement name="inp_edit_checkbox" prefix="$prefix" field="IsSystem" title="la_fld_IsSystemTemplate" onchange="OnSystemClick()"/> ##--> - <inp2:m_RenderElement name="inp_edit_box" prefix="widget" field="Qty" title="la_fld_Qty" style="width: 50px"/> - <inp2:m_RenderElement name="inp_edit_textarea" prefix="widget" field="Phone" title="la_fld_Phone"/> - <inp2:m_RenderElement name="inp_edit_box" prefix="widget" field="Email" title="la_fld_Email" style="width: 200px"/> + <inp2:m_RenderElement name="inp_edit_box" prefix="$prefix" field="Qty" title="la_fld_Qty" style="width: 50px"/> + <inp2:m_RenderElement name="inp_edit_textarea" prefix="$prefix" field="Phone" title="la_fld_Phone"/> + <inp2:m_RenderElement name="inp_edit_box" prefix="$prefix" field="Email" title="la_fld_Email" style="width: 200px"/> - <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="widget" field="Image" title="la_fld_Image"/> - <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="widget" field="DataFile" title="la_fld_DataFile"/> + <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="$prefix" field="Image" title="la_fld_Image"/> + <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="$prefix" field="DataFile" title="la_fld_DataFile"/> <inp2:m_RenderElement name="inp_edit_filler"/> </table> </div> <inp2:m_include t="incs/footer"/> \ No newline at end of file Index: branches/1.1.x/admin_templates/widgets/widget_list.tpl =================================================================== --- branches/1.1.x/admin_templates/widgets/widget_list.tpl (revision 14286) +++ branches/1.1.x/admin_templates/widgets/widget_list.tpl (revision 14287) @@ -1,139 +1,140 @@ -<inp2:m_include t="incs/header" /> +<inp2:m_DefaultParam prefix="widget" grid="Default" title_preset="widget_list" section="custom:widgets" edit_template="custom/widgets/widget_edit" id_field="WidgetId"/> -<inp2:m_RenderElement name="combined_header" prefix="widget" section="custom:widgets" title_preset="widget_list" pagination="1"/> +<inp2:m_include t="incs/header" /> +<inp2:m_RenderElement name="combined_header" prefix="$prefix" section="$section" title_preset="$title_preset" pagination="1"/> <!-- ToolBar --> <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0"> <tr> - <td > - <script type="text/javascript"> - a_toolbar = new ToolBar(); - - a_toolbar.AddButton( - new ToolBarButton( - 'new_item', - '<inp2:m_phrase label="la_ToolTip_NewWidget" escape="1"/>::<inp2:m_phrase label="la_Add" escape="1"/>', - function() { - std_precreate_item('widget', 'custom/widgets/widget_edit') - } - ) - ); - - function edit() { - std_edit_item('widget', 'custom/widgets/widget_edit'); - } - - a_toolbar.AddButton( - new ToolBarButton( - 'edit', - '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_Edit" escape="1"/>', - edit - ) - ); - - a_toolbar.AddButton( - new ToolBarButton( - 'delete', - '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>', - function() { - std_delete_items('widget'); - } - ) - ); - - a_toolbar.AddButton( new ToolBarSeparator('sep1') ); - - a_toolbar.AddButton( - new ToolBarButton( - 'approve', - '<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>', - function() { - submit_event('widget', 'OnMassApprove'); - } - ) - ); - - a_toolbar.AddButton( - new ToolBarButton( - 'decline', - '<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>', - function() { - submit_event('widget', 'OnMassDecline'); - } - ) - ); - - a_toolbar.AddButton( new ToolBarSeparator('sep2') ); - - a_toolbar.AddButton( - new ToolBarButton( - 'export', - '<inp2:m_phrase label="la_ToolTip_Export" escape="1"/>', - function() { - std_csv_export('widget', 'Default', 'export/export_progress'); - } - ) - ); - - a_toolbar.AddButton( - new ToolBarButton( - 'import', - '<inp2:m_phrase label="la_ToolTip_Import" escape="1"/>', - function() { - std_csv_import('widget', 'Default', 'import/import_start'); - } - ) - ); - - a_toolbar.AddButton( new ToolBarSeparator('sep3') ); - - a_toolbar.AddButton( - new ToolBarButton( - 'view', - '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', - function(id) { - show_viewmenu(a_toolbar,'view'); - } - ) - ); + <td> + <script type="text/javascript"> + a_toolbar = new ToolBar(); + + a_toolbar.AddButton( + new ToolBarButton( + 'new_item', + '<inp2:m_phrase label="la_ToolTip_NewWidget" escape="1"/>::<inp2:m_phrase label="la_Add" escape="1"/>', + function() { + std_precreate_item('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="edit_template"/>') + } + ) + ); + + function edit() { + std_edit_item('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="edit_template"/>'); + } + + a_toolbar.AddButton( + new ToolBarButton( + 'edit', + '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_Edit" escape="1"/>', + edit + ) + ); + + a_toolbar.AddButton( + new ToolBarButton( + 'delete', + '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>', + function() { + std_delete_items('<inp2:m_Param name="prefix"/>'); + } + ) + ); + + a_toolbar.AddButton( new ToolBarSeparator('sep1') ); + + a_toolbar.AddButton( + new ToolBarButton( + 'approve', + '<inp2:m_phrase label="la_ToolTip_Approve" escape="1"/>', + function() { + submit_event('<inp2:m_Param name="prefix"/>', 'OnMassApprove'); + } + ) + ); + + a_toolbar.AddButton( + new ToolBarButton( + 'decline', + '<inp2:m_phrase label="la_ToolTip_Decline" escape="1"/>', + function() { + submit_event('<inp2:m_Param name="prefix"/>', 'OnMassDecline'); + } + ) + ); + + a_toolbar.AddButton( new ToolBarSeparator('sep2') ); + + a_toolbar.AddButton( + new ToolBarButton( + 'export', + '<inp2:m_phrase label="la_ToolTip_Export" escape="1"/>', + function() { + std_csv_export('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="grid"/>', 'export/export_progress'); + } + ) + ); + + a_toolbar.AddButton( + new ToolBarButton( + 'import', + '<inp2:m_phrase label="la_ToolTip_Import" escape="1"/>', + function() { + std_csv_import('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="grid"/>', 'import/import_start'); + } + ) + ); + + a_toolbar.AddButton( new ToolBarSeparator('sep3') ); + + a_toolbar.AddButton( + new ToolBarButton( + 'view', + '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', + function(id) { + show_viewmenu(a_toolbar,'view'); + } + ) + ); - a_toolbar.Render(); - </script> + a_toolbar.Render(); + </script> </td> - <inp2:m_RenderElement name="search_main_toolbar" prefix="widget" grid="Default"/> + <inp2:m_RenderElement name="search_main_toolbar" prefix="$prefix" grid="$grid"/> </tr> </table> </td> </tr> </tbody> </table> <style type="text/css"> .red-row td.Status { background-color: red; } </style> <inp2:m_DefineElement name="grid_image_td"> <img src="<inp2:Field name='$field' format='resize:120x120'/>" <inp2:Field name='$field' format='resize:120x120;img_size' no_special='1'/> alt=""/><br /> </inp2:m_DefineElement> <inp2:m_DefineElement name="grid_delete_td"> <a href="<inp2:m_Link {$PrefixSpecial}_event='OnDelete' pass='m,$PrefixSpecial'/>" onclick="return confirm('Delete Record?')">Delete</a> </inp2:m_DefineElement> <inp2:m_DefineElement name="grid_custom_td"> <a href="<inp2:ItemEditLink/>" title="<inp2:m_Phrase name='la_Text_Edit' no_editing='1'/>" onclick="return direct_edit('<inp2:m_param name="PrefixSpecial"/>', this.href);"><inp2:Field field="$field" grid="$grid" format="$format"/></a> </inp2:m_DefineElement> -<inp2:m_RenderElement name="grid" PrefixSpecial="widget" IdField="WidgetId" grid="Default" max_row_height="100"/> +<inp2:m_RenderElement name="grid" PrefixSpecial="$prefix" IdField="$id_field" grid="$grid" max_row_height="100"/> <script type="text/javascript"> - Grids['widget'].SetDependantToolbarButtons( new Array('edit', 'delete', 'approve', 'decline') ); + Grids['<inp2:m_Param name="prefix"/>'].SetDependantToolbarButtons( new Array('edit', 'delete', 'approve', 'decline') ); </script> <inp2:m_include t="incs/footer"/> \ No newline at end of file