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