comparison program/steps/settings/edit_prefs.inc @ 0:4681f974d28b

vanilla 1.3.3 distro, I hope
author Charlie Root
date Thu, 04 Jan 2018 15:52:31 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4681f974d28b
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 }