X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pkgs%2Fwebapps%2Froundcubemail%2Fadd_all.patch;fp=pkgs%2Fwebapps%2Froundcubemail%2Fadd_all.patch;h=ba651e2a0d088fdc273bffd2fd5abcd21c93555a;hb=9271611c189a3ed4129d3b98422f86ab3f774f10;hp=0000000000000000000000000000000000000000;hpb=418a4ed7da43fab53c18f99237bc296e37f47d2c;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/pkgs/webapps/roundcubemail/add_all.patch b/pkgs/webapps/roundcubemail/add_all.patch new file mode 100644 index 0000000..ba651e2 --- /dev/null +++ b/pkgs/webapps/roundcubemail/add_all.patch @@ -0,0 +1,209 @@ +diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php +index 0552b89c2..1b84e1b4e 100644 +--- a/program/include/rcmail_output_html.php ++++ b/program/include/rcmail_output_html.php +@@ -1013,13 +1013,13 @@ EOF; + // use minified file if exists (not in development mode) + if (!$this->devel_mode && !preg_match('/\.min\.' . $ext . '$/', $file)) { + $minified_file = substr($file, 0, strlen($ext) * -1) . 'min.' . $ext; +- if ($fs = @filemtime($this->assets_dir . $minified_file)) { +- return $minified_file . '?s=' . $fs; ++ if ($fs = @md5_file($this->assets_dir . $minified_file)) { ++ return $minified_file . '?s=' . substr($fs, 0, 6); + } + } + +- if ($fs = @filemtime($this->assets_dir . $file)) { +- $file .= '?s=' . $fs; ++ if ($fs = @md5_file($this->assets_dir . $file)) { ++ $file .= '?s=' . substr($fs, 0, 6); + } + + return $file; +diff --git a/program/js/app.js b/program/js/app.js +index 2094b7b7b..06fe96a80 100644 +--- a/program/js/app.js ++++ b/program/js/app.js +@@ -2277,6 +2277,9 @@ function rcube_webmail() + } + + tree += ''; ++ if (flags.mbox != this.env.mailbox) { ++ tree += '' + flags.mbox + ' '; ++ } + row.className = row_class; + + // build subject link +diff --git a/program/localization/en_CA/labels.inc b/program/localization/en_CA/labels.inc +index 03c1c8e11..8d67a49ac 100644 +--- a/program/localization/en_CA/labels.inc ++++ b/program/localization/en_CA/labels.inc +@@ -128,6 +128,7 @@ $labels['markunread'] = 'As unread'; + $labels['markflagged'] = 'As flagged'; + $labels['markunflagged'] = 'As unflagged'; + $labels['moreactions'] = 'More actions...'; ++$labels['folders-allsubscribed'] = 'All subscribed folders'; + $labels['folders-all'] = 'All folders'; + $labels['more'] = 'More'; + $labels['back'] = 'Back'; +@@ -184,6 +185,7 @@ $labels['namex'] = 'Name'; + $labels['searchscope'] = 'Scope'; + $labels['currentfolder'] = 'Current folder'; + $labels['subfolders'] = 'This and subfolders'; ++$labels['allsubscribedfolders'] = 'All subscribed folders'; + $labels['allfolders'] = 'All folders'; + $labels['openinextwin'] = 'Open in new window'; + $labels['emlsave'] = 'Download (.eml)'; +diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc +index a442965de..b5b4839e3 100644 +--- a/program/localization/en_GB/labels.inc ++++ b/program/localization/en_GB/labels.inc +@@ -135,6 +135,7 @@ $labels['moreactions'] = 'More actions...'; + $labels['markallread'] = 'Mark all as read'; + $labels['folders-cur'] = 'Selected folder only'; + $labels['folders-sub'] = 'Selected folder and its subfolders'; ++$labels['folders-allsubscribed'] = 'All subscribed folders'; + $labels['folders-all'] = 'All folders'; + $labels['more'] = 'More'; + $labels['back'] = 'Back'; +@@ -221,6 +222,7 @@ $labels['namex'] = 'Name'; + $labels['searchscope'] = 'Scope'; + $labels['currentfolder'] = 'Current folder'; + $labels['subfolders'] = 'This and subfolders'; ++$labels['allsubscribedfolders'] = 'All subscribed folders'; + $labels['allfolders'] = 'All folders'; + $labels['searchinterval-1W'] = 'older than a week'; + $labels['searchinterval-1M'] = 'older than a month'; +diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc +index 2e8ec8009..c7736557f 100644 +--- a/program/localization/en_US/labels.inc ++++ b/program/localization/en_US/labels.inc +@@ -158,6 +158,7 @@ $labels['moreactions'] = 'More actions...'; + $labels['markallread'] = 'Mark all as read'; + $labels['folders-cur'] = 'Selected folder only'; + $labels['folders-sub'] = 'Selected folder and its subfolders'; ++$labels['folders-allsubscribed'] = 'All subscribed folders'; + $labels['folders-all'] = 'All folders'; + $labels['more'] = 'More'; + $labels['back'] = 'Back'; +@@ -249,6 +250,7 @@ $labels['namex'] = 'Name'; + $labels['searchscope'] = 'Scope'; + $labels['currentfolder'] = 'Current folder'; + $labels['subfolders'] = 'This and subfolders'; ++$labels['allsubscribedfolders'] = 'All subscribed folders'; + $labels['allfolders'] = 'All folders'; + $labels['searchinterval-1W'] = 'older than a week'; + $labels['searchinterval-1M'] = 'older than a month'; +diff --git a/program/localization/fr_FR/labels.inc b/program/localization/fr_FR/labels.inc +index 6db44f95c..ad83e15d8 100644 +--- a/program/localization/fr_FR/labels.inc ++++ b/program/localization/fr_FR/labels.inc +@@ -135,6 +135,7 @@ $labels['moreactions'] = 'Plus d’actions…'; + $labels['markallread'] = 'Tout marquer comme lu'; + $labels['folders-cur'] = 'Dossier sélectionné seulement'; + $labels['folders-sub'] = 'Dossier sélectionné et ses sous-dossiers'; ++$labels['folders-allsubscribed'] = 'Tous les dossiers souscrits'; + $labels['folders-all'] = 'Tous les dossiers'; + $labels['more'] = 'Plus'; + $labels['back'] = 'Retour'; +@@ -221,6 +222,7 @@ $labels['namex'] = 'Nom'; + $labels['searchscope'] = 'Portée'; + $labels['currentfolder'] = 'Répertoire actuel'; + $labels['subfolders'] = 'Ceci et les sous-dossiers'; ++$labels['allsubscribedfolders'] = 'Tous les dossiers souscrits'; + $labels['allfolders'] = 'Tous les dossiers'; + $labels['searchinterval-1W'] = 'plus d’une semaine'; + $labels['searchinterval-1M'] = 'plus d’un mois'; +diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc +index 8e0c642f6..ac79780e0 100644 +--- a/program/steps/mail/func.inc ++++ b/program/steps/mail/func.inc +@@ -110,8 +110,8 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') { + 'copy', 'move', 'quota', 'replyall', 'replylist', 'stillsearching', + 'flagged', 'unflagged', 'unread', 'deleted', 'replied', 'forwarded', + 'priority', 'withattachment', 'fileuploaderror', 'mark', 'markallread', +- 'folders-cur', 'folders-sub', 'folders-all', 'cancel', 'bounce', 'bouncemsg', +- 'sendingmessage'); ++ 'folders-cur', 'folders-sub', 'folders-allsubscribed', 'folder-all', ++ 'cancel', 'bounce', 'bouncemsg', 'sendingmessage'); + } + } + +diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc +index f60528835..836a715b0 100644 +--- a/program/steps/mail/search.inc ++++ b/program/steps/mail/search.inc +@@ -86,7 +86,7 @@ else if (strlen(trim($str))) { + } + + // save search modifiers for the current folder to user prefs +- $mkey = $scope == 'all' ? '*' : $mbox; ++ $mkey = ($scope == 'all' || $scope == 'allsubscribed') ? '*' : $mbox; + $search_mods = rcmail_search_mods(); + $search_mods[$mkey] = array_fill_keys(array_keys($subject), 1); + +@@ -124,6 +124,10 @@ if (!empty($continue) && isset($_SESSION['search']) && $_SESSION['search_request + if ($search_str) { + // search all, current or subfolders folders + if ($scope == 'all') { ++ $mboxes = $RCMAIL->storage->list_folders('', '*', 'mail', null, true); ++ natcasesort($mboxes); // we want natural alphabetic sorting of folders in the result set ++ } ++ else if ($scope == 'allsubscribed') { + $mboxes = $RCMAIL->storage->list_folders_subscribed('', '*', 'mail', null, true); + natcasesort($mboxes); // we want natural alphabetic sorting of folders in the result set + } +@@ -133,7 +137,7 @@ if ($search_str) { + array_unshift($mboxes, $mbox); + } + +- if ($scope != 'all') { ++ if ($scope != 'all' && $scope != 'allsubscribed') { + // Remember current folder, it can change in meantime (plugins) + // but we need it to e.g. recognize Sent folder to handle From/To column later + $RCMAIL->output->set_env('mailbox', $mbox); +@@ -194,7 +198,7 @@ else { + $count = 0; + $OUTPUT->show_message('searchnomatch', 'notice'); + $OUTPUT->set_env('multifolder_listing', (bool)$result->multi); +- if ($result->multi && $scope == 'all') { ++ if ($result->multi && ($scope == 'all' || $scope == 'allsubscribed')) { + $OUTPUT->command('select_folder', ''); + } + } +diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html +index 666adf606..23d12a275 100644 +--- a/skins/classic/templates/mail.html ++++ b/skins/classic/templates/mail.html +@@ -106,6 +106,7 @@ +
  • +
  • +
  • ++
  • +
  • + + +diff --git a/skins/elastic/templates/mail.html b/skins/elastic/templates/mail.html +index 51dbfcd30..4c2281281 100644 +--- a/skins/elastic/templates/mail.html ++++ b/skins/elastic/templates/mail.html +@@ -77,6 +77,7 @@ + + +diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html +index 5ef0bc211..e0e8280ad 100644 +--- a/skins/larry/templates/mail.html ++++ b/skins/larry/templates/mail.html +@@ -56,6 +56,7 @@ + +
  • +
  • ++
  • +
  • + +