Attached Files |
New-Language-Defaults-and-Code-Cleanup.patch [^] (30,502 bytes) 2010-08-02 12:11
[Show Content]
Index: admin_templates/regional/languages_edit.tpl
===================================================================
--- admin_templates/regional/languages_edit.tpl (revision 13861)
+++ admin_templates/regional/languages_edit.tpl (working copy)
@@ -57,30 +57,29 @@
<div id="scroll_container">
<table class="edit-form">
- <inp2:m_RenderElement name="subsection" title="!la_section_General!"/>
- <inp2:m_RenderElement name="inp_id_label" prefix="lang" field="LanguageId" title="!la_fld_LanguageId!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="PackName" title="!la_fld_PackName!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="LocalName" title="!la_fld_LocalName!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Charset" title="!la_fld_Charset!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconURL" title="!la_fld_IconURL!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconDisabledURL" title="!la_fld_IconDisabledURL!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DateFormat" title="!la_fld_DateFormat!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="TimeFormat" title="!la_fld_TimeFormat!"/>
+ <inp2:m_RenderElement name="subsection" title="la_section_General"/>
+ <inp2:m_RenderElement name="inp_id_label" prefix="lang" field="LanguageId" title="la_fld_LanguageId"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="PackName" title="la_fld_PackName"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="LocalName" title="la_fld_LocalName"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Charset" title="la_fld_Charset"/>
+
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputDateFormat" title="la_fld_InputDateFormat"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputTimeFormat" title="la_fld_InputTimeFormat"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DateFormat" title="la_fld_DateFormat"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="TimeFormat" title="la_fld_TimeFormat"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputDateFormat" title="!la_fld_InputDateFormat!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputTimeFormat" title="!la_fld_InputTimeFormat!"/>
-
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DecimalPoint" title="!la_fld_DecimalPoint!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="ThousandSep" title="!la_fld_ThousandSep!"/>
- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="PrimaryLang" title="!la_fld_PrimaryLang!"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DecimalPoint" title="la_fld_DecimalPoint"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="ThousandSep" title="la_fld_ThousandSep"/>
+ <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="PrimaryLang" title="la_fld_PrimaryLang"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="AdminInterfaceLang" title="la_fld_AdminInterfaceLang"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Priority" title="la_fld_Priority"/>
- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="Enabled" title="!la_fld_Enabled!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="UnitSystem" title="!la_fld_UnitSystem!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="Locale" title="!la_fld_Locale!"/>
- <inp2:m_RenderElement name="inp_edit_textarea" prefix="lang" field="FilenameReplacements" title="la_fld_FilenameReplacements" allow_html="0" control_options="{min_height: 200}" cols="50" rows="10"/>
+ <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="Enabled" title="la_fld_Enabled"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="UnitSystem" title="la_fld_UnitSystem"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="Locale" title="la_fld_Locale"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconURL" title="la_fld_IconURL"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconDisabledURL" title="la_fld_IconDisabledURL"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="UserDocsUrl" title="la_fld_UserDocsUrl"/>
-
+ <inp2:m_RenderElement name="inp_edit_textarea" prefix="lang" field="FilenameReplacements" title="la_fld_FilenameReplacements" allow_html="0" control_options="{min_height: 200}" cols="50" rows="10"/>
<inp2:m_if check="lang_IsNewMode">
<inp2:m_if check="lang_FieldVisible" field="CopyLabels">
<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
@@ -101,7 +100,7 @@
</td>
</tr>
</inp2:m_if>
- </inp2:m_if>
+ </inp2:m_if>
</table>
</div>
Index: units/languages/languages_config.php
===================================================================
--- units/languages/languages_config.php (revision 13861)
+++ units/languages/languages_config.php (working copy)
@@ -14,243 +14,306 @@
defined('FULL_PATH') or die('restricted access!');
- $config = Array(
- 'Prefix' => 'lang',
- 'ItemClass' => Array('class'=>'LanguagesItem','file'=>'languages_item.php','build_event'=>'OnItemBuild'),
- 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
- 'EventHandlerClass' => Array('class'=>'LanguagesEventHandler','file'=>'languages_event_handler.php','build_event'=>'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'LanguagesTagProcessor','file'=>'languages_tag_processor.php','build_event'=>'OnBuild'),
+ $config = Array (
+ 'Prefix' => 'lang',
+ 'ItemClass' => Array ('class' => 'LanguagesItem', 'file' => 'languages_item.php', 'build_event' => 'OnItemBuild'),
+ 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
+ 'EventHandlerClass' => Array ('class' => 'LanguagesEventHandler', 'file' => 'languages_event_handler.php', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'LanguagesTagProcessor', 'file' => 'languages_tag_processor.php', 'build_event' => 'OnBuild'),
- 'AutoLoad' => true,
- 'Hooks' => Array(
- Array(
- 'Mode' => hAFTER,
- 'Conditional' => false,
- 'HookToPrefix' => 'lang',
- 'HookToSpecial' => '*',
- 'HookToEvent' => Array('OnSave'),
- 'DoPrefix' => '',
- 'DoSpecial' => '',
- 'DoEvent' => 'OnUpdatePrimary',
- ),
+ 'AutoLoad' => true,
+ 'Hooks' => Array (
+ Array (
+ 'Mode' => hAFTER,
+ 'Conditional' => false,
+ 'HookToPrefix' => 'lang',
+ 'HookToSpecial' => '*',
+ 'HookToEvent' => Array ('OnSave'),
+ 'DoPrefix' => '',
+ 'DoSpecial' => '',
+ 'DoEvent' => 'OnUpdatePrimary',
+ ),
+ Array (
+ 'Mode' => hAFTER,
+ 'Conditional' => false,
+ 'HookToPrefix' => 'lang',
+ 'HookToSpecial' => '*',
+ 'HookToEvent' => Array('OnSave', 'OnMassDelete'),
+ 'DoPrefix' => '',
+ 'DoSpecial' => '',
+ 'DoEvent' => 'OnScheduleTopFrameReload',
+ ),
+ ),
+ 'QueryString' => Array (
+ 1 => 'id',
+ 2 => 'Page',
+ 3 => 'PerPage',
+ 4 => 'event',
+ 5 => 'mode',
+ ),
+
+ 'IDField' => 'LanguageId',
+
+ 'StatusField' => Array ('Enabled', 'PrimaryLang'), // field, that is affected by Approve/Decline events
+
+ 'TitleField' => 'PackName', // field, used in bluebar when editing existing item
+
+ 'TitlePresets' => Array (
+ 'default' => Array (
+ 'new_status_labels' => Array ('lang' => '!la_title_Adding_Language!'),
+ 'edit_status_labels' => Array ('lang' => '!la_title_Editing_Language!'),
+ 'new_titlefield' => Array ('lang' => ''),
+ ),
+ 'languages_list' => Array (
+ 'prefixes' => Array ('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks!",
+ 'toolbar_buttons' => Array (
+ 'new_item', 'edit', 'delete', 'export', 'import', 'setprimary', 'refresh', 'view', 'dbl-click'
+ ),
+ ),
+ 'languages_edit_general' => Array (
+ 'prefixes' => Array ('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"
+ ),
+ 'phrases_list' => Array (
+ 'prefixes' => Array ('lang', 'phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels!"
+ ),
+ 'phrase_edit' => Array (
+ 'prefixes' => Array ('phrases'),
+ 'new_status_labels' => Array ('phrases' => '!la_title_Adding_Phrase!'),
+ 'edit_status_labels' => Array ('phrases' => '!la_title_Editing_Phrase!'),
+ 'format' => "#phrases_status# '#phrases_titlefield#'",
+ ),
+ 'import_language' => Array (
+ 'prefixes' => Array ('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!",
+ ),
+ 'import_language_step2' => Array (
+ 'prefixes' => Array ('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!",
+ ),
+ 'export_language' => Array (
+ 'prefixes' => Array ('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!",
+ ),
+ 'export_language_results' => Array (
+ 'prefixes' => Array(), 'format' => "!la_title_ExportLanguagePackResults!",
+ ),
+ 'events_list' => Array (
+ 'prefixes' => Array ('lang', 'emailevents_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EmailEvents!",
+ ),
+ 'event_edit' => Array (
+ 'prefixes' => Array ('emailevents'),
+ 'edit_status_labels' => Array ('emailevents' => '!la_title_Editing_EmailEvent!',),
+ 'format' => '#emailevents_status# - #emailevents_titlefield#',
+ ),
+ 'email_messages_edit' => Array (
+ 'prefixes' => Array ('lang', 'emailevents'),
+ 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailevents_titlefield#'",
+ ),
+ // for separate language list
+ 'languages_list_st' => Array (
+ 'prefixes' => Array ('lang_List'), 'format' => "!la_title_LanguagesManagement!",
+ ),
+ ),
+ 'EditTabPresets' => Array (
+ 'Default' => Array (
+ 'general' => Array ('title' => 'la_tab_General', 't' => 'regional/languages_edit', 'priority' => 1),
+ 'labels' => Array ('title' => 'la_tab_Labels', 't' => 'regional/languages_edit_phrases', 'priority' => 2),
+ 'email_events' => Array ('title' => 'la_tab_EmailEvents', 't' => 'regional/languages_edit_email_events', 'priority' => 3),
+ ),
+ ),
- Array(
- 'Mode' => hAFTER,
- 'Conditional' => false,
- 'HookToPrefix' => 'lang',
- 'HookToSpecial' => '*',
- 'HookToEvent' => Array('OnSave','OnMassDelete'),
- 'DoPrefix' => '',
- 'DoSpecial' => '',
- 'DoEvent' => 'OnScheduleTopFrameReload',
- ),
+ 'PermSection' => Array ('main' => 'in-portal:configure_lang'),
+ 'Sections' => Array (
+ 'in-portal:configure_lang' => Array (
+ 'parent' => 'in-portal:website_setting_folder',
+ 'icon' => 'conf_regional',
+ 'label' => 'la_tab_Regional',
+ 'url' => Array ('t' => 'regional/languages_list', 'pass' => 'm'),
+ 'permissions' => Array (
+ 'view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export',
),
- 'QueryString' => Array(
- 1 => 'id',
- 2 => 'Page',
- 3 => 'PerPage',
- 4 => 'event',
- 5 => 'mode',
- ),
- 'IDField' => 'LanguageId',
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'StatusField' => Array('Enabled','PrimaryLang'), // field, that is affected by Approve/Decline events
+ // "Lang. Management"
+ /*
+ 'in-portal:lang_management' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'core:settings_general',
+ 'label' => 'la_title_LangManagement',
+ 'url' => Array ('t' => 'languages/language_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'perm_prefix' => 'lang',
+ 'priority' => 10.03,
+ 'show_mode' => smSUPER_ADMIN,
+ 'type' => stTREE,
+ ),
+ */
+ ),
- 'TitleField' => 'PackName', // field, used in bluebar when editing existing item
+ 'TableName' => TABLE_PREFIX . 'Language',
- 'TitlePresets' => Array(
- 'default' => Array( 'new_status_labels' => Array('lang'=>'!la_title_Adding_Language!'),
- 'edit_status_labels' => Array('lang'=>'!la_title_Editing_Language!'),
- 'new_titlefield' => Array('lang'=>''),
- ),
+ 'FilterMenu' => Array (
+ 'Groups' => Array (
+ Array ('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER, ),
+ ),
+ 'Filters' => Array (
+ 0 => Array ('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1',),
+ 1 => Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0',),
+ ),
+ ),
- 'languages_list' => Array(
- 'prefixes' => Array('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks!",
- 'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'export', 'import', 'setprimary', 'refresh', 'view', 'dbl-click'),
- ),
+ 'AutoDelete' => true,
+ 'AutoClone' => true,
- 'languages_edit_general' => Array( 'prefixes' => Array('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"),
+ 'ListSQLs' => Array (
+ '' => 'SELECT * FROM %s',
+ ), // key - special, value - list select sql
+
+ 'ItemSQLs' => Array (
+ '' => 'SELECT * FROM %s',
+ ),
+
+ 'ListSortings' => Array (
+ '' => Array (
+ 'Sorting' => Array ('Priority' => 'desc', 'PackName' => 'asc'),
+ ),
+ ),
- 'phrases_list' => Array( 'prefixes' => Array('lang','phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels!"),
-
- 'phrase_edit' => Array (
- 'prefixes' => Array('phrases'),
- 'new_status_labels' => Array('phrases'=>'!la_title_Adding_Phrase!'),
- 'edit_status_labels' => Array('phrases' => '!la_title_Editing_Phrase!'),
- 'format' => "#phrases_status# '#phrases_titlefield#'"
- ),
-
- 'import_language' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!"),
-
- 'import_language_step2' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!"),
-
- 'export_language' => Array( 'prefixes' => Array('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!"),
-
- 'export_language_results' => Array( 'prefixes' => Array(), 'format' => "!la_title_ExportLanguagePackResults!"),
-
- 'events_list' => Array( 'prefixes' => Array('lang','emailevents_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EmailEvents!"),
-
- 'event_edit' => Array( 'prefixes' => Array('emailevents'),
- 'edit_status_labels' => Array('emailevents' => '!la_title_Editing_EmailEvent!'),
- 'format' => '#emailevents_status# - #emailevents_titlefield#'),
-
- 'email_messages_edit' => Array( 'prefixes' => Array('lang','emailevents'),
- 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailevents_titlefield#'"),
-
- // for separate language list
- 'languages_list_st' => Array ('prefixes' => Array ('lang_List'), 'format' => "!la_title_LanguagesManagement!"),
- ),
- 'EditTabPresets' => Array (
- 'Default' => Array (
- 'general' => Array ('title' => 'la_tab_General', 't' => 'regional/languages_edit', 'priority' => 1),
- 'labels' => Array ('title' => 'la_tab_Labels', 't' => 'regional/languages_edit_phrases', 'priority' => 2),
- 'email_events' => Array ('title' => 'la_tab_EmailEvents', 't' => 'regional/languages_edit_email_events', 'priority' => 3),
- ),
+ 'Fields' => Array (
+ 'LanguageId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
+ 'PackName' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
+ 'option_title_field' => 'PackName',
+ 'option_key_field' => 'PackName',
+ 'not_null' => 1, 'required' => 1, 'default' => ''
+ ),
+ 'LocalName' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
+ 'option_title_field' => 'LocalName',
+ 'option_key_field' => 'LocalName',
+ 'not_null' => 1, 'required' => 1, 'default' => '',
+ ),
+ 'Enabled' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 0 => 'la_Disabled',
+ 1 => 'la_Active',
),
-
- 'PermSection' => Array('main' => 'in-portal:configure_lang'),
-
- 'Sections' => Array (
- 'in-portal:configure_lang' => Array (
- 'parent' => 'in-portal:website_setting_folder',
- 'icon' => 'conf_regional',
- 'label' => 'la_tab_Regional',
- 'url' => Array('t' => 'regional/languages_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
-
- // "Lang. Management"
- /*'in-portal:lang_management' => Array (
- 'parent' => 'in-portal:system',
- 'icon' => 'core:settings_general',
- 'label' => 'la_title_LangManagement',
- 'url' => Array ('t' => 'languages/language_list', 'pass' => 'm'),
- 'permissions' => Array ('view', 'add', 'edit', 'delete'),
- 'perm_prefix' => 'lang',
- 'priority' => 10.03,
- 'show_mode' => smSUPER_ADMIN,
- 'type' => stTREE,
- ),*/
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 1,
+ ),
+ 'PrimaryLang' => Array(
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 1 => 'la_Yes', 0 => 'la_No',
+ ),
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 0,
+ ),
+ 'AdminInterfaceLang' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 1 => 'la_Yes', 0 => 'la_No'
),
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 0,
+ ),
+ 'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
+ 'IconURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL,),
+ 'IconDisabledURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL,),
+ 'InputDateFormat' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 'm/d/Y' => 'm/d/Y (' . date('m/d/Y') . ')',
+ 'd/m/Y' => 'd/m/Y (' . date('d/m/Y') . ')',
+ 'm.d.Y' => 'm.d.Y (' . date('m.d.Y') . ')',
+ 'd.m.Y' => 'd.m.Y (' . date('d.m.Y') . ')',
+ ),
+ 'not_null' => 1, 'default' => 'm/d/Y', 'required' => 1,
+ ),
+ 'InputTimeFormat' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 'g:i:s A' => 'g:i:s A (' . date('g:i:s A') . ')',
+ 'g:i A' => 'g:i A (' . date('g:i A') . ')',
+ 'H:i:s' => 'H:i:s (' . date('H:i:s') . ')',
+ 'H:i' => 'H:i (' . date('H:i') . ')',
+ ),
+ 'not_null' => '1', 'default' => 'g:i:s A', 'required' => 1,
+ ),
+ 'DateFormat' => Array ('type' => 'string', 'not_null' => 1, 'default' => 'm/d/Y', 'required' => 1,),
+ 'TimeFormat' => Array ('type' => 'string', 'not_null' => 1, 'default' => 'g:i:s A', 'required' => 1,),
+ 'DecimalPoint' => Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => '.',),
+ 'ThousandSep' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
+ 'Charset' => Array ('type' => 'string', 'not_null' => '1', 'default' => 'utf-8', 'required' => 1),
+ 'UnitSystem' => Array ('type' => 'int', 'not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
+ 'FilenameReplacements' => Array ('type' => 'string', 'default' => NULL),
+ 'Locale' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array ('' => ''),
+ 'options_sql' => "SELECT CONCAT(LocaleName, ' ' ,'\/',Locale,'\/') AS name, Locale
+ FROM ".TABLE_PREFIX."LocalesList
+ ORDER BY LocaleId",
+ 'option_title_field' => "name", 'option_key_field' => 'Locale',
+ 'not_null' => 1, 'default' => 'en-US',
+ ),
+ 'UserDocsUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
+ ),
- 'TableName' => TABLE_PREFIX.'Language',
+ 'VirtualFields' => Array (
+ 'CopyLabels' => Array ('type' => 'int', 'default' => 0),
+ 'CopyFromLanguage' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language
+ ORDER BY PackName',
+ 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId',
+ ),
+ ),
- 'FilterMenu' => Array(
- 'Groups' => Array(
- Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER),
- ),
-
- 'Filters' => Array(
- 0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ),
- 1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0' ),
- )
- ),
-
- 'AutoDelete' => true,
-
- 'AutoClone' => true,
-
- 'ListSQLs' => Array( ''=>'SELECT * FROM %s',
- ), // key - special, value - list select sql
- 'ItemSQLs' => Array( ''=>'SELECT * FROM %s',
- ),
- 'ListSortings' => Array (
- '' => Array (
- 'Sorting' => Array ('Priority' => 'desc', 'PackName' => 'asc'),
- ),
+ 'Grids' => Array(
+ 'Default' => Array (
+ 'Icons' => Array (
+ 'default' => 'icon16_item.png',
+ '0_0' => 'icon16_disabled.png',
+ '0_1' => 'icon16_disabled.png',
+ '1_0' => 'icon16_item.png',
+ '1_1' => 'icon16_primary.png',
),
-
'Fields' => Array(
- 'LanguageId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
+ 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
+ 'PackName' => Array ('title' => 'la_col_PackName', 'filter_block' => 'grid_options_filter', 'width' => 150, ),//
+ 'PrimaryLang' => Array ('title' => 'la_col_IsPrimaryLanguage', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
+ 'AdminInterfaceLang' => Array ('title' => 'la_col_AdminInterfaceLang', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
+ 'Charset' => Array ('title' => 'la_col_Charset', 'filter_block' => 'grid_like_filter', 'width' => 100, ),
+ 'Priority' => Array ('title' => 'la_col_Priority', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
+ 'Enabled' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
+ ),
+ ),
- 'PackName' => Array (
- 'type' => 'string',
- 'formatter' => 'kOptionsFormatter',
- 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
- 'option_title_field' => 'PackName',
- 'option_key_field' => 'PackName',
- 'not_null' => 1, 'required' => 1, 'default' => ''
- ),
- 'LocalName' => Array (
- 'type' => 'string',
- 'formatter' => 'kOptionsFormatter',
- 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
- 'option_title_field' => 'LocalName',
- 'option_key_field' => 'LocalName',
- 'not_null' => 1, 'required' => 1, 'default' => ''
- ),
- 'Enabled' => Array(
- 'type' => 'int',
- 'formatter' => 'kOptionsFormatter',
- 'options' => Array(
- 0 => 'la_Disabled',
- 1 => 'la_Active',
- ),
- 'use_phrases' => 1, 'not_null' => 1, 'default' => 1,
- ),
- 'PrimaryLang' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
- 'AdminInterfaceLang' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
- 'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
- 'IconURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
- 'IconDisabledURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
- 'DateFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'TimeFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'InputDateFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('m/d/Y' => 'mm/dd/yyyy', 'd/m/Y' => 'dd/mm/yyyy', 'm.d.Y' => 'mm.dd.yyyy', 'd.m.Y' => 'dd.mm.yyyy'), 'not_null' => '1','default' => 'm/d/Y', 'required' => 1),
- 'InputTimeFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('g:i:s A' => 'g:i:s A', 'g:i A' => 'g:i A', 'H:i:s' => 'H:i:s', 'H:i' => 'H:i' ), 'not_null' => '1','default' => 'g:i:s A', 'required' => 1),
- 'DecimalPoint' => Array('type' => 'string','not_null' => 1, 'required' => 1, 'default' => ''),
- 'ThousandSep' => Array('type' => 'string','not_null' => 1, 'default' => ''),
- 'Charset' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'UnitSystem' => Array('type' => 'int','not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter','options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
- 'FilenameReplacements' => Array ('type' => 'string', 'default' => NULL),
- 'Locale' => Array('type' => 'string','not_null' => 1, 'default' => 'en-US', 'formatter' => 'kOptionsFormatter',
- 'options' => Array('' => ''),
- 'options_sql' => "SELECT CONCAT(LocaleName, ' ' ,'\/',Locale,'\/') AS name, Locale FROM ".TABLE_PREFIX."LocalesList ORDER BY LocaleId", 'option_title_field' => "name", 'option_key_field' => 'Locale',
- ),
- 'UserDocsUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
- ),
-
- 'VirtualFields' => Array(
- 'CopyLabels' => Array('type' => 'int', 'default' => 0),
- 'CopyFromLanguage' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName', 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId'),
- ),
-
- 'Grids' => Array(
- 'Default' => Array (
- 'Icons' => Array (
- 'default' => 'icon16_item.png',
- '0_0' => 'icon16_disabled.png',
- '0_1' => 'icon16_disabled.png',
- '1_0' => 'icon16_item.png',
- '1_1' => 'icon16_primary.png',
- ),
- 'Fields' => Array(
- 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
- 'PackName' => Array ('title' => 'la_col_PackName', 'filter_block' => 'grid_options_filter', 'width' => 150, ),//
- 'PrimaryLang' => Array ('title' => 'la_col_IsPrimaryLanguage', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
- 'AdminInterfaceLang' => Array ('title' => 'la_col_AdminInterfaceLang', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
- 'Charset' => Array ('title' => 'la_col_Charset', 'filter_block' => 'grid_like_filter', 'width' => 100, ),
- 'Priority' => Array ('title' => 'la_col_Priority', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
- 'Enabled' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
- ),
- ),
-
- /*'LangManagement' => Array (
- 'Icons' => Array (
- 'default' => 'icon16_item.png',
- '0_0' => 'icon16_disabled.png',
- '0_1' => 'icon16_disabled.png',
- '1_0' => 'icon16_item.png',
- '1_1' => 'icon16_primary.png',
- ),
- 'Fields' => Array (
- 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
- 'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 120),
- 'LocalName' => Array ('title' => 'la_col_Prefix', 'filter_block' => 'grid_options_filter', 'width' => 120),
- 'IconURL' => Array ('title' => 'la_col_Image', 'filter_block' => 'grid_empty_filter', 'width' => 80),
- ),
- ),*/
+ /*
+ 'LangManagement' => Array (
+ 'Icons' => Array (
+ 'default' => 'icon16_item.png',
+ '0_0' => 'icon16_disabled.png',
+ '0_1' => 'icon16_disabled.png',
+ '1_0' => 'icon16_item.png',
+ '1_1' => 'icon16_primary.png',
),
+ 'Fields' => Array (
+ 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
+ 'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 120),
+ 'LocalName' => Array ('title' => 'la_col_Prefix', 'filter_block' => 'grid_options_filter', 'width' => 120),
+ 'IconURL' => Array ('title' => 'la_col_Image', 'filter_block' => 'grid_empty_filter', 'width' => 80),
+ ),
+ ),
+ */
+ ),
);
\ No newline at end of file
New-Language-Defaults-and-Code-Cleanup-v2.patch [^] (31,542 bytes) 2010-08-29 18:11
[Show Content]
Index: admin_templates/regional/languages_edit.tpl
===================================================================
--- admin_templates/regional/languages_edit.tpl (revision 13916)
+++ admin_templates/regional/languages_edit.tpl (working copy)
@@ -57,30 +57,29 @@
<div id="scroll_container">
<table class="edit-form">
- <inp2:m_RenderElement name="subsection" title="!la_section_General!"/>
- <inp2:m_RenderElement name="inp_id_label" prefix="lang" field="LanguageId" title="!la_fld_LanguageId!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="PackName" title="!la_fld_PackName!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="LocalName" title="!la_fld_LocalName!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Charset" title="!la_fld_Charset!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconURL" title="!la_fld_IconURL!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconDisabledURL" title="!la_fld_IconDisabledURL!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DateFormat" title="!la_fld_DateFormat!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="TimeFormat" title="!la_fld_TimeFormat!"/>
+ <inp2:m_RenderElement name="subsection" title="la_section_General"/>
+ <inp2:m_RenderElement name="inp_id_label" prefix="lang" field="LanguageId" title="la_fld_LanguageId"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="PackName" title="la_fld_PackName"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="LocalName" title="la_fld_LocalName"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Charset" title="la_fld_Charset"/>
+
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputDateFormat" title="la_fld_InputDateFormat"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputTimeFormat" title="la_fld_InputTimeFormat"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DateFormat" title="la_fld_DateFormat"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="TimeFormat" title="la_fld_TimeFormat"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputDateFormat" title="!la_fld_InputDateFormat!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="InputTimeFormat" title="!la_fld_InputTimeFormat!"/>
-
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DecimalPoint" title="!la_fld_DecimalPoint!"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="ThousandSep" title="!la_fld_ThousandSep!"/>
- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="PrimaryLang" title="!la_fld_PrimaryLang!"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="DecimalPoint" title="la_fld_DecimalPoint"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="ThousandSep" title="la_fld_ThousandSep"/>
+ <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="PrimaryLang" title="la_fld_PrimaryLang"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="AdminInterfaceLang" title="la_fld_AdminInterfaceLang"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="Priority" title="la_fld_Priority"/>
- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="Enabled" title="!la_fld_Enabled!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="UnitSystem" title="!la_fld_UnitSystem!"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="Locale" title="!la_fld_Locale!"/>
- <inp2:m_RenderElement name="inp_edit_textarea" prefix="lang" field="FilenameReplacements" title="la_fld_FilenameReplacements" allow_html="0" control_options="{min_height: 200}" cols="50" rows="10"/>
+ <inp2:m_RenderElement name="inp_edit_checkbox" prefix="lang" field="Enabled" title="la_fld_Enabled"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="UnitSystem" title="la_fld_UnitSystem"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="lang" field="Locale" title="la_fld_Locale"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconURL" title="la_fld_IconURL"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="IconDisabledURL" title="la_fld_IconDisabledURL"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="lang" field="UserDocsUrl" title="la_fld_UserDocsUrl"/>
-
+ <inp2:m_RenderElement name="inp_edit_textarea" prefix="lang" field="FilenameReplacements" title="la_fld_FilenameReplacements" allow_html="0" control_options="{min_height: 200}" cols="50" rows="10"/>
<inp2:m_if check="lang_IsNewMode">
<inp2:m_if check="lang_FieldVisible" field="CopyLabels">
<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
@@ -101,7 +100,7 @@
</td>
</tr>
</inp2:m_if>
- </inp2:m_if>
+ </inp2:m_if>
</table>
</div>
Index: units/languages/languages_config.php
===================================================================
--- units/languages/languages_config.php (revision 13916)
+++ units/languages/languages_config.php (working copy)
@@ -14,243 +14,302 @@
defined('FULL_PATH') or die('restricted access!');
- $config = Array(
- 'Prefix' => 'lang',
- 'ItemClass' => Array('class'=>'LanguagesItem','file'=>'languages_item.php','build_event'=>'OnItemBuild'),
- 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
- 'EventHandlerClass' => Array('class'=>'LanguagesEventHandler','file'=>'languages_event_handler.php','build_event'=>'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'LanguagesTagProcessor','file'=>'languages_tag_processor.php','build_event'=>'OnBuild'),
+ $config = Array (
+ 'Prefix' => 'lang',
+ 'ItemClass' => Array ('class' => 'LanguagesItem', 'file' => 'languages_item.php', 'build_event' => 'OnItemBuild'),
+ 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
+ 'EventHandlerClass' => Array ('class' => 'LanguagesEventHandler', 'file' => 'languages_event_handler.php', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'LanguagesTagProcessor', 'file' => 'languages_tag_processor.php', 'build_event' => 'OnBuild'),
- 'AutoLoad' => true,
- 'Hooks' => Array(
- Array(
- 'Mode' => hAFTER,
- 'Conditional' => false,
- 'HookToPrefix' => 'lang',
- 'HookToSpecial' => '*',
- 'HookToEvent' => Array('OnSave'),
- 'DoPrefix' => '',
- 'DoSpecial' => '',
- 'DoEvent' => 'OnUpdatePrimary',
- ),
+ 'AutoLoad' => true,
+ 'Hooks' => Array (
+ Array (
+ 'Mode' => hAFTER,
+ 'Conditional' => false,
+ 'HookToPrefix' => 'lang',
+ 'HookToSpecial' => '*',
+ 'HookToEvent' => Array ('OnSave'),
+ 'DoPrefix' => '',
+ 'DoSpecial' => '',
+ 'DoEvent' => 'OnUpdatePrimary',
+ ),
+ Array (
+ 'Mode' => hAFTER,
+ 'Conditional' => false,
+ 'HookToPrefix' => 'lang',
+ 'HookToSpecial' => '*',
+ 'HookToEvent' => Array('OnSave', 'OnMassDelete'),
+ 'DoPrefix' => '',
+ 'DoSpecial' => '',
+ 'DoEvent' => 'OnScheduleTopFrameReload',
+ ),
+ ),
+ 'QueryString' => Array (
+ 1 => 'id',
+ 2 => 'Page',
+ 3 => 'PerPage',
+ 4 => 'event',
+ 5 => 'mode',
+ ),
+
+ 'IDField' => 'LanguageId',
+
+ 'StatusField' => Array ('Enabled', 'PrimaryLang'), // field, that is affected by Approve/Decline events
+
+ 'TitleField' => 'PackName', // field, used in bluebar when editing existing item
+
+ 'TitlePresets' => Array (
+ 'default' => Array (
+ 'new_status_labels' => Array ('lang' => '!la_title_Adding_Language!'),
+ 'edit_status_labels' => Array ('lang' => '!la_title_Editing_Language!'),
+ 'new_titlefield' => Array ('lang' => ''),
+ ),
+ 'languages_list' => Array (
+ 'prefixes' => Array ('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks!",
+ 'toolbar_buttons' => Array (
+ 'new_item', 'edit', 'delete', 'export', 'import', 'setprimary', 'refresh', 'view', 'dbl-click'
+ ),
+ ),
+ 'languages_edit_general' => Array (
+ 'prefixes' => Array ('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"
+ ),
+ 'phrases_list' => Array (
+ 'prefixes' => Array ('lang', 'phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels!"
+ ),
+ 'phrase_edit' => Array (
+ 'prefixes' => Array ('phrases'),
+ 'new_status_labels' => Array ('phrases' => '!la_title_Adding_Phrase!'),
+ 'edit_status_labels' => Array ('phrases' => '!la_title_Editing_Phrase!'),
+ 'format' => "#phrases_status# '#phrases_titlefield#'",
+ ),
+ 'import_language' => Array (
+ 'prefixes' => Array ('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!",
+ ),
+ 'import_language_step2' => Array (
+ 'prefixes' => Array ('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!",
+ ),
+ 'export_language' => Array (
+ 'prefixes' => Array ('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!",
+ ),
+ 'export_language_results' => Array (
+ 'prefixes' => Array(), 'format' => "!la_title_ExportLanguagePackResults!",
+ ),
+ 'events_list' => Array (
+ 'prefixes' => Array ('lang', 'emailevents_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EmailEvents!",
+ ),
+ 'event_edit' => Array (
+ 'prefixes' => Array ('emailevents'),
+ 'edit_status_labels' => Array ('emailevents' => '!la_title_Editing_EmailEvent!',),
+ 'format' => '#emailevents_status# - #emailevents_titlefield#',
+ ),
+ 'email_messages_edit' => Array (
+ 'prefixes' => Array ('lang', 'emailevents'),
+ 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailevents_titlefield#'",
+ ),
+ // for separate language list
+ 'languages_list_st' => Array (
+ 'prefixes' => Array ('lang_List'), 'format' => "!la_title_LanguagesManagement!",
+ ),
+ ),
+ 'EditTabPresets' => Array (
+ 'Default' => Array (
+ 'general' => Array ('title' => 'la_tab_General', 't' => 'regional/languages_edit', 'priority' => 1),
+ 'labels' => Array ('title' => 'la_tab_Labels', 't' => 'regional/languages_edit_phrases', 'priority' => 2),
+ 'email_events' => Array ('title' => 'la_tab_EmailEvents', 't' => 'regional/languages_edit_email_events', 'priority' => 3),
+ ),
+ ),
- Array(
- 'Mode' => hAFTER,
- 'Conditional' => false,
- 'HookToPrefix' => 'lang',
- 'HookToSpecial' => '*',
- 'HookToEvent' => Array('OnSave','OnMassDelete'),
- 'DoPrefix' => '',
- 'DoSpecial' => '',
- 'DoEvent' => 'OnScheduleTopFrameReload',
- ),
+ 'PermSection' => Array ('main' => 'in-portal:configure_lang'),
+ 'Sections' => Array (
+ 'in-portal:configure_lang' => Array (
+ 'parent' => 'in-portal:website_setting_folder',
+ 'icon' => 'conf_regional',
+ 'label' => 'la_tab_Regional',
+ 'url' => Array ('t' => 'regional/languages_list', 'pass' => 'm'),
+ 'permissions' => Array (
+ 'view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export',
),
- 'QueryString' => Array(
- 1 => 'id',
- 2 => 'Page',
- 3 => 'PerPage',
- 4 => 'event',
- 5 => 'mode',
- ),
- 'IDField' => 'LanguageId',
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'StatusField' => Array('Enabled','PrimaryLang'), // field, that is affected by Approve/Decline events
+ // "Lang. Management"
+ /*'in-portal:lang_management' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'core:settings_general',
+ 'label' => 'la_title_LangManagement',
+ 'url' => Array ('t' => 'languages/language_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'perm_prefix' => 'lang',
+ 'priority' => 10.03,
+ 'show_mode' => smSUPER_ADMIN,
+ 'type' => stTREE,
+ ),*/
+ ),
- 'TitleField' => 'PackName', // field, used in bluebar when editing existing item
+ 'TableName' => TABLE_PREFIX . 'Language',
- 'TitlePresets' => Array(
- 'default' => Array( 'new_status_labels' => Array('lang'=>'!la_title_Adding_Language!'),
- 'edit_status_labels' => Array('lang'=>'!la_title_Editing_Language!'),
- 'new_titlefield' => Array('lang'=>''),
- ),
+ 'FilterMenu' => Array (
+ 'Groups' => Array (
+ Array ('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER, ),
+ ),
+ 'Filters' => Array (
+ 0 => Array ('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1',),
+ 1 => Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0',),
+ ),
+ ),
- 'languages_list' => Array(
- 'prefixes' => Array('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks!",
- 'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'export', 'import', 'setprimary', 'refresh', 'view', 'dbl-click'),
- ),
+ 'AutoDelete' => true,
+ 'AutoClone' => true,
- 'languages_edit_general' => Array( 'prefixes' => Array('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"),
+ 'ListSQLs' => Array (
+ '' => 'SELECT * FROM %s',
+ ), // key - special, value - list select sql
+
+ 'ItemSQLs' => Array (
+ '' => 'SELECT * FROM %s',
+ ),
+
+ 'ListSortings' => Array (
+ '' => Array (
+ 'Sorting' => Array ('Priority' => 'desc', 'PackName' => 'asc'),
+ ),
+ ),
- 'phrases_list' => Array( 'prefixes' => Array('lang','phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels!"),
-
- 'phrase_edit' => Array (
- 'prefixes' => Array('phrases'),
- 'new_status_labels' => Array('phrases'=>'!la_title_Adding_Phrase!'),
- 'edit_status_labels' => Array('phrases' => '!la_title_Editing_Phrase!'),
- 'format' => "#phrases_status# '#phrases_titlefield#'"
- ),
-
- 'import_language' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!"),
-
- 'import_language_step2' => Array( 'prefixes' => Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!"),
-
- 'export_language' => Array( 'prefixes' => Array('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!"),
-
- 'export_language_results' => Array( 'prefixes' => Array(), 'format' => "!la_title_ExportLanguagePackResults!"),
-
- 'events_list' => Array( 'prefixes' => Array('lang','emailevents_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EmailEvents!"),
-
- 'event_edit' => Array( 'prefixes' => Array('emailevents'),
- 'edit_status_labels' => Array('emailevents' => '!la_title_Editing_EmailEvent!'),
- 'format' => '#emailevents_status# - #emailevents_titlefield#'),
-
- 'email_messages_edit' => Array( 'prefixes' => Array('lang','emailevents'),
- 'format' => "#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailevents_titlefield#'"),
-
- // for separate language list
- 'languages_list_st' => Array ('prefixes' => Array ('lang_List'), 'format' => "!la_title_LanguagesManagement!"),
- ),
- 'EditTabPresets' => Array (
- 'Default' => Array (
- 'general' => Array ('title' => 'la_tab_General', 't' => 'regional/languages_edit', 'priority' => 1),
- 'labels' => Array ('title' => 'la_tab_Labels', 't' => 'regional/languages_edit_phrases', 'priority' => 2),
- 'email_events' => Array ('title' => 'la_tab_EmailEvents', 't' => 'regional/languages_edit_email_events', 'priority' => 3),
- ),
+ 'Fields' => Array (
+ 'LanguageId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
+ 'PackName' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Language ORDER BY PackName',
+ 'option_title_field' => 'PackName',
+ 'option_key_field' => 'PackName',
+ 'not_null' => 1, 'required' => 1, 'default' => ''
+ ),
+ 'LocalName' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Language ORDER BY PackName',
+ 'option_title_field' => 'LocalName',
+ 'option_key_field' => 'LocalName',
+ 'not_null' => 1, 'required' => 1, 'default' => '',
+ ),
+ 'Enabled' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 0 => 'la_Disabled',
+ 1 => 'la_Active',
),
-
- 'PermSection' => Array('main' => 'in-portal:configure_lang'),
-
- 'Sections' => Array (
- 'in-portal:configure_lang' => Array (
- 'parent' => 'in-portal:website_setting_folder',
- 'icon' => 'conf_regional',
- 'label' => 'la_tab_Regional',
- 'url' => Array('t' => 'regional/languages_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
-
- // "Lang. Management"
- /*'in-portal:lang_management' => Array (
- 'parent' => 'in-portal:system',
- 'icon' => 'core:settings_general',
- 'label' => 'la_title_LangManagement',
- 'url' => Array ('t' => 'languages/language_list', 'pass' => 'm'),
- 'permissions' => Array ('view', 'add', 'edit', 'delete'),
- 'perm_prefix' => 'lang',
- 'priority' => 10.03,
- 'show_mode' => smSUPER_ADMIN,
- 'type' => stTREE,
- ),*/
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 1,
+ ),
+ 'PrimaryLang' => Array(
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 1 => 'la_Yes', 0 => 'la_No',
+ ),
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 0,
+ ),
+ 'AdminInterfaceLang' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 1 => 'la_Yes', 0 => 'la_No'
),
+ 'use_phrases' => 1, 'not_null' => 1, 'default' => 0,
+ ),
+ 'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0,),
+ 'IconURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL,),
+ 'IconDisabledURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL,),
+ 'InputDateFormat' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 'm/d/Y' => 'm/d/Y',
+ 'd/m/Y' => 'd/m/Y',
+ 'm.d.Y' => 'm.d.Y',
+ 'd.m.Y' => 'd.m.Y',
+ ),
+ 'not_null' => 1, 'default' => 'm/d/Y', 'required' => 1,
+ ),
+ 'InputTimeFormat' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array (
+ 'g:i:s A' => 'g:i:s A',
+ 'g:i A' => 'g:i A',
+ 'H:i:s' => 'H:i:s',
+ 'H:i' => 'H:i',
+ ),
+ 'not_null' => '1', 'default' => 'g:i:s A', 'required' => 1,
+ ),
+ 'DateFormat' => Array ('type' => 'string', 'not_null' => 1, 'default' => 'm/d/Y', 'required' => 1,),
+ 'TimeFormat' => Array ('type' => 'string', 'not_null' => 1, 'default' => 'g:i:s A', 'required' => 1,),
+ 'DecimalPoint' => Array ('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => '.',),
+ 'ThousandSep' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
+ 'Charset' => Array ('type' => 'string', 'not_null' => '1', 'default' => 'utf-8', 'required' => 1),
+ 'UnitSystem' => Array ('type' => 'int', 'not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
+ 'FilenameReplacements' => Array ('type' => 'string', 'default' => NULL),
+ 'Locale' => Array (
+ 'type' => 'string',
+ 'formatter' => 'kOptionsFormatter',
+ 'options' => Array ('' => ''),
+ 'options_sql' => "SELECT CONCAT(LocaleName, ' ' ,'\/',Locale,'\/') AS name, Locale
+ FROM ".TABLE_PREFIX."LocalesList
+ ORDER BY LocaleId",
+ 'option_title_field' => "name", 'option_key_field' => 'Locale',
+ 'not_null' => 1, 'default' => 'en-US',
+ ),
+ 'UserDocsUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
+ ),
- 'TableName' => TABLE_PREFIX.'Language',
+ 'VirtualFields' => Array (
+ 'CopyLabels' => Array ('type' => 'int', 'default' => 0),
+ 'CopyFromLanguage' => Array (
+ 'type' => 'int',
+ 'formatter' => 'kOptionsFormatter',
+ 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language
+ ORDER BY PackName',
+ 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId',
+ ),
+ ),
- 'FilterMenu' => Array(
- 'Groups' => Array(
- Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER),
- ),
-
- 'Filters' => Array(
- 0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ),
- 1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0' ),
- )
- ),
-
- 'AutoDelete' => true,
-
- 'AutoClone' => true,
-
- 'ListSQLs' => Array( ''=>'SELECT * FROM %s',
- ), // key - special, value - list select sql
- 'ItemSQLs' => Array( ''=>'SELECT * FROM %s',
- ),
- 'ListSortings' => Array (
- '' => Array (
- 'Sorting' => Array ('Priority' => 'desc', 'PackName' => 'asc'),
- ),
+ 'Grids' => Array(
+ 'Default' => Array (
+ 'Icons' => Array (
+ 'default' => 'icon16_item.png',
+ '0_0' => 'icon16_disabled.png',
+ '0_1' => 'icon16_disabled.png',
+ '1_0' => 'icon16_item.png',
+ '1_1' => 'icon16_primary.png',
),
-
'Fields' => Array(
- 'LanguageId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
+ 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
+ 'PackName' => Array ('title' => 'la_col_PackName', 'filter_block' => 'grid_options_filter', 'width' => 150, ),//
+ 'PrimaryLang' => Array ('title' => 'la_col_IsPrimaryLanguage', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
+ 'AdminInterfaceLang' => Array ('title' => 'la_col_AdminInterfaceLang', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
+ 'Charset' => Array ('title' => 'la_col_Charset', 'filter_block' => 'grid_like_filter', 'width' => 100, ),
+ 'Priority' => Array ('title' => 'la_col_Priority', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
+ 'Enabled' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
+ ),
+ ),
- 'PackName' => Array (
- 'type' => 'string',
- 'formatter' => 'kOptionsFormatter',
- 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
- 'option_title_field' => 'PackName',
- 'option_key_field' => 'PackName',
- 'not_null' => 1, 'required' => 1, 'default' => ''
- ),
- 'LocalName' => Array (
- 'type' => 'string',
- 'formatter' => 'kOptionsFormatter',
- 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
- 'option_title_field' => 'LocalName',
- 'option_key_field' => 'LocalName',
- 'not_null' => 1, 'required' => 1, 'default' => ''
- ),
- 'Enabled' => Array(
- 'type' => 'int',
- 'formatter' => 'kOptionsFormatter',
- 'options' => Array(
- 0 => 'la_Disabled',
- 1 => 'la_Active',
- ),
- 'use_phrases' => 1, 'not_null' => 1, 'default' => 1,
- ),
- 'PrimaryLang' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
- 'AdminInterfaceLang' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
- 'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
- 'IconURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
- 'IconDisabledURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
- 'DateFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'TimeFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'InputDateFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('m/d/Y' => 'mm/dd/yyyy', 'd/m/Y' => 'dd/mm/yyyy', 'm.d.Y' => 'mm.dd.yyyy', 'd.m.Y' => 'dd.mm.yyyy'), 'not_null' => '1','default' => 'm/d/Y', 'required' => 1),
- 'InputTimeFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('g:i:s A' => 'g:i:s A', 'g:i A' => 'g:i A', 'H:i:s' => 'H:i:s', 'H:i' => 'H:i' ), 'not_null' => '1','default' => 'g:i:s A', 'required' => 1),
- 'DecimalPoint' => Array('type' => 'string','not_null' => 1, 'required' => 1, 'default' => ''),
- 'ThousandSep' => Array('type' => 'string','not_null' => 1, 'default' => ''),
- 'Charset' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
- 'UnitSystem' => Array('type' => 'int','not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter','options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
- 'FilenameReplacements' => Array ('type' => 'string', 'default' => NULL),
- 'Locale' => Array('type' => 'string','not_null' => 1, 'default' => 'en-US', 'formatter' => 'kOptionsFormatter',
- 'options' => Array('' => ''),
- 'options_sql' => "SELECT CONCAT(LocaleName, ' ' ,'\/',Locale,'\/') AS name, Locale FROM ".TABLE_PREFIX."LocalesList ORDER BY LocaleId", 'option_title_field' => "name", 'option_key_field' => 'Locale',
- ),
- 'UserDocsUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
- ),
-
- 'VirtualFields' => Array(
- 'CopyLabels' => Array('type' => 'int', 'default' => 0),
- 'CopyFromLanguage' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName', 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId'),
- ),
-
- 'Grids' => Array(
- 'Default' => Array (
- 'Icons' => Array (
- 'default' => 'icon16_item.png',
- '0_0' => 'icon16_disabled.png',
- '0_1' => 'icon16_disabled.png',
- '1_0' => 'icon16_item.png',
- '1_1' => 'icon16_primary.png',
- ),
- 'Fields' => Array(
- 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
- 'PackName' => Array ('title' => 'la_col_PackName', 'filter_block' => 'grid_options_filter', 'width' => 150, ),//
- 'PrimaryLang' => Array ('title' => 'la_col_IsPrimaryLanguage', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
- 'AdminInterfaceLang' => Array ('title' => 'la_col_AdminInterfaceLang', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
- 'Charset' => Array ('title' => 'la_col_Charset', 'filter_block' => 'grid_like_filter', 'width' => 100, ),
- 'Priority' => Array ('title' => 'la_col_Priority', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
- 'Enabled' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
- ),
- ),
-
- /*'LangManagement' => Array (
- 'Icons' => Array (
- 'default' => 'icon16_item.png',
- '0_0' => 'icon16_disabled.png',
- '0_1' => 'icon16_disabled.png',
- '1_0' => 'icon16_item.png',
- '1_1' => 'icon16_primary.png',
- ),
- 'Fields' => Array (
- 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
- 'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 120),
- 'LocalName' => Array ('title' => 'la_col_Prefix', 'filter_block' => 'grid_options_filter', 'width' => 120),
- 'IconURL' => Array ('title' => 'la_col_Image', 'filter_block' => 'grid_empty_filter', 'width' => 80),
- ),
- ),*/
+ /*'LangManagement' => Array (
+ 'Icons' => Array (
+ 'default' => 'icon16_item.png',
+ '0_0' => 'icon16_disabled.png',
+ '0_1' => 'icon16_disabled.png',
+ '1_0' => 'icon16_item.png',
+ '1_1' => 'icon16_primary.png',
),
+ 'Fields' => Array (
+ 'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
+ 'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 120),
+ 'LocalName' => Array ('title' => 'la_col_Prefix', 'filter_block' => 'grid_options_filter', 'width' => 120),
+ 'IconURL' => Array ('title' => 'la_col_Image', 'filter_block' => 'grid_empty_filter', 'width' => 80),
+ ),
+ ),*/
+ ),
);
\ No newline at end of file
Index: units/languages/languages_event_handler.php
===================================================================
--- units/languages/languages_event_handler.php (revision 13916)
+++ units/languages/languages_event_handler.php (working copy)
@@ -159,6 +159,37 @@
/**
+ * Prefills options with dynamic values
+ *
+ * @param kEvent $event
+ */
+ function OnAfterConfigRead(&$event)
+ {
+ parent::OnAfterConfigRead($event);
+
+ $fields = $this->Application->getUnitOption($event->Prefix, 'Fields');
+
+ // set dynamic hints for options in date format fields
+ $options = $fields['InputDateFormat']['options'];
+ if ($options) {
+ foreach ($options as $i => $v) {
+ $options[$i] = $v . ' (' . adodb_date($v) . ')';
+ }
+ $fields['InputDateFormat']['options'] = $options;
+ }
+
+ $options = $fields['InputTimeFormat']['options'];
+ if ($options) {
+ foreach ($options as $i => $v) {
+ $options[$i] = $v . ' (' . adodb_date($v) . ')';
+ }
+ $fields['InputTimeFormat']['options'] = $options;
+ }
+
+ $this->Application->setUnitOption($event->Prefix, 'Fields', $fields);
+ }
+
+ /**
* Occurse before updating item
*
* @param kEvent $event
|