| | |
| | | $attrib['name'] = $attrib['id']; |
| | | |
| | | $OUTPUT->set_env('contentframe', $attrib['name']); |
| | | $OUTPUT->set_env('blankpage', $attrib['src'] ? $OUTPUT->abs_url($attrib['src']) : 'program/blank.gif'); |
| | | $OUTPUT->set_env('blankpage', $attrib['src'] ? $OUTPUT->abs_url($attrib['src']) : 'program/resources/blank.gif'); |
| | | |
| | | return html::iframe($attrib); |
| | | } |
| | |
| | | |
| | | $blocks = array( |
| | | 'main' => array('name' => Q(rcube_label('mainoptions'))), |
| | | 'browser' => array('name' => Q(rcube_label('browseroptions'))), |
| | | ); |
| | | |
| | | // language selection |
| | |
| | | $select_timezone = new html_select(array('name' => '_timezone', 'id' => $field_id)); |
| | | $select_timezone->add(rcube_label('autodetect'), 'auto'); |
| | | |
| | | $now = new DateTime(); |
| | | $zones = array(); |
| | | foreach (DateTimeZone::listIdentifiers() as $i => $tzs) { |
| | | try { |
| | | $tz = new DateTimeZone($tzs); |
| | |
| | | list($tzs, $offset) = $zone; |
| | | $select_timezone->add('(GMT ' . $offset . ') ' . strtr($tzs, '_', ' '), $tzs); |
| | | } |
| | | |
| | | if (is_numeric($config['timezone'])) |
| | | timezone_name_from_abbr("", $config['timezone'] * 3600, 0); |
| | | |
| | | $blocks['main']['options']['timezone'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('timezone'))), |
| | |
| | | |
| | | if (count($skins) > 1) { |
| | | $field_id = 'rcmfd_skin'; |
| | | $input_skin = new html_select(array('name'=>'_skin', 'id'=>$field_id)); |
| | | $input_skin = new html_radiobutton(array('name'=>'_skin')); |
| | | |
| | | foreach($skins as $skin) |
| | | $input_skin->add($skin, $skin); |
| | | $blocks['skin'] = array('name' => Q(rcube_label('skin')),); |
| | | |
| | | $blocks['main']['options']['skin'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('skin'))), |
| | | 'content' => $input_skin->show($config['skin']), |
| | | ); |
| | | foreach($skins as $skin) { |
| | | $thumbnail = "./skins/$skin/thumbnail.png"; |
| | | if (!is_file($thumbnail)) |
| | | $thumbnail = './program/resources/blank.gif'; |
| | | |
| | | $skinname = ucfirst($skin); |
| | | $author_link = $license_link = ''; |
| | | $meta = @json_decode(@file_get_contents("./skins/$skin/meta.json"), true); |
| | | if (is_array($meta) && $meta['name']) { |
| | | $skinname = $meta['name']; |
| | | $author_link = $meta['url'] ? html::a(array('href' => $meta['url'], 'target' => '_blank'), Q($meta['author'])) : Q($meta['author']); |
| | | $license_link = $meta['license-url'] ? html::a(array('href' => $meta['license-url'], 'target' => '_blank'), Q($meta['license'])) : Q($meta['license']); |
| | | } |
| | | |
| | | $blocks['skin']['options'][$skin]['content'] = html::label(array('class' => 'skinselection'), |
| | | html::span('skinitem', $input_skin->show($config['skin'], array('value' => $skin, 'id' => $field_id.$skin))) . |
| | | html::span('skinitem', html::img(array('src' => $thumbnail, 'class' => 'skinthumbnail', 'alt' => $skin, 'width' => 64, 'height' => 64))) . |
| | | html::span('skinitem', html::span('skinname', Q($skinname)) . html::br() . |
| | | html::span('skinauthor', $author_link ? 'by ' . $author_link : '') . html::br() . |
| | | html::span('skinlicense', $license_link ? rcube_label('license').': ' . $license_link : '')) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | $RCMAIL->output->add_script(sprintf("%s.check_protocol_handler('%s', '#mailtoprotohandler');", |
| | | JS_OBJECT_NAME, JQ($product_name)), 'foot'); |
| | | |
| | | $blocks['browser']['options']['mailtoprotohandler'] = array( |
| | | 'content' => html::a(array( |
| | | 'href' => '#', |
| | | 'id' => 'mailtoprotohandler'), Q(rcube_label('mailtoprotohandler'))), |
| | | $blocks['browser'] = array( |
| | | 'name' => Q(rcube_label('browseroptions')), |
| | | 'options' => array('mailtoprotohandler' => array( |
| | | 'content' => html::a(array( |
| | | 'href' => '#', |
| | | 'id' => 'mailtoprotohandler'), Q(rcube_label('mailtoprotohandler'))), |
| | | )), |
| | | ); |
| | | |
| | | break; |
| | |
| | | $select_htmleditor->add(rcube_label('never'), 0); |
| | | $select_htmleditor->add(rcube_label('always'), 1); |
| | | $select_htmleditor->add(rcube_label('htmlonreply'), 2); |
| | | $select_htmleditor->add(rcube_label('htmlonreplyandforward'), 3); |
| | | |
| | | $blocks['main']['options']['htmleditor'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('htmleditor'))), |
| | |
| | | ); |
| | | } |
| | | |
| | | if (!isset($no_override['top_posting'])) { |
| | | $field_id = 'rcmfd_top_posting'; |
| | | $select_replymode = new html_select(array('name' => '_top_posting', 'id' => $field_id, |
| | | 'onchange' => "\$('#rcmfd_sig_above').attr('disabled',this.selectedIndex==0)")); |
| | | if (!isset($no_override['reply_mode'])) { |
| | | $field_id = 'rcmfd_reply_mode'; |
| | | $select_replymode = new html_select(array('name' => '_reply_mode', 'id' => $field_id, |
| | | 'onchange' => "\$('#rcmfd_sig_above').attr('disabled',this.selectedIndex<2)")); |
| | | $select_replymode->add(rcube_label('replyempty'), -1); |
| | | $select_replymode->add(rcube_label('replybottomposting'), 0); |
| | | $select_replymode->add(rcube_label('replytopposting'), 1); |
| | | |
| | | $blocks['main']['options']['top_posting'] = array( |
| | | $blocks['main']['options']['reply_mode'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('whenreplying'))), |
| | | 'content' => $select_replymode->show($config['top_posting']?1:0), |
| | | 'content' => $select_replymode->show(intval($config['reply_mode'])), |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | if (!isset($no_override['sig_above'])) { |
| | | $field_id = 'rcmfd_sig_above'; |
| | | $select_sigabove = new html_select(array('name' => '_sig_above', 'id' => $field_id, 'disabled' => !$config['top_posting'])); |
| | | $select_sigabove = new html_select(array('name' => '_sig_above', 'id' => $field_id, 'disabled' => $config['reply_mode'] < 1)); |
| | | $select_sigabove->add(rcube_label('belowquote'), 0); |
| | | $select_sigabove->add(rcube_label('abovequote'), 1); |
| | | |
| | |
| | | $blocks['sig']['options']['strip_existing_sig'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('replyremovesignature'))), |
| | | 'content' => $input_stripexistingsig->show($config['strip_existing_sig']?1:0), |
| | | ); |
| | | } |
| | | |
| | | if (!isset($no_override['forward_attachment'])) { |
| | | $field_id = 'rcmfd_forward_attachment'; |
| | | $select = new html_select(array('name' => '_forward_attachment', 'id' => $field_id)); |
| | | $select->add(rcube_label('inline'), 0); |
| | | $select->add(rcube_label('asattachment'), 1); |
| | | |
| | | $blocks['main']['options']['forward_attachment'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('forwardmode'))), |
| | | 'content' => $select->show(intval($config['forward_attachment'])), |
| | | ); |
| | | } |
| | | |
| | |
| | | $select_abook = new html_select(array('name' => '_default_addressbook', 'id' => $field_id)); |
| | | |
| | | foreach ($books as $book) { |
| | | $select_abook->add($book['name'], $book['id']); |
| | | $select_abook->add(html_entity_decode($book['name'], ENT_COMPAT, 'UTF-8'), $book['id']); |
| | | } |
| | | |
| | | $blocks['main']['options']['default_addressbook'] = array( |