Index: branches/5.1.x/core/units/email_events/email_events_config.php =================================================================== diff -u -N -r13086 -r13140 --- branches/5.1.x/core/units/email_events/email_events_config.php (.../email_events_config.php) (revision 13086) +++ branches/5.1.x/core/units/email_events/email_events_config.php (.../email_events_config.php) (revision 13140) @@ -1,6 +1,6 @@ Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'), 'EventHandlerClass' => Array ('class' => 'EmailEventsEventsHandler', 'file' => 'email_events_event_handler.php', 'build_event' => 'OnBuild'), - 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'), + 'TagProcessorClass' => Array ('class' => 'EmailEventTagProcessor', 'file' => 'email_event_tp.php', 'build_event' => 'OnBuild'), 'AutoLoad' => true, @@ -36,24 +36,52 @@ 'TitlePresets' => Array ( 'default' => Array ( + 'new_status_labels' => Array ('emailevents' => '!la_title_Adding_E-mail!'), + 'edit_status_labels' => Array ('emailevents' => '!la_title_Editing_E-mail!'), 'edit_status_labels' => Array ('emailevents' => '!la_title_EditingEmailEvent!'), ), + // for editing in Regional section 'email_settings_list' => Array ('prefixes' => Array ('emailevents.module_List'), 'format' => '!la_title_EmailSettings!'), 'email_settings_edit' => Array ( 'prefixes' => Array ('emailevents'), 'format' => "#emailevents_status# '#emailevents_titlefield#'", 'toolbar_buttons' => Array ('select', 'cancel', 'reset_edit', 'prev', 'next'), ), + // for separate grid with email editing + 'email_messages_direct_list' => Array ( + 'prefixes' => Array ('emailevents_List'), 'format' => "!la_title_EmailMessages!", + 'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'approve', 'decline', 'view', 'dbl-click'), + ), + + 'email_messages_edit_direct' => Array ( + 'prefixes' => Array ('emailevents'), + 'format' => '#emailevents_status# - #emailevents_titlefield#', + 'toolbar_buttons' => Array ('select', 'cancel', 'reset_edit'), + ), + + // for mass mailing 'email_send_form' => Array ('prefixes' => Array (), 'format' => '!la_title_SendEmail!'), 'email_prepare' => Array ('prefixes' => Array (), 'format' => '!la_title_PreparingEmailsForSending!. !la_title_PleaseWait!'), 'email_send' => Array ('prefixes' => Array (), 'format' => '!la_title_SendingPreparedEmails!. !la_title_PleaseWait!'), 'email_send_complete' => Array ('prefixes' => Array (), 'format' => '!la_title_SendMailComplete!'), ), - 'PermSection' => Array ('main' => 'in-portal:configure_lang'), + 'PermSection' => Array ('main' => 'in-portal:configemail'), + 'Sections' => Array ( + 'in-portal:configemail' => Array ( + 'parent' => 'in-portal:site', + 'icon' => 'email_templates', + 'label' => 'la_tab_E-mails', + 'url' => Array ('t' => 'languages/email_message_list', 'pass' => 'm'), + 'permissions' => Array ('view', 'add', 'edit', 'delete'), + 'priority' => 5, + 'type' => stTREE, + ), + ), + 'FilterMenu' => Array ( 'Groups' => Array ( Array ('mode' => 'AND', 'filters' => Array ('show_enabled', 'show_disabled', 'show_frontonly'), 'type' => WHERE_FILTER), @@ -81,15 +109,42 @@ ), 'ListSortings' => Array ( - '' => Array ('Sorting' => Array ('Module' => 'asc', 'Description' => 'asc')), - 'module' => Array ('Sorting' => Array ('Description' => 'asc') ), + '' => Array ( + 'ForcedSorting' => Array ('Enabled' => 'desc'), + 'Sorting' => Array ('Module' => 'asc', 'Description' => 'asc'), + ), + 'module' => Array ( + 'ForcedSorting' => Array ('Enabled' => 'desc'), + 'Sorting' => Array ('Description' => 'asc') + ), ), + 'PopulateMlFields' => true, + 'Fields' => Array ( 'EventId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'Event' => Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), + 'Event' => Array ('type' => 'string', 'not_null' => 1, 'unique' => Array ('Type'), 'required' => 1, 'default' => ''), + 'Headers' => Array ('type' => 'string', 'default' => NULL), 'ReplacementTags' => Array ('type' => 'string', 'default' => NULL), + 'Subject' => Array ( + 'type' => 'string', + 'formatter' => 'kMultiLanguage', 'db_type' => 'text', + 'required' => 1, 'default' => null + ), + + 'Body' => Array ( + 'type' => 'string', + 'formatter' => 'kMultiLanguage', 'db_type' => 'longtext', + 'required' => 1, 'default' => null + ), + + 'MessageType' => Array ( + 'type' => 'string', + 'formatter' => 'kOptionsFormatter', 'options' => Array ('text' => 'la_Text', 'html' => 'la_Html'), 'use_phrases' => 1, + 'not_null' => 1, 'required' => 1, 'default' => 'text' + ), + 'Enabled' => Array ( 'type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, @@ -108,12 +163,20 @@ 'default' => NULL ), - 'Module' => Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), - 'Description' => Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), + 'Module' => Array ( + 'type' => 'string', + 'formatter' => 'kOptionsFormatter', 'options' => Array (), + 'not_null' => 1, 'required' => 1, 'default' => '' + ), + 'Description' => Array ( + 'type' => 'string', + 'formatter' => 'kMultiLanguage', + 'not_null' => 1, 'default' => '', 'db_type' => 'text', + ), 'Type' => Array ( 'type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Text_Admin', 0 => 'la_Text_User'), 'use_phrases' => 1, - 'not_null' => 1, 'required' => 1, 'default' => 0 + 'not_null' => 1, 'unique' => Array ('Event'), 'required' => 1, 'default' => 0 ), ), @@ -122,6 +185,7 @@ ), 'Grids' => Array ( + // used on "Email Events" tab in language editing in "Regional" section 'Default' => Array ( 'Icons' => Array ( 'default' => 'icon16_item.png', @@ -130,14 +194,33 @@ ), 'Fields' => Array ( 'EventId' => Array ('title' => 'la_col_Id', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'Description' => Array ( 'title' => 'la_col_Description', 'data_block' => 'label_grid_checkbox_td', 'filter_block' => 'grid_like_filter', 'width' => 250, ), + 'Description' => Array ( 'title' => 'la_col_Description', 'filter_block' => 'grid_like_filter', 'width' => 250, ), 'Event' => Array ( 'title' => 'la_col_Event', 'filter_block' => 'grid_like_filter', 'width' => 250, ), - 'Module' => Array ( 'title' => 'la_col_Module', 'filter_block' => 'grid_like_filter', 'width' => 100, ), + 'Module' => Array ( 'title' => 'la_col_Module', 'filter_block' => 'grid_options_filter', 'width' => 100, ), 'Type' => Array ( 'title' => 'la_col_Type', 'filter_block' => 'grid_options_filter', 'width' => 120, ), 'Enabled' => Array ( 'title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 80, ), ), ), + // used on "Email Templates" section + 'Emails' => Array ( + 'Icons' => Array ( + 'default' => 'icon16_item.png', + 0 => 'icon16_disabled.png', + 1 => 'icon16_item.png', + ), + 'Fields' => Array ( + 'EventId' => Array ( 'title' => 'la_col_Id', 'filter_block' => 'grid_range_filter', 'width' => 60, ), + 'Event' => Array ( 'title' => 'la_col_Event', 'filter_block' => 'grid_like_filter', 'width' => 250, ), + 'Subject' => Array ( 'title' => 'la_col_Subject', 'filter_block' => 'grid_like_filter', 'no_special' => 0, 'width' => 300, ), + 'Description' => Array ( 'title' => 'la_col_Description', 'filter_block' => 'grid_like_filter', 'width' => 250, ), + 'Type' => Array ( 'title' => 'la_col_Type', 'filter_block' => 'grid_options_filter', 'width' => 60, ), + 'Enabled' => Array ( 'title' => 'la_col_Enabled', 'filter_block' => 'grid_options_filter', 'width' => 70, ), + 'Module' => Array ( 'title' => 'la_col_Module', 'filter_block' => 'grid_options_filter', 'width' => 100, ), + ), + ), + + // used on "E-Mail" section in each module 'EmailSettings' => Array ( 'Icons' => Array ( 'default' => 'icon16_item.png', @@ -146,7 +229,7 @@ ), 'Fields' => Array ( 'EventId' => Array ('title' => 'la_col_Id', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'Description' => Array ('title' => 'la_col_EventDescription', 'data_block' => 'label_grid_checkbox_td', 'width' => 250, ), + 'Description' => Array ('title' => 'la_col_EventDescription', 'width' => 250, ), 'FromUser' => Array ('title' => 'la_col_FromToUser', 'data_block' => 'from_user_td', 'filter_block' => 'grid_like_filter', 'width' => 150, ), 'Type' => Array ('title' => 'la_col_RecipientType', 'filter_block' => 'grid_options_filter', 'width' => 120, ), 'FrontEndOnly' => Array ('title' => 'la_col_FrontEndOnly', 'filter_block' => 'grid_options_filter', 'width' => 120, ),