svncommit
2006-12-03 dd792e8253f6fa94eba4e95293a32f8bc91289bb
commit | author | age
4e17e6 1 <?php
T 2
3 /*
4  +-----------------------------------------------------------------------+
5  | program/steps/settings/edit_identity.inc                              |
6  |                                                                       |
7  | This file is part of the RoundCube Webmail client                     |
8  | Copyright (C) 2005, RoundCube Dev. - Switzerland                      |
30233b 9  | Licensed under the GNU GPL                                            |
4e17e6 10  |                                                                       |
T 11  | PURPOSE:                                                              |
12  |   Show edit form for a identity record or to add a new one            |
13  |                                                                       |
14  +-----------------------------------------------------------------------+
15  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
16  +-----------------------------------------------------------------------+
17
18  $Id$
19
20 */
21
22 if (($_GET['_iid'] || $_POST['_iid']) && $_action=='edit-identity')
23   {
d7cb77 24   $DB->query("SELECT * FROM ".get_table_name('identities')."
S 25               WHERE  identity_id=?
26               AND    user_id=?
1cded8 27               AND    del<>1",
89406f 28               get_input_value('_iid', RCUBE_INPUT_GPC),
d7cb77 29               $_SESSION['user_id']);
4e17e6 30   
T 31   $IDENTITY_RECORD = $DB->fetch_assoc();
32   
33   if (is_array($IDENTITY_RECORD))
34     $OUTPUT->add_script(sprintf("%s.set_env('iid', '%s');", $JS_OBJECT_NAME, $IDENTITY_RECORD['identity_id']));
35     
36   $PAGE_TITLE = rcube_label('edititem');
37   }
38 else
39   $PAGE_TITLE = rcube_label('newitem');
40
41
740e9e 42 $OUTPUT->include_script('list.js');
T 43
4e17e6 44
T 45 function rcube_identity_form($attrib)
46   {
a0109c 47   global $IDENTITY_RECORD, $JS_OBJECT_NAME, $OUTPUT;
S 48
49   $OUTPUT->include_script('tiny_mce/tiny_mce_src.js');
50   $OUTPUT->add_script("tinyMCE.init({ mode : 'specific_textareas'," .
51                                     "apply_source_formatting : true," .
5ec619 52                                     "content_css : '\$__skin_path' + '/editor_content.css'," .
S 53                                     "popups_css : '\$__skin_path' + '/editor_popups.css'," .
54                                     "editor_css : '\$__skin_path' + '/editor_ui.css'," .
a0109c 55                                     "theme : 'advanced'," .
S 56                                     "theme_advanced_toolbar_location : 'top'," .
57                                     "theme_advanced_toolbar_align : 'left'," .
58                                     "theme_advanced_buttons1 : 'bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,outdent,indent,charmap,hr'," .
dd792e 59                                     "theme_advanced_buttons2 : 'link,unlink,code,forecolor,fontselect,fontsizeselect'," .
a0109c 60                                     "theme_advanced_buttons3 : '' });");
4e17e6 61
T 62   if (!$IDENTITY_RECORD && $GLOBALS['_action']!='add-identity')
63     return rcube_label('notfound');
64
10a699 65   // add some labels to client
T 66   rcube_add_label('noemailwarning');
67   rcube_add_label('nonamewarning');
68
69
4e17e6 70   list($form_start, $form_end) = get_form_tags($attrib, 'save-identity', array('name' => '_iid', 'value' => $IDENTITY_RECORD['identity_id']));
T 71   unset($attrib['form']);
72
73
74   // list of available cols
75   $a_show_cols = array('name'         => array('type' => 'text'),
76                        'email'        => array('type' => 'text'),
77                        'organization' => array('type' => 'text'),
78                        'reply-to'     => array('type' => 'text', 'label' => 'replyto'),
79                        'bcc'          => array('type' => 'text'),
a0109c 80                        'signature'      => array('type' => 'textarea', 'size' => "40", 'rows' => "6"),
S 81                        'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail.toggle_editor(this, \'_signature\');'),
1cded8 82                        'standard'     => array('type' => 'checkbox', 'label' => 'setdefault'));
4e17e6 83
T 84
85   // a specific part is requested
86   if ($attrib['part'])
87     {
88     $colprop = $a_show_cols[$attrib['part']];
89     if (is_array($colprop))
90       {
91       $out = $form_start;
92       $out .= rcmail_get_edit_field($attrib['part'], $IDENTITY_RECORD[$attrib['part']], $attrib, $colprop['type']); 
93       return $out;
94       }
95     else
96       return '';
97     }
98
99
100   // return the complete edit form as table
101   $out = "$form_start<table>\n\n";
102
103   foreach ($a_show_cols as $col => $colprop)
104     {
105     $attrib['id'] = 'rcmfd_'.$col;
a0109c 106
S 107     if (strlen($colprop['onclick']))
108       $attrib['onclick'] = $colprop['onclick'];
109     else
110       unset($attrib['onclick']);
111
112     if ($col == 'signature')
113       {
114       $attrib['size'] = $colprop['size'];
115       $attrib['rows'] = $colprop['rows'];
116       $attrib['mce_editable'] = $IDENTITY_RECORD['html_signature'] ? "true" : "false";
117       }
118     else
119       {
120       unset($attrib['size']);
121       unset($attrib['rows']);
122       unset($attrib['mce_editable']);
123       }
124
4e17e6 125     $label = strlen($colprop['label']) ? $colprop['label'] : $col;
T 126     $value = rcmail_get_edit_field($col, $IDENTITY_RECORD[$col], $attrib, $colprop['type']);
127
128     $out .= sprintf("<tr><td class=\"title\"><label for=\"%s\">%s</label></td><td>%s</td></tr>\n",
129                     $attrib['id'],
1038d5 130                     rep_specialchars_output(rcube_label($label)),
4e17e6 131                     $value);
T 132     }
133
134   $out .= "\n</table>$form_end";
135
136   return $out;  
137   }
138
139
140
141 if ($_action=='add-identity' && template_exists('addidentity'))
142   parse_template('addidentity');
143
144 parse_template('editidentity');
5ec619 145 ?>