]>
Commit | Line | Data |
---|---|---|
9271611c IB |
1 | diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php |
2 | index 0552b89c2..1b84e1b4e 100644 | |
3 | --- a/program/include/rcmail_output_html.php | |
4 | +++ b/program/include/rcmail_output_html.php | |
5 | @@ -1013,13 +1013,13 @@ EOF; | |
6 | // use minified file if exists (not in development mode) | |
7 | if (!$this->devel_mode && !preg_match('/\.min\.' . $ext . '$/', $file)) { | |
8 | $minified_file = substr($file, 0, strlen($ext) * -1) . 'min.' . $ext; | |
9 | - if ($fs = @filemtime($this->assets_dir . $minified_file)) { | |
10 | - return $minified_file . '?s=' . $fs; | |
11 | + if ($fs = @md5_file($this->assets_dir . $minified_file)) { | |
12 | + return $minified_file . '?s=' . substr($fs, 0, 6); | |
13 | } | |
14 | } | |
15 | ||
16 | - if ($fs = @filemtime($this->assets_dir . $file)) { | |
17 | - $file .= '?s=' . $fs; | |
18 | + if ($fs = @md5_file($this->assets_dir . $file)) { | |
19 | + $file .= '?s=' . substr($fs, 0, 6); | |
20 | } | |
21 | ||
22 | return $file; | |
23 | diff --git a/program/js/app.js b/program/js/app.js | |
24 | index 2094b7b7b..06fe96a80 100644 | |
25 | --- a/program/js/app.js | |
26 | +++ b/program/js/app.js | |
27 | @@ -2277,6 +2277,9 @@ function rcube_webmail() | |
28 | } | |
29 | ||
30 | tree += '<span id="msgicn'+row.id+'" class="'+css_class+status_class+'" title="'+status_label+'"></span>'; | |
31 | + if (flags.mbox != this.env.mailbox) { | |
32 | + tree += '<span style="color:#737677">' + flags.mbox + ' <span>'; | |
33 | + } | |
34 | row.className = row_class; | |
35 | ||
36 | // build subject link | |
37 | diff --git a/program/localization/en_CA/labels.inc b/program/localization/en_CA/labels.inc | |
38 | index 03c1c8e11..8d67a49ac 100644 | |
39 | --- a/program/localization/en_CA/labels.inc | |
40 | +++ b/program/localization/en_CA/labels.inc | |
41 | @@ -128,6 +128,7 @@ $labels['markunread'] = 'As unread'; | |
42 | $labels['markflagged'] = 'As flagged'; | |
43 | $labels['markunflagged'] = 'As unflagged'; | |
44 | $labels['moreactions'] = 'More actions...'; | |
45 | +$labels['folders-allsubscribed'] = 'All subscribed folders'; | |
46 | $labels['folders-all'] = 'All folders'; | |
47 | $labels['more'] = 'More'; | |
48 | $labels['back'] = 'Back'; | |
49 | @@ -184,6 +185,7 @@ $labels['namex'] = 'Name'; | |
50 | $labels['searchscope'] = 'Scope'; | |
51 | $labels['currentfolder'] = 'Current folder'; | |
52 | $labels['subfolders'] = 'This and subfolders'; | |
53 | +$labels['allsubscribedfolders'] = 'All subscribed folders'; | |
54 | $labels['allfolders'] = 'All folders'; | |
55 | $labels['openinextwin'] = 'Open in new window'; | |
56 | $labels['emlsave'] = 'Download (.eml)'; | |
57 | diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc | |
58 | index a442965de..b5b4839e3 100644 | |
59 | --- a/program/localization/en_GB/labels.inc | |
60 | +++ b/program/localization/en_GB/labels.inc | |
61 | @@ -135,6 +135,7 @@ $labels['moreactions'] = 'More actions...'; | |
62 | $labels['markallread'] = 'Mark all as read'; | |
63 | $labels['folders-cur'] = 'Selected folder only'; | |
64 | $labels['folders-sub'] = 'Selected folder and its subfolders'; | |
65 | +$labels['folders-allsubscribed'] = 'All subscribed folders'; | |
66 | $labels['folders-all'] = 'All folders'; | |
67 | $labels['more'] = 'More'; | |
68 | $labels['back'] = 'Back'; | |
69 | @@ -221,6 +222,7 @@ $labels['namex'] = 'Name'; | |
70 | $labels['searchscope'] = 'Scope'; | |
71 | $labels['currentfolder'] = 'Current folder'; | |
72 | $labels['subfolders'] = 'This and subfolders'; | |
73 | +$labels['allsubscribedfolders'] = 'All subscribed folders'; | |
74 | $labels['allfolders'] = 'All folders'; | |
75 | $labels['searchinterval-1W'] = 'older than a week'; | |
76 | $labels['searchinterval-1M'] = 'older than a month'; | |
77 | diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc | |
78 | index 2e8ec8009..c7736557f 100644 | |
79 | --- a/program/localization/en_US/labels.inc | |
80 | +++ b/program/localization/en_US/labels.inc | |
81 | @@ -158,6 +158,7 @@ $labels['moreactions'] = 'More actions...'; | |
82 | $labels['markallread'] = 'Mark all as read'; | |
83 | $labels['folders-cur'] = 'Selected folder only'; | |
84 | $labels['folders-sub'] = 'Selected folder and its subfolders'; | |
85 | +$labels['folders-allsubscribed'] = 'All subscribed folders'; | |
86 | $labels['folders-all'] = 'All folders'; | |
87 | $labels['more'] = 'More'; | |
88 | $labels['back'] = 'Back'; | |
89 | @@ -249,6 +250,7 @@ $labels['namex'] = 'Name'; | |
90 | $labels['searchscope'] = 'Scope'; | |
91 | $labels['currentfolder'] = 'Current folder'; | |
92 | $labels['subfolders'] = 'This and subfolders'; | |
93 | +$labels['allsubscribedfolders'] = 'All subscribed folders'; | |
94 | $labels['allfolders'] = 'All folders'; | |
95 | $labels['searchinterval-1W'] = 'older than a week'; | |
96 | $labels['searchinterval-1M'] = 'older than a month'; | |
97 | diff --git a/program/localization/fr_FR/labels.inc b/program/localization/fr_FR/labels.inc | |
98 | index 6db44f95c..ad83e15d8 100644 | |
99 | --- a/program/localization/fr_FR/labels.inc | |
100 | +++ b/program/localization/fr_FR/labels.inc | |
101 | @@ -135,6 +135,7 @@ $labels['moreactions'] = 'Plus d’actions…'; | |
102 | $labels['markallread'] = 'Tout marquer comme lu'; | |
103 | $labels['folders-cur'] = 'Dossier sélectionné seulement'; | |
104 | $labels['folders-sub'] = 'Dossier sélectionné et ses sous-dossiers'; | |
105 | +$labels['folders-allsubscribed'] = 'Tous les dossiers souscrits'; | |
106 | $labels['folders-all'] = 'Tous les dossiers'; | |
107 | $labels['more'] = 'Plus'; | |
108 | $labels['back'] = 'Retour'; | |
109 | @@ -221,6 +222,7 @@ $labels['namex'] = 'Nom'; | |
110 | $labels['searchscope'] = 'Portée'; | |
111 | $labels['currentfolder'] = 'Répertoire actuel'; | |
112 | $labels['subfolders'] = 'Ceci et les sous-dossiers'; | |
113 | +$labels['allsubscribedfolders'] = 'Tous les dossiers souscrits'; | |
114 | $labels['allfolders'] = 'Tous les dossiers'; | |
115 | $labels['searchinterval-1W'] = 'plus d’une semaine'; | |
116 | $labels['searchinterval-1M'] = 'plus d’un mois'; | |
117 | diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc | |
118 | index 8e0c642f6..ac79780e0 100644 | |
119 | --- a/program/steps/mail/func.inc | |
120 | +++ b/program/steps/mail/func.inc | |
121 | @@ -110,8 +110,8 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') { | |
122 | 'copy', 'move', 'quota', 'replyall', 'replylist', 'stillsearching', | |
123 | 'flagged', 'unflagged', 'unread', 'deleted', 'replied', 'forwarded', | |
124 | 'priority', 'withattachment', 'fileuploaderror', 'mark', 'markallread', | |
125 | - 'folders-cur', 'folders-sub', 'folders-all', 'cancel', 'bounce', 'bouncemsg', | |
126 | - 'sendingmessage'); | |
127 | + 'folders-cur', 'folders-sub', 'folders-allsubscribed', 'folder-all', | |
128 | + 'cancel', 'bounce', 'bouncemsg', 'sendingmessage'); | |
129 | } | |
130 | } | |
131 | ||
132 | diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc | |
133 | index f60528835..836a715b0 100644 | |
134 | --- a/program/steps/mail/search.inc | |
135 | +++ b/program/steps/mail/search.inc | |
136 | @@ -86,7 +86,7 @@ else if (strlen(trim($str))) { | |
137 | } | |
138 | ||
139 | // save search modifiers for the current folder to user prefs | |
140 | - $mkey = $scope == 'all' ? '*' : $mbox; | |
141 | + $mkey = ($scope == 'all' || $scope == 'allsubscribed') ? '*' : $mbox; | |
142 | $search_mods = rcmail_search_mods(); | |
143 | $search_mods[$mkey] = array_fill_keys(array_keys($subject), 1); | |
144 | ||
145 | @@ -124,6 +124,10 @@ if (!empty($continue) && isset($_SESSION['search']) && $_SESSION['search_request | |
146 | if ($search_str) { | |
147 | // search all, current or subfolders folders | |
148 | if ($scope == 'all') { | |
149 | + $mboxes = $RCMAIL->storage->list_folders('', '*', 'mail', null, true); | |
150 | + natcasesort($mboxes); // we want natural alphabetic sorting of folders in the result set | |
151 | + } | |
152 | + else if ($scope == 'allsubscribed') { | |
153 | $mboxes = $RCMAIL->storage->list_folders_subscribed('', '*', 'mail', null, true); | |
154 | natcasesort($mboxes); // we want natural alphabetic sorting of folders in the result set | |
155 | } | |
156 | @@ -133,7 +137,7 @@ if ($search_str) { | |
157 | array_unshift($mboxes, $mbox); | |
158 | } | |
159 | ||
160 | - if ($scope != 'all') { | |
161 | + if ($scope != 'all' && $scope != 'allsubscribed') { | |
162 | // Remember current folder, it can change in meantime (plugins) | |
163 | // but we need it to e.g. recognize Sent folder to handle From/To column later | |
164 | $RCMAIL->output->set_env('mailbox', $mbox); | |
165 | @@ -194,7 +198,7 @@ else { | |
166 | $count = 0; | |
167 | $OUTPUT->show_message('searchnomatch', 'notice'); | |
168 | $OUTPUT->set_env('multifolder_listing', (bool)$result->multi); | |
169 | - if ($result->multi && $scope == 'all') { | |
170 | + if ($result->multi && ($scope == 'all' || $scope == 'allsubscribed')) { | |
171 | $OUTPUT->command('select_folder', ''); | |
172 | } | |
173 | } | |
174 | diff --git a/skins/classic/templates/mail.html b/skins/classic/templates/mail.html | |
175 | index 666adf606..23d12a275 100644 | |
176 | --- a/skins/classic/templates/mail.html | |
177 | +++ b/skins/classic/templates/mail.html | |
178 | @@ -106,6 +106,7 @@ | |
179 | <li><label class="comment"><roundcube:label name="searchscope" /></label></li> | |
180 | <li><label><input type="radio" name="s_scope" value="base" id="s_scope_base" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="currentfolder" /></span></label></li> | |
181 | <li><label><input type="radio" name="s_scope" value="sub" id="s_scope_sub" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="subfolders" /></span></label></li> | |
182 | + <li><label><input type="radio" name="s_scope" value="allsubscribed" id="s_scope_allsubscribed" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="allsubscribedfolders" /></span></label></li> | |
183 | <li><label><input type="radio" name="s_scope" value="all" id="s_scope_all" onclick="rcmail.set_searchscope(this.value)" /> <span><roundcube:label name="allfolders" /></span></label></li> | |
184 | </ul> | |
185 | </div> | |
186 | diff --git a/skins/elastic/templates/mail.html b/skins/elastic/templates/mail.html | |
187 | index 51dbfcd30..4c2281281 100644 | |
188 | --- a/skins/elastic/templates/mail.html | |
189 | +++ b/skins/elastic/templates/mail.html | |
190 | @@ -77,6 +77,7 @@ | |
191 | <select name="s_scope" id="s_scope"> | |
192 | <option value="base"><roundcube:label name="currentfolder" /></option> | |
193 | <option value="sub"><roundcube:label name="subfolders" /></option> | |
194 | + <option value="allsubscribed"><roundcube:label name="allsubscribedfolders" /></option> | |
195 | <option value="all"><roundcube:label name="allfolders" /></option> | |
196 | </select> | |
197 | </div> | |
198 | diff --git a/skins/larry/templates/mail.html b/skins/larry/templates/mail.html | |
199 | index 5ef0bc211..e0e8280ad 100644 | |
200 | --- a/skins/larry/templates/mail.html | |
201 | +++ b/skins/larry/templates/mail.html | |
202 | @@ -56,6 +56,7 @@ | |
203 | <li role="separator" class="separator"><label><roundcube:label name="searchscope" /></label></li> | |
204 | <li role="menuitem"><label><input type="radio" name="s_scope" value="base" id="s_scope_base" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="currentfolder" /></span></label></li> | |
205 | <li role="menuitem"><label><input type="radio" name="s_scope" value="sub" id="s_scope_sub" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="subfolders" /></span></label></li> | |
206 | + <li role="menuitem"><label><input type="radio" name="s_scope" value="allsubscribed" id="s_scope_allsubscribed" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="allsubscribedfolders" /></span></label></li> | |
207 | <li role="menuitem"><label><input type="radio" name="s_scope" value="all" id="s_scope_all" onclick="UI.set_searchscope(this)" /> <span><roundcube:label name="allfolders" /></span></label></li> | |
208 | </ul> | |
209 | <div class="buttons"><a class="button" href="#" onclick="if (rcmail.command('search')) UI.show_popup('searchmenu',false)"><roundcube:label name="search" /></a></div> |