]> git.donarmstrong.com Git - roundcube.git/blob - program/steps/settings/edit_identity.inc
Imported Upstream version 0.1~beta2.2~dfsg
[roundcube.git] / program / steps / settings / edit_identity.inc
1 <?php
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                      |
9  | Licensed under the GNU GPL                                            |
10  |                                                                       |
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: edit_identity.inc 88 2005-12-03 16:54:12Z roundcube $
19
20 */
21
22 if (($_GET['_iid'] || $_POST['_iid']) && $_action=='edit-identity')
23   {
24   $id = $_POST['_iid'] ? $_POST['_iid'] : $_GET['_iid'];
25   $DB->query("SELECT * FROM ".get_table_name('identities')."
26               WHERE  identity_id=?
27               AND    user_id=?
28               AND    del<>1",
29               $id,
30               $_SESSION['user_id']);
31   
32   $IDENTITY_RECORD = $DB->fetch_assoc();
33   
34   if (is_array($IDENTITY_RECORD))
35     $OUTPUT->add_script(sprintf("%s.set_env('iid', '%s');", $JS_OBJECT_NAME, $IDENTITY_RECORD['identity_id']));
36     
37   $PAGE_TITLE = rcube_label('edititem');
38   }
39 else
40   $PAGE_TITLE = rcube_label('newitem');
41
42
43
44 function rcube_identity_form($attrib)
45   {
46   global $IDENTITY_RECORD, $JS_OBJECT_NAME;
47
48   if (!$IDENTITY_RECORD && $GLOBALS['_action']!='add-identity')
49     return rcube_label('notfound');
50
51   // add some labels to client
52   rcube_add_label('noemailwarning');
53   rcube_add_label('nonamewarning');
54
55
56   list($form_start, $form_end) = get_form_tags($attrib, 'save-identity', array('name' => '_iid', 'value' => $IDENTITY_RECORD['identity_id']));
57   unset($attrib['form']);
58
59
60   // list of available cols
61   $a_show_cols = array('name'         => array('type' => 'text'),
62                        'email'        => array('type' => 'text'),
63                        'organization' => array('type' => 'text'),
64                        'reply-to'     => array('type' => 'text', 'label' => 'replyto'),
65                        'bcc'          => array('type' => 'text'),
66                        'signature'        => array('type' => 'textarea'),
67                        'standard'     => array('type' => 'checkbox', 'label' => 'setdefault'));
68
69
70   // a specific part is requested
71   if ($attrib['part'])
72     {
73     $colprop = $a_show_cols[$attrib['part']];
74     if (is_array($colprop))
75       {
76       $out = $form_start;
77       $out .= rcmail_get_edit_field($attrib['part'], $IDENTITY_RECORD[$attrib['part']], $attrib, $colprop['type']); 
78       return $out;
79       }
80     else
81       return '';
82     }
83
84
85   // return the complete edit form as table
86   $out = "$form_start<table>\n\n";
87
88   foreach ($a_show_cols as $col => $colprop)
89     {
90     $attrib['id'] = 'rcmfd_'.$col;
91     $label = strlen($colprop['label']) ? $colprop['label'] : $col;
92     $value = rcmail_get_edit_field($col, $IDENTITY_RECORD[$col], $attrib, $colprop['type']);
93
94     $out .= sprintf("<tr><td class=\"title\"><label for=\"%s\">%s</label></td><td>%s</td></tr>\n",
95                     $attrib['id'],
96                     rep_specialchars_output(rcube_label($label)),
97                     $value);
98     }
99
100   $out .= "\n</table>$form_end";
101
102   return $out;  
103   }
104
105
106
107 if ($_action=='add-identity' && template_exists('addidentity'))
108   parse_template('addidentity');
109
110 parse_template('editidentity');
111 ?>