|
|
|
@ -12,6 +12,9 @@
|
|
|
|
|
*/
|
|
|
|
|
class archive extends rcube_plugin
|
|
|
|
|
{
|
|
|
|
|
public $task = 'settings|mail';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function init()
|
|
|
|
|
{
|
|
|
|
|
$rcmail = rcmail::get_instance();
|
|
|
|
@ -23,8 +26,9 @@ class archive extends rcube_plugin
|
|
|
|
|
&& ($archive_folder = $rcmail->config->get('archive_mbox'))
|
|
|
|
|
) {
|
|
|
|
|
$skin_path = $this->local_skin_path();
|
|
|
|
|
if (is_file($this->home . "/$skin_path/archive.css"))
|
|
|
|
|
if (is_file($this->home . "/$skin_path/archive.css")) {
|
|
|
|
|
$this->include_stylesheet("$skin_path/archive.css");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->include_script('archive.js');
|
|
|
|
|
$this->add_texts('localization', true);
|
|
|
|
@ -55,6 +59,7 @@ class archive extends rcube_plugin
|
|
|
|
|
}
|
|
|
|
|
else if ($rcmail->task == 'settings') {
|
|
|
|
|
$dont_override = $rcmail->config->get('dont_override', array());
|
|
|
|
|
|
|
|
|
|
if (!in_array('archive_mbox', $dont_override)) {
|
|
|
|
|
$this->add_hook('preferences_list', array($this, 'prefs_table'));
|
|
|
|
|
$this->add_hook('preferences_save', array($this, 'save_prefs'));
|
|
|
|
@ -73,11 +78,14 @@ class archive extends rcube_plugin
|
|
|
|
|
|
|
|
|
|
// set localized name for the configured archive folder
|
|
|
|
|
if ($archive_folder && !$show_real_name) {
|
|
|
|
|
if (isset($p['list'][$archive_folder]))
|
|
|
|
|
if (isset($p['list'][$archive_folder])) {
|
|
|
|
|
$p['list'][$archive_folder]['name'] = $this->gettext('archivefolder');
|
|
|
|
|
else // search in subfolders
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// search in subfolders
|
|
|
|
|
$this->_mod_folder_name($p['list'], $archive_folder, $this->gettext('archivefolder'));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $p;
|
|
|
|
|
}
|
|
|
|
@ -91,10 +99,14 @@ class archive extends rcube_plugin
|
|
|
|
|
if ($item['id'] == $folder) {
|
|
|
|
|
$list[$idx]['name'] = $new_name;
|
|
|
|
|
return true;
|
|
|
|
|
} else if (!empty($item['folders']))
|
|
|
|
|
if ($this->_mod_folder_name($list[$idx]['folders'], $folder, $new_name))
|
|
|
|
|
}
|
|
|
|
|
else if (!empty($item['folders'])) {
|
|
|
|
|
if ($this->_mod_folder_name($list[$idx]['folders'], $folder, $new_name)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -112,11 +124,11 @@ class archive extends rcube_plugin
|
|
|
|
|
$archive_folder = $rcmail->config->get('archive_mbox');
|
|
|
|
|
$archive_type = $rcmail->config->get('archive_type', '');
|
|
|
|
|
$current_mbox = rcube_utils::get_input_value('_mbox', rcube_utils::INPUT_POST);
|
|
|
|
|
$search_request = rcube_utils::get_input_value('_search', rcube_utils::INPUT_GPC);
|
|
|
|
|
$uids = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST);
|
|
|
|
|
|
|
|
|
|
$result = array('reload' => false, 'update' => false, 'errors' => array());
|
|
|
|
|
$folders = array();
|
|
|
|
|
$uids = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST);
|
|
|
|
|
$search_request = rcube_utils::get_input_value('_search', rcube_utils::INPUT_GPC);
|
|
|
|
|
|
|
|
|
|
if ($uids == '*') {
|
|
|
|
|
$index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order());
|
|
|
|
@ -243,6 +255,8 @@ class archive extends rcube_plugin
|
|
|
|
|
$this->add_texts('localization');
|
|
|
|
|
|
|
|
|
|
$rcmail = rcmail::get_instance();
|
|
|
|
|
$mbox = $rcmail->config->get('archive_mbox');
|
|
|
|
|
$type = $rcmail->config->get('archive_type');
|
|
|
|
|
|
|
|
|
|
// load folders list when needed
|
|
|
|
|
if ($CURR_SECTION) {
|
|
|
|
@ -261,7 +275,7 @@ class archive extends rcube_plugin
|
|
|
|
|
|
|
|
|
|
$args['blocks']['main']['options']['archive_mbox'] = array(
|
|
|
|
|
'title' => $this->gettext('archivefolder'),
|
|
|
|
|
'content' => $select->show($rcmail->config->get('archive_mbox'), array('name' => "_archive_mbox"))
|
|
|
|
|
'content' => $select->show($mbox, array('name' => "_archive_mbox"))
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// add option for structuring the archive folder
|
|
|
|
@ -276,7 +290,7 @@ class archive extends rcube_plugin
|
|
|
|
|
'name' => rcube::Q($this->gettext('settingstitle')),
|
|
|
|
|
'options' => array('archive_type' => array(
|
|
|
|
|
'title' => $this->gettext('archivetype'),
|
|
|
|
|
'content' => $archive_type->show($rcmail->config->get('archive_type'))
|
|
|
|
|
'content' => $archive_type->show($type)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
@ -292,8 +306,8 @@ class archive extends rcube_plugin
|
|
|
|
|
{
|
|
|
|
|
if ($args['section'] == 'folders') {
|
|
|
|
|
$args['prefs']['archive_type'] = rcube_utils::get_input_value('_archive_type', rcube_utils::INPUT_POST);
|
|
|
|
|
return $args;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $args;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|