| +-----------------------------------------------------------------------+ */ if (!$OUTPUT->ajax_call) { $OUTPUT->set_pagetitle($RCMAIL->gettext('preferences')); } // register UI objects $OUTPUT->add_handlers(array( 'settingstabs' => 'rcmail_settings_tabs', 'prefsframe' => 'rcmail_preferences_frame', 'sectionslist' => 'rcmail_sections_list', 'identitieslist' => 'rcmail_identities_list', )); // register action aliases $RCMAIL->register_action_map(array( 'folders' => 'folders.inc', 'rename-folder' => 'folders.inc', 'delete-folder' => 'folders.inc', 'subscribe' => 'folders.inc', 'unsubscribe' => 'folders.inc', 'purge' => 'folders.inc', 'folder-size' => 'folders.inc', 'add-identity' => 'edit_identity.inc', 'add-response' => 'edit_response.inc', 'save-response' => 'edit_response.inc', 'delete-response' => 'responses.inc', 'delete-identity' => 'identities.inc', 'upload-display' => 'upload.inc', )); // similar function as /steps/settings/identities.inc::rcmail_identity_frame() function rcmail_preferences_frame($attrib) { global $OUTPUT; if (!$attrib['id']) { $attrib['id'] = 'rcmprefsframe'; } return $OUTPUT->frame($attrib, true); } function rcmail_sections_list($attrib) { global $RCMAIL; // add id to message list table if not specified if (!strlen($attrib['id'])) { $attrib['id'] = 'rcmsectionslist'; } list($list, $cols) = rcmail_user_prefs(); // create XHTML table $out = $RCMAIL->table_output($attrib, $list, $cols, 'id'); // set client env $RCMAIL->output->add_gui_object('sectionslist', $attrib['id']); $RCMAIL->output->include_script('list.js'); return $out; } function rcmail_identities_list($attrib) { global $OUTPUT, $RCMAIL; // add id to message list table if not specified if (!strlen($attrib['id'])) { $attrib['id'] = 'rcmIdentitiesList'; } // get identities list and define 'mail' column $list = $RCMAIL->user->list_emails(); foreach ($list as $idx => $row) { $list[$idx]['mail'] = trim($row['name'] . ' <' . rcube_utils::idn_to_utf8($row['email']) . '>'); } // get all identites from DB and define list of cols to be displayed $plugin = $RCMAIL->plugins->exec_hook('identities_list', array( 'list' => $list, 'cols' => array('mail') )); // @TODO: use