From e58df3adc9b4182c232c94178d024bb4a89c2290 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Sun, 15 Jun 2008 05:19:47 -0400 Subject: [PATCH] - Added option to select skin in user preferences (#1485031) - template_exists() moved to rcube_template class --- program/steps/settings/edit_identity.inc | 88 ++++++++++++++++++++++++++++++-------------- 1 files changed, 60 insertions(+), 28 deletions(-) diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc index 07cd8fa..cc541a6 100644 --- a/program/steps/settings/edit_identity.inc +++ b/program/steps/settings/edit_identity.inc @@ -5,7 +5,7 @@ | program/steps/settings/edit_identity.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -19,38 +19,48 @@ */ -if (($_GET['_iid'] || $_POST['_iid']) && $_action=='edit-identity') +$OUTPUT->set_pagetitle(rcube_label('identities')); + +if (($_GET['_iid'] || $_POST['_iid']) && $RCMAIL->action=='edit-identity') { - $id = $_POST['_iid'] ? $_POST['_iid'] : $_GET['_iid']; - $DB->query("SELECT * FROM ".get_table_name('identities')." - WHERE identity_id=? - AND user_id=? - AND del<>1", - $id, - $_SESSION['user_id']); - - $IDENTITY_RECORD = $DB->fetch_assoc(); + $IDENTITY_RECORD = $USER->get_identity(get_input_value('_iid', RCUBE_INPUT_GPC)); if (is_array($IDENTITY_RECORD)) - $OUTPUT->add_script(sprintf("%s.set_env('iid', '%s');", $JS_OBJECT_NAME, $IDENTITY_RECORD['identity_id'])); - - $PAGE_TITLE = rcube_label('edititem'); + $OUTPUT->set_env('iid', $IDENTITY_RECORD['identity_id']); } -else - $PAGE_TITLE = rcube_label('newitem'); + +$OUTPUT->include_script('list.js'); function rcube_identity_form($attrib) { - global $IDENTITY_RECORD, $JS_OBJECT_NAME; + global $IDENTITY_RECORD, $RCMAIL, $OUTPUT; - if (!$IDENTITY_RECORD && $GLOBALS['_action']!='add-identity') + $tinylang = substr($_SESSION['language'], 0, 2); + if (!file_exists('program/js/tiny_mce/langs/'.$tinylang.'.js')) + { + $tinylang = 'en'; + } + + $OUTPUT->include_script('tiny_mce/tiny_mce.js'); + $OUTPUT->add_script("tinyMCE.init({ mode : 'textareas'," . + "editor_selector : 'mce_editor'," . + "apply_source_formatting : true," . + "language : '$tinylang'," . + "content_css : '\$__skin_path' + '/editor_content.css'," . + "theme : 'advanced'," . + "theme_advanced_toolbar_location : 'top'," . + "theme_advanced_toolbar_align : 'left'," . + "theme_advanced_buttons1 : 'bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,outdent,indent,charmap,hr'," . + "theme_advanced_buttons2 : 'link,unlink,code,forecolor,fontselect,fontsizeselect'," . + "theme_advanced_buttons3 : '' });"); + + if (!$IDENTITY_RECORD && $RCMAIL->action != 'add-identity') return rcube_label('notfound'); // add some labels to client - rcube_add_label('noemailwarning'); - rcube_add_label('nonamewarning'); + rcube_add_label('noemailwarning', 'nonamewarning'); list($form_start, $form_end) = get_form_tags($attrib, 'save-identity', array('name' => '_iid', 'value' => $IDENTITY_RECORD['identity_id'])); @@ -63,7 +73,8 @@ 'organization' => array('type' => 'text'), 'reply-to' => array('type' => 'text', 'label' => 'replyto'), 'bcc' => array('type' => 'text'), - 'signature' => array('type' => 'textarea'), + 'signature' => array('type' => 'textarea', 'size' => "40", 'rows' => "6"), + 'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail.toggle_editor(this, \'rcmfd_signature\');'), 'standard' => array('type' => 'checkbox', 'label' => 'setdefault')); @@ -74,7 +85,7 @@ if (is_array($colprop)) { $out = $form_start; - $out .= rcmail_get_edit_field($attrib['part'], $IDENTITY_RECORD[$attrib['part']], $attrib, $colprop['type']); + $out .= rcmail_get_edit_field($attrib['part'], $IDENTITY_RECORD[$attrib['part']], $attrib + array('size' => 30), $colprop['type']); return $out; } else @@ -88,12 +99,33 @@ foreach ($a_show_cols as $col => $colprop) { $attrib['id'] = 'rcmfd_'.$col; + + if (strlen($colprop['onclick'])) + $attrib['onclick'] = $colprop['onclick']; + else + unset($attrib['onclick']); + + if ($col == 'signature') + { + $attrib['size'] = $colprop['size']; + $attrib['rows'] = $colprop['rows']; + if ($IDENTITY_RECORD['html_signature']) + { + $attrib['class'] = "mce_editor"; + } + } + else + { + $attrib['size'] = 40; + unset($attrib['rows']); + } + $label = strlen($colprop['label']) ? $colprop['label'] : $col; $value = rcmail_get_edit_field($col, $IDENTITY_RECORD[$col], $attrib, $colprop['type']); $out .= sprintf("<tr><td class=\"title\"><label for=\"%s\">%s</label></td><td>%s</td></tr>\n", $attrib['id'], - rep_specialchars_output(rcube_label($label)), + Q(rcube_label($label)), $value); } @@ -102,10 +134,10 @@ return $out; } +$OUTPUT->add_handler('identityform', 'rcube_identity_form'); +if ($RCMAIL->action=='add-identity' && $OUTPUT->template_exists('addidentity')) + $OUTPUT->send('addidentity'); -if ($_action=='add-identity' && template_exists('addidentity')) - parse_template('addidentity'); - -parse_template('editidentity'); -?> \ No newline at end of file +$OUTPUT->send('editidentity'); +?> -- Gitblit v1.9.1