Index: branches/1.0.x/custom/install.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/install.php (revision 12743)
+++ branches/1.0.x/custom/install.php (revision 0)
@@ -1,33 +0,0 @@
-toolkit;
- /* @var $toolkit kInstallToolkit */
- }
-
- $application =& kApplication::Instance();
- $application->Init();
-
- if ($application->RecallVar('user_id') != -1) {
- die('restricted access!');
- }
-
- $toolkit->RunSQL('/' . $module_folder .'/install/install_schema.sql');
- $toolkit->RunSQL('/' . $module_folder .'/install/install_data.sql');
- $toolkit->ImportLanguage('/' . $module_folder .'/install/english');
-
- $toolkit->finalizeModuleInstall($module_folder, false);
\ No newline at end of file
Index: branches/1.0.x/custom/README
===================================================================
diff -u -N
--- branches/1.0.x/custom/README (revision 12743)
+++ branches/1.0.x/custom/README (revision 0)
@@ -1,179 +0,0 @@
-INTRODUCTION TO IN-PORTAL
--------------------------
-
-In-Portal is Open Source object-oriented framework that is developed
-in PHP and provides quick and easy way to build websites and web applications.
-
-In-Portal Framework has modular structure that allows painlessly
-add and extend already existing features via new modules.
-
-In-Portal Community greatly appreciates any type of involvement
-and contributions to the project.
-
-Please visit
-
- http://www.in-portal.org/contribute.html
-
-to see how You can participate and be a part of In-Portal Community.
-
-
-THIS DEVELOPMENT KIT
---------------------
-
-This README file provides you with the basic understanding and content
-of provided Development Kit.
-
-Latest version of this Development Kit can be downloaded here
-
- http://www.in-portal.org
-
- http://source.in-portal.org/custom/tags
-
-This Development Kit is implemented and called "Custom" so it can be used
-by developers as HOWTO create new modules as well as extend existing
-modules not worrying about upgrading issues in the future.
-
-This module contains samples of the most basic and widely used features
-of In-Portal. While the code might look very simple, though it provides
-a quick and effective way to unlock most powerful capabilities for
-In-Portal customization on many levels.
-
-
-FOLDER STRUCTURE
-----------------
-
-1. All In-Portal modules have the same folder structure, that provides a quick
-access to each aspect of it's functionality. Top folder is the module name
-in a LOWERCASE. It is "custom" for "Custom" module, "in-link" for "In-Link"
-module and so on.
-
-2. Inside there are three (3) main folders:
-
- * admin_templates/ - templates and resources (images, javascript, etc.),
- these are used Admin ONLY.
-
- * units/ - business logic of the module, used on both Front-end and Admin.
-
- * install/ - contains files used to install the module into existing
- In-Portal installation.
-
-
-2.1. Content of "admin_templates/" folder.
-
-This folder contains one (1) sub-folder for each Section in Admin console's
-main navigation menu (in left frame). Each such folder should ONLY contain
-templates ("*.tpl" files) used for displaying given Section in the main
-navigation menu in Admin console.
-
-Besides that there are one special purpose folder called "img/".
-This folder contains all kind of images divided by categories (usage).
-Images from each category (usage) are located in special sub-folder
-associated with the given image category.
-
-There are three (3) main folders
-
- * "icons/" - images, that will be used as Section icons in the
- main navigation menu next to the actual titles;
- NOTE one image per one menu Section, but the same image could be used
- for multiple menu Section.
-
- * "itemicons/" - images, that will be shown on the left from each
- row in grid of records (also called list).
-
- * "toolbar/" - images, that are used to draw buttons on toolbar
- on module templates that uses toolbar-based interface ONY.
-
- NOTE that it is not restricted to create any other folders
- and place images inside them or in the "img/" folder itself.
-
- NOTE it is also common practice to create a "js/" sub-folder
- and place all javascript scripts related to the Admin console inside.
-
-
-2.2. Content of "units/" folder
-
-This folder can contain unlimited number of sub-folders.
-
-Each sub-folder should contain "*.php" files with the business logic
-implementation for the given functionality.
-
-Usually there are three (3) files
-
- - Unit Config - main file, that allows to connect a given Unit into the framework;
-
- - Event Handler - all code, that will manipulate with the data is located here;
-
- - Tag Processor - all code, that is used to output the data to a user
- in any requested form is located here.
-
- It is NOT permitted to create files in "units/" folder itself, only sub-folder
- as described above.
-
- HOWEVER it is not prohibited to place a group of "unit" type folders inside
- other "unit" type folders to logically divide them into groups.
- Example, "units/logs/visits/" and "units/logs/summary/" both located inside
- of "units/logs" folder, but each has it's own Unit Config, Event Handler, Tag Proccesor.
-
-
-2.3. Content of "install/" folder.
-
-This folder contains files used to during the installation which will automaticall install
-
- * install Language Phrases
- * install Email Events
- * apply Database changes (e.g. new tables)
-
-associated with given module.
-
-There are also "upgrades.sql" (required) and "upgades.php" (not required). These files
-allow to maintain module version based on database structure control.
-
-
-3. BASIC UNDERSTANDING AND USAGE
---------------------------------
-
-Visual part of Admin console consists of tree (3) parts
-
- * Top - contains website logo, logout link and some other things.
-
- * Left - contains main navigation menu (list of Sections) and used to control all functionality.
-
- * Right - main part that show the actual Section and data.
-
-
-3.1 Adding a new Section item
-
-As we know left part of Admin console contains main navigation menu
-so it's crucial to learn add a new Sections.
-
-New menu Sections are added using Unit Config files (desribed above).
-Each unit can have unlimited number of menu Sections (and Sub-Sections)
-at any place inside the main navigation menu.
-
-To add a new section you need to add it to 'Sections' array descrived in Unit Config file
-of corresponding/related Unit, for example open "custom/units/widgets/widgets_config.php"
-
- 'Sections' => Array (
- 'custom' => Array (
- 'parent' => 'in-portal:root',
- 'icon' => 'custom',
- 'label' => 'la_title_SampleMenuItem',
- 'url' => Array ('t' => 'custom/widgets/widget_list', 'pass' => 'm'),
- 'permissions' => Array ('view', 'add', 'edit', 'delete'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
- ),
-
-
-4. WHAT'S NEXT
---------------
-
-While we can write thousands of lines in this file we decided
-to put all our knowledge base online using old good Wiki.
-
-Please feel free to read, ask questions and participate in In-Portal Community!
-
- http://guide.in-portal.org/eng/index.php
-
- http://www.in-portal.org/contribute.html
Index: branches/1.0.x/custom/admin_templates/img/logo_bg.gif
===================================================================
diff -u -N -r12743 -r12914
Binary files differ
Index: branches/1.0.x/custom/admin_templates/img/icons/icon46_conf_custom.png
===================================================================
diff -u -N -r12743 -r12914
Binary files differ
Index: branches/1.0.x/custom/admin_templates/img/icons/icon24_conf_custom.png
===================================================================
diff -u -N -r12743 -r12914
Binary files differ
Index: branches/1.0.x/custom/admin_templates/img/icons/icon24_custom.png
===================================================================
diff -u -N -r12743 -r12914
Binary files differ
Index: branches/1.0.x/custom/admin_templates/img/toolbar/dummy
===================================================================
diff -u -N
--- branches/1.0.x/custom/admin_templates/img/toolbar/dummy (revision 12743)
+++ branches/1.0.x/custom/admin_templates/img/toolbar/dummy (revision 0)
@@ -1 +0,0 @@
\ No newline at end of file
Index: branches/1.0.x/custom/admin_templates/widgets/widget_list.tpl
===================================================================
diff -u -N
--- branches/1.0.x/custom/admin_templates/widgets/widget_list.tpl (revision 12743)
+++ branches/1.0.x/custom/admin_templates/widgets/widget_list.tpl (revision 0)
@@ -1,136 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- alt=""/>
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
Index: branches/1.0.x/custom/admin_templates/widgets/widget_edit.tpl
===================================================================
diff -u -N
--- branches/1.0.x/custom/admin_templates/widgets/widget_edit.tpl (revision 12743)
+++ branches/1.0.x/custom/admin_templates/widgets/widget_edit.tpl (revision 0)
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
Index: branches/1.0.x/custom/install/.htaccess
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/.htaccess (revision 12743)
+++ branches/1.0.x/custom/install/.htaccess (revision 0)
@@ -1 +0,0 @@
-deny from all
\ No newline at end of file
Index: branches/1.0.x/custom/install/module_info.xml
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/module_info.xml (revision 12743)
+++ branches/1.0.x/custom/install/module_info.xml (revision 0)
@@ -1,6 +0,0 @@
-
-
- Custom
- Development Kit
- custom/install/img/icon_development_kit.gif
-
\ No newline at end of file
Index: branches/1.0.x/custom/install/install_data.sql
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/install_data.sql (revision 12743)
+++ branches/1.0.x/custom/install/install_data.sql (revision 0)
@@ -1,19 +0,0 @@
-# place here only sql queries, that were executed on live AND dev sites !!!
-
-INSERT INTO Permissions VALUES(DEFAULT, 'custom.view', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES(DEFAULT, 'custom:widgets.delete', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES(DEFAULT, 'custom:widgets.edit', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES(DEFAULT, 'custom:widgets.add', 11, 1, 1, 0);
-INSERT INTO Permissions VALUES(DEFAULT, 'custom:widgets.view', 11, 1, 1, 0);
-
-INSERT INTO Modules VALUES ('Custom', 'custom/', 'custom-sections', DEFAULT, 1, 10, 'custom/', 0, NULL);
-
-
-# ===== SQLs above this line already on LIVE ================================================================================================
-
-# place here only sql queries, that were executed on dev site !!!
-
-
-# ===== SQLs above this line already on DEV ========================================================================================================
-
-# place here only sql queries, that were executed on prod server !!!
Index: branches/1.0.x/custom/install/install_order.txt
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/install_order.txt (revision 12743)
+++ branches/1.0.x/custom/install/install_order.txt (revision 0)
@@ -1 +0,0 @@
-203
\ No newline at end of file
Index: branches/1.0.x/custom/install/english.lang
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/english.lang (revision 12743)
+++ branches/1.0.x/custom/install/english.lang (revision 0)
@@ -1,19 +0,0 @@
-
- m/d/Yg:i Am/d/Yg:i:s A.,utf-82
-
- R29vZA==
- UGhvbmU=
- RGF0YSBmaWxl
- R29vZA==
- Q3VzdG9t
- RGVmYXVsdA==
- V2lkZ2V0cw==
- QWRkaW5nIFdpZGdldA==
- RWRpdGluZyBXaWRnZXQ=
- Q3VzdG9t
- TmV3IFdpZGdldA==
- V2lkZ2V0cw==
- TmV3IFdpZGdldA==
-
-
-
\ No newline at end of file
Index: branches/1.0.x/custom/install/install_schema.sql
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/install_schema.sql (revision 12743)
+++ branches/1.0.x/custom/install/install_schema.sql (revision 0)
@@ -1,27 +0,0 @@
-# place here only sql queries, that were executed on live AND dev sites !!!
-
-CREATE TABLE Widgets (
- WidgetId int(11) NOT NULL AUTO_INCREMENT,
- Title varchar(255) NOT NULL DEFAULT '',
- Description text,
- Email varchar(255) NOT NULL DEFAULT '',
- `Type` tinyint(4) NOT NULL DEFAULT '1',
- Phone varchar(50) NOT NULL DEFAULT '',
- Qty double NOT NULL DEFAULT '0',
- `Status` tinyint(4) NOT NULL DEFAULT '2',
- CreatedOn int(11) DEFAULT NULL,
- Good tinyint(4) NOT NULL DEFAULT '0',
- BirthTime int(10) unsigned DEFAULT NULL,
- Image text,
- `DataFile` text,
- PRIMARY KEY (WidgetId)
-);
-
-# ===== SQLs above this line already on LIVE ================================================================================================
-
-# place here only sql queries, that were executed on dev site !!!
-
-
-# ===== SQLs above this line already on DEV ========================================================================================================
-
-# place here only sql queries, that were executed on prod server !!!
Index: branches/1.0.x/custom/install/img/.htaccess
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/img/.htaccess (revision 12743)
+++ branches/1.0.x/custom/install/img/.htaccess (revision 0)
@@ -1 +0,0 @@
-allow from all
\ No newline at end of file
Index: branches/1.0.x/custom/install/img/icon_development_kit.gif
===================================================================
diff -u -N -r12743 -r12914
Binary files differ
Index: branches/1.0.x/custom/install/upgrades.sql
===================================================================
diff -u -N
--- branches/1.0.x/custom/install/upgrades.sql (revision 12798)
+++ branches/1.0.x/custom/install/upgrades.sql (revision 0)
@@ -1,10 +0,0 @@
-# ===== v 1.0.0 =====
-
-# ===== v 1.0.1 =====
-UPDATE Modules SET LoadOrder = 10 WHERE `Name` = 'Custom';
-
-# ===== v 1.0.2-B1 =====
-ALTER TABLE Widgets CHANGE CreatedOn CreatedOn INT(11) NULL DEFAULT NULL;
-UPDATE Modules SET TemplatePath = 'custom/' WHERE Name = 'Custom';
-
-# ===== v 1.0.2-B2 =====
\ No newline at end of file
Index: branches/1.0.x/custom/units/.htaccess
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/.htaccess (revision 12743)
+++ branches/1.0.x/custom/units/.htaccess (revision 0)
@@ -1 +0,0 @@
-deny from all
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/e_link_eh.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/e_link_eh.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/e_link_eh.php (revision 0)
@@ -1,188 +0,0 @@
- Array ('self' => true),
-
- # front
- 'OnCustomEvent2' => Array ('self' => true),
- );
-
- $this->permMapping = array_merge($this->permMapping, $permissions);
- }
-
- /**
- * Permission exceptions
- *
- * @param kEvent $event
- */
- function CheckPermission(&$event)
- {
- $skip_permissions_check_events = Array (
- 'OnAnotherCustomEvent',
- );
-
- if ( in_array($event->Name, $skip_permissions_check_events) ) {
- return true;
- }
-
- return parent::CheckPermission($event);
- }
-
- /**
- * Updates structure config
- *
- * @param kEvent $event
- */
- function OnAfterConfigRead(&$event)
- {
- parent::OnAfterConfigRead($event);
-
- # 1. Regular Fields from
- $fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
-// $fields['Status']['default'] = 1; #add/edit configuration (make default = 1)
- $this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save fields
-
- # 2. Virtual Fields from /in-link/units/links/links_config.php
- $virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
-// $virtual_fields['UserName']['default'] = ''; #add/edit configuration
- $this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
- }
-
- /**
- * Sets custom query for the list
- *
- * @param kEvent $event
- */
- function SetCustomQuery(&$event)
- {
- parent::SetCustomQuery($event);
-
- $object =& $event->getObject();
- /* @var $object kDBList */
-
- # identifying event based on special and setting filter
- if ($event->Special == 'custom-special') {
-// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
- }
-
- # identifying event based not admin condition and setting filter
- if (!$this->Application->isAdminUser) {
-// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
- }
- }
-
- /**
- * Before new item created
- *
- * @param kEvent $event
- */
- function OnBeforeItemCreate(&$event)
- {
- parent::OnBeforeItemCreate($event);
-
-
- }
-
- /**
- * Before existing item updated
- *
- * @param kEvent $event
- */
- function OnBeforeItemUpdate(&$event)
- {
- parent::OnBeforeItemUpdate($event);
-
-
- }
-
- /**
- * Before item deleted
- *
- * @param kEvent $event
- */
- function OnBeforeItemDelete(&$event)
- {
- parent::OnBeforeItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnBeforeItemLoad(&$event)
- {
- parent::OnBeforeItemLoad($event);
-
-
- }
-
-
- /**
- * After new item created
- *
- * @param kEvent $event
- */
- function OnAfterItemCreate(&$event)
- {
- parent::OnAfterItemCreate($event);
-
-
- }
-
- /**
- * After existing item updated
- *
- * @param kEvent $event
- */
- function OnAfterItemUpdate(&$event)
- {
- parent::OnAfterItemUpdate($event);
-
-
- }
-
- /**
- * After item deleted
- *
- * @param kEvent $event
- */
- function OnAfterItemDelete(&$event)
- {
- parent::OnAfterItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnAfterItemLoad(&$event)
- {
- parent::OnAfterItemLoad($event);
-
-
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/e_link_tp.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/e_link_tp.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/e_link_tp.php (revision 0)
@@ -1,56 +0,0 @@
-getObject($params);
- /* @var $object kDBItem */
-
- $o = '';
-
- // do some custom stuff here
- if ( $object->isLoaded() ) {
- $o = $object->GetField($this->SelectParam($params, 'name,field') ); #field Formatter applied
-
-// $o = $object->GetDBField($this->SelectParam($params, 'name,field') ); #field Formatter NOT applied
- }
-
- // in case if no data found
- if ($o != '') {
- $this->Application->Parser->DataExists = true;
- }
-
- return $o;
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/sections_config.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/sections_config.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/sections_config.php (revision 0)
@@ -1,86 +0,0 @@
- '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' => 'e_user_tp.php'),
-// Array ('pseudo' => 'u_EventHandler', 'class' => 'EUserEventHandler', 'file' => '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' => 'e_product_tp.php'),
-// Array ('pseudo' => 'p_EventHandler', 'class' => 'EProductEventHandler', 'file' => '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' => 'e_link_tp.php'),
-// Array ('pseudo' => 'l_EventHandler', 'class' => 'ELinkEventHandler', 'file' => 'e_link_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 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.0.x/custom/units/sections/e_user_tp.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/e_user_tp.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/e_user_tp.php (revision 0)
@@ -1,38 +0,0 @@
-getObject();
- /* @var $object kDBItem */
-
- $ret = '';
- $newline = '
';
-
- if ($object->isLoaded()) {
- $ret = $object->GetField('Street') ? $object->GetField('Street') . $newline : '';
- $ret .= $object->GetField('Street2') ? $object->GetField('Street2') . $newline : '';
- $ret .= $object->GetField('City') ? $object->GetField('City') . ', ' : '';
- $ret .= $object->GetField('State') ? $object->GetField('State') . ' ' : '';
- $ret .= $object->GetField('Zip') ? $object->GetField('Zip') . $newline : '';
- $ret .= $object->GetField('Country');
- }
-
- return $ret;
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/e_user_eh.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/e_user_eh.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/e_user_eh.php (revision 0)
@@ -1,188 +0,0 @@
- Array ('self' => true),
-
- # front
- 'OnCustomEvent2' => Array ('self' => true),
- );
-
- $this->permMapping = array_merge($this->permMapping, $permissions);
- }
-
- /**
- * Permission exceptions
- *
- * @param kEvent $event
- */
- function CheckPermission(&$event)
- {
- $skip_permissions_check_events = Array (
- 'OnAnotherCustomEvent',
- );
-
- if ( in_array($event->Name, $skip_permissions_check_events) ) {
- return true;
- }
-
- return parent::CheckPermission($event);
- }
-
- /**
- * Updates structure config
- *
- * @param kEvent $event
- */
- function OnAfterConfigRead(&$event)
- {
- parent::OnAfterConfigRead($event);
-
- # 1. Regular Fields from /core/units/users/users_config.php
- $fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
-// $fields['Status']['default'] = 1; #add/edit configuration (make default = 1)
- $this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save regular fields
-
- # 2. Virtual Fields from /core/units/users/users_config.php
- $virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
-// $virtual_fields['FullName']['default'] = ''; #add/edit configuration
- $this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); #save virtual fields
- }
-
- /**
- * Sets custom query for the list
- *
- * @param kEvent $event
- */
- function SetCustomQuery(&$event)
- {
- parent::SetCustomQuery($event);
-
- $object =& $event->getObject();
- /* @var $object kDBList */
-
- # identifying event based on special and setting filter
- if ( $event->Special == 'custom-special' ) {
-// $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED);
- }
-
- # identifying event based not admin condition and setting filter
- if (!$this->Application->isAdminUser) {
-// $object->addFilter('status_filter', '%1$s.Status = ' . STATUS_ACTIVE);
- }
- }
-
- /**
- * Before new item created
- *
- * @param kEvent $event
- */
- function OnBeforeItemCreate(&$event)
- {
- parent::OnBeforeItemCreate($event);
-
-
- }
-
- /**
- * Before existing item updated
- *
- * @param kEvent $event
- */
- function OnBeforeItemUpdate(&$event)
- {
- parent::OnBeforeItemUpdate($event);
-
-
- }
-
- /**
- * Before item deleted
- *
- * @param kEvent $event
- */
- function OnBeforeItemDelete(&$event)
- {
- parent::OnBeforeItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnBeforeItemLoad(&$event)
- {
- parent::OnBeforeItemLoad($event);
-
-
- }
-
-
- /**
- * After new item created
- *
- * @param kEvent $event
- */
- function OnAfterItemCreate(&$event)
- {
- parent::OnAfterItemCreate($event);
-
-
- }
-
- /**
- * After existing item updated
- *
- * @param kEvent $event
- */
- function OnAfterItemUpdate(&$event)
- {
- parent::OnAfterItemUpdate($event);
-
-
- }
-
- /**
- * After item deleted
- *
- * @param kEvent $event
- */
- function OnAfterItemDelete(&$event)
- {
- parent::OnAfterItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnAfterItemLoad(&$event)
- {
- parent::OnAfterItemLoad($event);
-
-
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/custom_eh.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/custom_eh.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/custom_eh.php (revision 0)
@@ -1,39 +0,0 @@
-Conn =& $this->Application->GetADODBConnection();
- }
-
- /**
- * [HOOK] Modify config stored in "categories_config.php" without extending CategoriesEventHandler class
- *
- * @param kEvent $event
- */
- function OnModifyCategoriesConfig(&$event)
- {
- # get Fields configuration from /core/units/categories/categories_config.php
- $fields = $this->Application->getUnitOption($event->MasterEvent->Prefix, 'Fields');
-
- # set configuration fields
- $this->Application->setUnitOption($event->MasterEvent->Prefix, 'Fields', $fields);
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/sections/e_product_tp.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/sections/e_product_tp.php (revision 12743)
+++ branches/1.0.x/custom/units/sections/e_product_tp.php (revision 0)
@@ -1,28 +0,0 @@
- Array ('self' => true),
-
- # front
- 'OnCustomEvent2' => Array ('self' => true),
- );
-
- $this->permMapping = array_merge($this->permMapping, $permissions);
- }
-
- /**
- * Permission exceptions
- *
- * @param kEvent $event
- */
- function CheckPermission(&$event)
- {
- $skip_permissions_check_events = Array (
- 'OnAnotherCustomEvent',
- );
-
- if ( in_array($event->Name, $skip_permissions_check_events) ) {
- return true;
- }
-
- return parent::CheckPermission($event);
- }
-
- /**
- * Updates structure config
- *
- * @param kEvent $event
- */
- function OnAfterConfigRead(&$event)
- {
- parent::OnAfterConfigRead($event);
-
- # 1. Regular Fields from /in-commerce/units/products/products_config.php
- $fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); #get regular fields
-// $fields['Status']['default'] = 1; #add/edit field configuration (make default = 1)
- $this->Application->setUnitOption($event->Prefix, 'Fields', $fields); #save regular fields
-
-
- # 2. Virtual Fields from /in-commerce/units/products/products_config.php
- $virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); #get virtual fields
-// $virtual_fields['Qty']['default'] = 1; #add/edit field configuration
- $this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); # save virtual fields
- }
-
- /**
- * Sets custom query for the list
- *
- * @param kEvent $event
- */
- function SetCustomQuery(&$event)
- {
- parent::SetCustomQuery($event);
-
- $object =& $event->getObject();
- /* @var $object kDBList */
-
- # identifying event based on special and setting filter
- if ( $event->Special == 'custom-special' ) {
-// $object->addFilter('primary_filter', '%1$s.Status = '.STATUS_DISABLED);
- }
-
- # identifying event based not admin condition and setting filter
- if (!$this->Application->isAdminUser) {
-// $object->addFilter('status_filter', '%1$s.Status = '.STATUS_ACTIVE);
- }
- }
-
- /**
- * Before new item created
- *
- * @param kEvent $event
- */
- function OnBeforeItemCreate(&$event)
- {
- parent::OnBeforeItemCreate($event);
-
-
- }
-
- /**
- * Before existing item updated
- *
- * @param kEvent $event
- */
- function OnBeforeItemUpdate(&$event)
- {
- parent::OnBeforeItemUpdate($event);
-
-
- }
-
- /**
- * Before item deleted
- *
- * @param kEvent $event
- */
- function OnBeforeItemDelete(&$event)
- {
- parent::OnBeforeItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnBeforeItemLoad(&$event)
- {
- parent::OnBeforeItemLoad($event);
-
-
- }
-
-
- /**
- * After new item created
- *
- * @param kEvent $event
- */
- function OnAfterItemCreate(&$event)
- {
- parent::OnAfterItemCreate($event);
-
-
- }
-
- /**
- * After existing item updated
- *
- * @param kEvent $event
- */
- function OnAfterItemUpdate(&$event)
- {
- parent::OnAfterItemUpdate($event);
-
-
- }
-
- /**
- * After item deleted
- *
- * @param kEvent $event
- */
- function OnAfterItemDelete(&$event)
- {
- parent::OnAfterItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnAfterItemLoad(&$event)
- {
- parent::OnAfterItemLoad($event);
-
-
- }
-
- }
\ No newline at end of file
Index: branches/1.0.x/custom/units/helpers/sample_helper.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/helpers/sample_helper.php (revision 12743)
+++ branches/1.0.x/custom/units/helpers/sample_helper.php (revision 0)
@@ -1,14 +0,0 @@
- 'custom-helpers',
-
- 'EventHandlerClass' => Array ('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'),
-
- 'RegisterClasses' => Array (
- Array ('pseudo' => 'SampleHelper', 'class' => 'SampleHelper', 'file' => 'sample_helper.php', 'build_event' => '', 'require_classes' => 'kHelper'),
- ),
- );
\ No newline at end of file
Index: branches/1.0.x/custom/units/widgets/widgets_config.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/widgets/widgets_config.php (revision 12743)
+++ branches/1.0.x/custom/units/widgets/widgets_config.php (revision 0)
@@ -1,191 +0,0 @@
- 'widget',
-
- 'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
- 'ListClass' => Array ('class' => 'kDBList', 'file'=> '', 'build_event' => 'OnListBuild'),
-
- 'EventHandlerClass' => Array ('class' => 'WidgetEventHandler', 'file' => 'widget_eh.php', 'build_event' => 'OnBuild'),
- 'TagProcessorClass' => Array ('class' => 'WidgetTagProcessor', 'file' => 'widget_tp.php', 'build_event' => 'OnBuild'),
-
- 'AutoLoad' => true,
-
- 'QueryString' => Array (
- 1 => 'id',
- 2 => 'Page',
- 3 => 'event',
- 4 => 'mode',
- ),
-
- 'RewriteListener' => 'WidgetRewriteListener',
-
- 'IDField' => 'WidgetId',
-
- 'StatusField' => Array ('Status'),
-
- 'TableName' => TABLE_PREFIX.'Widgets',
-
- /*
- 'ForeignKey' => 'ParentId', // field title in TableName, linking record to a parent
- 'ParentTableKey' => 'ParentId', // id (or other key) field title in parent's table
- 'ParentPrefix' => 'parent',
- 'AutoDelete' => true, // delete these items when parent is being deleted
- 'AutoClone' => true, // clone these items when parent is being cloned
- */
-
- 'TitlePresets' => Array (
- 'default' => Array (
- 'new_status_labels' => Array ('widget' => '!la_title_AddingWidget!'),
- 'edit_status_labels' => Array ('widget' => '!la_title_EditingWidget!'),
- 'new_titlefield' => Array ('widget' => '!la_title_NewWidget!'),
- ),
-
- 'widget_list' => Array (
- 'prefixes' => Array ('widget_List'), 'format' => '#section_label#',
- 'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'approve', 'decline', 'export', 'import', 'view', 'dbl-click',),
- ),
-
- 'widget_edit' => Array (
- 'prefixes' => Array ('widget'), 'format' => '#widget_status# - #widget_titlefield#',
- 'toolbar_buttons' => Array ('select', 'cancel', 'reset_edit', 'prev', 'next'),
- ),
- ),
-
- 'PermSection' => Array('main' => 'custom:widgets'),
-
- 'Sections' => Array (
- 'custom:widgets' => Array (
- 'parent' => 'custom',
- 'icon' => 'custom',
- 'label' => 'la_tab_Widgets',
- 'url' => Array ('t' => 'custom/widgets/widget_list', 'pass' => 'm'),
- 'permissions' => Array ('view', 'add', 'edit', 'delete'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
- ),
-
- 'TitleField' => 'Title', // field, used in bluebar when editing existing item
-
- // Use %1$s for local table name with prefix, %2$s for calculated fields
- 'ListSQLs' => Array ( // key - special, value - list select sql
- '' => 'SELECT %1$s.* %2$s
- FROM %1$s',
- ),
-
- 'ItemSQLs' => Array (
- '' => 'SELECT %1$s.* %2$s
- FROM %1$s',
- ),
-
- 'ListSortings' => Array (
- '' => Array (
- // 'ForcedSorting' => Array ('Priority' => 'desc'),
- 'Sorting' => Array ('Title' => 'asc'),
- )
- ),
-
- 'Fields' => Array (
- 'WidgetId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
- 'Title' => Array ('type' => 'string', 'not_null' => '1', 'default' => '', 'required' => true, 'max_len' => 255),
- 'Description' => Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
- 'Email' => Array(
- 'type' => 'string', 'formatter' => 'kFormatter',
- 'regexp'=> '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i',
- 'sample_value' => 'email@domain.com',
- 'not_null' => 1, 'default' => '',
- 'error_msgs' => Array ('invalid_format' => '!la_invalid_email!')
- ),
- 'Type' => Array (
- 'type' => 'int',
- 'formatter' => 'kOptionsFormatter', 'use_phrases' => 1,
- 'options' => Array (
- 1 => 'la_opt_Default',
- 2 => 'la_opt_Custom',
- ),
- 'not_null' => 1,
- 'default' => 1,
- 'required' => 1,
- ),
- 'Phone' => Array (
- 'type' => 'string', 'formatter' => 'kFormatter',
- 'default' => '', 'using_fck' => 1, 'not_null' => 1),
- 'Qty' => Array ('type' => 'double', 'required' => 0, 'not_null' => 1, 'default' => 0),
- 'Status' => Array (
- 'type' => 'int', 'formatter' => 'kOptionsFormatter',
- 'options' => array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'),
- 'use_phrases' => 1, 'not_null' => 1, 'default' => 2,
- ),
- 'CreatedOn' => Array (
- 'type' => 'int', 'formatter' => 'kDateFormatter',
- 'time_format' => '', 'input_time_format' => '', 'default'=>'#NOW#', 'default' => NULL),
-
- 'Good' => Array (
- 'type' => 'int', 'formatter' => 'kOptionsFormatter',
- 'options' => Array(1 => 'la_Yes', 0 => 'la_No'),
- 'use_phrases' => 1, 'not_null' => 1, 'default' => 0
- ),
- 'BirthTime' => Array (
- 'type' => 'int', 'formatter' => 'kDateFormatter',
- 'date_format' => '', 'input_date_format' => '',
- 'default' => null
- ),
- 'Image' => Array(
- 'type' => 'string', 'formatter' => 'kUploadFormatter',
- 'max_size' => MAX_UPLOAD_SIZE, // in Bytes !
- 'file_types' => '*.jpg;*.gif;*.png', 'files_description'=>'!la_hint_ImageFiles!',
- 'upload_dir' => '/system/user_files/', // relative to project's home
- 'as_image' => true, 'thumb_width' => 100, 'thumb_height' => 100,
- 'multiple' => false, // false or max number of files - will be stored as serialized array of paths
- 'direct_links' => false, // use direct file urls or send files through wrapper (requires mod_mime_magic)
- 'required' => 1, 'default' => null
- ),
- 'DataFile' => Array(
- 'type' => 'string', 'formatter'=>'kUploadFormatter',
- 'max_size' => MAX_UPLOAD_SIZE, // in Bytes !
- 'file_types' => '*.*',
- 'files_description' => '!la_hint_AllFiles!',
- 'upload_dir' => '/system/user_files/', // relative to project's home
- 'as_image' => false,
- 'multiple' => 5, // false or max number of files - will be stored as serialized array of paths
- 'direct_links' => true, // use direct file urls or send files through wrapper (requires mod_mime_magic)
- 'default' => null
- ),
- ),
-
- 'Grids' => Array (
- 'Default' => Array (
- // 'Icons' => Array ('default' => 'icon16_custom.gif'),
- 'Fields' => Array (
- 'WidgetId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter'),
- 'Title' => Array ('title' => 'la_col_Name', 'data_block' => 'grid_delete_td'),
- 'Image' => Array ('title' => 'la_col_Image', 'data_block' => 'grid_image_td'),
- 'Type' => Array ('title' => 'la_col_Type', 'filter_block' => 'grid_options_filter'),
- 'Status' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter'),
- 'Good' => Array ('title' => 'la_col_Good'),
- 'Qty' => Array ('title' => 'la_col_Qty', 'header_block' => 'grid_column_title_no_sorting', 'filter_block' => 'grid_float_range_filter'),
- 'Email' => Array ('title' => 'la_col_Email'),
- 'Phone' => Array ('title' => 'la_col_Phone'),
- 'CreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter'),
- 'Description' => Array ('title' => 'la_col_Description'),
- // 'BirthTime' => Array ('title' => 'la_col_BirthTime', 'filter_block' => 'grid_date_range_filter'),
- ),
- ),
- ),
-
- 'ConfigMapping' => Array (
- 'PerPage' => 'Comm_Perpage_Widgets',
- 'ShortListPerPage' => 'Comm_Perpage_Widgets_Short',
- ),
- );
Index: branches/1.0.x/custom/units/widgets/widget_tp.php
===================================================================
diff -u -N
--- branches/1.0.x/custom/units/widgets/widget_tp.php (revision 12743)
+++ branches/1.0.x/custom/units/widgets/widget_tp.php (revision 0)
@@ -1,22 +0,0 @@
- Array ('self' => true),
- 'OnCustomEvent' => Array ('self' => true),
- );
-
- $this->permMapping = array_merge($this->permMapping, $permissions);
- }
-
- /**
- * Permission exceptions
- *
- * @param kEvent $event
- */
- function CheckPermission(&$event)
- {
- $skip_permissions_check_events = Array (
- 'OnAnotherCustomEvent',
- );
-
- if (in_array($event->Name, $skip_permissions_check_events)) {
- return true;
- }
-
- return parent::CheckPermission($event);
- }
-
- /**
- * Set custom query for the list
- *
- * @param kEvent $event
- */
- function OnCustomEvent(&$event)
- {
- $object =& $event->getObject();
- /* @var $object kDBList */
-
- }
-
- /**
- * Set custom query for the list
- *
- * @param kEvent $event
- */
- function SetCustomQuery(&$event)
- {
- parent::SetCustomQuery($event);
-
- $object =& $event->getObject();
- /* @var $object kDBList */
-
- # identifying event based on special and setting filter
- if ($event->Special == 'custom-special') {
-// $object->addFilter('primary_filter', '%1$s.Status = '.STATUS_DISABLED);
- }
- }
-
- /**
- * Before new item created
- *
- * @param kEvent $event
- */
- function OnBeforeItemCreate(&$event)
- {
- parent::OnBeforeItemCreate($event);
-
- }
-
- /**
- * Before existing item updated
- *
- * @param kEvent $event
- */
- function OnBeforeItemUpdate(&$event)
- {
- parent::OnBeforeItemUpdate($event);
-
- }
-
- /**
- * Before item deleted
- *
- * @param kEvent $event
- */
- function OnBeforeItemDelete(&$event)
- {
- parent::OnBeforeItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnBeforeItemLoad(&$event)
- {
- parent::OnBeforeItemLoad($event);
-
-
- }
-
-
- /**
- * After new item created
- *
- * @param kEvent $event
- */
- function OnAfterItemCreate(&$event)
- {
- parent::OnAfterItemCreate($event);
-
-
- }
-
- /**
- * After existing item updated
- *
- * @param kEvent $event
- */
- function OnAfterItemUpdate(&$event)
- {
- parent::OnAfterItemUpdate($event);
-
-
- }
-
- /**
- * After item deleted
- *
- * @param kEvent $event
- */
- function OnAfterItemDelete(&$event)
- {
- parent::OnAfterItemDelete($event);
-
-
- }
-
- /**
- * After item loaded
- *
- * @param kEvent $event
- */
- function OnAfterItemLoad(&$event)
- {
- parent::OnAfterItemLoad($event);
-
-
- }
-
- /**
- * Builds/parses widget part of url
- *
- * @param int $rewrite_mode Mode in what rewrite listener was called. Possbile two modes: REWRITE_MODE_BUILD, REWRITE_MODE_PARSE.
- * @param string $prefix Prefix, that listener uses for system integration
- * @param Array $params Params, that are used for url building or created during url parsing.
- * @param Array $url_parts Url parts to parse (only for parsing).
- * @param bool $keep_events Keep event names in resulting url (only for building).
- * @return bool Return true to continue to next listener; return false (when building) not to rewrite given prefix; return false (when parsing) to stop processing at this listener.
- */
- function WidgetRewriteListener($rewrite_mode = REWRITE_MODE_BUILD, $prefix, &$params, &$url_parts, $keep_events = false)
- {
- if ($rewrite_mode == REWRITE_MODE_BUILD) {
- if ($params['t'] == 'widgets/widget_detail') {
- // this is default template for this prefix, so don't add it to resulting url
- $params['pass_template'] = false;
- }
-
- $mod_rewrite_helper =& $this->Application->recallObject('ModRewriteHelper');
- /* @var $mod_rewrite_helper kModRewriteHelper */
-
- $processed_params = $mod_rewrite_helper->getProcessedParams($prefix, $params, $keep_events);
-
- if ($processed_params === false) {
- return '';
- }
-
- $ret = Array ('', '');
-
- if ($processed_params[$prefix . '_id'] > 0) {
- // add id
- $sql = 'SELECT Title
- FROM ' . TABLE_PREFIX . 'Widgets
- WHERE WidgetId = ' . $processed_params[$prefix . '_id'];
- $ret[0] .= 'widgets/' . $this->Conn->GetOne($sql) . '/';
- } elseif ($processed_params[$prefix . '_Page'] > 1) {
- // add page, only when ID is missing
- $ret[1] .= $processed_params[$prefix . '_Page'] . '/';
- }
-
- $ret[0] = rtrim($ret[0], '/');
- $ret[1] = rtrim($ret[1], '/');
-
- return array_map('mb_strtolower', $ret);
- }
-
- if ($rewrite_mode == REWRITE_MODE_PARSE) {
- if ($url_parts[0] == 'widgets') {
- $sql = 'SELECT WidgetId
- FROM ' . TABLE_PREFIX . 'Widgets
- WHERE Title = ' . $this->Conn->qstr($url_parts[1]);
- $id = $this->Conn->GetOne($sql);
- $to_parse = $url_parts;
-
- if ($id > 0) {
- // id found
- $params[$prefix . '_id'] = $id;
- $to_parse = array_slice($to_parse, 2); // cut off first two parts - "widgets/"
- $params['pass'][] = $prefix; // otherwise this prefix won't passed when pass="all" parameter used
- }
-
- $template = implode('/', $to_parse);
-
- if ($template) {
- // let others guess what template is
- return true;
- }
-
- // template missing -> set default
- $params['t'] = 'widgets/widget_detail';
- return false;
- }
- }
-
- return true;
- }
- }
\ No newline at end of file