0
|
1 <?php
|
|
2
|
|
3 /**
|
|
4 +-----------------------------------------------------------------------+
|
|
5 | program/steps/settings/edit_prefs.inc |
|
|
6 | |
|
|
7 | This file is part of the Roundcube Webmail client |
|
|
8 | Copyright (C) 2005-2013, The Roundcube Dev Team |
|
|
9 | |
|
|
10 | Licensed under the GNU General Public License version 3 or |
|
|
11 | any later version with exceptions for skins & plugins. |
|
|
12 | See the README file for a full license statement. |
|
|
13 | |
|
|
14 | PURPOSE: |
|
|
15 | Provide functionality for user's settings & preferences |
|
|
16 | |
|
|
17 +-----------------------------------------------------------------------+
|
|
18 | Author: Thomas Bruederli <roundcube@gmail.com> |
|
|
19 +-----------------------------------------------------------------------+
|
|
20 */
|
|
21
|
|
22
|
|
23 if (!$OUTPUT->ajax_call) {
|
|
24 $OUTPUT->set_pagetitle($RCMAIL->gettext('preferences'));
|
|
25 }
|
|
26
|
|
27 $CURR_SECTION = rcube_utils::get_input_value('_section', rcube_utils::INPUT_GPC);
|
|
28 list($SECTIONS,) = rcmail_user_prefs($CURR_SECTION);
|
|
29
|
|
30 // register UI objects
|
|
31 $OUTPUT->add_handlers(array(
|
|
32 'userprefs' => 'rcmail_user_prefs_form',
|
|
33 'sectionname' => 'rcmail_prefs_section_name',
|
|
34 ));
|
|
35
|
|
36 $OUTPUT->send('settingsedit');
|
|
37
|
|
38
|
|
39
|
|
40 function rcmail_user_prefs_form($attrib)
|
|
41 {
|
|
42 global $RCMAIL, $CURR_SECTION, $SECTIONS;
|
|
43
|
|
44 // add some labels to client
|
|
45 $RCMAIL->output->add_label('nopagesizewarning');
|
|
46
|
|
47 unset($attrib['form']);
|
|
48
|
|
49 list($form_start, $form_end) = get_form_tags($attrib, 'save-prefs', null,
|
|
50 array('name' => '_section', 'value' => $CURR_SECTION));
|
|
51
|
|
52 $out = $form_start;
|
|
53
|
|
54 if(!empty($SECTIONS[$CURR_SECTION]['header'])) {
|
|
55 $out .= html::div(array('id' => 'preferences-header', 'class' =>'boxcontent'), $SECTIONS[$CURR_SECTION]['header']);
|
|
56 }
|
|
57
|
|
58 foreach ($SECTIONS[$CURR_SECTION]['blocks'] as $class => $block) {
|
|
59 if (!empty($block['options'])) {
|
|
60 $table = new html_table(array('cols' => 2));
|
|
61
|
|
62 foreach ($block['options'] as $option) {
|
|
63 if (isset($option['title'])) {
|
|
64 $table->add('title', $option['title']);
|
|
65 $table->add(null, $option['content']);
|
|
66 }
|
|
67 else {
|
|
68 $table->add(array('colspan' => 2), $option['content']);
|
|
69 }
|
|
70 }
|
|
71
|
|
72 $out .= html::tag('fieldset', $class, html::tag('legend', null, $block['name']) . $table->show($attrib));
|
|
73 }
|
|
74 else if (!empty($block['content'])) {
|
|
75 $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $block['content']);
|
|
76 }
|
|
77 }
|
|
78
|
|
79 return $out . $form_end;
|
|
80 }
|
|
81
|
|
82 function rcmail_prefs_section_name()
|
|
83 {
|
|
84 global $SECTIONS, $CURR_SECTION;
|
|
85
|
|
86 return $SECTIONS[$CURR_SECTION]['section'];
|
|
87 }
|