Index: branches/RC/custom/units/widgets/widgets_config.php =================================================================== --- branches/RC/custom/units/widgets/widgets_config.php (revision 11987) +++ branches/RC/custom/units/widgets/widgets_config.php (revision 11988) @@ -1,212 +1,212 @@ <?php -/** - * Sample config file for widgets - * - * @author dmitrya - * @package Development Kit - */ - - -$config = Array( - - 'Prefix' => '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', - ), - - 'IDField' => 'TestId', - - '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 ('test' => '!la_title_AddingWidget!'), - 'edit_status_labels' => Array ('test' => '!la_title_EditingWidget!'), - ), - - 'widget_list' => Array ( - 'prefixes' => Array ('widget_List'), 'format' => '#section_label#', - 'toolbar_buttons' => Array (), - ), - - 'widget_edit' => Array ( - 'prefixes' => Array ('test'), 'format' => '#widget_status# #widget_titlefield#', - 'toolbar_buttons' => Array (), - ), - ), - - 'PermSection' => Array('main' => 'custom:widgets'), - // don't forget to add corresponding permissions to install script - // INSERT INTO Permissions VALUES (0, 'custom:custom.view', 11, 1, 1, 0); - // INSERT INTO Permissions VALUES (0, 'custom:widgets.view', 11, 1, 1, 0), (0, 'custom:widgets.add', 11, 1, 1, 0), (0, 'custom:widgets.edit', 11, 1, 1, 0), (0, 'custom:widgets.delete', 11, 1, 1, 0); - - 'Sections' => Array ( - 'custom:tests' => Array ( - 'parent' => 'custom', - 'icon' => 'custom:widgets', - 'label' => 'la_tab_Widgets', - 'url' => Array ('t' => 'custom/widgets/widget_list', 'pass' => 'm'), - 'permissions' => Array ('view', 'add', 'edit', 'delete'), - 'priority' => 1, - 'type' => stTREE, - ), - ), - - 'TitleField' => 'LastName', // 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_default_type', - 2 => 'la_some_type', - 3 => 'la_another_type', - ), - '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#', 'not_null' => true), - - '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_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_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 ( - 'TestId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter'), - 'Title' => Array ('title' => 'la_col_TestName', '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_Tests', - 'ShortListPerPage' => 'Comm_Perpage_Tests_Short', - ), -); + /** + * Sample config file for widgets + * + * @author dmitrya + * @package Development Kit + */ + + $config = Array( + + 'Prefix' => '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', + ), + + 'IDField' => 'TestId', + + '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_New_Widget!'), + ), + + 'widget_list' => Array ( + 'prefixes' => Array ('widget_List'), 'format' => '#section_label#', + 'toolbar_buttons' => Array ('new_item', 'edit', 'delete', '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'), + // don't forget to add corresponding permissions to install script + // INSERT INTO Permissions VALUES (0, 'custom:custom.view', 11, 1, 1, 0); + // INSERT INTO Permissions VALUES (0, 'custom:widgets.view', 11, 1, 1, 0), (0, 'custom:widgets.add', 11, 1, 1, 0), (0, 'custom:widgets.edit', 11, 1, 1, 0), (0, 'custom:widgets.delete', 11, 1, 1, 0); + + 'Sections' => Array ( + 'custom:tests' => Array ( + 'parent' => 'custom', + 'icon' => 'custom:widgets', + 'label' => 'la_tab_Widgets', + 'url' => Array ('t' => 'custom/widgets/widget_list', 'pass' => 'm'), + 'permissions' => Array ('view', 'add', 'edit', 'delete'), + 'priority' => 1, + 'type' => stTREE, + ), + ), + + 'TitleField' => 'LastName', // 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_default_type', + 2 => 'la_some_type', + 3 => 'la_another_type', + ), + '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#', 'not_null' => true), + + '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_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_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 ( + 'TestId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter'), + 'Title' => Array ('title' => 'la_col_TestName', '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_Tests', + 'ShortListPerPage' => 'Comm_Perpage_Tests_Short', + ), + ); /** /* DO NOT FORGET TO: 1. Add table create statement to install_schema.sql CREATE TABLE Widgets ( `WidgetId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `Title` VARCHAR( 255 ) NOT NULL , `Description` TEXT NULL , `Email` VARCHAR( 255 ) NOT NULL , `Type` TINYINT NOT NULL , `Phone` VARCHAR( 50 ) NOT NULL , `Qty` DOUBLE NOT NULL , `Status` TINYINT NOT NULL , `CreatedOn` INT NOT NULL , `Good` TINYINT NOT NULL ) 2. Add permissions for admin gorup to install script (see 'Sections' key above) */ \ No newline at end of file