diff options
author | Aleksander Machniak <alec@alec.pl> | 2018-07-03 15:41:01 +0300 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2018-07-03 15:41:01 +0300 |
commit | 70ffc252bf2641808d0e8bfa3d073387d3f317d6 (patch) | |
tree | 60118a535fd93b684fcf87c61f451877b34f0703 /program | |
parent | 7e8299cd53b6827c3146134f03e21fc0fbc3edd9 (diff) | |
parent | 8cf9b02d4240e763fa0d3aca603243468be3d929 (diff) |
Merge branch 'dev/elastic'
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcmail_output_html.php | 20 | ||||
-rw-r--r-- | program/js/list.js | 85 | ||||
-rw-r--r-- | program/localization/de_CH/labels.inc | 1 | ||||
-rw-r--r-- | program/localization/de_CH/messages.inc | 1 | ||||
-rw-r--r-- | program/localization/de_DE/labels.inc | 50 | ||||
-rw-r--r-- | program/localization/de_DE/messages.inc | 9 | ||||
-rw-r--r-- | program/localization/en_US/labels.inc | 4 | ||||
-rw-r--r-- | program/steps/settings/func.inc | 2 |
8 files changed, 115 insertions, 57 deletions
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php index 62370891b..ffec00c2e 100644 --- a/program/include/rcmail_output_html.php +++ b/program/include/rcmail_output_html.php @@ -94,6 +94,14 @@ class rcmail_output_html extends rcmail_output $this->set_env('cookie_path', ini_get('session.cookie_path')); $this->set_env('cookie_secure', filter_var(ini_get('session.cookie_secure'), FILTER_VALIDATE_BOOLEAN)); + // Easy way to change skin via GET argument, for developers + if ($this->devel_mode && !empty($_GET['skin']) && preg_match('/^[a-z0-9-_]+$/i', $_GET['skin'])) { + if ($this->check_skin($_GET['skin'])) { + $this->set_skin($_GET['skin']); + $this->app->user->save_prefs(array('skin' => $_GET['skin'])); + } + } + // load and setup the skin $this->set_skin($this->config->get('skin')); $this->set_assets_path($this->config->get('assets_path'), $this->config->get('assets_dir')); @@ -514,7 +522,7 @@ EOF; /** * Send the request output to the client. - * This will either parse a skin tempalte or send an AJAX response + * This will either parse a skin template. * * @param string $templ Template name * @param boolean $exit True if script should terminate (default) @@ -2177,7 +2185,7 @@ EOF; 'title' => 'options', 'tabindex' => '0', 'innerclass' => 'inner', - 'data-popup' => $attrib['options'] + 'data-target' => $attrib['options'] )); } @@ -2202,10 +2210,10 @@ EOF; )); $out = html::div(array( - 'role' => 'search', - 'aria-labelledby' => $attrib['label'] ? 'aria-label-' . $attrib['label'] : null, - 'class' => $attrib['wrapper'], - ), "$header$out\n$options_button\n$reset_button\n$search_button"); + 'role' => 'search', + 'aria-labelledby' => $attrib['label'] ? 'aria-label-' . $attrib['label'] : null, + 'class' => $attrib['wrapper'], + ), "$header$out\n$reset_button\n$options_button\n$search_button"); } return $out; diff --git a/program/js/list.js b/program/js/list.js index edfb19065..a4b800131 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -407,34 +407,7 @@ insert_row: function(row, before) } if (this.checkbox_selection) { - var key, cell = document.createElement(this.col_tagname()), - chbox = document.createElement('input'); - - chbox.type = 'checkbox'; - chbox.tabIndex = -1; - chbox.onchange = function(e) { - self.select_row(row.uid, key || CONTROL_KEY, true); - e.stopPropagation(); - key = null; - }; - chbox.onmousedown = function(e) { - key = rcube_event.get_modifier(e); - }; - - cell.className = 'selection'; - // make the whole cell "touchable" for touch devices - cell.onclick = function(e) { - if (!$(e.target).is('input')) { - key = rcube_event.get_modifier(e); - $(chbox).prop('checked', !chbox.checked).change(); - } - - e.stopPropagation(); - }; - - cell.appendChild(chbox); - - row.insertBefore(cell, row.firstChild); + this.insert_checkbox(row); } if (before && tbody.childNodes.length) @@ -451,7 +424,7 @@ insert_row: function(row, before) }, /** - * + * Update existing record */ update_row: function(id, cols, newid, select) { @@ -477,6 +450,60 @@ update_row: function(id, cols, newid, select) } }, +/** + * Add selection checkbox to the list record + */ +insert_checkbox: function(row) +{ + var key, self = this, + cell = document.createElement(this.col_tagname()), + chbox = document.createElement('input'); + + chbox.type = 'checkbox'; + chbox.tabIndex = -1; + chbox.onchange = function(e) { + self.select_row(row.uid, key || CONTROL_KEY, true); + e.stopPropagation(); + key = null; + }; + chbox.onmousedown = function(e) { + key = rcube_event.get_modifier(e); + }; + + cell.className = 'selection'; + // make the whole cell "touchable" for touch devices + cell.onclick = function(e) { + if (!$(e.target).is('input')) { + key = rcube_event.get_modifier(e); + $(chbox).prop('checked', !chbox.checked).change(); + } + e.stopPropagation(); + }; + + cell.appendChild(chbox); + + row.insertBefore(cell, row.firstChild); +}, + +/** + * Enable checkbox selection + */ +enable_checkbox_selection: function() +{ + this.checkbox_selection = true; + + // Add checkbox to existing records if any + var r, len, cell, row_tag = this.row_tagname().toUpperCase(), + rows = this.tbody.childNodes; + + for (r=0, len=rows.length; r<len; r++) { + if (rows[r].nodeName == row_tag && (cell = rows[r].firstChild)) { + if (cell.className == 'selection') + break; + this.insert_checkbox(rows[r]); + } + } +}, /** * Set focus to the list diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc index b11ecc496..1bbe923b6 100644 --- a/program/localization/de_CH/labels.inc +++ b/program/localization/de_CH/labels.inc @@ -425,7 +425,6 @@ $labels['importreplace'] = 'Bestehendes Adressbuch komplett ersetzen'; $labels['importgroups'] = 'Gruppenzuweisungen importieren'; $labels['importgroupsall'] = 'Alle (nicht vorhandene Gruppen erstellen)'; $labels['importgroupsexisting'] = 'Für existierende Gruppen'; -$labels['importdesc'] = 'Sie können Kontakte aus einem bestehenden Adressbuch hochladen.rnEs können Adressbücher im <a href="http://de.wikipedia.org/wiki/VCard">vCard</a>- oder CSV-Format importiert werden.'; $labels['done'] = 'Fertig'; $labels['settingsfor'] = 'Einstellungen für'; $labels['about'] = 'Über'; diff --git a/program/localization/de_CH/messages.inc b/program/localization/de_CH/messages.inc index f7d8ab2dd..a5761ba37 100644 --- a/program/localization/de_CH/messages.inc +++ b/program/localization/de_CH/messages.inc @@ -34,7 +34,6 @@ $messages['erroroverquotadelete'] = 'Kein freier Speicherplatz. Drücken Sie SHI $messages['invalidrequest'] = 'Ungültige Anfrage! Es wurden keine Daten gespeichert.'; $messages['invalidhost'] = 'Ungültiger Servername'; $messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner'; -$messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!'; $messages['mailboxempty'] = 'Ordner ist leer'; $messages['nomessages'] = 'Keine Nachrichten'; $messages['refreshing'] = 'Aktualisiere...'; diff --git a/program/localization/de_DE/labels.inc b/program/localization/de_DE/labels.inc index 82f7c9152..33b7ed6a1 100644 --- a/program/localization/de_DE/labels.inc +++ b/program/localization/de_DE/labels.inc @@ -107,14 +107,14 @@ $labels['compose'] = 'Schreiben'; $labels['writenewmessage'] = 'Neue Nachricht schreiben'; $labels['reply'] = 'Antworten'; $labels['replytomessage'] = 'Antwort verfassen'; -$labels['replytoallmessage'] = 'Antwort an Mailingliste oder an Absender und alle Empfänger verfassen'; +$labels['replytoallmessage'] = 'Antwort an Liste oder an Absender und alle Empfänger verfassen'; $labels['replyall'] = 'Allen antworten'; $labels['replylist'] = 'Liste antworten'; $labels['forward'] = 'Weiterleiten'; $labels['forwardinline'] = 'innerhalb der Nachricht'; $labels['forwardattachment'] = 'Als Anhang weiterleiten'; $labels['forwardmessage'] = 'Nachricht weiterleiten'; -$labels['bouncemsg'] = 'Resend (bounce)'; +$labels['bouncemsg'] = 'Erneut senden (falls unzustellbar)'; $labels['bounce'] = 'Erneut senden'; $labels['deletemessage'] = 'Nachricht löschen'; $labels['movemessagetotrash'] = 'Nachricht in den Papierkorb verschieben'; @@ -129,8 +129,8 @@ $labels['mark'] = 'Markieren'; $labels['markmessages'] = 'Nachrichten markieren'; $labels['markread'] = 'Als gelesen'; $labels['markunread'] = 'Als ungelesen'; -$labels['markflagged'] = 'Markierung hinzufügen'; -$labels['markunflagged'] = 'Markierung entfernen'; +$labels['markflagged'] = 'Als wichtig'; +$labels['markunflagged'] = 'Als unwichtig'; $labels['moreactions'] = 'Mehr …'; $labels['markallread'] = 'Alle als gelesen markieren'; $labels['folders-cur'] = 'Nur ausgewählten Ordner'; @@ -152,8 +152,8 @@ $labels['none'] = 'Keine'; $labels['currpage'] = 'Aktuelle Seite'; $labels['isread'] = 'Gelesen'; $labels['unread'] = 'Ungelesene'; -$labels['flagged'] = 'Markierte'; -$labels['unflagged'] = 'Nicht gekennzeichnet'; +$labels['flagged'] = 'Als wichtig markiert'; +$labels['unflagged'] = 'Als unwichtig markiert'; $labels['unanswered'] = 'Unbeantwortete'; $labels['withattachment'] = 'Mit Anhang'; $labels['deleted'] = 'Gelöschte'; @@ -180,21 +180,22 @@ $labels['arrival'] = 'Empfangsdatum'; $labels['asc'] = 'aufsteigend'; $labels['desc'] = 'absteigend'; $labels['listcolumns'] = 'Spalten'; -$labels['listsorting'] = 'Sortierung'; -$labels['listorder'] = 'Ordnung'; +$labels['listsorting'] = 'Sortieren nach'; +$labels['listorder'] = 'Sortierung'; $labels['listmode'] = 'Anzeigemodus'; -$labels['lmode'] = 'Listen-Modus'; +$labels['lmode'] = 'Listenmodus'; $labels['layout'] = 'Layout'; $labels['layoutwidescreen'] = 'Breitbildschirm'; -$labels['layoutdesktop'] = 'Desktop'; +$labels['layoutdesktop'] = 'Schreibtisch'; $labels['layoutlist'] = 'Liste'; $labels['layoutwidescreendesc'] = 'Breitbild (3-Spalten-Ansicht)'; -$labels['layoutdesktopdesc'] = 'Desktop (breite Liste und Mail-Vorschau unten)'; -$labels['layoutlistdesc'] = 'Liste (keine Mail-Vorschau)'; +$labels['layoutdesktopdesc'] = 'Schreibtisch (breite Liste und Nachrichtenvorschau unten)'; +$labels['layoutlistdesc'] = 'Liste (keine Nachrichtenvorschau)'; $labels['folderactions'] = 'Ordneraktionen …'; $labels['compact'] = 'Packen'; $labels['empty'] = 'Leeren'; $labels['importmessages'] = 'Nachrichten importieren'; +$labels['mailimportzip'] = 'Mehrere Dateien können zu ZIP-Archiven komprimiert werden.'; $labels['quota'] = 'Speicherplatz'; $labels['unknown'] = 'unbekannt'; $labels['unlimited'] = 'unbegrenzt'; @@ -204,8 +205,8 @@ $labels['quotaused'] = 'Verwendet'; $labels['quotastorage'] = 'Festplattenspeicher'; $labels['quotamessage'] = 'Nachrichtenanzahl'; $labels['shortheaderdate'] = 'Am $date'; -$labels['shortheaderto'] = 'An $to vom $date'; -$labels['shortheaderfrom'] = 'Von $from vom $date'; +$labels['shortheaderto'] = 'An $to am $date'; +$labels['shortheaderfrom'] = 'Von $from am $date'; $labels['quicksearch'] = 'Schnellsuche'; $labels['searchplaceholder'] = 'Suchen …'; $labels['resetsearch'] = 'Suche zurücksetzen'; @@ -248,6 +249,7 @@ $labels['encryptmessage'] = 'Nachrichten verschlüsseln'; $labels['encryptmessagemailvelope'] = 'Nachricht mit Mailvelope verschlüsseln'; $labels['importpubkeys'] = 'Öffentliche Schlüssel importieren'; $labels['encryptedsendialog'] = 'Verschlüsselte Nachricht wird gesendet'; +$labels['encryptandsign'] = 'Verschlüsseln und unterschreiben'; $labels['keyid'] = 'Schlüsselkennung'; $labels['keylength'] = 'Bits'; $labels['keyexpired'] = 'Abgelaufen'; @@ -255,6 +257,7 @@ $labels['keyrevoked'] = 'Widerrufen'; $labels['bccinstead'] = 'Blindkopie verwenden'; $labels['addheader'] = 'Empfänger hinzufügen (Kopfzeile)'; $labels['recipient'] = 'Empfänger'; +$labels['recipientedit'] = 'Empfänger bearbeiten'; $labels['editidents'] = 'Identitäten bearbeiten'; $labels['spellcheck'] = 'Rechtschreibung'; $labels['checkspelling'] = 'Rechtschreibung prüfen'; @@ -272,7 +275,7 @@ $labels['editresponse'] = 'Schnellantwort bearbeiten'; $labels['editresponses'] = 'Schnellantworten bearbeiten'; $labels['responsename'] = 'Name'; $labels['responsetext'] = 'Text der Antwort'; -$labels['attach'] = 'Anhängen'; +$labels['attach'] = 'Anhang'; $labels['attachments'] = 'Anhänge'; $labels['upload'] = 'Hochladen'; $labels['uploadprogress'] = '$percent ($current von $total)'; @@ -309,6 +312,14 @@ $labels['mdnrequest'] = 'Der Sender dieser Nachricht möchte gerne eine Lesebest $labels['receiptread'] = 'Empfangsbestätigung (gelesen)'; $labels['yourmessage'] = 'Dies ist eine Empfangsbestätigung für Ihre Nachricht'; $labels['receiptnote'] = 'Hinweis: Der Empfänger hat den Empfang der Nachricht bestätigt. Dies ist keine Garantie, dass die Nachricht gelesen und verstanden wurde.'; +$labels['zoomin'] = 'Vergrößern'; +$labels['zoomout'] = 'Verkleinern'; +$labels['rotate'] = 'Drehen'; +$labels['increaseimage'] = 'Bild vergrößern'; +$labels['decreaseimage'] = 'Bild verkleinern'; +$labels['rotateimage'] = 'Bild drehen'; +$labels['showtools'] = 'Bild-Tools anzeigen'; +$labels['hidetools'] = 'Bild-Tools ausblenden'; $labels['name'] = 'Angezeigter Name'; $labels['firstname'] = 'Vorname'; $labels['surname'] = 'Nachname'; @@ -393,7 +404,7 @@ $labels['newgroup'] = 'Neue Gruppe erstellen'; $labels['addgroup'] = 'Gruppe hinzufügen'; $labels['grouprename'] = 'Gruppe umbenennen'; $labels['groupdelete'] = 'Gruppe löschen'; -$labels['groupassign'] = 'Zur Gruppe hinzufügen...'; +$labels['groupassign'] = 'Zu Gruppe hinzufügen...'; $labels['groupremove'] = 'Aus Gruppe entfernen'; $labels['groupremoveselected'] = 'Gewählte Kontakte aus Gruppe entfernen'; $labels['uponelevel'] = 'Eine Ebene nach oben'; @@ -415,7 +426,6 @@ $labels['importreplace'] = 'Bestehendes Adressbuch komplett ersetzen'; $labels['importgroups'] = 'Gruppenzuordnungen importieren'; $labels['importgroupsall'] = 'Alle (Gruppen erstellen wenn nötig)'; $labels['importgroupsexisting'] = 'Nur für existierende Gruppen'; -$labels['importdesc'] = 'Sie können Kontakte von einem vorhandenen Adressbuch hochladen.<br/>Zur Zeit wird der Import von Adressen im <a href="http://de.wikipedia.org/wiki/VCard">vCard</a> oder <a href="http://de.wikipedia.org/wiki/CSV_(Dateiformat)">CSV</a>Format unterstützt.'; $labels['done'] = 'Fertig'; $labels['settingsfor'] = 'Einstellungen für'; $labels['about'] = 'Über'; @@ -562,7 +572,11 @@ $labels['namespace.shared'] = 'Geteilt'; $labels['dualuselabel'] = 'Kann nur enthalten'; $labels['dualusemail'] = 'Nachrichten'; $labels['dualusefolder'] = 'Ordner'; +$labels['generate'] = 'Generieren'; $labels['encryptioncreatekey'] = 'Neues Schlüsselpaar erstellen'; +$labels['openmailvelopesettings'] = 'Mailvelope-Einstellungen öffnen'; +$labels['encryptionprivkeysinmailvelope'] = 'Sie haben $nr passende private Schlüssel in Ihrem Mailvelope-Schlüsselverzeichnis:'; +$labels['encryptionnoprivkeysinmailvelope'] = 'Für diese Absender-Identität ist bis jetzt kein privater PGP-Schlüssel in Ihrer Mailvelope gespeichert. Wollen Sie einen Schlüssel erstellen, damit eine verschlüsselte Kommunikation möglich ist?'; $labels['sortby'] = 'Sortieren nach'; $labels['sortasc'] = 'Aufsteigend sortieren'; $labels['sortdesc'] = 'Absteigend sortieren'; @@ -630,6 +644,7 @@ $labels['arialabelmessageheaders'] = 'Nachrichtenkopfzeilen'; $labels['arialabelforwardingoptions'] = 'Weiterleitungsoptionen'; $labels['arialabelreplyalloptions'] = 'Allen antworten-Optionen'; $labels['arialabelmoremessageactions'] = 'Weitere Nachrichtenaktionen'; +$labels['arialabelmorecontactactions'] = 'Weitere Kontakt-Aktionen'; $labels['arialabelmarkmessagesas'] = 'Ausgewählte Nachricht markieren als …'; $labels['arialabelcomposeoptions'] = 'Erstellungsoptionen'; $labels['arialabelresponsesmenu'] = 'Schnellantworten Menü'; @@ -646,6 +661,7 @@ $labels['arialabelresonseeditfrom'] = 'Antwortbearbeitungsformular'; $labels['arialabelsearchterms'] = 'Suchbegriffe'; $labels['arialabeldropactionmenu'] = 'Aktionsmenü für das Ziehen und Loslassen'; $labels['arialabelheadersmenu'] = 'Menü zum Hinzufügen der Empfänger (Kopfzeile) '; +$labels['arialabelimagetools'] = 'Bild-Tools'; $labels['helplistnavigation'] = 'Tastaturnavigation auflisten'; $labels['helplistkeyboardnavigation'] = "Pfeil hoch/runter: Zeilenfokus/Zeilenselektion verschieben Leerzeichen: Selektiere ausgewählte Zeile diff --git a/program/localization/de_DE/messages.inc b/program/localization/de_DE/messages.inc index 273219291..686b9d8c4 100644 --- a/program/localization/de_DE/messages.inc +++ b/program/localization/de_DE/messages.inc @@ -83,6 +83,7 @@ $messages['deletecontactconfirm'] = 'Wollen Sie die ausgewählten Kontakte wirk $messages['deletegroupconfirm'] = 'Wollen Sie die gewählte Gruppe wirklich löschen?'; $messages['deletemessagesconfirm'] = 'Wollen Sie die ausgewählten Nachrichten wirklich löschen?'; $messages['deletefolderconfirm'] = 'Wollen Sie diesen Ordner wirklich löschen?'; +$messages['movefolderconfirm'] = 'Wollen Sie diesen Ordner wirklich verschieben?'; $messages['purgefolderconfirm'] = 'Wollen Sie diesen Ordner wirklich leeren?'; $messages['contactdeleting'] = 'Kontakt(e) werden gelöscht …'; $messages['groupdeleting'] = 'Gruppe wird gelöscht …'; @@ -164,7 +165,8 @@ $messages['smtpconnerror'] = 'SMTP Fehler ($code): Die Verbindung ist fehlgeschl $messages['smtpautherror'] = 'SMTP Fehler ($code): Die Authentisierung ist fehlgeschlagen.'; $messages['smtpfromerror'] = 'SMTP Fehler ($code): Der Absender "$from" konnte nicht gesetzt werden ($msg).'; $messages['smtptoerror'] = 'SMTP Fehler ($code): Der Empfänger "$to" konnte nicht gesetzt werden ($msg).'; -$messages['smtprecipientserror'] = 'SMTP Fehler: Die Empfängerliste konnte nicht verarbeitet werden.'; +$messages['smtprecipientserror'] = 'SMTP-Fehler: die Empfängerliste konnte nicht verarbeitet werden.'; +$messages['smtputf8error'] = 'SMTP-Fehler: Der Server unterstützt Unicode in der E-Mail-Adresse nicht.'; $messages['smtpsizeerror'] = 'SMTP-Fehler: Nachrichtengröße übersteigt die Servergrenze ($limit)'; $messages['smtperror'] = 'SMTP Fehler: $msg'; $messages['emailformaterror'] = 'Ungültige E-Mail-Adresse: $email'; @@ -214,3 +216,8 @@ $messages['errcomposesession'] = 'Verfasssitzungsfehler'; $messages['errcomposesessionexplain'] = 'Angeforderte Verfasssitzung nicht gefunden.'; $messages['clicktocompose'] = 'Klicken Sie hier, um eine neue Nachricht zu verfassen'; $messages['nosupporterror'] = 'Diese Funktion wird von Ihrem Webbrowser nicht unterstützt.'; +$messages['siginserted'] = 'Signatur erfolgreich eingefügt.'; +$messages['responseinserted'] = 'Antwort erfolgreich eingefügt.'; +$messages['listempty'] = 'Die Liste ist leer.'; +$messages['listusebutton'] = 'Um einen neuen Datensatz hinzufügen, verwenden Sie bitte die Schaltfläche \'Erstellen\'.'; +$messages['keypaircreatesuccess'] = 'En neues Schlüsselpaar wurde erfolgreich für $identity erstellt.'; diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 7238b7dcf..d4ce1cce2 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -173,6 +173,7 @@ $labels['last'] = 'Last'; $labels['previous'] = 'Previous'; $labels['next'] = 'Next'; $labels['select'] = 'Select'; +$labels['selection'] = 'Selection'; $labels['all'] = 'All'; $labels['none'] = 'None'; $labels['currpage'] = 'Current page'; @@ -335,8 +336,9 @@ $labels['alwaysshow'] = 'Always show images from $sender'; $labels['alwaysallow'] = 'Always allow from $sender'; $labels['isdraft'] = 'This is a draft message.'; $labels['andnmore'] = '$nr more...'; +$labels['details'] = 'Details'; $labels['headers'] = 'Headers'; -$labels['envelope'] = 'Envelope'; +$labels['allheaders'] = 'All headers...'; $labels['togglemoreheaders'] = 'Show more message headers'; $labels['togglefullheaders'] = 'Toggle raw message headers'; diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 1b28d1a7a..00c9f71d1 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -157,7 +157,7 @@ function rcmail_user_prefs($current = null) $no_override = array_flip((array)$RCMAIL->config->get('dont_override')); foreach ($sections as $idx => $sect) { - $sections[$idx]['class'] = $idx; + $sections[$idx]['class'] = $sect['class'] ?: $idx; if ($current && $sect['id'] != $current) { continue; |