| | |
| | | <?php |
| | | |
| | | /* |
| | | /** |
| | | +-----------------------------------------------------------------------+ |
| | | | program/steps/settings/edit_prefs.inc | |
| | | | | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2005-2007, The Roundcube Dev Team | |
| | | | Copyright (C) 2005-2013, The Roundcube Dev Team | |
| | | | | |
| | | | Licensed under the GNU General Public License version 3 or | |
| | | | any later version with exceptions for skins & plugins. | |
| | |
| | | +-----------------------------------------------------------------------+ |
| | | */ |
| | | |
| | | if (!$OUTPUT->ajax_call) |
| | | $OUTPUT->set_pagetitle(rcube_label('preferences')); |
| | | |
| | | if (!$OUTPUT->ajax_call) { |
| | | $OUTPUT->set_pagetitle($RCMAIL->gettext('preferences')); |
| | | } |
| | | |
| | | $CURR_SECTION = get_input_value('_section', RCUBE_INPUT_GPC); |
| | | $CURR_SECTION = rcube_utils::get_input_value('_section', rcube_utils::INPUT_GPC); |
| | | list($SECTIONS,) = rcmail_user_prefs($CURR_SECTION); |
| | | |
| | | function rcmail_user_prefs_form($attrib) |
| | | { |
| | | global $RCMAIL, $CURR_SECTION, $SECTIONS; |
| | | |
| | | // add some labels to client |
| | | $RCMAIL->output->add_label('nopagesizewarning'); |
| | | |
| | | unset($attrib['form']); |
| | | |
| | | list($form_start, $form_end) = get_form_tags($attrib, 'save-prefs', null, |
| | | array('name' => '_section', 'value' => $CURR_SECTION)); |
| | | |
| | | $out = $form_start; |
| | | |
| | | foreach ($SECTIONS[$CURR_SECTION]['blocks'] as $idx => $block) { |
| | | if (!empty($block['options'])) { |
| | | $table = new html_table(array('cols' => 2)); |
| | | |
| | | foreach ($block['options'] as $option) { |
| | | if ($option['advanced']) |
| | | $table->set_row_attribs('advanced'); |
| | | |
| | | if (isset($option['title'])) { |
| | | $table->add('title', $option['title']); |
| | | $table->add(null, $option['content']); |
| | | } |
| | | else { |
| | | $table->add(array('colspan' => 2), $option['content']); |
| | | } |
| | | } |
| | | |
| | | $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $table->show($attrib)); |
| | | } |
| | | else if (!empty($block['content'])) { |
| | | $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $block['content']); |
| | | } |
| | | } |
| | | |
| | | return $out . $form_end; |
| | | } |
| | | |
| | | function rcmail_prefs_section_name() |
| | | { |
| | | global $SECTIONS, $CURR_SECTION; |
| | | |
| | | return $SECTIONS[$CURR_SECTION]['section']; |
| | | } |
| | | |
| | | |
| | | // register UI objects |
| | | $OUTPUT->add_handlers(array( |
| | | 'userprefs' => 'rcmail_user_prefs_form', |
| | | 'sectionname' => 'rcmail_prefs_section_name', |
| | | 'userprefs' => 'rcmail_user_prefs_form', |
| | | 'sectionname' => 'rcmail_prefs_section_name', |
| | | )); |
| | | |
| | | $OUTPUT->send('settingsedit'); |
| | | |
| | | |
| | | |
| | | function rcmail_user_prefs_form($attrib) |
| | | { |
| | | global $RCMAIL, $CURR_SECTION, $SECTIONS; |
| | | |
| | | // add some labels to client |
| | | $RCMAIL->output->add_label('nopagesizewarning'); |
| | | |
| | | unset($attrib['form']); |
| | | |
| | | list($form_start, $form_end) = get_form_tags($attrib, 'save-prefs', null, |
| | | array('name' => '_section', 'value' => $CURR_SECTION)); |
| | | |
| | | $out = $form_start; |
| | | |
| | | if(!empty($SECTIONS[$CURR_SECTION]['header'])) { |
| | | $out .= html::div(array('id' => 'preferences-header', 'class' =>'boxcontent'), $SECTIONS[$CURR_SECTION]['header']); |
| | | } |
| | | |
| | | foreach ($SECTIONS[$CURR_SECTION]['blocks'] as $class => $block) { |
| | | if (!empty($block['options'])) { |
| | | $table = new html_table(array('cols' => 2)); |
| | | |
| | | foreach ($block['options'] as $option) { |
| | | if (isset($option['title'])) { |
| | | $table->add('title', $option['title']); |
| | | $table->add(null, $option['content']); |
| | | } |
| | | else { |
| | | $table->add(array('colspan' => 2), $option['content']); |
| | | } |
| | | } |
| | | |
| | | $out .= html::tag('fieldset', $class, html::tag('legend', null, $block['name']) . $table->show($attrib)); |
| | | } |
| | | else if (!empty($block['content'])) { |
| | | $out .= html::tag('fieldset', null, html::tag('legend', null, $block['name']) . $block['content']); |
| | | } |
| | | } |
| | | |
| | | return $out . $form_end; |
| | | } |
| | | |
| | | function rcmail_prefs_section_name() |
| | | { |
| | | global $SECTIONS, $CURR_SECTION; |
| | | |
| | | return $SECTIONS[$CURR_SECTION]['section']; |
| | | } |