Attached Files |
email_recipient_control.png [^] (10,609 bytes) 2011-12-23 15:25

separate_default_email_recipients_core.patch [^] (81,313 bytes) 2011-12-29 06:44
[Show Content]
Index: admin_templates/config/custom_variables.tpl
===================================================================
--- admin_templates/config/custom_variables.tpl (revision 14934)
+++ admin_templates/config/custom_variables.tpl (working copy)
@@ -99,4 +99,46 @@
}
);
</script>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="inp_edit_field_caption" title="la_fld_{$field}" title_text="" hint_label="" NamePrefix="">
+ <inp2:m_inc param="tab_index" by="1"/>
+ <td class="label-cell">
+ <inp2:m_RenderElement name="$caption_render_as" pass_params="1"/>
+ </td>
+
+ <script type="text/javascript">
+ if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
+ }
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_if check="m_Param" name="title"><inp2:m_phrase label="$title" js_escape="1"/></inp2:m_else/><inp2:m_Param name="title_text" js_escape="1"/></inp2:m_if>'
+ </script>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="cf_DefaultEmailRecipients_value">
+ <inp2:emailevents.{$PrefixSpecial}_PresetFormFields/>
+
+ <style type="text/css">
+ .grid-edit-table {
+ border: 1px solid black;
+ border-collapse: collapse;
+ }
+
+ .grid-edit-table td.label-cell, .grid-edit-table td.control-cell {
+ background-image: none;
+ border-right-width: 0px;
+ width: auto;
+ }
+ </style>
+
+ <table class="grid-edit-table">
+ <inp2:m_RenderElement name="inp_edit_radio" prefix="emailevents.{$PrefixSpecial}" field="RecipientType" title="la_fld_RecipientType"/>
+ <inp2:m_RenderElement name="inp_edit_combo_target" prefix="emailevents.{$PrefixSpecial}" field="RecipientAddress" title="la_fld_RecipientAddress" has_empty="1"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="emailevents.{$PrefixSpecial}" field="RecipientName" title="la_fld_RecipientName" style="width: 318px;"/>
+ <inp2:m_RenderElement name="inp_edit_minput" prefix="emailevents.{$PrefixSpecial}" field="Recipients" title="la_fld_Recipients" format="auto" style="width: 400px; height: 150px;"/>
+ </table>
+
+ <input type="hidden" name="<inp2:InputName field='VariableValue'/>" value="<inp2:Field field='VariableValue' />"/>
+
+ <inp2:m_RenderElement name="email_recipients_js" prefix="emailevents.{$PrefixSpecial}" to_readonly="0"/>
</inp2:m_DefineElement>
\ No newline at end of file
Index: admin_templates/incs/form_blocks.tpl
===================================================================
--- admin_templates/incs/form_blocks.tpl (revision 14936)
+++ admin_templates/incs/form_blocks.tpl (working copy)
@@ -598,6 +598,118 @@
</inp2:m_RenderElement>
</inp2:m_DefineElement>
+<inp2:m_DefineElement name="inp_edit_combo_target" caption_render_as="default_field_caption_element" read_only="0" has_empty="" hint_label="">
+ <inp2:m_RenderElement design="form_row" pass_params="1">
+ <td class="control-cell">
+ <inp2:m_if check="m_Param" name="read_only">
+ <inp2:$prefix_Field name="{$field}Type"/>: "<inp2:$prefix_Field name="$field"/>"
+ <inp2:m_else/>
+ <select tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='{$field}Type'/>" id="<inp2:{$prefix}_InputName field='{$field}Type'/>">
+ <inp2:{$prefix}_PredefinedOptions field="{$field}Type" block="inp_option_phrase" selected="selected" has_empty="$has_empty"/>
+ </select>
+
+ <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" style="width: 250px;"/>
+ </inp2:m_if>
+
+ <script type="text/javascript">
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>Type'] = '<inp2:m_phrase label="{$title}Type" js_escape="1"/>'
+
+ new AJAXDropDown(
+ '<inp2:$prefix_InputName name="$field" js_escape="1"/>',
+ function(cur_value) {
+ var $type = $( jq('#<inp2:$prefix_InputName name="{$field}Type" js_escape="1"/>') ).val();
+
+ if ( !isNaN( parseInt($type) ) ) {
+ var $url = '<inp2:m_Link template="dummy" pass="m,$prefix" {$prefix}_event="OnSuggestAddress" value="#VALUE#" type="#TYPE#" no_amp="1"/>';
+
+ return $url.replace('#VALUE#', encodeURIComponent(cur_value)).replace('#TYPE#', encodeURIComponent($type));
+ }
+
+ return false;
+ }
+ );
+
+ $(document).ready(
+ function () {
+ $( jq('#<inp2:$prefix_InputName name="{$field}Type"/>') ).change(
+ function ($e) {
+ var $me = $(this);
+
+ if ($me.attr('disabled')) {
+ return ;
+ }
+
+ var $type_selected = !isNaN( parseInt( $me.val() ) );
+ $( jq('#<inp2:$prefix_InputName name="$field"/>') ).attr('disabled', $type_selected ? '' : 'disabled');
+ }
+ )
+ .change();
+ }
+ );
+ </script>
+ </td>
+ </inp2:m_RenderElement>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="email_recipients_js" prefix="emailevents" to_readonly="auto">
+ <script type="text/javascript">
+ Recipients.formatLine = function($record_index) {
+ if (this.Records[$record_index]['RecipientName']) {
+ // name specified
+ if (this.Records[$record_index]['RecipientAddressType'] == 1) {
+ // email
+ this.ResultMask = '#RecipientType#: "#RecipientName#" <#RecipientAddress#>';
+ }
+ else {
+ // other
+ this.ResultMask = '#RecipientType#: "#RecipientName#" <#RecipientAddress#> - #RecipientAddressType#';
+ }
+ }
+ else {
+ // name not specified
+ this.ResultMask = '#RecipientType#: #RecipientAddress# - #RecipientAddressType#';
+ }
+
+ return MultiInputControl.prototype.formatLine.call(this, $record_index);
+ }
+
+ Recipients.compareRecords = function($record_a, $record_b) {
+ var $equals = true;
+ var $compare_fields = ['RecipientAddressType', 'RecipientAddress'];
+
+ for (var $i = 0; $i < $compare_fields.length; $i++) {
+ var $field_name = $compare_fields[$i];
+
+ if ($record_a[$field_name] !== $record_b[$field_name]) {
+ return false;
+ }
+ }
+
+ return $equals;
+ }
+
+ <inp2:m_if check="m_Param" name="to_readonly" equals_to="auto">
+ <inp2:$prefix_ToRecipientReadOnly result_to_var="to_readonly"/>
+ </inp2:m_if>
+
+ <inp2:m_if check="m_Param" name="to_readonly">
+ Recipients.isReadOnly = function($record_index) {
+ return this.Records[$record_index]['RecipientType'] == <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_TO"/>;
+ }
+
+ <inp2:$prefix_RestoreRecipientType/>
+ Recipients.registerControl('RecipientType', {type: 'radio', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="$prefix" field="RecipientType" strip_nl="2"/>, 'default': <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_CC"/>});
+ <inp2:m_else/>
+ Recipients.registerControl('RecipientType', {type: 'radio', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="$prefix" field="RecipientType" strip_nl="2"/>, 'default': <inp2:$prefix_FieldOption field="RecipientType" option="default"/>});
+ </inp2:m_if>
+
+ Recipients.registerControl('RecipientAddressType', {type: 'select', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="$prefix" field="RecipientAddressType" strip_nl="2"/>, 'default': <inp2:$prefix_FieldOption field="RecipientAddressType" option="default"/>});
+ Recipients.registerControl('RecipientAddress', {type: 'textbox', required: true, 'default': '<inp2:$prefix_FieldOption field="RecipientAddress" option="default" js_escape="1"/>'});
+ Recipients.registerControl('RecipientName', {type: 'textbox', required: false, 'default': '<inp2:$prefix_FieldOption field="RecipientName" option="default" js_escape="1"/>'});
+ Recipients.LoadValues();
+ </script>
+</inp2:m_DefineElement>
+
<inp2:m_DefineElement name="inp_option_item">
<option value="<inp2:m_param name='key'/>"<inp2:m_param name="selected"/>><inp2:m_param name="option"/></option>
</inp2:m_DefineElement>
Index: admin_templates/incs/style_template.css
===================================================================
--- admin_templates/incs/style_template.css (revision 14937)
+++ admin_templates/incs/style_template.css (working copy)
@@ -269,7 +269,7 @@
}
/* Main row definition */
-.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {
+.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2, .grid-edit-table .edit-form-odd > td, .grid-edit-table .edit-form-even > td {
font-weight: normal;
color: @@OddColor@@;
background-color: @@OddBgColor@@;
@@ -277,7 +277,7 @@
overflow: hidden;
border-right: 1px solid #c9c9c9;
}
-.grid-data-row-even td, .table-color2 {
+.grid-data-row-even td, .table-color2, .grid-edit-table .edit-form-even > td {
background-color: @@EvenBgColor@@;
color: @@EvenColor@@;
}
Index: admin_templates/languages/email_message_settings.tpl
===================================================================
--- admin_templates/languages/email_message_settings.tpl (revision 14917)
+++ admin_templates/languages/email_message_settings.tpl (working copy)
@@ -53,59 +53,6 @@
<inp2:emailevents_SaveWarning name="grid_save_warning"/>
<inp2:emailevents_ErrorWarning name="form_error_warning"/>
-<inp2:m_DefineElement name="inp_edit_combo_target" caption_render_as="default_field_caption_element" read_only="0" has_empty="" hint_label="">
- <inp2:m_RenderElement design="form_row" pass_params="1">
- <td class="control-cell">
- <inp2:m_if check="m_Param" name="read_only">
- <inp2:$prefix_Field name="{$field}Type"/>: "<inp2:$prefix_Field name="$field"/>"
- <inp2:m_else/>
- <select tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='{$field}Type'/>" id="<inp2:{$prefix}_InputName field='{$field}Type'/>">
- <inp2:{$prefix}_PredefinedOptions field="{$field}Type" block="inp_option_phrase" selected="selected" has_empty="$has_empty"/>
- </select>
-
- <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" style="width: 250px;"/>
- </inp2:m_if>
-
- <script type="text/javascript">
- fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>Type'] = '<inp2:m_phrase label="{$title}Type" js_escape="1"/>'
-
- new AJAXDropDown(
- '<inp2:$prefix_InputName name="$field" js_escape="1"/>',
- function(cur_value) {
- var $type = $( jq('#<inp2:$prefix_InputName name="{$field}Type" js_escape="1"/>') ).val();
-
- if ( !isNaN( parseInt($type) ) ) {
- var $url = '<inp2:m_Link template="dummy" pass="m,$prefix" {$prefix}_event="OnSuggestAddress" value="#VALUE#" type="#TYPE#" no_amp="1"/>';
-
- return $url.replace('#VALUE#', encodeURIComponent(cur_value)).replace('#TYPE#', encodeURIComponent($type));
- }
-
- return false;
- }
- );
-
- $(document).ready(
- function () {
- $( jq('#<inp2:$prefix_InputName name="{$field}Type"/>') ).change(
- function ($e) {
- var $me = $(this);
-
- if ($me.attr('disabled')) {
- return ;
- }
-
- var $type_selected = !isNaN( parseInt( $me.val() ) );
- $( jq('#<inp2:$prefix_InputName name="$field"/>') ).attr('disabled', $type_selected ? '' : 'disabled');
- }
- )
- .change();
- }
- );
- </script>
- </td>
- </inp2:m_RenderElement>
-</inp2:m_DefineElement>
-
<div id="scroll_container">
<table class="edit-form">
<inp2:m_RenderElement name="subsection" prefix="emailevents" fields="AllowChangingSender,CustomSender,SenderAddress,SenderAddressType,SenderName" title="la_section_SenderInfo"/>
@@ -160,61 +107,11 @@
</table>
</div>
-<script type="text/javascript">
- <inp2:m_if check="emailevents_FieldVisible" field="Recipients">
- // recipients
- Recipients.formatLine = function($record_index) {
- if (this.Records[$record_index]['RecipientName']) {
- // name specified
- if (this.Records[$record_index]['RecipientAddressType'] == 1) {
- // email
- this.ResultMask = '#RecipientType#: "#RecipientName#" <#RecipientAddress#>';
- }
- else {
- // other
- this.ResultMask = '#RecipientType#: "#RecipientName#" <#RecipientAddress#> - #RecipientAddressType#';
- }
- }
- else {
- // name not specified
- this.ResultMask = '#RecipientType#: #RecipientAddress# - #RecipientAddressType#';
- }
+<inp2:m_if check="emailevents_FieldVisible" field="Recipients">
+ <inp2:m_RenderElement name="email_recipients_js"/>
+</inp2:m_if>
- return MultiInputControl.prototype.formatLine.call(this, $record_index);
- }
-
- Recipients.compareRecords = function($record_a, $record_b) {
- var $equals = true;
- var $compare_fields = ['RecipientAddressType', 'RecipientAddress'];
-
- for (var $i = 0; $i < $compare_fields.length; $i++) {
- var $field_name = $compare_fields[$i];
-
- if ($record_a[$field_name] !== $record_b[$field_name]) {
- return false;
- }
- }
-
- return $equals;
- }
-
- <inp2:m_ifnot check="emailevents_IsEditable" check_field="AllowChangingRecipient">
- Recipients.isReadOnly = function($record_index) {
- return this.Records[$record_index]['RecipientType'] == <inp2:m_GetConst name="RECIPIENT_TYPE_TO"/>;
- }
-
- <inp2:emailevents_RestoreRecipientType/>
- Recipients.registerControl('RecipientType', {type: 'radio', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="emailevents" field="RecipientType" strip_nl="2"/>, 'default': <inp2:m_GetConst name="RECIPIENT_TYPE_CC"/>});
- <inp2:m_else/>
- Recipients.registerControl('RecipientType', {type: 'radio', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="emailevents" field="RecipientType" strip_nl="2"/>, 'default': <inp2:emailevents_FieldOption field="RecipientType" option="default"/>});
- </inp2:m_ifnot>
-
- Recipients.registerControl('RecipientAddressType', {type: 'select', required: true, options: <inp2:m_RenderElement name="inp_json_options" prefix="emailevents" field="RecipientAddressType" strip_nl="2"/>, 'default': <inp2:emailevents_FieldOption field="RecipientAddressType" option="default"/>});
- Recipients.registerControl('RecipientAddress', {type: 'textbox', required: true, 'default': '<inp2:emailevents_FieldOption field="RecipientAddress" option="default" js_escape="1"/>'});
- Recipients.registerControl('RecipientName', {type: 'textbox', required: false, 'default': '<inp2:emailevents_FieldOption field="RecipientName" option="default" js_escape="1"/>'});
- Recipients.LoadValues();
- </inp2:m_if>
-
+<script type="text/javascript">
<inp2:m_if check="emailevents_FieldVisible" field="ReplacementTagsXML">
// replacement tags
ReplacementTagsXML.formatLine = function($record_index) {
@@ -253,7 +150,7 @@
function reflectCustomRecipient() {
<inp2:m_if check="emailevents_IsEditable" check_field="AllowChangingRecipient">
var $default_recipient = get_control($field_mask, 'CustomRecipient', '0').checked;
- var $to_recipient = get_control($field_mask, 'RecipientType', <inp2:m_GetConst name="RECIPIENT_TYPE_TO"/>);
+ var $to_recipient = get_control($field_mask, 'RecipientType', <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_TO"/>);
<inp2:m_else/>
var $default_recipient = <inp2:m_if check="emailevents_Field" name="CustomRecipient" db="db" equals_to="0">true<inp2:m_else/>false</inp2:m_if>;
</inp2:m_if>
@@ -261,14 +158,14 @@
if ($default_recipient) {
<inp2:m_if check="emailevents_IsEditable" check_field="AllowChangingRecipient">
if ($to_recipient.checked) {
- get_control($field_mask, 'RecipientType', <inp2:m_GetConst name="RECIPIENT_TYPE_CC"/>).checked = true;
+ get_control($field_mask, 'RecipientType', <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_CC"/>).checked = true;
}
</inp2:m_if>
- Recipients.registerControl('RecipientType', {'default': <inp2:m_GetConst name="RECIPIENT_TYPE_CC"/>}, true);
+ Recipients.registerControl('RecipientType', {'default': <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_CC"/>}, true);
}
else {
- Recipients.registerControl('RecipientType', {'default': <inp2:m_GetConst name="RECIPIENT_TYPE_TO"/>}, true);
+ Recipients.registerControl('RecipientType', {'default': <inp2:m_GetConst name="EmailEvent::RECIPIENT_TYPE_TO"/>}, true);
}
<inp2:m_if check="emailevents_IsEditable" check_field="AllowChangingRecipient">
Index: admin_templates/site_domains/site_domain_edit.tpl
===================================================================
--- admin_templates/site_domains/site_domain_edit.tpl (revision 14924)
+++ admin_templates/site_domains/site_domain_edit.tpl (working copy)
@@ -69,28 +69,39 @@
</inp2:m_RenderElement>
</inp2:m_DefineElement>
+<inp2:emailevents.site-domain_PresetFormFields/>
+
<div id="scroll_container">
<table class="edit-form">
- <inp2:m_RenderElement name="inp_id_label" prefix="site-domain" field="DomainId" title="la_fld_Id"/>
- <inp2:m_RenderElement name="inp_edit_regexp_box" prefix="site-domain" field="DomainName" title="la_fld_DomainName"/>
- <inp2:m_RenderElement name="inp_edit_regexp_box" prefix="site-domain" field="SSLUrl"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="AdminEmail" title="la_fld_AdminEmail"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="Country" title="la_fld_Country" has_empty="1"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="PrimaryLanguageId" title="la_fld_Language" has_empty="1"/>
- <inp2:m_RenderElement name="inp_edit_picker" prefix="site-domain" field="Languages" title="la_fld_Languages" optprefix="lang" option_key_field="LanguageId" option_value_field="PackName"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="PrimaryThemeId" title="la_fld_Theme" has_empty="1"/>
- <inp2:m_RenderElement name="inp_edit_picker" prefix="site-domain" field="Themes" title="la_fld_Themes" optprefix="theme" option_key_field="ThemeId" option_value_field="Name"/>
+ <inp2:m_RenderElement name="subsection" title="la_title_General"/>
+ <inp2:m_RenderElement name="inp_id_label" prefix="site-domain" field="DomainId" title="la_fld_Id"/>
+ <inp2:m_RenderElement name="inp_edit_regexp_box" prefix="site-domain" field="DomainName" title="la_fld_DomainName"/>
+ <inp2:m_RenderElement name="inp_edit_regexp_box" prefix="site-domain" field="SSLUrl"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="AdminEmail" title="la_fld_AdminEmail"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="Country" title="la_fld_Country" has_empty="1"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="PrimaryLanguageId" title="la_fld_Language" has_empty="1"/>
+ <inp2:m_RenderElement name="inp_edit_picker" prefix="site-domain" field="Languages" title="la_fld_Languages" optprefix="lang" option_key_field="LanguageId" option_value_field="PackName"/>
+ <inp2:m_RenderElement name="inp_edit_options" prefix="site-domain" field="PrimaryThemeId" title="la_fld_Theme" has_empty="1"/>
+ <inp2:m_RenderElement name="inp_edit_picker" prefix="site-domain" field="Themes" title="la_fld_Themes" optprefix="theme" option_key_field="ThemeId" option_value_field="Name"/>
- <inp2:m_RenderElement name="inp_edit_radio" prefix="site-domain" field="RedirectOnIPMatch" title="la_fld_RedirectOnIPMatch"/>
- <inp2:m_RenderElement name="inp_edit_textarea" prefix="site-domain" field="DomainIPRange" allow_html="0"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="ExternalUrl" title="la_fld_ExternalUrl"/>
+ <inp2:m_RenderElement name="inp_edit_radio" prefix="site-domain" field="RedirectOnIPMatch" title="la_fld_RedirectOnIPMatch"/>
+ <inp2:m_RenderElement name="inp_edit_textarea" prefix="site-domain" field="DomainIPRange" allow_html="0"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="ExternalUrl" title="la_fld_ExternalUrl"/>
- <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="Priority" title="la_fld_Priority" style="width: 50px;"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="site-domain" field="Priority" title="la_fld_Priority" style="width: 50px;"/>
+ <inp2:m_RenderElement name="subsection" title="la_section_RecipientsInfo"/>
+ <inp2:m_RenderElement name="inp_edit_radio" prefix="emailevents.site-domain" field="RecipientType" title="la_fld_RecipientType"/>
+ <inp2:m_RenderElement name="inp_edit_combo_target" prefix="emailevents.site-domain" field="RecipientAddress" title="la_fld_RecipientAddress" has_empty="1"/>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="emailevents.site-domain" field="RecipientName" title="la_fld_RecipientName" style="width: 318px;"/>
+ <inp2:m_RenderElement name="inp_edit_minput" prefix="emailevents.site-domain" field="Recipients" title="la_fld_Recipients" format="auto" style="width: 400px; height: 150px;"/>
+
<inp2:m_RenderElement name="inp_edit_filler"/>
</table>
</div>
+<inp2:m_RenderElement name="email_recipients_js" prefix="emailevents.site-domain" to_readonly="0"/>
+
<script type="text/javascript">
var $field_mask = jq('<inp2:site-domain_InputName name="#FIELD_NAME#" js_escape="1"/>');
Index: install.php
===================================================================
--- install.php (revision 14917)
+++ install.php (working copy)
@@ -848,7 +848,7 @@
$config_values = Array (
'RootPass' => $password,
'Backup_Path' => FULL_PATH . $this->toolkit->getSystemConfig('Misc', 'WriteablePath') . DIRECTORY_SEPARATOR . 'backupdata',
- 'Smtp_AdminMailFrom' => 'portal@' . $this->toolkit->getSystemConfig('Misc', 'Domain')
+ 'DefaultEmailSender' => 'portal@' . $this->toolkit->getSystemConfig('Misc', 'Domain')
);
$site_timezone = ini_get('date.timezone') ? ini_get('date.timezone') : getenv('TZ');
Index: install/english.lang
===================================================================
--- install/english.lang (revision 14934)
+++ install/english.lang (working copy)
@@ -152,6 +152,7 @@
<PHRASE Label="la_config_DebugOnlyFormConfigurator" Module="Core" Type="1">U2hvdyAiRm9ybXMgRWRpdG9yIiBpbiBERUJVRyBtb2RlIG9ubHk=</PHRASE>
<PHRASE Label="la_config_DebugOnlyPromoBlockGroupConfigurator" Module="Core" Type="1">U2hvdyAiUHJvbW8gQmxvY2sgR3JvdXBzIEVkaXRvciIgaW4gREVCVUcgbW9kZSBvbmx5</PHRASE>
<PHRASE Label="la_config_DefaultDesignTemplate" Module="Core" Type="1">RGVmYXVsdCBEZXNpZ24gVGVtcGxhdGU=</PHRASE>
+ <PHRASE Label="la_config_DefaultEmailRecipients" Module="Core" Type="1">RGVmYXVsdCBFLW1haWwgUmVjaXBpZW50cw==</PHRASE>
<PHRASE Label="la_config_DefaultRegistrationCountry" Module="Core" Type="1">RGVmYXVsdCBSZWdpc3RyYXRpb24gQ291bnRyeQ==</PHRASE>
<PHRASE Label="la_config_DefaultTrackingCode" Module="Core" Type="1">RGVmYXVsdCBBbmFseXRpY3MgVHJhY2tpbmcgQ29kZQ==</PHRASE>
<PHRASE Label="la_config_error_template" Module="Core" Type="1">VGVtcGxhdGUgZm9yICJGaWxlIG5vdCBmb3VuZCAoNDA0KSIgRXJyb3I=</PHRASE>
Index: install/install_data.sql
===================================================================
--- install/install_data.sql (revision 14934)
+++ install/install_data.sql (working copy)
@@ -23,7 +23,7 @@
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'Site_Name', 'In-Portal CMS', 'In-Portal', 'in-portal:configure_general', 'la_section_SettingsWebsite', 'la_config_website_name', 'text', '', '', 10.01, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'FirstDayOfWeek', '1', 'In-Portal', 'in-portal:configure_general', 'la_Text_Date_Time_Settings', 'la_config_first_day_of_week', 'select', '', '0=la_sunday||1=la_monday', 20.01, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'Config_Site_Time', '', 'In-Portal', 'in-portal:configure_general', 'la_Text_Date_Time_Settings', 'la_config_site_zone', 'select', '', NULL, 20.02, 0, 1, NULL);
-INSERT INTO ConfigurationValues VALUES(DEFAULT, 'Smtp_AdminMailFrom', 'portal@user.domain.name', 'In-Portal', 'in-portal:configure_general', 'la_section_SettingsMailling', 'la_prompt_AdminMailFrom', 'text', NULL, 'size="40"', 30.01, 0, 1, NULL);
+INSERT INTO ConfigurationValues VALUES(DEFAULT, 'DefaultEmailSender', 'portal@user.domain.name', 'In-Portal', 'in-portal:configure_general', 'la_section_SettingsMailling', 'la_prompt_AdminMailFrom', 'text', NULL, 'size="40"', 30.01, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'SessionTimeout', '3600', 'In-Portal', 'in-portal:configure_general', 'la_section_SettingsSession', 'la_prompt_session_timeout', 'text', 'a:3:{s:4:"type";s:3:"int";s:13:"min_value_inc";i:1;s:8:"required";i:1;}', '', 40.01, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'AdminConsoleInterface', 'simple', 'In-Portal', 'in-portal:configure_general', 'la_section_SettingsAdmin', 'la_config_AdminConsoleInterface', 'select', '', 'simple=+simple||advanced=+advanced||custom=+custom', 50.01, 0, 1, NULL);
@@ -86,6 +86,7 @@
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'MailFunctionHeaderSeparator', '1', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMailling', 'la_config_MailFunctionHeaderSeparator', 'radio', NULL, '1=la_Linux||2=la_Windows', 50.07, 0, 0, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'MailingListQueuePerStep', '10', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMailling', 'la_config_MailingListQueuePerStep', 'text', NULL, NULL, 50.08, 0, 0, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'MailingListSendPerStep', '10', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMailling', 'la_config_MailingListSendPerStep', 'text', NULL, NULL, 50.09, 0, 0, NULL);
+INSERT INTO ConfigurationValues VALUES(DEFAULT, 'DefaultEmailRecipients', '', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMailling', 'la_config_DefaultEmailRecipients', 'text', NULL, NULL, 50.10, 0, 0, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'UseOutputCompression', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_UseOutputCompression', 'checkbox', '', '', 60.01, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'OutputCompressionLevel', '7', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_OutputCompressionLevel', 'text', '', '', 60.02, 0, 1, NULL);
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'UseTemplateCompression', '0', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsSystem', 'la_config_UseTemplateCompression', 'checkbox', '', '', 60.03, 0, 1, NULL);
@@ -709,7 +710,7 @@
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:permission_types.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:permission_types.delete', 11, 1, 1, 0);
-INSERT INTO Skins VALUES (DEFAULT, 'Default', '/* General elements */\r\n\r\nhtml {\r\n height: 100%;\r\n}\r\n\r\nbody {\r\n font-family: verdana,arial,helvetica,sans-serif;\r\n color: #000000;\r\n overflow-x: auto; overflow-y: auto;\r\n margin: 0px 0px 0px 0px;\r\n text-decoration: none;\r\n}\r\n\r\nbody, td {\r\n /* fix for Firefox, when font-size was not inherited in table cells */\r\n font-size: 9pt;\r\n}\r\n\r\na {\r\n color: #006699;\r\n text-decoration: none;\r\n}\r\n\r\na:hover {\r\n color: #009ff0;\r\n text-decoration: none;\r\n}\r\n\r\nform {\r\n display: inline;\r\n}\r\n\r\nimg { border: 0px; }\r\n\r\nbody.height-100 {\r\n height: 100%;\r\n}\r\n\r\nbody.regular-body {\r\n margin: 0px 10px 5px 10px;\r\n color: #000000;\r\n background-color: @@SectionBgColor@@;\r\n}\r\n\r\nbody.edit-popup {\r\n margin: 0px 0px 0px 0px;\r\n}\r\n\r\ntable.collapsed {\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered, table.bordered, .bordered-no-bottom {\r\n border: 1px solid #000000 !important;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered-no-bottom {\r\n border-top-width: 1px;\r\n border-bottom: none;\r\n}\r\n\r\n.login-table td {\r\n padding: 1px;\r\n}\r\n\r\n.disabled {\r\n background-color: #ebebeb;\r\n}\r\n\r\n/* Head frame */\r\ntable.head-table {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/right_background.png'') top right @@HeadBgColor@@ no-repeat;\r\n}\r\n\r\n.head-table tr td, .head-table tr td a {\r\n color: @@HeadColor@@\r\n}\r\n\r\ndiv#extra_toolbar td.button-active {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_button_background.gif'') bottom left repeat-x;\r\n height: 22px;\r\n}\r\n\r\ndiv#extra_toolbar td.button-active a {\r\n color: black;\r\n text-decoration: none;\r\n}\r\n\r\ntd.kx-block-header, .head-table tr td.kx-block-header{\r\n color: @@HeadBarColor@@;\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_background.gif'') repeat-x top left;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\na.kx-header-link {\r\n text-decoration: underline;\r\n font-weight: bold;\r\n color: #0080C8;\r\n}\r\n\r\na.kx-header-link:hover {\r\n color: #FFCB05;\r\n text-decoration: none;\r\n}\r\n\r\n.kx-secondary-foreground {\r\n color: #FFFFFF;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n}\r\n\r\n.kx-login-button {\r\n background-color: #2D79D6;\r\n color: #FFFFFF;\r\n}\r\n\r\n/* General form button (yellow) */\r\n.button {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #000000;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Disabled (grayed-out) form button */\r\n.button-disabled {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #676767;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back_disabled.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Tabs bar */\r\n\r\n.tab, .tab-active {\r\n background-color: #F0F1EB;\r\n padding: 3px 7px 2px 7px;\r\n border-top: 1px solid black;\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n margin-left: 3px !important;\r\n white-space: nowrap;\r\n}\r\n\r\n.tab-active {\r\n background-color: #4487D9;\r\n}\r\n\r\n.tab a {\r\n color: #4487D9;\r\n font-weight: bold;\r\n}\r\n\r\n.tab-active a {\r\n color: #FFFFFF;\r\n font-weight: bold;\r\n}\r\n\r\na.scroll-left, a.scroll-right {\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n height: 18px;\r\n margin: 0px 1px;\r\n width: 18px;\r\n}\r\n\r\na.scroll-left {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/left.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.scroll-right {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/right.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.disabled {\r\n visibility: hidden !important;\r\n}\r\n\r\na.scroll-left:hover, a.scroll-right:hover {\r\n background-position: 0 -18px;\r\n}\r\n\r\ntd.scroll-right-container {\r\n width: 20px;\r\n}\r\n\r\ntd.scroll-right-container.disabled, td.scroll-right-container.disabled * {\r\n width: 0px;\r\n margin: 0px;\r\n}\r\n\r\ntd.scroll-right-container.disabled br {\r\n display: none;\r\n}\r\n\r\n/* Toolbar */\r\n\r\n.toolbar {\r\n font-size: 8pt;\r\n border: 1px solid #000000;\r\n border-width: 0px 1px 1px 1px;\r\n background-color: @@ToolbarBgColor@@;\r\n border-collapse: collapse;\r\n}\r\n\r\n.toolbar td {\r\n height: 100%;\r\n}\r\n\r\n.toolbar-button, .toolbar-button-disabled, .toolbar-button-over {\r\n float: left;\r\n text-align: center;\r\n font-size: 8pt;\r\n padding: 5px 5px 5px 5px;\r\n vertical-align: middle;\r\n color: #006F99;\r\n}\r\n\r\n.toolbar-button-over {\r\n color: #000;\r\n}\r\n\r\n.toolbar-button-disabled {\r\n color: #444;\r\n}\r\n\r\n/* Scrollable Grids */\r\n\r\n\r\n.layout-only-table td {\r\n border: none !important;\r\n}\r\n\r\n/* Main Grid class */\r\n.grid-scrollable {\r\n padding: 0px;\r\n border: 1px solid black !important;\r\n border-top: none !important;\r\n}\r\n\r\n/* Div generated by js, which contains all the scrollable grid elements, affects the style of scrollable area without data (if there are too few rows) */\r\n.grid-container {\r\n background-color: #fff;\r\n}\r\n\r\n.grid-container table {\r\n border-collapse: collapse;\r\n}\r\n\r\n/* Inner div generated in each data-cell */\r\n.grid-cell-div {\r\n overflow: hidden;\r\n height: auto;\r\n}\r\n\r\n/* Main row definition */\r\n.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {\r\n font-weight: normal;\r\n color: @@OddColor@@;\r\n background-color: @@OddBgColor@@;\r\n padding: 3px 5px 3px 5px;\r\n overflow: hidden;\r\n border-right: 1px solid #c9c9c9;\r\n}\r\n.grid-data-row-even td, .table-color2 {\r\n background-color: @@EvenBgColor@@;\r\n color: @@EvenColor@@;\r\n}\r\n.grid-data-row td a, .grid-data-row-selected td a, .grid-data-row-mouseover td a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* mouse-over rows */\r\n.grid-data-row-mouseover td, table tr.grid-data-row[_row_highlighted] td {\r\n background: #FFFDF4;\r\n}\r\n\r\n/* Selected row, applies to both checkbox and data areas */\r\n.grid-data-row-selected td, table tr.grid-data-row[_row_selected] td {\r\n background: #FEF2D6;\r\n}\r\n\r\n.grid-data-row-even-selected td, .grid-data-row-even[_row_selected] td {\r\n background: #FFF7E0;\r\n}\r\n\r\n/* General header cell definition */\r\n.grid-header-row td {\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n text-decoration: none;\r\n padding: 3px 5px 3px 5px;\r\n color: @@ColumnTitlesColor@@;\r\n border-right: none;\r\n text-align: left;\r\n vertical-align: middle !important;\r\n white-space: nowrap;\r\n border-right: 1px solid #777;\r\n}\r\n\r\n/* Filters row */\r\ntr.grid-header-row-1 td {\r\n background-color: @@FiltersBgColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n/* Grid Filters */\r\ntable.range-filter {\r\n width: 100%;\r\n}\r\n\r\n.range-filter td {\r\n padding: 0px 0px 2px 2px !important;\r\n border: none !important;\r\n font-size: 8pt !important;\r\n font-weight: normal !important;\r\n text-align: left;\r\n color: #000000 !important;\r\n}\r\n\r\ninput.filter, select.filter, input.filter-active, select.filter-active {\r\n margin-bottom: 0px;\r\n border: 1px solid #aaa;\r\n}\r\n\r\ninput.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\nselect.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\ndiv.filter, div.filter-active {\r\n background-color: white;\r\n border: 1px solid #AAAAAA;\r\n color: black;\r\n font-weight: normal;\r\n padding: 3px;\r\n}\r\n\r\ndiv.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\ndiv.multioptions_filter {\r\n position: absolute;\r\n z-index: 100;\r\n color: black;\r\n background-color: white;\r\n border: 1px solid black;\r\n padding: 3px 5px;\r\n display: none;\r\n vertical-align: middle;\r\n}\r\n\r\n/* Column titles row */\r\ntr.grid-header-row-0 td {\r\n height: 25px;\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n color: @@ColumnTitlesColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\ntr.grid-header-row-0 td a {\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-0 td a:hover {\r\n color: #FFCC00;\r\n}\r\n\r\n\r\n.grid-footer-row td {\r\n background-color: #D7D7D7;\r\n font-weight: bold;\r\n border-right: 1px solid #C9C9C9;\r\n padding: 3px 5px 3px 5px;\r\n}\r\n\r\ntd.grid-header-last-cell, td.grid-data-last-cell, td.grid-footer-last-cell {\r\n border-right: none !important;\r\n}\r\n\r\ntd.grid-data-col-0, td.grid-data-col-0 div {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 div {\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n\r\n.grid-status-bar {\r\n border: 1px solid black;\r\n border-top: none;\r\n padding: 0px;\r\n width: 100%;\r\n border-collapse: collapse;\r\n height: 30px;\r\n}\r\n\r\n.grid-status-bar td {\r\n background-color: @@TitleBarBgColor@@;\r\n color: @@TitleBarColor@@;\r\n font-size: 11pt;\r\n font-weight: normal;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n\r\n/* /Scrollable Grids */\r\n\r\n\r\n/* Forms */\r\ntable.edit-form {\r\n border: none;\r\n border-top-width: 0px !important;\r\n border-collapse: collapse;\r\n width: 100%;\r\n}\r\n\r\n.edit-form-odd, .edit-form-even {\r\n padding: 0px;\r\n}\r\n\r\n.subsectiontitle {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #4A92CE;\r\n color: #fff;\r\n height: 25px;\r\n border-top: 1px solid black;\r\n vertical-align: middle;\r\n}\r\n\r\n/* remove top-border from first sub-section element */\r\ntable.edit-form .subsectiontitle:first-child, table.bordered .subsectiontitle:first-child {\r\n border-top-width: 0;\r\n}\r\n\r\n.subsectiontitle td {\r\n vertical-align: middle;\r\n /*padding: 3px 5px 3px 5px;*/\r\n padding: 1px 5px;\r\n}\r\n\r\n.label-cell {\r\n background: #DEE7F6 url(''@@base_url@@/core/admin_templates/img/bgr_input_name_line.gif'') no-repeat right bottom;\r\n font: 12px arial, sans-serif;\r\n padding: 4px 20px;\r\n width: 160px;\r\n}\r\n\r\n.control-mid {\r\n width: 13px;\r\n border-left: 1px solid #7A95C2;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_mid.gif'') repeat-x left bottom;\r\n}\r\n\r\n.control-cell {\r\n font: 11px arial, sans-serif;\r\n padding: 4px 10px 5px 5px;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_input_line.gif'') no-repeat left bottom;\r\n width: auto;\r\n vertical-align: middle;\r\n}\r\n\r\n.label-cell-filler {\r\n background: #DEE7F6 none;\r\n}\r\n.control-mid-filler {\r\n background: #fff none;\r\n border-left: 1px solid #7A95C2;\r\n}\r\n.control-cell-filler {\r\n background: #fff none;\r\n}\r\n\r\n.error {\r\n color: red;\r\n}\r\n.error-cell {\r\n color: red;\r\n}\r\n\r\n.field-required {\r\n color: red;\r\n}\r\n\r\n.warning-table {\r\n background-color: #F0F1EB;\r\n border: 1px solid #000000;\r\n border-collapse: collapse;\r\n border-top-width: 0px;\r\n}\r\n\r\n.form-notice, .form-warning {\r\n font-size: 11px;\r\n}\r\n\r\n.form-warning {\r\n color: red;\r\n}\r\n\r\n.form-notice {\r\n color: green;\r\n}\r\n\r\n.priority {\r\n color: red;\r\n padding-left: 1px;\r\n padding-right: 1px;\r\n font-size: 11px;\r\n}\r\n\r\n.small-statistics {\r\n font-size: 11px;\r\n color: #707070;\r\n}\r\n\r\n.req-note {\r\n font-style: italic;\r\n color: #333;\r\n}\r\n\r\n#scroll_container table.tableborder {\r\n border-collapse: separate\r\n}\r\n\r\n/* Uploader */\r\n.uploader-queue div.file {\r\n font-size: 11px;\r\n border: 1px solid #7F99C5;\r\n padding: 3px;\r\n background-color: #DEE7F6;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.uploader-queue .left {\r\n float: left;\r\n vertical-align: top;\r\n}\r\n\r\n.uploader-queue .file-label {\r\n margin-left: 5px;\r\n}\r\n\r\n.uploader-queue .preview .delete-checkbox {\r\n margin-top: -3px;\r\n}\r\n\r\n.uploader-queue .progress-container {\r\n margin: 2px 5px 0px 5px;\r\n}\r\n\r\n.uploader-queue .progress-empty {\r\n width: 150px;\r\n height: 9px;\r\n border: 1px solid black;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_left.gif'') repeat-x;\r\n}\r\n\r\n.uploader-queue .progress-full {\r\n height: 9px;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_done.gif'');\r\n}\r\n\r\n.uploader-queue .thumbnail {\r\n /*margin-bottom: 2px;*/\r\n border: 1px solid black;\r\n background-color: grey;\r\n}\r\n\r\n/* To be sorted */\r\nspan#category_path, span#category_path a {\r\n color: #FFFFFF;\r\n}\r\n\r\nspan#category_path a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* Section title, right to the big icon */\r\n.admintitle {\r\n font-size: 16pt;\r\n font-weight: bold;\r\n color: @@SectionColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Left side of bluebar */\r\n.header_left_bg {\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n padding-left: 5px;\r\n}\r\n\r\n/* Right side of bluebar */\r\n.tablenav, tablenav a {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n\r\n text-decoration: none;\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n}\r\n\r\n/* Section title in the bluebar * -- why ''link''? :S */\r\n.tablenav_link {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Active page in top and bottom bluebars pagination */\r\n.current_page {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #fff;\r\n color: #2D79D6;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Other pages and arrows in pagination on blue */\r\n.nav_url {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n color: #fff;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Tree */\r\n.tree-body {\r\n background-color: @@TreeBgColor@@;\r\n height: 100%\r\n}\r\n\r\n.tree_head.td, .tree_head, .tree_head:hover {\r\n font-weight: bold;\r\n font-size: 10px;\r\n color: #FFFFFF;\r\n font-family: Verdana, Arial;\r\n text-decoration: none;\r\n}\r\n\r\n.tree {\r\n padding: 0px;\r\n border: none;\r\n border-collapse: collapse;\r\n}\r\n\r\n.tree tr td {\r\n padding: 0px;\r\n margin: 0px;\r\n font-family: helvetica, arial, verdana,;\r\n font-size: 11px;\r\n white-space: nowrap;\r\n}\r\n\r\n.tree tr td a {\r\n font-size: 11px;\r\n color: @@TreeColor@@;\r\n font-family: Helvetica, Arial, Verdana;\r\n text-decoration: none;\r\n padding: 2px;\r\n}\r\n\r\n.tree tr td a:hover, .tree tr td a.debug-only-item:hover {\r\n color: @@TreeHoverColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a, .tree tr.highlighted td a.debug-only-item {\r\n color: @@TreeHighColor@@;\r\n background-color: @@TreeHighBgColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a:hover {\r\n color: @@TreeHighHoverColor@@;\r\n}\r\n\r\n.tree tr td a.debug-only-item {\r\n color: grey;\r\n}\r\n\r\n/* Ajax Dropdown */\r\n.suggest-box {\r\n border: 1px solid #999;\r\n background-color: #fff;\r\n}\r\n\r\n.suggest-item, .suggest-item-over {\r\n padding: 1px 2px 0px 2px;\r\n font-family: arial,verdana;\r\n font-size: 12px;\r\n}\r\n\r\n.suggest-item-over {\r\n background-color: #3366CC;\r\n color: #fff;\r\n}\r\n\r\n/* Dashboard Summary Boxes */\r\n.summary-box {\r\n border: 1px solid black;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.summary-box .title {\r\n color: white;\r\n font-weight: bold;\r\n padding: 6px 5px;\r\n vertical-align: middle;\r\n background-color: #4A92CE;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n.summary-box .content {\r\n padding: 4px;\r\n background-color: #F6F6F6;\r\n}\r\n\r\n.summary-box .group {\r\n border-bottom: 1px solid black;\r\n margin-bottom: 10px;\r\n padding: 0 0 10px 10px;\r\n}\r\n\r\n.summary-box .group.last {\r\n border-width: 0px;\r\n margin-bottom: 0;\r\n padding-bottom: 5px;\r\n}\r\n\r\n.summary-box h4 {\r\n margin: 0;\r\n padding: 0 0 3px 0;\r\n font-size: 11px;\r\n font-weight: bold;\r\n}\r\n\r\n.summary-box .hint {\r\n font-size: 10px;\r\n color: grey;\r\n margin-bottom: 3px;\r\n}\r\n\r\n.summary-box .hint .cache-key {\r\n margin-bottom: 7px;\r\n margin-left: 3px;\r\n}\r\n\r\n.summary-box ul {\r\n margin-top: 5px;\r\n margin-bottom: 3px;\r\n padding-left: 30px;\r\n}\r\n\r\n.summary-box li {\r\n padding-bottom: 4px;\r\n}', 'in-portal_logo_img.jpg', 'in-portal_logo_img2.jpg', 'in-portal_logo_login.gif', 'a:22:{s:11:"HeadBgColor";a:2:{s:11:"Description";s:27:"Head frame background color";s:5:"Value";s:7:"#007BF4";}s:9:"HeadColor";a:2:{s:11:"Description";s:21:"Head frame text color";s:5:"Value";s:7:"#FFFFFF";}s:14:"SectionBgColor";a:2:{s:11:"Description";s:28:"Section bar background color";s:5:"Value";s:7:"#FFFFFF";}s:12:"SectionColor";a:2:{s:11:"Description";s:22:"Section bar text color";s:5:"Value";s:7:"#2D79D6";}s:12:"HeadBarColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"HeadBarBgColor";a:1:{s:5:"Value";s:7:"#1961B8";}s:13:"TitleBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TitleBarBgColor";a:1:{s:5:"Value";s:7:"#2D79D6";}s:14:"ToolbarBgColor";a:1:{s:5:"Value";s:7:"#F0F1EB";}s:14:"FiltersBgColor";a:1:{s:5:"Value";s:7:"#D7D7D7";}s:17:"ColumnTitlesColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:19:"ColumnTitlesBgColor";a:1:{s:5:"Value";s:7:"#999999";}s:8:"OddColor";a:1:{s:5:"Value";s:7:"#000000";}s:10:"OddBgColor";a:1:{s:5:"Value";s:7:"#F6F6F6";}s:9:"EvenColor";a:1:{s:5:"Value";s:7:"#000000";}s:11:"EvenBgColor";a:1:{s:5:"Value";s:7:"#EBEBEB";}s:9:"TreeColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"TreeHoverColor";a:1:{s:5:"Value";s:7:"#009FF0";}s:13:"TreeHighColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:18:"TreeHighHoverColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TreeHighBgColor";a:1:{s:5:"Value";s:7:"#4A92CE";}s:11:"TreeBgColor";a:1:{s:5:"Value";s:7:"#DCECF6";}}', 1319019189, 1, 1);
+INSERT INTO Skins VALUES (DEFAULT, 'Default', '/* General elements */\r\n\r\nhtml {\r\n height: 100%;\r\n}\r\n\r\nbody {\r\n font-family: verdana,arial,helvetica,sans-serif;\r\n color: #000000;\r\n overflow-x: auto; overflow-y: auto;\r\n margin: 0px 0px 0px 0px;\r\n text-decoration: none;\r\n}\r\n\r\nbody, td {\r\n /* fix for Firefox, when font-size was not inherited in table cells */\r\n font-size: 9pt;\r\n}\r\n\r\na {\r\n color: #006699;\r\n text-decoration: none;\r\n}\r\n\r\na:hover {\r\n color: #009ff0;\r\n text-decoration: none;\r\n}\r\n\r\nform {\r\n display: inline;\r\n}\r\n\r\nimg { border: 0px; }\r\n\r\nbody.height-100 {\r\n height: 100%;\r\n}\r\n\r\nbody.regular-body {\r\n margin: 0px 10px 5px 10px;\r\n color: #000000;\r\n background-color: @@SectionBgColor@@;\r\n}\r\n\r\nbody.edit-popup {\r\n margin: 0px 0px 0px 0px;\r\n}\r\n\r\ntable.collapsed {\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered, table.bordered, .bordered-no-bottom {\r\n border: 1px solid #000000 !important;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered-no-bottom {\r\n border-top-width: 1px;\r\n border-bottom: none;\r\n}\r\n\r\n.login-table td {\r\n padding: 1px;\r\n}\r\n\r\n.disabled {\r\n background-color: #ebebeb;\r\n}\r\n\r\n/* Head frame */\r\ntable.head-table {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/right_background.png'') top right @@HeadBgColor@@ no-repeat;\r\n}\r\n\r\n.head-table tr td, .head-table tr td a {\r\n color: @@HeadColor@@\r\n}\r\n\r\ndiv#extra_toolbar td.button-active {\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_button_background.gif'') bottom left repeat-x;\r\n height: 22px;\r\n}\r\n\r\ndiv#extra_toolbar td.button-active a {\r\n color: black;\r\n text-decoration: none;\r\n}\r\n\r\ntd.kx-block-header, .head-table tr td.kx-block-header{\r\n color: @@HeadBarColor@@;\r\n background: url(''@@base_url@@/core/admin_templates/img/top_frame/toolbar_background.gif'') repeat-x top left;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\na.kx-header-link {\r\n text-decoration: underline;\r\n font-weight: bold;\r\n color: #0080C8;\r\n}\r\n\r\na.kx-header-link:hover {\r\n color: #FFCB05;\r\n text-decoration: none;\r\n}\r\n\r\n.kx-secondary-foreground {\r\n color: #FFFFFF;\r\n /*background-color: @@HeadBarBgColor@@;*/\r\n}\r\n\r\n.kx-login-button {\r\n background-color: #2D79D6;\r\n color: #FFFFFF;\r\n}\r\n\r\n/* General form button (yellow) */\r\n.button {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #000000;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Disabled (grayed-out) form button */\r\n.button-disabled {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #676767;\r\n background: url(''@@base_url@@/core/admin_templates/img/button_back_disabled.gif'') #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Tabs bar */\r\n\r\n.tab, .tab-active {\r\n background-color: #F0F1EB;\r\n padding: 3px 7px 2px 7px;\r\n border-top: 1px solid black;\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n margin-left: 3px !important;\r\n white-space: nowrap;\r\n}\r\n\r\n.tab-active {\r\n background-color: #4487D9;\r\n}\r\n\r\n.tab a {\r\n color: #4487D9;\r\n font-weight: bold;\r\n}\r\n\r\n.tab-active a {\r\n color: #FFFFFF;\r\n font-weight: bold;\r\n}\r\n\r\na.scroll-left, a.scroll-right {\r\n cursor: pointer;\r\n display: block;\r\n float: left;\r\n height: 18px;\r\n margin: 0px 1px;\r\n width: 18px;\r\n}\r\n\r\na.scroll-left {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/left.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.scroll-right {\r\n background: transparent url(''@@base_url@@/core/admin_templates/img/tabs/right.png'') no-repeat scroll 0 0;\r\n}\r\n\r\na.disabled {\r\n visibility: hidden !important;\r\n}\r\n\r\na.scroll-left:hover, a.scroll-right:hover {\r\n background-position: 0 -18px;\r\n}\r\n\r\ntd.scroll-right-container {\r\n width: 20px;\r\n}\r\n\r\ntd.scroll-right-container.disabled, td.scroll-right-container.disabled * {\r\n width: 0px;\r\n margin: 0px;\r\n}\r\n\r\ntd.scroll-right-container.disabled br {\r\n display: none;\r\n}\r\n\r\n/* Toolbar */\r\n\r\n.toolbar {\r\n font-size: 8pt;\r\n border: 1px solid #000000;\r\n border-width: 0px 1px 1px 1px;\r\n background-color: @@ToolbarBgColor@@;\r\n border-collapse: collapse;\r\n}\r\n\r\n.toolbar td {\r\n height: 100%;\r\n}\r\n\r\n.toolbar-button, .toolbar-button-disabled, .toolbar-button-over {\r\n float: left;\r\n text-align: center;\r\n font-size: 8pt;\r\n padding: 5px 5px 5px 5px;\r\n vertical-align: middle;\r\n color: #006F99;\r\n}\r\n\r\n.toolbar-button-over {\r\n color: #000;\r\n}\r\n\r\n.toolbar-button-disabled {\r\n color: #444;\r\n}\r\n\r\n/* Scrollable Grids */\r\n\r\n\r\n.layout-only-table td {\r\n border: none !important;\r\n}\r\n\r\n/* Main Grid class */\r\n.grid-scrollable {\r\n padding: 0px;\r\n border: 1px solid black !important;\r\n border-top: none !important;\r\n}\r\n\r\n/* Div generated by js, which contains all the scrollable grid elements, affects the style of scrollable area without data (if there are too few rows) */\r\n.grid-container {\r\n background-color: #fff;\r\n}\r\n\r\n.grid-container table {\r\n border-collapse: collapse;\r\n}\r\n\r\n/* Inner div generated in each data-cell */\r\n.grid-cell-div {\r\n overflow: hidden;\r\n height: auto;\r\n}\r\n\r\n/* Main row definition */\r\n.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2, .grid-edit-table .edit-form-odd > td, .grid-edit-table .edit-form-even > td {\r\n font-weight: normal;\r\n color: @@OddColor@@;\r\n background-color: @@OddBgColor@@;\r\n padding: 3px 5px 3px 5px;\r\n overflow: hidden;\r\n border-right: 1px solid #c9c9c9;\r\n}\r\n.grid-data-row-even td, .table-color2, .grid-edit-table .edit-form-even > td {\r\n background-color: @@EvenBgColor@@;\r\n color: @@EvenColor@@;\r\n}\r\n.grid-data-row td a, .grid-data-row-selected td a, .grid-data-row-mouseover td a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* mouse-over rows */\r\n.grid-data-row-mouseover td, table tr.grid-data-row[_row_highlighted] td {\r\n background: #FFFDF4;\r\n}\r\n\r\n/* Selected row, applies to both checkbox and data areas */\r\n.grid-data-row-selected td, table tr.grid-data-row[_row_selected] td {\r\n background: #FEF2D6;\r\n}\r\n\r\n.grid-data-row-even-selected td, .grid-data-row-even[_row_selected] td {\r\n background: #FFF7E0;\r\n}\r\n\r\n/* General header cell definition */\r\n.grid-header-row td {\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n text-decoration: none;\r\n padding: 3px 5px 3px 5px;\r\n color: @@ColumnTitlesColor@@;\r\n border-right: none;\r\n text-align: left;\r\n vertical-align: middle !important;\r\n white-space: nowrap;\r\n border-right: 1px solid #777;\r\n}\r\n\r\n/* Filters row */\r\ntr.grid-header-row-1 td {\r\n background-color: @@FiltersBgColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n/* Grid Filters */\r\ntable.range-filter {\r\n width: 100%;\r\n}\r\n\r\n.range-filter td {\r\n padding: 0px 0px 2px 2px !important;\r\n border: none !important;\r\n font-size: 8pt !important;\r\n font-weight: normal !important;\r\n text-align: left;\r\n color: #000000 !important;\r\n}\r\n\r\ninput.filter, select.filter, input.filter-active, select.filter-active {\r\n margin-bottom: 0px;\r\n border: 1px solid #aaa;\r\n}\r\n\r\ninput.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\nselect.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\ndiv.filter, div.filter-active {\r\n background-color: white;\r\n border: 1px solid #AAAAAA;\r\n color: black;\r\n font-weight: normal;\r\n padding: 3px;\r\n}\r\n\r\ndiv.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\ndiv.multioptions_filter {\r\n position: absolute;\r\n z-index: 100;\r\n color: black;\r\n background-color: white;\r\n border: 1px solid black;\r\n padding: 3px 5px;\r\n display: none;\r\n vertical-align: middle;\r\n}\r\n\r\n/* Column titles row */\r\ntr.grid-header-row-0 td {\r\n height: 25px;\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n color: @@ColumnTitlesColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\ntr.grid-header-row-0 td a {\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-0 td a:hover {\r\n color: #FFCC00;\r\n}\r\n\r\n\r\n.grid-footer-row td {\r\n background-color: #D7D7D7;\r\n font-weight: bold;\r\n border-right: 1px solid #C9C9C9;\r\n padding: 3px 5px 3px 5px;\r\n}\r\n\r\ntd.grid-header-last-cell, td.grid-data-last-cell, td.grid-footer-last-cell {\r\n border-right: none !important;\r\n}\r\n\r\ntd.grid-data-col-0, td.grid-data-col-0 div {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-1 td.grid-header-col-1 div {\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n\r\n.grid-status-bar {\r\n border: 1px solid black;\r\n border-top: none;\r\n padding: 0px;\r\n width: 100%;\r\n border-collapse: collapse;\r\n height: 30px;\r\n}\r\n\r\n.grid-status-bar td {\r\n background-color: @@TitleBarBgColor@@;\r\n color: @@TitleBarColor@@;\r\n font-size: 11pt;\r\n font-weight: normal;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n\r\n/* /Scrollable Grids */\r\n\r\n\r\n/* Forms */\r\ntable.edit-form {\r\n border: none;\r\n border-top-width: 0px !important;\r\n border-collapse: collapse;\r\n width: 100%;\r\n}\r\n\r\n.edit-form-odd, .edit-form-even {\r\n padding: 0px;\r\n}\r\n\r\n.subsectiontitle {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #4A92CE;\r\n color: #fff;\r\n height: 25px;\r\n border-top: 1px solid black;\r\n vertical-align: middle;\r\n}\r\n\r\n/* remove top-border from first sub-section element */\r\ntable.edit-form .subsectiontitle:first-child, table.bordered .subsectiontitle:first-child {\r\n border-top-width: 0;\r\n}\r\n\r\n.subsectiontitle td {\r\n vertical-align: middle;\r\n /*padding: 3px 5px 3px 5px;*/\r\n padding: 1px 5px;\r\n}\r\n\r\n.label-cell {\r\n background: #DEE7F6 url(''@@base_url@@/core/admin_templates/img/bgr_input_name_line.gif'') no-repeat right bottom;\r\n font: 12px arial, sans-serif;\r\n padding: 4px 20px;\r\n width: 160px;\r\n}\r\n\r\n.control-mid {\r\n width: 13px;\r\n border-left: 1px solid #7A95C2;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_mid.gif'') repeat-x left bottom;\r\n}\r\n\r\n.control-cell {\r\n font: 11px arial, sans-serif;\r\n padding: 4px 10px 5px 5px;\r\n background: #fff url(''@@base_url@@/core/admin_templates/img/bgr_input_line.gif'') no-repeat left bottom;\r\n width: auto;\r\n vertical-align: middle;\r\n}\r\n\r\n.label-cell-filler {\r\n background: #DEE7F6 none;\r\n}\r\n.control-mid-filler {\r\n background: #fff none;\r\n border-left: 1px solid #7A95C2;\r\n}\r\n.control-cell-filler {\r\n background: #fff none;\r\n}\r\n\r\n.error {\r\n color: red;\r\n}\r\n.error-cell {\r\n color: red;\r\n}\r\n\r\n.field-required {\r\n color: red;\r\n}\r\n\r\n.warning-table {\r\n background-color: #F0F1EB;\r\n border: 1px solid #000000;\r\n border-collapse: collapse;\r\n border-top-width: 0px;\r\n}\r\n\r\n.form-notice, .form-warning {\r\n font-size: 11px;\r\n}\r\n\r\n.form-warning {\r\n color: red;\r\n}\r\n\r\n.form-notice {\r\n color: green;\r\n}\r\n\r\n.priority {\r\n color: red;\r\n padding-left: 1px;\r\n padding-right: 1px;\r\n font-size: 11px;\r\n}\r\n\r\n.small-statistics {\r\n font-size: 11px;\r\n color: #707070;\r\n}\r\n\r\n.req-note {\r\n font-style: italic;\r\n color: #333;\r\n}\r\n\r\n#scroll_container table.tableborder {\r\n border-collapse: separate\r\n}\r\n\r\n/* Uploader */\r\n.uploader-queue div.file {\r\n font-size: 11px;\r\n border: 1px solid #7F99C5;\r\n padding: 3px;\r\n background-color: #DEE7F6;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.uploader-queue .left {\r\n float: left;\r\n vertical-align: top;\r\n}\r\n\r\n.uploader-queue .file-label {\r\n margin-left: 5px;\r\n}\r\n\r\n.uploader-queue .preview .delete-checkbox {\r\n margin-top: -3px;\r\n}\r\n\r\n.uploader-queue .progress-container {\r\n margin: 2px 5px 0px 5px;\r\n}\r\n\r\n.uploader-queue .progress-empty {\r\n width: 150px;\r\n height: 9px;\r\n border: 1px solid black;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_left.gif'') repeat-x;\r\n}\r\n\r\n.uploader-queue .progress-full {\r\n height: 9px;\r\n background: url(''@@base_url@@/core/admin_templates/img/progress_done.gif'');\r\n}\r\n\r\n.uploader-queue .thumbnail {\r\n /*margin-bottom: 2px;*/\r\n border: 1px solid black;\r\n background-color: grey;\r\n}\r\n\r\n/* To be sorted */\r\nspan#category_path, span#category_path a {\r\n color: #FFFFFF;\r\n}\r\n\r\nspan#category_path a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* Section title, right to the big icon */\r\n.admintitle {\r\n font-size: 16pt;\r\n font-weight: bold;\r\n color: @@SectionColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Left side of bluebar */\r\n.header_left_bg {\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n padding-left: 5px;\r\n}\r\n\r\n/* Right side of bluebar */\r\n.tablenav, tablenav a {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n\r\n text-decoration: none;\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n}\r\n\r\n/* Section title in the bluebar * -- why ''link''? :S */\r\n.tablenav_link {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Active page in top and bottom bluebars pagination */\r\n.current_page {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #fff;\r\n color: #2D79D6;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Other pages and arrows in pagination on blue */\r\n.nav_url {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n color: #fff;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Tree */\r\n.tree-body {\r\n background-color: @@TreeBgColor@@;\r\n height: 100%\r\n}\r\n\r\n.tree_head.td, .tree_head, .tree_head:hover {\r\n font-weight: bold;\r\n font-size: 10px;\r\n color: #FFFFFF;\r\n font-family: Verdana, Arial;\r\n text-decoration: none;\r\n}\r\n\r\n.tree {\r\n padding: 0px;\r\n border: none;\r\n border-collapse: collapse;\r\n}\r\n\r\n.tree tr td {\r\n padding: 0px;\r\n margin: 0px;\r\n font-family: helvetica, arial, verdana,;\r\n font-size: 11px;\r\n white-space: nowrap;\r\n}\r\n\r\n.tree tr td a {\r\n font-size: 11px;\r\n color: @@TreeColor@@;\r\n font-family: Helvetica, Arial, Verdana;\r\n text-decoration: none;\r\n padding: 2px;\r\n}\r\n\r\n.tree tr td a:hover, .tree tr td a.debug-only-item:hover {\r\n color: @@TreeHoverColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a, .tree tr.highlighted td a.debug-only-item {\r\n color: @@TreeHighColor@@;\r\n background-color: @@TreeHighBgColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a:hover {\r\n color: @@TreeHighHoverColor@@;\r\n}\r\n\r\n.tree tr td a.debug-only-item {\r\n color: grey;\r\n}\r\n\r\n/* Ajax Dropdown */\r\n.suggest-box {\r\n border: 1px solid #999;\r\n background-color: #fff;\r\n}\r\n\r\n.suggest-item, .suggest-item-over {\r\n padding: 1px 2px 0px 2px;\r\n font-family: arial,verdana;\r\n font-size: 12px;\r\n}\r\n\r\n.suggest-item-over {\r\n background-color: #3366CC;\r\n color: #fff;\r\n}\r\n\r\n/* Dashboard Summary Boxes */\r\n.summary-box {\r\n border: 1px solid black;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.summary-box .title {\r\n color: white;\r\n font-weight: bold;\r\n padding: 6px 5px;\r\n vertical-align: middle;\r\n background-color: #4A92CE;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n.summary-box .content {\r\n padding: 4px;\r\n background-color: #F6F6F6;\r\n}\r\n\r\n.summary-box .group {\r\n border-bottom: 1px solid black;\r\n margin-bottom: 10px;\r\n padding: 0 0 10px 10px;\r\n}\r\n\r\n.summary-box .group.last {\r\n border-width: 0px;\r\n margin-bottom: 0;\r\n padding-bottom: 5px;\r\n}\r\n\r\n.summary-box h4 {\r\n margin: 0;\r\n padding: 0 0 3px 0;\r\n font-size: 11px;\r\n font-weight: bold;\r\n}\r\n\r\n.summary-box .hint {\r\n font-size: 10px;\r\n color: grey;\r\n margin-bottom: 3px;\r\n}\r\n\r\n.summary-box .hint .cache-key {\r\n margin-bottom: 7px;\r\n margin-left: 3px;\r\n}\r\n\r\n.summary-box ul {\r\n margin-top: 5px;\r\n margin-bottom: 3px;\r\n padding-left: 30px;\r\n}\r\n\r\n.summary-box li {\r\n padding-bottom: 4px;\r\n}', 'in-portal_logo_img.jpg', 'in-portal_logo_img2.jpg', 'in-portal_logo_login.gif', 'a:22:{s:11:"HeadBgColor";a:2:{s:11:"Description";s:27:"Head frame background color";s:5:"Value";s:7:"#007BF4";}s:9:"HeadColor";a:2:{s:11:"Description";s:21:"Head frame text color";s:5:"Value";s:7:"#FFFFFF";}s:14:"SectionBgColor";a:2:{s:11:"Description";s:28:"Section bar background color";s:5:"Value";s:7:"#FFFFFF";}s:12:"SectionColor";a:2:{s:11:"Description";s:22:"Section bar text color";s:5:"Value";s:7:"#2D79D6";}s:12:"HeadBarColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"HeadBarBgColor";a:1:{s:5:"Value";s:7:"#1961B8";}s:13:"TitleBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TitleBarBgColor";a:1:{s:5:"Value";s:7:"#2D79D6";}s:14:"ToolbarBgColor";a:1:{s:5:"Value";s:7:"#F0F1EB";}s:14:"FiltersBgColor";a:1:{s:5:"Value";s:7:"#D7D7D7";}s:17:"ColumnTitlesColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:19:"ColumnTitlesBgColor";a:1:{s:5:"Value";s:7:"#999999";}s:8:"OddColor";a:1:{s:5:"Value";s:7:"#000000";}s:10:"OddBgColor";a:1:{s:5:"Value";s:7:"#F6F6F6";}s:9:"EvenColor";a:1:{s:5:"Value";s:7:"#000000";}s:11:"EvenBgColor";a:1:{s:5:"Value";s:7:"#EBEBEB";}s:9:"TreeColor";a:1:{s:5:"Value";s:7:"#000000";}s:14:"TreeHoverColor";a:1:{s:5:"Value";s:7:"#009FF0";}s:13:"TreeHighColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:18:"TreeHighHoverColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TreeHighBgColor";a:1:{s:5:"Value";s:7:"#4A92CE";}s:11:"TreeBgColor";a:1:{s:5:"Value";s:7:"#DCECF6";}}', 1325154311, 1, 1);
INSERT INTO LocalesList VALUES
(1, '0x0436', 'Afrikaans (South Africa)', 'af-ZA', 'Latn', '1252'),
Index: install/install_schema.sql
===================================================================
--- install/install_schema.sql (revision 14929)
+++ install/install_schema.sql (working copy)
@@ -1227,6 +1227,7 @@
SSLUrl varchar(255) NOT NULL DEFAULT '',
SSLUrlUsesRegExp tinyint(4) NOT NULL DEFAULT '0',
AdminEmail varchar(255) NOT NULL DEFAULT '',
+ DefaultEmailRecipients text,
Country varchar(3) NOT NULL DEFAULT '',
PrimaryLanguageId int(11) NOT NULL DEFAULT '0',
Languages varchar(255) NOT NULL DEFAULT '',
Index: install/upgrades.css
===================================================================
--- install/upgrades.css (revision 14917)
+++ install/upgrades.css (working copy)
@@ -688,6 +688,24 @@
border-top-width: 0px;
border-collapse: collapse;
}
+@@ -269,7 +269,7 @@
+ }
+
+ /* Main row definition */
+-.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {
++.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2, .grid-edit-table .edit-form-odd > td, .grid-edit-table .edit-form-even > td {
+ font-weight: normal;
+ color: @@OddColor@@;
+ background-color: @@OddBgColor@@;
+@@ -277,7 +277,7 @@
+ overflow: hidden;
+ border-right: 1px solid #c9c9c9;
+ }
+-.grid-data-row-even td, .table-color2 {
++.grid-data-row-even td, .table-color2, .grid-edit-table .edit-form-even > td {
+ background-color: @@EvenBgColor@@;
+ color: @@EvenColor@@;
+ }
@@ -346,6 +346,29 @@
background-color: #FFFF00;
}
Index: install/upgrades.sql
===================================================================
--- install/upgrades.sql (revision 14934)
+++ install/upgrades.sql (working copy)
@@ -2478,3 +2478,10 @@
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'MaintenanceMessageAdmin', 'Website is currently undergoing the upgrades. Please come back shortly!', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_MaintenanceMessageAdmin', 'textarea', '', 'style="width: 100%; height: 100px;"', '15.02', 0, 0, 'hint:la_config_MaintenanceMessageAdmin');
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'SoftMaintenanceTemplate', 'maintenance', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_SoftMaintenanceTemplate', 'text', '', 'style="width: 200px;"', '15.03', 0, 0, 'hint:la_config_SoftMaintenanceTemplate');
INSERT INTO ConfigurationValues VALUES(DEFAULT, 'HardMaintenanceTemplate', 'maintenance', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMaintenance', 'la_config_HardMaintenanceTemplate', 'text', '', 'style="width: 200px;"', '15.04', 0, 0, 'hint:la_config_HardMaintenanceTemplate');
+
+UPDATE ConfigurationValues
+SET VariableName = 'DefaultEmailSender'
+WHERE VariableName = 'Smtp_AdminMailFrom';
+
+INSERT INTO ConfigurationValues VALUES(DEFAULT, 'DefaultEmailRecipients', '', 'In-Portal', 'in-portal:configure_advanced', 'la_section_SettingsMailling', 'la_config_DefaultEmailRecipients', 'text', NULL, NULL, 50.10, 0, 0, NULL);
+ALTER TABLE SiteDomains ADD DefaultEmailRecipients TEXT NULL AFTER AdminEmail;
\ No newline at end of file
Index: kernel/managers/cache_manager.php
===================================================================
--- kernel/managers/cache_manager.php (revision 14934)
+++ kernel/managers/cache_manager.php (working copy)
@@ -169,10 +169,15 @@
*/
public function ConfigValue($name)
{
- if ($name == 'Smtp_AdminMailFrom') {
- $res = $this->Application->siteDomainField('AdminEmail');
+ $site_domain_override = Array (
+ 'DefaultEmailSender' => 'AdminEmail',
+ 'DefaultEmailRecipients' => 'DefaultEmailRecipients',
+ );
- if ($res) {
+ if ( isset($site_domain_override[$name]) ) {
+ $res = $this->Application->siteDomainField($site_domain_override[$name]);
+
+ if ( $res ) {
return $res;
}
}
@@ -191,7 +196,7 @@
WHERE VariableName = ' . $this->Conn->qstr($name);
$res = $this->Conn->GetRow($sql);
- if ($res !== false) {
+ if ( $res !== false ) {
$this->configIDs[] = $res['VariableId'];
$this->configVariables[$name] = $res['VariableValue'];
Index: units/configuration/configuration_event_handler.php
===================================================================
--- units/configuration/configuration_event_handler.php (revision 14934)
+++ units/configuration/configuration_event_handler.php (working copy)
@@ -165,6 +165,10 @@
$object->SetError('VariableValue', 'template_file_missing', 'la_error_TemplateFileMissing');
}
}
+ elseif ( $variable_name == 'DefaultEmailRecipients' ) {
+ $email_event_data = $this->Application->GetVar('emailevents_' . $event->Prefix);
+ $object->SetDBField('VariableValue', $email_event_data[0]['Recipients']);
+ }
}
/**
Index: units/email_events/email_event_tp.php
===================================================================
--- units/email_events/email_event_tp.php (revision 14917)
+++ units/email_events/email_event_tp.php (working copy)
@@ -56,6 +56,18 @@
}
/**
+ * To recipient read-only
+ *
+ * @param Array $params
+ * @return string
+ * @access protected
+ */
+ protected function ToRecipientReadOnly($params)
+ {
+ return !$this->IsEditable(Array ('check_field' => 'AllowChangingRecipient'));
+ }
+
+ /**
* Removes "To" options from possible options in "RecipientType" field
*
* @param Array $params
Index: units/email_events/email_events_event_handler.php
===================================================================
--- units/email_events/email_events_event_handler.php (revision 14917)
+++ units/email_events/email_events_event_handler.php (working copy)
@@ -99,6 +99,29 @@
}
/**
+ * Prepares new kDBItem object
+ *
+ * @param kEvent $event
+ * @access protected
+ */
+ function OnNew(&$event)
+ {
+ parent::OnNew($event);
+
+ $mapping = Array ('conf' => 'VariableValue', 'site-domain' => 'DefaultEmailRecipients');
+
+ if ( isset($mapping[$event->Special]) ) {
+ $object =& $event->getObject();
+ /* @var $object kDBItem */
+
+ $target_object =& $this->Application->recallObject($event->Special);
+ /* @var $target_object kDBList */
+
+ $object->SetDBField('Recipients', $target_object->GetDBField($mapping[$event->Special]));
+ }
+ }
+
+ /**
* Set default headers
*
* @param kEvent $event
@@ -276,7 +299,7 @@
// still nothing, set defaults
if (!$email) {
- $email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $email = $this->Application->ConfigValue('DefaultEmailSender');
}
if (!$name) {
@@ -296,6 +319,7 @@
*
* @param kEvent $event
* @param Array $direct_params
+ * @return Array
*/
function _processRecipients(&$event, $direct_params = Array ())
{
@@ -306,47 +330,30 @@
$to_email = $to_name = '';
$all_recipients = Array ();
- $recipients_xml = $object->GetDBField('Recipients');
- if ($recipients_xml) {
- $minput_helper =& $this->Application->recallObject('MInputHelper');
- /* @var $minput_helper MInputHelper */
+ $this->_addRecipientsFromXml($all_recipients, $object->GetDBField('Recipients'));
- // group recipients by type
- $records = $minput_helper->parseMInputXML($recipients_xml);
-
- foreach ($records as $record) {
- $recipient_type = $record['RecipientType'];
-
- if (!array_key_exists($recipient_type, $all_recipients)) {
- $all_recipients[$recipient_type] = Array ();
- }
-
- $all_recipients[$recipient_type][] = $record;
- }
- }
-
- if (!array_key_exists(EmailEvent::RECIPIENT_TYPE_TO, $all_recipients)) {
+ if ( !array_key_exists(EmailEvent::RECIPIENT_TYPE_TO, $all_recipients) ) {
$all_recipients[EmailEvent::RECIPIENT_TYPE_TO] = Array ();
}
// remove all "To" recipients, when not allowed
$overwrite_to_email = array_key_exists('overwrite_to_email', $direct_params) ? $direct_params['overwrite_to_email'] : false;
- if (!$object->GetDBField('CustomRecipient') || $overwrite_to_email) {
+ if ( !$object->GetDBField('CustomRecipient') || $overwrite_to_email ) {
$all_recipients[EmailEvent::RECIPIENT_TYPE_TO] = Array ();
}
// update with custom data given during event execution (user_id)
$to_user_id = $event->getEventParam('EmailEventToUserId');
- if ($to_user_id > 0) {
+ if ( $to_user_id > 0 ) {
$sql = 'SELECT FirstName, LastName, Email
FROM ' . TABLE_PREFIX . 'PortalUser
WHERE PortalUserId = ' . $to_user_id;
$user_info = $this->Conn->GetRow($sql);
- if ($user_info) {
+ if ( $user_info ) {
$add_recipient = Array (
'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_EMAIL,
'RecipientAddress' => $user_info['Email'],
@@ -361,31 +368,31 @@
$user->Load($to_user_id);
}
}
- elseif (is_numeric($to_user_id)) {
+ elseif ( is_numeric($to_user_id) ) {
// recipient is system user with negative ID (root, guest, etc.) -> send to admin
- array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
+ $this->_addDefaultRecipient($all_recipients);
}
// update with custom data given during event execution (email + name)
$add_recipient = Array ();
- if (array_key_exists('to_email', $direct_params)) {
+ if ( array_key_exists('to_email', $direct_params) ) {
$add_recipient['RecipientName'] = '';
$add_recipient['RecipientAddressType'] = EmailEvent::ADDRESS_TYPE_EMAIL;
$add_recipient['RecipientAddress'] = $direct_params['to_email'];
}
- if (array_key_exists('to_name', $direct_params)) {
+ if ( array_key_exists('to_name', $direct_params) ) {
$add_recipient['RecipientName'] = $direct_params['to_name'];
}
- if ($add_recipient) {
+ if ( $add_recipient ) {
array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $add_recipient);
}
- if (($object->GetDBField('Type') == EmailEvent::EVENT_TYPE_ADMIN) && !$all_recipients[EmailEvent::RECIPIENT_TYPE_TO]) {
+ if ( ($object->GetDBField('Type') == EmailEvent::EVENT_TYPE_ADMIN) && !$all_recipients[EmailEvent::RECIPIENT_TYPE_TO] ) {
// admin email event without direct recipient -> send to admin
- array_unshift($all_recipients[EmailEvent::RECIPIENT_TYPE_TO], $this->_getDefaultRepipient());
+ $this->_addDefaultRecipient($all_recipients);
}
$esender =& $this->Application->recallObject('EmailSender');
@@ -397,7 +404,7 @@
EmailEvent::RECIPIENT_TYPE_BCC => 'Bcc',
);
- $default_email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $default_email = $this->Application->ConfigValue('DefaultEmailSender');
foreach ($all_recipients as $recipient_type => $recipients) {
// add recipients to email
@@ -406,11 +413,11 @@
foreach ($recipients as $recipient) {
$address = $recipient['RecipientAddress'];
$address_type = $recipient['RecipientAddressType'];
- $repipient_name = $recipient['RecipientName'];
+ $recipient_name = $recipient['RecipientName'];
switch ($address_type) {
case EmailEvent::ADDRESS_TYPE_EMAIL:
- $pairs[] = Array ('email' => $address, 'name' => $repipient_name);
+ $pairs[] = Array ('email' => $address, 'name' => $recipient_name);
break;
case EmailEvent::ADDRESS_TYPE_USER:
@@ -425,7 +432,7 @@
$pairs[] = Array (
'email' => $user_info['Email'],
- 'name' => $name ? $name : $repipient_name,
+ 'name' => $name ? $name : $recipient_name,
);
}
break;
@@ -438,23 +445,23 @@
WHERE g.Name = ' . $this->Conn->qstr($address);
$users = $this->Conn->Query($sql);
- foreach ($users as $user) {
+ foreach ($users as $user_info) {
$name = trim($user_info['FirstName'] . ' ' . $user_info['LastName']);
$pairs[] = Array (
'email' => $user_info['Email'],
- 'name' => $name ? $name : $repipient_name,
+ 'name' => $name ? $name : $recipient_name,
);
}
break;
}
}
- if (!$pairs) {
+ if ( !$pairs ) {
continue;
}
- if ($recipient_type == EmailEvent::RECIPIENT_TYPE_TO) {
+ if ( $recipient_type == EmailEvent::RECIPIENT_TYPE_TO ) {
$to_email = $pairs[0]['email'] ? $pairs[0]['email'] : $default_email;
$to_name = $pairs[0]['name'] ? $pairs[0]['name'] : $to_email;
}
@@ -475,22 +482,63 @@
/**
* This is default recipient, when we can't determine actual one
*
- * @return Array
+ * @param Array $recipients
+ * @return void
*/
- function _getDefaultRepipient()
+ function _addDefaultRecipient(&$recipients)
{
- return Array (
- 'RecipientName' => $this->Application->ConfigValue('Smtp_AdminMailFrom'),
- 'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_EMAIL,
- 'RecipientAddress' => $this->Application->ConfigValue('Smtp_AdminMailFrom'),
- );
+ $xml = $this->Application->ConfigValue('DefaultEmailRecipients');
+
+ if ( !$this->_addRecipientsFromXml($recipients, $xml) ) {
+ $recipient = Array (
+ 'RecipientName' => $this->Application->ConfigValue('DefaultEmailSender'),
+ 'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_EMAIL,
+ 'RecipientAddress' => $this->Application->ConfigValue('DefaultEmailSender'),
+ );
+
+ array_unshift($recipients[EmailEvent::RECIPIENT_TYPE_TO], $recipient);
+ }
}
/**
+ * Adds multiple recipients from an XML
+ *
+ * @param Array $recipients
+ * @param string $xml
+ * @return bool
+ * @access protected
+ */
+ protected function _addRecipientsFromXml(&$recipients, $xml)
+ {
+ if ( !$xml ) {
+ return false;
+ }
+
+ $minput_helper =& $this->Application->recallObject('MInputHelper');
+ /* @var $minput_helper MInputHelper */
+
+ // group recipients by type
+ $records = $minput_helper->parseMInputXML($xml);
+
+ foreach ($records as $record) {
+ $recipient_type = $record['RecipientType'];
+
+ if ( !array_key_exists($recipient_type, $recipients) ) {
+ $recipients[$recipient_type] = Array ();
+ }
+
+ $recipients[$recipient_type][] = $record;
+ }
+
+ return true;
+ }
+
+ /**
* Returns email event message by ID (headers & body in one piece)
*
* @param kEvent $event
* @param int $language_id
+ * @return string
*/
function _getMessageBody(&$event, $language_id = null)
{
@@ -1069,7 +1117,7 @@
$address = $this->Application->GetVar('value');
$limit = $this->Application->GetVar('limit');
- if (!$limit) {
+ if ( !$limit ) {
$limit = 20;
}
@@ -1088,9 +1136,13 @@
$field = 'Name';
$table_name = TABLE_PREFIX . 'PortalGroup';
break;
+
+ default:
+ $field = $table_name = '';
+ break;
}
- if (isset($field)) {
+ if ( $field ) {
$sql = 'SELECT DISTINCT ' . $field . '
FROM ' . $table_name . '
WHERE ' . $field . ' LIKE ' . $this->Conn->qstr($address . '%') . '
Index: units/helpers/mailing_list_helper.php
===================================================================
--- units/helpers/mailing_list_helper.php (revision 14917)
+++ units/helpers/mailing_list_helper.php (working copy)
@@ -93,7 +93,7 @@
}
if ( $is_root || !$email_address ) {
- $email_address = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $email_address = $this->Application->ConfigValue('DefaultEmailSender');
}
if ( $is_root || !$name ) {
Index: units/site_domains/site_domain_eh.php
===================================================================
--- units/site_domains/site_domain_eh.php (revision 14917)
+++ units/site_domains/site_domain_eh.php (working copy)
@@ -240,7 +240,7 @@
{
parent::OnBeforeItemCreate($event);
- $this->_setRequired($event);
+ $this->_itemChanged($event);
}
/**
@@ -254,6 +254,22 @@
{
parent::OnBeforeItemUpdate($event);
+ $this->_itemChanged($event);
+ }
+
+ /**
+ * Occurs before item is changed
+ *
+ * @param kEvent $event
+ */
+ function _itemChanged(&$event)
+ {
+ $object =& $event->getObject();
+ /* @var $object kDBItem */
+
+ $email_event_data = $this->Application->GetVar('emailevents_' . $event->Prefix);
+ $object->SetDBField('DefaultEmailRecipients', $email_event_data[0]['Recipients']);
+
$this->_setRequired($event);
}
Index: units/site_domains/site_domains_config.php
===================================================================
--- units/site_domains/site_domains_config.php (revision 14917)
+++ units/site_domains/site_domains_config.php (working copy)
@@ -98,6 +98,7 @@
'not_null' => 1, 'default' => 0
),
'AdminEmail' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
+ 'DefaultEmailRecipients' => Array ('type' => 'string', 'default' => NULL),
'Country' => Array (
'type' => 'string', 'max_len' => 3,
'formatter' => 'kOptionsFormatter',
Index: units/users/users_tag_processor.php
===================================================================
--- units/users/users_tag_processor.php (revision 14917)
+++ units/users/users_tag_processor.php (working copy)
@@ -147,14 +147,14 @@
}
/**
- * Returns sitem administrator email
+ * Returns site administrator email
*
* @param Array $params
* @return string
*/
function SiteAdminEmail($params)
{
- return $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ return $this->Application->ConfigValue('DefaultEmailSender');
}
/**
separate_default_email_recipients_modules.patch [^] (2,722 bytes) 2011-12-29 06:45
[Show Content]
Index: in-auction/units/sections/ebay_eh.php
===================================================================
--- in-auction/units/sections/ebay_eh.php (revision 14917)
+++ in-auction/units/sections/ebay_eh.php (working copy)
@@ -3797,7 +3797,7 @@
$need_cc_to_admin = $this->Application->ConfigValue('eBay_FeedbackNotificationCCtoSeller');
if ($need_cc_to_admin)
{
- $admin_email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $admin_email = $this->Application->ConfigValue('DefaultEmailSender');
}
$seconds_in_day = 24*3600;
Index: in-commerce/units/gateways/gw_classes/rightconnect.php
===================================================================
--- in-commerce/units/gateways/gw_classes/rightconnect.php (revision 14917)
+++ in-commerce/units/gateways/gw_classes/rightconnect.php (working copy)
@@ -107,7 +107,7 @@
$post_fields['customer_addr'] = $item_data['OrderIP']; // according to fields list in doc
$post_fields['customer_ip'] = $item_data['OrderIP']; // according to example from doc
$post_fields["email"] = $item_data['BillingEmail'];
- $post_fields["ADMIN_EMAIL"] = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $post_fields["ADMIN_EMAIL"] = $this->Application->ConfigValue('DefaultEmailSender');
$curl_helper =& $this->Application->recallObject('CurlHelper');
/* @var $curl_helper kCurlHelper */
Index: in-commerce/units/gift_certificates/gift_certificates_eh.php
===================================================================
--- in-commerce/units/gift_certificates/gift_certificates_eh.php (revision 14917)
+++ in-commerce/units/gift_certificates/gift_certificates_eh.php (working copy)
@@ -178,7 +178,7 @@
$object->Load($id);
$send_params = Array (
- 'from_email' => $this->Application->ConfigValue('Smtp_AdminMailFrom'),
+ 'from_email' => $this->Application->ConfigValue('DefaultEmailSender'),
'from_name' => $object->GetDBField('Purchaser'),
'to_email' => $object->GetDBField('RecipientEmail'),
'to_name' => $object->GetDBField('Recipient'),
Index: in-commerce/units/orders/orders_tag_processor.php
===================================================================
--- in-commerce/units/orders/orders_tag_processor.php (revision 14917)
+++ in-commerce/units/orders/orders_tag_processor.php (working copy)
@@ -1242,7 +1242,7 @@
}
$from_name = strip_tags($this->Application->ConfigValue('Site_Name'));
- $from_email = $this->Application->ConfigValue('Smtp_AdminMailFrom');
+ $from_email = $this->Application->ConfigValue('DefaultEmailSender');
$to_name = $order->GetDBField('BillingTo');
$to_email = $order->GetDBField('BillingEmail');
separate_default_email_recipients_themes.patch [^] (867 bytes) 2011-12-29 06:45
[Show Content]
Index: in-news/elements/rss.xml.tpl
===================================================================
--- in-news/elements/rss.xml.tpl (revision 14917)
+++ in-news/elements/rss.xml.tpl (working copy)
@@ -4,8 +4,8 @@
<title><inp2:m_GetConfig name="Site_Name"/></title>
<link><inp2:c_CategoryLink template="in-news/designs/section"/></link>
<generator><inp2:m_GetConfig name="Site_Name"/></generator>
- <managingEditor><inp2:m_GetConfig name="Smtp_AdminMailFrom"/></managingEditor>
- <webMaster><inp2:m_GetConfig name="Smtp_AdminMailFrom"/>m</webMaster>
+ <managingEditor><inp2:m_GetConfig name="DefaultEmailSender"/></managingEditor>
+ <webMaster><inp2:m_GetConfig name="DefaultEmailSender"/>m</webMaster>
<inp2:m_include template="in-news/elements/articles.elm"/>
<inp2:n_PrintList render_as="article_rss_element" per_page="-1"/>
|