'skin', 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), 'EventHandlerClass' => Array('class'=>'SkinEventHandler','file'=>'skin_eh.php','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'), 'AutoLoad' => true, 'Hooks' => Array( Array( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'skin', 'HookToSpecial' => '', 'HookToEvent' => Array('OnSave'), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnCompileStylesheet', ), ), 'QueryString' => Array( 1 => 'id', 2 => 'Page', 3 => 'event', 4 => 'mode', ), 'IDField' => 'SkinId', 'StatusField' => Array('IsPrimary'), 'TableName' => TABLE_PREFIX.'Skins', /* '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('skin'=>'!la_title_AddingSkin!'), 'edit_status_labels' => Array('skin'=>'!la_title_EditingSkin!'), 'new_titlefield' => Array('skin'=>''), ), 'skin_list'=>Array( 'prefixes' => Array('skin_List'), 'format' => '!la_tab_Skins!', ), 'skin_edit'=>Array( 'prefixes' => Array('skin'), 'format' => '#skin_status# #skin_titlefield#', ), ), 'PermSection' => Array('main' => 'in-portal:skins'), // 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, 'in-portal:skins.view', 11, 1, 1, 0), (0, 'in-portal:skins.add', 11, 1, 1, 0), (0, 'in-portal:skins.edit', 11, 1, 1, 0), (0, 'in-portal:skins.delete', 11, 1, 1, 0); 'Sections' => Array( 'in-portal:skins' => Array( 'parent' => 'in-portal:tools', 'icon' => 'conf_general', 'label' => 'la_tab_Skins', 'url' => Array('t' => 'skins/skin_list', 'pass' => 'm'), 'permissions' => Array('view', 'add', 'edit', 'delete'), 'priority' => 11, 'show_mode' => smSUPER_ADMIN, 'type' => stTREE, ), ), 'TitleField' => 'Name', // 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('Name' => 'asc'), ) ), 'Fields' => Array ( 'SkinId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'Name' => Array ('type' => 'string', 'max_len' => 255, 'required' => 1, 'default' => NULL), 'CSS' => Array ('type' => 'string', 'default' => NULL), 'Logo' => Array( 'type'=>'string', 'formatter'=>'kUploadFormatter', 'max_size'=>MAX_UPLOAD_SIZE, // in Bytes ! 'file_types'=>'*.jpg;*.gif;*.png', 'files_description'=>'!la_ImageFiles!', 'upload_dir' => WRITEBALE_BASE . '/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) 'default' => null, ), 'LogoBottom' => Array( 'type'=>'string', 'formatter'=>'kUploadFormatter', 'max_size'=>MAX_UPLOAD_SIZE, // in Bytes ! 'file_types'=>'*.jpg;*.gif;*.png', 'files_description'=>'!la_ImageFiles!', 'upload_dir' => WRITEBALE_BASE . '/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) 'not_null' => 1, 'default' => '', ), 'LogoLogin' => Array( 'type'=>'string', 'formatter'=>'kUploadFormatter', 'max_size'=>MAX_UPLOAD_SIZE, // in Bytes ! 'file_types'=>'*.jpg;*.gif;*.png', 'files_description'=>'!la_ImageFiles!', 'upload_dir' => WRITEBALE_BASE . '/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) 'not_null' => 1, 'default' => '', ), 'Options' => Array( 'type' => 'string', 'default' => NULL, 'formatter' => 'kSerializedFormatter', 'default'=>serialize( array( 'HeadBgColor' => array('Description'=>'Head frame background color', 'Value'=>'#1961B8'), 'HeadColor' => array('Description'=>'Head frame text color', 'Value'=>'#000000'), 'SectionBgColor' => array('Description'=>'Section bar background color', 'Value'=>'#2D79D6'), 'SectionColor' => array('Description'=>'Section bar text color', 'Value'=>'#000000'), ) ), ), 'LastCompiled' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'IsPrimary' => Array( 'type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0 ), ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_test.gif'), 'Fields' => Array( 'SkinId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'width'=>50, 'filter_block' => 'grid_range_filter' ), 'Name' => Array( 'title'=>'la_col_SkinName', 'width'=>200, 'filter_block' => 'grid_like_filter'), 'IsPrimary' => Array( 'title'=>'la_col_IsPrimary', 'width'=>150, 'filter_block' => 'grid_options_filter'), ), ), ), /*'ConfigMapping' => Array( 'PerPage' => 'Comm_Perpage_Tests', 'ShortListPerPage' => 'Comm_Perpage_Tests_Short', ),*/ ); /* Don't forget to: - Add table create statement to install_schema.sql CREATE TABLE Tests ( `TestId` 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 ) - Add permissions for admin gorup to install script (see 'Sections' key above) */