Page MenuHomeIn-Portal Phabricator

custom
No OneTemporary

File Metadata

Created
Thu, Feb 27, 12:32 AM
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

Event Timeline