'confs', 'Clones' => Array( 'confs-cf' => Array( 'Prefix' => 'confs-cf', 'ParentPrefix' => 'cf', 'ParentTableKey' => 'CustomFieldId', // linked field in master table 'ForeignKey' => 'CustomFieldId', // linked field in subtable 'AutoClone' => false, // because OnCreateCustomField hook does the stuff 'AutoDelete' => true, 'Hooks' => Array( Array( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => '#PARENT#', 'HookToSpecial' => '*', 'HookToEvent' => Array('OnAfterItemCreate', 'OnAfterItemUpdate'), 'DoPrefix' => '', 'DoSpecial' => '*', 'DoEvent' => 'OnCreateCustomField', ), ), ), ), 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), 'EventHandlerClass' => Array('class'=>'ConfigSearchEventHandler','file'=>'config_search_event_handler.php','build_event'=>'OnBuild'), 'TagProcessorClass' => Array('class'=>'ConfigSearchTagProcessor','file'=>'config_search_tag_processor.php','build_event'=>'OnBuild'), 'AutoLoad' => true, 'hooks' => Array(), 'QueryString' => Array( 1 => 'id', 2 => 'page', 3 => 'event', ), 'IDField' => 'SearchConfigId', 'TitleField' => 'FieldName', 'TitlePresets' => Array( 'default' => Array( 'new_status_labels' => Array('confs'=>'!la_title_Adding_ConfigSearch!'), 'edit_status_labels' => Array('confs'=>'!la_title_Editing_ConfigSearch!'), 'new_titlefield' => Array('confs'=>'!la_title_New_ConfigSearch!'), ), 'configsearch_edit' => Array('prefixes' => Array('confs'), 'format' => "#confs_status# '#confs_titlefield#' - !la_title_General!"), 'config_list_search' => Array('prefixes' => Array('confs_List'), 'tag_params' => Array('confs' => Array('per_page' => -1) ), 'format' => "!la_updating_config!"), ), 'TableName' => TABLE_PREFIX.'SearchConfig', 'CalculatedFields' => Array( '' => Array( 'IsCustom' => 'IF(CustomFieldId IS NULL, 0, 1)', ), ), 'ListSQLs' => Array('' => 'SELECT %1$s.* %2$s FROM %1$s'), 'ItemSQLs' => Array('' => 'SELECT %1$s.* %2$s FROM %1$s'), 'Fields' => Array( 'TableName' => Array('type' => 'string','not_null' => '1', 'required' => 1, 'default' => ''), 'FieldName' => Array('type' => 'string','not_null' => '1', 'required' => 1, 'default' => ''), 'SimpleSearch' => Array('type' => 'int', 'not_null' => 1, 'default' => 1), 'AdvancedSearch' => Array('type' => 'int', 'not_null' => 1, 'default' => 1), 'Description' => Array('type' => 'string','default' => null), 'DisplayName' => Array('type' => 'string', 'required' => 1, 'default' => null), 'ModuleName' => Array('type' => 'string', 'formatter'=>'kOptionsFormatter', 'options'=>Array(''=>''), 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Modules WHERE Loaded = 1 ORDER BY LoadOrder', 'option_key_field'=>'Name', 'option_title_field'=>'Name', 'not_null' => '1','default' => 'In-Portal'), 'ConfigHeader' => Array('type' => 'string', 'required' => 1, 'default' => null), 'DisplayOrder' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'SearchConfigId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'Priority' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'FieldType' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('text' => 'text', 'range' => 'range', 'boolean' => 'boolean', 'date' => 'date'), 'not_null' => '1', 'required' => 1, 'default' => 'text'), 'ForeignField' => Array('type' => 'string','default' => null), 'JoinClause' => Array('type' => 'string','default' => null), 'IsWhere' => Array('type' => 'string','default' => null), 'IsNotWhere' => Array('type' => 'string','default' => null), 'ContainsWhere' => Array('type' => 'string','default' => null), 'NotContainsWhere' => Array('type' => 'string','default' => null), 'CustomFieldId' => Array('type' => 'int', 'default' => null), ), 'VirtualFields' => Array( 'IsCustom' => Array('type' => 'int', 'default' => 0), ), 'ListSortings' => Array( '' => Array( 'ForcedSorting' => Array('IsCustom' => 'asc'), 'Sorting' => Array('DisplayOrder' => 'asc'), ) ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), // icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used 'Fields' => Array( 'TableName' => Array( 'title'=>'la_col_TableName', 'data_block' => 'grid_data_td'), 'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_data_td' ), 'SimpleSearch' => Array( 'title'=>'la_col_SimpleSearch', 'data_block' => 'grid_data_td'), ), ), ), ); ?>