function gen_form() { $user = $this->rcmail_inst->user->get_prefs(); $this->rcmail_inst->output->add_label('ispconfig3_forward.invalidaddress', 'ispconfig3_forward.forwardingempty'); try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $this->soap->logout($session_id); } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } $this->rcmail_inst->output->set_env('framed', TRUE); $out .= '<fieldset><legend>' . $this->gettext('acc_forward') . '</legend>' . "\n"; $table = new html_table(array('cols' => 2, 'class' => 'propform')); $input_forwardingaddress = new html_inputfield(array('name' => '_forwardingaddress', 'id' => 'forwardingaddress', 'value' => $forward[1], 'maxlength' => 320, 'size' => 40)); $table->add('title', rep_specialchars_output($this->gettext('forwardingaddress'))); $table->add('', $input_forwardingaddress->show($mail_user[0]['cc'])); $out .= $table->show(); $out .= "</fieldset>\n"; return $out; }
function gen_table($attrib) { $this->rcmail_inst->output->set_env('framed', true); $out = '<fieldset><legend>' . $this->gettext('policy_entries') . '</legend>' . "\n"; $spam_table = new html_table(array('id' => 'spam-table', 'class' => 'records-table', 'cellspacing' => '0', 'cols' => 4)); $spam_table->add_header(array('width' => '220px'), $this->gettext('policy_entries')); $spam_table->add_header(array('class' => 'value', 'width' => '150px'), $this->gettext('policy_tag')); $spam_table->add_header(array('class' => 'value', 'width' => '150px'), $this->gettext('policy_tag2')); $spam_table->add_header(array('class' => 'value', 'width' => '130px'), $this->gettext('policy_kill')); try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $spam_user = $this->soap->mail_spamfilter_user_get($session_id, array('email' => $mail_user[0]['email'])); $policies = $this->soap->mail_policy_get($session_id, array(1 => 1)); for ($i = 0; $i < count($policies); $i++) { $class = $class == 'odd' ? 'even' : 'odd'; if ($policies[$i]['id'] == $spam_user[0]['policy_id']) { $class = 'selected'; } $spam_table->set_row_attribs(array('class' => $class)); $this->_spam_row($spam_table, $policies[$i]['policy_name'], $policies[$i]['spam_tag_level'], $policies[$i]['spam_tag2_level'], $policies[$i]['spam_kill_level'], $attrib); } $this->soap->logout($session_id); } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } if (count($policies) == 0) { $spam_table->add(array('colspan' => '4'), rep_specialchars_output($this->gettext('spamnopolicies'))); $spam_table->set_row_attribs(array('class' => 'odd')); $spam_table->add_row(); } $out .= "<div id=\"spam-cont\">" . $spam_table->show() . "</div>\n"; $out .= "</fieldset>\n"; return $out; }
function gen_table($attrib) { $this->rcmail_inst->output->set_env('framed', true); $out = '<fieldset><legend>' . $this->gettext('forward_entries') . '</legend>' . "\n"; $rule_table = new html_table(array('id' => 'rule-table', 'class' => 'records-table', 'cellspacing' => '0', 'cols' => 2)); $rule_table->add_header("", $this->gettext('forward_entries')); $rule_table->add_header(array('width' => '16px'), ''); try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $this->soap->logout($session_id); $forward = explode(",", $mail_user[0]['cc']); if (!empty($forward[0])) { for ($i = 0; $i < count($forward); $i++) { $class = $class == 'odd' ? 'even' : 'odd'; if ($forward[$i] == get_input_value('_forwardingaddress', RCUBE_INPUT_GET)) { $class = 'selected'; } $rule_table->set_row_attribs(array('class' => $class, 'id' => 'rule_' . $forward[$i])); $this->_rule_row($rule_table, $forward[$i], $attrib); } } else { $rule_table->add(array('colspan' => '2'), rep_specialchars_output($this->gettext('forwardnomails'))); $rule_table->set_row_attribs(array('class' => 'odd')); $rule_table->add_row(); } } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } $out .= "<div id=\"rule-cont\">" . $rule_table->show() . "</div>\n"; $out .= "</fieldset>\n"; return $out; }
function accounts_form_content($email = "", $username = "", $password = "", $server = "", $port = "", $useSSL = 'none', $leave_a_copy = true, $provider = "", $default_folder = "", $show_import_old_messages_option = true) { $rcmail = rcmail::get_instance(); $this->include_script('pop3fetcher_providers.js'); // allow the following attributes to be added to the <table> tag $attrib_str = create_attrib_string($attrib, array('style', 'class', 'id', 'cellpadding', 'cellspacing', 'border', 'summary')); // return the complete edit form as table $user = $rcmail->user->data['username']; if ($_SESSION['global_alias']) { $user = $_SESSION['global_alias']; } if ($email != "") { $out .= '<fieldset><legend>' . $email . ' ::: ' . $user . '</legend>' . "\n"; } else { $out .= '<fieldset>' . "\n"; } $out .= '<br />' . "\n"; $out .= '<table' . $attrib_str . ">\n"; //<script type=\"text/javascript\">console.log(providers['gmail.com']);</script> $field_id = 'pop3fetcher_email'; $input_pop3fetcher_email = new html_inputfield(array('autocomplete' => 'off', 'name' => '_pop3fetcher_email', 'id' => $field_id, 'size' => 30)); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_email')), $input_pop3fetcher_email->show($email)); $field_id = 'pop3fetcher_username'; $input_pop3fetcher_username = new html_inputfield(array('autocomplete' => 'off', 'name' => '_pop3fetcher_username', 'id' => $field_id, 'size' => 30)); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_username')), $input_pop3fetcher_username->show($username)); $field_id = 'pop3fetcher_password'; $input_pop3fetcher_password = new html_passwordfield(array('autocomplete' => 'off', 'name' => '_pop3fetcher_password', 'id' => $field_id, 'size' => 30)); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_password')), $input_pop3fetcher_password->show($password)); $field_id = 'pop3fetcher_provider'; $input_pop3fetcher_provider = new html_select(array('name' => '_pop3fetcher_provider', 'id' => $field_id)); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_provider')), $input_pop3fetcher_provider->show()); $field_id = 'pop3fetcher_serveraddress'; $input_pop3fetcher_serveraddress = new html_inputfield(array('autocomplete' => 'off', 'name' => '_pop3fetcher_serveraddress', 'id' => $field_id, 'size' => 30)); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_serveraddress')), $input_pop3fetcher_serveraddress->show($server)); $field_id = 'pop3fetcher_serverport'; $input_pop3fetcher_serverport = new html_inputfield(array('autocomplete' => 'off', 'name' => '_pop3fetcher_serverport', 'id' => $field_id, 'size' => 10)); $field_id2 = 'pop3fetcher_ssl'; $input_pop3fetcher_ssl = new html_select(array('name' => '_pop3fetcher_ssl', 'id' => $field_id2)); $input_pop3fetcher_ssl->add('none', ''); $input_pop3fetcher_ssl->add('tls', 'tls'); $input_pop3fetcher_ssl->add('ssl', 'ssl'); $input_pop3fetcher_ssl->add('sslv2', 'sslv2'); $input_pop3fetcher_ssl->add('sslv3', 'sslv3'); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td>%s</td><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td>%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_serverport')), $input_pop3fetcher_serverport->show($port), $field_id2, rep_specialchars_output($this->gettext('account_usessl')), $input_pop3fetcher_ssl->show($useSSL)); $field_id = 'pop3fetcher_leaveacopy'; $input_pop3fetcher_leaveacopy = new html_checkbox(array('name' => '_pop3fetcher_leaveacopy', 'id' => $field_id)); $out .= sprintf("<tr><td valign=\"middle\" colspan=\"3\" class=\"title\"><label for=\"%s\">%s</label>:</td><td>%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_leaveacopy')), $input_pop3fetcher_leaveacopy->show($leave_a_copy ? false : true)); // QUESTA COSA E' STRANA MA FUNZIONA... // SET TARGET DEFAULT FOLDER $field_id = 'pop3fetcher_defaultfolder'; $this->rcmail->imap_connect(); // get mailbox list $a_folders = $rcmail->imap->list_folders(); $delimiter = $rcmail->imap->get_hierarchy_delimiter(); $a_mailboxes = array(); $custom_folder_name = $this->config["root_folder_path"] . $delimiter . str_replace($delimiter, "_", $email); $found = false; foreach ($a_folders as $ifolder) { if ($ifolder == $custom_folder_name) { $found = true; } rcmail_build_folder_tree($a_mailboxes, $ifolder, $delimiter); } $input_folderlist = new html_select(array('name' => '_pop3fetcher_defaultfolder', 'id' => $field_id)); rcmail_render_folder_tree_select($a_mailboxes, $field_id, 100, $input_folderlist, false); if (!$found && $default_folder != "" && $default_folder != $custom_folder_name) { $input_folderlist->add(str_replace($delimiter, "_", $email), "#AUTO_FOLDER#"); } //$input_folderlist->add('create new folder', 'create_new_folder'); $out .= sprintf("<tr><td valign=\"middle\" class=\"title\"><label for=\"%s\">%s</label>:</td><td colspan=\"3\">%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_default_folder')), $input_folderlist->show($default_folder)); $field_id = 'pop3fetcher_testconnection'; $input_pop3fetcher_testconnection = new html_checkbox(array('name' => '_pop3fetcher_testconnection', 'id' => $field_id)); $out .= sprintf("<tr><td valign=\"middle\" colspan=\"3\" class=\"title\"><label for=\"%s\">%s</label>:</td><td>%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('test_connection_on_save')), $input_pop3fetcher_testconnection->show(false)); // QUESTA COSA E' STRANA MA FUNZIONA... if ($show_import_old_messages_option) { $field_id = 'pop3fetcher_import_old_messages'; $input_pop3fetcher_import_old_messages = new html_checkbox(array('name' => '_pop3fetcher_import_old_messages', 'id' => $field_id)); $out .= sprintf("<tr><td valign=\"middle\" colspan=\"3\" class=\"title\"><label for=\"%s\">%s</label>:</td><td>%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('account_import_old_messages')), $input_pop3fetcher_import_old_messages->show(true)); // QUESTA COSA E' STRANA MA FUNZIONA... } $out .= "\n</table>"; $out .= '<br />' . "\n"; $out .= "</fieldset>\n"; $out .= "<script type='text/javascript'>\n\t\t\t\tvar delimiter = '" . $delimiter . "';\n\t\t\t\tvar root_folder_path = '" . $this->config["root_folder_path"] . "';\n\t\t\t\tload_pop3_providers('" . $provider . "');\n\t\t\t\t\$('#pop3fetcher_email').keyup(\n\t\t\t\t\tfunction(){update_default_folder_name(\$(this).val());}\n\t\t\t\t);\n\t\t\t</script>"; return $out; }
function gen_table($attrib) { $this->rcmail_inst->output->set_env('framed', TRUE); $out = '<fieldset><legend>' . $this->gettext('wblistentries') . '</legend>' . "\n"; $rule_table = new html_table(array('id' => 'rule-table', 'class' => 'records-table', 'cellspacing' => '0', 'cols' => 4)); $rule_table->add_header("", $this->gettext('wblistentries')); $rule_table->add_header(array('width' => '16px'), ''); $rule_table->add_header(array('width' => '20px'), ''); $rule_table->add_header(array('width' => '16px'), ''); try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $spam_user = $this->soap->mail_spamfilter_user_get($session_id, array('email' => $mail_user[0]['email'])); $wblist = $this->soap->mail_spamfilter_whitelist_get($session_id, array('rid' => $spam_user[0]['id'])); //$blist = $this->soap->mail_spamfilter_blacklist_get($session_id, array('rid' => $spam_user[0]['id'])); //$wblist = array_merge($wlist, $blist); $this->soap->logout($session_id); for ($i = 0; $i < count($wblist); $i++) { $class = $class == 'odd' ? 'even' : 'odd'; if ($wblist[$i]['wblist_id'] == get_input_value('_id', RCUBE_INPUT_GET)) { $class = 'selected'; } $rule_table->set_row_attribs(array('class' => $class, 'id' => 'rule_' . $wblist[$i]['wblist_id'])); $this->_rule_row($rule_table, $wblist[$i]['email'], $wblist[$i]['wb'], $wblist[$i]['active'], $wblist[$i]['wblist_id'], $attrib); } } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } if (count($wblist) == 0) { $rule_table->add(array('colspan' => '4'), rep_specialchars_output($this->gettext('wblistnorules'))); $rule_table->set_row_attribs(array('class' => 'odd')); $rule_table->add_row(); } $out .= "<div id=\"rule-cont\">" . $rule_table->show() . "</div>\n"; $out .= "</fieldset>\n"; return $out; }
private function _address_row($address_table, $field, $value, $attrib) { if (!isset($field)) { $address_table->set_row_attribs(array('style' => 'display: none;')); } $hidden_action = new html_hiddenfield(array('name' => '_headerblock_rule_act[]', 'value' => '')); $hidden_field = new html_hiddenfield(array('name' => '_headerblock_rule_field[]', 'value' => $field)); $hidden_text = new html_hiddenfield(array('name' => '_headerblock_rule_value[]', 'value' => $value)); switch ($field) { case "From": $fieldtxt = rep_specialchars_output($this->gettext('headerfrom')); break; case "To": $fieldtxt = rep_specialchars_output($this->gettext('headerto')); break; case "Subject": $fieldtxt = rep_specialchars_output($this->gettext('headersubject')); break; case "X-Mailer": $fieldtxt = rep_specialchars_output($this->gettext('headerxmailer')); break; } $address_table->add(array('class' => 'field'), $fieldtxt); $address_table->add(array('class' => 'email'), $value); $del_button = $this->api->output->button(array('command' => 'plugin.veximaccountadmin.addressrule_del', 'type' => 'image', 'image' => 'plugins/veximaccountadmin/delete.png', 'alt' => 'delete', 'title' => 'delete')); $address_table->add('control', ' ' . $del_button . $hidden_action->show() . $hidden_field->show() . $hidden_text->show()); return $address_table; }
function gen_form() { $confirm = $this->rcmail_inst->config->get('password_confirm_current'); $pwl = $this->rcmail_inst->config->get('password_min_length'); if (!empty($pwl)) { $pwl = max(6, $pwl); } else { $pwl = 6; } $this->rcmail_inst->output->add_label('ispconfig3_pass.nopassword', 'ispconfig3_pass.nocurpassword', 'ispconfig3_pass.passwordinconsistency', 'ispconfig3_pass.changepasswd', 'ispconfig3_pass.passwordminlength'); $this->rcmail_inst->output->add_script('var pw_min_length =' . $pwl . ';'); $this->rcmail_inst->output->set_env('framed', TRUE); $out .= '<fieldset><legend>' . $this->gettext('password') . '</legend>' . "\n"; $table = new html_table(array('cols' => 2, 'class' => 'propform')); if ($confirm) { $input_newpasswd = new html_passwordfield(array('name' => '_curpasswd', 'id' => 'curpasswd', 'size' => 20)); $table->add('title', rep_specialchars_output($this->gettext('curpasswd'))); $table->add('', $input_newpasswd->show()); } $input_newpasswd = new html_passwordfield(array('name' => '_newpasswd', 'id' => 'newpasswd', 'size' => 20)); $table->add('title', rep_specialchars_output($this->gettext('newpasswd'))); $table->add('', $input_newpasswd->show() . '<div id="pass-check">'); $input_confpasswd = new html_passwordfield(array('name' => '_confpasswd', 'id' => 'confpasswd', 'size' => 20)); $table->add('title', rep_specialchars_output($this->gettext('confpasswd'))); $table->add('', $input_confpasswd->show()); $out .= $table->show(); $out .= "</fieldset>\n"; return $out; }
function gen_js_list() { $this->_startup(); if (sizeof($this->script) == 0) { $this->api->output->command('sieverules_update_list', 'add-first', -1, rep_specialchars_output($this->gettext('nosieverules'))); } else { foreach ($this->script as $idx => $filter) { if ($filter['disabled'] == 1) { $filter_name = $filter['name'] . ' (' . $this->gettext('disabled') . ')'; } else { $filter_name = $filter['name']; } $tmp_output = new rcube_template('settings'); $dst = $idx - 1; $up_link = $tmp_output->button(array('command' => 'plugin.sieverules.move', 'prop' => $dst, 'type' => 'link', 'class' => 'up_arrow', 'title' => 'sieverules.moveup', 'content' => ' ')); $up_link = str_replace("'", "\\'", $up_link); $dst = $idx + 2; $down_link = $tmp_output->button(array('command' => 'plugin.sieverules.move', 'prop' => $dst, 'type' => 'link', 'class' => 'down_arrow', 'title' => 'sieverules.movedown', 'content' => ' ')); $down_link = str_replace("'", "\\'", $down_link); $this->api->output->command('sieverules_update_list', $idx == 0 ? 'add-first' : 'add', 'rcmrow' . $idx, Q($filter_name), $down_link, $up_link); } } $this->api->output->send(); }
function gen_table($attrib) { $this->rcmail_inst->output->set_env('framed', true); $out = '<fieldset><legend>' . $this->gettext('fetchmail_entries') . '</legend>' . "\n"; $fetch_table = new html_table(array('id' => 'fetch-table', 'class' => 'records-table', 'cellspacing' => '0', 'cols' => 3)); $fetch_table->add_header("", $this->gettext('fetchmailserver')); $fetch_table->add_header(array('width' => '20px'), ''); $fetch_table->add_header(array('width' => '16px'), ''); try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $fetchmail = $this->soap->mail_fetchmail_get($session_id, array('destination' => $mail_user[0]['email'])); $this->soap->logout($session_id); for ($i = 0; $i < count($fetchmail); $i++) { $class = $class == 'odd' ? 'even' : 'odd'; if ($fetchmail[$i]['mailget_id'] == get_input_value('_id', RCUBE_INPUT_GET)) { $class = 'selected'; } $fetch_table->set_row_attribs(array('class' => $class, 'id' => 'fetch_' . $fetchmail[$i]['mailget_id'])); $this->_fetch_row($fetch_table, $fetchmail[$i]['source_username'] . '@' . $fetchmail[$i]['source_server'], $fetchmail[$i]['active'], $fetchmail[$i]['mailget_id'], $attrib); } } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } if (count($fetchmail) == 0) { $fetch_table->add(array('colspan' => '3'), rep_specialchars_output($this->gettext('nofetch'))); $fetch_table->set_row_attribs(array('class' => 'odd')); $fetch_table->add_row(); } $out .= "<div id=\"fetch-cont\">" . $fetch_table->show() . "</div>\n"; $out .= "</fieldset>\n"; return $out; }
private function _address_row($address_table, $field, $value, $attrib) { if (!isset($field)) { $address_table->set_row_attribs(array('style' => 'display: none;')); } $hidden_action = new html_hiddenfield(array('name' => '_address_rule_act[]', 'value' => '')); $hidden_field = new html_hiddenfield(array('name' => '_address_rule_field[]', 'value' => $field)); $hidden_text = new html_hiddenfield(array('name' => '_address_rule_value[]', 'value' => $value)); switch ($field) { case "whitelist_from": $fieldtxt = rep_specialchars_output($this->gettext('whitelist_from')); break; case "blacklist_from": $fieldtxt = rep_specialchars_output($this->gettext('blacklist_from')); break; case "whitelist_to": $fieldtxt = rep_specialchars_output($this->gettext('whitelist_to')); break; } $address_table->add(array('class' => $field), $fieldtxt); $address_table->add(array('class' => 'email'), $value); $del_button = $this->api->output->button(array('command' => 'plugin.sauserprefs.addressrule_del', 'type' => 'link', 'class' => 'delete', 'label' => 'delete', 'content' => ' ')); $address_table->add('control', $del_button . $hidden_action->show() . $hidden_field->show() . $hidden_text->show()); return $address_table; }
/** * Generate the html of the account lists * @param type $attrib * @return type */ function show_accounts_list($attrib) { $table = new html_table(array('id' => 'fetchmail-rc-table', 'class' => 'records-table', 'cellspacing' => '0', 'cols' => 1)); $table->add_header(array('colspan' => 2), $this->gettext('accounts')); $accounts_list = $this->accounts_get_sorted_list(); if (count($accounts_list) == 0) { $table->add(array('colspan' => '2'), rep_specialchars_output($this->gettext('noaccounts'))); } else { foreach ($accounts_list as $account) { $idx = $account['fetchmail_rc_id']; $table->set_row_attribs(array('id' => 'rcmrow' . $idx)); if ($account['mail_enabled'] == 0) { $table->add(null, Q($account['mail_host']) . ' (' . $this->gettext('disabled') . ')'); } else { $table->add(null, Q($account['mail_host']) . ($account['count_error'] > 0 ? ' (' . $this->gettext('short_mail_error') . ')' : '')); } } } return html::tag('div', array('id' => 'fetchmail_rc-list-filters'), $table->show($attrib)); }
function vboxadm_form() { $rcmail = rcmail::get_instance(); $this->_load_config(); // add labels to client - to be used in JS alerts $rcmail->output->add_label('vboxadm.enterallpassfields', 'vboxadm.passwordinconsistency', 'vboxadm.autoresponderlong', 'vboxadm.autoresponderlongnum', 'vboxadm.autoresponderlongmax'); $rcmail->output->set_env('product_name', $rcmail->config->get('product_name')); $settings = $this->_get_configuration(); $sa_active = $settings['sa_active']; $sa_kill_score = $settings['sa_kill_score']; $is_on_vacation = $settings['is_on_vacation']; $vacation_subj = $settings['vacation_subj']; $vacation_msg = $settings['vacation_msg']; $vacation_start = $settings['vacation_start']; $vacation_end = $settings['vacation_end']; $max_msg_size_mb = $settings['max_msg_size'] / (1024 * 1024); $user_id = $settings['id']; $domain_id = $settings['domain_id']; $alias_active = $settings['alias_active']; $alias_goto = $settings['alias_goto']; $domain_settings = $this->_get_domain_configuration($domain_id); $active_domain = $domain_settings['name']; $rcmail->output->set_env('vacation_maxlength', $this->config['vboxadm_vacation_maxlength']); $out .= '<p class="introtext">' . $this->gettext('introtext') . '</p>' . "\n"; if ($this->config['show_admin_link'] == true && ($settings['is_domainadmin'] == true || $settings['is_siteadmin'])) { $out .= '<p class="adminlink">'; $out .= sprintf($this->gettext('adminlinktext'), '<a href="' . $this->config['vboxadm_url'] . '" target="_blank">', '</a>'); $out .= "</p>\n"; } // ===================================================================================================== // SpamAssassin $out .= '<fieldset><legend>' . $this->gettext('spam') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'sa_active'; $input_spamenabled = new html_checkbox(array('name' => 'sa_active', 'id' => $field_id, 'value' => 1)); // $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td>\n", $field_id, rep_specialchars_output($this->gettext('spamenabled')), $input_spamenabled->show($sa_active ? 1 : 0), '<br /><span class="vboxadm-explanation">' . $this->gettext('spamenabledexplanation') . '</span>'); $field_id = 'sa_kill_score'; $input_spamscorerefuse = new html_inputfield(array('name' => 'sa_kill_score', 'id' => $field_id, 'maxlength' => 8, 'size' => 8)); // $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $out .= sprintf("<th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('spamscorerefuse')), $input_spamscorerefuse->show($sa_kill_score), '<br /><span class="vboxadm-explanation">' . $this->gettext('spamscorerefuseexplanation') . '. <span class="sameline">' . $this->gettext('domaindefault') . ': ' . $default_sa_refuse . '.</span></span>'); $out .= '</table>'; $out .= '</div></fieldset>' . "\n\n"; // ===================================================================================================== // Autoresponder $out .= '<fieldset><legend>' . $this->gettext('autoresponder') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<table><tr><td>'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'is_on_vacation'; $input_autoresponderenabled = new html_checkbox(array('name' => 'is_on_vacation', 'id' => $field_id, 'value' => 1)); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('autoresponderenabled')), $input_autoresponderenabled->show($is_on_vacation ? 1 : 0), ''); $field_id = 'vacation_start'; $input_vacation_start = new html_inputfield(array('name' => 'vacation_start', 'id' => $field_id, 'maxlength' => 10, 'class' => 'text-long')); if ($vacation_start == '0000-00-00') { $vacation_start = ''; } else { $vacation_start = preg_replace('/^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/', '$3.$2.$1', $vacation_start); } $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('autoresponderstartdate')), $input_vacation_start->show($vacation_start), ''); $field_id = 'vacation_end'; $input_vacation_end = new html_inputfield(array('name' => 'vacation_end', 'id' => $field_id, 'maxlength' => 10, 'class' => 'text-long')); if ($vacation_end == '0000-00-00') { $vacation_end = ''; } else { $vacation_end = preg_replace('/^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/', '$3.$2.$1', $vacation_end); } $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('autoresponderenddate')), $input_vacation_end->show($vacation_end), ''); $field_id = 'vacation_subj'; $input_vacation_subj = new html_inputfield(array('name' => 'vacation_subj', 'id' => $field_id, 'maxlength' => 255, 'class' => 'text-long')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('autorespondersubject')), $input_vacation_subj->show($vacation_subj), '<br /><span class="vboxadm-explanation">' . $this->gettext('autorespondersubjectexplanation') . '.</span>'); $out .= '</table></td>'; $out .= '<td><table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'vacation_msg'; $input_vacation_msg = new html_textarea(array('name' => 'vacation_msg', 'id' => $field_id, 'class' => 'textarea')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('autorespondermessage')), $input_vacation_msg->show($vacation_msg), '<br /><span class="vboxadm-explanation">' . $this->gettext('autorespondermessageexplanation') . '</span>'); $out .= '</table></td></tr></table>'; $out .= '</div></fieldset>' . "\n\n"; // ============================================================ // Parameters $out .= '<table><tr><td>'; $out .= '<fieldset><legend>' . $this->gettext('parameters') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'max_msg_size'; $input_messagesize = new html_inputfield(array('name' => 'max_msg_size', 'id' => $field_id, 'maxlength' => 16, 'class' => 'text-long')); if ($default_maxmsgsize == 0) { $default_maxmsgsize = $this->gettext('unlimited'); } else { $default_maxmsgsize = $default_maxmsgsize . ' MB'; } $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('messagesize')), $input_messagesize->show($max_msg_size_mb), '<br /><span class="vboxadm-explanation">' . str_replace('%d', $active_domain, str_replace('%m', $default_maxmsgsize, $this->gettext('messagesizeexplanation'))) . '</span>'); $out .= '</table>'; $out .= '</div></fieldset>' . "\n\n"; // ============================================================ // Aliases if ($this->config['user_managed_aliases']) { // user can edit aliases for his mail address $out .= '<fieldset><legend>' . $this->gettext('aliases') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<span class="vboxadm-explanation">' . $this->gettext('aliasesexplanation') . '</span>'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'alias_active'; $input_alias_active = new html_checkbox(array('name' => 'alias_active', 'id' => $field_id, 'value' => 1)); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('aliasesenabled')), $input_alias_active->show($alias_active ? 1 : 0), ''); $field_id = 'alias_goto'; $input_alias_goto = new html_inputfield(array('name' => 'alias_goto', 'id' => $field_id, 'maxlength' => 255, 'class' => 'text-long')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('aliasaddresses')), $input_alias_goto->show($alias_goto), ''); $out .= '</table>'; $out .= '</div></fieldset>' . "\n\n"; } // ============================================================ $out .= '</td><td>'; // ===================================================================================================== // Password change $out .= '<fieldset><legend>' . $this->gettext('passwordchange') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<p>' . $this->gettext('passwordcurrentexplanation') . '</p>'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'newpasswd'; $input_passwordnew = new html_passwordfield(array('name' => '_newpasswd', 'id' => $field_id, 'class' => 'text-long', 'autocomplete' => 'off')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('passwordnew')), $input_passwordnew->show(), ''); $field_id = 'confpasswd'; $input_passwordconf = new html_passwordfield(array('name' => '_confpasswd', 'id' => $field_id, 'class' => 'text-long', 'autocomplete' => 'off')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('passwordconfirm')), $input_passwordconf->show(), ''); $out .= '</table>'; $out .= '</div></fieldset>' . "\n\n"; // ============================================================ $out .= '</td></tr></table>'; // ===================================================================================================== // Password $out .= '<fieldset><legend>' . $this->gettext('password') . '</legend>' . "\n"; $out .= '<div class="fieldset-content">'; $out .= '<p>' . $this->gettext('passwordexplanation') . '</p>'; $out .= '<table class="vboxadm-settings" cellpadding="0" cellspacing="0">'; $field_id = 'curpasswd'; $input_passwordcurrent = new html_passwordfield(array('name' => '_curpasswd', 'id' => $field_id, 'class' => 'text-long', 'autocomplete' => 'off')); $out .= sprintf("<tr><th><label for=\"%s\">%s</label>:</th><td>%s%s</td></tr>\n", $field_id, rep_specialchars_output($this->gettext('passwordcurrent')), $input_passwordcurrent->show(), ''); $out .= '</table>'; $out .= '</div></fieldset>' . "\n\n"; // ============================================================ $out .= html::p(null, $rcmail->output->button(array('command' => 'plugin.vboxadm-save', 'type' => 'input', 'class' => 'button mainaction', 'label' => 'save'))); $rcmail->output->add_gui_object('vboxadmform', 'vboxadmform'); $out = $rcmail->output->form_tag(array('id' => 'vboxadmform', 'class' => 'scroller', 'name' => 'vboxadmform', 'method' => 'post', 'action' => './?_task=settings&_action=plugin.vboxadm-save'), $out); $out = html::div(array('class' => 'settingsbox', 'style' => 'margin:0 0 15px 0;'), html::div(array('class' => 'boxtitle'), $this->gettext('accountadministration')) . html::div(array('style' => 'padding:15px'), $outtop . "\n" . $out . "\n" . $outbottom)); return $out; }
function pfadmin_autoresponder_form() { $rcmail = rcmail::get_instance(); // add some labels to client $rcmail->output->add_label('pfadmin_autoresponder.autoresponder', 'pfadmin_autoresponder.dateformatinconsistency', 'pfadmin_autoresponder.dateformat', 'pfadmin_autoresponder.entervalidmonth', 'pfadmin_autoresponder.entervalidday', 'pfadmin_autoresponder.enterfordigityear', 'pfadmin_autoresponder.entervaliddate', 'pfadmin_autoresponder.dateinpast', 'pfadmin_autoresponder.subjectempty', 'pfadmin_autoresponder.and'); $rcmail->output->add_script("var settings_account=true;"); $settings = $this->_get(); $enabled = $settings['active']; $subject = $settings['subject']; $body = $settings['body']; $date = $settings['activeuntil']; $datefrom = $settings['activefrom']; $date = str_replace("-", "/", substr($date, 0, 10)); $datefrom = str_replace("-", "/", substr($datefrom, 0, 10)); if ($date == "0000/00/00") { $date = ""; } if ($datefrom == "0000/00/00") { $datefrom = ""; } $rcmail->output->set_env('product_name', $rcmail->config->get('product_name')); // allow the following attributes to be added to the <table> tag $attrib_str = create_attrib_string($attrib, array('style', 'class', 'id', 'cellpadding', 'cellspacing', 'border', 'summary')); // return the complete edit form as table $table = new html_table(array('cols' => 2)); // show autoresponder properties $field_id = 'autoresponder_subject'; $input_autorespondersubject = new html_textarea(array('name' => '_autorespondersubject', 'id' => $field_id, 'cols' => 48, 'rows' => 2)); $table->add('title', html::label($field_id, rep_specialchars_output($this->gettext('subject')))); $table->add(null, $input_autorespondersubject->show($subject)); $field_id = 'autoresponderbody'; $input_autoresponderbody = new html_textarea(array('name' => '_autoresponderbody', 'id' => $field_id, 'cols' => 48, 'rows' => 15)); $table->add('title', html::label($field_id, rep_specialchars_output($this->gettext('autorespondermessage')))); $table->add(null, $input_autoresponderbody->show($body)); $field_id = 'autoresponderdatefrom'; $input_autoresponderdatefrom = new html_inputfield(array('name' => '_autoresponderdatefrom', 'id' => $field_id, 'value' => $date, 'maxlength' => 10, 'size' => 10)); $table->add('title', html::label($field_id, rep_specialchars_output($this->gettext('autoresponderdatefrom')))); $table->add(null, $input_autoresponderdatefrom->show($datefrom) . " " . $this->gettext('dateformat')); $field_id = 'autoresponderdate'; $input_autoresponderdate = new html_inputfield(array('name' => '_autoresponderdate', 'id' => $field_id, 'value' => $date, 'maxlength' => 10, 'size' => 10)); $table->add('title', html::label($field_id, rep_specialchars_output($this->gettext('autoresponderdate')))); $table->add(null, $input_autoresponderdate->show($date) . " " . $this->gettext('dateformat')); $field_id = 'autoresponderenabled'; $input_autoresponderenabled = new html_checkbox(array('name' => '_autoresponderenabled', 'id' => $field_id, 'value' => 1)); $table->add('title', html::label($field_id, rep_specialchars_output($this->gettext('autoresponderenabled')))); $table->add(null, $input_autoresponderenabled->show($enabled)); $out = html::div(array('class' => 'box'), html::div(array('id' => 'prefs-title', 'class' => 'boxtitle'), $this->gettext('autoresponder')) . html::div(array('class' => 'boxcontent'), $table->show() . html::p(null, $rcmail->output->button(array('command' => 'plugin.pfadmin_autoresponder-save', 'type' => 'input', 'class' => 'button mainaction', 'label' => 'save'))))); $rcmail->output->add_gui_object('autoresponderform', 'autoresponder-form'); return $rcmail->output->form_tag(array('id' => 'autoresponderform', 'name' => 'autoresponderform', 'method' => 'post', 'action' => './?_task=settings&_action=plugin.pfadmin_autoresponder-save'), $out); }
function gen_form() { try { $session_id = $this->soap->login($this->rcmail_inst->config->get('remote_soap_user'), $this->rcmail_inst->config->get('remote_soap_pass')); $mail_user = $this->soap->mail_user_get($session_id, array('login' => $this->rcmail_inst->user->data['username'])); $this->soap->logout($session_id); } catch (SoapFault $e) { $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error'); } $enabled = $mail_user[0]['autoresponder']; if ($enabled == 'y') { $enabled = 1; } else { $enabled = 0; } if ($mail_user[0]['autoresponder_start_date'] == '0000-00-00 00:00:00') { $mail_user[0]['autoresponder_start_date'] = date('Y') . '-' . date('m') . '-' . date('d') . ' ' . date('H') . ':' . date('i'); } if ($mail_user[0]['autoresponder_end_date'] == '0000-00-00 00:00:00') { $mail_user[0]['autoresponder_end_date'] = date('Y') . '-' . date('m') . '-' . date('d') . ' ' . date('H') . ':' . date('i'); } $this->rcmail_inst->output->set_env('framed', TRUE); $hidden_priority = new html_hiddenfield(array('name' => '_priority', 'value' => $priority, 'id' => 'priority')); $out .= $hidden_priority->show(); $out .= '<fieldset><legend>' . $this->gettext('acc_autoreply') . '</legend>' . "\n"; $table = new html_table(array('cols' => 2, 'class' => 'propform')); $input_autoreplysubject = new html_inputfield(array('name' => '_autoreplysubject', 'id' => 'autoreplysubject', 'size' => 40)); $table->add('title', rep_specialchars_output($this->gettext('subject'))); $table->add('', $input_autoreplysubject->show($mail_user[0]['autoresponder_subject'])); $input_autoreplybody = new html_textarea(array('name' => '_autoreplybody', 'id' => 'autoreplybody', 'cols' => 48, 'rows' => 15)); $table->add('title', rep_specialchars_output($this->gettext('autoreplymessage'))); $table->add('', $input_autoreplybody->show($mail_user[0]['autoresponder_text'])); $input_autoreplystarton = new html_inputfield(array('name' => '_autoreplystarton', 'id' => 'autoreplystarton', 'size' => 20)); $table->add('title', rep_specialchars_output($this->gettext('autoreplystarton'))); $table->add('', $input_autoreplystarton->show($mail_user[0]['autoresponder_start_date'])); $input_autoreplyendby = new html_inputfield(array('name' => '_autoreplyendby', 'id' => 'autoreplyendby', 'size' => 20)); $table->add('title', rep_specialchars_output($this->gettext('autoreplyendby'))); $table->add('', $input_autoreplyendby->show($mail_user[0]['autoresponder_end_date'])); $input_autoreplyenabled = new html_checkbox(array('name' => '_autoreplyenabled', 'id' => 'autoreplyenabled', 'value' => 1)); $table->add('title', rep_specialchars_output($this->gettext('autoreplyenabled'))); $table->add('', $input_autoreplyenabled->show($enabled)); $out .= $table->show(); $out .= "</fieldset>\n"; return $out; }