diff options
Diffstat (limited to 'lib/plugins')
535 files changed, 7894 insertions, 5112 deletions
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index 6c7c28ff6..814bbfe9c 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -268,7 +268,10 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { usort($data,array($this,'_tree_sort')); $count = count($data); if($count>0) for($i=1; $i<$count; $i++){ - if($data[$i-1]['id'] == $data[$i]['id'] && $data[$i-1]['type'] == $data[$i]['type']) unset($data[$i]); + if($data[$i-1]['id'] == $data[$i]['id'] && $data[$i-1]['type'] == $data[$i]['type']) { + unset($data[$i]); + $i++; // duplicate found, next $i can't be a duplicate, so skip forward one + } } return $data; } @@ -488,7 +491,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { function _html_list_acl($item){ $ret = ''; // what to display - if($item['label']){ + if(!empty($item['label'])){ $base = $item['label']; }else{ $base = ':'.$item['id']; @@ -496,8 +499,11 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } // highlight? - if( ($item['type']== $this->current_item['type'] && $item['id'] == $this->current_item['id'])) + if( ($item['type']== $this->current_item['type'] && $item['id'] == $this->current_item['id'])) { $cl = ' cur'; + } else { + $cl = ''; + } // namespace or page? if($item['type']=='d'){ @@ -756,6 +762,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { */ function _html_select(){ $inlist = false; + $usel = ''; + $gsel = ''; if($this->who && !in_array($this->who,$this->usersgroups) && @@ -764,17 +772,15 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { if($this->who{0} == '@'){ $gsel = ' selected="selected"'; }else{ - $usel = ' selected="selected"'; + $usel = ' selected="selected"'; } }else{ - $usel = ''; - $gsel = ''; $inlist = true; } echo '<select name="acl_t" class="edit">'.NL; - echo ' <option value="__g__" class="aclgroup"'.$gsel.'>'.$this->getLang('acl_group').':</option>'.NL; - echo ' <option value="__u__" class="acluser"'.$usel.'>'.$this->getLang('acl_user').':</option>'.NL; + echo ' <option value="__g__" class="aclgroup"'.$gsel.'>'.$this->getLang('acl_group').'</option>'.NL; + echo ' <option value="__u__" class="acluser"'.$usel.'>'.$this->getLang('acl_user').'</option>'.NL; if (!empty($this->specials)) { echo ' <optgroup label=" ">'.NL; foreach($this->specials as $ug){ diff --git a/lib/plugins/acl/lang/ar/lang.php b/lib/plugins/acl/lang/ar/lang.php index 4e44dab5f..89fe27a76 100644 --- a/lib/plugins/acl/lang/ar/lang.php +++ b/lib/plugins/acl/lang/ar/lang.php @@ -9,8 +9,8 @@ * @author uahello@gmail.com */ $lang['admin_acl'] = 'إدارة قوائم التحكم بالدخول'; -$lang['acl_group'] = 'مجموعة'; -$lang['acl_user'] = 'مستخدم'; +$lang['acl_group'] = 'مجموعة:'; +$lang['acl_user'] = 'مستخدم:'; $lang['acl_perms'] = 'ترخيص لـ'; $lang['page'] = 'صفحة'; $lang['namespace'] = 'فضاء التسمية'; diff --git a/lib/plugins/acl/lang/bg/lang.php b/lib/plugins/acl/lang/bg/lang.php index 95201750e..648b91ef4 100644 --- a/lib/plugins/acl/lang/bg/lang.php +++ b/lib/plugins/acl/lang/bg/lang.php @@ -1,15 +1,15 @@ <?php + /** - * bulgarian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Nikolay Vladimirov <nikolay@vladimiroff.com> * @author Viktor Usunov <usun0v@mail.bg> * @author Kiril <neohidra@gmail.com> */ $lang['admin_acl'] = 'Управление на списъците за достъп'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Потребител'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Потребител:'; $lang['acl_perms'] = 'Права за'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Именно пространство'; diff --git a/lib/plugins/acl/lang/ca-valencia/lang.php b/lib/plugins/acl/lang/ca-valencia/lang.php index ef0ae92eb..bdfa7da22 100644 --- a/lib/plugins/acl/lang/ca-valencia/lang.php +++ b/lib/plugins/acl/lang/ca-valencia/lang.php @@ -8,8 +8,8 @@ * @author Bernat Arlandis <berarma@llenguaitecnologia.com> */ $lang['admin_acl'] = 'Gestor de les llistes de control d\'accés'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Usuari'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Usuari:'; $lang['acl_perms'] = 'Permissos per a'; $lang['page'] = 'Pàgina'; $lang['namespace'] = 'Espai de noms'; diff --git a/lib/plugins/acl/lang/ca/lang.php b/lib/plugins/acl/lang/ca/lang.php index 183db711b..bead981f0 100644 --- a/lib/plugins/acl/lang/ca/lang.php +++ b/lib/plugins/acl/lang/ca/lang.php @@ -10,8 +10,8 @@ * @author daniel@6temes.cat */ $lang['admin_acl'] = 'Gestió de la Llista de Control d\'Accés'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Usuari'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Usuari:'; $lang['acl_perms'] = 'Permisos per a'; $lang['page'] = 'Pàgina'; $lang['namespace'] = 'Espai'; diff --git a/lib/plugins/acl/lang/cs/help.txt b/lib/plugins/acl/lang/cs/help.txt index 1dbc88ad0..1b6fa1eac 100644 --- a/lib/plugins/acl/lang/cs/help.txt +++ b/lib/plugins/acl/lang/cs/help.txt @@ -1,11 +1,8 @@ === Nápověda: === -Na této stránce můžete přidávat a odebírat oprávnění na jmenné prostory a stránky Vaší wiki. +Na této stránce můžete přidávat a odebírat oprávnění pro jmenné prostory a stránky svojí wiki. +* Levý panel zobrazuje všechny dostupné jmenné prostory a stránky. +* Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny. +* V tabulce uvedené níže jsou zobrazeny všechna aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou. -Levý panel zobrazuje všechny dostupné jmenné prostory a stránky. - -Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny. - -V tabulce uvedené níže jsou zobrazeny všechny aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou. - -Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentaci ACL]], která Vám může pomoci plně pochopit princip, jak řízení přístupu na DokuWiki funguje. +Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentace ACL]], která Vám může pomoci plně pochopit princip, na kterém řízení přístupu na DokuWiki funguje. diff --git a/lib/plugins/acl/lang/cs/lang.php b/lib/plugins/acl/lang/cs/lang.php index 8031612f7..497d53a4a 100644 --- a/lib/plugins/acl/lang/cs/lang.php +++ b/lib/plugins/acl/lang/cs/lang.php @@ -15,8 +15,8 @@ * @author mkucera66@seznam.cz */ $lang['admin_acl'] = 'Správa přístupových práv'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Uživatel'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Uživatel:'; $lang['acl_perms'] = 'Práva pro'; $lang['page'] = 'Stránka'; $lang['namespace'] = 'Jmenný prostor'; diff --git a/lib/plugins/acl/lang/da/lang.php b/lib/plugins/acl/lang/da/lang.php index 2558795fd..2f8086ac1 100644 --- a/lib/plugins/acl/lang/da/lang.php +++ b/lib/plugins/acl/lang/da/lang.php @@ -16,8 +16,8 @@ * @author Mikael Lyngvig <mikael@lyngvig.org> */ $lang['admin_acl'] = 'Rettighedsadministration'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Bruger'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Bruger:'; $lang['acl_perms'] = 'Rettigheder for'; $lang['page'] = 'Dokument'; $lang['namespace'] = 'Navnerum'; diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php index 35df13dc0..6a04cc520 100644 --- a/lib/plugins/acl/lang/de-informal/lang.php +++ b/lib/plugins/acl/lang/de-informal/lang.php @@ -13,8 +13,8 @@ * @author Volker Bödker <volker@boedker.de> */ $lang['admin_acl'] = 'Zugangsverwaltung'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Benutzer'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Benutzer:'; $lang['acl_perms'] = 'Rechte für'; $lang['page'] = 'Seite'; $lang['namespace'] = 'Namensraum'; diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php index 77de4b097..f25a2ea71 100644 --- a/lib/plugins/acl/lang/de/lang.php +++ b/lib/plugins/acl/lang/de/lang.php @@ -23,8 +23,8 @@ * @author Pierre Corell <info@joomla-praxis.de> */ $lang['admin_acl'] = 'Zugangsverwaltung'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Benutzer'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Benutzer:'; $lang['acl_perms'] = 'Berechtigungen für'; $lang['page'] = 'Seite'; $lang['namespace'] = 'Namensraum'; diff --git a/lib/plugins/acl/lang/el/lang.php b/lib/plugins/acl/lang/el/lang.php index dc4a9f034..09c8691e7 100644 --- a/lib/plugins/acl/lang/el/lang.php +++ b/lib/plugins/acl/lang/el/lang.php @@ -14,8 +14,8 @@ * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com */ $lang['admin_acl'] = 'Διαχείριση Δικαιωμάτων Πρόσβασης'; -$lang['acl_group'] = 'Ομάδα'; -$lang['acl_user'] = 'Χρήστης'; +$lang['acl_group'] = 'Ομάδα:'; +$lang['acl_user'] = 'Χρήστης:'; $lang['acl_perms'] = 'Δικαιώματα για'; $lang['page'] = 'Σελίδα'; $lang['namespace'] = 'Φάκελος'; diff --git a/lib/plugins/acl/lang/en/lang.php b/lib/plugins/acl/lang/en/lang.php index 779614d32..0c8648974 100644 --- a/lib/plugins/acl/lang/en/lang.php +++ b/lib/plugins/acl/lang/en/lang.php @@ -9,8 +9,8 @@ */ $lang['admin_acl'] = 'Access Control List Management'; -$lang['acl_group'] = 'Group'; -$lang['acl_user'] = 'User'; +$lang['acl_group'] = 'Group:'; +$lang['acl_user'] = 'User:'; $lang['acl_perms'] = 'Permissions for'; $lang['page'] = 'Page'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/eo/lang.php b/lib/plugins/acl/lang/eo/lang.php index a5f607341..f65995408 100644 --- a/lib/plugins/acl/lang/eo/lang.php +++ b/lib/plugins/acl/lang/eo/lang.php @@ -12,8 +12,8 @@ * @author Robert Bogenschneider <bogi@uea.org> */ $lang['admin_acl'] = 'Administrado de Alirkontrola Listo (ACL)'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Uzanto'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Uzanto:'; $lang['acl_perms'] = 'Rajtoj por'; $lang['page'] = 'Paĝo'; $lang['namespace'] = 'Nomspaco'; diff --git a/lib/plugins/acl/lang/es/lang.php b/lib/plugins/acl/lang/es/lang.php index cf503d4d1..da0dc8e38 100644 --- a/lib/plugins/acl/lang/es/lang.php +++ b/lib/plugins/acl/lang/es/lang.php @@ -26,8 +26,8 @@ * @author Mercè López mercelz@gmail.com */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuario'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuario:'; $lang['acl_perms'] = 'Permiso para'; $lang['page'] = 'Página'; $lang['namespace'] = 'Espacio de nombres'; diff --git a/lib/plugins/acl/lang/et/help.txt b/lib/plugins/acl/lang/et/help.txt new file mode 100644 index 000000000..a2c8e9e95 --- /dev/null +++ b/lib/plugins/acl/lang/et/help.txt @@ -0,0 +1,9 @@ +=== Kiir-spikker: === + +Käesoleval leheküljel saad oma wiki nimeruumidele ja lehekülgedele lisada ning eemaldada õigusi. + * Vasemas paanis on näidatud kõik saada olevad nimeruumid ja leheküljed. + * Ülal olev vorm laseb sul vaadelda ja muuta valitud rühma või kasutaja õigusi. + * Allolevas tabelis näidatakse kõiki hetkel sättestatud reegleid ligipääsudele. +Saad seda kasutada reeglite hulgi muutmiseks või kustutamiseks + +Mõistmaks paremini DokuWiki ligipääsu halduse toimimist, võiks abiks olla [[doku>acl|ACL-i ametliku dokumentatsiooniga]] tutvumine.
\ No newline at end of file diff --git a/lib/plugins/acl/lang/et/lang.php b/lib/plugins/acl/lang/et/lang.php index bc4c73a16..d1a047aff 100644 --- a/lib/plugins/acl/lang/et/lang.php +++ b/lib/plugins/acl/lang/et/lang.php @@ -1,21 +1,30 @@ <?php + /** - * Estonian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Oliver S6ro <seem.iges@mail.ee> * @author Aari Juhanson <aari@vmg.vil.ee> * @author Kaiko Kaur <kaiko@kultuur.edu.ee> * @author kristian.kankainen@kuu.la * @author Rivo Zängov <eraser@eraser.ee> + * @author Janar Leas <janar.leas@eesti.ee> */ $lang['admin_acl'] = 'Ligipääsukontrolli nimekirja haldamine'; -$lang['acl_group'] = 'Grupp'; -$lang['acl_user'] = 'Kasutaja'; +$lang['acl_group'] = 'Rühm:'; +$lang['acl_user'] = 'Kasutaja:'; $lang['acl_perms'] = 'Lubatud'; $lang['page'] = 'leht'; -$lang['namespace'] = 'alajaotus'; +$lang['namespace'] = 'Nimeruum'; $lang['btn_select'] = 'Vali'; +$lang['p_user_ns'] = 'Kasutaja <b class="aclgroup">%s</b> omab nimeruumis <b class="aclns">%s</b>: <i>%s</i> järgmisi õigusi.'; +$lang['p_group_ns'] = 'Rühma <b class="aclgroup">%s</b> liikmed omavad nimeruumis <b class="aclns">%s</b>: <i>%s</i> järgmisi õigusi.'; +$lang['p_choose_id'] = 'Sisesta ülal-olevasse vormi <b>kasutaja või rühm</b> nägemaks leheküljele <b class="aclpage">%s</b> sätestatud volitusi.'; +$lang['p_choose_ns'] = 'Sisesta ülal-olevasse vormi <b>kasutaja või rühm</b> nägemaks nimeruumile <b class="aclpage">%s</b> sätestatud volitusi.'; +$lang['p_inherited'] = 'Teadmiseks: Neid õigusi pole eralti määratletud, vaid on päritud teistest rühmadest või ülemast nimeruumist.'; +$lang['p_isadmin'] = 'Teadmiseks: Valitud rühm või kasutaja omab alati kõiki õigusi, kuna nii on sätestanud ülemkasutaja.'; +$lang['p_include'] = 'Kõrgemad õigused hõlmavad alamaid. Õigus loomine, üleslaadida ja kustutada rakenduvad nimeruumidele, mitte lehekülgedele.'; +$lang['where'] = 'Lehekülg/nimeruum'; $lang['who'] = 'Kasutaja/Grupp'; $lang['perm'] = 'Õigused'; $lang['acl_perm0'] = 'Pole'; diff --git a/lib/plugins/acl/lang/eu/lang.php b/lib/plugins/acl/lang/eu/lang.php index b9285ff36..bb6ab964a 100644 --- a/lib/plugins/acl/lang/eu/lang.php +++ b/lib/plugins/acl/lang/eu/lang.php @@ -1,13 +1,14 @@ <?php + /** - * Basque language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Inko Illarramendi <inko.i.a@gmail.com> * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['admin_acl'] = 'Atzipen Kontrol Listaren Kudeaketa'; -$lang['acl_group'] = 'Taldea'; -$lang['acl_user'] = 'Erabiltzailea'; +$lang['acl_group'] = 'Taldea:'; +$lang['acl_user'] = 'Erabiltzailea:'; $lang['acl_perms'] = 'Baimenak honetarako:'; $lang['page'] = 'Orria'; $lang['namespace'] = 'Izen-espazioa'; diff --git a/lib/plugins/acl/lang/fa/lang.php b/lib/plugins/acl/lang/fa/lang.php index 24bebaeaf..3564f6a39 100644 --- a/lib/plugins/acl/lang/fa/lang.php +++ b/lib/plugins/acl/lang/fa/lang.php @@ -12,8 +12,8 @@ * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['admin_acl'] = 'مدیریت کنترل دسترسیها'; -$lang['acl_group'] = 'گروه'; -$lang['acl_user'] = 'کاربر'; +$lang['acl_group'] = 'گروه:'; +$lang['acl_user'] = 'کاربر:'; $lang['acl_perms'] = 'مجوز برای'; $lang['page'] = 'صفحه'; $lang['namespace'] = 'فضاینام'; diff --git a/lib/plugins/acl/lang/fi/lang.php b/lib/plugins/acl/lang/fi/lang.php index 50224dfb4..2dfc35801 100644 --- a/lib/plugins/acl/lang/fi/lang.php +++ b/lib/plugins/acl/lang/fi/lang.php @@ -9,8 +9,8 @@ * @author Sami Olmari <sami@olmari.fi> */ $lang['admin_acl'] = 'Käyttöoikeudet (ACL)'; -$lang['acl_group'] = 'Ryhmä'; -$lang['acl_user'] = 'Käyttäjä'; +$lang['acl_group'] = 'Ryhmä:'; +$lang['acl_user'] = 'Käyttäjä:'; $lang['acl_perms'] = 'Oikeudet'; $lang['page'] = 'Sivu'; $lang['namespace'] = 'Nimiavaruus'; diff --git a/lib/plugins/acl/lang/fr/help.txt b/lib/plugins/acl/lang/fr/help.txt index 081978488..9fc2af665 100644 --- a/lib/plugins/acl/lang/fr/help.txt +++ b/lib/plugins/acl/lang/fr/help.txt @@ -6,6 +6,6 @@ Le panneau de gauche liste toutes les catégories et les pages disponibles. Le formulaire ci-dessus permet d'afficher et de modifier les autorisations d'un utilisateur ou d'un groupe sélectionné. -Dans le tableau ci-dessous, toutes les listes de contrôle d'accès (ACL) actuelles sont affichées. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs contrôles d'accès. +Le tableau ci-dessous présente toutes les listes de contrôle d'accès (ACL) actuelles. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs contrôles d'accès. La lecture de [[doku>fr:acl|la documentation officielle des contrôles d'accès]] pourra vous permettre de mieux comprendre le fonctionnement du contrôle d'accès dans DokuWiki. diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index dc17cf79e..9539c5be5 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -28,8 +28,8 @@ * @author Bruno Veilleux <bruno.vey@gmail.com> */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; -$lang['acl_group'] = 'Groupe'; -$lang['acl_user'] = 'Utilisateur'; +$lang['acl_group'] = 'Groupe:'; +$lang['acl_user'] = 'Utilisateur:'; $lang['acl_perms'] = 'Autorisations pour'; $lang['page'] = 'Page'; $lang['namespace'] = 'Catégorie'; diff --git a/lib/plugins/acl/lang/gl/lang.php b/lib/plugins/acl/lang/gl/lang.php index 3325bfd07..74d2a7943 100644 --- a/lib/plugins/acl/lang/gl/lang.php +++ b/lib/plugins/acl/lang/gl/lang.php @@ -7,8 +7,8 @@ * @author Rodrigo Rega <rodrigorega@gmail.com> */ $lang['admin_acl'] = 'Xestión da Lista de Control de Acceso (ACL)'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuario'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuario:'; $lang['acl_perms'] = 'Permisos para'; $lang['page'] = 'Páxina'; $lang['namespace'] = 'Nome de espazo'; diff --git a/lib/plugins/acl/lang/he/lang.php b/lib/plugins/acl/lang/he/lang.php index 6716081eb..2369b8010 100644 --- a/lib/plugins/acl/lang/he/lang.php +++ b/lib/plugins/acl/lang/he/lang.php @@ -10,8 +10,8 @@ * @author Yaron Shahrabani <sh.yaron@gmail.com> */ $lang['admin_acl'] = 'ניהול רשימת בקרת גישות'; -$lang['acl_group'] = 'קבוצה'; -$lang['acl_user'] = 'משתמש'; +$lang['acl_group'] = 'קבוצה:'; +$lang['acl_user'] = 'משתמש:'; $lang['acl_perms'] = 'הרשאות עבור'; $lang['page'] = 'דף'; $lang['namespace'] = 'מרחב שמות'; diff --git a/lib/plugins/acl/lang/hi/lang.php b/lib/plugins/acl/lang/hi/lang.php deleted file mode 100644 index d6f78ffd6..000000000 --- a/lib/plugins/acl/lang/hi/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Hindi language file - * - * @author Abhinav Tyagi <abhinavtyagi11@gmail.com> - * @author yndesai@gmail.com - */ diff --git a/lib/plugins/acl/lang/hr/lang.php b/lib/plugins/acl/lang/hr/lang.php index 8c21f1b0b..b12966c84 100644 --- a/lib/plugins/acl/lang/hr/lang.php +++ b/lib/plugins/acl/lang/hr/lang.php @@ -1,14 +1,15 @@ <?php + /** - * Croatian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Branko Rihtman <theney@gmail.com> * @author Dražen Odobašić <dodobasic@gmail.com> * @author Dejan Igrec dejan.igrec@gmail.com */ $lang['admin_acl'] = 'Upravljanje listom kontrole pristupa'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Korisnik'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Korisnik:'; $lang['acl_perms'] = 'Dozvole za'; $lang['page'] = 'Stranica'; $lang['namespace'] = 'Imenski prostor'; diff --git a/lib/plugins/acl/lang/ia/lang.php b/lib/plugins/acl/lang/ia/lang.php index f7d076539..121424c47 100644 --- a/lib/plugins/acl/lang/ia/lang.php +++ b/lib/plugins/acl/lang/ia/lang.php @@ -6,8 +6,8 @@ * @author Martijn Dekker <martijn@inlv.org> */ $lang['admin_acl'] = 'Gestion de listas de controlo de accesso'; -$lang['acl_group'] = 'Gruppo'; -$lang['acl_user'] = 'Usator'; +$lang['acl_group'] = 'Gruppo:'; +$lang['acl_user'] = 'Usator:'; $lang['acl_perms'] = 'Permissiones pro'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Spatio de nomines'; diff --git a/lib/plugins/acl/lang/id-ni/lang.php b/lib/plugins/acl/lang/id-ni/lang.php deleted file mode 100644 index d367340b7..000000000 --- a/lib/plugins/acl/lang/id-ni/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * idni language file - * - * @author Harefa <fidelis@harefa.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/acl/lang/id/lang.php b/lib/plugins/acl/lang/id/lang.php index 6f619c5ec..3b0ecf446 100644 --- a/lib/plugins/acl/lang/id/lang.php +++ b/lib/plugins/acl/lang/id/lang.php @@ -7,8 +7,8 @@ * @author Yustinus Waruwu <juswaruwu@gmail.com> */ $lang['admin_acl'] = 'Manajemen Daftar Pengendali Akses'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'User'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'User:'; $lang['acl_perms'] = 'Ijin untuk'; $lang['page'] = 'Halaman'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/is/lang.php b/lib/plugins/acl/lang/is/lang.php index b45faa80a..13ed7bfd7 100644 --- a/lib/plugins/acl/lang/is/lang.php +++ b/lib/plugins/acl/lang/is/lang.php @@ -6,8 +6,8 @@ * @author Ólafur Gunnlaugsson <oli@audiotools.com> * @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca> */ -$lang['acl_group'] = 'Hópur'; -$lang['acl_user'] = 'Notandi'; +$lang['acl_group'] = 'Hópur:'; +$lang['acl_user'] = 'Notandi:'; $lang['page'] = 'Síða'; $lang['namespace'] = 'Nafnrými'; $lang['btn_select'] = 'Veldu'; diff --git a/lib/plugins/acl/lang/it/lang.php b/lib/plugins/acl/lang/it/lang.php index ba2d0fd32..82827510f 100644 --- a/lib/plugins/acl/lang/it/lang.php +++ b/lib/plugins/acl/lang/it/lang.php @@ -17,8 +17,8 @@ * @author snarchio@gmail.com */ $lang['admin_acl'] = 'Gestione Lista Controllo Accessi (ACL)'; -$lang['acl_group'] = 'Gruppo'; -$lang['acl_user'] = 'Utente'; +$lang['acl_group'] = 'Gruppo:'; +$lang['acl_user'] = 'Utente:'; $lang['acl_perms'] = 'Permessi per'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Categoria'; diff --git a/lib/plugins/acl/lang/ja/lang.php b/lib/plugins/acl/lang/ja/lang.php index 61fc1ea86..203ab96d2 100644 --- a/lib/plugins/acl/lang/ja/lang.php +++ b/lib/plugins/acl/lang/ja/lang.php @@ -12,8 +12,8 @@ * @author Satoshi Sahara <sahara.satoshi@gmail.com> */ $lang['admin_acl'] = 'アクセスコントロール管理'; -$lang['acl_group'] = 'グループ'; -$lang['acl_user'] = 'ユーザー'; +$lang['acl_group'] = 'グループ:'; +$lang['acl_user'] = 'ユーザー:'; $lang['acl_perms'] = '権限を追加'; $lang['page'] = '文書'; $lang['namespace'] = '名前空間'; diff --git a/lib/plugins/acl/lang/kk/lang.php b/lib/plugins/acl/lang/kk/lang.php index f21b93132..28984fd6d 100644 --- a/lib/plugins/acl/lang/kk/lang.php +++ b/lib/plugins/acl/lang/kk/lang.php @@ -4,7 +4,7 @@ * * @author Nurgozha Kaliaskarov astana08@gmail.com */ -$lang['acl_group'] = 'Группа'; -$lang['acl_user'] = 'Пайдаланушы'; +$lang['acl_group'] = 'Группа:'; +$lang['acl_user'] = 'Пайдаланушы:'; $lang['page'] = 'Бет'; $lang['acl_perm1'] = 'Оқу'; diff --git a/lib/plugins/acl/lang/ko/help.txt b/lib/plugins/acl/lang/ko/help.txt index 9baeedbb9..80069b322 100644 --- a/lib/plugins/acl/lang/ko/help.txt +++ b/lib/plugins/acl/lang/ko/help.txt @@ -1,8 +1,8 @@ === 빠른 도움말: === 현재 문서에서 위키 이름공간과 문서에 대한 접근 권한을 추가하거나 삭제할 수 있습니다. -* 왼쪽 영역에는 선택 가능한 이름공간과 문서 목록을 보여줍니다. -* 위쪽 입력 양식에서 선택된 사용자와 그룹의 접근 권한을 보거나 바꿀 수 있습니다. -* 아래 테이블에서 현재 설정된 모든 접근 제어 규칙을 볼 수 있으며, 즉시 여러 규칙을 삭제하거나 바꿀 수 있습니다. + * 왼쪽 영역에는 선택 가능한 이름공간과 문서 목록을 보여줍니다. + * 위쪽 입력 양식에서 선택된 사용자와 그룹의 접근 권한을 보거나 바꿀 수 있습니다. + * 아래 테이블에서 현재 설정된 모든 접근 제어 규칙을 볼 수 있으며, 즉시 여러 규칙을 삭제하거나 바꿀 수 있습니다. 도쿠위키에서 접근 제어가 어떻게 동작되는지 알아보려면 [[doku>ko:acl|ACL 공식 문서]]를 읽어보시기 바랍니다.
\ No newline at end of file diff --git a/lib/plugins/acl/lang/ko/lang.php b/lib/plugins/acl/lang/ko/lang.php index 34b93a9f4..35563ff6c 100644 --- a/lib/plugins/acl/lang/ko/lang.php +++ b/lib/plugins/acl/lang/ko/lang.php @@ -15,8 +15,8 @@ * @author Garam <rowain8@gmail.com> */ $lang['admin_acl'] = '접근 제어 목록 관리'; -$lang['acl_group'] = '그룹'; -$lang['acl_user'] = '사용자'; +$lang['acl_group'] = '그룹:'; +$lang['acl_user'] = '사용자:'; $lang['acl_perms'] = '권한'; $lang['page'] = '문서'; $lang['namespace'] = '이름공간'; @@ -33,7 +33,7 @@ $lang['p_include'] = '더 높은 접근 권한은 하위를 포함 $lang['current'] = '현재 ACL 규칙'; $lang['where'] = '문서/이름공간'; $lang['who'] = '사용자/그룹'; -$lang['perm'] = '접근 권한'; +$lang['perm'] = '권한'; $lang['acl_perm0'] = '없음'; $lang['acl_perm1'] = '읽기'; $lang['acl_perm2'] = '편집'; diff --git a/lib/plugins/acl/lang/la/lang.php b/lib/plugins/acl/lang/la/lang.php index 941de1f79..3779ba745 100644 --- a/lib/plugins/acl/lang/la/lang.php +++ b/lib/plugins/acl/lang/la/lang.php @@ -5,8 +5,8 @@ * @author Massimiliano Vassalli <vassalli.max@gmail.com> */ $lang['admin_acl'] = 'Administratio Indicis Custodiae Aditus'; -$lang['acl_group'] = 'Grex'; -$lang['acl_user'] = 'Sodalis'; +$lang['acl_group'] = 'Grex:'; +$lang['acl_user'] = 'Sodalis:'; $lang['acl_perms'] = 'Facultas:'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Genus'; diff --git a/lib/plugins/acl/lang/lb/lang.php b/lib/plugins/acl/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/acl/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/acl/lang/lt/lang.php b/lib/plugins/acl/lang/lt/lang.php index f11944746..ef339177b 100644 --- a/lib/plugins/acl/lang/lt/lang.php +++ b/lib/plugins/acl/lang/lt/lang.php @@ -8,8 +8,8 @@ * @author Arunas Vaitekunas <aras@fan.lt> */ $lang['admin_acl'] = 'Priėjimo Kontrolės Sąrašų valdymas'; -$lang['acl_group'] = 'Grupė'; -$lang['acl_user'] = 'Vartotojas'; +$lang['acl_group'] = 'Grupė:'; +$lang['acl_user'] = 'Vartotojas:'; $lang['acl_perms'] = 'Leidimai'; $lang['page'] = 'Puslapis'; $lang['namespace'] = 'Pavadinimas'; diff --git a/lib/plugins/acl/lang/lv/lang.php b/lib/plugins/acl/lang/lv/lang.php index f478b32c6..c0acdd733 100644 --- a/lib/plugins/acl/lang/lv/lang.php +++ b/lib/plugins/acl/lang/lv/lang.php @@ -1,13 +1,13 @@ <?php + /** - * latvian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['admin_acl'] = 'Piekļuves tiesību vadība'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Lietotājs'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Lietotājs:'; $lang['acl_perms'] = 'Tiesības'; $lang['page'] = 'Lapa'; $lang['namespace'] = 'Nodaļa'; diff --git a/lib/plugins/acl/lang/mk/lang.php b/lib/plugins/acl/lang/mk/lang.php index d576c3d1d..27f41e776 100644 --- a/lib/plugins/acl/lang/mk/lang.php +++ b/lib/plugins/acl/lang/mk/lang.php @@ -4,8 +4,8 @@ * * @author Dimitar Talevski <dimi3.14@gmail.com> */ -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Корисник'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Корисник:'; $lang['acl_perms'] = 'Пермисии за'; $lang['page'] = 'Страница'; $lang['btn_select'] = 'Избери'; diff --git a/lib/plugins/acl/lang/mr/lang.php b/lib/plugins/acl/lang/mr/lang.php index 978df758a..1094ed768 100644 --- a/lib/plugins/acl/lang/mr/lang.php +++ b/lib/plugins/acl/lang/mr/lang.php @@ -8,8 +8,8 @@ * @author shantanoo@gmail.com */ $lang['admin_acl'] = 'Access Control List व्यवस्थापन'; -$lang['acl_group'] = 'गट'; -$lang['acl_user'] = 'सदस्य'; +$lang['acl_group'] = 'गट:'; +$lang['acl_user'] = 'सदस्य:'; $lang['acl_perms'] = 'परवानगी \'च्या साठी'; $lang['page'] = 'पान'; $lang['namespace'] = 'नेमस्पेस'; diff --git a/lib/plugins/acl/lang/ms/lang.php b/lib/plugins/acl/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/acl/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/acl/lang/ne/lang.php b/lib/plugins/acl/lang/ne/lang.php index 5e6196a30..481b39ad2 100644 --- a/lib/plugins/acl/lang/ne/lang.php +++ b/lib/plugins/acl/lang/ne/lang.php @@ -8,8 +8,8 @@ * @author Saroj Dhakal<lotusnagarkot@yahoo.com> */ $lang['admin_acl'] = 'एक्सेस कन्ट्रोल लिस्ट व्यवस्थापन'; -$lang['acl_group'] = 'समूह'; -$lang['acl_user'] = 'प्रोगकर्ता'; +$lang['acl_group'] = 'समूह:'; +$lang['acl_user'] = 'प्रोगकर्ता:'; $lang['acl_perms'] = 'को लागि अनुमति'; $lang['page'] = 'पृष्ठ'; $lang['namespace'] = 'नेमस्पेस'; diff --git a/lib/plugins/acl/lang/nl/lang.php b/lib/plugins/acl/lang/nl/lang.php index abb81ae06..a73d13344 100644 --- a/lib/plugins/acl/lang/nl/lang.php +++ b/lib/plugins/acl/lang/nl/lang.php @@ -23,8 +23,8 @@ * @author Remon <no@email.local> */ $lang['admin_acl'] = 'Toegangsrechten'; -$lang['acl_group'] = 'Groep'; -$lang['acl_user'] = 'Gebruiker'; +$lang['acl_group'] = 'Groep:'; +$lang['acl_user'] = 'Gebruiker:'; $lang['acl_perms'] = 'Permissies voor'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/no/lang.php b/lib/plugins/acl/lang/no/lang.php index 82cdd5eef..b9664794d 100644 --- a/lib/plugins/acl/lang/no/lang.php +++ b/lib/plugins/acl/lang/no/lang.php @@ -20,8 +20,8 @@ * @author Egil Hansen <egil@rosetta.no> */ $lang['admin_acl'] = 'Administrasjon av lister for adgangskontroll (ACL)'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Bruker'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Bruker:'; $lang['acl_perms'] = 'Rettigheter for'; $lang['page'] = 'Side'; $lang['namespace'] = 'Navnerom'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 42ce7fdaf..4fa4e8b9d 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -16,8 +16,8 @@ * @author Aoi Karasu <aoikarasu@gmail.com> */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Użytkownik'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Użytkownik:'; $lang['acl_perms'] = 'Uprawnienia użytkownika'; $lang['page'] = 'Strona'; $lang['namespace'] = 'Katalog'; diff --git a/lib/plugins/acl/lang/pt-br/lang.php b/lib/plugins/acl/lang/pt-br/lang.php index ef0ae6c8b..227927524 100644 --- a/lib/plugins/acl/lang/pt-br/lang.php +++ b/lib/plugins/acl/lang/pt-br/lang.php @@ -22,8 +22,8 @@ * @author Victor Westmann <victor.westmann@gmail.com> */ $lang['admin_acl'] = 'Administração da Lista de Controles de Acesso'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuário'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuário:'; $lang['acl_perms'] = 'Permissões para'; $lang['page'] = 'Página'; $lang['namespace'] = 'Espaço de nomes'; diff --git a/lib/plugins/acl/lang/pt/lang.php b/lib/plugins/acl/lang/pt/lang.php index 4c2114d67..aef174612 100644 --- a/lib/plugins/acl/lang/pt/lang.php +++ b/lib/plugins/acl/lang/pt/lang.php @@ -11,8 +11,8 @@ * @author José Campos zecarlosdecampos@gmail.com */ $lang['admin_acl'] = 'Gestão de ACLs'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Utilizador'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Utilizador:'; $lang['acl_perms'] = 'Permissão para'; $lang['page'] = 'Documento'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/ro/lang.php b/lib/plugins/acl/lang/ro/lang.php index 4d093216b..418e63ab3 100644 --- a/lib/plugins/acl/lang/ro/lang.php +++ b/lib/plugins/acl/lang/ro/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Romanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Sergiu Baltariu <s_baltariu@yahoo.com> * @author s_baltariu@yahoo.com * @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro> @@ -13,8 +14,8 @@ * @author Emanuel-Emeric Andrași <em.andrasi@mandrivausers.ro> */ $lang['admin_acl'] = 'Managementul Listei de Control a Accesului'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Utilizator'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Utilizator:'; $lang['acl_perms'] = 'Autorizare pentru'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Spaţiu de nume'; diff --git a/lib/plugins/acl/lang/ru/help.txt b/lib/plugins/acl/lang/ru/help.txt index ecb2fe3d0..e1b76c2c7 100644 --- a/lib/plugins/acl/lang/ru/help.txt +++ b/lib/plugins/acl/lang/ru/help.txt @@ -5,4 +5,4 @@ * Форма выше позволяет вам просмотреть и изменить права доступа для выбранного пользователя или группы. * Текущие права доступа отображены в таблице ниже. Вы можете использовать её для быстрого удаления или изменения правил. -Прочтение [[doku>acl|официальной документации по ACL]] может помочь вам в полном понимании работы управления правами доступа в «ДокуВики». +Прочтение [[doku>acl|официальной документации по правам доступа]] может помочь вам в полном понимании работы управления правами доступа в «Докувики». diff --git a/lib/plugins/acl/lang/ru/lang.php b/lib/plugins/acl/lang/ru/lang.php index ff4740676..b49d216f9 100644 --- a/lib/plugins/acl/lang/ru/lang.php +++ b/lib/plugins/acl/lang/ru/lang.php @@ -19,8 +19,8 @@ * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) */ $lang['admin_acl'] = 'Управление списками контроля доступа'; -$lang['acl_group'] = 'Группа'; -$lang['acl_user'] = 'Пользователь'; +$lang['acl_group'] = 'Группа:'; +$lang['acl_user'] = 'Пользователь:'; $lang['acl_perms'] = 'Права доступа для'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Пространство имён'; diff --git a/lib/plugins/acl/lang/sk/lang.php b/lib/plugins/acl/lang/sk/lang.php index 51837d4b4..001218304 100644 --- a/lib/plugins/acl/lang/sk/lang.php +++ b/lib/plugins/acl/lang/sk/lang.php @@ -9,8 +9,8 @@ * @author Martin Michalek <michalek.dev@gmail.com> */ $lang['admin_acl'] = 'Správa zoznamu prístupových práv'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Užívateľ'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Užívateľ:'; $lang['acl_perms'] = 'Práva pre'; $lang['page'] = 'Stránka'; $lang['namespace'] = 'Menný priestor'; diff --git a/lib/plugins/acl/lang/sl/lang.php b/lib/plugins/acl/lang/sl/lang.php index 303b18cff..84c2088e8 100644 --- a/lib/plugins/acl/lang/sl/lang.php +++ b/lib/plugins/acl/lang/sl/lang.php @@ -9,8 +9,8 @@ * @author Matej Urbančič (mateju@svn.gnome.org) */ $lang['admin_acl'] = 'Upravljanje dostopa'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Uporabnik'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Uporabnik:'; $lang['acl_perms'] = 'Dovoljenja za'; $lang['page'] = 'Stran'; $lang['namespace'] = 'Imenski prostor'; diff --git a/lib/plugins/acl/lang/sq/lang.php b/lib/plugins/acl/lang/sq/lang.php index 30fc99bb0..3edd70947 100644 --- a/lib/plugins/acl/lang/sq/lang.php +++ b/lib/plugins/acl/lang/sq/lang.php @@ -5,8 +5,8 @@ * @author Leonard Elezi leonard.elezi@depinfo.info */ $lang['admin_acl'] = 'Menaxhimi i Listës së Kontrollit të Aksesit'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Përdorues'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Përdorues:'; $lang['acl_perms'] = 'Të drejta për'; $lang['page'] = 'Faqe'; $lang['namespace'] = 'Hapësira e Emrit'; diff --git a/lib/plugins/acl/lang/sr/lang.php b/lib/plugins/acl/lang/sr/lang.php index 20fbb0382..0a94418c7 100644 --- a/lib/plugins/acl/lang/sr/lang.php +++ b/lib/plugins/acl/lang/sr/lang.php @@ -9,8 +9,8 @@ * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['admin_acl'] = 'Управљање листом контроле приступа'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Корисник'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Корисник:'; $lang['acl_perms'] = 'Дозволе за'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Именски простор'; diff --git a/lib/plugins/acl/lang/sv/lang.php b/lib/plugins/acl/lang/sv/lang.php index f226542e6..34c1c6624 100644 --- a/lib/plugins/acl/lang/sv/lang.php +++ b/lib/plugins/acl/lang/sv/lang.php @@ -18,8 +18,8 @@ * @author Smorkster Andersson smorkster@gmail.com */ $lang['admin_acl'] = 'Hantera behörighetslistan (ACL)'; -$lang['acl_group'] = 'Grupp'; -$lang['acl_user'] = 'Användare'; +$lang['acl_group'] = 'Grupp:'; +$lang['acl_user'] = 'Användare:'; $lang['acl_perms'] = 'Behörighet för'; $lang['page'] = 'Sida'; $lang['namespace'] = 'Namnrymd'; diff --git a/lib/plugins/acl/lang/th/lang.php b/lib/plugins/acl/lang/th/lang.php index 472c33cdc..55b707b5c 100644 --- a/lib/plugins/acl/lang/th/lang.php +++ b/lib/plugins/acl/lang/th/lang.php @@ -1,15 +1,16 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> * @author Thanasak Sompaisansin <jombthep@gmail.com> */ $lang['admin_acl'] = 'จัดการรายชื่อเพื่อควบคุมการเข้าถึง (Access Control List:ACL)'; -$lang['acl_group'] = 'กลุ่ม'; -$lang['acl_user'] = 'ผู้ใช้'; +$lang['acl_group'] = 'กลุ่ม:'; +$lang['acl_user'] = 'ผู้ใช้:'; $lang['acl_perms'] = 'สิทธิสำหรับ'; $lang['page'] = 'เพจ'; $lang['namespace'] = 'เนมสเปซ'; diff --git a/lib/plugins/acl/lang/tr/lang.php b/lib/plugins/acl/lang/tr/lang.php index a9699a5f9..3c3e3dbc1 100644 --- a/lib/plugins/acl/lang/tr/lang.php +++ b/lib/plugins/acl/lang/tr/lang.php @@ -11,8 +11,8 @@ * @author farukerdemoncel@gmail.com */ $lang['admin_acl'] = 'Erişim Kontrol Listesi (ACL) Yönetimi'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Kullanıcı'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Kullanıcı:'; $lang['acl_perms'] = 'Şunun için yetkiler:'; $lang['page'] = 'Sayfa'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/uk/lang.php b/lib/plugins/acl/lang/uk/lang.php index 97c66d8a2..4d8b52e1b 100644 --- a/lib/plugins/acl/lang/uk/lang.php +++ b/lib/plugins/acl/lang/uk/lang.php @@ -11,8 +11,8 @@ * @author Ulrikhe Lukoie <lukoie@gmail>.com */ $lang['admin_acl'] = 'Керування списками контролю доступу'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Користувач'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Користувач:'; $lang['acl_perms'] = 'Права доступу для'; $lang['page'] = 'Сторінка'; $lang['namespace'] = 'Простір імен'; diff --git a/lib/plugins/acl/lang/vi/lang.php b/lib/plugins/acl/lang/vi/lang.php index ddf764dca..8ca888cae 100644 --- a/lib/plugins/acl/lang/vi/lang.php +++ b/lib/plugins/acl/lang/vi/lang.php @@ -1,44 +1,35 @@ <?php + /** - * vietnamese language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author NukeViet <admin@nukeviet.vn> + * + * @author NukeViet <admin@nukeviet.vn> */ - -$lang['admin_acl'] = 'Quản lý danh sách quyền truy cập'; -$lang['acl_group'] = 'Nhóm'; -$lang['acl_user'] = 'Thành viên'; -$lang['acl_perms'] = 'Cấp phép cho'; -$lang['page'] = 'Trang'; -$lang['namespace'] = 'Thư mục'; - -$lang['btn_select'] = 'Chọn'; - -$lang['p_user_id'] = 'Thành viên <b class="acluser">%s</b> hiện tại được cấp phép cho trang <b class="aclpage">%s</b>: <i>%s</i>.'; -$lang['p_user_ns'] = 'Thành viên <b class="acluser">%s</b> hiện tại được cấp phép cho thư mục <b class="aclns">%s</b>: <i>%s</i>.'; -$lang['p_group_id'] = 'Thành viên trong nhóm <b class="aclgroup">%s</b> hiện tại được cấp phép cho trang <b class="aclpage">%s</b>: <i>%s</i>.'; -$lang['p_group_ns'] = 'Thành viên trong nhóm <b class="aclgroup">%s</b> hiện tại được cấp phép cho thư mục <b class="aclns">%s</b>: <i>%s</i>.'; - -$lang['p_choose_id'] = 'Hãy <b>nhập tên thành viên hoặc nhóm</b> vào ô trên đây để xem hoặc sửa quyền đã thiết đặt cho trang <b class="aclpage">%s</b>.'; -$lang['p_choose_ns'] = 'Hãy <b>nhập tên thành viên hoặc nhóm</b> vào ô trên đây để xem hoặc sửa quyền đã thiết đặt cho thư mục <b class="aclns">%s</b>.'; - - -$lang['p_inherited'] = 'Ghi chú: Có những quyền không được thể hiện ở đây nhưng nó được cấp phép từ những nhóm hoặc thư mục cấp cao.'; -$lang['p_isadmin'] = 'Ghi chú: Nhóm hoặc thành viên này luôn được cấp đủ quyền vì họ là Quản trị tối cao'; -$lang['p_include'] = 'Một số quyền thấp được thể hiện ở mức cao hơn. Quyền tạo, tải lên và xóa chỉ dành cho thư mục, không dành cho trang.'; - -$lang['current'] = 'Danh sách quyền truy cập hiện tại'; -$lang['where'] = 'Trang/Thư mục'; -$lang['who'] = 'Thành viên/Nhóm'; -$lang['perm'] = 'Quyền'; - -$lang['acl_perm0'] = 'Không'; -$lang['acl_perm1'] = 'Đọc'; -$lang['acl_perm2'] = 'Sửa'; -$lang['acl_perm4'] = 'Tạo'; -$lang['acl_perm8'] = 'Tải lên'; -$lang['acl_perm16'] = 'Xóa'; -$lang['acl_new'] = 'Thêm mục mới'; -$lang['acl_mod'] = 'Sửa'; -//Setup VIM: ex: et ts=2 : +$lang['admin_acl'] = 'Quản lý danh sách quyền truy cập'; +$lang['acl_group'] = 'Nhóm:'; +$lang['acl_user'] = 'Thành viên:'; +$lang['acl_perms'] = 'Cấp phép cho'; +$lang['page'] = 'Trang'; +$lang['namespace'] = 'Thư mục'; +$lang['btn_select'] = 'Chọn'; +$lang['p_user_id'] = 'Thành viên <b class="acluser">%s</b> hiện tại được cấp phép cho trang <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_user_ns'] = 'Thành viên <b class="acluser">%s</b> hiện tại được cấp phép cho thư mục <b class="aclns">%s</b>: <i>%s</i>.'; +$lang['p_group_id'] = 'Thành viên trong nhóm <b class="aclgroup">%s</b> hiện tại được cấp phép cho trang <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_group_ns'] = 'Thành viên trong nhóm <b class="aclgroup">%s</b> hiện tại được cấp phép cho thư mục <b class="aclns">%s</b>: <i>%s</i>.'; +$lang['p_choose_id'] = 'Hãy <b>nhập tên thành viên hoặc nhóm</b> vào ô trên đây để xem hoặc sửa quyền đã thiết đặt cho trang <b class="aclpage">%s</b>.'; +$lang['p_choose_ns'] = 'Hãy <b>nhập tên thành viên hoặc nhóm</b> vào ô trên đây để xem hoặc sửa quyền đã thiết đặt cho thư mục <b class="aclns">%s</b>.'; +$lang['p_inherited'] = 'Ghi chú: Có những quyền không được thể hiện ở đây nhưng nó được cấp phép từ những nhóm hoặc thư mục cấp cao.'; +$lang['p_isadmin'] = 'Ghi chú: Nhóm hoặc thành viên này luôn được cấp đủ quyền vì họ là Quản trị tối cao'; +$lang['p_include'] = 'Một số quyền thấp được thể hiện ở mức cao hơn. Quyền tạo, tải lên và xóa chỉ dành cho thư mục, không dành cho trang.'; +$lang['current'] = 'Danh sách quyền truy cập hiện tại'; +$lang['where'] = 'Trang/Thư mục'; +$lang['who'] = 'Thành viên/Nhóm'; +$lang['perm'] = 'Quyền'; +$lang['acl_perm0'] = 'Không'; +$lang['acl_perm1'] = 'Đọc'; +$lang['acl_perm2'] = 'Sửa'; +$lang['acl_perm4'] = 'Tạo'; +$lang['acl_perm8'] = 'Tải lên'; +$lang['acl_perm16'] = 'Xóa'; +$lang['acl_new'] = 'Thêm mục mới'; +$lang['acl_mod'] = 'Sửa'; diff --git a/lib/plugins/acl/lang/zh-tw/lang.php b/lib/plugins/acl/lang/zh-tw/lang.php index a56435318..c37727212 100644 --- a/lib/plugins/acl/lang/zh-tw/lang.php +++ b/lib/plugins/acl/lang/zh-tw/lang.php @@ -15,8 +15,8 @@ * @author Ichirou Uchiki <syaoranhinata@gmail.com> */ $lang['admin_acl'] = '管理存取控制表 (ACL)'; -$lang['acl_group'] = '群組'; -$lang['acl_user'] = '使用者'; +$lang['acl_group'] = '群組:'; +$lang['acl_user'] = '使用者:'; $lang['acl_perms'] = '設定權限於'; $lang['page'] = '頁面'; $lang['namespace'] = '分類名稱'; diff --git a/lib/plugins/acl/lang/zh/lang.php b/lib/plugins/acl/lang/zh/lang.php index 029446cca..4294e6034 100644 --- a/lib/plugins/acl/lang/zh/lang.php +++ b/lib/plugins/acl/lang/zh/lang.php @@ -17,8 +17,8 @@ * @author Shuo-Ting Jian <shoting@gmail.com> */ $lang['admin_acl'] = '访问控制列表(ACL)管理器'; -$lang['acl_group'] = '组'; -$lang['acl_user'] = '用户'; +$lang['acl_group'] = '组:'; +$lang['acl_user'] = '用户:'; $lang['acl_perms'] = '许可给'; $lang['page'] = '页面'; $lang['namespace'] = '命名空间'; diff --git a/lib/plugins/acl/pix/group.png b/lib/plugins/acl/pix/group.png Binary files differindex d80eb2606..348d4e55c 100644 --- a/lib/plugins/acl/pix/group.png +++ b/lib/plugins/acl/pix/group.png diff --git a/lib/plugins/acl/pix/ns.png b/lib/plugins/acl/pix/ns.png Binary files differindex c35e832da..77e03b19e 100644 --- a/lib/plugins/acl/pix/ns.png +++ b/lib/plugins/acl/pix/ns.png diff --git a/lib/plugins/acl/pix/user.png b/lib/plugins/acl/pix/user.png Binary files differindex 7b4a507a0..8d5d1c2e9 100644 --- a/lib/plugins/acl/pix/user.png +++ b/lib/plugins/acl/pix/user.png diff --git a/lib/plugins/acl/plugin.info.txt b/lib/plugins/acl/plugin.info.txt index 029dc82e7..cb8fe7e8e 100644 --- a/lib/plugins/acl/plugin.info.txt +++ b/lib/plugins/acl/plugin.info.txt @@ -1,7 +1,7 @@ base acl author Andreas Gohr email andi@splitbrain.org -date 2013-02-17 +date 2014-06-04 name ACL Manager desc Manage Page Access Control Lists url http://dokuwiki.org/plugin:acl diff --git a/lib/plugins/acl/remote.php b/lib/plugins/acl/remote.php index 6d5201cf6..b10c544ee 100644 --- a/lib/plugins/acl/remote.php +++ b/lib/plugins/acl/remote.php @@ -1,7 +1,16 @@ <?php +/** + * Class remote_plugin_acl + */ class remote_plugin_acl extends DokuWiki_Remote_Plugin { - function _getMethods() { + + /** + * Returns details about the remote plugin methods + * + * @return array + */ + public function _getMethods() { return array( 'addAcl' => array( 'args' => array('string','string','int'), @@ -17,12 +26,29 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin { ); } - function addAcl($scope, $user, $level){ + /** + * Add a new entry to ACL config + * + * @param string $scope + * @param string $user + * @param int $level see also inc/auth.php + * @return bool + */ + public function addAcl($scope, $user, $level){ + /** @var admin_plugin_acl $apa */ $apa = plugin_load('admin', 'acl'); return $apa->_acl_add($scope, $user, $level); } - function delAcl($scope, $user){ + /** + * Remove an entry from ACL config + * + * @param string $scope + * @param string $user + * @return bool + */ + public function delAcl($scope, $user){ + /** @var admin_plugin_acl $apa */ $apa = plugin_load('admin', 'acl'); return $apa->_acl_del($scope, $user); } diff --git a/lib/plugins/admin.php b/lib/plugins/admin.php index 9a1fb9fdc..39dece453 100644 --- a/lib/plugins/admin.php +++ b/lib/plugins/admin.php @@ -14,7 +14,14 @@ if(!defined('DOKU_INC')) die(); */ class DokuWiki_Admin_Plugin extends DokuWiki_Plugin { - function getMenuText($language) { + /** + * Return the text that is displayed at the main admin menu + * (Default localized language string 'menu' is returned, override this function for setting another name) + * + * @param string $language language code + * @return string menu string + */ + public function getMenuText($language) { $menutext = $this->getLang('menu'); if (!$menutext) { $info = $this->getInfo(); @@ -23,23 +30,48 @@ class DokuWiki_Admin_Plugin extends DokuWiki_Plugin { return $menutext; } - function getMenuSort() { + /** + * Determine position in list in admin window + * Lower values are sorted up + * + * @return int + */ + public function getMenuSort() { return 1000; } - function handle() { + /** + * Carry out required processing + */ + public function handle() { trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING); } - function html() { + /** + * Output html of the admin page + */ + public function html() { trigger_error('html() not implemented in '.get_class($this), E_USER_WARNING); } - function forAdminOnly() { + /** + * Return true for access only by admins (config:superuser) or false if managers are allowed as well + * + * @return bool + */ + public function forAdminOnly() { return true; } - function getTOC(){ + /** + * Return array with ToC items. Items can be created with the html_mktocitem() + * + * @see html_mktocitem() + * @see tpl_toc() + * + * @return array + */ + public function getTOC(){ return array(); } } diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php index dc66d6380..4799b3a38 100644 --- a/lib/plugins/auth.php +++ b/lib/plugins/auth.php @@ -116,7 +116,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { * @author Gabriel Birke <birke@d-scribe.de> * @param string $type Modification type ('create', 'modify', 'delete') * @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type - * @return mixed Result from the modification function or false if an event handler has canceled the action + * @return bool|null|int Result from the modification function or false if an event handler has canceled the action */ public function triggerUserMod($type, $params) { $validTypes = array( @@ -124,12 +124,15 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { 'modify' => 'modifyUser', 'delete' => 'deleteUsers' ); - if(empty($validTypes[$type])) + if(empty($validTypes[$type])) { return false; + } + + $result = false; $eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null); $evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata); if($evt->advise_before(true)) { - $result = call_user_func_array(array($this, $validTypes[$type]), $params); + $result = call_user_func_array(array($this, $validTypes[$type]), $evt->data['params']); $evt->data['modification_result'] = $result; } $evt->advise_after(); @@ -229,14 +232,15 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { * at least these fields: * * name string full name of the user - * mail string email addres of the user + * mail string email address of the user * grps array list of groups the user is in * * @author Andreas Gohr <andi@splitbrain.org> * @param string $user the user name - * @return array containing user data or false + * @param bool $requireGroups whether or not the returned data must include groups + * @return false|array containing user data or false */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { if(!$this->cando['external']) msg("no valid authorisation system in use", -1); return false; } @@ -316,11 +320,11 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { * * @author Chris Smith <chris@jalakai.co.uk> * @param int $start index of first user to be returned - * @param int $limit max number of users to be returned + * @param int $limit max number of users to be returned, 0 for unlimited * @param array $filter array of field/pattern pairs, null for no filter * @return array list of userinfo (refer getUserData for internal userinfo details) */ - public function retrieveUsers($start = 0, $limit = -1, $filter = null) { + public function retrieveUsers($start = 0, $limit = 0, $filter = null) { msg("authorisation method does not support mass retrieval of user data", -1); return array(); } diff --git a/lib/plugins/authad/action.php b/lib/plugins/authad/action.php new file mode 100644 index 000000000..bc0f90c7e --- /dev/null +++ b/lib/plugins/authad/action.php @@ -0,0 +1,91 @@ +<?php +/** + * DokuWiki Plugin addomain (Action Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <gohr@cosmocode.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class action_plugin_addomain + */ +class action_plugin_authad extends DokuWiki_Action_Plugin { + + /** + * Registers a callback function for a given event + */ + public function register(Doku_Event_Handler $controller) { + + $controller->register_hook('AUTH_LOGIN_CHECK', 'BEFORE', $this, 'handle_auth_login_check'); + $controller->register_hook('HTML_LOGINFORM_OUTPUT', 'BEFORE', $this, 'handle_html_loginform_output'); + + } + + /** + * Adds the selected domain as user postfix when attempting a login + * + * @param Doku_Event $event + * @param array $param + */ + public function handle_auth_login_check(Doku_Event &$event, $param) { + global $INPUT; + + /** @var auth_plugin_authad $auth */ + global $auth; + if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used + + if($INPUT->str('dom')) { + $usr = $auth->cleanUser($event->data['user']); + $dom = $auth->_userDomain($usr); + if(!$dom) { + $usr = "$usr@".$INPUT->str('dom'); + } + $INPUT->post->set('u', $usr); + $event->data['user'] = $usr; + } + } + + /** + * Shows a domain selection in the login form when more than one domain is configured + * + * @param Doku_Event $event + * @param array $param + */ + public function handle_html_loginform_output(Doku_Event &$event, $param) { + global $INPUT; + /** @var auth_plugin_authad $auth */ + global $auth; + if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used + $domains = $auth->_getConfiguredDomains(); + if(count($domains) <= 1) return; // no choice at all + + /** @var Doku_Form $form */ + $form =& $event->data; + + // any default? + $dom = ''; + if($INPUT->has('u')) { + $usr = $auth->cleanUser($INPUT->str('u')); + $dom = $auth->_userDomain($usr); + + // update user field value + if($dom) { + $usr = $auth->_userName($usr); + $pos = $form->findElementByAttribute('name', 'u'); + $ele =& $form->getElementAt($pos); + $ele['value'] = $usr; + } + } + + // add select box + $element = form_makeListboxField('dom', $domains, $dom, $this->getLang('domain'), '', 'block'); + $pos = $form->findElementByAttribute('name', 'p'); + $form->insertElement($pos + 1, $element); + } + +} + +// vim:ts=4:sw=4:et:
\ No newline at end of file diff --git a/lib/plugins/authad/adLDAP/adLDAP.php b/lib/plugins/authad/adLDAP/adLDAP.php index c1f92abe2..5563e4fe9 100644 --- a/lib/plugins/authad/adLDAP/adLDAP.php +++ b/lib/plugins/authad/adLDAP/adLDAP.php @@ -947,5 +947,3 @@ class adLDAP { * } */ class adLDAPException extends Exception {} - -?>
\ No newline at end of file diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php index e1d758fb8..88b56046c 100644 --- a/lib/plugins/authad/auth.php +++ b/lib/plugins/authad/auth.php @@ -177,9 +177,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { * * @author James Van Lommel <james@nosq.com> * @param string $user + * @param bool $requireGroups (optional) - ignored, groups are always supplied by this plugin * @return array */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { global $conf; global $lang; global $ID; @@ -202,6 +203,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { } //general user info + $info = array(); $info['name'] = $result[0]['displayname'][0]; $info['mail'] = $result[0]['mail'][0]; $info['uid'] = $result[0]['samaccountname'][0]; @@ -327,16 +329,17 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { * Bulk retrieval of user data * * @author Dominik Eckelmann <dokuwiki@cosmocode.de> + * * @param int $start index of first user to be returned * @param int $limit max number of users to be returned * @param array $filter array of field/pattern pairs, null for no filter * @return array userinfo (refer getUserData for internal userinfo details) */ - public function retrieveUsers($start = 0, $limit = -1, $filter = array()) { + public function retrieveUsers($start = 0, $limit = 0, $filter = array()) { $adldap = $this->_adldap(null); if(!$adldap) return false; - if($this->users === null) { + if(!$this->users) { //get info for given user $result = $adldap->user()->all(); if (!$result) return array(); @@ -357,7 +360,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { } if($this->_filter($user, $info)) { $result[$user] = $info; - if(($limit >= 0) && (++$count >= $limit)) break; + if(($limit > 0) && (++$count >= $limit)) break; } } return $result; @@ -445,7 +448,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { /** * Get the domain part from a user * - * @param $user + * @param string $user * @return string */ public function _userDomain($user) { @@ -456,7 +459,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { /** * Get the user part from a user * - * @param $user + * @param string $user * @return string */ public function _userName($user) { @@ -512,11 +515,37 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { } /** + * Returns a list of configured domains + * + * The default domain has an empty string as key + * + * @return array associative array(key => domain) + */ + public function _getConfiguredDomains() { + $domains = array(); + if(empty($this->conf['account_suffix'])) return $domains; // not configured yet + + // add default domain, using the name from account suffix + $domains[''] = ltrim($this->conf['account_suffix'], '@'); + + // find additional domains + foreach($this->conf as $key => $val) { + if(is_array($val) && isset($val['account_suffix'])) { + $domains[$key] = ltrim($val['account_suffix'], '@'); + } + } + ksort($domains); + + return $domains; + } + + /** * Check provided user and userinfo for matching patterns * * The patterns are set up with $this->_constructPattern() * * @author Chris Smith <chris@jalakai.co.uk> + * * @param string $user * @param array $info * @return bool @@ -538,6 +567,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { * Create a pattern for $this->_filter() * * @author Chris Smith <chris@jalakai.co.uk> + * * @param array $filter */ protected function _constructPattern($filter) { diff --git a/lib/plugins/authad/lang/ar/lang.php b/lib/plugins/authad/lang/ar/lang.php new file mode 100644 index 000000000..e0ba7681a --- /dev/null +++ b/lib/plugins/authad/lang/ar/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamed Belhsine <b.mohamed897@gmail.com> + */ +$lang['domain'] = 'مجال تسجيل الدخول'; diff --git a/lib/plugins/authad/lang/ar/settings.php b/lib/plugins/authad/lang/ar/settings.php new file mode 100644 index 000000000..d2a2e2a35 --- /dev/null +++ b/lib/plugins/authad/lang/ar/settings.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author alhajr <alhajr300@gmail.com> + */ +$lang['account_suffix'] = 'لاحقة الحساب الخاص بك. على سبيل المثال. <code>@my.domain.org</code>'; +$lang['domain_controllers'] = 'قائمة مفصولة بفواصل من وحدات التحكم بالمجال. على سبيل المثال. <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_password'] = 'كلمة المرور للمستخدم أعلاه.'; +$lang['real_primarygroup'] = 'ينبغي أن تحل المجموعة الأساسية الحقيقية بدلاً من افتراض "Domain Users" (أبطأ).'; +$lang['expirywarn'] = 'عدد الأيام المقدمة لتحذير المستخدم حول كلمة مرور منتهية الصلاحية. (0) للتعطيل.'; diff --git a/lib/plugins/authad/lang/bg/settings.php b/lib/plugins/authad/lang/bg/settings.php index 877810c4e..bf7a2d8ce 100644 --- a/lib/plugins/authad/lang/bg/settings.php +++ b/lib/plugins/authad/lang/bg/settings.php @@ -1,18 +1,19 @@ <?php + /** - * Bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Kiril <neohidra@gmail.com> */ -$lang['account_suffix'] = 'Наставка на акаунта Ви. Например <code>@някакъв.домейн.org</code>'; -$lang['base_dn'] = 'Вашият основен DN. Например <code>DC=моят,DC=домейн,DC=org</code>'; -$lang['domain_controllers'] = 'Domain controller списък, разделете сървърите със запетая. Например <code>сървър1.домейн.org,сървър2.домейн.org</code>'; -$lang['admin_username'] = 'Привилегирован Active Directory потребител с достъп до данните на останалите потребители. Не е задължително, но е необходимо за някои функционалности като изпращането на имейл за абонаменти.'; -$lang['admin_password'] = 'Паролата на горния потребител.'; -$lang['sso'] = 'Да се ползва ли еднократно вписване чрез Kerberos или NTLM?'; -$lang['real_primarygroup'] = 'Да се извлича ли истинската група вместо да се предполага "Domain Users" (по-бавно)'; -$lang['use_ssl'] = 'Ползване на SSL свързаност? Не отбелязвайте TLS (по-долу) ако включите опцията.'; -$lang['use_tls'] = 'Ползване на TLS свързаност? Не отбелязвайте SSL (по-горе) ако включите опцията.'; -$lang['debug'] = 'Показване на допълнителна debug информация при грешка?'; -$lang['expirywarn'] = 'Предупреждаване на потребителите Х дни преди изтичане валидността на паролата им. Въведете 0 за изключване.'; -$lang['additional'] = 'Списък с допълнителни AD атрибути за извличане от потребителските данни (разделяйте ги със запетая). Ползва се от няколко приставки.';
\ No newline at end of file +$lang['account_suffix'] = 'Наставка на акаунта Ви. Например <code>@някакъв.домейн.org</code>'; +$lang['base_dn'] = 'Вашият основен DN. Например <code>DC=моят,DC=домейн,DC=org</code>'; +$lang['domain_controllers'] = 'Domain controller списък, разделете сървърите със запетая. Например <code>сървър1.домейн.org,сървър2.домейн.org</code>'; +$lang['admin_username'] = 'Привилегирован Active Directory потребител с достъп до данните на останалите потребители. Не е задължително, но е необходимо за някои функционалности като изпращането на имейл за абонаменти.'; +$lang['admin_password'] = 'Паролата на горния потребител.'; +$lang['sso'] = 'Да се ползва ли еднократно вписване чрез Kerberos или NTLM?'; +$lang['real_primarygroup'] = 'Да се извлича ли истинската група вместо да се предполага "Domain Users" (по-бавно)'; +$lang['use_ssl'] = 'Ползване на SSL свързаност? Не отбелязвайте TLS (по-долу) ако включите опцията.'; +$lang['use_tls'] = 'Ползване на TLS свързаност? Не отбелязвайте SSL (по-горе) ако включите опцията.'; +$lang['debug'] = 'Показване на допълнителна debug информация при грешка?'; +$lang['expirywarn'] = 'Предупреждаване на потребителите Х дни преди изтичане валидността на паролата им. Въведете 0 за изключване.'; +$lang['additional'] = 'Списък с допълнителни AD атрибути за извличане от потребителските данни (разделяйте ги със запетая). Ползва се от няколко приставки.'; diff --git a/lib/plugins/authad/lang/cs/lang.php b/lib/plugins/authad/lang/cs/lang.php new file mode 100644 index 000000000..8119d208a --- /dev/null +++ b/lib/plugins/authad/lang/cs/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['domain'] = 'Přihlašovací doména'; diff --git a/lib/plugins/authad/lang/cs/settings.php b/lib/plugins/authad/lang/cs/settings.php index 28222d332..92b2d0f13 100644 --- a/lib/plugins/authad/lang/cs/settings.php +++ b/lib/plugins/authad/lang/cs/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author mkucera66@seznam.cz + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['account_suffix'] = 'Přípona vašeho účtu, tj. <code>@moje.domena.org</code>'; $lang['base_dn'] = 'Vaše doménové jméno DN. tj. <code>DC=moje,DC=domena,DC=org</code>'; @@ -11,6 +12,7 @@ $lang['domain_controllers'] = 'Čárkou oddělenových kontrol=rů, tj. <code $lang['admin_username'] = 'Privilegovaný uživatel Active Directory s přístupem ke všem datům. Volitelně, ale nutné pro určité akce typu zasílání mailů.'; $lang['admin_password'] = 'Heslo uživatele výše'; $lang['sso'] = 'Chcete přihlašování Single-Sign-On pomocí jádra Kerberos nebo NTLM ( autentizační protokol obvyklý ve Windows)?'; +$lang['sso_charset'] = 'Znaková sada kterou bude webserverem přenášeno uživatelské jméno pro Kerberos nebo NTLM. Prázdné pro UTF-8 nebo latin-1. Vyžaduje rozšíření iconv.'; $lang['real_primarygroup'] = 'Má být zjištěna primární skupina namísto vyhodnocení hodnoty "doménoví uživatelé" (pomalejší)'; $lang['use_ssl'] = 'Použít spojení SSL? Pokud ano, nevyužívejte TLS níže.'; $lang['use_tls'] = 'Použít spojení TLS? Pokud ano, nevyužívejte SSL výše.'; diff --git a/lib/plugins/authad/lang/de/lang.php b/lib/plugins/authad/lang/de/lang.php new file mode 100644 index 000000000..eea511d1b --- /dev/null +++ b/lib/plugins/authad/lang/de/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Andreas Gohr <gohr@cosmocode.de> + */ +$lang['domain'] = 'Anmelde-Domäne'; diff --git a/lib/plugins/authad/lang/en/lang.php b/lib/plugins/authad/lang/en/lang.php new file mode 100644 index 000000000..e2967d662 --- /dev/null +++ b/lib/plugins/authad/lang/en/lang.php @@ -0,0 +1,10 @@ +<?php +/** + * English language file for addomain plugin + * + * @author Andreas Gohr <gohr@cosmocode.de> + */ + +$lang['domain'] = 'Logon Domain'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authad/lang/eo/lang.php b/lib/plugins/authad/lang/eo/lang.php new file mode 100644 index 000000000..be4abc123 --- /dev/null +++ b/lib/plugins/authad/lang/eo/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Robert Bogenschneider <bogi@uea.org> + */ +$lang['domain'] = 'Ensaluta domajno'; diff --git a/lib/plugins/authad/lang/es/lang.php b/lib/plugins/authad/lang/es/lang.php new file mode 100644 index 000000000..c5b242cba --- /dev/null +++ b/lib/plugins/authad/lang/es/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Juan De La Cruz <juann.dlc@gmail.com> + */ +$lang['domain'] = 'Dominio de inicio'; diff --git a/lib/plugins/authad/lang/es/settings.php b/lib/plugins/authad/lang/es/settings.php index 98b78056b..970259c9c 100644 --- a/lib/plugins/authad/lang/es/settings.php +++ b/lib/plugins/authad/lang/es/settings.php @@ -5,11 +5,19 @@ * * @author monica <may.dorado@gmail.com> * @author Antonio Bueno <atnbueno@gmail.com> + * @author Juan De La Cruz <juann.dlc@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> */ -$lang['account_suffix'] = 'Su cuenta, sufijo. Ejem. <code> @ my.domain.org </ code>'; +$lang['account_suffix'] = 'Su cuenta, sufijo. Ejem. <code> @ my.domain.org </code>'; $lang['base_dn'] = 'Su base DN. Ejem. <code>DC=my,DC=dominio,DC=org</code>'; $lang['domain_controllers'] = 'Una lista separada por coma de los controladores de dominios. Ejem. <code>srv1.dominio.org,srv2.dominio.org</code>'; $lang['admin_username'] = 'Un usuario con privilegios de Active Directory con acceso a los datos de cualquier otro usuario. Opcional, pero es necesario para determinadas acciones como el envío de suscripciones de correos electrónicos.'; $lang['admin_password'] = 'La contraseña del usuario anterior.'; $lang['sso'] = 'En caso de inicio de sesión usará ¿Kerberos o NTLM?'; $lang['sso_charset'] = 'La codificación con que tu servidor web pasará el nombre de usuario Kerberos o NTLM. Si es UTF-8 o latin-1 dejar en blanco. Requiere la extensión iconv.'; +$lang['real_primarygroup'] = 'Resolver el grupo primario real en vez de asumir "Domain Users" (más lento)'; +$lang['use_ssl'] = '¿Usar conexión SSL? Si se usa, no habilitar TLS abajo.'; +$lang['use_tls'] = '¿Usar conexión TLS? Si se usa, no habilitar SSL arriba.'; +$lang['debug'] = 'Mostrar información adicional de depuración sobre los errores?'; +$lang['expirywarn'] = 'Días por adelantado para avisar al usuario de que contraseña expirará. 0 para deshabilitar.'; +$lang['additional'] = 'Una lista separada por comas de atributos AD adicionales a obtener de los datos de usuario. Usado por algunos plugins.'; diff --git a/lib/plugins/authad/lang/fa/lang.php b/lib/plugins/authad/lang/fa/lang.php new file mode 100644 index 000000000..1ea73cfdb --- /dev/null +++ b/lib/plugins/authad/lang/fa/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hamid <zarrabi@sharif.edu> + */ +$lang['domain'] = 'دامنهی ورود'; diff --git a/lib/plugins/authad/lang/fa/settings.php b/lib/plugins/authad/lang/fa/settings.php new file mode 100644 index 000000000..161479afb --- /dev/null +++ b/lib/plugins/authad/lang/fa/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Omid Hezaveh <hezpublic@gmail.com> + */ +$lang['admin_password'] = 'رمز کاربر بالایی '; +$lang['use_ssl'] = 'از اساسال استفاده میکنید؟ در این صورت تیالاس را در پایین فعال نکنید. '; +$lang['use_tls'] = 'از تیالاس استفاده میکنید؟ در این صورت اساسال را در بالا فعال نکنید. '; diff --git a/lib/plugins/authad/lang/fr/lang.php b/lib/plugins/authad/lang/fr/lang.php new file mode 100644 index 000000000..2de362e41 --- /dev/null +++ b/lib/plugins/authad/lang/fr/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ggallon <gwenael.gallon@mac.com> + */ +$lang['domain'] = 'Domaine de connexion'; diff --git a/lib/plugins/authad/lang/fr/settings.php b/lib/plugins/authad/lang/fr/settings.php index d05390efc..84e0d00d9 100644 --- a/lib/plugins/authad/lang/fr/settings.php +++ b/lib/plugins/authad/lang/fr/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Bruno Veilleux <bruno.vey@gmail.com> + * @author Momo50 <c.brothelande@gmail.com> */ $lang['account_suffix'] = 'Le suffixe de votre compte. Ex.: <code>@mon.domaine.org</code>'; $lang['base_dn'] = 'Votre nom de domaine de base. <code>DC=mon,DC=domaine,DC=org</code>'; @@ -11,6 +12,7 @@ $lang['domain_controllers'] = 'Une liste de contrôleurs de domaine séparés $lang['admin_username'] = 'Un utilisateur Active Directory avec accès aux données de tous les autres utilisateurs. Facultatif, mais nécessaire pour certaines actions telles que l\'envoi de courriels d\'abonnement.'; $lang['admin_password'] = 'Le mot de passe de l\'utilisateur ci-dessus.'; $lang['sso'] = 'Est-ce que la connexion unique (Single-Sign-On) par Kerberos ou NTLM doit être utilisée?'; +$lang['sso_charset'] = 'Le jeu de caractères de votre serveur web va passer le nom d\'utilisateur Kerberos ou NTLM. Vide pour UTF-8 ou latin-1. Nécessite l\'extension iconv.'; $lang['real_primarygroup'] = 'Est-ce que le véritable groupe principal doit être résolu au lieu de présumer "Domain Users" (plus lent)?'; $lang['use_ssl'] = 'Utiliser une connexion SSL? Si utilisée, n\'activez pas TLS ci-dessous.'; $lang['use_tls'] = 'Utiliser une connexion TLS? Si utilisée, n\'activez pas SSL ci-dessus.'; diff --git a/lib/plugins/authad/lang/hr/lang.php b/lib/plugins/authad/lang/hr/lang.php new file mode 100644 index 000000000..f750c91b5 --- /dev/null +++ b/lib/plugins/authad/lang/hr/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['domain'] = 'Domena za prijavu'; diff --git a/lib/plugins/authad/lang/hr/settings.php b/lib/plugins/authad/lang/hr/settings.php new file mode 100644 index 000000000..a024b10b7 --- /dev/null +++ b/lib/plugins/authad/lang/hr/settings.php @@ -0,0 +1,20 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['account_suffix'] = 'Vaš sufiks korisničkog imena. Npr. <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Vaš bazni DN. Npr. <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Zarezom odvojena lista domenskih kontrolera. Npr. <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Privilegirani korisnik Active Directory-a s pristupom svim korisničkim podacima. Opcionalno, ali potrebno za određene akcije kao što je slanje pretplatničkih poruka.'; +$lang['admin_password'] = 'Lozinka gore navedenoga korisnika.'; +$lang['sso'] = 'Da li će Single-Sign-On prijava biti korištena preko Kerberosa ili NTLM-a?'; +$lang['sso_charset'] = 'Znakovni set koji će se koristiti Kerberos ili NTLM pri slanju imena korisnika. Prazno za UTF-8 ili latin-1. Zahtjeva iconv ekstenziju.'; +$lang['real_primarygroup'] = 'Da li da se razluči stvarna primarna grupa umjesto pretpostavke da je to "Domain Users" (sporije !).'; +$lang['use_ssl'] = 'Koristi SSL vezu? Ako da, dolje ne koristi TLS!'; +$lang['use_tls'] = 'Koristi TLS vezu? Ako da, gore ne koristi SSL!'; +$lang['debug'] = 'Prikaži dodatni debug ispis u slučaju greške? '; +$lang['expirywarn'] = 'Upozori korisnike o isteku lozinke ovoliko dana. 0 za onemogućavanje. '; +$lang['additional'] = 'Zarezom odvojena lista dodatnih AD atributa koji se dohvaćaju iz korisničkih podataka. Koristi se u nekim dodatcima (plugin).'; diff --git a/lib/plugins/authad/lang/hu/lang.php b/lib/plugins/authad/lang/hu/lang.php new file mode 100644 index 000000000..7bb6084b0 --- /dev/null +++ b/lib/plugins/authad/lang/hu/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['domain'] = 'Bejelentkezési tartomány'; diff --git a/lib/plugins/authad/lang/hu/settings.php b/lib/plugins/authad/lang/hu/settings.php index 1510e1756..be0592d68 100644 --- a/lib/plugins/authad/lang/hu/settings.php +++ b/lib/plugins/authad/lang/hu/settings.php @@ -4,16 +4,18 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Marton Sebok <sebokmarton@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ $lang['account_suffix'] = 'Felhasználói azonosító végződése, pl. <code>@my.domain.org</code>.'; $lang['base_dn'] = 'Bázis DN, pl. <code>DC=my,DC=domain,DC=org</code>.'; $lang['domain_controllers'] = 'Tartománykezelők listája vesszővel elválasztva, pl. <code>srv1.domain.org,srv2.domain.org</code>.'; $lang['admin_username'] = 'Privilegizált AD felhasználó, aki az összes feéhasználó adatait elérheti. Elhagyható, de bizonyos funkciókhoz, például a feliratkozási e-mailek kiküldéséhez szükséges.'; $lang['admin_password'] = 'Ehhez tartozó jelszó.'; -$lang['sso'] = 'Single-Sign-On Kerberos-szal vagy NTML használata?'; +$lang['sso'] = 'Kerberos egyszeri bejelentkezés vagy NTLM használata?'; +$lang['sso_charset'] = 'A webkiszolgáló karakterkészlete megfelel a Kerberos- és NTLM-felhasználóneveknek. Üres UTF-8 és Latin-1-hez. Szükséges az iconv bővítmény.'; $lang['real_primarygroup'] = 'A valódi elsődleges csoport feloldása a "Tartományfelhasználók" csoport használata helyett? (lassabb)'; $lang['use_ssl'] = 'SSL használata? Ha használjuk, tiltsuk le a TLS-t!'; $lang['use_tls'] = 'TLS használata? Ha használjuk, tiltsuk le az SSL-t!'; -$lang['debug'] = 'Debug-üzenetek megjelenítése?'; +$lang['debug'] = 'További hibakeresési üzenetek megjelenítése hiba esetén'; $lang['expirywarn'] = 'Felhasználók értesítése ennyi nappal a jelszavuk lejárata előtt. 0 a funkció kikapcsolásához.'; -$lang['additional'] = 'Vesszővel elválasztott lista a további AD attribútumok lekéréshez. Néhány plugin használhatja.'; +$lang['additional'] = 'Vesszővel elválasztott lista a további AD attribútumok lekéréséhez. Néhány bővítmény használhatja.'; diff --git a/lib/plugins/authad/lang/ja/lang.php b/lib/plugins/authad/lang/ja/lang.php new file mode 100644 index 000000000..b40aa5da3 --- /dev/null +++ b/lib/plugins/authad/lang/ja/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author PzF_X <jp_minecraft@yahoo.co.jp> + */ +$lang['domain'] = 'ログオン時のドメイン'; diff --git a/lib/plugins/authad/lang/ja/settings.php b/lib/plugins/authad/lang/ja/settings.php index f308249ef..118e8348c 100644 --- a/lib/plugins/authad/lang/ja/settings.php +++ b/lib/plugins/authad/lang/ja/settings.php @@ -5,6 +5,7 @@ * * @author Satoshi Sahara <sahara.satoshi@gmail.com> * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> */ $lang['account_suffix'] = 'アカウントの接尾語。例:<code>@my.domain.org</code>'; $lang['base_dn'] = 'ベースDN。例:<code>DC=my,DC=domain,DC=org</code>'; @@ -12,6 +13,7 @@ $lang['domain_controllers'] = 'ドメインコントローラのカンマ区 $lang['admin_username'] = '全ユーザーデータへのアクセス権のある特権Active Directoryユーザー。任意ですが、メール通知の登録等の特定の動作に必要。'; $lang['admin_password'] = '上記ユーザーのパスワード'; $lang['sso'] = 'Kerberos か NTLM を使ったシングルサインオン(SSO)をしますか?'; +$lang['sso_charset'] = 'サーバーは空のUTF-8かLatin-1でKerberosかNTLMユーザネームを送信します。iconv拡張モジュールが必要です。'; $lang['real_primarygroup'] = '"Domain Users" を仮定する代わりに本当のプライマリグループを解決する(低速)'; $lang['use_ssl'] = 'SSL接続を使用しますか?使用した場合、下のSSLを有効にしないでください。'; $lang['use_tls'] = 'TLS接続を使用しますか?使用した場合、上のSSLを有効にしないでください。'; diff --git a/lib/plugins/authad/lang/ko/lang.php b/lib/plugins/authad/lang/ko/lang.php new file mode 100644 index 000000000..5a2416b2c --- /dev/null +++ b/lib/plugins/authad/lang/ko/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['domain'] = '로그온 도메인'; diff --git a/lib/plugins/authad/lang/lv/lang.php b/lib/plugins/authad/lang/lv/lang.php new file mode 100644 index 000000000..74becf756 --- /dev/null +++ b/lib/plugins/authad/lang/lv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['domain'] = 'Iežurnālēšanās domēns'; diff --git a/lib/plugins/authad/lang/lv/settings.php b/lib/plugins/authad/lang/lv/settings.php index ced5dabf8..5272d27d0 100644 --- a/lib/plugins/authad/lang/lv/settings.php +++ b/lib/plugins/authad/lang/lv/settings.php @@ -1,6 +1,11 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ +$lang['account_suffix'] = 'Jūsu konta sufikss. Piemēram, <code>@my.domain.org</code>'; +$lang['domain_controllers'] = 'Ar komatiem atdalīts domēna kontroleru saraksts. Piemēram, <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_password'] = 'Minētā lietotāja parole.'; +$lang['expirywarn'] = 'Cik dienas iepriekš brīdināt lietotāju par paroles termiņa beigām. Ierakstīt 0, lai atspējotu.'; diff --git a/lib/plugins/authad/lang/nl/lang.php b/lib/plugins/authad/lang/nl/lang.php new file mode 100644 index 000000000..ea8419069 --- /dev/null +++ b/lib/plugins/authad/lang/nl/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Rene <wllywlnt@yahoo.com> + */ +$lang['domain'] = 'Inlog Domein'; diff --git a/lib/plugins/authad/lang/no/lang.php b/lib/plugins/authad/lang/no/lang.php new file mode 100644 index 000000000..a1c9c7e8a --- /dev/null +++ b/lib/plugins/authad/lang/no/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Patrick <spill.p@hotmail.com> + */ +$lang['domain'] = 'Loggpå-domene'; diff --git a/lib/plugins/authad/lang/no/settings.php b/lib/plugins/authad/lang/no/settings.php new file mode 100644 index 000000000..f309ead50 --- /dev/null +++ b/lib/plugins/authad/lang/no/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Christopher Schive <chschive@frisurf.no> + * @author Patrick <spill.p@hotmail.com> + */ +$lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>'; +$lang['admin_password'] = 'Passordet til brukeren over.'; +$lang['expirywarn'] = 'Antall dager på forhånd brukeren varsles om at passordet utgår. 0 for å deaktivere.'; diff --git a/lib/plugins/authad/lang/pl/settings.php b/lib/plugins/authad/lang/pl/settings.php index ad051b0ac..537bae7ea 100644 --- a/lib/plugins/authad/lang/pl/settings.php +++ b/lib/plugins/authad/lang/pl/settings.php @@ -4,10 +4,19 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Tomasz Bosak <bosak.tomasz@gmail.com> + * @author Paweł Jan Czochański <czochanski@gmail.com> + * @author Mati <mackosa@wp.pl> + * @author Maciej Helt <geraldziu@gmail.com> */ $lang['account_suffix'] = 'Przyrostek twojej nazwy konta np. <code>@my.domain.org</code>'; $lang['base_dn'] = 'Twoje bazowe DN. Na przykład: <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Podzielona przecinkami lista kontrolerów domen np. <code>srv1.domena.pl,srv2.domena.pl</code>'; +$lang['admin_username'] = 'Uprawniony użytkownik katalogu Active Directory z dostępem do danych wszystkich użytkowników. +Opcjonalne, ale wymagane dla niektórych akcji np. wysyłania emailowych subskrypcji.'; $lang['admin_password'] = 'Hasło dla powyższego użytkownika.'; +$lang['sso'] = 'Czy pojedyncze logowanie powinno korzystać z Kerberos czy NTML?'; +$lang['sso_charset'] = 'Kodowanie znaków wykorzystywane do przesyłania nazwy użytkownika dla Kerberos lub NTLM. Pozostaw puste dla UTF-8 lub latin-1. Wymaga rozszerzenia iconv.'; $lang['use_ssl'] = 'Użyć połączenie SSL? Jeśli tak to nie aktywuj TLS poniżej.'; $lang['use_tls'] = 'Użyć połączenie TLS? Jeśli tak to nie aktywuj SSL powyżej.'; +$lang['debug'] = 'Wyświetlać dodatkowe informacje do debugowania w przypadku błędów?'; $lang['expirywarn'] = 'Dni poprzedzających powiadomienie użytkownika o wygasającym haśle. 0 aby wyłączyć.'; diff --git a/lib/plugins/authad/lang/pt-br/lang.php b/lib/plugins/authad/lang/pt-br/lang.php new file mode 100644 index 000000000..5fa963d4e --- /dev/null +++ b/lib/plugins/authad/lang/pt-br/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@gmail.com> + */ +$lang['domain'] = 'Domínio de "Logon"'; diff --git a/lib/plugins/authad/lang/pt/lang.php b/lib/plugins/authad/lang/pt/lang.php new file mode 100644 index 000000000..f307bc901 --- /dev/null +++ b/lib/plugins/authad/lang/pt/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Paulo Silva <paulotsilva@yahoo.com> + */ +$lang['domain'] = 'Domínio de Início de Sessão'; diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php index 45eff5e96..6256eb597 100644 --- a/lib/plugins/authad/lang/pt/settings.php +++ b/lib/plugins/authad/lang/pt/settings.php @@ -4,9 +4,20 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author André Neves <drakferion@gmail.com> + * @author Murilo <muriloricci@hotmail.com> + * @author Paulo Silva <paulotsilva@yahoo.com> + * @author Guido Salatino <guidorafael23@gmail.com> */ +$lang['account_suffix'] = 'O sufixo da sua conta. Por exemplo, <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Sua base DN. Eg. <code> DC=meu, DC=dominio, DC=org </ code>'; +$lang['domain_controllers'] = 'Uma lista separada por vírgulas de Controladores de Domínio (AD DC). Ex.: <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Um utilizador com privilégios na Active Directory que tenha acesso aos dados de todos os outros utilizadores. Opcional, mas necessário para certas ações como enviar emails de subscrição.'; $lang['admin_password'] = 'A senha para o utilizador acima.'; $lang['sso'] = 'Deve ser usado o Single-Sign-On via Kerberos ou NTLM?'; +$lang['sso_charset'] = 'O charset do seu servidor web vai passar o nome de usuário Kerberos ou NTLM vazio para UTF-8 ou latin-1. Requer a extensão iconv.'; +$lang['real_primarygroup'] = 'Deveria ser resolvido, de fato, o grupo primário ao invés de assumir "Usuários de Domínio" (mais lento).'; $lang['use_ssl'] = 'Usar ligação SSL? Se usada, não ative TLS abaixo.'; $lang['use_tls'] = 'Usar ligação TLS? Se usada, não ative SSL abaixo.'; +$lang['debug'] = 'Deve-se mostrar saída adicional de depuração de erros?'; $lang['expirywarn'] = 'Número de dias de avanço para avisar o utilizador da expiração da senha. 0 para desativar.'; +$lang['additional'] = 'Uma lista separada por vírgula de atributos adicionais de AD para buscar a partir de dados do usuário. Usado por alguns plugins.'; diff --git a/lib/plugins/authad/lang/ru/lang.php b/lib/plugins/authad/lang/ru/lang.php new file mode 100644 index 000000000..6f3c03e39 --- /dev/null +++ b/lib/plugins/authad/lang/ru/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + */ +$lang['domain'] = 'Домен'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index 6854e0920..c791bd791 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -6,8 +6,22 @@ * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> * @author Artur <ncuxxx@gmail.com> + * @author Erli Moen <evseev.jr@gmail.com> + * @author Владимир <id37736@yandex.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Type-kun <workwork-1@yandex.ru> + * @author Vitaly Filatenko <kot@hacktest.net> */ +$lang['account_suffix'] = 'Суффикс вашего аккаунта. Например, <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Ваш базовый DN. Например: <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Список DNS-серверов, разделенных запятой. Например:<code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Привилегированный пользователь Active Directory с доступом ко всем остальным пользовательским данным. Необязательно, однако необходимо для определённых действий вроде отправки почтовой подписки.'; $lang['admin_password'] = 'Пароль для указанного пользователя.'; $lang['sso'] = 'Использовать SSO (Single-Sign-On) через Kerberos или NTLM?'; +$lang['sso_charset'] = 'Кодировка, в которой веб-сервер передаёт имя пользователя Kerberos или NTLM. Для UTF-8 или latin-1 остаётся пустым. Требует расширение iconv.'; +$lang['real_primarygroup'] = 'Должна ли использоваться настоящая первичная группа вместо “Domain Users” (медленнее)'; $lang['use_ssl'] = 'Использовать SSL? Если да, то не включайте TLS.'; $lang['use_tls'] = 'Использовать TLS? Если да, то не включайте SSL.'; +$lang['debug'] = 'Выводить дополнительную информацию при ошибках?'; +$lang['expirywarn'] = 'За сколько дней нужно предупреждать пользователя о необходимости изменить пароль? Для отключения укажите 0 (ноль).'; +$lang['additional'] = 'Дополнительные AD-атрибуты, разделённые запятой, для выборки из данных пользователя. Используется некоторыми плагинами.'; diff --git a/lib/plugins/authad/lang/sk/settings.php b/lib/plugins/authad/lang/sk/settings.php index b7d822f7e..266b372bb 100644 --- a/lib/plugins/authad/lang/sk/settings.php +++ b/lib/plugins/authad/lang/sk/settings.php @@ -15,6 +15,6 @@ $lang['sso_charset'] = 'Znaková sada, v ktorej bude webserver prená $lang['real_primarygroup'] = 'Použiť skutočnú primárnu skupinu používateľa namiesto "Doménoví používatelia" (pomalšie).'; $lang['use_ssl'] = 'Použiť SSL pripojenie? Ak áno, nepovoľte TLS nižšie.'; $lang['use_tls'] = 'Použiť TLS pripojenie? Ak áno, nepovoľte SSL vyššie.'; -$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe?'; +$lang['debug'] = 'Zobraziť dodatočné ladiace informácie pri chybe?'; $lang['expirywarn'] = 'Počet dní pred uplynutím platnosti hesla, počas ktorých používateľ dostáva upozornenie. 0 deaktivuje túto voľbu.'; $lang['additional'] = 'Zoznam dodatočných AD atribútov oddelených čiarkou získaných z údajov používateľa. Používané niektorými pluginmi.'; diff --git a/lib/plugins/authad/lang/sl/settings.php b/lib/plugins/authad/lang/sl/settings.php new file mode 100644 index 000000000..5849ea431 --- /dev/null +++ b/lib/plugins/authad/lang/sl/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author matej <mateju@svn.gnome.org> + * @author Jernej Vidmar <jernej.vidmar@vidmarboehm.com> + */ +$lang['admin_password'] = 'Geslo zgoraj omenjenega uporabnika'; +$lang['use_tls'] = 'Uporabi TLS povezavo? Če da, ne vključi SSL povezave zgoraj.'; +$lang['debug'] = 'Ali naj bodo prikazane dodatne podrobnosti napak?'; diff --git a/lib/plugins/authad/lang/zh-tw/lang.php b/lib/plugins/authad/lang/zh-tw/lang.php new file mode 100644 index 000000000..6ad0947a2 --- /dev/null +++ b/lib/plugins/authad/lang/zh-tw/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author June-Hao Hou <junehao@gmail.com> + */ +$lang['domain'] = '登入網域'; diff --git a/lib/plugins/authad/lang/zh-tw/settings.php b/lib/plugins/authad/lang/zh-tw/settings.php index bd5d9413a..42cd8c96b 100644 --- a/lib/plugins/authad/lang/zh-tw/settings.php +++ b/lib/plugins/authad/lang/zh-tw/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author syaoranhinata@gmail.com + * @author June-Hao Hou <junehao@gmail.com> */ $lang['account_suffix'] = '您的帳號後綴。如: <code>@my.domain.org</code>'; $lang['base_dn'] = '您的基本識別名。如: <code>DC=my,DC=domain,DC=org</code>'; @@ -11,6 +12,7 @@ $lang['domain_controllers'] = '以逗號分隔的域名控制器列表。如 $lang['admin_username'] = 'Active Directory 的特權使用者,可以查看所有使用者的數據。(非必要,但對發送訂閱郵件等活動來說,這是必須的。)'; $lang['admin_password'] = '上述使用者的密碼。'; $lang['sso'] = '是否使用 Kerberos 或 NTLM 的單一登入系統 (Single-Sign-On)?'; +$lang['sso_charset'] = '你的網站伺服器傳遞 Kerberos 或 NTML 帳號名稱所用的語系編碼。空白表示 UTF-8 或 latin-1。此設定需要用到 iconv 套件。'; $lang['real_primarygroup'] = '是否視作真正的主要群組,而不是假設為網域使用者 (比較慢)'; $lang['use_ssl'] = '使用 SSL 連接嗎?如果要使用,請不要啟用下方的 TLS。'; $lang['use_tls'] = '使用 TLS 連接嗎?如果要使用,請不要啟用上方的 SSL。'; diff --git a/lib/plugins/authad/lang/zh/lang.php b/lib/plugins/authad/lang/zh/lang.php new file mode 100644 index 000000000..2a05aa168 --- /dev/null +++ b/lib/plugins/authad/lang/zh/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lainme <lainme993@gmail.com> + */ +$lang['domain'] = '登录域'; diff --git a/lib/plugins/authad/lang/zh/settings.php b/lib/plugins/authad/lang/zh/settings.php index 84bdc1e5c..52ba2131b 100644 --- a/lib/plugins/authad/lang/zh/settings.php +++ b/lib/plugins/authad/lang/zh/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author lainme <lainme993@gmail.com> + * @author oott123 <ip.192.168.1.1@qq.com> */ $lang['account_suffix'] = '您的账户后缀。例如 <code>@my.domain.org</code>'; $lang['base_dn'] = '您的基本分辨名。例如 <code>DC=my,DC=domain,DC=org</code>'; @@ -11,6 +12,7 @@ $lang['domain_controllers'] = '逗号分隔的域名控制器列表。例如 $lang['admin_username'] = '一个活动目录的特权用户,可以查看其他所有用户的数据。可选,但对某些活动例如发送订阅邮件是必须的。'; $lang['admin_password'] = '上述用户的密码。'; $lang['sso'] = '是否使用经由 Kerberos 和 NTLM 的 Single-Sign-On?'; +$lang['sso_charset'] = '服务器传入 Kerberos 或者 NTLM 用户名的编码。留空为 UTF-8 或 latin-1 。此功能需要服务器支持iconv扩展。'; $lang['real_primarygroup'] = ' 是否解析真实的主要组,而不是假设为“域用户” (较慢)'; $lang['use_ssl'] = '使用 SSL 连接?如果是,不要激活下面的 TLS。'; $lang['use_tls'] = '使用 TLS 连接?如果是 ,不要激活上面的 SSL。'; diff --git a/lib/plugins/authad/plugin.info.txt b/lib/plugins/authad/plugin.info.txt index 3af1ddfbe..dc0629189 100644 --- a/lib/plugins/authad/plugin.info.txt +++ b/lib/plugins/authad/plugin.info.txt @@ -1,7 +1,7 @@ base authad author Andreas Gohr email andi@splitbrain.org -date 2013-04-25 +date 2014-04-03 name Active Directory Auth Plugin desc Provides user authentication against a Microsoft Active Directory url http://www.dokuwiki.org/plugin:authad diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php index 31e2c5135..50735882f 100644 --- a/lib/plugins/authldap/auth.php +++ b/lib/plugins/authldap/auth.php @@ -36,8 +36,8 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { return; } - // auth_ldap currently just handles authentication, so no - // capabilities are set + // Add the capabilities to change the password + $this->cando['modPass'] = true; } /** @@ -103,7 +103,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { return true; } else { // See if we can find the user - $info = $this->getUserData($user, true); + $info = $this->_getUserData($user, true); if(empty($info['dn'])) { return false; } else { @@ -143,12 +143,22 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { * @author Dan Allen <dan.j.allen@gmail.com> * @author <evaldas.auryla@pheur.org> * @author Stephane Chazelas <stephane.chazelas@emerson.com> + * @author Steffen Schoch <schoch@dsb.net> * * @param string $user + * @param bool $requireGroups (optional) - ignored, groups are always supplied by this plugin + * @return array containing user data or false + */ + public function getUserData($user, $requireGroups=true) { + return $this->_getUserData($user); + } + + /** + * @param string $user * @param bool $inbind authldap specific, true if in bind phase * @return array containing user data or false */ - public function getUserData($user, $inbind = false) { + protected function _getUserData($user, $inbind = false) { global $conf; if(!$this->_openLDAP()) return false; @@ -171,6 +181,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } } + $info = array(); $info['user'] = $user; $info['server'] = $this->getConf('server'); @@ -240,9 +251,17 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { ldap_free_result($sr); if(is_array($result)) foreach($result as $grp) { - if(!empty($grp[$this->getConf('groupkey')][0])) { - $this->_debug('LDAP usergroup: '.htmlspecialchars($grp[$this->getConf('groupkey')][0]), 0, __LINE__, __FILE__); - $info['grps'][] = $grp[$this->getConf('groupkey')][0]; + if(!empty($grp[$this->getConf('groupkey')])) { + $group = $grp[$this->getConf('groupkey')]; + if(is_array($group)){ + $group = $group[0]; + } else { + $this->_debug('groupkey did not return a detailled result', 0, __LINE__, __FILE__); + } + if($group === '') continue; + + $this->_debug('LDAP usergroup: '.htmlspecialchars($group), 0, __LINE__, __FILE__); + $info['grps'][] = $group; } } } @@ -255,6 +274,62 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } /** + * Definition of the function modifyUser in order to modify the password + */ + + function modifyUser($user,$changes){ + + // open the connection to the ldap + if(!$this->_openLDAP()){ + msg('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con))); + return false; + } + + // find the information about the user, in particular the "dn" + $info = $this->getUserData($user,true); + if(empty($info['dn'])) { + msg('LDAP cannot find your user dn'); + return false; + } + $dn = $info['dn']; + + // find the old password of the user + list($loginuser,$loginsticky,$loginpass) = auth_getCookie(); + if ($loginuser !== null) { // the user is currently logged in + $secret = auth_cookiesalt(!$loginsticky, true); + $pass = auth_decrypt($loginpass, $secret); + + // bind with the ldap + if(!@ldap_bind($this->con, $dn, $pass)){ + msg('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); + return false; + } + } elseif ($this->getConf('binddn') && $this->getConf('bindpw')) { + // we are changing the password on behalf of the user (eg: forgotten password) + // bind with the superuser ldap + if (!@ldap_bind($this->con, $this->getConf('binddn'), $this->getConf('bindpw'))){ + $this->_debug('LDAP bind as superuser: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); + return false; + } + } + else { + return false; // no otherway + } + + // Generate the salted hashed password for LDAP + $phash = new PassHash(); + $hash = $phash->hash_ssha($changes['pass']); + + // change the password + if(!@ldap_mod_replace($this->con, $dn,array('userpassword' => $hash))){ + msg('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con))); + return false; + } + + return true; + } + + /** * Most values in LDAP are case-insensitive * * @return bool @@ -272,7 +347,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { * @param array $filter array of field/pattern pairs, null for no filter * @return array of userinfo (refer getUserData for internal userinfo details) */ - function retrieveUsers($start = 0, $limit = -1, $filter = array()) { + function retrieveUsers($start = 0, $limit = 0, $filter = array()) { if(!$this->_openLDAP()) return false; if(is_null($this->users)) { @@ -307,7 +382,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } if($this->_filter($user, $info)) { $result[$user] = $info; - if(($limit >= 0) && (++$count >= $limit)) break; + if(($limit > 0) && (++$count >= $limit)) break; } } return $result; @@ -441,13 +516,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } } // needs version 3 - if($this->getConf('referrals')) { + if($this->getConf('referrals') > -1) { if(!@ldap_set_option( $this->con, LDAP_OPT_REFERRALS, $this->getConf('referrals') ) ) { - msg('Setting LDAP referrals to off failed', -1); + msg('Setting LDAP referrals failed', -1); $this->_debug('LDAP referal set: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); } } @@ -490,15 +565,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { * Wraps around ldap_search, ldap_list or ldap_read depending on $scope * * @author Andreas Gohr <andi@splitbrain.org> - * @param resource $link_identifier - * @param string $base_dn - * @param string $filter - * @param string $scope can be 'base', 'one' or 'sub' - * @param null $attributes - * @param int $attrsonly - * @param int $sizelimit - * @param int $timelimit - * @param int $deref + * @param resource $link_identifier + * @param string $base_dn + * @param string $filter + * @param string $scope can be 'base', 'one' or 'sub' + * @param null|array $attributes + * @param int $attrsonly + * @param int $sizelimit * @return resource */ protected function _ldapsearch($link_identifier, $base_dn, $filter, $scope = 'sub', $attributes = null, diff --git a/lib/plugins/authldap/conf/default.php b/lib/plugins/authldap/conf/default.php index 2c295eeeb..c2e462c5c 100644 --- a/lib/plugins/authldap/conf/default.php +++ b/lib/plugins/authldap/conf/default.php @@ -8,7 +8,7 @@ $conf['userfilter'] = ''; $conf['groupfilter'] = ''; $conf['version'] = 2; $conf['starttls'] = 0; -$conf['referrals'] = 0; +$conf['referrals'] = -1; $conf['deref'] = 0; $conf['binddn'] = ''; $conf['bindpw'] = ''; diff --git a/lib/plugins/authldap/conf/metadata.php b/lib/plugins/authldap/conf/metadata.php index 6aa53c40d..4649ba5bf 100644 --- a/lib/plugins/authldap/conf/metadata.php +++ b/lib/plugins/authldap/conf/metadata.php @@ -7,7 +7,7 @@ $meta['userfilter'] = array('string','_caution' => 'danger'); $meta['groupfilter'] = array('string','_caution' => 'danger'); $meta['version'] = array('numeric','_caution' => 'danger'); $meta['starttls'] = array('onoff','_caution' => 'danger'); -$meta['referrals'] = array('onoff','_caution' => 'danger'); +$meta['referrals'] = array('multichoice','_choices' => array(-1,0,1),'_caution' => 'danger'); $meta['deref'] = array('multichoice','_choices' => array(0,1,2,3),'_caution' => 'danger'); $meta['binddn'] = array('string','_caution' => 'danger'); $meta['bindpw'] = array('password','_caution' => 'danger'); diff --git a/lib/plugins/authldap/lang/ar/settings.php b/lib/plugins/authldap/lang/ar/settings.php new file mode 100644 index 000000000..aaef7763f --- /dev/null +++ b/lib/plugins/authldap/lang/ar/settings.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author alhajr <alhajr300@gmail.com> + */ +$lang['port'] = 'LDAP المنفذ الملقم إذا لم يعط أي عنوان URL كامل أعلاه'; +$lang['version'] = 'إصدار نسخة البروتوكول الستخدامه. قد تحتاج لتعيين هذه القيمة إلى <code>3</code>'; +$lang['starttls'] = 'استخدام اتصالات TLS؟'; +$lang['referrals'] = 'يتبع الإحالات؟'; +$lang['deref'] = 'كيفية إلغاء مرجعية الأسماء المستعارة؟'; +$lang['bindpw'] = 'كلمة مرور المستخدم أعلاه'; diff --git a/lib/plugins/authldap/lang/bg/settings.php b/lib/plugins/authldap/lang/bg/settings.php index 644672ca7..165216de8 100644 --- a/lib/plugins/authldap/lang/bg/settings.php +++ b/lib/plugins/authldap/lang/bg/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Kiril <neohidra@gmail.com> */ $lang['server'] = 'Вашият LDAP сървър. Име на хоста (<code>localhost</code>) или целият URL адрес (<code>ldap://сървър.tld:389</code>)'; @@ -16,4 +17,4 @@ $lang['referrals'] = 'Да бъдат ли следвани преп $lang['bindpw'] = 'Парола за горния потребител'; $lang['userscope'] = 'Ограничаване на обхвата за търсене на потребители'; $lang['groupscope'] = 'Ограничаване на обхвата за търсене на потребителски групи'; -$lang['debug'] = 'Показване на допълнителна debug информация при грешка';
\ No newline at end of file +$lang['debug'] = 'Показване на допълнителна debug информация при грешка'; diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php index 20491f1fb..a5aad5981 100644 --- a/lib/plugins/authldap/lang/cs/settings.php +++ b/lib/plugins/authldap/lang/cs/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author mkucera66@seznam.cz + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['server'] = 'Váš server LDAP. Buď jméno hosta (<code>localhost</code>) nebo plně kvalifikovaný popis URL (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Port serveru LDAP. Pokud není, bude využito URL výše'; @@ -14,9 +15,14 @@ $lang['groupfilter'] = 'Filter LDAPu pro vyhledávání uživatelskýc $lang['version'] = 'Verze použitého protokolu. Můžete potřebovat jej nastavit na <code>3</code>'; $lang['starttls'] = 'Využít spojení TLS?'; $lang['referrals'] = 'Přeposílat odkazy?'; +$lang['deref'] = 'Jak rozlišovat aliasy?'; $lang['binddn'] = 'Doménový název DN volitelně připojeného uživatele, pokus anonymní připojení není vyhovující, tj. <code>cn=admin, dc=muj, dc=domov</code>'; $lang['bindpw'] = 'Heslo uživatele výše'; $lang['userscope'] = 'Omezení rozsahu vyhledávání uživatele'; $lang['groupscope'] = 'Omezení rozsahu vyhledávání skupiny'; $lang['groupkey'] = 'Atribut šlenství uživatele ve skupinách (namísto standardních AD skupin), tj. skupina z oddělení nebo telefonní číslo'; $lang['debug'] = 'Zobrazit dodatečné debugovací informace'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/en/settings.php b/lib/plugins/authldap/lang/en/settings.php index b73166ab2..951901ccc 100644 --- a/lib/plugins/authldap/lang/en/settings.php +++ b/lib/plugins/authldap/lang/en/settings.php @@ -21,3 +21,7 @@ $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; + +$lang['referrals_o_-1'] = 'use default'; +$lang['referrals_o_0'] = 'don\'t follow referrals'; +$lang['referrals_o_1'] = 'follow referrals';
\ No newline at end of file diff --git a/lib/plugins/authldap/lang/es/settings.php b/lib/plugins/authldap/lang/es/settings.php index f8c3ad014..6991546d3 100644 --- a/lib/plugins/authldap/lang/es/settings.php +++ b/lib/plugins/authldap/lang/es/settings.php @@ -4,8 +4,22 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Antonio Bueno <atnbueno@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> */ +$lang['server'] = 'Tu servidor LDAP. Puede ser el nombre del host (<code>localhost</code>) o una URL completa (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Servidor LDAP en caso de que no se diera la URL completa anteriormente.'; +$lang['usertree'] = 'Donde encontrar cuentas de usuario. Ej. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Donde encontrar grupos de usuarios. Ej. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'Filtro LDAP para la busqueda de cuentas de usuario. P. E. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Filtro LDAP para la busqueda de grupos. P. E. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'La versión del protocolo a usar. Puede que necesites poner esto a <code>3</code>'; $lang['starttls'] = 'Usar conexiones TLS?'; +$lang['referrals'] = '¿Deben ser seguidas las referencias?'; +$lang['deref'] = '¿Cómo desreferenciar los alias?'; +$lang['bindpw'] = 'Contraseña del usuario de arriba.'; +$lang['userscope'] = 'Limitar ámbito de búsqueda para búsqueda de usuarios'; +$lang['groupscope'] = 'Limitar ámbito de búsqueda para búsqueda de grupos'; +$lang['groupkey'] = 'Pertenencia al grupo desde cualquier atributo de usuario (en lugar de grupos AD estándar) p.e., grupo a partir departamento o número de teléfono'; $lang['debug'] = 'Mostrar información adicional para depuración de errores'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; diff --git a/lib/plugins/authldap/lang/et/settings.php b/lib/plugins/authldap/lang/et/settings.php new file mode 100644 index 000000000..f4933b6bf --- /dev/null +++ b/lib/plugins/authldap/lang/et/settings.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Janar Leas <janar.leas@eesti.ee> + */ +$lang['grouptree'] = 'Kus kohast kasutaja rühmi otsida. Nt. <code>ou=Rühm, dc=server, dc=tld</code>'; +$lang['groupscope'] = 'Piiritle otsingu ulatus rühma otsinguga'; diff --git a/lib/plugins/authldap/lang/fa/settings.php b/lib/plugins/authldap/lang/fa/settings.php new file mode 100644 index 000000000..49d485afd --- /dev/null +++ b/lib/plugins/authldap/lang/fa/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohammad Sadegh <msdn2013@gmail.com> + * @author Omid Hezaveh <hezpublic@gmail.com> + */ +$lang['starttls'] = 'از تیالاس (TLS) استفاده میکنید؟'; +$lang['bindpw'] = 'رمزعبور کاربر بالا'; diff --git a/lib/plugins/authldap/lang/he/settings.php b/lib/plugins/authldap/lang/he/settings.php new file mode 100644 index 000000000..357a58c56 --- /dev/null +++ b/lib/plugins/authldap/lang/he/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author matt carroll <matt.carroll@gmail.com> + */ +$lang['starttls'] = 'השתמש בחיבורי TLS'; diff --git a/lib/plugins/authldap/lang/hr/settings.php b/lib/plugins/authldap/lang/hr/settings.php new file mode 100644 index 000000000..cb8df7218 --- /dev/null +++ b/lib/plugins/authldap/lang/hr/settings.php @@ -0,0 +1,27 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš LDAP server. Upišite ili naziv računala (<code>localhost</code>) ili puni URL (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'LDAP server port, ako gore nije specificiran puni URL.'; +$lang['usertree'] = 'Gdje da nađem korisničke prijave. Npr. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Gdje da nađem korisničke grupe. Npr. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'LDAP filter za pretragu korisničkih prijava. Npr. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP filter za pretragu grupa. Npr. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Protokol koji se koristi. Možda će te trebati postaviti na <code>3</code>'; +$lang['starttls'] = 'Korisni TLS vezu?'; +$lang['referrals'] = 'Da li da slijedim uputnice?'; +$lang['deref'] = 'Kako da razlikujem aliase?'; +$lang['binddn'] = 'DN opcionalnog korisnika ako anonimni korisnik nije dovoljan. Npr. <code>cn=admin, dc=my, dc=home</code>'; +$lang['bindpw'] = 'Lozinka gore navedenog korisnika'; +$lang['userscope'] = 'Ograniči područje za pretragu korisnika'; +$lang['groupscope'] = 'Ograniči područje za pretragu grupa'; +$lang['groupkey'] = 'Članstvo grupa iz svih atributa korisnika (umjesto standardnih AD grupa) npr. grupa iz odjela ili telefonskog broja'; +$lang['debug'] = 'Prikaži dodatne informacije u slučaju greške'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/hu/settings.php b/lib/plugins/authldap/lang/hu/settings.php index 041f82755..1e6608dab 100644 --- a/lib/plugins/authldap/lang/hu/settings.php +++ b/lib/plugins/authldap/lang/hu/settings.php @@ -4,9 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Marton Sebok <sebokmarton@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ -$lang['server'] = 'LDAP-szerver. Hosztnév (<code>localhost</code>) vagy abszolút URL portszámmal (<code>ldap://server.tld:389</code>)'; -$lang['port'] = 'LDAP-szerver port, ha nem URL lett megadva'; +$lang['server'] = 'LDAP-szerver. Kiszolgálónév (<code>localhost</code>) vagy teljes URL-cím (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'LDAP-kiszolgáló portja, ha URL-cím nem lett megadva'; $lang['usertree'] = 'Hol találom a felhasználókat? Pl. <code>ou=People, dc=server, dc=tld</code>'; $lang['grouptree'] = 'Hol találom a csoportokat? Pl. <code>ou=Group, dc=server, dc=tld</code>'; $lang['userfilter'] = 'LDAP szűrő a felhasználók kereséséhez, pl. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; @@ -20,7 +21,7 @@ $lang['bindpw'] = 'Ehhez tartozó jelszó.'; $lang['userscope'] = 'A keresési tartomány korlátozása erre a felhasználókra való keresésnél'; $lang['groupscope'] = 'A keresési tartomány korlátozása erre a csoportokra való keresésnél'; $lang['groupkey'] = 'Csoport meghatározása a következő attribútumból (az alapértelmezett AD csoporttagság helyett), pl. a szervezeti egység vagy a telefonszám'; -$lang['debug'] = 'Debug-üzenetek megjelenítése?'; +$lang['debug'] = 'Továbi hibakeresési információk megjelenítése hiba esetén'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; diff --git a/lib/plugins/authldap/lang/it/settings.php b/lib/plugins/authldap/lang/it/settings.php index eba7cde6e..858c694b8 100644 --- a/lib/plugins/authldap/lang/it/settings.php +++ b/lib/plugins/authldap/lang/it/settings.php @@ -5,6 +5,7 @@ * * @author Edmondo Di Tucci <snarchio@gmail.com> * @author Claudio Lanconelli <lancos@libero.it> + * @author Francesco <francesco.cavalli@hotmail.com> */ $lang['server'] = 'Il tuo server LDAP. Inserire o l\'hostname (<code>localhost</code>) oppure un URL completo (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Porta del server LDAP se non è stato fornito un URL completo più sopra.'; @@ -14,6 +15,11 @@ $lang['userfilter'] = 'Filtro per cercare l\'account utente LDAP. Eg. $lang['groupfilter'] = 'Filtro per cercare i gruppi LDAP. Eg. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = 'Versione protocollo da usare. Pu<code>3</code>'; $lang['starttls'] = 'Usare la connessione TSL?'; +$lang['deref'] = 'Come differenziare un alias?'; $lang['userscope'] = 'Limita il contesto di ricerca per la ricerca degli utenti'; $lang['groupscope'] = 'Limita il contesto di ricerca per la ricerca dei gruppi'; $lang['debug'] = 'In caso di errori mostra ulteriori informazioni di debug'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/ja/settings.php b/lib/plugins/authldap/lang/ja/settings.php index 6dec9a576..6cff0ea67 100644 --- a/lib/plugins/authldap/lang/ja/settings.php +++ b/lib/plugins/authldap/lang/ja/settings.php @@ -6,8 +6,9 @@ * @author Satoshi Sahara <sahara.satoshi@gmail.com> * @author Hideaki SAWADA <sawadakun@live.jp> * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> */ -$lang['server'] = 'LDAPサーバー。ホスト名(<code>localhost</code)又は完全修飾URL(<code>ldap://server.tld:389</code>)'; +$lang['server'] = 'LDAPサーバー。ホスト名(<code>localhost</code>)又は完全修飾URL(<code>ldap://server.tld:389</code>)'; $lang['port'] = '上記が完全修飾URLでない場合、LDAPサーバーポート'; $lang['usertree'] = 'ユーザーアカウントを探す場所。例:<code>ou=People, dc=server, dc=tld</code>'; $lang['grouptree'] = 'ユーザーグループを探す場所。例:<code>ou=Group, dc=server, dc=tld</code>'; @@ -15,8 +16,14 @@ $lang['userfilter'] = 'ユーザーアカウントを探すためのL $lang['groupfilter'] = 'グループを探すLDAP抽出条件。例:<code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '使用するプロトコルのバージョン。<code>3</code>を設定する必要がある場合があります。'; $lang['starttls'] = 'TLS接続を使用しますか?'; +$lang['referrals'] = '紹介に従いますか?'; +$lang['deref'] = 'どのように間接参照のエイリアスにしますか?'; $lang['binddn'] = '匿名バインドでは不十分な場合、オプションバインドユーザーのDN。例:<code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '上記ユーザーのパスワード'; +$lang['userscope'] = 'ユーザー検索の範囲を限定させる'; +$lang['groupscope'] = 'グループ検索の範囲を限定させる'; +$lang['groupkey'] = 'ユーザー属性をグループのメンバーシップから設定します(代わりに標準のADグループ)。 +例えば、部署や電話番号などです。'; $lang['debug'] = 'エラーに関して追加のデバッグ情報を表示する。'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; diff --git a/lib/plugins/authldap/lang/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php index ae8dc7ab6..e663ba063 100644 --- a/lib/plugins/authldap/lang/ko/settings.php +++ b/lib/plugins/authldap/lang/ko/settings.php @@ -13,8 +13,8 @@ $lang['userfilter'] = '사용자 계정을 찾을 LDAP 필터. 예를 $lang['groupfilter'] = '그룹을 찾을 LDAP 필터. 예를 들어 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '사용할 프로토콜 버전. <code>3</code>으로 설정해야 할 수도 있습니다'; $lang['starttls'] = 'TLS 연결을 사용하겠습니까?'; -$lang['referrals'] = '참고(referrals)를 허용하겠습니까? '; -$lang['deref'] = '어떻게 별명을 간접 참고하겠습니까?'; +$lang['referrals'] = '참조(referrals)를 허용하겠습니까? '; +$lang['deref'] = '어떻게 별명을 간접 참조하겠습니까?'; $lang['binddn'] = '익명 바인드가 충분하지 않으면 선택적인 바인드 사용자의 DN. 예를 들어 <code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '위 사용자의 비밀번호'; $lang['userscope'] = '사용자 검색에 대한 검색 범위 제한'; diff --git a/lib/plugins/authldap/lang/lv/settings.php b/lib/plugins/authldap/lang/lv/settings.php index ced5dabf8..90986e4f1 100644 --- a/lib/plugins/authldap/lang/lv/settings.php +++ b/lib/plugins/authldap/lang/lv/settings.php @@ -1,6 +1,9 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ +$lang['starttls'] = 'Lietot TLS savienojumus?'; +$lang['bindpw'] = 'Lietotāja parole'; diff --git a/lib/plugins/authldap/lang/no/settings.php b/lib/plugins/authldap/lang/no/settings.php new file mode 100644 index 000000000..61671ed46 --- /dev/null +++ b/lib/plugins/authldap/lang/no/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Christopher Schive <chschive@frisurf.no> + * @author Patrick <spill.p@hotmail.com> + */ +$lang['port'] = 'LDAP serverport dersom ingen full URL var gitt over.'; +$lang['starttls'] = 'Bruke TLS-forbindelser?'; +$lang['bindpw'] = 'Passord til brukeren over'; diff --git a/lib/plugins/authldap/lang/pl/settings.php b/lib/plugins/authldap/lang/pl/settings.php index 084521e0d..0f5281b13 100644 --- a/lib/plugins/authldap/lang/pl/settings.php +++ b/lib/plugins/authldap/lang/pl/settings.php @@ -3,6 +3,20 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Paweł Jan Czochański <czochanski@gmail.com> + * @author Maciej Helt <geraldziu@gmail.com> */ +$lang['server'] = 'Twój serwer LDAP. Podaj nazwę hosta (<code>localhost</code>) albo pełen adres URL (<code>ldap://server.tld:389</code>).'; +$lang['port'] = 'Port serwera LDAP jeżeli nie podano pełnego adresu URL wyżej.'; +$lang['usertree'] = 'Gdzie szukać kont użytkownika? np. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Gdzie szukać grup użytkowników? np. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'Filtr LDAP wykorzystany przy szukaniu kont użytkowników np. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Filtr LDAP wykorzystany przy szukaniu grup użytkowników np. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Wykorzystywana wersja protokołu. Być może konieczne jest ustawienie tego na <code>3</code>.'; $lang['starttls'] = 'Użyć połączeń TLS?'; $lang['bindpw'] = 'Hasło powyższego użytkownika'; +$lang['debug'] = 'Przy błędach wyświetl dodatkowe informacje debugujące.'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php index a2ccf87ad..b54f2a1bc 100644 --- a/lib/plugins/authldap/lang/pt/settings.php +++ b/lib/plugins/authldap/lang/pt/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author André Neves <drakferion@gmail.com> + * @author Guido Salatino <guidorafael23@gmail.com> */ $lang['server'] = 'O seu servidor de LDAP. Ou hostname (<code>localhost</code>) ou URL qualificado completo (<code>ldap://servidor.tld:389</code>)'; $lang['port'] = 'Porta de servidor de LDAP se o URL completo não foi fornecido acima'; @@ -14,5 +15,14 @@ $lang['groupfilter'] = 'Filtro LDAP para procurar por grupos. Por exem $lang['version'] = 'A versão do protocolo a utilizar. Pode precisar de alterar isto para <code>3</code>'; $lang['starttls'] = 'Usar ligações TLS?'; $lang['referrals'] = 'Referrals devem ser seguidos?'; +$lang['deref'] = 'Como desreferenciar aliases?'; +$lang['binddn'] = 'DN de um usuário de ligação opcional, quando a ligação é anônima não é suficiente. Eg. <code> cn = admin, dc = my, dc = home </code>'; $lang['bindpw'] = 'Senha do utilizador acima'; +$lang['userscope'] = 'Escopo de pesquisa Limite para pesquisa de usuário'; +$lang['groupscope'] = 'Escopo de pesquisa Limite para pesquisa de grupo'; +$lang['groupkey'] = 'A participação no grupo a partir de qualquer atributo de usuário (em vez de AD padrão de grupos) exemplo: grupo de departamento ou número de telefone'; $lang['debug'] = 'Mostrar informação adicional de debug aquando de erros'; +$lang['deref_o_0'] = 'LDAP_DEREF_NUNCA'; +$lang['deref_o_1'] = 'LDAP_DEREF_PESQUISANDO'; +$lang['deref_o_2'] = 'LDAP_DEREF_BUSCANDO'; +$lang['deref_o_3'] = 'LDAP_DEREF_SEMPRE'; diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php index 70ad7b6f4..1e5391644 100644 --- a/lib/plugins/authldap/lang/ru/settings.php +++ b/lib/plugins/authldap/lang/ru/settings.php @@ -5,5 +5,25 @@ * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> + * @author Erli Moen <evseev.jr@gmail.com> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Владимир <id37736@yandex.ru> + * @author Vitaly Filatenko <kot@hacktest.net> */ -$lang['bindpw'] = 'Пароль для указанного пользователя.'; +$lang['server'] = 'Ваш LDAP-сервер. Либо имя хоста (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Порт LDAP-сервера, если выше не был указан полный URL'; +$lang['usertree'] = 'Где искать аккаунты пользователей? Например: <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Где искать группы пользователей? Например: <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'LDAP-фильтр для поиска аккаунтов пользователей. Например: <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP-фильтр для поиска групп. Например: <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Версия протокола. Возможно, вам нужно указать <code>3</code>'; +$lang['starttls'] = 'Использовать TLS-подключения?'; +$lang['deref'] = 'Как расшифровывать псевдонимы?'; +$lang['bindpw'] = 'Пароль для указанного пользователя'; +$lang['userscope'] = 'Ограничить область поиска при поиске пользователей'; +$lang['groupscope'] = 'Ограничить область поиска при поиске групп'; +$lang['debug'] = 'Показывать дополнительную отладочную информацию при ошибках'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/sk/settings.php b/lib/plugins/authldap/lang/sk/settings.php index c44f07e97..26c8d9edd 100644 --- a/lib/plugins/authldap/lang/sk/settings.php +++ b/lib/plugins/authldap/lang/sk/settings.php @@ -20,7 +20,7 @@ $lang['bindpw'] = 'Heslo vyššie uvedeného používateľa'; $lang['userscope'] = 'Obmedzenie oblasti pri vyhľadávaní používateľa'; $lang['groupscope'] = 'Obmedzenie oblasti pri vyhľadávaní skupiny'; $lang['groupkey'] = 'Príslušnost k skupine určená z daného atribútu používateľa (namiesto štandardnej AD skupiny) napr. skupiny podľa oddelenia alebo telefónneho čísla'; -$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe'; +$lang['debug'] = 'Zobraziť dodatočné ladiace informácie pri chybe'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; diff --git a/lib/plugins/authldap/lang/sl/settings.php b/lib/plugins/authldap/lang/sl/settings.php new file mode 100644 index 000000000..f63070390 --- /dev/null +++ b/lib/plugins/authldap/lang/sl/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author matej <mateju@svn.gnome.org> + * @author Jernej Vidmar <jernej.vidmar@vidmarboehm.com> + */ +$lang['starttls'] = 'Ali naj se uporabijo povezave TLS?'; +$lang['bindpw'] = 'Geslo uporabnika zgoraj'; diff --git a/lib/plugins/authldap/lang/tr/settings.php b/lib/plugins/authldap/lang/tr/settings.php new file mode 100644 index 000000000..843b7ef9c --- /dev/null +++ b/lib/plugins/authldap/lang/tr/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ilker rifat kapaç <irifat@gmail.com> + */ +$lang['bindpw'] = 'Üstteki kullanıcının şifresi'; diff --git a/lib/plugins/authldap/lang/zh-tw/settings.php b/lib/plugins/authldap/lang/zh-tw/settings.php index 7e35ef632..e3d85cb87 100644 --- a/lib/plugins/authldap/lang/zh-tw/settings.php +++ b/lib/plugins/authldap/lang/zh-tw/settings.php @@ -1,4 +1,5 @@ <?php + /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @@ -19,7 +20,6 @@ $lang['userscope'] = '限制使用者搜索的範圍'; $lang['groupscope'] = '限制群組搜索的範圍'; $lang['groupkey'] = '以其他使用者屬性 (而非標準 AD 群組) 來把使用者分組,例如以部門或電話號碼分類'; $lang['debug'] = '有錯誤時,顯示額外除錯資訊'; - $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; diff --git a/lib/plugins/authldap/lang/zh/settings.php b/lib/plugins/authldap/lang/zh/settings.php index 77c2c6952..d4ea5c615 100644 --- a/lib/plugins/authldap/lang/zh/settings.php +++ b/lib/plugins/authldap/lang/zh/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author lainme <lainme993@gmail.com> + * @author oott123 <ip.192.168.1.1@qq.com> */ $lang['server'] = '您的 LDAP 服务器。填写主机名 (<code>localhost</code>) 或者完整的 URL (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'LDAP 服务器端口 (如果上面没有给出完整的 URL)'; @@ -14,6 +15,7 @@ $lang['groupfilter'] = '用于搜索组的 LDAP 筛选器。例如 <co $lang['version'] = '使用的协议版本。您或许需要设置为 <code>3</code>'; $lang['starttls'] = '使用 TLS 连接?'; $lang['referrals'] = '是否允许引用 (referrals)?'; +$lang['deref'] = '如何间接引用别名?'; $lang['binddn'] = '一个可选的绑定用户的 DN (如果匿名绑定不满足要求)。例如 <code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '上述用户的密码'; $lang['userscope'] = '限制用户搜索的范围'; @@ -24,3 +26,6 @@ $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = '默认'; +$lang['referrals_o_0'] = '不要跟随参照(referral)'; +$lang['referrals_o_1'] = '跟随参照(referral)'; diff --git a/lib/plugins/authldap/plugin.info.txt b/lib/plugins/authldap/plugin.info.txt index 0d0b13f65..964fbb994 100644 --- a/lib/plugins/authldap/plugin.info.txt +++ b/lib/plugins/authldap/plugin.info.txt @@ -1,7 +1,7 @@ base authldap author Andreas Gohr email andi@splitbrain.org -date 2013-04-19 +date 2014-05-18 name LDAP Auth Plugin desc Provides user authentication against an LDAP server url http://www.dokuwiki.org/plugin:authldap diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php index 036644a67..0d423b6c9 100644 --- a/lib/plugins/authmysql/auth.php +++ b/lib/plugins/authmysql/auth.php @@ -21,6 +21,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { /** @var int database subrevision */ protected $dbsub = 0; + /** @var array cache to avoid re-reading user info data */ + protected $cacheUserInfo = array(); + /** * Constructor * @@ -112,7 +115,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * Check if the given config strings are set * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> - * @param array $keys + * + * @param string[] $keys * @param bool $wop is this a check for a write operation? * @return bool */ @@ -157,10 +161,11 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $result = $this->_queryDB($sql); if($result !== false && count($result) == 1) { - if($this->getConf('forwardClearPass') == 1) + if($this->getConf('forwardClearPass') == 1) { $rc = true; - else + } else { $rc = auth_verifyPassword($pass, $result[0]['pass']); + } } $this->_closeDB(); } @@ -174,16 +179,23 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $user user login to get data for + * @param bool $requireGroups when true, group membership information should be included in the returned array; + * when false, it maybe included, but is not required by the caller * @return array|bool */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { + if($this->_cacheExists($user, $requireGroups)) { + return $this->cacheUserInfo[$user]; + } + if($this->_openDB()) { $this->_lockTables("READ"); - $info = $this->_getUserInfo($user); + $info = $this->_getUserInfo($user, $requireGroups); $this->_unlockTables(); $this->_closeDB(); - } else + } else { $info = false; + } return $info; } @@ -209,12 +221,14 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { global $conf; if($this->_openDB()) { - if(($info = $this->_getUserInfo($user)) !== false) + if(($info = $this->_getUserInfo($user)) !== false) { return false; // user already exists + } // set defaultgroup if no groups were given - if($grps == null) + if($grps == null) { $grps = array($conf['defaultgroup']); + } $this->_lockTables("WRITE"); $pwd = $this->getConf('forwardClearPass') ? $pwd : auth_cryptPassword($pwd); @@ -234,17 +248,17 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * The dataset update will be rejected if the user name should be changed * to an already existing one. * - * The password must be provides unencrypted. Pasword cryption is done + * The password must be provided unencrypted. Pasword encryption is done * automatically if configured. * - * If one or more groups could't be updated, an error would be set. In + * If one or more groups can't be updated, an error will be set. In * this case the dataset might already be changed and we can't rollback - * the changes. Transactions would be really usefull here. + * the changes. Transactions would be really useful here. * * modifyUser() may be called without SQL statements defined that are * needed to change group membership (for example if only the user profile - * should be modified). In this case we asure that we don't touch groups - * even $changes['grps'] is set by mistake. + * should be modified). In this case we assure that we don't touch groups + * even when $changes['grps'] is set by mistake. * * @author Chris Smith <chris@jalakai.co.uk> * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> @@ -256,27 +270,30 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { public function modifyUser($user, $changes) { $rc = false; - if(!is_array($changes) || !count($changes)) + if(!is_array($changes) || !count($changes)) { return true; // nothing to change + } if($this->_openDB()) { $this->_lockTables("WRITE"); - if(($uid = $this->_getUserID($user))) { - $rc = $this->_updateUserInfo($changes, $uid); + $rc = $this->_updateUserInfo($user, $changes); - if($rc && isset($changes['grps']) && $this->cando['modGroups']) { - $groups = $this->_getGroups($user); - $grpadd = array_diff($changes['grps'], $groups); - $grpdel = array_diff($groups, $changes['grps']); + if($rc && isset($changes['grps']) && $this->cando['modGroups']) { + $groups = $this->_getGroups($user); + $grpadd = array_diff($changes['grps'], $groups); + $grpdel = array_diff($groups, $changes['grps']); - foreach($grpadd as $group) - if(($this->_addUserToGroup($user, $group, 1)) == false) - $rc = false; + foreach($grpadd as $group) { + if(($this->_addUserToGroup($user, $group, true)) == false) { + $rc = false; + } + } - foreach($grpdel as $group) - if(($this->_delUserFromGroup($user, $group)) == false) - $rc = false; + foreach($grpdel as $group) { + if(($this->_delUserFromGroup($user, $group)) == false) { + $rc = false; + } } } @@ -304,8 +321,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { if(is_array($users) && count($users)) { $this->_lockTables("WRITE"); foreach($users as $user) { - if($this->_delUser($user)) + if($this->_delUser($user)) { $count++; + } } $this->_unlockTables(); } @@ -349,22 +367,29 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * * @param int $first index of first user to be returned * @param int $limit max number of users to be returned - * @param array|string $filter array of field/pattern pairs + * @param array $filter array of field/pattern pairs * @return array userinfo (refer getUserData for internal userinfo details) */ - public function retrieveUsers($first = 0, $limit = 10, $filter = array()) { + public function retrieveUsers($first = 0, $limit = 0, $filter = array()) { $out = array(); if($this->_openDB()) { $this->_lockTables("READ"); $sql = $this->_createSQLFilter($this->getConf('getUsers'), $filter); - $sql .= " ".$this->getConf('SortOrder')." LIMIT $first, $limit"; + $sql .= " ".$this->getConf('SortOrder'); + if($limit) { + $sql .= " LIMIT $first, $limit"; + } elseif($first) { + $sql .= " LIMIT $first"; + } $result = $this->_queryDB($sql); if(!empty($result)) { - foreach($result as $user) - if(($info = $this->_getUserInfo($user['user']))) + foreach($result as $user) { + if(($info = $this->_getUserInfo($user['user']))) { $out[$user['user']] = $info; + } + } } $this->_unlockTables(); @@ -461,7 +486,10 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{user}', $this->_escape($user), $sql); $sql = str_replace('%{gid}', $this->_escape($gid), $sql); $sql = str_replace('%{group}', $this->_escape($group), $sql); - if($this->_modifyDB($sql) !== false) return true; + if($this->_modifyDB($sql) !== false) { + $this->_flushUserInfoCache($user); + return true; + } if($newgroup) { // remove previously created group on error $sql = str_replace('%{gid}', $this->_escape($gid), $this->getConf('delGroup')); @@ -496,6 +524,10 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{gid}', $this->_escape($gid), $sql); $sql = str_replace('%{group}', $this->_escape($group), $sql); $rc = $this->_modifyDB($sql) == 0 ? true : false; + + if ($rc) { + $this->_flushUserInfoCache($user); + } } } return $rc; @@ -521,8 +553,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $result = $this->_queryDB($sql); if($result !== false && count($result)) { - foreach($result as $row) + foreach($result as $row) { $groups[] = $row['group']; + } } return $groups; } @@ -580,11 +613,12 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { if($uid) { foreach($grps as $group) { - $gid = $this->_addUserToGroup($user, $group, 1); + $gid = $this->_addUserToGroup($user, $group, true); if($gid === false) break; } if($gid !== false){ + $this->_flushUserInfoCache($user); return true; } else { /* remove the new user and all group relations if a group can't @@ -609,7 +643,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * - * @param string $user user whose id is desired + * @param string $user username of the user to be deleted * @return bool */ protected function _delUser($user) { @@ -621,30 +655,108 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{uid}', $this->_escape($uid), $this->getConf('delUser')); $sql = str_replace('%{user}', $this->_escape($user), $sql); $this->_modifyDB($sql); + $this->_flushUserInfoCache($user); + return true; + } + } + return false; + } + + /** + * Flush cached user information + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username of the user whose data is to be removed from the cache + * if null, empty the whole cache + */ + protected function _flushUserInfoCache($user=null) { + if (is_null($user)) { + $this->cacheUserInfo = array(); + } else { + unset($this->cacheUserInfo[$user]); + } + } + + /** + * Quick lookup to see if a user's information has been cached + * + * This test does not need a database connection or read lock + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username to be looked up in the cache + * @param bool $requireGroups true, if cached info should include group memberships + * + * @return bool existence of required user information in the cache + */ + protected function _cacheExists($user, $requireGroups=true) { + if (isset($this->cacheUserInfo[$user])) { + if (!is_array($this->cacheUserInfo[$user])) { + return true; // user doesn't exist + } + + if (!$requireGroups || isset($this->cacheUserInfo[$user]['grps'])) { return true; } } + return false; } /** - * getUserInfo + * Get a user's information + * + * The database connection must already be established for this function to work. + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username of the user whose information is being reterieved + * @param bool $requireGroups true if group memberships should be included + * @param bool $useCache true if ok to return cached data & to cache returned data + * + * @return mixed false|array false if the user doesn't exist + * array containing user information if user does exist + */ + protected function _getUserInfo($user, $requireGroups=true, $useCache=true) { + $info = null; + + if ($useCache && isset($this->cacheUserInfo[$user])) { + $info = $this->cacheUserInfo[$user]; + } + + if (is_null($info)) { + $info = $this->_retrieveUserInfo($user); + } + + if (($requireGroups == true) && $info && !isset($info['grps'])) { + $info['grps'] = $this->_getGroups($user); + } + + if ($useCache) { + $this->cacheUserInfo[$user] = $info; + } + + return $info; + } + + /** + * retrieveUserInfo * - * Gets the data for a specific user The database connection + * Gets the data for a specific user. The database connection * must already be established for this function to work. * Otherwise it will return 'false'. * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $user user's nick to get data for - * @return bool|array false on error, user info on success + * @return false|array false on error, user info on success */ - protected function _getUserInfo($user) { + protected function _retrieveUserInfo($user) { $sql = str_replace('%{user}', $this->_escape($user), $this->getConf('getUserInfo')); $result = $this->_queryDB($sql); if($result !== false && count($result)) { $info = $result[0]; - $info['grps'] = $this->_getGroups($user); return $info; } return false; @@ -661,20 +773,25 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * The database connection has already to be established for this * function to work. Otherwise it will return 'false'. * - * The password will be crypted if necessary. + * The password will be encrypted if necessary. * + * @param string $user user's nick being updated * @param array $changes array of items to change as pairs of item and value - * @param mixed $uid user id of dataset to change, must be unique in DB * @return bool true on success or false on error * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> */ - protected function _updateUserInfo($changes, $uid) { + protected function _updateUserInfo($user, $changes) { $sql = $this->getConf('updateUser')." "; $cnt = 0; $err = 0; if($this->dbcon) { + $uid = $this->_getUserID($user); + if ($uid === false) { + return false; + } + foreach($changes as $item => $value) { if($item == 'user') { if(($this->_getUserID($changes['user']))) { @@ -702,6 +819,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql .= " ".str_replace('%{uid}', $uid, $this->getConf('UpdateTarget')); if(get_class($this) == 'auth_mysql') $sql .= " LIMIT 1"; //some PgSQL inheritance comp. $this->_modifyDB($sql); + $this->_flushUserInfoCache($user); } return true; } @@ -719,7 +837,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $group group name which id is desired - * @return mixed group id + * @return false|string group id */ protected function _getGroupID($group) { if($this->dbcon) { @@ -792,7 +910,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $query SQL string that contains the query - * @return array with the result table + * @return array|false with the result table */ protected function _queryDB($query) { if($this->getConf('debug') >= 2) { @@ -883,6 +1001,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * abrogated. * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> + * + * @return bool */ protected function _unlockTables() { if($this->dbcon) { diff --git a/lib/plugins/authmysql/lang/bg/settings.php b/lib/plugins/authmysql/lang/bg/settings.php index fcc7f625d..cd6370218 100644 --- a/lib/plugins/authmysql/lang/bg/settings.php +++ b/lib/plugins/authmysql/lang/bg/settings.php @@ -1,8 +1,10 @@ <?php + /** - * Bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Kiril <neohidra@gmail.com> + * @author Ivan Peltekov <ivan.peltekov@abv.bg> */ $lang['server'] = 'Вашият MySQL сървър'; $lang['user'] = 'MySQL потребителско име'; @@ -10,8 +12,8 @@ $lang['password'] = 'Парола за горния потреби $lang['database'] = 'Име на базата от данни'; $lang['charset'] = 'Набор от знаци, който се ползва в базата от данни'; $lang['debug'] = 'Показване на допълнителна debug информация'; - - -$lang['debug_o_0'] = 'не'; -$lang['debug_o_1'] = 'само при грешка'; -$lang['debug_o_2'] = 'за всяко SQL запитване';
\ No newline at end of file +$lang['checkPass'] = 'SQL заявка за проверка на паролите'; +$lang['getUserInfo'] = 'SQL заявка за извличане на информация за потребителя н'; +$lang['debug_o_0'] = 'не'; +$lang['debug_o_1'] = 'само при грешка'; +$lang['debug_o_2'] = 'за всяко SQL запитване'; diff --git a/lib/plugins/authmysql/lang/cs/settings.php b/lib/plugins/authmysql/lang/cs/settings.php index 350c3236b..09146a451 100644 --- a/lib/plugins/authmysql/lang/cs/settings.php +++ b/lib/plugins/authmysql/lang/cs/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author mkucera66@seznam.cz + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['server'] = 'Váš server MySQL'; $lang['user'] = 'Uživatelské jméno pro MySQL'; @@ -19,7 +20,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání uživatelovy skupi $lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů'; $lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména'; $lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména'; -$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů'; +$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů'; $lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách'; $lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů'; $lang['addUser'] = 'Příkaz SQL pro přidání nového uživatele'; @@ -32,7 +33,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ $lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu'; $lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele'; $lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele'; -$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele'; +$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele'; $lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele'; $lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci'; $lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině'; diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php index 1e38cb6b4..ed21201fb 100644 --- a/lib/plugins/authmysql/lang/da/settings.php +++ b/lib/plugins/authmysql/lang/da/settings.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> * @author soer9648 <soer9648@eucl.dk> */ @@ -11,6 +11,7 @@ $lang['user'] = 'MySQL brugernavn'; $lang['password'] = 'Kodeord til ovenstående bruger'; $lang['database'] = 'Database der skal benyttes'; $lang['charset'] = 'Tegnsæt benyttet i database'; +$lang['debug'] = 'Vis yderligere debug output'; $lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord'; $lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation'; $lang['getUsers'] = 'SQL-sætning til at liste alle brugere'; @@ -21,7 +22,6 @@ $lang['delGroup'] = 'SQL-sætning til at fjerne en gruppe'; $lang['delUser'] = 'SQL-sætning til at slette en bruger'; $lang['delUserRefs'] = 'SQL-sætning til at fjerne en bruger fra alle grupper'; $lang['updateUser'] = 'SQL-sætning til at opdatere en brugerprofil'; -$lang['debug'] = 'Vis yderligere debug output'; $lang['debug_o_0'] = 'ingen'; $lang['debug_o_1'] = 'kun ved fejl'; $lang['debug_o_2'] = 'alle SQL forespørgsler'; diff --git a/lib/plugins/authmysql/lang/es/settings.php b/lib/plugins/authmysql/lang/es/settings.php index 64d422102..b82620fc6 100644 --- a/lib/plugins/authmysql/lang/es/settings.php +++ b/lib/plugins/authmysql/lang/es/settings.php @@ -4,9 +4,36 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Antonio Bueno <atnbueno@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> */ $lang['server'] = 'Tu servidor MySQL'; $lang['user'] = 'Nombre de usuario MySQL'; +$lang['password'] = 'Contraseña para el usuario de arriba.'; $lang['database'] = 'Base de datos a usar'; $lang['charset'] = 'Codificación usada en la base de datos'; $lang['debug'] = 'Mostrar información adicional para depuración de errores'; +$lang['forwardClearPass'] = 'Enviar las contraseñas de usuario comotexto plano a las siguientes sentencias de SQL, en lugar de utilizar la opción passcrypt'; +$lang['TablesToLock'] = 'Lista separada por comasde las tablas a bloquear durante operaciones de escritura'; +$lang['checkPass'] = 'Sentencia SQL para verificar las contraseñas'; +$lang['getUserInfo'] = 'Sentencia SQL para obtener información del usuario'; +$lang['getGroups'] = 'Sentencia SQL para obtener la pertenencia a grupos de un usuario'; +$lang['getUsers'] = 'Sentencia SQL para listar todos los usuarios'; +$lang['FilterLogin'] = 'Cláusula SQL para filtrar usuarios por su nombre de usuario'; +$lang['FilterName'] = 'Cláusula SQL para filtrar usuarios por su nombre completo'; +$lang['FilterEmail'] = 'Cláusula SQL para filtrar usuarios por su dirección de correo electrónico'; +$lang['FilterGroup'] = 'Cláusula SQL para filtrar usuarios por su pertenencia a grupos'; +$lang['SortOrder'] = 'Cláusula SQL para ordenar usuarios'; +$lang['addUser'] = 'Sentencia SQL para agregar un nuevo usuario'; +$lang['addGroup'] = 'Sentencia SQL para agregar un nuevo grupo'; +$lang['addUserGroup'] = 'Sentencia SQL para agregar un usuario a un grupo existente'; +$lang['delGroup'] = 'Sentencia SQL para eliminar un grupo'; +$lang['getUserID'] = 'Sentencia SQL para obtener la clave primaria de un usuario'; +$lang['delUser'] = 'Sentencia SQL para eliminar un usuario'; +$lang['delUserRefs'] = 'Sentencia SQL para eliminar un usuario de todos los grupos'; +$lang['updateUser'] = 'Sentencia SQL para actualizar un perfil de usuario'; +$lang['delUserGroup'] = 'Sentencia SQL para eliminar un usuario de un grupo dado'; +$lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; +$lang['debug_o_0'] = 'ninguno'; +$lang['debug_o_1'] = 'sólo errores'; +$lang['debug_o_2'] = 'todas las consultas SQL'; diff --git a/lib/plugins/authmysql/lang/fa/settings.php b/lib/plugins/authmysql/lang/fa/settings.php new file mode 100644 index 000000000..68ad5ce83 --- /dev/null +++ b/lib/plugins/authmysql/lang/fa/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['server'] = 'سرور MySQL'; +$lang['user'] = 'نام کاربری MySQL'; +$lang['database'] = 'پایگاه داده مورد استفاده'; diff --git a/lib/plugins/authmysql/lang/fi/settings.php b/lib/plugins/authmysql/lang/fi/settings.php index d3aa13e07..32517957b 100644 --- a/lib/plugins/authmysql/lang/fi/settings.php +++ b/lib/plugins/authmysql/lang/fi/settings.php @@ -1,6 +1,11 @@ <?php + /** - * Finnish language file - * - * @author Otto Vainio <otto@valjakko.net> + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jussi Takala <jussi.takala@live.fi> */ +$lang['server'] = 'Sinun MySQL-serveri'; +$lang['user'] = 'MySQL-käyttäjänimi'; +$lang['password'] = 'Salasana yläolevalle käyttäjälle'; +$lang['charset'] = 'Käytetty merkistö tietokannassa'; diff --git a/lib/plugins/authmysql/lang/hr/settings.php b/lib/plugins/authmysql/lang/hr/settings.php new file mode 100644 index 000000000..af9966999 --- /dev/null +++ b/lib/plugins/authmysql/lang/hr/settings.php @@ -0,0 +1,42 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš MySQL server'; +$lang['user'] = 'MySQL korisničko ime'; +$lang['password'] = 'Lozinka gore navedenog korisnika'; +$lang['database'] = 'Baza koja se koristi'; +$lang['charset'] = 'Znakovni set koji se koristi u bazi'; +$lang['debug'] = 'Prikaz dodatnih debug informacija'; +$lang['forwardClearPass'] = 'Proslijedi korisničku lozinku kao čisti tekst u SQL upitu niže, umjesto korištenja passcrypt opcije'; +$lang['TablesToLock'] = 'Zarezom odvojena lista tabela koje trebaju biti zaključane pri operacijama pisanja'; +$lang['checkPass'] = 'SQL izraz za provjeru lozinki'; +$lang['getUserInfo'] = 'SQL izraz za dohvaćanje informacija o korisniku'; +$lang['getGroups'] = 'SQL izraz za dohvaćanje članstva u grupama'; +$lang['getUsers'] = 'SQL izraz za ispis svih korisnika'; +$lang['FilterLogin'] = 'SQL izraz za izdvajanje korisnika po korisničkom imenu'; +$lang['FilterName'] = 'SQL izraz za izdvajanje korisnika po punom imenu'; +$lang['FilterEmail'] = 'SQL izraz za izdvajanje korisnika po adresi e-pošte'; +$lang['FilterGroup'] = 'SQL izraz za izdvajanje korisnika po članstvu u grupama'; +$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika'; +$lang['addUser'] = 'SQL izraz za dodavanje novih korisnika'; +$lang['addGroup'] = 'SQL izraz za dodavanje novih grupa'; +$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu'; +$lang['delGroup'] = 'SQL izraz za uklanjanje grupe'; +$lang['getUserID'] = 'SQL izraz za dobivanje primarnog ključa korisnika'; +$lang['delUser'] = 'SQL izraz za brisanje korisnika'; +$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz grupe'; +$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila'; +$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena'; +$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke'; +$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese'; +$lang['UpdateName'] = 'UPDATE izraz za ažuriranje punog imena korisnika'; +$lang['UpdateTarget'] = 'Limit izraz za identificiranje korisnika pri ažuriranju'; +$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz zadane grupe'; +$lang['getGroupID'] = 'SQL izraz za dobivanje primarnoga ključa zadane grupe'; +$lang['debug_o_0'] = 'ništa'; +$lang['debug_o_1'] = 'u slučaju greške'; +$lang['debug_o_2'] = 'svi SQL upiti'; diff --git a/lib/plugins/authmysql/lang/hu/settings.php b/lib/plugins/authmysql/lang/hu/settings.php index 4edceae1e..cf7b26bb9 100644 --- a/lib/plugins/authmysql/lang/hu/settings.php +++ b/lib/plugins/authmysql/lang/hu/settings.php @@ -4,39 +4,40 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Marton Sebok <sebokmarton@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ -$lang['server'] = 'MySQL-szerver'; -$lang['user'] = 'MySQL felhasználónév'; -$lang['password'] = 'Ehhez a jelszó'; +$lang['server'] = 'MySQL-kiszolgáló'; +$lang['user'] = 'MySQL-felhasználónév'; +$lang['password'] = 'Fenti felhasználó jelszava'; $lang['database'] = 'Adatbázis'; $lang['charset'] = 'Az adatbázisban használt karakterkészlet'; -$lang['debug'] = 'Debug-üzenetek megjelenítése?'; -$lang['forwardClearPass'] = 'A jelszó nyílt szövegben való átadása a következő SQL utasításokban a passcrypt opció használata helyett'; -$lang['TablesToLock'] = 'Az íráskor zárolandó táblák vesszővel elválasztott listája'; -$lang['checkPass'] = 'SQL utasítás a jelszavak ellenőrzéséhez'; -$lang['getUserInfo'] = 'SQL utasítás a felhasználói információk lekérdezéséhez'; -$lang['getGroups'] = 'SQL utasítás egy felhasználó csoporttagságainak lekérdezéséhez'; -$lang['getUsers'] = 'SQL utasítás a felhasználók listázásához'; -$lang['FilterLogin'] = 'SQL kifejezés a felhasználók azonosító alapú szűréséhez'; -$lang['FilterName'] = 'SQL kifejezés a felhasználók név alapú szűréséhez'; -$lang['FilterEmail'] = 'SQL kifejezés a felhasználók e-mail cím alapú szűréséhez'; -$lang['FilterGroup'] = 'SQL kifejezés a felhasználók csoporttagság alapú szűréséhez'; -$lang['SortOrder'] = 'SQL kifejezés a felhasználók rendezéséhez'; -$lang['addUser'] = 'SQL utasítás új felhasználó hozzáadásához'; -$lang['addGroup'] = 'SQL utasítás új csoport hozzáadásához'; -$lang['addUserGroup'] = 'SQL utasítás egy felhasználó egy meglévő csoporthoz való hozzáadásához'; -$lang['delGroup'] = 'SQL utasítás egy csoport törléséhez'; -$lang['getUserID'] = 'SQL utasítás egy felhasználó elsődleges kulcsának lekérdezéséhez'; -$lang['delUser'] = 'SQL utasítás egy felhasználó törléséhez'; -$lang['delUserRefs'] = 'SQL utasítás egy felhasználó eltávolításához az összes csoportból'; -$lang['updateUser'] = 'SQL utasítás egy felhasználó profiljának frissítéséhez'; -$lang['UpdateLogin'] = 'SQL kifejezés a felhasználó azonosítójának frissítéséhez'; -$lang['UpdatePass'] = 'SQL kifejezés a felhasználó jelszavának frissítéséhez'; -$lang['UpdateEmail'] = 'SQL kifejezés a felhasználó e-mail címének frissítéséhez'; -$lang['UpdateName'] = 'SQL kifejezés a felhasználó nevének frissítéséhez'; -$lang['UpdateTarget'] = 'SQL kifejezés a felhasználó kiválasztásához az adatok frissítésekor'; -$lang['delUserGroup'] = 'SQL utasítás egy felhasználó eltávolításához egy adott csoportból'; -$lang['getGroupID'] = 'SQL utasítás egy csoport elsődleges kulcsának lekérdezéséhez'; +$lang['debug'] = 'Hibakeresési üzenetek megjelenítése'; +$lang['forwardClearPass'] = 'A jelszó nyílt szövegként történő átadása az alábbi SQL-utasításoknak a passcrypt opció használata helyett'; +$lang['TablesToLock'] = 'Az íráskor zárolni kívánt táblák vesszővel elválasztott listája'; +$lang['checkPass'] = 'SQL-utasítás a jelszavak ellenőrzéséhez'; +$lang['getUserInfo'] = 'SQL-utasítás a felhasználói információk lekérdezéséhez'; +$lang['getGroups'] = 'SQL-utasítás egy felhasználó csoporttagságainak lekérdezéséhez'; +$lang['getUsers'] = 'SQL-utasítás a felhasználók listázásához'; +$lang['FilterLogin'] = 'SQL-kifejezés a felhasználók azonosító alapú szűréséhez'; +$lang['FilterName'] = 'SQL-kifejezés a felhasználók név alapú szűréséhez'; +$lang['FilterEmail'] = 'SQL-kifejezés a felhasználók e-mail cím alapú szűréséhez'; +$lang['FilterGroup'] = 'SQL-kifejezés a felhasználók csoporttagság alapú szűréséhez'; +$lang['SortOrder'] = 'SQL-kifejezés a felhasználók rendezéséhez'; +$lang['addUser'] = 'SQL-utasítás új felhasználó hozzáadásához'; +$lang['addGroup'] = 'SQL-utasítás új csoport hozzáadásához'; +$lang['addUserGroup'] = 'SQL-utasítás egy felhasználó egy meglévő csoporthoz való hozzáadásához'; +$lang['delGroup'] = 'SQL-utasítás egy csoport törléséhez'; +$lang['getUserID'] = 'SQL-utasítás egy felhasználó elsődleges kulcsának lekérdezéséhez'; +$lang['delUser'] = 'SQL-utasítás egy felhasználó törléséhez'; +$lang['delUserRefs'] = 'SQL-utasítás egy felhasználó eltávolításához az összes csoportból'; +$lang['updateUser'] = 'SQL-utasítás egy felhasználó profiljának frissítéséhez'; +$lang['UpdateLogin'] = 'UPDATE-klauzula a felhasználó azonosítójának frissítéséhez'; +$lang['UpdatePass'] = 'UPDATE-klauzula a felhasználó jelszavának frissítéséhez'; +$lang['UpdateEmail'] = 'UPDATE-klauzula a felhasználó e-mail címének frissítéséhez'; +$lang['UpdateName'] = 'UPDATE-klauzula a felhasználó teljes nevének frissítéséhez'; +$lang['UpdateTarget'] = 'LIMIT-klauzula a felhasználó kiválasztásához az adatok frissítésekor'; +$lang['delUserGroup'] = 'SQL-utasítás felhasználó adott csoportból történő törléséhez '; +$lang['getGroupID'] = 'SQL-utasítás adott csoport elsődleges kulcsának lekérdezéséhez'; $lang['debug_o_0'] = 'nem'; $lang['debug_o_1'] = 'csak hiba esetén'; $lang['debug_o_2'] = 'minden SQL-lekérdezésnél'; diff --git a/lib/plugins/authmysql/lang/it/settings.php b/lib/plugins/authmysql/lang/it/settings.php index e493ec7e9..10c0de96f 100644 --- a/lib/plugins/authmysql/lang/it/settings.php +++ b/lib/plugins/authmysql/lang/it/settings.php @@ -4,5 +4,34 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Claudio Lanconelli <lancos@libero.it> + * @author Mirko <malisan.mirko@gmail.com> + * @author Francesco <francesco.cavalli@hotmail.com> */ +$lang['server'] = 'Il tuo server MySQL'; +$lang['user'] = 'User name di MySQL'; +$lang['database'] = 'Database da usare'; +$lang['charset'] = 'Set di caratteri usato nel database'; $lang['debug'] = 'Mostra ulteriori informazioni di debug'; +$lang['TablesToLock'] = 'Lista, separata da virgola, delle tabelle che devono essere bloccate in scrittura'; +$lang['checkPass'] = 'Istruzione SQL per il controllo password'; +$lang['getUserInfo'] = 'Istruzione SQL per recuperare le informazioni utente'; +$lang['getUsers'] = 'Istruzione SQL per listare tutti gli utenti'; +$lang['FilterLogin'] = 'Istruzione SQL per per filtrare gli utenti in funzione del "login name"'; +$lang['SortOrder'] = 'Istruzione SQL per ordinare gli utenti'; +$lang['addUser'] = 'Istruzione SQL per aggiungere un nuovo utente'; +$lang['addGroup'] = 'Istruzione SQL per aggiungere un nuovo gruppo'; +$lang['addUserGroup'] = 'Istruzione SQL per aggiungere un utente ad un gruppo esistente'; +$lang['delGroup'] = 'Istruzione SQL per imuovere un gruppo'; +$lang['getUserID'] = 'Istruzione SQL per recuperare la primary key di un utente'; +$lang['delUser'] = 'Istruzione SQL per cancellare un utente'; +$lang['delUserRefs'] = 'Istruzione SQL per rimuovere un utente da tutti i gruppi'; +$lang['updateUser'] = 'Istruzione SQL per aggiornare il profilo utente'; +$lang['UpdateLogin'] = 'Clausola per aggiornare il "login name" dell\'utente'; +$lang['UpdatePass'] = 'Clausola per aggiornare la password utente'; +$lang['UpdateEmail'] = 'Clausola per aggiornare l\'email utente'; +$lang['UpdateName'] = 'Clausola per aggiornare il nome completo'; +$lang['delUserGroup'] = 'Istruzione SQL per rimuovere un utente da un dato gruppo'; +$lang['getGroupID'] = 'Istruzione SQL per avere la primary key di un dato gruppo'; +$lang['debug_o_0'] = 'Nulla'; +$lang['debug_o_1'] = 'Solo in errore'; +$lang['debug_o_2'] = 'Tutte le query SQL'; diff --git a/lib/plugins/authmysql/lang/lv/settings.php b/lib/plugins/authmysql/lang/lv/settings.php index ced5dabf8..8550363c9 100644 --- a/lib/plugins/authmysql/lang/lv/settings.php +++ b/lib/plugins/authmysql/lang/lv/settings.php @@ -1,6 +1,10 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ +$lang['user'] = 'MySQL lietotāja vārds'; +$lang['password'] = 'Lietotāja parole'; +$lang['delUser'] = 'SQL pieprasījums lietotāja dzēšanai'; diff --git a/lib/plugins/authmysql/lang/no/settings.php b/lib/plugins/authmysql/lang/no/settings.php new file mode 100644 index 000000000..45ab09819 --- /dev/null +++ b/lib/plugins/authmysql/lang/no/settings.php @@ -0,0 +1,14 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Patrick <spill.p@hotmail.com> + */ +$lang['server'] = 'Din MySQL-server'; +$lang['user'] = 'Ditt MySQL-brukernavn'; +$lang['password'] = 'Passord til brukeren'; +$lang['database'] = 'Database som skal brukes'; +$lang['debug_o_0'] = 'ingen'; +$lang['debug_o_1'] = 'bare ved feil'; +$lang['debug_o_2'] = 'alle SQL-forespørsler'; diff --git a/lib/plugins/authmysql/lang/pl/settings.php b/lib/plugins/authmysql/lang/pl/settings.php index 5ae6bf168..68b5c6c22 100644 --- a/lib/plugins/authmysql/lang/pl/settings.php +++ b/lib/plugins/authmysql/lang/pl/settings.php @@ -3,9 +3,24 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Paweł Jan Czochański <czochanski@gmail.com> + * @author Mati <mackosa@wp.pl> + * @author Maciej Helt <geraldziu@gmail.com> */ $lang['server'] = 'Twój server MySQL'; $lang['user'] = 'Nazwa użytkownika MySQL'; $lang['password'] = 'Hasło dla powyższego użytkownika'; $lang['database'] = 'Używana baza danych'; $lang['charset'] = 'Zestaw znaków uzyty w bazie danych'; +$lang['debug'] = 'Wyświetlaj dodatkowe informacje do debugowania.'; +$lang['checkPass'] = 'Zapytanie SQL wykorzystywane do sprawdzania haseł.'; +$lang['getUserInfo'] = 'Zapytanie SQL zwracające informacje o użytkowniku'; +$lang['getGroups'] = 'Zapytanie SQL przynależność do grup danego użytkownika'; +$lang['getUsers'] = 'Zapytanie SQL zwracające listę wszystkich użytkowników'; +$lang['FilterLogin'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich loginu'; +$lang['FilterName'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich pełnej nazwy'; +$lang['FilterEmail'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich adresu email'; +$lang['FilterGroup'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich przynależności do grup'; +$lang['SortOrder'] = 'Klauzula SQL używana do sortowania użytkowników'; +$lang['addUser'] = 'Zapytanie SQL dodające nowego użytkownika'; +$lang['debug_o_2'] = 'wszystkie zapytania SQL'; diff --git a/lib/plugins/authmysql/lang/pt/settings.php b/lib/plugins/authmysql/lang/pt/settings.php index 0c7f303e7..821dcf802 100644 --- a/lib/plugins/authmysql/lang/pt/settings.php +++ b/lib/plugins/authmysql/lang/pt/settings.php @@ -4,20 +4,40 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author André Neves <drakferion@gmail.com> + * @author Guido Salatino <guidorafael23@gmail.com> */ $lang['server'] = 'O seu servidor de MySQL'; $lang['user'] = 'Utilizador MySQL'; $lang['password'] = 'Senha para o utilizador acima'; $lang['database'] = 'Base de dados a usar'; +$lang['charset'] = 'Conjunto de caracteres usado na base de dados'; $lang['debug'] = 'Mostrar informação adicional de debug'; +$lang['forwardClearPass'] = 'Passe as senhas do usuário como texto puro para as instruções SQL abaixo, em vez de usar a opção passcrypt'; +$lang['TablesToLock'] = 'Lista de tabelas, separadas por virgula, que devem ser bloqueadas em operações de escrita'; +$lang['checkPass'] = 'Instrução SQL para verificar senhas'; +$lang['getUserInfo'] = 'Instrução SQL para recuperar informações do usuário'; +$lang['getGroups'] = 'Instrução SQL para recuperar os usuários participantes de um grupo'; +$lang['getUsers'] = 'Instrução SQL para listar todos usuários'; $lang['FilterLogin'] = 'Cláusula SQL para filtrar utilizadores por tipo de login'; $lang['FilterName'] = 'Cláusula SQL para filtrar utilizadores por nome completo'; $lang['FilterEmail'] = 'Cláusula SQL para filtrar utilizadores por endereço de email'; $lang['FilterGroup'] = 'Cláusula SQL para filtrar utilizadores por pertença a grupo'; $lang['SortOrder'] = 'Cláusula SQL para ordenar utilizadores'; +$lang['addUser'] = 'Instrução SQL para adicionar novo usuário'; +$lang['addGroup'] = 'Instrução SQL para adicionar um novo grupo'; +$lang['addUserGroup'] = 'Instrução SQL para adicionar um usuário a um grupo existente'; +$lang['delGroup'] = 'Instrução SQL para remover um grupo'; +$lang['getUserID'] = 'Instrução SQL para obter a chave principal de um usuário'; +$lang['delUser'] = 'Instrução SQL para excluir um usuário'; +$lang['delUserRefs'] = 'Instrução SQL para excluir um usuário de todos os grupos'; +$lang['updateUser'] = 'Instrução SQL para atualizar um perfil de usuário'; $lang['UpdateLogin'] = 'Cláusula de atualização para atualizar o nome de login do utilizador'; $lang['UpdatePass'] = 'Cláusula de atualização para atualizar a senha do utilizador'; $lang['UpdateEmail'] = 'Cláusula de atualização para atualizar o endereço de email do utilizador'; $lang['UpdateName'] = 'Cláusula de atualização para atualizar o nome completo do utilizador'; +$lang['UpdateTarget'] = 'Cláusula limite para identificar o usuário ao atualizar'; +$lang['delUserGroup'] = 'Instrução SQL para remover um usuário de um determinado grupo'; +$lang['getGroupID'] = 'Instrução SQL para obter a chave principal de um determinado grupo'; $lang['debug_o_0'] = 'nenhum'; $lang['debug_o_1'] = 'só aquando de erros'; +$lang['debug_o_2'] = 'todas as consultas SQL'; diff --git a/lib/plugins/authmysql/lang/ru/settings.php b/lib/plugins/authmysql/lang/ru/settings.php index 2d8f4788e..d9afa14e6 100644 --- a/lib/plugins/authmysql/lang/ru/settings.php +++ b/lib/plugins/authmysql/lang/ru/settings.php @@ -5,6 +5,8 @@ * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> + * @author Type-kun <workwork-1@yandex.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> */ $lang['server'] = 'Ваш MySQL-сервер'; $lang['user'] = 'Имя пользователя MySQL'; @@ -13,7 +15,7 @@ $lang['database'] = 'Имя базы данных'; $lang['charset'] = 'Используемый набор символов в базе данных'; $lang['debug'] = 'Отображение дополнительной отладочной информации'; $lang['forwardClearPass'] = 'Передача пароля пользователя открытым текстом, вместо зашифрованной формы в используемом выражении SQL'; -$lang['TablesToLock'] = 'Имена таблиц (через запятую), которые необходимо ограничение для записи'; +$lang['TablesToLock'] = 'Имена таблиц (через запятую), которым необходимо ограничение для записи'; $lang['checkPass'] = 'Выражение SQL, осуществляющее проверку пароля'; $lang['getUserInfo'] = 'Выражение SQL, осуществляющее извлечение информации о пользователе'; $lang['getGroups'] = 'Выражение SQL, осуществляющее извлечение информации о членстве пользователе в группах'; @@ -35,7 +37,7 @@ $lang['UpdateLogin'] = 'Условие для обновления и $lang['UpdatePass'] = 'Условие для обновления пароля пользователя'; $lang['UpdateEmail'] = 'Условие для обновления адреса электронной почты пользователя'; $lang['UpdateName'] = 'Условие для обновления полного имени пользователя'; -$lang['UpdateTarget'] = 'Условие для идентификации пользователя при обновлении'; +$lang['UpdateTarget'] = 'Выражение \'LIMIT\' для идентификации пользователя при обновлении'; $lang['delUserGroup'] = 'Выражение SQL, осуществляющее удаление пользователя из указанной группы'; $lang['getGroupID'] = 'Выражение SQL, обеспечивающее получение первичного ключа указанной группы'; $lang['debug_o_0'] = 'ни один из вариантов'; diff --git a/lib/plugins/authmysql/lang/sk/settings.php b/lib/plugins/authmysql/lang/sk/settings.php index d7e8cb286..8042c6902 100644 --- a/lib/plugins/authmysql/lang/sk/settings.php +++ b/lib/plugins/authmysql/lang/sk/settings.php @@ -10,7 +10,7 @@ $lang['user'] = 'Meno používateľa MySQL'; $lang['password'] = 'Heslo pre vyššie uvedeného používateľa'; $lang['database'] = 'Použiť databázu'; $lang['charset'] = 'Znaková sada databázy'; -$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie'; +$lang['debug'] = 'Zobraziť dodatočné ladiace informácie'; $lang['forwardClearPass'] = 'Posielať heslo ako nezakódovaný text nižšie uvedenému SQL príkazu namiesto použitia kódovania'; $lang['TablesToLock'] = 'Zoznam tabuliek oddelených čiarkou, ktoré by mali byť uzamknuté pri operáciách zápisu'; $lang['checkPass'] = 'SQL príkaz pre kontrolu hesla'; diff --git a/lib/plugins/authmysql/lang/tr/settings.php b/lib/plugins/authmysql/lang/tr/settings.php new file mode 100644 index 000000000..ca6a7c6ad --- /dev/null +++ b/lib/plugins/authmysql/lang/tr/settings.php @@ -0,0 +1,41 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ilker rifat kapaç <irifat@gmail.com> + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['server'] = 'Sizin MySQL sunucunuz'; +$lang['user'] = 'MySQL kullanıcısının adı'; +$lang['password'] = 'Üstteki kullanıcı için şifre'; +$lang['database'] = 'Kullanılacak veritabanı'; +$lang['charset'] = 'Veritabanında kullanılacak karakter seti'; +$lang['debug'] = 'İlave hata ayıklama bilgisini görüntüle'; +$lang['checkPass'] = 'Şifreleri kontrol eden SQL ifadesi'; +$lang['getUserInfo'] = 'Kullanıcı bilgilerini getiren SQL ifadesi'; +$lang['getGroups'] = 'Kullanıcının grup üyeliklerini getiren SQL ifadesi'; +$lang['getUsers'] = 'Tüm kullanıcıları listeleyen SQL ifadesi'; +$lang['FilterLogin'] = 'Kullanıcıları giriş yaptıkları isimlere göre süzmek için SQL şartı'; +$lang['FilterName'] = 'Kullanıcıları tam isimlerine göre süzmek için SQL şartı'; +$lang['FilterEmail'] = 'Kullanıcıları e-posta adreslerine göre süzmek için SQL şartı'; +$lang['FilterGroup'] = 'Kullanıcıları üye oldukları grup isimlerine göre süzmek için SQL şartı'; +$lang['SortOrder'] = 'Kullanıcıları sıralamak için SQL şartı'; +$lang['addUser'] = 'Yeni bir kullanıcı ekleyen SQL ifadesi'; +$lang['addGroup'] = 'Yeni bir grup ekleyen SQL ifadesi'; +$lang['addUserGroup'] = 'Varolan gruba yeni bir kullanıcı ekleyen SQL ifadesi'; +$lang['delGroup'] = 'Grup silen SQL ifadesi'; +$lang['getUserID'] = 'Kullanıcının birincil anahtarını getiren SQL ifadesi'; +$lang['delUser'] = 'Kullanıcı silen SQL ifadesi'; +$lang['delUserRefs'] = 'Kullanıcıyı tüm gruplardan çıkartan SQL ifadesi'; +$lang['updateUser'] = 'Kullanıcı profilini güncelleyen SQL ifadesi'; +$lang['UpdateLogin'] = 'Kullanıcının giriş yaptığı ismi güncelleyen, güncelleme şartı'; +$lang['UpdatePass'] = 'Kullanıcının şifresini güncelleyen, güncelleme şartı'; +$lang['UpdateEmail'] = 'Kullanıcının e-posta adresini güncelleyen, güncelleme şartı'; +$lang['UpdateName'] = 'Kullanıcının tam adını güncelleyen, güncelleme şartı'; +$lang['UpdateTarget'] = 'Güncelleme esnasında kullanıcıyı belirleyen, sınır şartı'; +$lang['delUserGroup'] = 'Kullanıcıyı verilen gruptan silen SQL ifadesi'; +$lang['getGroupID'] = 'Verilen grubun birincil anahtarını getiren SQL ifadesi'; +$lang['debug_o_0'] = 'hiçbiri'; +$lang['debug_o_1'] = 'sadece hata olduğunda'; +$lang['debug_o_2'] = 'tüm SQL sorguları'; diff --git a/lib/plugins/authmysql/plugin.info.txt b/lib/plugins/authmysql/plugin.info.txt index 3e889d11e..fa00fccf4 100644 --- a/lib/plugins/authmysql/plugin.info.txt +++ b/lib/plugins/authmysql/plugin.info.txt @@ -1,7 +1,7 @@ base authmysql author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-02-15 name MYSQL Auth Plugin desc Provides user authentication against a MySQL database url http://www.dokuwiki.org/plugin:authmysql diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 3f8ff3249..4cb280aae 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -104,7 +104,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * - * @param array $keys + * @param string[] $keys * @param bool $wop * @return bool */ @@ -148,18 +148,22 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * @param array $filter array of field/pattern pairs * @return array userinfo (refer getUserData for internal userinfo details) */ - public function retrieveUsers($first = 0, $limit = 10, $filter = array()) { + public function retrieveUsers($first = 0, $limit = 0, $filter = array()) { $out = array(); if($this->_openDB()) { $this->_lockTables("READ"); $sql = $this->_createSQLFilter($this->conf['getUsers'], $filter); - $sql .= " ".$this->conf['SortOrder']." LIMIT $limit OFFSET $first"; + $sql .= " ".$this->conf['SortOrder']; + if($limit) $sql .= " LIMIT $limit"; + if($first) $sql .= " OFFSET $first"; $result = $this->_queryDB($sql); - foreach($result as $user) - if(($info = $this->_getUserInfo($user['user']))) + foreach($result as $user) { + if(($info = $this->_getUserInfo($user['user']))) { $out[$user['user']] = $info; + } + } $this->_unlockTables(); $this->_closeDB(); @@ -210,7 +214,10 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { $sql = str_replace('%{user}', addslashes($user), $sql); $sql = str_replace('%{gid}', addslashes($gid), $sql); $sql = str_replace('%{group}', addslashes($group), $sql); - if($this->_modifyDB($sql) !== false) return true; + if($this->_modifyDB($sql) !== false) { + $this->_flushUserInfoCache($user); + return true; + } if($newgroup) { // remove previously created group on error $sql = str_replace('%{gid}', addslashes($gid), $this->conf['delGroup']); @@ -260,11 +267,12 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { if($uid) { foreach($grps as $group) { - $gid = $this->_addUserToGroup($user, $group, 1); + $gid = $this->_addUserToGroup($user, $group, true); if($gid === false) break; } if($gid !== false){ + $this->_flushUserInfoCache($user); return true; } else { /* remove the new user and all group relations if a group can't @@ -334,7 +342,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $query SQL string that contains the query - * @return array the result table + * @return array|false the result table */ protected function _queryDB($query) { $resultarray = array(); @@ -357,6 +365,9 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * MySQL one because it does NOT return the last insertID * * @author Andreas Gohr <andi@splitbrain.org> + * + * @param string $query + * @return bool */ protected function _modifyDB($query) { if($this->dbcon) { @@ -390,6 +401,8 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * Commit a transaction * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> + * + * @return bool */ protected function _unlockTables() { if($this->dbcon) { diff --git a/lib/plugins/authpgsql/lang/bg/settings.php b/lib/plugins/authpgsql/lang/bg/settings.php index 0defdc4ff..bd6ae1cee 100644 --- a/lib/plugins/authpgsql/lang/bg/settings.php +++ b/lib/plugins/authpgsql/lang/bg/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Kiril <neohidra@gmail.com> */ $lang['server'] = 'Вашият PostgreSQL сървър'; @@ -9,4 +10,4 @@ $lang['port'] = 'Порт за PostgreSQL сървъра'; $lang['user'] = 'PostgreSQL потребител'; $lang['password'] = 'Парола за горния потребител'; $lang['database'] = 'Име на базата от данни'; -$lang['debug'] = 'Показване на допълнителна debug информация';
\ No newline at end of file +$lang['debug'] = 'Показване на допълнителна debug информация'; diff --git a/lib/plugins/authpgsql/lang/cs/settings.php b/lib/plugins/authpgsql/lang/cs/settings.php index aec7eecf1..ad135e241 100644 --- a/lib/plugins/authpgsql/lang/cs/settings.php +++ b/lib/plugins/authpgsql/lang/cs/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author mkucera66@seznam.cz + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['server'] = 'Váš server PostgreSQL'; $lang['port'] = 'Port vašeho serveru PostgreSQL'; @@ -18,7 +19,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání členství uživat $lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů'; $lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména'; $lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména'; -$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů'; +$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů'; $lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách'; $lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů'; $lang['addUser'] = 'Příkaz SQL pro řazení uživatelů'; @@ -31,7 +32,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ $lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu'; $lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele'; $lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele'; -$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele'; +$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele'; $lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele'; $lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci'; $lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině'; diff --git a/lib/plugins/authpgsql/lang/es/settings.php b/lib/plugins/authpgsql/lang/es/settings.php new file mode 100644 index 000000000..abfb00d38 --- /dev/null +++ b/lib/plugins/authpgsql/lang/es/settings.php @@ -0,0 +1,38 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author pokesakura <pokesakura@gmail.com> + */ +$lang['server'] = 'Su servidor PostgreSQL'; +$lang['port'] = 'Puerto de su servidor PostgreSQL'; +$lang['user'] = 'Nombre de usuario PostgreSQL'; +$lang['password'] = 'Contraseña del usuario indicado'; +$lang['database'] = 'Base de datos a usar'; +$lang['debug'] = 'Muestra la información de depuración adicional'; +$lang['forwardClearPass'] = 'Pasar las contraseñas de usuario en texto plano a las siguientes sentencias de SQL, en lugar de utilizar la opción passcrypt'; +$lang['checkPass'] = 'Sentencia SQL para el control de las contraseñas'; +$lang['getUserInfo'] = 'Sentencia SQL para recuperar información del usuario'; +$lang['getGroups'] = 'Sentencia SQL para recuperar la pertenencia a grupos de un usuario'; +$lang['getUsers'] = 'Sentencia SQL para enumerar todos los usuarios'; +$lang['FilterLogin'] = 'Sentencia SQL para filtrar a los usuarios por su login'; +$lang['FilterName'] = 'Sentencia SQL para filtrar a los usuarios por su nombre completo'; +$lang['FilterEmail'] = 'Sentencia SQL para filtrar a los usuarios por su correo electrónico'; +$lang['FilterGroup'] = 'Sentencia SQL para filtrar a los usuarios por su membresía en un grupo'; +$lang['SortOrder'] = 'Sentencia SQL para ordenar a los usuarios'; +$lang['addUser'] = 'Sentencia de SQL para agregar un nuevo usuario'; +$lang['addGroup'] = 'Sentencia de SQL para agregar un nuevo grupo'; +$lang['addUserGroup'] = 'Sentencia SQL para agregar un usuario a un grupo existente'; +$lang['delGroup'] = 'Instrucción SQL para eliminar un grupo'; +$lang['getUserID'] = 'Sentencia SQL para obtener la clave principal de un usuario'; +$lang['delUser'] = 'Sentencia SQL para eliminar un usuario'; +$lang['delUserRefs'] = 'Sentencia SQL para remover a un usuario de su memebresia en todos los grupos'; +$lang['updateUser'] = 'Sentencia SQL para actualizar los datos del usuario'; +$lang['UpdateLogin'] = 'Sentencia de actualizacion para el login del usuario'; +$lang['UpdatePass'] = 'Sentencia de actualizacion para el password del usuario'; +$lang['UpdateEmail'] = 'Sentencia de actualizacion del correo electrónico del usuario'; +$lang['UpdateName'] = 'Sentencia de actualizacion del nombre completo del usuario'; +$lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; diff --git a/lib/plugins/authpgsql/lang/fa/settings.php b/lib/plugins/authpgsql/lang/fa/settings.php new file mode 100644 index 000000000..813493967 --- /dev/null +++ b/lib/plugins/authpgsql/lang/fa/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['database'] = 'پایگاه داده مورد استفاده'; diff --git a/lib/plugins/authpgsql/lang/fi/settings.php b/lib/plugins/authpgsql/lang/fi/settings.php deleted file mode 100644 index d3aa13e07..000000000 --- a/lib/plugins/authpgsql/lang/fi/settings.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Finnish language file - * - * @author Otto Vainio <otto@valjakko.net> - */ diff --git a/lib/plugins/authpgsql/lang/hr/settings.php b/lib/plugins/authpgsql/lang/hr/settings.php new file mode 100644 index 000000000..7ae4cec77 --- /dev/null +++ b/lib/plugins/authpgsql/lang/hr/settings.php @@ -0,0 +1,38 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš PostgreSQL server'; +$lang['port'] = 'Port vašeg PostgreSQL servera'; +$lang['user'] = 'PostgreSQL korisničko ime'; +$lang['password'] = 'Lozinka gore navedenoga korisnika'; +$lang['database'] = 'Baza koja se koristi'; +$lang['debug'] = 'Prikaz dodatnih dijagnostičkih informacija'; +$lang['forwardClearPass'] = 'Proslijed lozinku kao običan tekst u SQL izrazima koji slijede, umjesto korištenja passcrypt opcije'; +$lang['checkPass'] = 'SQL izraz za provjeru lozinke'; +$lang['getUserInfo'] = 'SQL izraz za dohvat korisničkih informacija'; +$lang['getGroups'] = 'SQL izraz za dohvat korisničkog članstva u grupama'; +$lang['getUsers'] = 'SQL izraz za ispis svih korisnika'; +$lang['FilterLogin'] = 'SQL izraz za filtriranje korisnika po korisničkom imenu'; +$lang['FilterName'] = 'SQL izraz za filtriranje korisnika po punom imenu'; +$lang['FilterEmail'] = 'SQL izraz za filtriranje korisnika po email adresi'; +$lang['FilterGroup'] = 'SQL izraz za filtriranje korisnika po članstvu u grupama'; +$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika'; +$lang['addUser'] = 'SQL izraz za dodavanje novog korisnika'; +$lang['addGroup'] = 'SQL izraz za dodavanje nove grupe'; +$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu'; +$lang['delGroup'] = 'SQL izraz za brisanje grupe'; +$lang['getUserID'] = 'SQL izraz za dohvaćanje primarnog ključa korisnika'; +$lang['delUser'] = 'SQL izraz za brisanje korisnika'; +$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz svih grupa'; +$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila'; +$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena'; +$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke'; +$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese'; +$lang['UpdateName'] = 'UPDATE izraz za ažuriranje korisničkog punog imena'; +$lang['UpdateTarget'] = 'Limitirajući izraz za identificiranje korisnika pri ažuriranju'; +$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz navedenih grupa'; +$lang['getGroupID'] = 'SQL izraz za dobivanje primarnog ključa navedene grupe'; diff --git a/lib/plugins/authpgsql/lang/hu/settings.php b/lib/plugins/authpgsql/lang/hu/settings.php index ff62a7016..213fc8751 100644 --- a/lib/plugins/authpgsql/lang/hu/settings.php +++ b/lib/plugins/authpgsql/lang/hu/settings.php @@ -4,35 +4,36 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Marton Sebok <sebokmarton@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ -$lang['server'] = 'PostgreSQL-szerver'; -$lang['port'] = 'PostgreSQL-port'; -$lang['user'] = 'PostgreSQL felhasználónév'; -$lang['password'] = 'Ehhez a jelszó'; +$lang['server'] = 'PostgreSQL-kiszolgáló'; +$lang['port'] = 'PostgreSQL-kiszolgáló portja'; +$lang['user'] = 'PostgreSQL-felhasználónév'; +$lang['password'] = 'Fenti felhasználó jelszava'; $lang['database'] = 'Adatbázis'; -$lang['debug'] = 'Debug-üzenetek megjelenítése?'; +$lang['debug'] = 'Hibakeresési üzenetek megjelenítése'; $lang['forwardClearPass'] = 'A jelszó nyílt szövegben való átadása a következő SQL utasításokban a passcrypt opció használata helyett'; -$lang['checkPass'] = 'SQL utasítás a jelszavak ellenőrzéséhez'; -$lang['getUserInfo'] = 'SQL utasítás a felhasználói információk lekérdezéséhez'; -$lang['getGroups'] = 'SQL utasítás egy felhasználó csoporttagságainak lekérdezéséhez'; -$lang['getUsers'] = 'SQL utasítás a felhasználók listázásához'; -$lang['FilterLogin'] = 'SQL kifejezés a felhasználók azonosító alapú szűréséhez'; -$lang['FilterName'] = 'SQL kifejezés a felhasználók név alapú szűréséhez'; -$lang['FilterEmail'] = 'SQL kifejezés a felhasználók e-mail cím alapú szűréséhez'; -$lang['FilterGroup'] = 'SQL kifejezés a felhasználók csoporttagság alapú szűréséhez'; -$lang['SortOrder'] = 'SQL kifejezés a felhasználók rendezéséhez'; -$lang['addUser'] = 'SQL utasítás új felhasználó hozzáadásához'; -$lang['addGroup'] = 'SQL utasítás új csoport hozzáadásához'; -$lang['addUserGroup'] = 'SQL utasítás egy felhasználó egy meglévő csoporthoz való hozzáadásához'; -$lang['delGroup'] = 'SQL utasítás egy csoport törléséhez'; -$lang['getUserID'] = 'SQL utasítás egy felhasználó elsődleges kulcsának lekérdezéséhez'; -$lang['delUser'] = 'SQL utasítás egy felhasználó törléséhez'; -$lang['delUserRefs'] = 'SQL utasítás egy felhasználó eltávolításához az összes csoportból'; -$lang['updateUser'] = 'SQL utasítás egy felhasználó profiljának frissítéséhez'; -$lang['UpdateLogin'] = 'SQL kifejezés a felhasználó azonosítójának frissítéséhez'; -$lang['UpdatePass'] = 'SQL kifejezés a felhasználó jelszavának frissítéséhez'; -$lang['UpdateEmail'] = 'SQL kifejezés a felhasználó e-mail címének frissítéséhez'; -$lang['UpdateName'] = 'SQL kifejezés a felhasználó nevének frissítéséhez'; -$lang['UpdateTarget'] = 'SQL kifejezés a felhasználó kiválasztásához az adatok frissítésekor'; -$lang['delUserGroup'] = 'SQL utasítás egy felhasználó eltávolításához egy adott csoportból'; -$lang['getGroupID'] = 'SQL utasítás egy csoport elsődleges kulcsának lekérdezéséhez'; +$lang['checkPass'] = 'SQL-utasítás a jelszavak ellenőrzéséhez'; +$lang['getUserInfo'] = 'SQL-utasítás a felhasználói információk lekérdezéséhez'; +$lang['getGroups'] = 'SQL-utasítás egy felhasználó csoporttagságainak lekérdezéséhez'; +$lang['getUsers'] = 'SQL-utasítás a felhasználók listázásához'; +$lang['FilterLogin'] = 'SQL-kifejezés a felhasználók azonosító alapú szűréséhez'; +$lang['FilterName'] = 'SQL-klauzula a felhasználók név alapú szűréséhez'; +$lang['FilterEmail'] = 'SQL-klauzula a felhasználók e-mail cím alapú szűréséhez'; +$lang['FilterGroup'] = 'SQL-klauzula a felhasználók csoporttagság alapú szűréséhez'; +$lang['SortOrder'] = 'SQL-klauzula a felhasználók rendezéséhez'; +$lang['addUser'] = 'SQL-klauzula új felhasználó hozzáadásához'; +$lang['addGroup'] = 'SQL-klauzula új csoport hozzáadásához'; +$lang['addUserGroup'] = 'SQL-utasítás felhasználó meglévő csoporthoz való hozzáadásához'; +$lang['delGroup'] = 'SQL-utasítás csoport törléséhez'; +$lang['getUserID'] = 'SQL-utasítás felhasználó elsődleges kulcsának lekérdezéséhez'; +$lang['delUser'] = 'SQL-utasítás felhasználó törléséhez'; +$lang['delUserRefs'] = 'SQL-utasítás felhasználó összes csoportból való törléséhez'; +$lang['updateUser'] = 'SQL-utasítás felhasználó profiljának frissítéséhez'; +$lang['UpdateLogin'] = 'UPDATE-klauzula felhasználók azonosítójának frissítéséhez'; +$lang['UpdatePass'] = 'UPDATE-klauzula felhasználók jelszavának frissítéséhez'; +$lang['UpdateEmail'] = 'UPDATE-klauzula felhasználók e-mailcímének frissítéséhez'; +$lang['UpdateName'] = 'SQL-kifejezés a felhasználó nevének frissítéséhez'; +$lang['UpdateTarget'] = 'SQL-kifejezés a felhasználó kiválasztásához az adatok frissítésekor'; +$lang['delUserGroup'] = 'SQL-utasítás egy felhasználó eltávolításához egy adott csoportból'; +$lang['getGroupID'] = 'SQL-utasítás egy csoport elsődleges kulcsának lekérdezéséhez'; diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php index 10ae72f87..e8a40dcb2 100644 --- a/lib/plugins/authpgsql/lang/it/settings.php +++ b/lib/plugins/authpgsql/lang/it/settings.php @@ -1,5 +1,13 @@ <?php + /** - * Italian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Torpedo <dgtorpedo@gmail.com> */ +$lang['server'] = 'Il tuo server PostgreSQL '; +$lang['port'] = 'La porta del tuo server PostgreSQL '; +$lang['user'] = 'Lo username PostgreSQL'; +$lang['database'] = 'Database da usare'; +$lang['getUsers'] = 'Dichiarazione SQL per elencare tutti gli utenti'; diff --git a/lib/plugins/authpgsql/lang/lv/settings.php b/lib/plugins/authpgsql/lang/lv/settings.php index ced5dabf8..889b9566c 100644 --- a/lib/plugins/authpgsql/lang/lv/settings.php +++ b/lib/plugins/authpgsql/lang/lv/settings.php @@ -1,6 +1,9 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ +$lang['password'] = 'Lietotāja parole'; +$lang['delUser'] = 'SQL pieprasījums lietotāja dzēšanai'; diff --git a/lib/plugins/authpgsql/lang/pl/settings.php b/lib/plugins/authpgsql/lang/pl/settings.php index 37afb252d..25a2afd4f 100644 --- a/lib/plugins/authpgsql/lang/pl/settings.php +++ b/lib/plugins/authpgsql/lang/pl/settings.php @@ -1,5 +1,9 @@ <?php + /** - * Polish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mati <mackosa@wp.pl> */ +$lang['server'] = 'Twój serwer PostgreSQL'; +$lang['database'] = 'Baza danych do użycia'; diff --git a/lib/plugins/authpgsql/lang/pt/settings.php b/lib/plugins/authpgsql/lang/pt/settings.php index b33b81141..f81ec22dc 100644 --- a/lib/plugins/authpgsql/lang/pt/settings.php +++ b/lib/plugins/authpgsql/lang/pt/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author André Neves <drakferion@gmail.com> + * @author Guido Salatino <guidorafael23@gmail.com> */ $lang['server'] = 'O seu servidor PostgreSQL'; $lang['port'] = 'A porta do seu servidor PostgreSQL'; @@ -11,12 +12,28 @@ $lang['user'] = 'Nome de utilizador PostgreSQL'; $lang['password'] = 'Senha do utilizador acima'; $lang['database'] = 'Base de dados a usar'; $lang['debug'] = 'Mostrar informação adicional de debug'; +$lang['forwardClearPass'] = 'Passe as senhas do usuário como texto puro para as instruções SQL abaixo, em vez de usar a opção passcrypt'; +$lang['checkPass'] = 'Instrução SQL para verificar senhas'; +$lang['getUserInfo'] = 'Instrução SQL para recuperar informações de um usuário'; +$lang['getGroups'] = 'Instrução SQL para recuperar os usuários participantes de um grupo'; +$lang['getUsers'] = 'Instrução SQL para listar todos usuários'; $lang['FilterLogin'] = 'Cláusula SQL para filtrar utilizadores por nome de login'; $lang['FilterName'] = 'Cláusula SQL para filtrar utilizadores por nome completo'; $lang['FilterEmail'] = 'Cláusula SQL para filtrar utilizadores por endereço de email'; $lang['FilterGroup'] = 'Cláusula SQL para filtrar utilizadores por pertença a grupo'; $lang['SortOrder'] = 'Cláusula SQL para ordenar utilizadores'; +$lang['addUser'] = 'Instrução SQL para adicionar um novo usuário'; +$lang['addGroup'] = 'Instrução SQL para adicionar um novo grupo'; +$lang['addUserGroup'] = 'Instrução SQL para adicionar um usuário a um grupo existente'; +$lang['delGroup'] = 'Instrução SQL para remover um grupo'; +$lang['getUserID'] = 'Instrução SQL para obter a chave principal de um usuário'; +$lang['delUser'] = 'Instrução SQL para remover um usuário'; +$lang['delUserRefs'] = 'Instrução SQL para remover um usuário de todos os grupos'; +$lang['updateUser'] = 'Instrução SQL para atualizar um perfil de usuário'; $lang['UpdateLogin'] = 'Cláusula de atualização para atualizar o nome de login do utilizador'; $lang['UpdatePass'] = 'Cláusula de atualização para atualizar a senha do utilizador'; $lang['UpdateEmail'] = 'Cláusula de atualização para atualizar o endereço de email do utilizador'; $lang['UpdateName'] = 'Cláusula de atualização para atualizar o nome completo do utilizador'; +$lang['UpdateTarget'] = 'Cláusula limite para identificar o usuário ao atualizar'; +$lang['delUserGroup'] = 'Instrução SQL para remover um usuário de um determinado grupo'; +$lang['getGroupID'] = 'Instrução SQL para obter a chave principal de um determinado grupo'; diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php index 48dd2a87c..2af299172 100644 --- a/lib/plugins/authpgsql/lang/ru/settings.php +++ b/lib/plugins/authpgsql/lang/ru/settings.php @@ -5,12 +5,16 @@ * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Vitaly Filatenko <kot@hacktest.net> + * @author Type-kun <workwork-1@yandex.ru> */ $lang['server'] = 'Ваш PostgreSQL-сервер'; $lang['port'] = 'Порт вашего PostgreSQL-сервера'; $lang['user'] = 'Имя пользователя PostgreSQL'; -$lang['password'] = 'Пароль для указанного пользователя.'; +$lang['password'] = 'Пароль для указанного пользователя'; $lang['database'] = 'Имя базы данных'; +$lang['debug'] = 'Отображать дополнительную отладочную информацию'; $lang['checkPass'] = 'Выражение SQL, осуществляющее проверку пароля'; $lang['getUserInfo'] = 'Выражение SQL, осуществляющее извлечение информации о пользователе'; $lang['getGroups'] = 'Выражение SQL, осуществляющее извлечение информации о членстве пользователе в группах'; @@ -28,5 +32,10 @@ $lang['getUserID'] = 'Выражение SQL, обеспечиваю $lang['delUser'] = 'Выражение SQL, осуществляющее удаление пользователя'; $lang['delUserRefs'] = 'Выражение SQL, осуществляющее удаление пользователя из всех группы'; $lang['updateUser'] = 'Выражение SQL, осуществляющее обновление профиля пользователя'; +$lang['UpdateLogin'] = 'Измените условие для обновления логина'; +$lang['UpdatePass'] = 'Измените условие для обновления пароля'; +$lang['UpdateEmail'] = 'Измените условие для обновления email'; +$lang['UpdateName'] = 'Условие для обновления полного имени пользователя'; +$lang['UpdateTarget'] = 'Выражение \'LIMIT\' для идентификации пользователя при обновлении'; $lang['delUserGroup'] = 'Выражение SQL, осуществляющее удаление пользователя из указанной группы'; $lang['getGroupID'] = 'Выражение SQL, обеспечивающее получение первичного ключа указанной группы'; diff --git a/lib/plugins/authpgsql/lang/sk/settings.php b/lib/plugins/authpgsql/lang/sk/settings.php index 861d1237d..9013a752b 100644 --- a/lib/plugins/authpgsql/lang/sk/settings.php +++ b/lib/plugins/authpgsql/lang/sk/settings.php @@ -10,7 +10,7 @@ $lang['port'] = 'Port PostgreSQL servera'; $lang['user'] = 'Meno používateľa PostgreSQL'; $lang['password'] = 'Heslo pre vyššie uvedeného používateľa'; $lang['database'] = 'Použiť databázu'; -$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie'; +$lang['debug'] = 'Zobraziť dodatočné ladiace informácie'; $lang['forwardClearPass'] = 'Posielať heslo ako nezakódovaný text nižšie uvedenému SQL príkazu namiesto použitia kódovania'; $lang['checkPass'] = 'SQL príkaz pre kontrolu hesla'; $lang['getUserInfo'] = 'SQL príkaz pre získanie informácií o používateľovi'; diff --git a/lib/plugins/authpgsql/lang/sl/settings.php b/lib/plugins/authpgsql/lang/sl/settings.php index 4c369abc0..08d3cbca3 100644 --- a/lib/plugins/authpgsql/lang/sl/settings.php +++ b/lib/plugins/authpgsql/lang/sl/settings.php @@ -4,5 +4,14 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Matej Urbančič <mateju@svn.gnome.org> + * @author matej <mateju@svn.gnome.org> */ $lang['database'] = 'Podatkovna zbirka za uporabo'; +$lang['addUserGroup'] = 'Ukaz SQL za dodajanje uporabnika v obstoječo skupino'; +$lang['delGroup'] = 'Ukaz SQL za odstranitev skupine'; +$lang['getUserID'] = 'Ukaz SQL za pridobitev osnovnega ključa uporabnika'; +$lang['delUser'] = 'Ukaz SQL za izbris uporabnika'; +$lang['delUserRefs'] = 'Ukaz SQL za odstranitev uporabnika iz vseh skupin'; +$lang['updateUser'] = 'Ukaz SQL za posodobitev profila uporabnika'; +$lang['delUserGroup'] = 'Ukaz SQL za odstranitev uporabnika iz podane skupine'; +$lang['getGroupID'] = 'Ukaz SQL za pridobitev osnovnega ključa podane skupine'; diff --git a/lib/plugins/authpgsql/lang/tr/settings.php b/lib/plugins/authpgsql/lang/tr/settings.php new file mode 100644 index 000000000..f6fef9cde --- /dev/null +++ b/lib/plugins/authpgsql/lang/tr/settings.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['server'] = 'PostgreSQL sunucunuz'; +$lang['port'] = 'PostgreSQL sunucunuzun kapısı (port)'; +$lang['user'] = 'PostgreSQL kullanıcısının adı'; +$lang['password'] = 'Yukarıdaki kullanıcı için şifre'; +$lang['database'] = 'Kullanılacak veritabanı'; +$lang['debug'] = 'İlave hata ayıklama bilgisini görüntüle'; diff --git a/lib/plugins/authpgsql/plugin.info.txt b/lib/plugins/authpgsql/plugin.info.txt index aecab914e..59b7d89a9 100644 --- a/lib/plugins/authpgsql/plugin.info.txt +++ b/lib/plugins/authpgsql/plugin.info.txt @@ -1,7 +1,7 @@ base authpgsql author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-02-15 name PostgreSQL Auth Plugin desc Provides user authentication against a PostgreSQL database url http://www.dokuwiki.org/plugin:authpgsql diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php new file mode 100644 index 000000000..e1eade8d4 --- /dev/null +++ b/lib/plugins/authplain/_test/escaping.test.php @@ -0,0 +1,126 @@ +<?php + +/** + * These tests are designed to test the capacity of pluginauth to handle + * correct escaping of colon field delimiters and backslashes in user content. + * + * (Note that these tests set some Real Names, etc. that are may not be + * valid in the broader dokuwiki context, but the tests ensure that + * authplain won't get unexpectedly surprised.) + * + * @group plugin_authplain + * @group plugins + */ +class helper_plugin_authplain_escaping_test extends DokuWikiTest { + + protected $pluginsEnabled = array('authplainharness'); + /** @var auth_plugin_authplain|auth_plugin_authplainharness */ + protected $auth; + + protected function reloadUsers() { + /* auth caches data loaded from file, but recreated object forces reload */ + $this->auth = new auth_plugin_authplainharness(); + } + + function setUp() { + global $config_cascade; + parent::setUp(); + $name = $config_cascade['plainauth.users']['default']; + copy($name, $name.".orig"); + $this->reloadUsers(); + } + + function tearDown() { + global $config_cascade; + parent::tearDown(); + $name = $config_cascade['plainauth.users']['default']; + copy($name.".orig", $name); + } + + public function testMediawikiPasswordHash() { + global $conf; + $conf['passcrypt'] = 'mediawiki'; + $this->auth->createUser("mwuser", "12345", "Mediawiki User", "me@example.com"); + $this->reloadUsers(); + $this->assertTrue($this->auth->checkPass("mwuser", "12345")); + $mwuser = $this->auth->getUserData("mwuser"); + $this->assertStringStartsWith(":B:",$mwuser['pass']); + $this->assertEquals("Mediawiki User",$mwuser['name']); + } + + public function testNameWithColons() { + $name = ":Colon: User:"; + $this->auth->createUser("colonuser", "password", $name, "me@example.com"); + $this->reloadUsers(); + $user = $this->auth->getUserData("colonuser"); + $this->assertEquals($name,$user['name']); + } + + public function testNameWithBackslashes() { + $name = "\\Slash\\ User\\"; + $this->auth->createUser("slashuser", "password", $name, "me@example.com"); + $this->reloadUsers(); + $user = $this->auth->getUserData("slashuser"); + $this->assertEquals($name,$user['name']); + } + + public function testModifyUser() { + global $conf; + $conf['passcrypt'] = 'mediawiki'; + $user = $this->auth->getUserData("testuser"); + $user['name'] = "\\New:Crazy:Name\\"; + $user['pass'] = "awesome new password"; + $this->auth->modifyUser("testuser", $user); + $this->reloadUsers(); + + $saved = $this->auth->getUserData("testuser"); + $this->assertEquals($saved['name'], $user['name']); + $this->assertTrue($this->auth->checkPass("testuser", $user['pass'])); + } + + // really only required for developers to ensure this plugin will + // work with systems running on PCRE 6.6 and lower. + public function testLineSplit(){ + $this->auth->setPregsplit_safe(false); + + $names = array( + 'plain', + 'ut-fठ8', + 'colon:', + 'backslash\\', + 'alltogether\\ठ:' + ); + $userpass = 'user:password_hash:'; + $other_user_data = ':email@address:group1,group2'; + + foreach ($names as $testname) { + $escaped = str_replace(array('\\',':'),array('\\\\','\\:'),$testname); // escape : & \ + $test_line = $userpass.$escaped.$other_user_data; + $result = $this->auth->splitUserData($test_line); + + $this->assertEquals($escaped, $result[2]); + } + } + +} + +class auth_plugin_authplainharness extends auth_plugin_authplain { + + /** + * @param boolean $bool + */ + public function setPregsplit_safe($bool) { + $this->_pregsplit_safe = $bool; + } + + public function getPregsplit_safe(){ + return $this->_pregsplit_safe; + } + + /** + * @param string $line + */ + public function splitUserData($line){ + return $this->_splitUserData($line); + } +} diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php index 8c4ce0dd9..b31c02fc8 100644 --- a/lib/plugins/authplain/auth.php +++ b/lib/plugins/authplain/auth.php @@ -17,6 +17,9 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { /** @var array filter pattern */ protected $_pattern = array(); + /** @var bool safe version of preg_split */ + protected $_pregsplit_safe = false; + /** * Constructor * @@ -44,6 +47,8 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $this->cando['getUsers'] = true; $this->cando['getUserCount'] = true; } + + $this->_pregsplit_safe = version_compare(PCRE_VERSION,'6.7','>='); } /** @@ -76,14 +81,36 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { * * @author Andreas Gohr <andi@splitbrain.org> * @param string $user - * @return array|bool + * @param bool $requireGroups (optional) ignored by this plugin, grps info always supplied + * @return array|false */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { if($this->users === null) $this->_loadUserData(); return isset($this->users[$user]) ? $this->users[$user] : false; } /** + * Creates a string suitable for saving as a line + * in the file database + * (delimiters escaped, etc.) + * + * @param string $user + * @param string $pass + * @param string $name + * @param string $mail + * @param array $grps list of groups the user is in + * @return string + */ + protected function _createUserLine($user, $pass, $name, $mail, $grps) { + $groups = join(',', $grps); + $userline = array($user, $pass, $name, $mail, $groups); + $userline = str_replace('\\', '\\\\', $userline); // escape \ as \\ + $userline = str_replace(':', '\\:', $userline); // escape : as \: + $userline = join(':', $userline)."\n"; + return $userline; + } + + /** * Create a new User * * Returns false if the user already exists, null when an error @@ -115,8 +142,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { if(!is_array($grps)) $grps = array($conf['defaultgroup']); // prepare user line - $groups = join(',', $grps); - $userline = join(':', array($user, $pass, $name, $mail, $groups))."\n"; + $userline = $this->_createUserLine($user, $pass, $name, $mail, $grps); if(io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) { $this->users[$user] = compact('pass', 'name', 'mail', 'grps'); @@ -157,8 +183,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $userinfo[$field] = $value; } - $groups = join(',', $userinfo['grps']); - $userline = join(':', array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; + $userline = $this->_createUserLine($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $userinfo['grps']); if(!$this->deleteUsers(array($user))) { msg('Unable to modify user data. Please inform the Wiki-Admin', -1); @@ -300,7 +325,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $this->users = array(); - if(!@file_exists($config_cascade['plainauth.users']['default'])) return; + if(!file_exists($config_cascade['plainauth.users']['default'])) return; $lines = file($config_cascade['plainauth.users']['default']); foreach($lines as $line) { @@ -308,7 +333,11 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $line = trim($line); if(empty($line)) continue; - $row = explode(":", $line, 5); + /* NB: preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3 */ + $row = $this->_splitUserData($line); + $row = str_replace('\\:', ':', $row); + $row = str_replace('\\\\', '\\', $row); + $groups = array_values(array_filter(explode(",", $row[4]))); $this->users[$row[0]]['pass'] = $row[1]; @@ -318,6 +347,33 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { } } + protected function _splitUserData($line){ + // due to a bug in PCRE 6.6, preg_split will fail with the regex we use here + // refer github issues 877 & 885 + if ($this->_pregsplit_safe){ + return preg_split('/(?<![^\\\\]\\\\)\:/', $line, 5); // allow for : escaped as \: + } + + $row = array(); + $piece = ''; + $len = strlen($line); + for($i=0; $i<$len; $i++){ + if ($line[$i]=='\\'){ + $piece .= $line[$i]; + $i++; + if ($i>=$len) break; + } else if ($line[$i]==':'){ + $row[] = $piece; + $piece = ''; + continue; + } + $piece .= $line[$i]; + } + $row[] = $piece; + + return $row; + } + /** * return true if $user + $info match $filter criteria, false otherwise * diff --git a/lib/plugins/authplain/plugin.info.txt b/lib/plugins/authplain/plugin.info.txt index b63ee53e4..2659ac7ad 100644 --- a/lib/plugins/authplain/plugin.info.txt +++ b/lib/plugins/authplain/plugin.info.txt @@ -1,7 +1,7 @@ base authplain author Andreas Gohr email andi@splitbrain.org -date 2012-11-09 +date 2014-07-01 name Plain Auth Plugin desc Provides user authentication against DokuWiki's local password storage url http://www.dokuwiki.org/plugin:authplain diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index 835d27775..2ef570b68 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -32,6 +32,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { var $_session_started = false; var $_localised_prompts = false; + /** + * @return int + */ function getMenuSort() { return 100; } /** @@ -40,14 +43,20 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { function handle() { global $ID, $INPUT; - if (!$this->_restore_session()) return $this->_close_session(); - if ($INPUT->int('save') != 1) return $this->_close_session(); - if (!checkSecurityToken()) return $this->_close_session(); + if(!$this->_restore_session() || $INPUT->int('save') != 1 || !checkSecurityToken()) { + $this->_close_session(); + return; + } - if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } + if(is_null($this->_config)) { + $this->_config = new configuration($this->_file); + } // don't go any further if the configuration is locked - if ($this->_config->_locked) return $this->_close_session(); + if($this->_config->locked) { + $this->_close_session(); + return; + } $this->_input = $INPUT->arr('config'); @@ -104,6 +113,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { formSecurityToken(); $this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki')); + /** @var setting[] $undefined_settings */ $undefined_settings = array(); $in_fieldset = false; $first_plugin_fieldset = true; @@ -162,7 +172,17 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { // show undefined settings list if ($allow_debug && !empty($undefined_settings)) { - function _setting_natural_comparison($a, $b) { return strnatcmp($a->_key, $b->_key); } + /** + * Callback for sorting settings + * + * @param setting $a + * @param setting $b + * @return int if $a is lower/equal/higher than $b + */ + function _setting_natural_comparison($a, $b) { + return strnatcmp($a->_key, $b->_key); + } + usort($undefined_settings, '_setting_natural_comparison'); $this->_print_h1('undefined_settings', $this->getLang('_header_undefined')); ptln('<fieldset>'); @@ -235,6 +255,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { if ($this->_session_started) session_write_close(); } + /** + * @param bool $prompts + */ function setupLocale($prompts=false) { parent::setupLocale(); @@ -245,6 +268,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { } + /** + * @return bool + */ function _setup_localised_plugin_prompts() { global $conf; @@ -256,7 +282,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp' || $plugin == 'config') continue; if (is_file(DOKU_PLUGIN.$plugin)) continue; - if (@file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){ + if (file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){ $lang = array(); @include(DOKU_PLUGIN.$plugin.$enlangfile); if ($conf['lang'] != 'en') @include(DOKU_PLUGIN.$plugin.$langfile); @@ -277,7 +303,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { // the same for the active template $tpl = $conf['template']; - if (@file_exists(tpl_incdir().$enlangfile)){ + if (file_exists(tpl_incdir().$enlangfile)){ $lang = array(); @include(tpl_incdir().$enlangfile); if ($conf['lang'] != 'en') @include(tpl_incdir().$langfile); @@ -299,6 +325,8 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { * Generates a two-level table of contents for the config plugin. * * @author Ben Coburn <btcoburn@silicodon.net> + * + * @return array */ function getTOC() { if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } @@ -328,6 +356,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { $t[] = html_mktocitem('configuration_manager', $this->getLang('_configuration_manager'), 1); $t[] = html_mktocitem('dokuwiki_settings', $this->getLang('_header_dokuwiki'), 1); + /** @var setting $setting */ foreach($toc['conf'] as $setting) { $name = $setting->prompt($this); $t[] = html_mktocitem($setting->_key, $name, 2); @@ -352,6 +381,10 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { return $t; } + /** + * @param string $id + * @param string $text + */ function _print_h1($id, $text) { ptln('<h1 id="'.$id.'">'.$text.'</h1>'); } diff --git a/lib/plugins/config/images/danger.png b/lib/plugins/config/images/danger.png Binary files differindex 7bd84f7a3..da0692429 100644 --- a/lib/plugins/config/images/danger.png +++ b/lib/plugins/config/images/danger.png diff --git a/lib/plugins/config/images/security.png b/lib/plugins/config/images/security.png Binary files differindex 1800f8e56..3ee8476ac 100644 --- a/lib/plugins/config/images/security.png +++ b/lib/plugins/config/images/security.png diff --git a/lib/plugins/config/images/warning.png b/lib/plugins/config/images/warning.png Binary files differindex c5e482f84..c1af79f0f 100644 --- a/lib/plugins/config/images/warning.png +++ b/lib/plugins/config/images/warning.png diff --git a/lib/plugins/config/lang/bg/lang.php b/lib/plugins/config/lang/bg/lang.php index d0df38cae..64ddb1eae 100644 --- a/lib/plugins/config/lang/bg/lang.php +++ b/lib/plugins/config/lang/bg/lang.php @@ -67,7 +67,7 @@ $lang['fmode'] = 'Режим (права) за създаване на фа $lang['allowdebug'] = 'Включване на режи debug - <b>изключете, ако не е нужен!</b>'; /* Display Settings */ -$lang['recent'] = 'Скорошни промени - брой еленти на страница'; +$lang['recent'] = 'Скорошни промени - брой елементи на страница'; $lang['recent_days'] = 'Колко от скорошните промени да се пазят (дни)'; $lang['breadcrumbs'] = 'Брой на следите. За изключване на функцията задайте 0.'; $lang['youarehere'] = 'Йерархични следи (в този случай можете да изключите горната опция)'; @@ -167,7 +167,7 @@ $lang['compress'] = 'Компактен CSS и javascript изглед'; $lang['cssdatauri'] = 'Максимален размер, в байтове, до който изображенията посочени в .CSS файл ще бъдат вграждани в стила (stylesheet), за да се намали броя на HTTP заявките. Техниката не работи за версиите на IE преди 8! Препоръчителни стойности: <code>400</code> до <code>600</code> байта. Въведете <code>0</code> за изключване.'; $lang['send404'] = 'Пращане на "HTTP 404/Page Not Found" за несъществуващи страници'; $lang['broken_iua'] = 'Отметнете, ако ignore_user_abort функцията не работи. Може да попречи на търсенето в страниците. Знае се, че комбинацията IIS+PHP/CGI е лоша. Вижте <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Грешка 852</a> за повече информация.'; -$lang['xsendfile'] = 'Ползване на Х-Sendfile header, за да може уебсървъра да дава статични файлове? Вашият уебсървър трябва да го поддържа.'; +$lang['xsendfile'] = 'Ползване на Х-Sendfile header, за да може уебсървъра да дава статични файлове? Вашият уеб сървър трябва да го поддържа.'; $lang['renderer_xhtml'] = 'Представяне на основните изходни данни (xhtml) от Wiki-то с'; $lang['renderer__core'] = '%s (ядрото на DokuWiki)'; $lang['renderer__plugin'] = '%s (приставка)'; diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index e55081a91..d398ebf84 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -41,7 +41,7 @@ $lang['_links'] = 'Links'; $lang['_media'] = 'Medien'; $lang['_notifications'] = 'Benachrichtigung'; $lang['_syndication'] = 'Syndication (RSS)'; -$lang['_advanced'] = 'Erweitertet'; +$lang['_advanced'] = 'Erweitert'; $lang['_network'] = 'Netzwerk'; $lang['_msg_setting_undefined'] = 'Keine Konfigurationsmetadaten.'; $lang['_msg_setting_no_class'] = 'Keine Konfigurationsklasse.'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index cdef85a85..5e5218aff 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -101,6 +101,7 @@ $lang['disableactions_subscription'] = 'Subscribe/Unsubscribe'; $lang['disableactions_wikicode'] = 'View source/Export Raw'; $lang['disableactions_profile_delete'] = 'Delete Own Account'; $lang['disableactions_other'] = 'Other actions (comma separated)'; +$lang['disableactions_rss'] = 'XML Syndication (RSS)'; $lang['auth_security_timeout'] = 'Authentication Security Timeout (seconds)'; $lang['securecookie'] = 'Should cookies set via HTTPS only be sent via HTTPS by the browser? Disable this option when only the login of your wiki is secured with SSL but browsing the wiki is done unsecured.'; $lang['remote'] = 'Enable the remote API system. This allows other applications to access the wiki via XML-RPC or other mechanisms.'; @@ -245,10 +246,11 @@ $lang['xsendfile_o_2'] = 'Standard X-Sendfile header'; $lang['xsendfile_o_3'] = 'Proprietary Nginx X-Accel-Redirect header'; /* Display user info */ -$lang['showuseras_o_loginname'] = 'Login name'; -$lang['showuseras_o_username'] = "User's full name"; -$lang['showuseras_o_email'] = "User's e-mail addresss (obfuscated according to mailguard setting)"; -$lang['showuseras_o_email_link'] = "User's e-mail addresss as a mailto: link"; +$lang['showuseras_o_loginname'] = 'Login name'; +$lang['showuseras_o_username'] = "User's full name"; +$lang['showuseras_o_username_link'] = "User's full name as interwiki user link"; +$lang['showuseras_o_email'] = "User's e-mail addresss (obfuscated according to mailguard setting)"; +$lang['showuseras_o_email_link'] = "User's e-mail addresss as a mailto: link"; /* useheading options */ $lang['useheading_o_0'] = 'Never'; diff --git a/lib/plugins/config/lang/hr/lang.php b/lib/plugins/config/lang/hr/lang.php deleted file mode 100644 index 96f1d6afe..000000000 --- a/lib/plugins/config/lang/hr/lang.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Croatian language file - * - * @author Branko Rihtman <theney@gmail.com> - * @author Dražen Odobašić <dodobasic@gmail.com> - * @author Dejan Igrec dejan.igrec@gmail.com - */ diff --git a/lib/plugins/config/lang/id/lang.php b/lib/plugins/config/lang/id/lang.php deleted file mode 100644 index c3d485930..000000000 --- a/lib/plugins/config/lang/id/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Indonesian language file - * - * @author Irwan Butar Butar <irwansah.putra@gmail.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/config/lang/kk/lang.php b/lib/plugins/config/lang/kk/lang.php deleted file mode 100644 index dde5b9577..000000000 --- a/lib/plugins/config/lang/kk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * kazakh language file - * - * @author Nurgozha Kaliaskarov astana08@gmail.com - */ diff --git a/lib/plugins/config/lang/ko/intro.txt b/lib/plugins/config/lang/ko/intro.txt index d0b85606c..979bbcb14 100644 --- a/lib/plugins/config/lang/ko/intro.txt +++ b/lib/plugins/config/lang/ko/intro.txt @@ -6,4 +6,3 @@ 이 페이지를 떠나기 전에 **저장** 버튼을 누르지 않으면 바뀜이 사라지는 것에 주의하세요. - diff --git a/lib/plugins/config/lang/lb/lang.php b/lib/plugins/config/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/config/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/config/lang/mk/lang.php b/lib/plugins/config/lang/mk/lang.php deleted file mode 100644 index 6d4530f79..000000000 --- a/lib/plugins/config/lang/mk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Macedonian language file - * - * @author Dimitar Talevski <dimi3.14@gmail.com> - */ diff --git a/lib/plugins/config/lang/ms/lang.php b/lib/plugins/config/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/config/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/config/lang/vi/lang.php b/lib/plugins/config/lang/vi/lang.php deleted file mode 100644 index 2933d8875..000000000 --- a/lib/plugins/config/lang/vi/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Vietnamese language file - * - */ diff --git a/lib/plugins/config/plugin.info.txt b/lib/plugins/config/plugin.info.txt index 510be3be4..9472346b9 100644 --- a/lib/plugins/config/plugin.info.txt +++ b/lib/plugins/config/plugin.info.txt @@ -1,7 +1,7 @@ base config author Christopher Smith email chris@jalakai.co.uk -date 2013-02-24 +date 2014-03-18 name Configuration Manager desc Manage Dokuwiki's Configuration Settings url http://dokuwiki.org/plugin:config diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 05f8470f7..316cc2c59 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -10,7 +10,9 @@ if(!defined('CM_KEYMARKER')) define('CM_KEYMARKER','____'); if (!class_exists('configuration')) { - + /** + * Class configuration + */ class configuration { var $_name = 'conf'; // name of the config variable found in the files (overridden by $config['varname']) @@ -18,6 +20,7 @@ if (!class_exists('configuration')) { var $_heading = ''; // heading string written at top of config file - don't include comment indicators var $_loaded = false; // set to true after configuration files are loaded var $_metadata = array(); // holds metadata describing the settings + /** @var setting[] */ var $setting = array(); // array of setting objects var $locked = false; // configuration is considered locked if it can't be updated var $show_disabled_plugins = false; @@ -31,11 +34,13 @@ if (!class_exists('configuration')) { /** * constructor + * + * @param string $datafile path to config metadata file */ - function configuration($datafile) { + public function configuration($datafile) { global $conf, $config_cascade; - if (!@file_exists($datafile)) { + if (!file_exists($datafile)) { msg('No configuration metadata found at - '.htmlspecialchars($datafile),-1); return; } @@ -55,7 +60,10 @@ if (!class_exists('configuration')) { $this->retrieve_settings(); } - function retrieve_settings() { + /** + * Retrieve and stores settings in setting[] attribute + */ + public function retrieve_settings() { global $conf; $no_default_check = array('setting_fieldset', 'setting_undefined', 'setting_no_class'); @@ -100,7 +108,15 @@ if (!class_exists('configuration')) { } } - function save_settings($id, $header='', $backup=true) { + /** + * Stores setting[] array to file + * + * @param string $id Name of plugin, which saves the settings + * @param string $header Text at the top of the rewritten settings file + * @param bool $backup backup current file? (remove any existing backup) + * @return bool succesful? + */ + public function save_settings($id, $header='', $backup=true) { global $conf; if ($this->locked) return false; @@ -109,8 +125,8 @@ if (!class_exists('configuration')) { $file = end($this->_local_files); // backup current file (remove any existing backup) - if (@file_exists($file) && $backup) { - if (@file_exists($file.'.bak')) @unlink($file.'.bak'); + if (file_exists($file) && $backup) { + if (file_exists($file.'.bak')) @unlink($file.'.bak'); if (!io_rename($file, $file.'.bak')) return false; } @@ -137,14 +153,22 @@ if (!class_exists('configuration')) { /** * Update last modified time stamp of the config file + * + * @return bool */ - function touch_settings(){ + public function touch_settings(){ if ($this->locked) return false; $file = end($this->_local_files); return @touch($file); } - function _read_config_group($files) { + /** + * Read and merge given config files + * + * @param array $files file paths + * @return array config settings + */ + protected function _read_config_group($files) { $config = array(); foreach ($files as $file) { $config = array_merge($config, $this->_read_config($file)); @@ -154,7 +178,10 @@ if (!class_exists('configuration')) { } /** - * return an array of config settings + * Return an array of config settings + * + * @param string $file file path + * @return array config settings */ function _read_config($file) { @@ -164,7 +191,7 @@ if (!class_exists('configuration')) { if ($this->_format == 'php') { - if(@file_exists($file)){ + if(file_exists($file)){ $contents = @php_strip_whitespace($file); }else{ $contents = ''; @@ -206,7 +233,14 @@ if (!class_exists('configuration')) { return $config; } - function _out_header($id, $header) { + /** + * Returns header of rewritten settings file + * + * @param string $id plugin name of which generated this output + * @param string $header additional text for at top of the file + * @return string text of header + */ + protected function _out_header($id, $header) { $out = ''; if ($this->_format == 'php') { $out .= '<'.'?php'."\n". @@ -221,7 +255,12 @@ if (!class_exists('configuration')) { return $out; } - function _out_footer() { + /** + * Returns footer of rewritten settings file + * + * @return string text of footer + */ + protected function _out_footer() { $out = ''; if ($this->_format == 'php') { $out .= "\n// end auto-generated content\n"; @@ -230,15 +269,19 @@ if (!class_exists('configuration')) { return $out; } - // configuration is considered locked if there is no local settings filename - // or the directory its in is not writable or the file exists and is not writable - function _is_locked() { + /** + * Configuration is considered locked if there is no local settings filename + * or the directory its in is not writable or the file exists and is not writable + * + * @return bool true: locked, false: writable + */ + protected function _is_locked() { if (!$this->_local_files) return true; $local = $this->_local_files[0]; if (!is_writable(dirname($local))) return true; - if (@file_exists($local) && !is_writable($local)) return true; + if (file_exists($local) && !is_writable($local)) return true; return false; } @@ -246,8 +289,12 @@ if (!class_exists('configuration')) { /** * not used ... conf's contents are an array! * reduce any multidimensional settings to one dimension using CM_KEYMARKER + * + * @param $conf + * @param string $prefix + * @return array */ - function _flatten($conf,$prefix='') { + protected function _flatten($conf,$prefix='') { $out = array(); @@ -264,6 +311,12 @@ if (!class_exists('configuration')) { return $out; } + /** + * Returns array of plugin names + * + * @return array plugin names + * @triggers PLUGIN_CONFIG_PLUGINLIST event + */ function get_plugin_list() { if (is_null($this->_plugin_list)) { $list = plugin_list('',$this->show_disabled_plugins); @@ -281,6 +334,9 @@ if (!class_exists('configuration')) { /** * load metadata for plugin and template settings + * + * @param string $tpl name of active template + * @return array metadata of settings */ function get_plugintpl_metadata($tpl){ $file = '/conf/metadata.php'; @@ -289,7 +345,7 @@ if (!class_exists('configuration')) { foreach ($this->get_plugin_list() as $plugin) { $plugin_dir = plugin_directory($plugin); - if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ + if (file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ $meta = array(); @include(DOKU_PLUGIN.$plugin_dir.$file); @include(DOKU_PLUGIN.$plugin_dir.$class); @@ -304,7 +360,7 @@ if (!class_exists('configuration')) { } // the same for the active template - if (@file_exists(tpl_incdir().$file)){ + if (file_exists(tpl_incdir().$file)){ $meta = array(); @include(tpl_incdir().$file); @include(tpl_incdir().$class); @@ -321,7 +377,10 @@ if (!class_exists('configuration')) { } /** - * load default settings for plugins and templates + * Load default settings for plugins and templates + * + * @param string $tpl name of active template + * @return array default settings */ function get_plugintpl_default($tpl){ $file = '/conf/default.php'; @@ -329,7 +388,7 @@ if (!class_exists('configuration')) { foreach ($this->get_plugin_list() as $plugin) { $plugin_dir = plugin_directory($plugin); - if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ + if (file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ $conf = $this->_read_config(DOKU_PLUGIN.$plugin_dir.$file); foreach ($conf as $key => $value){ $default['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; @@ -338,7 +397,7 @@ if (!class_exists('configuration')) { } // the same for the active template - if (@file_exists(tpl_incdir().$file)){ + if (file_exists(tpl_incdir().$file)){ $conf = $this->_read_config(tpl_incdir().$file); foreach ($conf as $key => $value){ $default['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; @@ -352,6 +411,9 @@ if (!class_exists('configuration')) { } if (!class_exists('setting')) { + /** + * Class setting + */ class setting { var $_key = ''; @@ -368,7 +430,11 @@ if (!class_exists('setting')) { static protected $_validCautions = array('warning','danger','security'); - function setting($key, $params=null) { + /** + * @param string $key + * @param array|null $params array with metadata of setting + */ + public function setting($key, $params=null) { $this->_key = $key; if (is_array($params)) { @@ -379,9 +445,13 @@ if (!class_exists('setting')) { } /** - * receives current values for the setting $key + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value */ - function initialize($default, $local, $protected) { + public function initialize($default, $local, $protected) { if (isset($default)) $this->_default = $default; if (isset($local)) $this->_local = $local; if (isset($protected)) $this->_protected = $protected; @@ -393,9 +463,9 @@ if (!class_exists('setting')) { * - if changed value passes error check, set $this->_local to the new value * * @param mixed $input the new value - * @return boolean true if changed, false otherwise (incl. on error) + * @return boolean true if changed, false otherwise (also on error) */ - function update($input) { + public function update($input) { if (is_null($input)) return false; if ($this->is_protected()) return false; @@ -413,10 +483,13 @@ if (!class_exists('setting')) { } /** - * @return array(string $label_html, string $input_html) + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) */ - function html(&$plugin, $echo=false) { - $value = ''; + public function html(&$plugin, $echo=false) { $disable = ''; if ($this->is_protected()) { @@ -439,9 +512,13 @@ if (!class_exists('setting')) { } /** - * generate string to save setting value to file according to $fmt + * Generate string to save setting value to file according to $fmt + * + * @param string $var name of variable + * @param string $fmt save format + * @return string */ - function out($var, $fmt='php') { + public function out($var, $fmt='php') { if ($this->is_protected()) return ''; if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; @@ -457,17 +534,45 @@ if (!class_exists('setting')) { return $out; } - function prompt(&$plugin) { + /** + * Returns the localized prompt + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @return string text + */ + public function prompt(&$plugin) { $prompt = $plugin->getLang($this->_key); if (!$prompt) $prompt = htmlspecialchars(str_replace(array('____','_'),' ',$this->_key)); return $prompt; } - function is_protected() { return !is_null($this->_protected); } - function is_default() { return !$this->is_protected() && is_null($this->_local); } - function error() { return $this->_error; } + /** + * Is setting protected + * + * @return bool + */ + public function is_protected() { return !is_null($this->_protected); } + + /** + * Is setting the default? + * + * @return bool + */ + public function is_default() { return !$this->is_protected() && is_null($this->_local); } + + /** + * Has an error? + * + * @return bool + */ + public function error() { return $this->_error; } - function caution() { + /** + * Returns caution + * + * @return false|string caution string, otherwise false for invalid caution + */ + public function caution() { if (!empty($this->_caution)) { if (!in_array($this->_caution, setting::$_validCautions)) { trigger_error('Invalid caution string ('.$this->_caution.') in metadata for setting "'.$this->_key.'"', E_USER_WARNING); @@ -486,7 +591,14 @@ if (!class_exists('setting')) { return false; } - function _out_key($pretty=false,$url=false) { + /** + * Returns setting key, eventually with referer to config: namespace at dokuwiki.org + * + * @param bool $pretty create nice key + * @param bool $url provide url to config: namespace + * @return string key + */ + public function _out_key($pretty=false,$url=false) { if($pretty){ $out = str_replace(CM_KEYMARKER,"»",$this->_key); if ($url && !strstr($out,'»')) {//provide no urls for plugins, etc. @@ -505,12 +617,15 @@ if (!class_exists('setting')) { if (!class_exists('setting_array')) { + /** + * Class setting_array + */ class setting_array extends setting { /** * Create an array from a string * - * @param $string + * @param string $string * @return array */ protected function _from_string($string){ @@ -524,7 +639,7 @@ if (!class_exists('setting_array')) { /** * Create a string from an array * - * @param $array + * @param array $array * @return string */ protected function _from_array($array){ @@ -559,13 +674,23 @@ if (!class_exists('setting_array')) { return true; } + /** + * Escaping + * + * @param string $string + * @return string + */ protected function _escape($string) { $tr = array("\\" => '\\\\', "'" => '\\\''); return "'".strtr( cleanText($string), $tr)."'"; } /** - * generate string to save setting value to file according to $fmt + * Generate string to save setting value to file according to $fmt + * + * @param string $var name of variable + * @param string $fmt save format + * @return string */ function out($var, $fmt='php') { @@ -582,8 +707,14 @@ if (!class_exists('setting_array')) { return $out; } + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { - $value = ''; $disable = ''; if ($this->is_protected()) { @@ -608,9 +739,18 @@ if (!class_exists('setting_array')) { } if (!class_exists('setting_string')) { + /** + * Class setting_string + */ class setting_string extends setting { + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { - $value = ''; $disable = ''; if ($this->is_protected()) { @@ -635,10 +775,21 @@ if (!class_exists('setting_string')) { } if (!class_exists('setting_password')) { + /** + * Class setting_password + */ class setting_password extends setting_string { var $_code = 'plain'; // mechanism to be used to obscure passwords + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if ($this->is_protected()) return false; if (!$input) return false; @@ -653,9 +804,15 @@ if (!class_exists('setting_password')) { return true; } + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { - $value = ''; $disable = $this->is_protected() ? 'disabled="disabled"' : ''; $key = htmlspecialchars($this->_key); @@ -668,7 +825,9 @@ if (!class_exists('setting_password')) { } if (!class_exists('setting_email')) { - + /** + * Class setting_email + */ class setting_email extends setting_string { var $_multiple = false; var $_placeholders = false; @@ -677,6 +836,7 @@ if (!class_exists('setting_email')) { * update setting with user provided value $input * if value fails error check, save it * + * @param mixed $input * @return boolean true if changed, false otherwise (incl. on error) */ function update($input) { @@ -731,7 +891,17 @@ if (!class_exists('setting_email')) { * @deprecated 2013-02-16 */ if (!class_exists('setting_richemail')) { + /** + * Class setting_richemail + */ class setting_richemail extends setting_email { + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { $this->_placeholders = true; return parent::update($input); @@ -741,6 +911,9 @@ if (!class_exists('setting_richemail')) { if (!class_exists('setting_numeric')) { + /** + * Class setting_numeric + */ class setting_numeric extends setting_string { // This allows for many PHP syntax errors... // var $_pattern = '/^[-+\/*0-9 ]*$/'; @@ -749,6 +922,14 @@ if (!class_exists('setting_numeric')) { var $_min = null; var $_max = null; + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { $local = $this->_local; $valid = parent::update($input); @@ -765,6 +946,13 @@ if (!class_exists('setting_numeric')) { return $valid; } + /** + * Generate string to save setting value to file according to $fmt + * + * @param string $var name of variable + * @param string $fmt save format + * @return string + */ function out($var, $fmt='php') { if ($this->is_protected()) return ''; @@ -783,6 +971,9 @@ if (!class_exists('setting_numeric')) { } if (!class_exists('setting_numericopt')) { + /** + * Class setting_numericopt + */ class setting_numericopt extends setting_numeric { // just allow an empty config var $_pattern = '/^(|[-]?[0-9]+(?:[-+*][0-9]+)*)$/'; @@ -790,10 +981,18 @@ if (!class_exists('setting_numericopt')) { } if (!class_exists('setting_onoff')) { + /** + * Class setting_onoff + */ class setting_onoff extends setting_numeric { - + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo = false) { - $value = ''; $disable = ''; if ($this->is_protected()) { @@ -811,6 +1010,14 @@ if (!class_exists('setting_onoff')) { return array($label,$input); } + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if ($this->is_protected()) return false; @@ -825,11 +1032,21 @@ if (!class_exists('setting_onoff')) { } if (!class_exists('setting_multichoice')) { + /** + * Class setting_multichoice + */ class setting_multichoice extends setting_string { var $_choices = array(); + var $lang; //some custom language strings are stored in setting + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo = false) { - $value = ''; $disable = ''; $nochoice = ''; @@ -872,6 +1089,14 @@ if (!class_exists('setting_multichoice')) { return array($label,$input); } + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if (is_null($input)) return false; if ($this->is_protected()) return false; @@ -889,10 +1114,20 @@ if (!class_exists('setting_multichoice')) { if (!class_exists('setting_dirchoice')) { + /** + * Class setting_dirchoice + */ class setting_dirchoice extends setting_multichoice { var $_dir = ''; + /** + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value + */ function initialize($default,$local,$protected) { // populate $this->_choices with a list of directories @@ -918,12 +1153,18 @@ if (!class_exists('setting_dirchoice')) { if (!class_exists('setting_hidden')) { + /** + * Class setting_hidden + */ class setting_hidden extends setting { // Used to explicitly ignore a setting in the configuration manager. } } if (!class_exists('setting_fieldset')) { + /** + * Class setting_fieldset + */ class setting_fieldset extends setting { // A do-nothing class used to detect the 'fieldset' type. // Used to start a new settings "display-group". @@ -931,6 +1172,9 @@ if (!class_exists('setting_fieldset')) { } if (!class_exists('setting_undefined')) { + /** + * Class setting_undefined + */ class setting_undefined extends setting_hidden { // A do-nothing class used to detect settings with no metadata entry. // Used internaly to hide undefined settings, and generate the undefined settings list. @@ -938,6 +1182,9 @@ if (!class_exists('setting_undefined')) { } if (!class_exists('setting_no_class')) { + /** + * Class setting_no_class + */ class setting_no_class extends setting_undefined { // A do-nothing class used to detect settings with a missing setting class. // Used internaly to hide undefined settings, and generate the undefined settings list. @@ -945,6 +1192,9 @@ if (!class_exists('setting_no_class')) { } if (!class_exists('setting_no_default')) { + /** + * Class setting_no_default + */ class setting_no_default extends setting_undefined { // A do-nothing class used to detect settings with no default value. // Used internaly to hide undefined settings, and generate the undefined settings list. @@ -952,11 +1202,22 @@ if (!class_exists('setting_no_default')) { } if (!class_exists('setting_multicheckbox')) { + /** + * Class setting_multicheckbox + */ class setting_multicheckbox extends setting_string { var $_choices = array(); var $_combine = array(); + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if ($this->is_protected()) return false; @@ -977,9 +1238,15 @@ if (!class_exists('setting_multicheckbox')) { return true; } + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return string[] with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { - $value = ''; $disable = ''; if ($this->is_protected()) { @@ -1027,7 +1294,7 @@ if (!class_exists('setting_multicheckbox')) { // handle any remaining values $other = join(',',$value); - $class = (count($default == count($value)) && (count($value) == count(array_intersect($value,$default)))) ? + $class = ((count($default) == count($value)) && (count($value) == count(array_intersect($value,$default)))) ? " selectiondefault" : ""; $input .= '<div class="other'.$class.'">'."\n"; @@ -1041,6 +1308,9 @@ if (!class_exists('setting_multicheckbox')) { /** * convert comma separated list to an array and combine any complimentary values + * + * @param string $str + * @return array */ function _str2array($str) { $array = explode(',',$str); @@ -1064,6 +1334,9 @@ if (!class_exists('setting_multicheckbox')) { /** * convert array of values + other back to a comma separated list, incl. splitting any combined values + * + * @param array $input + * @return string */ function _array2str($input) { @@ -1092,6 +1365,9 @@ if (!class_exists('setting_multicheckbox')) { } if (!class_exists('setting_regex')){ + /** + * Class setting_regex + */ class setting_regex extends setting_string { var $_delimiter = '/'; // regex delimiter to be used in testing input @@ -1115,7 +1391,7 @@ if (!class_exists('setting_regex')){ // see if the regex compiles and runs (we don't check for effectiveness) $regex = $this->_delimiter . $input . $this->_delimiter . $this->_pregflags; $lastError = error_get_last(); - $ok = @preg_match($regex,'testdata'); + @preg_match($regex,'testdata'); if (preg_last_error() != PREG_NO_ERROR || error_get_last() != $lastError) { $this->_input = $input; $this->_error = true; diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index f9dabfeb0..aaa32cd70 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -116,7 +116,7 @@ $meta['fullpath'] = array('onoff','_caution' => 'security'); $meta['typography'] = array('multichoice','_choices' => array(0,1,2)); $meta['dformat'] = array('string'); $meta['signature'] = array('string'); -$meta['showuseras'] = array('multichoice','_choices' => array('loginname','username','email','email_link')); +$meta['showuseras'] = array('multichoice','_choices' => array('loginname','username','username_link','email','email_link')); $meta['toptoclevel'] = array('multichoice','_choices' => array(1,2,3,4,5)); // 5 toc levels $meta['tocminheads'] = array('multichoice','_choices' => array(0,1,2,3,4,5,10,15,20)); $meta['maxtoclevel'] = array('multichoice','_choices' => array(0,1,2,3,4,5)); @@ -138,7 +138,7 @@ $meta['manager'] = array('string'); $meta['profileconfirm'] = array('onoff'); $meta['rememberme'] = array('onoff'); $meta['disableactions'] = array('disableactions', - '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','profile_delete','edit','wikicode','check'), + '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','profile_delete','edit','wikicode','check', 'rss'), '_combine' => array('subscription' => array('subscribe','unsubscribe'), 'wikicode' => array('source','export_raw'))); $meta['auth_security_timeout'] = array('numeric'); $meta['securecookie'] = array('onoff'); diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php index 83de802a3..fd3a90e28 100644 --- a/lib/plugins/config/settings/extra.class.php +++ b/lib/plugins/config/settings/extra.class.php @@ -6,8 +6,15 @@ */ if (!class_exists('setting_sepchar')) { + /** + * Class setting_sepchar + */ class setting_sepchar extends setting_multichoice { + /** + * @param string $key + * @param array|null $param array with metadata of setting + */ function setting_sepchar($key,$param=null) { $str = '_-.'; for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i}; @@ -19,8 +26,19 @@ if (!class_exists('setting_sepchar')) { } if (!class_exists('setting_savedir')) { + /** + * Class setting_savedir + */ class setting_savedir extends setting_string { + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if ($this->is_protected()) return false; @@ -40,9 +58,20 @@ if (!class_exists('setting_savedir')) { } if (!class_exists('setting_authtype')) { + /** + * Class setting_authtype + */ class setting_authtype extends setting_multichoice { + /** + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value + */ function initialize($default,$local,$protected) { + /** @var $plugin_controller Doku_Plugin_Controller */ global $plugin_controller; // retrieve auth types provided by plugins @@ -53,7 +82,16 @@ if (!class_exists('setting_authtype')) { parent::initialize($default,$local,$protected); } + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { + /** @var $plugin_controller Doku_Plugin_Controller */ global $plugin_controller; // is an update possible/requested? @@ -92,8 +130,19 @@ if (!class_exists('setting_authtype')) { } if (!class_exists('setting_im_convert')) { + /** + * Class setting_im_convert + */ class setting_im_convert extends setting_string { + /** + * update changed setting with user provided value $input + * - if changed value fails error check, save it to $this->_input (to allow echoing later) + * - if changed value passes error check, set $this->_local to the new value + * + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (also on error) + */ function update($input) { if ($this->is_protected()) return false; @@ -102,7 +151,7 @@ if (!class_exists('setting_im_convert')) { $value = is_null($this->_local) ? $this->_default : $this->_local; if ($value == $input) return false; - if ($input && !@file_exists($input)) { + if ($input && !file_exists($input)) { $this->_error = true; $this->_input = $input; return false; @@ -115,14 +164,24 @@ if (!class_exists('setting_im_convert')) { } if (!class_exists('setting_disableactions')) { + /** + * Class setting_disableactions + */ class setting_disableactions extends setting_multicheckbox { + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return array with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { global $lang; // make some language adjustments (there must be a better way) // transfer some DokuWiki language strings to the plugin - if (!$plugin->localised) $this->setupLocale(); + if (!$plugin->localised) $plugin->setupLocale(); $plugin->lang[$this->_key.'_revisions'] = $lang['btn_revs']; foreach ($this->_choices as $choice) @@ -134,10 +193,20 @@ if (!class_exists('setting_disableactions')) { } if (!class_exists('setting_compression')) { + /** + * Class setting_compression + */ class setting_compression extends setting_multichoice { var $_choices = array('0'); // 0 = no compression, always supported + /** + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value + */ function initialize($default,$local,$protected) { // populate _choices with the compression methods supported by this php installation @@ -150,16 +219,26 @@ if (!class_exists('setting_compression')) { } if (!class_exists('setting_license')) { + /** + * Class setting_license + */ class setting_license extends setting_multichoice { var $_choices = array(''); // none choosen + /** + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value + */ function initialize($default,$local,$protected) { global $license; foreach($license as $key => $data){ $this->_choices[] = $key; - $this->lang[$this->_key.'_o_'.$key] = $data['name']; + $this->lang[$this->_key.'_o_'.$key] = $data['name']; // stored in setting } parent::initialize($default,$local,$protected); @@ -169,9 +248,20 @@ if (!class_exists('setting_license')) { if (!class_exists('setting_renderer')) { + /** + * Class setting_renderer + */ class setting_renderer extends setting_multichoice { var $_prompts = array(); - + var $_format = null; + + /** + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value + */ function initialize($default,$local,$protected) { $format = $this->_format; @@ -188,11 +278,18 @@ if (!class_exists('setting_renderer')) { parent::initialize($default,$local,$protected); } + /** + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return array with content array(string $label_html, string $input_html) + */ function html(&$plugin, $echo=false) { // make some language adjustments (there must be a better way) // transfer some plugin names to the config plugin - if (!$plugin->localised) $this->setupLocale(); + if (!$plugin->localised) $plugin->setupLocale(); foreach ($this->_choices as $choice) { if (!isset($plugin->lang[$this->_key.'_o_'.$choice])) { diff --git a/lib/plugins/extension/_test/extension.test.php b/lib/plugins/extension/_test/extension.test.php new file mode 100644 index 000000000..453b95e79 --- /dev/null +++ b/lib/plugins/extension/_test/extension.test.php @@ -0,0 +1,293 @@ +<?php + +/** + * Class mock_helper_plugin_extension_extension + * + * makes protected methods accessible + */ +class mock_helper_plugin_extension_extension extends helper_plugin_extension_extension { + public function find_folders(&$result, $base, $default_type = 'plugin', $dir = '') { + return parent::find_folders($result, $base, $default_type, $dir); + } + +} + +/** + * @group plugin_extension + * @group plugins + */ +class helper_plugin_extension_extension_test extends DokuWikiTest { + + protected $pluginsEnabled = array('extension'); + + /** + * FIXME should we test this without internet first? + * + * @group internet + */ + public function testExtensionParameters() { + $extension = new helper_plugin_extension_extension(); + + $extension->setExtension('extension'); + $this->assertEquals('extension', $extension->getID()); + $this->assertEquals('extension', $extension->getBase()); + $this->assertEquals('Extension Manager', $extension->getDisplayName()); + $this->assertEquals('Michael Hamann', $extension->getAuthor()); + $this->assertEquals('michael@content-space.de', $extension->getEmail()); + $this->assertEquals(md5('michael@content-space.de'), $extension->getEmailID()); + $this->assertEquals('https://www.dokuwiki.org/plugin:extension', $extension->getURL()); + $this->assertEquals('Allows managing and installing plugins and templates', $extension->getDescription()); + $this->assertFalse($extension->isTemplate()); + $this->assertTrue($extension->isEnabled()); + $this->assertTrue($extension->isInstalled()); + $this->assertTrue($extension->isBundled()); + + $extension->setExtension('testing'); + $this->assertEquals('testing', $extension->getID()); + $this->assertEquals('testing', $extension->getBase()); + $this->assertEquals('Testing Plugin', $extension->getDisplayName()); + $this->assertEquals('Tobias Sarnowski', $extension->getAuthor()); + $this->assertEquals('tobias@trustedco.de', $extension->getEmail()); + $this->assertEquals(md5('tobias@trustedco.de'), $extension->getEmailID()); + $this->assertEquals('http://www.dokuwiki.org/plugin:testing', $extension->getURL()); + $this->assertEquals('Used to test the test framework. Should always be disabled.', $extension->getDescription()); + $this->assertFalse($extension->isTemplate()); + $this->assertFalse($extension->isEnabled()); + $this->assertTrue($extension->isInstalled()); + $this->assertTrue($extension->isBundled()); + + $extension->setExtension('template:dokuwiki'); + $this->assertEquals('template:dokuwiki', $extension->getID()); + $this->assertEquals('dokuwiki', $extension->getBase()); + $this->assertEquals('DokuWiki Template', $extension->getDisplayName()); + $this->assertEquals('Anika Henke', $extension->getAuthor()); + $this->assertEquals('anika@selfthinker.org', $extension->getEmail()); + $this->assertEquals(md5('anika@selfthinker.org'), $extension->getEmailID()); + $this->assertEquals('http://www.dokuwiki.org/template:dokuwiki', $extension->getURL()); + $this->assertEquals('DokuWiki\'s default template since 2012', $extension->getDescription()); + $this->assertTrue($extension->isTemplate()); + $this->assertTrue($extension->isEnabled()); + $this->assertTrue($extension->isInstalled()); + $this->assertTrue($extension->isBundled()); + } + + public function testFindFoldersPlugins() { + $extension = new mock_helper_plugin_extension_extension(); + $tdir = dirname(__FILE__).'/testdata'; + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plugin1", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('plugin1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plugin2", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('plugin', $result['new'][0]['type']); + $this->assertEquals('plugin2', $result['new'][0]['base']); + $this->assertEquals('plugin2', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plgsub3", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('plgsub3/plugin3', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plgsub4", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('plugin', $result['new'][0]['type']); + $this->assertEquals('plugin4', $result['new'][0]['base']); + $this->assertEquals('plgsub4/plugin4', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plgfoo5", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('plugin', $result['new'][0]['type']); + $this->assertEquals('plugin5', $result['new'][0]['base']); + $this->assertEquals('plgfoo5', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/plgsub6/plgfoo6", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('plugin', $result['new'][0]['type']); + $this->assertEquals('plugin6', $result['new'][0]['base']); + $this->assertEquals('plgsub6/plgfoo6', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/either1", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('either1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/eithersub2/either2", 'plugin'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('eithersub2/either2', $this->extdir($result['old'][0]['tmp'])); + } + + public function testFindFoldersTemplates() { + $extension = new mock_helper_plugin_extension_extension(); + $tdir = dirname(__FILE__).'/testdata'; + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/template1", 'template'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('template1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/template2", 'template'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template2', $result['new'][0]['base']); + $this->assertEquals('template2', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub3", 'template'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('tplsub3/template3', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub4", 'template'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template4', $result['new'][0]['base']); + $this->assertEquals('tplsub4/template4', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplfoo5", 'template'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template5', $result['new'][0]['base']); + $this->assertEquals('tplfoo5', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub6/tplfoo6", 'template'); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template6', $result['new'][0]['base']); + $this->assertEquals('tplsub6/tplfoo6', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/either1", 'template'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('either1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/eithersub2/either2", 'template'); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('eithersub2/either2', $this->extdir($result['old'][0]['tmp'])); + } + + public function testFindFoldersTemplatesAutodetect() { + $extension = new mock_helper_plugin_extension_extension(); + $tdir = dirname(__FILE__).'/testdata'; + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/template1"); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('template1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/template2"); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template2', $result['new'][0]['base']); + $this->assertEquals('template2', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub3"); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('template', $result['old'][0]['type']); + $this->assertEquals('tplsub3/template3', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub4"); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template4', $result['new'][0]['base']); + $this->assertEquals('tplsub4/template4', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplfoo5"); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template5', $result['new'][0]['base']); + $this->assertEquals('tplfoo5', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/tplsub6/tplfoo6"); + $this->assertTrue($ok); + $this->assertEquals(1, count($result['new'])); + $this->assertEquals('template', $result['new'][0]['type']); + $this->assertEquals('template6', $result['new'][0]['base']); + $this->assertEquals('tplsub6/tplfoo6', $this->extdir($result['new'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/either1"); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('either1', $this->extdir($result['old'][0]['tmp'])); + + $result = array('old' => array(), 'new' => array()); + $ok = $extension->find_folders($result, "$tdir/eithersub2/either2"); + $this->assertTrue($ok); + $this->assertEquals(0, count($result['new'])); + $this->assertEquals(1, count($result['old'])); + $this->assertEquals('plugin', $result['old'][0]['type']); + $this->assertEquals('eithersub2/either2', $this->extdir($result['old'][0]['tmp'])); + } + + /** + * remove the test data directory from a dir name for cross install comparison + * + * @param string $dir + * @return string + */ + protected function extdir($dir) { + $tdir = dirname(__FILE__).'/testdata'; + $len = strlen($tdir); + $dir = trim(substr($dir, $len), '/'); + return $dir; + } +}
\ No newline at end of file diff --git a/lib/plugins/extension/_test/testdata/either1/script.js b/lib/plugins/extension/_test/testdata/either1/script.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/either1/script.js diff --git a/lib/plugins/extension/_test/testdata/eithersub2/either2/script.js b/lib/plugins/extension/_test/testdata/eithersub2/either2/script.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/eithersub2/either2/script.js diff --git a/lib/plugins/extension/_test/testdata/plgfoo5/plugin.info.txt b/lib/plugins/extension/_test/testdata/plgfoo5/plugin.info.txt new file mode 100644 index 000000000..cc4532d29 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plgfoo5/plugin.info.txt @@ -0,0 +1,7 @@ +base plugin5 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Plugin +desc Dummy plugin data +url http://example.com/plugin:plugin5 diff --git a/lib/plugins/extension/_test/testdata/plgsub3/plugin3/syntax.php b/lib/plugins/extension/_test/testdata/plgsub3/plugin3/syntax.php new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plgsub3/plugin3/syntax.php diff --git a/lib/plugins/extension/_test/testdata/plgsub4/plugin4/plugin.info.txt b/lib/plugins/extension/_test/testdata/plgsub4/plugin4/plugin.info.txt new file mode 100644 index 000000000..374b6bf24 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plgsub4/plugin4/plugin.info.txt @@ -0,0 +1,7 @@ +base plugin4 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Plugin +desc Dummy plugin data +url http://example.com/plugin:plugin4 diff --git a/lib/plugins/extension/_test/testdata/plgsub6/plgfoo6/plugin.info.txt b/lib/plugins/extension/_test/testdata/plgsub6/plgfoo6/plugin.info.txt new file mode 100644 index 000000000..461ff8735 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plgsub6/plgfoo6/plugin.info.txt @@ -0,0 +1,7 @@ +base plugin6 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Plugin +desc Dummy plugin data +url http://example.com/plugin:plugin6 diff --git a/lib/plugins/extension/_test/testdata/plugin1/syntax.php b/lib/plugins/extension/_test/testdata/plugin1/syntax.php new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plugin1/syntax.php diff --git a/lib/plugins/extension/_test/testdata/plugin2/plugin.info.txt b/lib/plugins/extension/_test/testdata/plugin2/plugin.info.txt new file mode 100644 index 000000000..d56758fe9 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/plugin2/plugin.info.txt @@ -0,0 +1,7 @@ +base plugin2 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Plugin +desc Dummy Plugin data +url http://example.com/plugin:plugin2 diff --git a/lib/plugins/extension/_test/testdata/template1/main.php b/lib/plugins/extension/_test/testdata/template1/main.php new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/template1/main.php diff --git a/lib/plugins/extension/_test/testdata/template1/style.ini b/lib/plugins/extension/_test/testdata/template1/style.ini new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/template1/style.ini diff --git a/lib/plugins/extension/_test/testdata/template2/template.info.txt b/lib/plugins/extension/_test/testdata/template2/template.info.txt new file mode 100644 index 000000000..882a7b914 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/template2/template.info.txt @@ -0,0 +1,7 @@ +base template2 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Template +desc Dummy template data +url http://example.com/template:template2 diff --git a/lib/plugins/extension/_test/testdata/tplfoo5/template.info.txt b/lib/plugins/extension/_test/testdata/tplfoo5/template.info.txt new file mode 100644 index 000000000..4d7ecb8ef --- /dev/null +++ b/lib/plugins/extension/_test/testdata/tplfoo5/template.info.txt @@ -0,0 +1,7 @@ +base template5 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Template +desc Dummy template data +url http://example.com/template:template5 diff --git a/lib/plugins/extension/_test/testdata/tplsub3/template3/main.php b/lib/plugins/extension/_test/testdata/tplsub3/template3/main.php new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/tplsub3/template3/main.php diff --git a/lib/plugins/extension/_test/testdata/tplsub3/template3/style.ini b/lib/plugins/extension/_test/testdata/tplsub3/template3/style.ini new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/lib/plugins/extension/_test/testdata/tplsub3/template3/style.ini diff --git a/lib/plugins/extension/_test/testdata/tplsub4/template4/template.info.txt b/lib/plugins/extension/_test/testdata/tplsub4/template4/template.info.txt new file mode 100644 index 000000000..f050555e5 --- /dev/null +++ b/lib/plugins/extension/_test/testdata/tplsub4/template4/template.info.txt @@ -0,0 +1,7 @@ +base template4 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Template +desc Dummy template data +url http://example.com/template:template4 diff --git a/lib/plugins/extension/_test/testdata/tplsub6/tplfoo6/template.info.txt b/lib/plugins/extension/_test/testdata/tplsub6/tplfoo6/template.info.txt new file mode 100644 index 000000000..ea4dc230d --- /dev/null +++ b/lib/plugins/extension/_test/testdata/tplsub6/tplfoo6/template.info.txt @@ -0,0 +1,7 @@ +base template6 +author Andreas Gohr +email andi@splitbrain.org +date 2013-05-02 +name Dummy Template +desc Dummy template data +url http://example.com/template:template6 diff --git a/lib/plugins/extension/action.php b/lib/plugins/extension/action.php new file mode 100644 index 000000000..9e48f134b --- /dev/null +++ b/lib/plugins/extension/action.php @@ -0,0 +1,85 @@ +<?php +/** DokuWiki Plugin extension (Action Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class action_plugin_extension extends DokuWiki_Action_Plugin { + + /** + * Registers a callback function for a given event + * + * @param Doku_Event_Handler $controller DokuWiki's event controller object + * @return void + */ + public function register(Doku_Event_Handler $controller) { + + $controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'info'); + + } + + /** + * Create the detail info for a single plugin + * + * @param Doku_Event $event + * @param $param + */ + public function info(Doku_Event &$event, $param) { + global $USERINFO; + global $INPUT; + + if($event->data != 'plugin_extension') return; + $event->preventDefault(); + $event->stopPropagation(); + + if(empty($_SERVER['REMOTE_USER']) || !auth_isadmin($_SERVER['REMOTE_USER'], $USERINFO['grps'])) { + http_status(403); + echo 'Forbidden'; + exit; + } + + $ext = $INPUT->str('ext'); + if(!$ext) { + http_status(400); + echo 'no extension given'; + return; + } + + /** @var helper_plugin_extension_extension $extension */ + $extension = plugin_load('helper', 'extension_extension'); + $extension->setExtension($ext); + + $act = $INPUT->str('act'); + switch($act) { + case 'enable': + case 'disable': + $json = new JSON(); + $extension->$act(); //enables/disables + + $reverse = ($act == 'disable') ? 'enable' : 'disable'; + + $return = array( + 'state' => $act.'d', // isn't English wonderful? :-) + 'reverse' => $reverse, + 'label' => $extension->getLang('btn_'.$reverse) + ); + + header('Content-Type: application/json'); + echo $json->encode($return); + break; + + case 'info': + default: + /** @var helper_plugin_extension_list $list */ + $list = plugin_load('helper', 'extension_list'); + header('Content-Type: text/html; charset=utf-8'); + echo $list->make_info($extension); + } + } + +} + diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php new file mode 100644 index 000000000..71257cf43 --- /dev/null +++ b/lib/plugins/extension/admin.php @@ -0,0 +1,159 @@ +<?php +/** + * DokuWiki Plugin extension (Admin Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Admin part of the extension manager + */ +class admin_plugin_extension extends DokuWiki_Admin_Plugin { + protected $infoFor = null; + /** @var helper_plugin_extension_gui */ + protected $gui; + + /** + * Constructor + * + * loads additional helpers + */ + public function __construct() { + $this->gui = plugin_load('helper', 'extension_gui'); + } + + /** + * @return int sort number in admin menu + */ + public function getMenuSort() { + return 0; + } + + /** + * @return bool true if only access for superuser, false is for superusers and moderators + */ + public function forAdminOnly() { + return true; + } + + /** + * Execute the requested action(s) and initialize the plugin repository + */ + public function handle() { + global $INPUT; + // initialize the remote repository + /* @var helper_plugin_extension_repository $repository */ + $repository = $this->loadHelper('extension_repository'); + + if(!$repository->hasAccess()) { + $url = $this->gui->tabURL('', array('purge' => 1)); + msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1); + } + + if(!in_array('ssl', stream_get_transports())) { + msg($this->getLang('nossl'), -1); + } + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + + try { + if($INPUT->post->has('fn') && checkSecurityToken()) { + $actions = $INPUT->post->arr('fn'); + foreach($actions as $action => $extensions) { + foreach($extensions as $extname => $label) { + switch($action) { + case 'install': + case 'reinstall': + case 'update': + $extension->setExtension($extname); + $installed = $extension->installOrUpdate(); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + break; + case 'uninstall': + $extension->setExtension($extname); + $status = $extension->uninstall(); + if($status) { + msg(sprintf($this->getLang('msg_delete_success'), hsc($extension->getDisplayName())), 1); + } else { + msg(sprintf($this->getLang('msg_delete_failed'), hsc($extension->getDisplayName())), -1); + } + break; + case 'enable'; + $extension->setExtension($extname); + $status = $extension->enable(); + if($status !== true) { + msg($status, -1); + } else { + msg(sprintf($this->getLang('msg_enabled'), hsc($extension->getDisplayName())), 1); + } + break; + case 'disable'; + $extension->setExtension($extname); + $status = $extension->disable(); + if($status !== true) { + msg($status, -1); + } else { + msg(sprintf($this->getLang('msg_disabled'), hsc($extension->getDisplayName())), 1); + } + break; + } + } + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } elseif($INPUT->post->str('installurl') && checkSecurityToken()) { + $installed = $extension->installFromURL($INPUT->post->str('installurl')); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } elseif(isset($_FILES['installfile']) && checkSecurityToken()) { + $installed = $extension->installFromUpload('installfile'); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } + + } catch(Exception $e) { + msg($e->getMessage(), -1); + send_redirect($this->gui->tabURL('', array(), '&', true)); + } + + } + + /** + * Render HTML output + */ + public function html() { + ptln('<h1>'.$this->getLang('menu').'</h1>'); + ptln('<div id="extension__manager">'); + + $this->gui->tabNavigation(); + + switch($this->gui->currentTab()) { + case 'search': + $this->gui->tabSearch(); + break; + case 'templates': + $this->gui->tabTemplates(); + break; + case 'install': + $this->gui->tabInstall(); + break; + case 'plugins': + default: + $this->gui->tabPlugins(); + } + + ptln('</div>'); + } +} + +// vim:ts=4:sw=4:et:
\ No newline at end of file diff --git a/lib/plugins/extension/all.less b/lib/plugins/extension/all.less new file mode 100644 index 000000000..3d9688e14 --- /dev/null +++ b/lib/plugins/extension/all.less @@ -0,0 +1,37 @@ + +@media only screen and (max-width: 600px) { + +#extension__list .legend { + > div { + padding-left: 0; + } + + div.screenshot { + margin: 0 .5em .5em 0; + } + + h2 { + width: auto; + float: none; + } + + div.linkbar { + clear: left; + } +} + +[dir=rtl] #extension__list .legend { + > div { + padding-right: 0; + } + + div.screenshot { + margin: 0 0 .5em .5em; + } + + div.linkbar { + clear: right; + } +} + +} /* /@media */ diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php new file mode 100644 index 000000000..6c0946b09 --- /dev/null +++ b/lib/plugins/extension/helper/extension.php @@ -0,0 +1,1131 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); +if(!defined('DOKU_TPLLIB')) define('DOKU_TPLLIB', DOKU_INC.'lib/tpl/'); + +/** + * Class helper_plugin_extension_extension represents a single extension (plugin or template) + */ +class helper_plugin_extension_extension extends DokuWiki_Plugin { + private $id; + private $base; + private $is_template = false; + private $localInfo; + private $remoteInfo; + private $managerData; + /** @var helper_plugin_extension_repository $repository */ + private $repository = null; + + /** @var array list of temporary directories */ + private $temporary = array(); + + /** + * Destructor + * + * deletes any dangling temporary directories + */ + public function __destruct() { + foreach($this->temporary as $dir){ + io_rmdir($dir, true); + } + } + + /** + * @return bool false, this component is not a singleton + */ + public function isSingleton() { + return false; + } + + /** + * Set the name of the extension this instance shall represents, triggers loading the local and remote data + * + * @param string $id The id of the extension (prefixed with template: for templates) + * @return bool If some (local or remote) data was found + */ + public function setExtension($id) { + $this->id = $id; + $this->base = $id; + + if(substr($id, 0 , 9) == 'template:'){ + $this->base = substr($id, 9); + $this->is_template = true; + } else { + $this->is_template = false; + } + + $this->localInfo = array(); + $this->managerData = array(); + $this->remoteInfo = array(); + + if ($this->isInstalled()) { + $this->readLocalData(); + $this->readManagerData(); + } + + if ($this->repository == null) { + $this->repository = $this->loadHelper('extension_repository'); + } + + $this->remoteInfo = $this->repository->getData($this->getID()); + + return ($this->localInfo || $this->remoteInfo); + } + + /** + * If the extension is installed locally + * + * @return bool If the extension is installed locally + */ + public function isInstalled() { + return is_dir($this->getInstallDir()); + } + + /** + * If the extension is under git control + * + * @return bool + */ + public function isGitControlled() { + if(!$this->isInstalled()) return false; + return is_dir($this->getInstallDir().'/.git'); + } + + /** + * If the extension is bundled + * + * @return bool If the extension is bundled + */ + public function isBundled() { + if (!empty($this->remoteInfo['bundled'])) return $this->remoteInfo['bundled']; + return in_array($this->base, + array( + 'authad', 'authldap', 'authmysql', 'authpgsql', 'authplain', 'acl', 'info', 'extension', + 'revert', 'popularity', 'config', 'safefnrecode', 'testing', 'template:dokuwiki' + ) + ); + } + + /** + * If the extension is protected against any modification (disable/uninstall) + * + * @return bool if the extension is protected + */ + public function isProtected() { + // never allow deinstalling the current auth plugin: + global $conf; + if ($this->id == $conf['authtype']) return true; + + /** @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $cascade = $plugin_controller->getCascade(); + return (isset($cascade['protected'][$this->id]) && $cascade['protected'][$this->id]); + } + + /** + * If the extension is installed in the correct directory + * + * @return bool If the extension is installed in the correct directory + */ + public function isInWrongFolder() { + return $this->base != $this->getBase(); + } + + /** + * If the extension is enabled + * + * @return bool If the extension is enabled + */ + public function isEnabled() { + global $conf; + if($this->isTemplate()){ + return ($conf['template'] == $this->getBase()); + } + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + return !$plugin_controller->isdisabled($this->base); + } + + /** + * If the extension should be updated, i.e. if an updated version is available + * + * @return bool If an update is available + */ + public function updateAvailable() { + if(!$this->isInstalled()) return false; + if($this->isBundled()) return false; + $lastupdate = $this->getLastUpdate(); + if ($lastupdate === false) return false; + $installed = $this->getInstalledVersion(); + if ($installed === false || $installed === $this->getLang('unknownversion')) return true; + return $this->getInstalledVersion() < $this->getLastUpdate(); + } + + /** + * If the extension is a template + * + * @return bool If this extension is a template + */ + public function isTemplate() { + return $this->is_template; + } + + /** + * Get the ID of the extension + * + * This is the same as getName() for plugins, for templates it's getName() prefixed with 'template:' + * + * @return string + */ + public function getID() { + return $this->id; + } + + /** + * Get the name of the installation directory + * + * @return string The name of the installation directory + */ + public function getInstallName() { + return $this->base; + } + + // Data from plugin.info.txt/template.info.txt or the repo when not available locally + /** + * Get the basename of the extension + * + * @return string The basename + */ + public function getBase() { + if (!empty($this->localInfo['base'])) return $this->localInfo['base']; + return $this->base; + } + + /** + * Get the display name of the extension + * + * @return string The display name + */ + public function getDisplayName() { + if (!empty($this->localInfo['name'])) return $this->localInfo['name']; + if (!empty($this->remoteInfo['name'])) return $this->remoteInfo['name']; + return $this->base; + } + + /** + * Get the author name of the extension + * + * @return string|bool The name of the author or false if there is none + */ + public function getAuthor() { + if (!empty($this->localInfo['author'])) return $this->localInfo['author']; + if (!empty($this->remoteInfo['author'])) return $this->remoteInfo['author']; + return false; + } + + /** + * Get the email of the author of the extension if there is any + * + * @return string|bool The email address or false if there is none + */ + public function getEmail() { + // email is only in the local data + if (!empty($this->localInfo['email'])) return $this->localInfo['email']; + return false; + } + + /** + * Get the email id, i.e. the md5sum of the email + * + * @return string|bool The md5sum of the email if there is any, false otherwise + */ + public function getEmailID() { + if (!empty($this->remoteInfo['emailid'])) return $this->remoteInfo['emailid']; + if (!empty($this->localInfo['email'])) return md5($this->localInfo['email']); + return false; + } + + /** + * Get the description of the extension + * + * @return string The description + */ + public function getDescription() { + if (!empty($this->localInfo['desc'])) return $this->localInfo['desc']; + if (!empty($this->remoteInfo['description'])) return $this->remoteInfo['description']; + return ''; + } + + /** + * Get the URL of the extension, usually a page on dokuwiki.org + * + * @return string The URL + */ + public function getURL() { + if (!empty($this->localInfo['url'])) return $this->localInfo['url']; + return 'https://www.dokuwiki.org/'.($this->isTemplate() ? 'template' : 'plugin').':'.$this->getBase(); + } + + /** + * Get the installed version of the extension + * + * @return string|bool The version, usually in the form yyyy-mm-dd if there is any + */ + public function getInstalledVersion() { + if (!empty($this->localInfo['date'])) return $this->localInfo['date']; + if ($this->isInstalled()) return $this->getLang('unknownversion'); + return false; + } + + /** + * Get the install date of the current version + * + * @return string|bool The date of the last update or false if not available + */ + public function getUpdateDate() { + if (!empty($this->managerData['updated'])) return $this->managerData['updated']; + return $this->getInstallDate(); + } + + /** + * Get the date of the installation of the plugin + * + * @return string|bool The date of the installation or false if not available + */ + public function getInstallDate() { + if (!empty($this->managerData['installed'])) return $this->managerData['installed']; + return false; + } + + /** + * Get the names of the dependencies of this extension + * + * @return array The base names of the dependencies + */ + public function getDependencies() { + if (!empty($this->remoteInfo['dependencies'])) return $this->remoteInfo['dependencies']; + return array(); + } + + /** + * Get the names of the missing dependencies + * + * @return array The base names of the missing dependencies + */ + public function getMissingDependencies() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $dependencies = $this->getDependencies(); + $missing_dependencies = array(); + foreach ($dependencies as $dependency) { + if ($plugin_controller->isdisabled($dependency)) { + $missing_dependencies[] = $dependency; + } + } + return $missing_dependencies; + } + + /** + * Get the names of all conflicting extensions + * + * @return array The names of the conflicting extensions + */ + public function getConflicts() { + if (!empty($this->remoteInfo['conflicts'])) return $this->remoteInfo['dependencies']; + return array(); + } + + /** + * Get the names of similar extensions + * + * @return array The names of similar extensions + */ + public function getSimilarExtensions() { + if (!empty($this->remoteInfo['similar'])) return $this->remoteInfo['similar']; + return array(); + } + + /** + * Get the names of the tags of the extension + * + * @return array The names of the tags of the extension + */ + public function getTags() { + if (!empty($this->remoteInfo['tags'])) return $this->remoteInfo['tags']; + return array(); + } + + /** + * Get the popularity information as floating point number [0,1] + * + * @return float|bool The popularity information or false if it isn't available + */ + public function getPopularity() { + if (!empty($this->remoteInfo['popularity'])) return $this->remoteInfo['popularity']; + return false; + } + + + /** + * Get the text of the security warning if there is any + * + * @return string|bool The security warning if there is any, false otherwise + */ + public function getSecurityWarning() { + if (!empty($this->remoteInfo['securitywarning'])) return $this->remoteInfo['securitywarning']; + return false; + } + + /** + * Get the text of the security issue if there is any + * + * @return string|bool The security issue if there is any, false otherwise + */ + public function getSecurityIssue() { + if (!empty($this->remoteInfo['securityissue'])) return $this->remoteInfo['securityissue']; + return false; + } + + /** + * Get the URL of the screenshot of the extension if there is any + * + * @return string|bool The screenshot URL if there is any, false otherwise + */ + public function getScreenshotURL() { + if (!empty($this->remoteInfo['screenshoturl'])) return $this->remoteInfo['screenshoturl']; + return false; + } + + /** + * Get the URL of the thumbnail of the extension if there is any + * + * @return string|bool The thumbnail URL if there is any, false otherwise + */ + public function getThumbnailURL() { + if (!empty($this->remoteInfo['thumbnailurl'])) return $this->remoteInfo['thumbnailurl']; + return false; + } + /** + * Get the last used download URL of the extension if there is any + * + * @return string|bool The previously used download URL, false if the extension has been installed manually + */ + public function getLastDownloadURL() { + if (!empty($this->managerData['downloadurl'])) return $this->managerData['downloadurl']; + return false; + } + + /** + * Get the download URL of the extension if there is any + * + * @return string|bool The download URL if there is any, false otherwise + */ + public function getDownloadURL() { + if (!empty($this->remoteInfo['downloadurl'])) return $this->remoteInfo['downloadurl']; + return false; + } + + /** + * If the download URL has changed since the last download + * + * @return bool If the download URL has changed + */ + public function hasDownloadURLChanged() { + $lasturl = $this->getLastDownloadURL(); + $currenturl = $this->getDownloadURL(); + return ($lasturl && $currenturl && $lasturl != $currenturl); + } + + /** + * Get the bug tracker URL of the extension if there is any + * + * @return string|bool The bug tracker URL if there is any, false otherwise + */ + public function getBugtrackerURL() { + if (!empty($this->remoteInfo['bugtracker'])) return $this->remoteInfo['bugtracker']; + return false; + } + + /** + * Get the URL of the source repository if there is any + * + * @return string|bool The URL of the source repository if there is any, false otherwise + */ + public function getSourcerepoURL() { + if (!empty($this->remoteInfo['sourcerepo'])) return $this->remoteInfo['sourcerepo']; + return false; + } + + /** + * Get the donation URL of the extension if there is any + * + * @return string|bool The donation URL if there is any, false otherwise + */ + public function getDonationURL() { + if (!empty($this->remoteInfo['donationurl'])) return $this->remoteInfo['donationurl']; + return false; + } + + /** + * Get the extension type(s) + * + * @return array The type(s) as array of strings + */ + public function getTypes() { + if (!empty($this->remoteInfo['types'])) return $this->remoteInfo['types']; + if ($this->isTemplate()) return array(32 => 'template'); + return array(); + } + + /** + * Get a list of all DokuWiki versions this extension is compatible with + * + * @return array The versions in the form yyyy-mm-dd => ('label' => label, 'implicit' => implicit) + */ + public function getCompatibleVersions() { + if (!empty($this->remoteInfo['compatible'])) return $this->remoteInfo['compatible']; + return array(); + } + + /** + * Get the date of the last available update + * + * @return string|bool The last available update in the form yyyy-mm-dd if there is any, false otherwise + */ + public function getLastUpdate() { + if (!empty($this->remoteInfo['lastupdate'])) return $this->remoteInfo['lastupdate']; + return false; + } + + /** + * Get the base path of the extension + * + * @return string The base path of the extension + */ + public function getInstallDir() { + if ($this->isTemplate()) { + return DOKU_TPLLIB.$this->base; + } else { + return DOKU_PLUGIN.$this->base; + } + } + + /** + * The type of extension installation + * + * @return string One of "none", "manual", "git" or "automatic" + */ + public function getInstallType() { + if (!$this->isInstalled()) return 'none'; + if (!empty($this->managerData)) return 'automatic'; + if (is_dir($this->getInstallDir().'/.git')) return 'git'; + return 'manual'; + } + + /** + * If the extension can probably be installed/updated or uninstalled + * + * @return bool|string True or error string + */ + public function canModify() { + if($this->isInstalled()) { + if(!is_writable($this->getInstallDir())) { + return 'noperms'; + } + } + + if($this->isTemplate() && !is_writable(DOKU_TPLLIB)) { + return 'notplperms'; + + } elseif(!is_writable(DOKU_PLUGIN)) { + return 'nopluginperms'; + } + return true; + } + + /** + * Install an extension from a user upload + * + * @param string $field name of the upload file + * @throws Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installFromUpload($field){ + if($_FILES[$field]['error']){ + throw new Exception($this->getLang('msg_upload_failed').' ('.$_FILES[$field]['error'].')'); + } + + $tmp = $this->mkTmpDir(); + if(!$tmp) throw new Exception($this->getLang('error_dircreate')); + + // filename may contain the plugin name for old style plugins... + $basename = basename($_FILES[$field]['name']); + $basename = preg_replace('/\.(tar\.gz|tar\.bz|tar\.bz2|tar|tgz|tbz|zip)$/', '', $basename); + $basename = preg_replace('/[\W]+/', '', $basename); + + if(!move_uploaded_file($_FILES[$field]['tmp_name'], "$tmp/upload.archive")){ + throw new Exception($this->getLang('msg_upload_failed')); + } + + try { + $installed = $this->installArchive("$tmp/upload.archive", true, $basename); + $this->updateManagerData('', $installed); + // purge cache + $this->purgeCache(); + }catch (Exception $e){ + throw $e; + } + return $installed; + } + + /** + * Install an extension from a remote URL + * + * @param string $url + * @throws Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installFromURL($url){ + try { + $path = $this->download($url); + $installed = $this->installArchive($path, true); + $this->updateManagerData($url, $installed); + + // purge cache + $this->purgeCache(); + }catch (Exception $e){ + throw $e; + } + return $installed; + } + + /** + * Install or update the extension + * + * @throws \Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installOrUpdate() { + $url = $this->getDownloadURL(); + $path = $this->download($url); + $installed = $this->installArchive($path, $this->isInstalled(), $this->getBase()); + $this->updateManagerData($url, $installed); + + // refresh extension information + if (!isset($installed[$this->getID()])) { + throw new Exception('Error, the requested extension hasn\'t been installed or updated'); + } + $this->setExtension($this->getID()); + $this->purgeCache(); + return $installed; + } + + /** + * Uninstall the extension + * + * @return bool If the plugin was sucessfully uninstalled + */ + public function uninstall() { + $this->purgeCache(); + return io_rmdir($this->getInstallDir(), true); + } + + /** + * Enable the extension + * + * @return bool|string True or an error message + */ + public function enable() { + if ($this->isTemplate()) return $this->getLang('notimplemented'); + if (!$this->isInstalled()) return $this->getLang('notinstalled'); + if ($this->isEnabled()) return $this->getLang('alreadyenabled'); + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if ($plugin_controller->enable($this->base)) { + $this->purgeCache(); + return true; + } else { + return $this->getLang('pluginlistsaveerror'); + } + } + + /** + * Disable the extension + * + * @return bool|string True or an error message + */ + public function disable() { + if ($this->isTemplate()) return $this->getLang('notimplemented'); + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if (!$this->isInstalled()) return $this->getLang('notinstalled'); + if (!$this->isEnabled()) return $this->getLang('alreadydisabled'); + if ($plugin_controller->disable($this->base)) { + $this->purgeCache(); + return true; + } else { + return $this->getLang('pluginlistsaveerror'); + } + } + + /** + * Purge the cache by touching the main configuration file + */ + protected function purgeCache() { + global $config_cascade; + + // expire dokuwiki caches + // touching local.php expires wiki page, JS and CSS caches + @touch(reset($config_cascade['main']['local'])); + } + + /** + * Read local extension data either from info.txt or getInfo() + */ + protected function readLocalData() { + if ($this->isTemplate()) { + $infopath = $this->getInstallDir().'/template.info.txt'; + } else { + $infopath = $this->getInstallDir().'/plugin.info.txt'; + } + + if (is_readable($infopath)) { + $this->localInfo = confToHash($infopath); + } elseif (!$this->isTemplate() && $this->isEnabled()) { + global $plugin_types; + $path = $this->getInstallDir().'/'; + $plugin = null; + + foreach($plugin_types as $type) { + if(file_exists($path.$type.'.php')) { + $plugin = plugin_load($type, $this->base); + if ($plugin) break; + } + + if($dh = @opendir($path.$type.'/')) { + while(false !== ($cp = readdir($dh))) { + if($cp == '.' || $cp == '..' || strtolower(substr($cp, -4)) != '.php') continue; + + $plugin = plugin_load($type, $this->base.'_'.substr($cp, 0, -4)); + if ($plugin) break; + } + if ($plugin) break; + closedir($dh); + } + } + + if ($plugin) { + /* @var DokuWiki_Plugin $plugin */ + $this->localInfo = $plugin->getInfo(); + } + } + } + + /** + * Save the given URL and current datetime in the manager.dat file of all installed extensions + * + * @param string $url Where the extension was downloaded from. (empty for manual installs via upload) + * @param array $installed Optional list of installed plugins + */ + protected function updateManagerData($url = '', $installed = null) { + $origID = $this->getID(); + + if(is_null($installed)) { + $installed = array($origID); + } + + foreach($installed as $ext => $info) { + if($this->getID() != $ext) $this->setExtension($ext); + if($url) { + $this->managerData['downloadurl'] = $url; + } elseif(isset($this->managerData['downloadurl'])) { + unset($this->managerData['downloadurl']); + } + if(isset($this->managerData['installed'])) { + $this->managerData['updated'] = date('r'); + } else { + $this->managerData['installed'] = date('r'); + } + $this->writeManagerData(); + } + + if($this->getID() != $origID) $this->setExtension($origID); + } + + /** + * Read the manager.dat file + */ + protected function readManagerData() { + $managerpath = $this->getInstallDir().'/manager.dat'; + if (is_readable($managerpath)) { + $file = @file($managerpath); + if(!empty($file)) { + foreach($file as $line) { + list($key, $value) = explode('=', trim($line, DOKU_LF), 2); + $key = trim($key); + $value = trim($value); + // backwards compatible with old plugin manager + if($key == 'url') $key = 'downloadurl'; + $this->managerData[$key] = $value; + } + } + } + } + + /** + * Write the manager.data file + */ + protected function writeManagerData() { + $managerpath = $this->getInstallDir().'/manager.dat'; + $data = ''; + foreach ($this->managerData as $k => $v) { + $data .= $k.'='.$v.DOKU_LF; + } + io_saveFile($managerpath, $data); + } + + /** + * Returns a temporary directory + * + * The directory is registered for cleanup when the class is destroyed + * + * @return false|string + */ + protected function mkTmpDir(){ + $dir = io_mktmpdir(); + if(!$dir) return false; + $this->temporary[] = $dir; + return $dir; + } + + /** + * Download an archive to a protected path + * + * @param string $url The url to get the archive from + * @throws Exception when something goes wrong + * @return string The path where the archive was saved + */ + public function download($url) { + // check the url + if(!preg_match('/https?:\/\//i', $url)){ + throw new Exception($this->getLang('error_badurl')); + } + + // try to get the file from the path (used as plugin name fallback) + $file = parse_url($url, PHP_URL_PATH); + if(is_null($file)){ + $file = md5($url); + }else{ + $file = utf8_basename($file); + } + + // create tmp directory for download + if(!($tmp = $this->mkTmpDir())) { + throw new Exception($this->getLang('error_dircreate')); + } + + // download + if(!$file = io_download($url, $tmp.'/', true, $file, 0)) { + io_rmdir($tmp, true); + throw new Exception(sprintf($this->getLang('error_download'), '<bdi>'.hsc($url).'</bdi>')); + } + + return $tmp.'/'.$file; + } + + /** + * @param string $file The path to the archive that shall be installed + * @param bool $overwrite If an already installed plugin should be overwritten + * @param string $base The basename of the plugin if it's known + * @throws Exception when something went wrong + * @return array list of installed extensions + */ + public function installArchive($file, $overwrite=false, $base = '') { + $installed_extensions = array(); + + // create tmp directory for decompression + if(!($tmp = $this->mkTmpDir())) { + throw new Exception($this->getLang('error_dircreate')); + } + + // add default base folder if specified to handle case where zip doesn't contain this + if($base && !@mkdir($tmp.'/'.$base)) { + throw new Exception($this->getLang('error_dircreate')); + } + + // decompress + $this->decompress($file, "$tmp/".$base); + + // search $tmp/$base for the folder(s) that has been created + // move the folder(s) to lib/.. + $result = array('old'=>array(), 'new'=>array()); + $default = ($this->isTemplate() ? 'template' : 'plugin'); + if(!$this->find_folders($result, $tmp.'/'.$base, $default)) { + throw new Exception($this->getLang('error_findfolder')); + } + + // choose correct result array + if(count($result['new'])) { + $install = $result['new']; + }else{ + $install = $result['old']; + } + + if(!count($install)){ + throw new Exception($this->getLang('error_findfolder')); + } + + // now install all found items + foreach($install as $item) { + // where to install? + if($item['type'] == 'template') { + $target_base_dir = DOKU_TPLLIB; + }else{ + $target_base_dir = DOKU_PLUGIN; + } + + if(!empty($item['base'])) { + // use base set in info.txt + } elseif($base && count($install) == 1) { + $item['base'] = $base; + } else { + // default - use directory as found in zip + // plugins from github/master without *.info.txt will install in wrong folder + // but using $info->id will make 'code3' fail (which should install in lib/code/..) + $item['base'] = basename($item['tmp']); + } + + // check to make sure we aren't overwriting anything + $target = $target_base_dir.$item['base']; + if(!$overwrite && file_exists($target)) { + // TODO remember our settings, ask the user to confirm overwrite + continue; + } + + $action = file_exists($target) ? 'update' : 'install'; + + // copy action + if($this->dircopy($item['tmp'], $target)) { + // return info + $id = $item['base']; + if($item['type'] == 'template') $id = 'template:'.$id; + $installed_extensions[$id] = array( + 'base' => $item['base'], + 'type' => $item['type'], + 'action' => $action + ); + } else { + throw new Exception(sprintf($this->getLang('error_copy').DOKU_LF, '<bdi>'.$item['base'].'</bdi>')); + } + } + + // cleanup + if($tmp) io_rmdir($tmp, true); + + return $installed_extensions; + } + + /** + * Find out what was in the extracted directory + * + * Correct folders are searched recursively using the "*.info.txt" configs + * as indicator for a root folder. When such a file is found, it's base + * setting is used (when set). All folders found by this method are stored + * in the 'new' key of the $result array. + * + * For backwards compatibility all found top level folders are stored as + * in the 'old' key of the $result array. + * + * When no items are found in 'new' the copy mechanism should fall back + * the 'old' list. + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param array $result - results are stored here + * @param string $directory - the temp directory where the package was unpacked to + * @param string $default_type - type used if no info.txt available + * @param string $subdir - a subdirectory. do not set. used by recursion + * @return bool - false on error + */ + protected function find_folders(&$result, $directory, $default_type='plugin', $subdir='') { + $this_dir = "$directory$subdir"; + $dh = @opendir($this_dir); + if(!$dh) return false; + + $found_dirs = array(); + $found_files = 0; + $found_template_parts = 0; + while (false !== ($f = readdir($dh))) { + if($f == '.' || $f == '..') continue; + + if(is_dir("$this_dir/$f")) { + $found_dirs[] = "$subdir/$f"; + + } else { + // it's a file -> check for config + $found_files++; + switch ($f) { + case 'plugin.info.txt': + case 'template.info.txt': + // we have found a clear marker, save and return + $info = array(); + $type = explode('.', $f, 2); + $info['type'] = $type[0]; + $info['tmp'] = $this_dir; + $conf = confToHash("$this_dir/$f"); + $info['base'] = basename($conf['base']); + $result['new'][] = $info; + return true; + + case 'main.php': + case 'details.php': + case 'mediamanager.php': + case 'style.ini': + $found_template_parts++; + break; + } + } + } + closedir($dh); + + // files where found but no info.txt - use old method + if($found_files){ + $info = array(); + $info['tmp'] = $this_dir; + // does this look like a template or should we use the default type? + if($found_template_parts >= 2) { + $info['type'] = 'template'; + } else { + $info['type'] = $default_type; + } + + $result['old'][] = $info; + return true; + } + + // we have no files yet -> recurse + foreach ($found_dirs as $found_dir) { + $this->find_folders($result, $directory, $default_type, "$found_dir"); + } + return true; + } + + /** + * Decompress a given file to the given target directory + * + * Determines the compression type from the file extension + * + * @param string $file archive to extract + * @param string $target directory to extract to + * @throws Exception + * @return bool + */ + private function decompress($file, $target) { + // decompression library doesn't like target folders ending in "/" + if(substr($target, -1) == "/") $target = substr($target, 0, -1); + + $ext = $this->guess_archive($file); + if(in_array($ext, array('tar', 'bz', 'gz'))) { + switch($ext) { + case 'bz': + $compress_type = Tar::COMPRESS_BZIP; + break; + case 'gz': + $compress_type = Tar::COMPRESS_GZIP; + break; + default: + $compress_type = Tar::COMPRESS_NONE; + } + + $tar = new Tar(); + try { + $tar->open($file, $compress_type); + $tar->extract($target); + } catch (Exception $e) { + throw new Exception($this->getLang('error_decompress').' '.$e->getMessage()); + } + + return true; + } elseif($ext == 'zip') { + + $zip = new ZipLib(); + $ok = $zip->Extract($file, $target); + + if($ok == -1){ + throw new Exception($this->getLang('error_decompress').' Error extracting the zip archive'); + } + + return true; + } + + // the only case when we don't get one of the recognized archive types is when the archive file can't be read + throw new Exception($this->getLang('error_decompress').' Couldn\'t read archive file'); + } + + /** + * Determine the archive type of the given file + * + * Reads the first magic bytes of the given file for content type guessing, + * if neither bz, gz or zip are recognized, tar is assumed. + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param string $file The file to analyze + * @return string|false false if the file can't be read, otherwise an "extension" + */ + private function guess_archive($file) { + $fh = fopen($file, 'rb'); + if(!$fh) return false; + $magic = fread($fh, 5); + fclose($fh); + + if(strpos($magic, "\x42\x5a") === 0) return 'bz'; + if(strpos($magic, "\x1f\x8b") === 0) return 'gz'; + if(strpos($magic, "\x50\x4b\x03\x04") === 0) return 'zip'; + return 'tar'; + } + + /** + * Copy with recursive sub-directory support + * + * @param string $src filename path to file + * @param string $dst filename path to file + * @return bool|int|string + */ + private function dircopy($src, $dst) { + global $conf; + + if(is_dir($src)) { + if(!$dh = @opendir($src)) return false; + + if($ok = io_mkdir_p($dst)) { + while ($ok && (false !== ($f = readdir($dh)))) { + if($f == '..' || $f == '.') continue; + $ok = $this->dircopy("$src/$f", "$dst/$f"); + } + } + + closedir($dh); + return $ok; + + } else { + $exists = file_exists($dst); + + if(!@copy($src, $dst)) return false; + if(!$exists && !empty($conf['fperm'])) chmod($dst, $conf['fperm']); + @touch($dst, filemtime($src)); + } + + return true; + } +} + +// vim:ts=4:sw=4:et: diff --git a/lib/plugins/extension/helper/gui.php b/lib/plugins/extension/helper/gui.php new file mode 100644 index 000000000..3a0f0c589 --- /dev/null +++ b/lib/plugins/extension/helper/gui.php @@ -0,0 +1,193 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_list takes care of the overall GUI + */ +class helper_plugin_extension_gui extends DokuWiki_Plugin { + + protected $tabs = array('plugins', 'templates', 'search', 'install'); + + /** @var string the extension that should have an open info window FIXME currently broken */ + protected $infoFor = ''; + + /** + * Constructor + * + * initializes requested info window + */ + public function __construct() { + global $INPUT; + $this->infoFor = $INPUT->str('info'); + } + + /** + * display the plugin tab + */ + public function tabPlugins() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_plugins'); + echo '</div>'; + + $pluginlist = $plugin_controller->getList('', true); + sort($pluginlist); + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach($pluginlist as $name) { + $extension->setExtension($name); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + + /** + * Display the template tab + */ + public function tabTemplates() { + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_templates'); + echo '</div>'; + + // FIXME do we have a real way? + $tpllist = glob(DOKU_INC.'lib/tpl/*', GLOB_ONLYDIR); + $tpllist = array_map('basename', $tpllist); + sort($tpllist); + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach($tpllist as $name) { + $extension->setExtension("template:$name"); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + + /** + * Display the search tab + */ + public function tabSearch() { + global $INPUT; + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_search'); + echo '</div>'; + + $form = new Doku_Form(array('action' => $this->tabURL('', array(), '&'), 'class' => 'search')); + $form->addElement(form_makeTextField('q', $INPUT->str('q'), $this->getLang('search_for'))); + $form->addElement(form_makeButton('submit', '', $this->getLang('search'))); + $form->printForm(); + + if(!$INPUT->bool('q')) return; + + /* @var helper_plugin_extension_repository $repository FIXME should we use some gloabl instance? */ + $repository = $this->loadHelper('extension_repository'); + $result = $repository->search($INPUT->str('q')); + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + if($result){ + foreach($result as $name) { + $extension->setExtension($name); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + } else { + $list->nothing_found(); + } + $list->end_form(); + $list->render(); + + } + + /** + * Display the template tab + */ + public function tabInstall() { + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_install'); + echo '</div>'; + + $form = new Doku_Form(array('action' => $this->tabURL('', array(), '&'), 'enctype' => 'multipart/form-data', 'class' => 'install')); + $form->addElement(form_makeTextField('installurl', '', $this->getLang('install_url'), '', 'block')); + $form->addElement(form_makeFileField('installfile', $this->getLang('install_upload'), '', 'block')); + $form->addElement(form_makeButton('submit', '', $this->getLang('btn_install'))); + $form->printForm(); + } + + /** + * Print the tab navigation + * + * @fixme style active one + */ + public function tabNavigation() { + echo '<ul class="tabs">'; + foreach($this->tabs as $tab) { + $url = $this->tabURL($tab); + if($this->currentTab() == $tab) { + $class = 'class="active"'; + } else { + $class = ''; + } + echo '<li '.$class.'><a href="'.$url.'">'.$this->getLang('tab_'.$tab).'</a></li>'; + } + echo '</ul>'; + } + + /** + * Return the currently selected tab + * + * @return string + */ + public function currentTab() { + global $INPUT; + + $tab = $INPUT->str('tab', 'plugins', true); + if(!in_array($tab, $this->tabs)) $tab = 'plugins'; + return $tab; + } + + /** + * Create an URL inside the extension manager + * + * @param string $tab tab to load, empty for current tab + * @param array $params associative array of parameter to set + * @param string $sep seperator to build the URL + * @param bool $absolute create absolute URLs? + * @return string + */ + public function tabURL($tab = '', $params = array(), $sep = '&', $absolute = false) { + global $ID; + global $INPUT; + + if(!$tab) $tab = $this->currentTab(); + $defaults = array( + 'do' => 'admin', + 'page' => 'extension', + 'tab' => $tab, + ); + if($tab == 'search') $defaults['q'] = $INPUT->str('q'); + + return wl($ID, array_merge($defaults, $params), $absolute, $sep); + } + +} diff --git a/lib/plugins/extension/helper/list.php b/lib/plugins/extension/helper/list.php new file mode 100644 index 000000000..8bcd00ec6 --- /dev/null +++ b/lib/plugins/extension/helper/list.php @@ -0,0 +1,566 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_list takes care of creating a HTML list of extensions + */ +class helper_plugin_extension_list extends DokuWiki_Plugin { + protected $form = ''; + /** @var helper_plugin_extension_gui */ + protected $gui; + + /** + * Constructor + * + * loads additional helpers + */ + public function __construct(){ + $this->gui = plugin_load('helper', 'extension_gui'); + } + + function start_form() { + $this->form .= '<form id="extension__list" accept-charset="utf-8" method="post" action="">'; + $hidden = array( + 'do'=>'admin', + 'page'=>'extension', + 'sectok'=>getSecurityToken() + ); + $this->add_hidden($hidden); + $this->form .= '<ul class="extensionList">'; + } + /** + * Build single row of extension table + * @param helper_plugin_extension_extension $extension The extension that shall be added + * @param bool $showinfo Show the info area + */ + function add_row(helper_plugin_extension_extension $extension, $showinfo = false) { + $this->start_row($extension); + $this->populate_column('legend', $this->make_legend($extension, $showinfo)); + $this->populate_column('actions', $this->make_actions($extension)); + $this->end_row(); + } + + /** + * Adds a header to the form + * + * @param string $id The id of the header + * @param string $header The content of the header + * @param int $level The level of the header + */ + function add_header($id, $header, $level = 2) { + $this->form .='<h'.$level.' id="'.$id.'">'.hsc($header).'</h'.$level.'>'.DOKU_LF; + } + + /** + * Adds a paragraph to the form + * + * @param string $data The content + */ + function add_p($data) { + $this->form .= '<p>'.hsc($data).'</p>'.DOKU_LF; + } + + /** + * Add hidden fields to the form with the given data + * @param array $array + */ + function add_hidden(array $array) { + $this->form .= '<div class="no">'; + foreach ($array as $key => $value) { + $this->form .= '<input type="hidden" name="'.hsc($key).'" value="'.hsc($value).'" />'; + } + $this->form .= '</div>'.DOKU_LF; + } + + /** + * Add closing tags + */ + function end_form() { + $this->form .= '</ul>'; + $this->form .= '</form>'.DOKU_LF; + } + + /** + * Show message when no results are found + */ + function nothing_found() { + global $lang; + $this->form .= '<li class="notfound">'.$lang['nothingfound'].'</li>'; + } + + /** + * Print the form + */ + function render() { + echo $this->form; + } + + /** + * Start the HTML for the row for the extension + * + * @param helper_plugin_extension_extension $extension The extension + */ + private function start_row(helper_plugin_extension_extension $extension) { + $this->form .= '<li id="extensionplugin__'.hsc($extension->getID()).'" class="'.$this->make_class($extension).'">'; + } + + /** + * Add a column with the given class and content + * @param string $class The class name + * @param string $html The content + */ + private function populate_column($class, $html) { + $this->form .= '<div class="'.$class.' col">'.$html.'</div>'.DOKU_LF; + } + + /** + * End the row + */ + private function end_row() { + $this->form .= '</li>'.DOKU_LF; + } + + /** + * Generate the link to the plugin homepage + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_homepagelink(helper_plugin_extension_extension $extension) { + $text = $this->getLang('homepage_link'); + $url = hsc($extension->getURL()); + return '<a href="'.$url.'" title="'.$url.'" class ="urlextern">'.$text.'</a> '; + } + + /** + * Generate the class name for the row of the extensio + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The class name + */ + function make_class(helper_plugin_extension_extension $extension) { + $class = ($extension->isTemplate()) ? 'template' : 'plugin'; + if($extension->isInstalled()) { + $class.=' installed'; + $class.= ($extension->isEnabled()) ? ' enabled':' disabled'; + } + if(!$extension->canModify()) $class.= ' notselect'; + if($extension->isProtected()) $class.= ' protected'; + //if($this->showinfo) $class.= ' showinfo'; + return $class; + } + + /** + * Generate a link to the author of the extension + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The HTML code of the link + */ + function make_author(helper_plugin_extension_extension $extension) { + global $ID; + + if($extension->getAuthor()) { + + $mailid = $extension->getEmailID(); + if($mailid){ + $url = $this->gui->tabURL('search', array('q' => 'authorid:'.$mailid)); + return '<bdi><a href="'.$url.'" class="author" title="'.$this->getLang('author_hint').'" ><img src="//www.gravatar.com/avatar/'.$mailid.'?s=20&d=mm" width="20" height="20" alt="" /> '.hsc($extension->getAuthor()).'</a></bdi>'; + + }else{ + return '<bdi><span class="author">'.hsc($extension->getAuthor()).'</span></bdi>'; + } + } + return "<em class=\"author\">".$this->getLang('unknown_author')."</em>".DOKU_LF; + } + + /** + * Get the link and image tag for the screenshot/thumbnail + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The HTML code + */ + function make_screenshot(helper_plugin_extension_extension $extension) { + $screen = $extension->getScreenshotURL(); + $thumb = $extension->getThumbnailURL(); + + if($screen) { + // use protocol independent URLs for images coming from us #595 + $screen = str_replace('http://www.dokuwiki.org', '//www.dokuwiki.org', $screen); + $thumb = str_replace('http://www.dokuwiki.org', '//www.dokuwiki.org', $thumb); + + $title = sprintf($this->getLang('screenshot'), hsc($extension->getDisplayName())); + $img = '<a href="'.hsc($screen).'" target="_blank" class="extension_screenshot">'. + '<img alt="'.$title.'" width="120" height="70" src="'.hsc($thumb).'" />'. + '</a>'; + } elseif($extension->isTemplate()) { + $img = '<img alt="" width="120" height="70" src="'.DOKU_BASE.'lib/plugins/extension/images/template.png" />'; + + } else { + $img = '<img alt="" width="120" height="70" src="'.DOKU_BASE.'lib/plugins/extension/images/plugin.png" />'; + } + return '<div class="screenshot" >'.$img.'<span></span></div>'.DOKU_LF; + } + + /** + * Extension main description + * + * @param helper_plugin_extension_extension $extension The extension object + * @param bool $showinfo Show the info section + * @return string The HTML code + */ + function make_legend(helper_plugin_extension_extension $extension, $showinfo = false) { + $return = '<div>'; + $return .= '<h2>'; + $return .= sprintf($this->getLang('extensionby'), '<bdi>'.hsc($extension->getDisplayName()).'</bdi>', $this->make_author($extension)); + $return .= '</h2>'.DOKU_LF; + + $return .= $this->make_screenshot($extension); + + $popularity = $extension->getPopularity(); + if ($popularity !== false && !$extension->isBundled()) { + $popularityText = sprintf($this->getLang('popularity'), round($popularity*100, 2)); + $return .= '<div class="popularity" title="'.$popularityText.'"><div style="width: '.($popularity * 100).'%;"><span class="a11y">'.$popularityText.'</span></div></div>'.DOKU_LF; + } + + if($extension->getDescription()) { + $return .= '<p><bdi>'; + $return .= hsc($extension->getDescription()).' '; + $return .= '</bdi></p>'.DOKU_LF; + } + + $return .= $this->make_linkbar($extension); + + if($showinfo){ + $url = $this->gui->tabURL(''); + $class = 'close'; + }else{ + $url = $this->gui->tabURL('', array('info' => $extension->getID())); + $class = ''; + } + $return .= ' <a href="'.$url.'#extensionplugin__'.$extension->getID().'" class="info '.$class.'" title="'.$this->getLang('btn_info').'" data-extid="'.$extension->getID().'">'.$this->getLang('btn_info').'</a>'; + + if ($showinfo) { + $return .= $this->make_info($extension); + } + $return .= $this->make_noticearea($extension); + $return .= '</div>'.DOKU_LF; + return $return; + } + + /** + * Generate the link bar HTML code + * + * @param helper_plugin_extension_extension $extension The extension instance + * @return string The HTML code + */ + function make_linkbar(helper_plugin_extension_extension $extension) { + $return = '<div class="linkbar">'; + $return .= $this->make_homepagelink($extension); + if ($extension->getBugtrackerURL()) { + $return .= ' <a href="'.hsc($extension->getBugtrackerURL()).'" title="'.hsc($extension->getBugtrackerURL()).'" class ="interwiki iw_dokubug">'.$this->getLang('bugs_features').'</a> '; + } + if ($extension->getTags()){ + $first = true; + $return .= '<span class="tags">'.$this->getLang('tags').' '; + foreach ($extension->getTags() as $tag) { + if (!$first){ + $return .= ', '; + } else { + $first = false; + } + $url = $this->gui->tabURL('search', array('q' => 'tag:'.$tag)); + $return .= '<bdi><a href="'.$url.'">'.hsc($tag).'</a></bdi>'; + } + $return .= '</span>'; + } + $return .= '</div>'.DOKU_LF; + return $return; + } + + /** + * Notice area + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_noticearea(helper_plugin_extension_extension $extension) { + $return = ''; + $missing_dependencies = $extension->getMissingDependencies(); + if(!empty($missing_dependencies)) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('missing_dependency'), '<bdi>'.implode(', ', /*array_map(array($this->helper, 'make_extensionsearchlink'),*/ $missing_dependencies).'</bdi>'). + '</div>'; + } + if($extension->isInWrongFolder()) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('wrong_folder'), '<bdi>'.hsc($extension->getInstallName()).'</bdi>', '<bdi>'.hsc($extension->getBase()).'</bdi>'). + '</div>'; + } + if(($securityissue = $extension->getSecurityIssue()) !== false) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('security_issue'), '<bdi>'.hsc($securityissue).'</bdi>'). + '</div>'; + } + if(($securitywarning = $extension->getSecurityWarning()) !== false) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('security_warning'), '<bdi>'.hsc($securitywarning).'</bdi>'). + '</div>'; + } + if($extension->updateAvailable()) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('update_available'), hsc($extension->getLastUpdate())). + '</div>'; + } + if($extension->hasDownloadURLChanged()) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('url_change'), '<bdi>'.hsc($extension->getDownloadURL()).'</bdi>', '<bdi>'.hsc($extension->getLastDownloadURL()).'</bdi>'). + '</div>'; + } + return $return.DOKU_LF; + } + + /** + * Create a link from the given URL + * + * Shortens the URL for display + * + * @param string $url + * @return string HTML link + */ + function shortlink($url){ + $link = parse_url($url); + + $base = $link['host']; + if($link['port']) $base .= $base.':'.$link['port']; + $long = $link['path']; + if($link['query']) $long .= $link['query']; + + $name = shorten($base, $long, 55); + + return '<a href="'.hsc($url).'" class="urlextern">'.hsc($name).'</a>'; + } + + /** + * Plugin/template details + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_info(helper_plugin_extension_extension $extension) { + $default = $this->getLang('unknown'); + $return = '<dl class="details">'; + + $return .= '<dt>'.$this->getLang('status').'</dt>'; + $return .= '<dd>'.$this->make_status($extension).'</dd>'; + + if ($extension->getDonationURL()) { + $return .= '<dt>'.$this->getLang('donate').'</dt>'; + $return .= '<dd>'; + $return .= '<a href="'.$extension->getDonationURL().'" class="donate">'.$this->getLang('donate_action').'</a>'; + $return .= '</dd>'; + } + + if (!$extension->isBundled()) { + $return .= '<dt>'.$this->getLang('downloadurl').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getDownloadURL() ? $this->shortlink($extension->getDownloadURL()) : $default); + $return .= '</bdi></dd>'; + + $return .= '<dt>'.$this->getLang('repository').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getSourcerepoURL() ? $this->shortlink($extension->getSourcerepoURL()) : $default); + $return .= '</bdi></dd>'; + } + + if ($extension->isInstalled()) { + if ($extension->getInstalledVersion()) { + $return .= '<dt>'.$this->getLang('installed_version').'</dt>'; + $return .= '<dd>'; + $return .= hsc($extension->getInstalledVersion()); + $return .= '</dd>'; + } + if (!$extension->isBundled()) { + $return .= '<dt>'.$this->getLang('install_date').'</dt>'; + $return .= '<dd>'; + $return .= ($extension->getUpdateDate() ? hsc($extension->getUpdateDate()) : $this->getLang('unknown')); + $return .= '</dd>'; + } + } + if (!$extension->isInstalled() || $extension->updateAvailable()) { + $return .= '<dt>'.$this->getLang('available_version').'</dt>'; + $return .= '<dd>'; + $return .= ($extension->getLastUpdate() ? hsc($extension->getLastUpdate()) : $this->getLang('unknown')); + $return .= '</dd>'; + } + + $return .= '<dt>'.$this->getLang('provides').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getTypes() ? hsc(implode(', ', $extension->getTypes())) : $default); + $return .= '</bdi></dd>'; + + if(!$extension->isBundled() && $extension->getCompatibleVersions()) { + $return .= '<dt>'.$this->getLang('compatible').'</dt>'; + $return .= '<dd>'; + foreach ($extension->getCompatibleVersions() as $date => $version) { + $return .= '<bdi>'.$version['label'].' ('.$date.')</bdi>, '; + } + $return = rtrim($return, ', '); + $return .= '</dd>'; + } + if($extension->getDependencies()) { + $return .= '<dt>'.$this->getLang('depends').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getDependencies()); + $return .= '</dd>'; + } + + if($extension->getSimilarExtensions()) { + $return .= '<dt>'.$this->getLang('similar').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getSimilarExtensions()); + $return .= '</dd>'; + } + + if($extension->getConflicts()) { + $return .= '<dt>'.$this->getLang('conflicts').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getConflicts()); + $return .= '</dd>'; + } + $return .= '</dl>'.DOKU_LF; + return $return; + } + + /** + * Generate a list of links for extensions + * + * @param array $ext The extensions + * @return string The HTML code + */ + function make_linklist($ext) { + $return = ''; + foreach ($ext as $link) { + $return .= '<bdi><a href="'.$this->gui->tabURL('search', array('q'=>'ext:'.$link)).'">'.hsc($link).'</a></bdi>, '; + } + return rtrim($return, ', '); + } + + /** + * Display the action buttons if they are possible + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_actions(helper_plugin_extension_extension $extension) { + global $conf; + $return = ''; + $errors = ''; + + if ($extension->isInstalled()) { + if (($canmod = $extension->canModify()) === true) { + if (!$extension->isProtected()) { + $return .= $this->make_action('uninstall', $extension); + } + if ($extension->getDownloadURL()) { + if ($extension->updateAvailable()) { + $return .= $this->make_action('update', $extension); + } else { + $return .= $this->make_action('reinstall', $extension); + } + } + }else{ + $errors .= '<p class="permerror">'.$this->getLang($canmod).'</p>'; + } + + if (!$extension->isProtected() && !$extension->isTemplate()) { // no enable/disable for templates + if ($extension->isEnabled()) { + $return .= $this->make_action('disable', $extension); + } else { + $return .= $this->make_action('enable', $extension); + } + } + + if ($extension->isGitControlled()){ + $errors .= '<p class="permerror">'.$this->getLang('git').'</p>'; + } + + if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['authtype'] != $extension->getID()) { + $errors .= '<p class="permerror">'.$this->getLang('auth').'</p>'; + } + + }else{ + if (($canmod = $extension->canModify()) === true) { + if ($extension->getDownloadURL()) { + $return .= $this->make_action('install', $extension); + } + }else{ + $errors .= '<div class="permerror">'.$this->getLang($canmod).'</div>'; + } + } + + if (!$extension->isInstalled() && $extension->getDownloadURL()) { + $return .= ' <span class="version">'.$this->getLang('available_version').' '; + $return .= ($extension->getLastUpdate() ? hsc($extension->getLastUpdate()) : $this->getLang('unknown')).'</span>'; + } + + return $return.' '.$errors.DOKU_LF; + } + + /** + * Display an action button for an extension + * + * @param string $action The action + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_action($action, $extension) { + $title = ''; + + switch ($action) { + case 'install': + case 'reinstall': + $title = 'title="'.hsc($extension->getDownloadURL()).'"'; + break; + } + + $classes = 'button '.$action; + $name = 'fn['.$action.']['.hsc($extension->getID()).']'; + + return '<input class="'.$classes.'" name="'.$name.'" type="submit" value="'.$this->getLang('btn_'.$action).'" '.$title.' />'; + } + + /** + * Plugin/template status + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The description of all relevant statusses + */ + function make_status(helper_plugin_extension_extension $extension) { + $status = array(); + + + if ($extension->isInstalled()) { + $status[] = $this->getLang('status_installed'); + if ($extension->isProtected()) { + $status[] = $this->getLang('status_protected'); + } else { + $status[] = $extension->isEnabled() ? $this->getLang('status_enabled') : $this->getLang('status_disabled'); + } + } else { + $status[] = $this->getLang('status_not_installed'); + } + if(!$extension->canModify()) $status[] = $this->getLang('status_unmodifiable'); + if($extension->isBundled()) $status[] = $this->getLang('status_bundled'); + $status[] = $extension->isTemplate() ? $this->getLang('status_template') : $this->getLang('status_plugin'); + return join(', ', $status); + } + +} diff --git a/lib/plugins/extension/helper/repository.php b/lib/plugins/extension/helper/repository.php new file mode 100644 index 000000000..5dc2707cf --- /dev/null +++ b/lib/plugins/extension/helper/repository.php @@ -0,0 +1,191 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +#define('EXTENSION_REPOSITORY_API', 'http://localhost/dokuwiki/lib/plugins/pluginrepo/api.php'); + +if (!defined('EXTENSION_REPOSITORY_API_ENDPOINT')) + define('EXTENSION_REPOSITORY_API', 'http://www.dokuwiki.org/lib/plugins/pluginrepo/api.php'); + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_repository provides access to the extension repository on dokuwiki.org + */ +class helper_plugin_extension_repository extends DokuWiki_Plugin { + private $loaded_extensions = array(); + private $has_access = null; + /** + * Initialize the repository (cache), fetches data for all installed plugins + */ + public function init() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if ($this->hasAccess()) { + $list = $plugin_controller->getList('', true); + $request_data = array('fmt' => 'php'); + $request_needed = false; + foreach ($list as $name) { + $cache = new cache('##extension_manager##'.$name, '.repo'); + + if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) { + $this->loaded_extensions[$name] = true; + $request_data['ext'][] = $name; + $request_needed = true; + } + } + + if ($request_needed) { + $httpclient = new DokuHTTPClient(); + $data = $httpclient->post(EXTENSION_REPOSITORY_API, $request_data); + if ($data !== false) { + $extensions = unserialize($data); + foreach ($extensions as $extension) { + $cache = new cache('##extension_manager##'.$extension['plugin'], '.repo'); + $cache->storeCache(serialize($extension)); + } + } else { + $this->has_access = false; + } + } + } + } + + /** + * If repository access is available + * + * @return bool If repository access is available + */ + public function hasAccess() { + if ($this->has_access === null) { + $cache = new cache('##extension_manager###hasAccess', '.repo'); + + if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) { + $httpclient = new DokuHTTPClient(); + $httpclient->timeout = 5; + $data = $httpclient->get(EXTENSION_REPOSITORY_API.'?cmd=ping'); + if ($data !== false) { + $this->has_access = true; + $cache->storeCache(1); + } else { + $this->has_access = false; + $cache->storeCache(0); + } + } else { + $this->has_access = ($cache->retrieveCache(false) == 1); + } + } + return $this->has_access; + } + + /** + * Get the remote data of an individual plugin or template + * + * @param string $name The plugin name to get the data for, template names need to be prefix by 'template:' + * @return array The data or null if nothing was found (possibly no repository access) + */ + public function getData($name) { + $cache = new cache('##extension_manager##'.$name, '.repo'); + + if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) { + $this->loaded_extensions[$name] = true; + $httpclient = new DokuHTTPClient(); + $data = $httpclient->get(EXTENSION_REPOSITORY_API.'?fmt=php&ext[]='.urlencode($name)); + if ($data !== false) { + $result = unserialize($data); + $cache->storeCache(serialize($result[0])); + return $result[0]; + } else { + $this->has_access = false; + } + } + if (file_exists($cache->cache)) { + return unserialize($cache->retrieveCache(false)); + } + return array(); + } + + /** + * Search for plugins or templates using the given query string + * + * @param string $q the query string + * @return array a list of matching extensions + */ + public function search($q){ + $query = $this->parse_query($q); + $query['fmt'] = 'php'; + + $httpclient = new DokuHTTPClient(); + $data = $httpclient->post(EXTENSION_REPOSITORY_API, $query); + if ($data === false) return array(); + $result = unserialize($data); + + $ids = array(); + + // store cache info for each extension + foreach($result as $ext){ + $name = $ext['plugin']; + $cache = new cache('##extension_manager##'.$name, '.repo'); + $cache->storeCache(serialize($ext)); + $ids[] = $name; + } + + return $ids; + } + + /** + * Parses special queries from the query string + * + * @param string $q + * @return array + */ + protected function parse_query($q){ + $parameters = array( + 'tag' => array(), + 'mail' => array(), + 'type' => array(), + 'ext' => array() + ); + + // extract tags + if(preg_match_all('/(^|\s)(tag:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['tag'][] = $m[3]; + } + } + // extract author ids + if(preg_match_all('/(^|\s)(authorid:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['mail'][] = $m[3]; + } + } + // extract extensions + if(preg_match_all('/(^|\s)(ext:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['ext'][] = $m[3]; + } + } + // extract types + if(preg_match_all('/(^|\s)(type:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['type'][] = $m[3]; + } + } + + // FIXME make integer from type value + + $parameters['q'] = trim($q); + return $parameters; + } +} + +// vim:ts=4:sw=4:et: diff --git a/lib/plugins/extension/images/disabled.png b/lib/plugins/extension/images/disabled.png Binary files differnew file mode 100644 index 000000000..9c18b0452 --- /dev/null +++ b/lib/plugins/extension/images/disabled.png diff --git a/lib/plugins/extension/images/donate.png b/lib/plugins/extension/images/donate.png Binary files differnew file mode 100644 index 000000000..a76dfaaec --- /dev/null +++ b/lib/plugins/extension/images/donate.png diff --git a/lib/plugins/extension/images/down.png b/lib/plugins/extension/images/down.png Binary files differnew file mode 100644 index 000000000..8e399a97d --- /dev/null +++ b/lib/plugins/extension/images/down.png diff --git a/lib/plugins/extension/images/enabled.png b/lib/plugins/extension/images/enabled.png Binary files differnew file mode 100644 index 000000000..edbbb5b3c --- /dev/null +++ b/lib/plugins/extension/images/enabled.png diff --git a/lib/plugins/extension/images/icons.xcf b/lib/plugins/extension/images/icons.xcf Binary files differnew file mode 100644 index 000000000..ab69b3099 --- /dev/null +++ b/lib/plugins/extension/images/icons.xcf diff --git a/lib/plugins/extension/images/license.txt b/lib/plugins/extension/images/license.txt new file mode 100644 index 000000000..44e176ac9 --- /dev/null +++ b/lib/plugins/extension/images/license.txt @@ -0,0 +1,4 @@ +enabled.png - CC0, (c) Tanguy Ortolo +disabled.png - public domain, (c) Tango Desktop Project http://commons.wikimedia.org/wiki/File:Dialog-information.svg +plugin.png - public domain, (c) nicubunu, http://openclipart.org/detail/15093/blue-jigsaw-piece-07-by-nicubunu +template.png - public domain, (c) mathec, http://openclipart.org/detail/166596/palette-by-mathec diff --git a/lib/plugins/extension/images/overlay.png b/lib/plugins/extension/images/overlay.png Binary files differnew file mode 100644 index 000000000..5414206c5 --- /dev/null +++ b/lib/plugins/extension/images/overlay.png diff --git a/lib/plugins/extension/images/plugin.png b/lib/plugins/extension/images/plugin.png Binary files differnew file mode 100644 index 000000000..62424b2c7 --- /dev/null +++ b/lib/plugins/extension/images/plugin.png diff --git a/lib/plugins/extension/images/tag.png b/lib/plugins/extension/images/tag.png Binary files differnew file mode 100644 index 000000000..1b1dd750c --- /dev/null +++ b/lib/plugins/extension/images/tag.png diff --git a/lib/plugins/extension/images/template.png b/lib/plugins/extension/images/template.png Binary files differnew file mode 100644 index 000000000..67240d1eb --- /dev/null +++ b/lib/plugins/extension/images/template.png diff --git a/lib/plugins/extension/images/up.png b/lib/plugins/extension/images/up.png Binary files differnew file mode 100644 index 000000000..531b2dd7b --- /dev/null +++ b/lib/plugins/extension/images/up.png diff --git a/lib/plugins/extension/images/warning.png b/lib/plugins/extension/images/warning.png Binary files differnew file mode 100644 index 000000000..c1af79f0f --- /dev/null +++ b/lib/plugins/extension/images/warning.png diff --git a/lib/plugins/extension/lang/cs/intro_install.txt b/lib/plugins/extension/lang/cs/intro_install.txt new file mode 100644 index 000000000..b274959b9 --- /dev/null +++ b/lib/plugins/extension/lang/cs/intro_install.txt @@ -0,0 +1 @@ +Zde můžete ručně instalovat zásuvné moduly a šablony vzhledu, buď nahráním, nebo zadáním přímé URL pro stažení.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/cs/intro_plugins.txt b/lib/plugins/extension/lang/cs/intro_plugins.txt new file mode 100644 index 000000000..a6f62746a --- /dev/null +++ b/lib/plugins/extension/lang/cs/intro_plugins.txt @@ -0,0 +1 @@ +Toto je seznam momentálně nainstalovaných zásuvných modulů vaší DokuWiki. V tomto seznamu je lze zapínat, vypínat nebo kompletně odinstalovat. Jsou zde také vidět dostupné aktualizace pro moduly, ale před jejich případným aktualizováním si vždy přečtěte jejich dokumentaci.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/cs/intro_search.txt b/lib/plugins/extension/lang/cs/intro_search.txt new file mode 100644 index 000000000..4258ac4f2 --- /dev/null +++ b/lib/plugins/extension/lang/cs/intro_search.txt @@ -0,0 +1 @@ +Tato záložka poskytuje náhled na všechny dostupné moduly a šablony třetích stran pro DokuWiki. Jejich instalací se múžete vystavit **bezpečnostním rizikům** o kterých se můžete více dočíst v oddíle [[doku>security#plugin_security|plugin security]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/cs/intro_templates.txt b/lib/plugins/extension/lang/cs/intro_templates.txt new file mode 100644 index 000000000..45abe952c --- /dev/null +++ b/lib/plugins/extension/lang/cs/intro_templates.txt @@ -0,0 +1 @@ +Toto jsou šablony, které jsou momentálně nainstalovány v této DokuWiki. Aktuálně používanu šablonu lze vybrat ve [[?do=admin&page=config|Správci rozšíření]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php new file mode 100644 index 000000000..dc38afd52 --- /dev/null +++ b/lib/plugins/extension/lang/cs/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Viktor Zavadil <vzavadil@newps.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['menu'] = 'Manager rozšíření'; +$lang['tab_plugins'] = 'Instalované moduly'; +$lang['tab_templates'] = 'Instalované šablony'; +$lang['tab_search'] = 'Vyhledej a instaluj'; +$lang['tab_install'] = 'Ruční instalování'; +$lang['notimplemented'] = 'Tato vychytávka není dosud implementována'; +$lang['notinstalled'] = 'Toto rozšíření není instalováno'; +$lang['alreadyenabled'] = 'Toto rozšíření je již povoleno'; +$lang['alreadydisabled'] = 'Toto rozšíření je již vypnuto'; +$lang['pluginlistsaveerror'] = 'Došlo k chybě při ukládání seznamu zásuvných modulů'; +$lang['unknownauthor'] = 'Neznámý autor'; +$lang['unknownversion'] = 'Neznámá verze'; +$lang['btn_info'] = 'Zobrazit více informací'; +$lang['btn_update'] = 'Aktualizovat'; +$lang['btn_uninstall'] = 'Odinstalovat'; +$lang['btn_enable'] = 'Povolit'; +$lang['btn_disable'] = 'Zakázat'; +$lang['btn_install'] = 'Instalovat'; +$lang['btn_reinstall'] = 'Přeinstalovat'; +$lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozšíření?'; +$lang['search_for'] = 'Hledat rozšíření:'; +$lang['search'] = 'Hledat'; +$lang['extensionby'] = '<strong>%s</strong> od %s'; +$lang['screenshot'] = 'Screenshot %s'; +$lang['popularity'] = 'Popularita: %s%%'; +$lang['homepage_link'] = 'Dokumenty'; +$lang['bugs_features'] = 'Chyby'; +$lang['tags'] = 'Štítky:'; +$lang['author_hint'] = 'Vyhledat rozšíření podle tohoto autora'; +$lang['installed'] = 'Nainstalováno:'; +$lang['downloadurl'] = 'URL stahování:'; +$lang['repository'] = 'Repozitář:'; +$lang['unknown'] = '<em>neznámý</em>'; +$lang['installed_version'] = 'Nainstalovaná verze:'; +$lang['install_date'] = 'Poslední aktualizace'; +$lang['available_version'] = 'Dostupná verze:'; +$lang['compatible'] = 'Kompatibilní s:'; +$lang['depends'] = 'Závisí na:'; +$lang['similar'] = 'Podobný jako:'; +$lang['conflicts'] = 'Koliduje s:'; +$lang['donate'] = 'Líbí se ti to?'; +$lang['donate_action'] = 'Kup autorovi kávu!'; +$lang['repo_retry'] = 'Opakovat'; +$lang['provides'] = 'Poskytuje:'; +$lang['status'] = 'Stav:'; +$lang['status_installed'] = 'instalovaný'; +$lang['status_not_installed'] = 'nenainstalovaný'; +$lang['status_protected'] = 'chráněný'; +$lang['status_enabled'] = 'povolený'; +$lang['status_disabled'] = 'zakázaný'; +$lang['status_unmodifiable'] = 'neměnný'; +$lang['status_plugin'] = 'zásuvný modul'; +$lang['status_template'] = 'šablona'; +$lang['status_bundled'] = 'svázaný'; +$lang['msg_enabled'] = 'Zásuvný modul %s povolen'; +$lang['msg_disabled'] = 'Zásuvný modul %s zakázán'; +$lang['msg_delete_success'] = 'Rozšíření odinstalováno'; +$lang['msg_delete_failed'] = 'Odinstalování rozšíření %s selhalo'; +$lang['msg_template_install_success'] = 'Šablona %s úspěšně nainstalována'; +$lang['msg_template_update_success'] = 'Šablona %s úspěšně aktualizována'; +$lang['msg_plugin_install_success'] = 'Zásuvný modul %s úspěšně nainstalován.'; +$lang['msg_plugin_update_success'] = 'Zásuvný modul %s úspěšně aktualizován.'; +$lang['msg_upload_failed'] = 'Nahrávání souboru selhalo'; +$lang['missing_dependency'] = '<strong>Chybějící nebo zakázaná závislost:</strong> %s'; +$lang['security_issue'] = '<strong>Bezpečnostní problém:</strong> %s'; +$lang['security_warning'] = '<strong>Bezpečnostní varování:</strong> %s'; +$lang['update_available'] = '<strong>Aktualizace:</strong> Je dostupná nová verze %s.'; +$lang['wrong_folder'] = '<strong>Zásuvný modul nesprávně nainstalován:</strong> Přejmenujte adresář modulu "%s" na "%s".'; +$lang['url_change'] = '<strong>URL se změnila:</strong> URL pro stahování se změnila od poslední aktualizace. Před další aktualizací tohoto rozšíření ověřte správnost nové URL.<br />Nová: %s<br />Stará: %s'; +$lang['error_badurl'] = 'Adresy URL by měly začínat s http nebo https'; +$lang['error_dircreate'] = 'Nelze vytvořit dočasný adresář pro přijetí stahování'; +$lang['error_download'] = 'Nelze stáhnout soubor: %s'; +$lang['error_decompress'] = 'Selhalo rozbalení staženého souboru. Toto je nejspíš důsledek poškození souboru při přenosu, zkuste soubor stáhnout znovu; případně nemusel být rozpoznán formát sbaleného souboru a bude třeba přistoupit k ruční instalaci. '; +$lang['error_findfolder'] = 'Nelze rozpoznat adresář pro rozšíření, je třeba stáhnout a instalovat ručně'; +$lang['error_copy'] = 'Došlo k chybě kopírování souborů při pokusu nainstalovat soubory do adresáře <em>%s</em>: může být plný disk nebo špatně nastavena přístupová práva. Tato chyba mohla zapříčinit pouze částečnou instalaci zásuvného modulu a uvést wiki do nestabilního stavu.'; +$lang['noperms'] = 'Nelze zapisovat do adresáře pro rozšíření'; +$lang['notplperms'] = 'Nelze zapisovat do odkládacího adresáře'; +$lang['nopluginperms'] = 'Nelze zapisovat do adresáře se zásuvnými moduly'; +$lang['git'] = 'Toto rozšíření bylo nainstalováno přes git. Touto cestou ho nejspíš tady aktualizovat nechcete.'; +$lang['auth'] = 'Tento ověřovací zásuvný modul není povolen v nastavení, zvažte jeho deaktivaci.'; +$lang['install_url'] = 'Nainstalovat z URL:'; +$lang['install_upload'] = 'Nahrát rozšíření:'; +$lang['repo_error'] = 'Nelze kontaktovat repozitář se zásuvnými moduly. Ujistěte se, že váš server může kontaktovat www.dokuwiki.org a zkontrolujte nastavení proxy.'; +$lang['nossl'] = 'Použité PHP pravděpodobně nepodporuje SSL. Stažení mnoha DokuWiki rozšíření nebude fungovat.'; diff --git a/lib/plugins/extension/lang/da/lang.php b/lib/plugins/extension/lang/da/lang.php new file mode 100644 index 000000000..c341bc5f9 --- /dev/null +++ b/lib/plugins/extension/lang/da/lang.php @@ -0,0 +1,24 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Søren Birk <soer9648@eucl.dk> + */ +$lang['update_available'] = '<strong>Opdatering:</strong> Ny version %s er tilgængelig.'; +$lang['wrong_folder'] = '<strong>Plugin ikke installeret korrekt:</strong> Omdøb plugin-mappe "%s" til "%s".'; +$lang['url_change'] = '<strong>URL ændret:</strong> Download-URL er blevet ændret siden sidste download. Kontrollér om den nye URL er valid, inden udvidelsen opdateres.<br />Ny: %s<br />Gammel: %s'; +$lang['error_badurl'] = 'URL\'er skal starte med http eller https'; +$lang['error_dircreate'] = 'Ikke i stand til at oprette midlertidig mappe til modtagelse af download'; +$lang['error_download'] = 'Ikke i stand til at downloade filen: %s'; +$lang['error_decompress'] = 'Ikke i stand til at dekomprimere den downloadede fil. Dette kan være et resultat af en dårlig download, hvor du i så fald bør du prøve igen; eller komprimeringsformatet kan være ukendt, hvor du i så fald bliver nød til at downloade og installere manuelt.'; +$lang['error_findfolder'] = 'Ikke i stand til at identificere udvidelsesmappe - du bliver nød til at downloade og installere manuelt.'; +$lang['error_copy'] = 'Der opstod en kopieringsfejl under installation af filer til mappen <em>%s</em>: disken kan være fuld, eller mangel på fil-tilladelser. Dette kan have resulteret i et delvist installeret plugin, og efterladt din wiki-installation ustabil.'; +$lang['noperms'] = 'Udvidelsesmappe er ikke skrivbar'; +$lang['notplperms'] = 'Skabelonmappe er ikke skrivbar'; +$lang['nopluginperms'] = 'Pluginmappe er ikke skrivbar'; +$lang['git'] = 'Udvidelsen blev installeret via git - du vil muligvis ikke opdatere herfra.'; +$lang['auth'] = 'Auth-plugin er ikke aktiveret i konfigurationen - overvej at deaktivere den.'; +$lang['install_url'] = 'Installér fra URL:'; +$lang['install_upload'] = 'Upload Udvidelse:'; +$lang['repo_error'] = 'Plugin-arkivet kunne ikke kontaktes. Kontrollér at din server kan kontakte www.dokuwiki.org kontrollér dine proxy-indstillinger.'; diff --git a/lib/plugins/extension/lang/de/intro_install.txt b/lib/plugins/extension/lang/de/intro_install.txt new file mode 100644 index 000000000..4ecebe959 --- /dev/null +++ b/lib/plugins/extension/lang/de/intro_install.txt @@ -0,0 +1 @@ +Hier können Sie Plugins und Templates von Hand installieren indem Sie sie hochladen oder eine Download-URL angeben.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/de/intro_plugins.txt b/lib/plugins/extension/lang/de/intro_plugins.txt new file mode 100644 index 000000000..1a1521050 --- /dev/null +++ b/lib/plugins/extension/lang/de/intro_plugins.txt @@ -0,0 +1 @@ +Dies sind die Plugins, die bereits installiert sind. Sie können sie hier an- oder abschalten oder sie komplett deinstallieren. Außerdem werden hier Updates zu den installiereten Plugins angezeigt. Bitte lesen Sie vor einem Update die zugehörige Dokumentation.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/de/intro_search.txt b/lib/plugins/extension/lang/de/intro_search.txt new file mode 100644 index 000000000..7df8de185 --- /dev/null +++ b/lib/plugins/extension/lang/de/intro_search.txt @@ -0,0 +1 @@ +Dieser Tab gibt Ihnen Zugriff auf alle vorhandenen Plugins und Templates für DokuWiki. Bitte bedenken sie das jede installierte Erweiterung ein Sicherheitsrisiko darstellen kann. Sie sollten vor einer Installation die [[doku>security#plugin_security|Plugin Security]] Informationen lesen.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/de/intro_templates.txt b/lib/plugins/extension/lang/de/intro_templates.txt new file mode 100644 index 000000000..d71ce6237 --- /dev/null +++ b/lib/plugins/extension/lang/de/intro_templates.txt @@ -0,0 +1 @@ +Dies sind die in Ihrem Dokuwiki installierten Templates. Sie können das gewünschte Template im [[?do=admin&page=config|Konfigurations Manager]] aktivieren.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/de/lang.php b/lib/plugins/extension/lang/de/lang.php new file mode 100644 index 000000000..ce5495e24 --- /dev/null +++ b/lib/plugins/extension/lang/de/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author H. Richard <wanderer379@t-online.de> + * @author Joerg <scooter22@gmx.de> + * @author Simon <st103267@stud.uni-stuttgart.de> + * @author Hoisl <hoisl@gmx.at> + * @author Dominik Mahr <drache.mahr@gmx.de> + */ +$lang['menu'] = 'Erweiterungen verwalten'; +$lang['tab_plugins'] = 'Installierte Plugins'; +$lang['tab_templates'] = 'Installierte Templates'; +$lang['tab_search'] = 'Suchen und Installieren'; +$lang['tab_install'] = 'Händisch installieren'; +$lang['notimplemented'] = 'Dieses Fähigkeit/Eigenschaft wurde noch nicht implementiert'; +$lang['notinstalled'] = 'Diese Erweiterung ist nicht installiert'; +$lang['alreadyenabled'] = 'Diese Erweiterung ist bereits aktiviert'; +$lang['alreadydisabled'] = 'Diese Erweiterung ist bereits deaktiviert'; +$lang['pluginlistsaveerror'] = 'Es gab einen Fehler beim Speichern der Plugin-Liste'; +$lang['unknownauthor'] = 'Unbekannter Autor'; +$lang['unknownversion'] = 'Unbekannte Version'; +$lang['btn_info'] = 'Zeige weitere Info'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Deinstallation'; +$lang['btn_enable'] = 'Aktivieren'; +$lang['btn_disable'] = 'Deaktivieren'; +$lang['btn_install'] = 'Installieren'; +$lang['btn_reinstall'] = 'Neu installieren'; +$lang['js']['reallydel'] = 'Wollen Sie diese Erweiterung wirklich löschen?'; +$lang['search_for'] = 'Erweiterung suchen:'; +$lang['search'] = 'Suchen'; +$lang['extensionby'] = '<strong>%s</strong> von %s'; +$lang['screenshot'] = 'Bildschirmfoto von %s'; +$lang['popularity'] = 'Popularität: %s%%'; +$lang['homepage_link'] = 'Doku'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Schlagworte'; +$lang['author_hint'] = 'Suche weitere Erweiterungen dieses Autors'; +$lang['installed'] = 'Installiert:'; +$lang['downloadurl'] = 'URL zum Herunterladen'; +$lang['repository'] = 'Quelle:'; +$lang['unknown'] = '<em>unbekannt</em>'; +$lang['installed_version'] = 'Installierte Version'; +$lang['install_date'] = 'Ihr letztes Update:'; +$lang['available_version'] = 'Verfügbare Version: '; +$lang['compatible'] = 'Kompatibel mit:'; +$lang['depends'] = 'Benötigt:'; +$lang['similar'] = 'Ist ähnlich zu:'; +$lang['conflicts'] = 'Nicht kompatibel mit:'; +$lang['donate'] = 'Nützlich?'; +$lang['donate_action'] = 'Spendieren Sie dem Autor einen Kaffee!'; +$lang['repo_retry'] = 'Neu versuchen'; +$lang['provides'] = 'Enthält'; +$lang['status'] = 'Status'; +$lang['status_installed'] = 'installiert'; +$lang['status_not_installed'] = 'nicht installiert'; +$lang['status_protected'] = 'geschützt'; +$lang['status_enabled'] = 'aktiviert'; +$lang['status_disabled'] = 'deaktiviert'; +$lang['status_unmodifiable'] = 'unveränderlich'; +$lang['status_plugin'] = 'Plugin'; +$lang['status_template'] = 'Template'; +$lang['status_bundled'] = 'gebündelt'; +$lang['msg_enabled'] = 'Plugin %s ist aktiviert'; +$lang['msg_disabled'] = 'Erweiterung %s ist deaktiviert'; +$lang['msg_delete_success'] = 'Erweiterung wurde entfernt'; +$lang['msg_template_install_success'] = 'Das Template %s wurde erfolgreich installiert'; +$lang['msg_template_update_success'] = 'Das Update des Templates %s war erfolgreich '; +$lang['msg_plugin_install_success'] = 'Das Plugin %s wurde erfolgreich installiert'; +$lang['msg_plugin_update_success'] = 'Das Update des Plugins %s war erfolgreich'; +$lang['msg_upload_failed'] = 'Fehler beim Hochladen der Datei'; +$lang['missing_dependency'] = '<strong>fehlende oder deaktivierte Abhängigkeit:<strong>%s'; +$lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s'; +$lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.'; +$lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benennen Sie das Plugin-Verzeichnis "%s" in "%s" um.'; +$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s'; +$lang['error_badurl'] = 'URLs sollten mit http oder https beginnen'; +$lang['error_dircreate'] = 'Temporären Ordner konnte nicht erstellt werden, um Download zu empfangen'; +$lang['error_download'] = 'Download der Datei: %s nicht möglich.'; +$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall sollten Sie versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem Fall müssen Sie die Datei selber herunterladen und manuell installieren.'; +$lang['error_findfolder'] = 'Das Erweiterungs-Verzeichnis konnte nicht identifiziert werden, laden und installieren sie die Datei manuell.'; +$lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em>: zu installieren trat ein Kopierfehler auf. Die Dateizugriffsberechtigungen könnten falsch sein. Dies kann an einem unvollständig installierten Plugin liegen und beeinträchtigt somit die Stabilität Ihre Wiki-Installation.'; +$lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt'; +$lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt'; +$lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt'; +$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.'; +$lang['install_url'] = 'Von Webadresse (URL) installieren'; +$lang['install_upload'] = 'Erweiterung hochladen:'; +$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen sie sicher das der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen sie ihre Proxy Einstellungen.'; diff --git a/lib/plugins/extension/lang/en/intro_install.txt b/lib/plugins/extension/lang/en/intro_install.txt new file mode 100644 index 000000000..a5d5ab008 --- /dev/null +++ b/lib/plugins/extension/lang/en/intro_install.txt @@ -0,0 +1 @@ +Here you can manually install plugins and templates by either uploading them or providing a direct download URL. diff --git a/lib/plugins/extension/lang/en/intro_plugins.txt b/lib/plugins/extension/lang/en/intro_plugins.txt new file mode 100644 index 000000000..4e42efee1 --- /dev/null +++ b/lib/plugins/extension/lang/en/intro_plugins.txt @@ -0,0 +1 @@ +These are the plugins currently installed in your DokuWiki. You can enable or disable or even completely uninstall them here. Plugin updates are shown here as well, be sure to read the plugin's documentation before updating.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/en/intro_search.txt b/lib/plugins/extension/lang/en/intro_search.txt new file mode 100644 index 000000000..244cd6812 --- /dev/null +++ b/lib/plugins/extension/lang/en/intro_search.txt @@ -0,0 +1 @@ +This tab gives you access to all available 3rd party plugins and templates for DokuWiki. Please be aware that installing 3rd party code may pose a **security risk**, you may want to read about [[doku>security#plugin_security|plugin security]] first.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/en/intro_templates.txt b/lib/plugins/extension/lang/en/intro_templates.txt new file mode 100644 index 000000000..012a74995 --- /dev/null +++ b/lib/plugins/extension/lang/en/intro_templates.txt @@ -0,0 +1 @@ +These are the templates currently installed in your DokuWiki. You can select the template to be used in the [[?do=admin&page=config|Configuration Manager]]. diff --git a/lib/plugins/extension/lang/en/lang.php b/lib/plugins/extension/lang/en/lang.php new file mode 100644 index 000000000..f545b6da3 --- /dev/null +++ b/lib/plugins/extension/lang/en/lang.php @@ -0,0 +1,104 @@ +<?php +/** + * English language file for extension plugin + * + * @author Michael Hamann <michael@content-space.de> + * @author Christopher Smith <chris@jalakai.co.uk> + */ + +$lang['menu'] = 'Extension Manager'; + +$lang['tab_plugins'] = 'Installed Plugins'; +$lang['tab_templates'] = 'Installed Templates'; +$lang['tab_search'] = 'Search and Install'; +$lang['tab_install'] = 'Manual Install'; + +$lang['notimplemented'] = 'This feature hasn\'t been implemented yet'; +$lang['notinstalled'] = 'This extension is not installed'; +$lang['alreadyenabled'] = 'This extension has already been enabled'; +$lang['alreadydisabled'] = 'This extension has already been disabled'; +$lang['pluginlistsaveerror'] = 'There was an error saving the plugin list'; +$lang['unknownauthor'] = 'Unknown author'; +$lang['unknownversion'] = 'Unknown version'; + +$lang['btn_info'] = 'Show more info'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Uninstall'; +$lang['btn_enable'] = 'Enable'; +$lang['btn_disable'] = 'Disable'; +$lang['btn_install'] = 'Install'; +$lang['btn_reinstall'] = 'Re-install'; + +$lang['js']['reallydel'] = 'Really uninstall this extension?'; + +$lang['search_for'] = 'Search Extension:'; +$lang['search'] = 'Search'; + +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Screenshot of %s'; +$lang['popularity'] = 'Popularity: %s%%'; +$lang['homepage_link'] = 'Docs'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Search extensions by this author'; +$lang['installed'] = 'Installed:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['repository'] = 'Repository:'; +$lang['unknown'] = '<em>unknown</em>'; +$lang['installed_version'] = 'Installed version:'; +$lang['install_date'] = 'Your last update:'; +$lang['available_version'] = 'Available version:'; +$lang['compatible'] = 'Compatible with:'; +$lang['depends'] = 'Depends on:'; +$lang['similar'] = 'Similar to:'; +$lang['conflicts'] = 'Conflicts with:'; +$lang['donate'] = 'Like this?'; +$lang['donate_action'] = 'Buy the author a coffee!'; +$lang['repo_retry'] = 'Retry'; +$lang['provides'] = 'Provides:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installed'; +$lang['status_not_installed'] = 'not installed'; +$lang['status_protected'] = 'protected'; +$lang['status_enabled'] = 'enabled'; +$lang['status_disabled'] = 'disabled'; +$lang['status_unmodifiable'] = 'unmodifiable'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['status_bundled'] = 'bundled'; + +$lang['msg_enabled'] = 'Plugin %s enabled'; +$lang['msg_disabled'] = 'Plugin %s disabled'; +$lang['msg_delete_success'] = 'Extension %s uninstalled'; +$lang['msg_delete_failed'] = 'Uninstalling Extension %s failed'; +$lang['msg_template_install_success'] = 'Template %s installed successfully'; +$lang['msg_template_update_success'] = 'Template %s updated successfully'; +$lang['msg_plugin_install_success'] = 'Plugin %s installed successfully'; +$lang['msg_plugin_update_success'] = 'Plugin %s updated successfully'; +$lang['msg_upload_failed'] = 'Uploading the file failed'; + +$lang['missing_dependency'] = '<strong>Missing or disabled dependency:</strong> %s'; +$lang['security_issue'] = '<strong>Security Issue:</strong> %s'; +$lang['security_warning'] = '<strong>Security Warning:</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> New version %s is available.'; +$lang['wrong_folder'] = '<strong>Plugin installed incorrectly:</strong> Rename plugin directory "%s" to "%s".'; +$lang['url_change'] = '<strong>URL changed:</strong> Download URL has changed since last download. Check if the new URL is valid before updating the extension.<br />New: %s<br />Old: %s'; + +$lang['error_badurl'] = 'URLs should start with http or https'; +$lang['error_dircreate'] = 'Unable to create temporary folder to receive download'; +$lang['error_download'] = 'Unable to download the file: %s'; +$lang['error_decompress'] = 'Unable to decompress the downloaded file. This maybe as a result of a bad download, in which case you should try again; or the compression format may be unknown, in which case you will need to download and install manually.'; +$lang['error_findfolder'] = 'Unable to identify extension directory, you need to download and install manually'; +$lang['error_copy'] = 'There was a file copy error while attempting to install files for directory <em>%s</em>: the disk could be full or file access permissions may be incorrect. This may have resulted in a partially installed plugin and leave your wiki installation unstable'; + +$lang['noperms'] = 'Extension directory is not writable'; +$lang['notplperms'] = 'Template directory is not writable'; +$lang['nopluginperms'] = 'Plugin directory is not writable'; +$lang['git'] = 'This extension was installed via git, you may not want to update it here.'; +$lang['auth'] = 'This auth plugin is not enabled in configuration, consider disabling it.'; + +$lang['install_url'] = 'Install from URL:'; +$lang['install_upload'] = 'Upload Extension:'; + +$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.'; +$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.';
\ No newline at end of file diff --git a/lib/plugins/extension/lang/eo/intro_install.txt b/lib/plugins/extension/lang/eo/intro_install.txt new file mode 100644 index 000000000..d9c63da1d --- /dev/null +++ b/lib/plugins/extension/lang/eo/intro_install.txt @@ -0,0 +1 @@ +Tie vi povas permane instali kromaĵojn kaj ŝablonojn tra alŝuto aŭ indiko de URL por rekta elŝuto.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/eo/intro_plugins.txt b/lib/plugins/extension/lang/eo/intro_plugins.txt new file mode 100644 index 000000000..cc7ae6628 --- /dev/null +++ b/lib/plugins/extension/lang/eo/intro_plugins.txt @@ -0,0 +1 @@ +Jenaj kromaĵoj momente estas instalitaj en via DokuWiki. Vi povas ebligi, malebligi aŭ eĉ tute malinstali ilin tie. Ankaŭ montriĝos aktualigoj de kromaĵoj -- certiĝu, ke vi legis la dokumentadon de la kromaĵo antaŭ aktualigo.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/eo/intro_search.txt b/lib/plugins/extension/lang/eo/intro_search.txt new file mode 100644 index 000000000..5d194948c --- /dev/null +++ b/lib/plugins/extension/lang/eo/intro_search.txt @@ -0,0 +1 @@ +Tiu tabelo donas aliron al ĉiuj haveblaj eksteraj kromaĵoj kaj ŝablonoj por DokuWiki. Bonvolu konscii, ke instali eksteran kodaĵon povas enkonduki **sekurecriskon**, prefere legu antaŭe pri [[doku>security#plugin_security|sekureco de kromaĵo]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/eo/intro_templates.txt b/lib/plugins/extension/lang/eo/intro_templates.txt new file mode 100644 index 000000000..6dc0ef671 --- /dev/null +++ b/lib/plugins/extension/lang/eo/intro_templates.txt @@ -0,0 +1 @@ +Jenaj ŝablonoj momente instaliĝis en via DokuWiki. Elektu la ŝablonon por uzi en la [[?do=admin&page=config|Opcia administrilo]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/eo/lang.php b/lib/plugins/extension/lang/eo/lang.php new file mode 100644 index 000000000..6ce840be8 --- /dev/null +++ b/lib/plugins/extension/lang/eo/lang.php @@ -0,0 +1,87 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Robert Bogenschneider <bogi@uea.org> + */ +$lang['menu'] = 'Aldonaĵa administrado'; +$lang['tab_plugins'] = 'Instalitaj kromaĵoj'; +$lang['tab_templates'] = 'Instalitaj ŝablonoj'; +$lang['tab_search'] = 'Serĉi kaj instali'; +$lang['tab_install'] = 'Permana instalado'; +$lang['notimplemented'] = 'Tiu funkcio ankoraŭ ne realiĝis'; +$lang['notinstalled'] = 'Tiu aldonaĵo ne estas instalita'; +$lang['alreadyenabled'] = 'Tiu aldonaĵo jam ebliĝis'; +$lang['alreadydisabled'] = 'Tiu aldonaĵo jam malebliĝis'; +$lang['pluginlistsaveerror'] = 'Okazis eraro dum la kromaĵlisto konserviĝis'; +$lang['unknownauthor'] = 'Nekonata aŭtoro'; +$lang['unknownversion'] = 'Nekonata versio'; +$lang['btn_info'] = 'Montri pliajn informojn'; +$lang['btn_update'] = 'Aktualigi'; +$lang['btn_uninstall'] = 'Malinstali'; +$lang['btn_enable'] = 'Ebligi'; +$lang['btn_disable'] = 'Malebligi'; +$lang['btn_install'] = 'Instali'; +$lang['btn_reinstall'] = 'Re-instali'; +$lang['js']['reallydel'] = 'Ĉu vere malinstali la aldonaĵon?'; +$lang['search_for'] = 'Serĉi la aldonaĵon:'; +$lang['search'] = 'Serĉi'; +$lang['extensionby'] = '<strong>%s</strong> fare de %s'; +$lang['screenshot'] = 'Ekrankopio de %s'; +$lang['popularity'] = 'Populareco: %s%%'; +$lang['homepage_link'] = 'Dokumentoj'; +$lang['bugs_features'] = 'Cimoj'; +$lang['tags'] = 'Etikedoj:'; +$lang['author_hint'] = 'Serĉi aldonaĵojn laŭ tiu aŭtoro:'; +$lang['installed'] = 'Instalitaj:'; +$lang['downloadurl'] = 'URL por elŝuti:'; +$lang['repository'] = 'Kodbranĉo:'; +$lang['unknown'] = '<em>nekonata</em>'; +$lang['installed_version'] = 'Instalita versio:'; +$lang['install_date'] = 'Via lasta aktualigo:'; +$lang['available_version'] = 'Havebla versio:'; +$lang['compatible'] = 'Kompatibla kun:'; +$lang['depends'] = 'Dependas de:'; +$lang['similar'] = 'Simila al:'; +$lang['conflicts'] = 'Konfliktas kun:'; +$lang['donate'] = 'Ĉu vi ŝatas tion?'; +$lang['donate_action'] = 'Aĉetu kafon al la aŭtoro!'; +$lang['repo_retry'] = 'Reprovi'; +$lang['provides'] = 'Provizas per:'; +$lang['status'] = 'Statuso:'; +$lang['status_installed'] = 'instalita'; +$lang['status_not_installed'] = 'ne instalita'; +$lang['status_protected'] = 'protektita'; +$lang['status_enabled'] = 'ebligita'; +$lang['status_disabled'] = 'malebligita'; +$lang['status_unmodifiable'] = 'neŝanĝebla'; +$lang['status_plugin'] = 'kromaĵo'; +$lang['status_template'] = 'ŝablono'; +$lang['status_bundled'] = 'kunliverita'; +$lang['msg_enabled'] = 'Kromaĵo %s ebligita'; +$lang['msg_disabled'] = 'Kromaĵo %s malebligita'; +$lang['msg_delete_success'] = 'Aldonaĵo malinstaliĝis'; +$lang['msg_template_install_success'] = 'Ŝablono %s sukcese instaliĝis'; +$lang['msg_template_update_success'] = 'Ŝablono %s sukcese aktualiĝis'; +$lang['msg_plugin_install_success'] = 'Kromaĵo %s sukcese instaliĝis'; +$lang['msg_plugin_update_success'] = 'Kromaĵo %s sukcese aktualiĝis'; +$lang['msg_upload_failed'] = 'Ne eblis alŝuti la dosieron'; +$lang['missing_dependency'] = '<strong>Mankanta aŭ malebligita dependeco:</strong> %s'; +$lang['security_issue'] = '<strong>Sekureca problemo:</strong> %s'; +$lang['security_warning'] = '<strong>Sekureca averto:</strong> %s'; +$lang['update_available'] = '<strong>Aktualigo:</strong> Nova versio %s haveblas.'; +$lang['wrong_folder'] = '<strong>Kromaĵo instalita malĝuste:</strong> Renomu la kromaĵdosierujon "%s" al "%s".'; +$lang['url_change'] = '<strong>URL ŝanĝita:</strong> La elŝuta URL ŝanĝiĝis ekde la lasta elŝuto. Kontrolu, ĉu la nova URL validas antaŭ aktualigi aldonaĵon.<br />Nova: %s<br />Malnova: %s'; +$lang['error_badurl'] = 'URLoj komenciĝu per http aŭ https'; +$lang['error_dircreate'] = 'Ne eblis krei portempan dosierujon por akcepti la elŝuton'; +$lang['error_download'] = 'Ne eblis elŝuti la dosieron: %s'; +$lang['error_decompress'] = 'Ne eblis malpaki la elŝutitan dosieron. Kialo povus esti fuŝa elŝuto, kaj vi reprovu; aŭ la pakiga formato estas nekonata, kaj vi devas elŝuti kaj instali permane.'; +$lang['error_findfolder'] = 'Ne eblis rekoni la aldonaĵ-dosierujon, vi devas elŝuti kaj instali permane'; +$lang['error_copy'] = 'Okazis kopiad-eraro dum la provo instali dosierojn por la dosierujo <em>%s</em>: la disko povus esti plena aŭ la alirpermesoj por dosieroj malĝustaj. Rezulto eble estas nur parte instalita kromaĵo, kiu malstabiligas vian vikion'; +$lang['noperms'] = 'La aldonaĵ-dosierujo ne estas skribebla'; +$lang['notplperms'] = 'La ŝablon-dosierujo ne estas skribebla'; +$lang['nopluginperms'] = 'La kromaĵ-dosierujo ne estas skribebla'; +$lang['git'] = 'Tiu aldonaĵo estis instalita pere de git, eble vi ne aktualigu ĝin ĉi tie.'; +$lang['install_url'] = 'Instali de URL:'; +$lang['install_upload'] = 'Alŝuti aldonaĵon:'; diff --git a/lib/plugins/extension/lang/es/intro_install.txt b/lib/plugins/extension/lang/es/intro_install.txt new file mode 100644 index 000000000..533396b27 --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_install.txt @@ -0,0 +1 @@ +Aquí se puede instalar manualmente los plugins y las plantillas, ya sea cargándolos o dando una URL de descarga directa.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/es/intro_templates.txt b/lib/plugins/extension/lang/es/intro_templates.txt new file mode 100644 index 000000000..4ede9a1a9 --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_templates.txt @@ -0,0 +1 @@ +Estas son las plantillas actualmente instalados en su DokuWiki. Puede seleccionar la plantilla que se utilizará en [[?do=admin&page=config|Configuration Manager]]
\ No newline at end of file diff --git a/lib/plugins/extension/lang/es/lang.php b/lib/plugins/extension/lang/es/lang.php new file mode 100644 index 000000000..a835cb630 --- /dev/null +++ b/lib/plugins/extension/lang/es/lang.php @@ -0,0 +1,89 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Jonathan Hernández <me@jhalicea.com> + * @author Álvaro Iradier <airadier@gmail.com> + */ +$lang['menu'] = 'Administrador de Extensiones '; +$lang['tab_plugins'] = 'Plugins instalados'; +$lang['tab_templates'] = 'Plantillas instaladas'; +$lang['tab_search'] = 'Buscar e instalar'; +$lang['tab_install'] = 'Instalación manual'; +$lang['notimplemented'] = 'Esta característica no se ha implementado aún'; +$lang['notinstalled'] = 'Esta expensión no está instalada'; +$lang['alreadyenabled'] = 'Esta extensión ya había sido activada'; +$lang['alreadydisabled'] = 'Esta extensión ya había sido desactivada'; +$lang['pluginlistsaveerror'] = 'Se ha producido un error al guardar la lista de plugins'; +$lang['unknownauthor'] = 'autor desconocido'; +$lang['unknownversion'] = 'versión desconocida'; +$lang['btn_info'] = 'Mostrar más información'; +$lang['btn_update'] = 'Actualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Activar'; +$lang['btn_disable'] = 'Desactivar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Reinstalar'; +$lang['js']['reallydel'] = '¿Realmente quiere desinstalar esta extensión?'; +$lang['search_for'] = 'Extensión de búsqueda :'; +$lang['search'] = 'Buscar'; +$lang['extensionby'] = '<strong>%s</strong> por %s'; +$lang['screenshot'] = 'Captura de %s'; +$lang['popularity'] = 'Popularidad:%s%%'; +$lang['homepage_link'] = 'Documentos'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Buscar extensiones de este autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL de descarga:'; +$lang['repository'] = 'Repositorio:'; +$lang['unknown'] = '<em>desconocido</em>'; +$lang['installed_version'] = 'Versión instalada:'; +$lang['install_date'] = 'Tú última actualización:'; +$lang['available_version'] = 'Versión disponible:'; +$lang['compatible'] = 'Compatible con:'; +$lang['depends'] = 'Dependencias:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Conflictos con:'; +$lang['donate'] = '¿Cómo está?'; +$lang['donate_action'] = '¡Págale un café al autor!'; +$lang['repo_retry'] = 'Trate otra vez'; +$lang['provides'] = 'Provee: '; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'no instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'activado'; +$lang['status_disabled'] = 'desactivado'; +$lang['status_unmodifiable'] = 'no modificable'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'plantilla'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Plugin %s activado'; +$lang['msg_disabled'] = 'Plugin %s desactivado'; +$lang['msg_delete_success'] = 'Extensión desinstalada'; +$lang['msg_delete_failed'] = 'La desinstalación de la extensión %s ha fallado'; +$lang['msg_template_install_success'] = 'Plantilla %s instalada con éxito'; +$lang['msg_template_update_success'] = 'Plantilla %s actualizada con éxito'; +$lang['msg_plugin_install_success'] = 'Plugin %s instalado con éxito'; +$lang['msg_plugin_update_success'] = 'Plugin %s actualizado con éxito'; +$lang['msg_upload_failed'] = 'Falló la carga del archivo'; +$lang['missing_dependency'] = '<strong>Dependencia deshabilitada o perdida:</strong> %s'; +$lang['security_issue'] = '<strong>Problema de seguridad:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso de seguridad:</strong> %s'; +$lang['update_available'] = '<strong>Actualizar:</strong> Nueva versión %s disponible.'; +$lang['wrong_folder'] = '<strong>"Plugin" instalado incorrectamente:</strong> Cambie el nombre del directorio del plugin "%s" a "%s".'; +$lang['url_change'] = '<strong>URL actualizada:</strong> El Download URL ha cambiado desde el último download. Verifica si el nuevo URL es valido antes de actualizar la extensión .<br />Nuevo: %s<br />Viejo: %s'; +$lang['error_badurl'] = 'URLs deberían empezar con http o https'; +$lang['error_dircreate'] = 'No es posible de crear un directorio temporero para poder recibir el download'; +$lang['error_download'] = 'No es posible descargar el documento: %s'; +$lang['error_decompress'] = 'No se pudo descomprimir el fichero descargado. Puede ser a causa de una descarga incorrecta, en cuyo caso puedes intentarlo de nuevo; o puede que el formato de compresión sea desconocido, en cuyo caso necesitarás descargar e instalar manualmente.'; +$lang['noperms'] = 'El directorio de extensiones no tiene permiso de escritura.'; +$lang['notplperms'] = 'El directorio de plantillas no tiene permiso de escritura.'; +$lang['git'] = 'Esta extensión fue instalada a través de git, quizás usted no quiera actualizarla aquí mismo.'; +$lang['install_url'] = 'Instalar desde URL:'; +$lang['install_upload'] = 'Subir Extensión:'; +$lang['repo_error'] = 'El repositorio de plugins no puede ser contactado. Asegúrese que su servidor pueda contactar www.dokuwiki.org y verificar la configuración de su proxy.'; diff --git a/lib/plugins/extension/lang/fa/lang.php b/lib/plugins/extension/lang/fa/lang.php new file mode 100644 index 000000000..95c3e9652 --- /dev/null +++ b/lib/plugins/extension/lang/fa/lang.php @@ -0,0 +1,40 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['menu'] = 'مدیریت افزونه ها'; +$lang['tab_plugins'] = 'پلاگین های نصب شده'; +$lang['tab_templates'] = 'قالب های نصب شده'; +$lang['tab_search'] = 'جستجو و نصب'; +$lang['tab_install'] = 'نصب دستی'; +$lang['notinstalled'] = 'این افزونه نصب نشده است'; +$lang['alreadyenabled'] = 'این افزونه فعال شده است'; +$lang['alreadydisabled'] = 'این افزونه غیرفعال شده است'; +$lang['unknownversion'] = 'نسخه ناشناخته'; +$lang['btn_info'] = 'نمایش اطلاعات بیشتر'; +$lang['btn_update'] = 'به روز رسانی'; +$lang['btn_enable'] = 'فعال'; +$lang['btn_disable'] = 'غیرفعال'; +$lang['btn_install'] = 'نصب'; +$lang['btn_reinstall'] = 'نصب مجدد'; +$lang['search_for'] = 'جستجوی افزونه:'; +$lang['search'] = 'جستجو'; +$lang['tags'] = 'برچسب ها:'; +$lang['installed_version'] = 'نسخه نصب شده:'; +$lang['available_version'] = 'نسخه در دسترس:'; +$lang['repo_retry'] = 'دوباره'; +$lang['status'] = 'وضعیت'; +$lang['status_installed'] = 'نصب شده'; +$lang['status_not_installed'] = 'نصب نشده'; +$lang['status_enabled'] = 'فعال'; +$lang['status_disabled'] = 'غیرفعال'; +$lang['status_plugin'] = 'پلاگین'; +$lang['status_template'] = 'قالب'; +$lang['noperms'] = 'پوشه افزونه ها قابل نوشتن نیست'; +$lang['notplperms'] = 'پوشه قالب ها قابل نوشتن نیست'; +$lang['nopluginperms'] = 'پوشه پلاگین ها قابل نوشتن نیست'; +$lang['install_url'] = 'نصب از آدرس:'; +$lang['install_upload'] = 'بارگذاری افزونه:'; diff --git a/lib/plugins/extension/lang/fi/lang.php b/lib/plugins/extension/lang/fi/lang.php new file mode 100644 index 000000000..a154f2563 --- /dev/null +++ b/lib/plugins/extension/lang/fi/lang.php @@ -0,0 +1,37 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jussi Takala <jussi.takala@live.fi> + */ +$lang['tab_plugins'] = 'Asennetut liitännäiset'; +$lang['tab_search'] = 'Etsi ja asenna'; +$lang['tab_install'] = 'Manuaalinen asennus'; +$lang['notimplemented'] = 'Tätä ominaisuutta ei ole vielä toteutettu'; +$lang['notinstalled'] = 'Tätä laajennusta ei ole asennettu'; +$lang['alreadyenabled'] = 'Tämä laajennus on jo käytössä'; +$lang['alreadydisabled'] = 'Tämä laajennus on jo otettu pois käytöstä'; +$lang['pluginlistsaveerror'] = 'Tapahtui virhe tallentaessa liitännäislistaa'; +$lang['unknownauthor'] = 'Tuntematon tekijä'; +$lang['unknownversion'] = 'Tuntematon versio'; +$lang['btn_info'] = 'Näytä lisää tietoa'; +$lang['btn_update'] = 'Päivitä'; +$lang['btn_enable'] = 'Ota käyttöön'; +$lang['btn_disable'] = 'Poista käytöstä'; +$lang['btn_install'] = 'Asenna'; +$lang['btn_reinstall'] = 'Uudelleenasenna'; +$lang['js']['reallydel'] = 'Haluatko varmasti poistaa tämän laajennuksen?'; +$lang['search_for'] = 'Etsi laajennusta:'; +$lang['search'] = 'Etsi'; +$lang['downloadurl'] = 'Lataa URL-osoite'; +$lang['installed_version'] = 'Asennettu versio'; +$lang['install_date'] = 'Sinun viimeinen päivitys:'; +$lang['available_version'] = 'Saatavissa oleva versio:'; +$lang['status_installed'] = 'asennettu'; +$lang['status_protected'] = 'suojattu'; +$lang['status_enabled'] = 'otettu käyttöön'; +$lang['status_disabled'] = 'otettu pois käytöstä'; +$lang['status_plugin'] = 'liitännäinen'; +$lang['install_url'] = 'Asenna URL-osoitteesta:'; +$lang['install_upload'] = 'Ladattu laajennus:'; diff --git a/lib/plugins/extension/lang/fr/intro_install.txt b/lib/plugins/extension/lang/fr/intro_install.txt new file mode 100644 index 000000000..5d287b818 --- /dev/null +++ b/lib/plugins/extension/lang/fr/intro_install.txt @@ -0,0 +1 @@ +Ici, vous pouvez installer des extensions, greffons et thèmes. Soit en les téléversant, soit en indiquant un URL de téléchargement.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/intro_plugins.txt b/lib/plugins/extension/lang/fr/intro_plugins.txt new file mode 100644 index 000000000..a40b863d2 --- /dev/null +++ b/lib/plugins/extension/lang/fr/intro_plugins.txt @@ -0,0 +1 @@ +Voilà la liste des extensions actuellement installées. À partir d'ici, vous pouvez les activer, les désactiver ou même les désinstaller complètement. Cette page affiche également les mises à jour. Assurez vous de lire la documentation avant de faire la mise à jour.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/intro_search.txt b/lib/plugins/extension/lang/fr/intro_search.txt new file mode 100644 index 000000000..418e35972 --- /dev/null +++ b/lib/plugins/extension/lang/fr/intro_search.txt @@ -0,0 +1 @@ +Cet onglet vous donne accès à toutes les extensions de tierces parties. Restez conscients qu'installer du code de tierce partie peut poser un problème de **sécurité**. Vous voudrez peut-être au préalable lire l'article sur la [[doku>fr:security##securite_des_plugins|sécurité des plugins]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/intro_templates.txt b/lib/plugins/extension/lang/fr/intro_templates.txt new file mode 100644 index 000000000..a0a1336ea --- /dev/null +++ b/lib/plugins/extension/lang/fr/intro_templates.txt @@ -0,0 +1 @@ +Voici la liste des thèmes actuellement installés. Le [[?do=admin&page=config|gestionnaire de configuration]] vous permet de choisir le thème à utiliser.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/lang.php b/lib/plugins/extension/lang/fr/lang.php new file mode 100644 index 000000000..44d403847 --- /dev/null +++ b/lib/plugins/extension/lang/fr/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Schplurtz le Déboulonné <schplurtz@laposte.net> + * @author Yves Grandvalet <Yves.Grandvalet@laposte.net> + */ +$lang['menu'] = 'Gestionnaire d\'extensions'; +$lang['tab_plugins'] = 'Greffons installés'; +$lang['tab_templates'] = 'Thèmes installés'; +$lang['tab_search'] = 'Rechercher et installer'; +$lang['tab_install'] = 'Installation manuelle'; +$lang['notimplemented'] = 'Cette fonctionnalité n\'est pas encore installée'; +$lang['notinstalled'] = 'Cette extension n\'est pas installée'; +$lang['alreadyenabled'] = 'Cette extension a déjà été installée'; +$lang['alreadydisabled'] = 'Cette extension a déjà été désactivée'; +$lang['pluginlistsaveerror'] = 'Une erreur s\'est produite lors de l\'enregistrement de la liste des greffons.'; +$lang['unknownauthor'] = 'Auteur inconnu'; +$lang['unknownversion'] = 'Version inconnue'; +$lang['btn_info'] = 'Montrer plus d\'informations'; +$lang['btn_update'] = 'Mettre à jour'; +$lang['btn_uninstall'] = 'Désinstaller'; +$lang['btn_enable'] = 'Activer'; +$lang['btn_disable'] = 'Désactiver'; +$lang['btn_install'] = 'Installer'; +$lang['btn_reinstall'] = 'Réinstaller'; +$lang['js']['reallydel'] = 'Vraiment désinstaller cette extension'; +$lang['search_for'] = 'Rechercher l\'extension :'; +$lang['search'] = 'Chercher'; +$lang['extensionby'] = '<strong>%s</strong> de %s'; +$lang['screenshot'] = 'Aperçu de %s'; +$lang['popularity'] = 'Popularité : %s%%'; +$lang['homepage_link'] = 'Documents'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Étiquettes :'; +$lang['author_hint'] = 'Chercher les extensions de cet auteur'; +$lang['installed'] = 'Installés :'; +$lang['downloadurl'] = 'URL de téléchargement :'; +$lang['repository'] = 'Entrepôt : '; +$lang['unknown'] = '<em>inconnu</em>'; +$lang['installed_version'] = 'Version installée :'; +$lang['install_date'] = 'Votre dernière mise à jour :'; +$lang['available_version'] = 'Version disponible :'; +$lang['compatible'] = 'Compatible avec :'; +$lang['depends'] = 'Dépend de :'; +$lang['similar'] = 'Similaire à :'; +$lang['conflicts'] = 'En conflit avec :'; +$lang['donate'] = 'Vous aimez ?'; +$lang['donate_action'] = 'Payer un café à l\'auteur !'; +$lang['repo_retry'] = 'Réessayer'; +$lang['provides'] = 'Fournit :'; +$lang['status'] = 'État :'; +$lang['status_installed'] = 'installé'; +$lang['status_not_installed'] = 'non installé'; +$lang['status_protected'] = 'protégé'; +$lang['status_enabled'] = 'activé'; +$lang['status_disabled'] = 'désactivé'; +$lang['status_unmodifiable'] = 'non modifiable'; +$lang['status_plugin'] = 'greffon'; +$lang['status_template'] = 'thème'; +$lang['status_bundled'] = 'fourni'; +$lang['msg_enabled'] = 'Greffon %s activé'; +$lang['msg_disabled'] = 'Greffon %s désactivé'; +$lang['msg_delete_success'] = 'Extension %s désinstallée.'; +$lang['msg_delete_failed'] = 'Echec de la désinstallation de l\'extension %s'; +$lang['msg_template_install_success'] = 'Thème %s installée avec succès'; +$lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès'; +$lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès'; +$lang['msg_plugin_update_success'] = 'Greffon %s mis à jour avec succès'; +$lang['msg_upload_failed'] = 'Téléversement échoué'; +$lang['missing_dependency'] = '<strong>Dépendance absente ou désactivée :</strong> %s'; +$lang['security_issue'] = '<strong>Problème de sécurité :</strong> %s'; +$lang['security_warning'] = '<strong>Avertissement deSécurité :</strong> %s'; +$lang['update_available'] = '<strong>Mise à jour :</strong> La version %s est disponible.'; +$lang['wrong_folder'] = '<strong>Greffon installé incorrectement :</strong> Renomer le dossier du greffon "%s" en "%s".'; +$lang['url_change'] = '<strong>URL modifié :</strong> L\'URL de téléchargement a changé depuis le dernier téléchargement. Vérifiez si l\'URL est valide avant de mettre à jour l\'extension.<br />Nouvel URL : %s<br />Ancien : %s'; +$lang['error_badurl'] = 'Les URL doivent commencer par http ou https'; +$lang['error_dircreate'] = 'Impossible de créer le dossier temporaire pour le téléchargement.'; +$lang['error_download'] = 'Impossible de télécharger le fichier : %s'; +$lang['error_decompress'] = 'Impossible de décompresser le fichier téléchargé. C\'est peut être le résultat d\'une erreur de téléchargement, auquel cas vous devriez réessayer. Le format de compression est peut-être inconnu. Dans ce cas il vous faudra procéder à une installation manuelle.'; +$lang['error_findfolder'] = 'Impossible d\'idnetifier le dossier de l\'extension. vous devez procéder à une installation manuelle.'; +$lang['error_copy'] = 'Une erreur de copie de fichier s\'est produite lors de l\'installation des fichiers dans le dossier <em>%s</em>. Il se peut que le disque soit plein, ou que les permissions d\'accès aux fichiers soient incorrectes. Il est possible que le greffon soit partiellement installé et que cela laisse votre installation de DoluWiki instable.'; +$lang['noperms'] = 'Impossible d\'écrire dans le dossier des extensions.'; +$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.'; +$lang['nopluginperms'] = 'Impossible d\'écrire dans le dossier des greffons.'; +$lang['git'] = 'Cette extension a été installé via git, vous voudrez peut-être ne pas la mettre à jour ici.'; +$lang['auth'] = 'Votre configuration n\'utilise pas ce greffon d\'authentification. Vous devriez songer à le désactiver.'; +$lang['install_url'] = 'Installez depuis l\'URL :'; +$lang['install_upload'] = 'Téléversez l\'extension :'; +$lang['repo_error'] = 'L\'entrepôt d\'extensions est injoignable. Veuillez vous assurer que le server web est autorisé à contacter www.dokuwiki.org et vérifier les réglages de proxy.'; +$lang['nossl'] = 'Votre version de PHP semble ne pas prendre en charge SSL. Le téléchargement de nombreuses extensions va échouer.'; diff --git a/lib/plugins/extension/lang/hr/intro_install.txt b/lib/plugins/extension/lang/hr/intro_install.txt new file mode 100644 index 000000000..fc2d22f52 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_install.txt @@ -0,0 +1 @@ +Ovdje možete ručno instalirati dodatak (plugin) i predložak (template) bilo učitavanjem ili specificiranjem URL-a za direktno učitavanje.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_plugins.txt b/lib/plugins/extension/lang/hr/intro_plugins.txt new file mode 100644 index 000000000..fdc629d62 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_plugins.txt @@ -0,0 +1 @@ +Ovo su dodaci (plugin) trenutno instalirani na Vašem DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti deinstalirati. Nadogradnje dodataka su također prikazane, obavezno pročitajte dokumentaciju dodatka prije nadogradnje.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_search.txt b/lib/plugins/extension/lang/hr/intro_search.txt new file mode 100644 index 000000000..93bf4b000 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_search.txt @@ -0,0 +1 @@ +Ovaj tab vam pruža pristup dostupnim dodatcima i predlošcima za DokuWiki od treće strane. Molimo budite svjesni da instaliranje koda od treće strane može biti **sigurnosni rizik**, možda želite prvo pročitati o [[doku>security#plugin_security|sigurnosti dodataka]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_templates.txt b/lib/plugins/extension/lang/hr/intro_templates.txt new file mode 100644 index 000000000..968906cf9 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_templates.txt @@ -0,0 +1 @@ +Ovo su predlošci trenutno instalirani na Vašem DokuWiki-u. Možete odabrati koji se predložak koristi na [[?do=admin&page=config|Upravitelju postavki]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/lang.php b/lib/plugins/extension/lang/hr/lang.php new file mode 100644 index 000000000..e51d8cba3 --- /dev/null +++ b/lib/plugins/extension/lang/hr/lang.php @@ -0,0 +1,91 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['menu'] = 'Upravitelj proširenja'; +$lang['tab_plugins'] = 'Ugrađeni dodatci'; +$lang['tab_templates'] = 'Ugrađeni predlošci'; +$lang['tab_search'] = 'Potraži i ugradi'; +$lang['tab_install'] = 'Ručna ugradnja'; +$lang['notimplemented'] = 'Ova mogućnost još nije napravljena'; +$lang['notinstalled'] = 'Proširenje nije ugrađeno'; +$lang['alreadyenabled'] = 'Ovo proširenje je već omogućeno'; +$lang['alreadydisabled'] = 'Ovo proširenje je već onemogućeno'; +$lang['pluginlistsaveerror'] = 'Dogodila se greška pri snimanju liste dodataka'; +$lang['unknownauthor'] = 'Nepoznat autor'; +$lang['unknownversion'] = 'Nepoznata inačica'; +$lang['btn_info'] = 'Prikaži više informacija'; +$lang['btn_update'] = 'Ažuriraj'; +$lang['btn_uninstall'] = 'Ukloni'; +$lang['btn_enable'] = 'Omogući'; +$lang['btn_disable'] = 'Onemogući'; +$lang['btn_install'] = 'Ugradi'; +$lang['btn_reinstall'] = 'Ponovno ugradi'; +$lang['js']['reallydel'] = 'Zaista ukloniti ovo proširenje?'; +$lang['search_for'] = 'Pretraži proširenja'; +$lang['search'] = 'Pretraži'; +$lang['extensionby'] = '<strong>%s</strong> po %s'; +$lang['screenshot'] = 'Slika zaslona od %s'; +$lang['popularity'] = 'Popularnost: %s%%'; +$lang['homepage_link'] = 'Upute'; +$lang['bugs_features'] = 'Greške'; +$lang['tags'] = 'Oznake:'; +$lang['author_hint'] = 'Potraži proširenja od ovog autora'; +$lang['installed'] = 'Ugrađeno:'; +$lang['downloadurl'] = 'URL adresa preuzimanja:'; +$lang['repository'] = 'Repozitorij:'; +$lang['unknown'] = '<em>nepoznat</em>'; +$lang['installed_version'] = 'Ugrađena inačica:'; +$lang['install_date'] = 'Vaše zadnje osvježavanje:'; +$lang['available_version'] = 'Dostupna inačica'; +$lang['compatible'] = 'Kompatibilan s:'; +$lang['depends'] = 'Zavisi o:'; +$lang['similar'] = 'Sličan s:'; +$lang['conflicts'] = 'U sukobu s:'; +$lang['donate'] = 'Poput ovog?'; +$lang['donate_action'] = 'Kupite autoru kavu!'; +$lang['repo_retry'] = 'Ponovi'; +$lang['provides'] = 'Osigurava:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'ugrađen'; +$lang['status_not_installed'] = 'nije ugrađen'; +$lang['status_protected'] = 'zaštićen'; +$lang['status_enabled'] = 'omogućen'; +$lang['status_disabled'] = 'onemogućen'; +$lang['status_unmodifiable'] = 'neizmjenjiv'; +$lang['status_plugin'] = 'dodatak'; +$lang['status_template'] = 'predložak'; +$lang['status_bundled'] = 'ugrađen'; +$lang['msg_enabled'] = 'Dodatak %s omogućen'; +$lang['msg_disabled'] = 'Dodatak %s onemogućen'; +$lang['msg_delete_success'] = 'Proširenje %s uklonjeno'; +$lang['msg_delete_failed'] = 'Uklanjanje proširenja %s nije uspjelo'; +$lang['msg_template_install_success'] = 'Predložak %s uspješno ugrađen'; +$lang['msg_template_update_success'] = 'Predložak %s uspješno nadograđen'; +$lang['msg_plugin_install_success'] = 'Dodatak %s uspješno ugrađen'; +$lang['msg_plugin_update_success'] = 'Dodatak %s uspješno nadograđen'; +$lang['msg_upload_failed'] = 'Učitavanje datoteke nije uspjelo'; +$lang['missing_dependency'] = '<strong>Nedostaje ili onemogućena zavisnost:</strong> %s'; +$lang['security_issue'] = '<strong>Sigurnosno pitanje:</strong> %s'; +$lang['security_warning'] = '<strong>Sigurnosno upozorenje:</strong> %s'; +$lang['update_available'] = '<strong>Nadogranja:</strong> Nova inačica %s je dostupna.'; +$lang['wrong_folder'] = '<strong>Dodatak neispravno ugrađen:</strong> Preimenujte mapu dodatka iz "%s" u "%s".'; +$lang['url_change'] = '<strong>URL izmijenjen:</strong> Adresa za preuzimanje je promijenjena od zadnjeg preuzimanja. Provjerite da li je novu URL valjan prije nadogradnje proširenja.<br />Novi: %s<br />Stari: %s'; +$lang['error_badurl'] = 'URL adrese trebaju započinjati sa http ili https'; +$lang['error_dircreate'] = 'Ne mogu napraviti privremenu mapu za prihvat preuzimanja'; +$lang['error_download'] = 'Ne mogu preuzeti datoteku: %s'; +$lang['error_decompress'] = 'Ne mogu raspakirati preuzetu datoteku. To može biti rezultati lošeg preuzimanja i tada treba pokušati ponovo; ili format sažimanja je nepoznat i u tom slučaju treba datoteku ručno preuzeti i ugraditi.'; +$lang['error_findfolder'] = 'Ne mogu odrediti mapu proširenja, trebate ga ručno preuzeti i ugraditi'; +$lang['error_copy'] = 'Dogodila se greška pri kopiranju dok je pokušavanja ugradnja datoteka u mapu <em>%s</em>: disk može biti pun ili dozvole pristupa nisu dobre. Ovo može rezultirati djelomično ugrađenim dodatkom i može učiniti Vaš wiki nestabilnim'; +$lang['noperms'] = 'Nije moguće pisati u mapu proširanja'; +$lang['notplperms'] = 'Nije moguće pisati u mapu predloška'; +$lang['nopluginperms'] = 'Nije moguće pisati u mapu dodatka'; +$lang['git'] = 'Proširenje je ugrađeno preko Git-a, možda ga ne želite nadograđivati ovdje.'; +$lang['auth'] = 'Autorizacijski dodatak nije podešen, razmotrite njegovo onemogućavanje kao dodatka.'; +$lang['install_url'] = 'Ugradi s URL-a:'; +$lang['install_upload'] = 'Učitaj proširenje:'; +$lang['repo_error'] = 'Repozitorij dodataka nije dostupan. Budite sigurni da server može pristupiti www.dokuwiki.org i provjerite proxy postavke.'; +$lang['nossl'] = 'Izgleda da korišteni PHP ne podržava SSL. Učitavanje neće raditi na mnogim DokuWiki dodatcima.'; diff --git a/lib/plugins/extension/lang/hu/intro_install.txt b/lib/plugins/extension/lang/hu/intro_install.txt new file mode 100644 index 000000000..8427e7dc6 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_install.txt @@ -0,0 +1 @@ +Itt új modulokat és sablonokat telepíthetsz feltöltéssel vagy a csomagra hivatkozó URL megadásával.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_plugins.txt b/lib/plugins/extension/lang/hu/intro_plugins.txt new file mode 100644 index 000000000..8a3e92ddb --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_plugins.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített modulok az alábbiak. Engedélyezheted, letilthatod vagy teljesen le is törölheted ezeket. A modulokhoz tartozó frissítések is itt láthatók, viszont frissítés előtt mindenképp olvasd el az utasításokat a modul dokumentációjában is!
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_search.txt b/lib/plugins/extension/lang/hu/intro_search.txt new file mode 100644 index 000000000..87a2a5d64 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_search.txt @@ -0,0 +1 @@ +Ezen a fülön harmadik fél által készített modulokat és sablonokat találsz a DokuWiki-hez. Ne feledd, hogy a harmadik féltől származó kódok **biztonsági kockázatot** jelenthetnek, ennek a [[doku>security#plugin_security|modulok biztonsága]] oldalon olvashatsz utána a telepítés előtt.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_templates.txt b/lib/plugins/extension/lang/hu/intro_templates.txt new file mode 100644 index 000000000..c0ad92b35 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_templates.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített sablonok az alábbiak. A használt sablont a [[?do=admin&page=config|Beállítóközpontban]] választhatod ki.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/lang.php b/lib/plugins/extension/lang/hu/lang.php new file mode 100644 index 000000000..a27b5a307 --- /dev/null +++ b/lib/plugins/extension/lang/hu/lang.php @@ -0,0 +1,88 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['menu'] = 'Bővítménykezelő'; +$lang['tab_plugins'] = 'Telepített modulok'; +$lang['tab_templates'] = 'Telepített sablonok'; +$lang['tab_search'] = 'Keresés és telepítés'; +$lang['tab_install'] = 'Kézi telepítés'; +$lang['notimplemented'] = 'Ez a funkció még nincs implementálva'; +$lang['notinstalled'] = 'Ez a bővítmény nincs telepítve'; +$lang['alreadyenabled'] = 'Ez a bővítmény már engedélyezve van'; +$lang['alreadydisabled'] = 'Ez a bővítmény már le van tiltva'; +$lang['pluginlistsaveerror'] = 'Hiba történt a modulok listájának mentésekor'; +$lang['unknownauthor'] = 'Ismeretlen szerző'; +$lang['unknownversion'] = 'Ismeretlen verzió'; +$lang['btn_info'] = 'További információk megjelenítése'; +$lang['btn_update'] = 'Frissítés'; +$lang['btn_uninstall'] = 'Törlés'; +$lang['btn_enable'] = 'Engedélyezés'; +$lang['btn_disable'] = 'Letiltás'; +$lang['btn_install'] = 'Telepítés'; +$lang['btn_reinstall'] = 'Újratelepítés'; +$lang['js']['reallydel'] = 'Biztosan törlöd ezt a bővítményt?'; +$lang['search_for'] = 'Bővítmények keresése:'; +$lang['search'] = 'Keresés'; +$lang['extensionby'] = '<strong>%s</strong>, %s szerzőtől'; +$lang['screenshot'] = '%s képernyőképe'; +$lang['popularity'] = 'Népszerűség: %s%%'; +$lang['homepage_link'] = 'Dokumentáció'; +$lang['bugs_features'] = 'Hibák'; +$lang['tags'] = 'Címkék:'; +$lang['author_hint'] = 'Bővítmények keresése ettől a szerzőtől'; +$lang['installed'] = 'Telepítve:'; +$lang['downloadurl'] = 'Csomag URL:'; +$lang['repository'] = 'Repository:'; +$lang['unknown'] = '<em>ismeretlen</em>'; +$lang['installed_version'] = 'Telepített verzió:'; +$lang['install_date'] = 'Utoljára frissítve:'; +$lang['available_version'] = 'Elérhető verzió:'; +$lang['compatible'] = 'Kompatibilis rendszerek:'; +$lang['depends'] = 'Függőségek:'; +$lang['similar'] = 'Hasonló bővítmények:'; +$lang['conflicts'] = 'Ütközést okozó bővítmények:'; +$lang['donate'] = 'Tetszik?'; +$lang['donate_action'] = 'Hívd meg a szerzőjét egy kávéra!'; +$lang['repo_retry'] = 'Újra'; +$lang['provides'] = 'Szolgáltatások:'; +$lang['status'] = 'Állapot:'; +$lang['status_installed'] = 'telepítve'; +$lang['status_not_installed'] = 'nincs telepítve'; +$lang['status_protected'] = 'védett'; +$lang['status_enabled'] = 'engedélyezve'; +$lang['status_disabled'] = 'letiltva'; +$lang['status_unmodifiable'] = 'nem lehet módosítani'; +$lang['status_plugin'] = 'modul'; +$lang['status_template'] = 'sablon'; +$lang['status_bundled'] = 'beépített'; +$lang['msg_enabled'] = 'A(z) %s modul engedélyezve'; +$lang['msg_disabled'] = 'A(z) %s modul letiltva'; +$lang['msg_delete_success'] = 'A bővítmény törölve'; +$lang['msg_template_install_success'] = 'A(z) %s sablon sikeresen telepítve'; +$lang['msg_template_update_success'] = 'A(z) %s sablon sikeresen frissítve'; +$lang['msg_plugin_install_success'] = 'A(z) %s modul sikeresen telepítve'; +$lang['msg_plugin_update_success'] = 'A(z) %s modul sikeresen frissítve'; +$lang['msg_upload_failed'] = 'A fájl feltöltése sikertelen'; +$lang['missing_dependency'] = '<strong>Hiányzó vagy letiltott függőség:</strong> %s'; +$lang['security_issue'] = '<strong>Biztonsági probléma:</strong> %s'; +$lang['security_warning'] = '<strong>Biztonsági figyelmeztetés:</strong> %s'; +$lang['update_available'] = '<strong>Frissítés:</strong> Elérhető %s új verziója.'; +$lang['wrong_folder'] = '<strong>A modul telepítése sikertelen:</strong> Nevezd át a modul könyvtárát "%s" névről "%s" névre!'; +$lang['url_change'] = '<strong>Az URL megváltozott:</strong> A csomag URL-je megváltozott az utolsó letöltés óta. A bővítmény frissítése előtt ellenőrizd az új URL helyességét!<br />Új: %s<br />Régi: %s'; +$lang['error_badurl'] = 'Az URL-nek "http"-vel vagy "https"-sel kell kezdődnie'; +$lang['error_dircreate'] = 'A letöltéshez az ideiglenes könyvtár létrehozása sikertelen'; +$lang['error_download'] = 'A(z) %s fájl letöltése sikertelen'; +$lang['error_decompress'] = 'A letöltött fájlt nem lehet kicsomagolni. Ezt okozhatja a fájl sérülése (ebben az esetben próbáld újra letölteni) vagy egy ismeretlen tömörítési formátum használata (ilyenkor kézzel kell telepítened).'; +$lang['error_findfolder'] = 'A bővítményhez tartozó könyvtárat nem sikerült megállapítani, kézzel kell letöltened és telepítened'; +$lang['error_copy'] = 'Egy fájl másolása közben hiba történt a <em>%s</em> könyvtárban: lehet, hogy a lemez megtelt vagy nincsenek megfelelő írási jogaid. A telepítés megszakadása a modul hibás működését eredményezheti és instabil állapotba hozhatja a wikit'; +$lang['noperms'] = 'A bővítmény könyvtára nem írható'; +$lang['notplperms'] = 'A sablon könyvtára nem írható'; +$lang['nopluginperms'] = 'A modul könyvtára nem írható'; +$lang['git'] = 'Ezt a bővítményt git-tel telepítették, lehet, hogy nem itt célszerű frissíteni'; +$lang['install_url'] = 'Telepítés erről az URL-ről:'; +$lang['install_upload'] = 'Bővítmény feltöltése:'; +$lang['repo_error'] = 'A modul repository-ja nem érhető el. Bizonyosodj meg róla, hogy a szervereden engedélyezett a www.dokuwiki.org cím elérése és ellenőrizd a proxy beállításaidat!'; diff --git a/lib/plugins/extension/lang/it/lang.php b/lib/plugins/extension/lang/it/lang.php new file mode 100644 index 000000000..1aa658e0f --- /dev/null +++ b/lib/plugins/extension/lang/it/lang.php @@ -0,0 +1,64 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Fabio <fabioslurp@yahoo.it> + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['unknownauthor'] = 'Autore sconosciuto'; +$lang['unknownversion'] = 'Revisione sconosciuta'; +$lang['btn_info'] = 'Mostra maggiori informazioni'; +$lang['btn_update'] = 'Aggiorna'; +$lang['btn_uninstall'] = 'Disinstalla'; +$lang['btn_enable'] = 'Abilita'; +$lang['btn_disable'] = 'Disabilita'; +$lang['btn_install'] = 'Installa'; +$lang['btn_reinstall'] = 'Reinstalla'; +$lang['js']['reallydel'] = 'Sicuro di disinstallare questa estensione?'; +$lang['search'] = 'Cerca'; +$lang['homepage_link'] = 'Documenti'; +$lang['bugs_features'] = 'Bug'; +$lang['tags'] = 'Tag:'; +$lang['author_hint'] = 'Cerca estensioni per questo autore'; +$lang['installed'] = 'Installato:'; +$lang['downloadurl'] = 'URL download:'; +$lang['repository'] = 'Repository'; +$lang['unknown'] = '<em>sconosciuto</em>'; +$lang['installed_version'] = 'Versione installata'; +$lang['install_date'] = 'Il tuo ultimo aggiornamento:'; +$lang['available_version'] = 'Versione disponibile:'; +$lang['compatible'] = 'Compatibile con:'; +$lang['depends'] = 'Dipende da:'; +$lang['similar'] = 'Simile a:'; +$lang['conflicts'] = 'Conflitto con:'; +$lang['donate'] = 'Simile a questo?'; +$lang['donate_action'] = 'Paga un caffè all\'autore!'; +$lang['repo_retry'] = 'Riprova'; +$lang['provides'] = 'Fornisce:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installato'; +$lang['status_not_installed'] = 'non installato'; +$lang['status_protected'] = 'protetto'; +$lang['status_enabled'] = 'abilitato'; +$lang['status_disabled'] = 'disabilitato'; +$lang['status_unmodifiable'] = 'inmodificabile'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'modello'; +$lang['msg_enabled'] = 'Plugin %s abilitato'; +$lang['msg_disabled'] = 'Plugin %s disabilitato'; +$lang['msg_delete_success'] = 'Estensione %s disinstallata'; +$lang['msg_plugin_install_success'] = 'Plugin %s installato con successo'; +$lang['msg_plugin_update_success'] = 'Plugin %s aggiornato con successo'; +$lang['msg_upload_failed'] = 'Caricamento del file fallito'; +$lang['missing_dependency'] = '<strong>Dipendenza mancante o disabilitata: </strong> %s'; +$lang['update_available'] = '<strong>Aggiornamento:</strong> Nuova versione %s disponibile.'; +$lang['wrong_folder'] = '<strong>Plugin non installato correttamente:</strong> rinomina la directory del plugin "%s" in "%s".'; +$lang['error_badurl'] = 'URLs deve iniziare con http o https'; +$lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download'; +$lang['error_download'] = 'Impossibile scaricare il file: %s'; +$lang['noperms'] = 'La directory Extension non è scrivibile'; +$lang['notplperms'] = 'Il modello di cartella non è scrivibile'; +$lang['nopluginperms'] = 'La cartella plugin non è scrivibile'; +$lang['install_url'] = 'Installa da URL:'; diff --git a/lib/plugins/extension/lang/ja/intro_install.txt b/lib/plugins/extension/lang/ja/intro_install.txt new file mode 100644 index 000000000..9f99b8202 --- /dev/null +++ b/lib/plugins/extension/lang/ja/intro_install.txt @@ -0,0 +1 @@ +アップロードするかダウンロードURLを指定して、手動でプラグインやテンプレートをインストールできます。 diff --git a/lib/plugins/extension/lang/ja/intro_plugins.txt b/lib/plugins/extension/lang/ja/intro_plugins.txt new file mode 100644 index 000000000..b8251c7e8 --- /dev/null +++ b/lib/plugins/extension/lang/ja/intro_plugins.txt @@ -0,0 +1 @@ +このDokuWikiに現在インストールされているプラグインです。これらプラグインを有効化、無効化、アンインストールできます。更新はできる場合のみ表示されます。更新前に、プラグインの解説をお読みください。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ja/intro_search.txt b/lib/plugins/extension/lang/ja/intro_search.txt new file mode 100644 index 000000000..66d977b1b --- /dev/null +++ b/lib/plugins/extension/lang/ja/intro_search.txt @@ -0,0 +1 @@ +このタブでは、DokuWiki用の利用可能なすべてのサードパーティのプラグインとテンプレートにアクセスできます。サードパーティ製のコードには、**セキュリティ上のリスク**の可能性があることに注意してください、最初に[[doku>ja:security#プラグインのセキュリティ|プラグインのセキュリティ]]を読むことをお勧めします。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ja/intro_templates.txt b/lib/plugins/extension/lang/ja/intro_templates.txt new file mode 100644 index 000000000..5de6d2f0d --- /dev/null +++ b/lib/plugins/extension/lang/ja/intro_templates.txt @@ -0,0 +1 @@ +このDokuWikiに現在インストールされているテンプレートです。使用するテンプレートは[[?do=admin&page=config|設定管理]]で選択できます。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ja/lang.php b/lib/plugins/extension/lang/ja/lang.php new file mode 100644 index 000000000..ce6ed2b97 --- /dev/null +++ b/lib/plugins/extension/lang/ja/lang.php @@ -0,0 +1,93 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> + * @author Satoshi Sahara <sahara.satoshi@gmail.com> + */ +$lang['menu'] = '拡張機能管理'; +$lang['tab_plugins'] = 'インストール済プラグイン'; +$lang['tab_templates'] = 'インストール済テンプレート'; +$lang['tab_search'] = '検索とインストール'; +$lang['tab_install'] = '手動インストール'; +$lang['notimplemented'] = 'この機能は未実装です。'; +$lang['notinstalled'] = 'この拡張機能はインストールされていません。'; +$lang['alreadyenabled'] = 'この拡張機能は有効です。'; +$lang['alreadydisabled'] = 'この拡張機能は無効です。'; +$lang['pluginlistsaveerror'] = 'プラグイン一覧の保存中にエラーが発生しました。'; +$lang['unknownauthor'] = '作者不明'; +$lang['unknownversion'] = 'バージョン不明'; +$lang['btn_info'] = '詳細情報を表示する。'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = 'アンインストール'; +$lang['btn_enable'] = '有効化'; +$lang['btn_disable'] = '無効化'; +$lang['btn_install'] = 'インストール'; +$lang['btn_reinstall'] = '再インストール'; +$lang['js']['reallydel'] = 'この拡張機能を本当にアンインストールしますか?'; +$lang['search_for'] = '拡張機能の検索:'; +$lang['search'] = '検索'; +$lang['extensionby'] = '<strong>%s</strong> 作者: %s'; +$lang['screenshot'] = '%s のスクリーンショット'; +$lang['popularity'] = '利用状況:%s%%'; +$lang['homepage_link'] = '解説'; +$lang['bugs_features'] = 'バグ'; +$lang['tags'] = 'タグ:'; +$lang['author_hint'] = 'この作者で拡張機能を検索'; +$lang['installed'] = 'インストール済:'; +$lang['downloadurl'] = 'ダウンロード URL:'; +$lang['repository'] = 'リポジトリ:'; +$lang['unknown'] = '<em>不明</em>'; +$lang['installed_version'] = 'インストール済バージョン:'; +$lang['install_date'] = '最終更新日:'; +$lang['available_version'] = '利用可能バージョン:'; +$lang['compatible'] = '互換:'; +$lang['depends'] = '依存:'; +$lang['similar'] = '類似:'; +$lang['conflicts'] = '競合:'; +$lang['donate'] = 'お気に入り?'; +$lang['donate_action'] = '寄付先'; +$lang['repo_retry'] = '再実行'; +$lang['provides'] = '提供:'; +$lang['status'] = '状態:'; +$lang['status_installed'] = 'インストール済'; +$lang['status_not_installed'] = '未インストール'; +$lang['status_protected'] = '保護されています'; +$lang['status_enabled'] = '有効'; +$lang['status_disabled'] = '無効'; +$lang['status_unmodifiable'] = '編集不可'; +$lang['status_plugin'] = 'プラグイン'; +$lang['status_template'] = 'テンプレート'; +$lang['status_bundled'] = '同梱'; +$lang['msg_enabled'] = '%s プラグインを有効化しました。'; +$lang['msg_disabled'] = '%s プラグインを無効化しました。'; +$lang['msg_delete_success'] = '拡張機能 %s をアンインストールしました。'; +$lang['msg_delete_failed'] = '拡張機能 %s のアンインストールに失敗しました。'; +$lang['msg_template_install_success'] = '%s テンプレートをインストールできました。'; +$lang['msg_template_update_success'] = '%s テンプレートを更新できました。'; +$lang['msg_plugin_install_success'] = '%s プラグインをインストールできました。'; +$lang['msg_plugin_update_success'] = '%s プラグインを更新できました。'; +$lang['msg_upload_failed'] = 'ファイルのアップロードに失敗しました。'; +$lang['missing_dependency'] = '<strong>依存関係が欠落または無効:</strong> %s'; +$lang['security_issue'] = '<strong>セキュリティ問題:</strong> %s'; +$lang['security_warning'] = '<strong>セキュリティ警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong> %sの新バージョンが利用可能です。'; +$lang['wrong_folder'] = '<strong>プラグインは正しくインストールされませんでした:</strong> プラグインのディレクトリを "%s" から "%s" へ変更して下さい。'; +$lang['url_change'] = '<strong>URL が変更されました:</strong> 最後にダウンロードした後、ダウンロード URL が変更されました。拡張機能のアップデート前に新 URL が正しいかを確認して下さい。<br />新:%s<br />旧:%s'; +$lang['error_badurl'] = 'URLはhttpかhttpsで始まる必要があります。'; +$lang['error_dircreate'] = 'ダウンロード用の一時フォルダが作成できません。'; +$lang['error_download'] = 'ファイルをダウンロードできません:%s'; +$lang['error_decompress'] = 'ダウンロードしたファイルを解凍できません。ダウンロードの失敗の結果であれば、再度試して下さい。圧縮形式が不明の場合は、手動でダウンロード・インストールしてください。'; +$lang['error_findfolder'] = '拡張機能ディレクトリを認識できません。手動でダウンロード・インストールしてください。'; +$lang['error_copy'] = '<em>%s</em> ディレクトリのファイルをインストールしようとした時、ファイルコピーエラーが発生しました:ディスクがいっぱいかもしれませんし、ファイルのアクセス権が正しくないかもしれません。プラグインが一部分インストールされ、wiki が不安定になるかもしれません。'; +$lang['noperms'] = '拡張機能ディレクトリが書き込み不可です。'; +$lang['notplperms'] = 'テンプレートディレクトリが書き込み不可です。'; +$lang['nopluginperms'] = 'プラグインディレクトリが書き込み不可です。'; +$lang['git'] = 'この拡張機能は Git 経由でインストールされており、ここで更新すべきでないかもしれません。'; +$lang['auth'] = 'この認証プラグインは設定管理画面で無効化されています。'; +$lang['install_url'] = 'URL からインストール:'; +$lang['install_upload'] = '拡張機能をアップロード:'; +$lang['repo_error'] = 'プラグインのリポジトリに接続できません。サーバーが www.dokuwiki.org に接続できることやプロキシの設定を確認して下さい。'; +$lang['nossl'] = 'PHP機能がSSLをサポートしていないため、拡張機能のダウンロードが正常に動作しません。'; diff --git a/lib/plugins/extension/lang/ko/intro_install.txt b/lib/plugins/extension/lang/ko/intro_install.txt new file mode 100644 index 000000000..269df29cc --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_install.txt @@ -0,0 +1 @@ +여기에 플러그인과 템플릿을 수동으로 올리거나 직접 다운로드 URL을 제공하여 수동으로 설치할 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_plugins.txt b/lib/plugins/extension/lang/ko/intro_plugins.txt new file mode 100644 index 000000000..9ac7a3d89 --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_plugins.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 플러그인입니다. 여기에서 플러그인을 활성화 또는 비활성화하거나 심지어 완전히 제거할 수 있습니다. 또한 플러그인 업데이트는 여기에 보여집니다. 업데이트하기 전에 플러그인의 설명문서를 읽으십시오.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_search.txt b/lib/plugins/extension/lang/ko/intro_search.txt new file mode 100644 index 000000000..b6760264e --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_search.txt @@ -0,0 +1 @@ +이 탭은 도쿠위키를 위한 사용할 수 있는 모든 타사 플러그인과 템플릿에 접근하도록 제공합니다. 타사 코드를 설치하면 **보안 위험에 노출**될 수 있음을 유의하십시오, 먼저 [[doku>security#plugin_security|플러그인 보안]]에 대해 읽을 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_templates.txt b/lib/plugins/extension/lang/ko/intro_templates.txt new file mode 100644 index 000000000..d4320b880 --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_templates.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 템플릿입니다. [[?do=admin&page=config|환경 설정 관리자]]에서 사용하는 템플릿을 선택할 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/lang.php b/lib/plugins/extension/lang/ko/lang.php new file mode 100644 index 000000000..5dc5d8269 --- /dev/null +++ b/lib/plugins/extension/lang/ko/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Young gon Cha <garmede@gmail.com> + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['menu'] = '확장 기능 관리자'; +$lang['tab_plugins'] = '설치된 플러그인'; +$lang['tab_templates'] = '설치된 템플릿'; +$lang['tab_search'] = '검색하고 설치'; +$lang['tab_install'] = '수동 설치'; +$lang['notimplemented'] = '이 기능은 아직 구현되지 않았습니다'; +$lang['notinstalled'] = '이 확장 기능은 설치되어 있지 않습니다'; +$lang['alreadyenabled'] = '이 확장 기능이 이미 활성화되어 있습니다'; +$lang['alreadydisabled'] = '이 확장 기능이 이미 비활성화되어 있습니다'; +$lang['pluginlistsaveerror'] = '플러그인 목록을 저장하는 중 오류가 있었습니다'; +$lang['unknownauthor'] = '알 수 없는 저자'; +$lang['unknownversion'] = '알 수 없는 버전'; +$lang['btn_info'] = '정보 더 보기'; +$lang['btn_update'] = '업데이트'; +$lang['btn_uninstall'] = '제거'; +$lang['btn_enable'] = '활성화'; +$lang['btn_disable'] = '비활성화'; +$lang['btn_install'] = '설치'; +$lang['btn_reinstall'] = '다시 설치'; +$lang['js']['reallydel'] = '정말 이 확장 기능을 제거하겠습니까?'; +$lang['search_for'] = '확장 기능 검색:'; +$lang['search'] = '검색'; +$lang['extensionby'] = '<strong>%s</strong> (저자 %s)'; +$lang['screenshot'] = '%s의 스크린샷'; +$lang['popularity'] = '인기: %s%%'; +$lang['homepage_link'] = '문서'; +$lang['bugs_features'] = '버그'; +$lang['tags'] = '태그:'; +$lang['author_hint'] = '이 저자로 확장 기능 검색'; +$lang['installed'] = '설치됨:'; +$lang['downloadurl'] = '다운로드 URL:'; +$lang['repository'] = '저장소:'; +$lang['unknown'] = '<em>알 수 없음</em>'; +$lang['installed_version'] = '설치된 버전:'; +$lang['install_date'] = '마지막 업데이트:'; +$lang['available_version'] = '가능한 버전:'; +$lang['compatible'] = '다음과의 호환성:'; +$lang['depends'] = '다음에 의존:'; +$lang['similar'] = '다음과 비슷:'; +$lang['conflicts'] = '다음과 충돌:'; +$lang['donate'] = '이것이 좋나요?'; +$lang['donate_action'] = '저자에게 커피를 사주세요!'; +$lang['repo_retry'] = '다시 시도'; +$lang['provides'] = '제공:'; +$lang['status'] = '상태:'; +$lang['status_installed'] = '설치됨'; +$lang['status_not_installed'] = '설치되지 않음'; +$lang['status_protected'] = '보호됨'; +$lang['status_enabled'] = '활성화됨'; +$lang['status_disabled'] = '비활성화됨'; +$lang['status_unmodifiable'] = '수정할 수 없음'; +$lang['status_plugin'] = '플러그인'; +$lang['status_template'] = '템플릿'; +$lang['status_bundled'] = '포함'; +$lang['msg_enabled'] = '%s 플러그인이 활성화되었습니다'; +$lang['msg_disabled'] = '%s 플러그인이 비활성화되었습니다'; +$lang['msg_delete_success'] = '%s 확장 기능이 제거되었습니다'; +$lang['msg_delete_failed'] = '%s 확장 기능 제거에 실패했습니다'; +$lang['msg_template_install_success'] = '%s 템플릿을 성공적으로 설치했습니다'; +$lang['msg_template_update_success'] = '%s 템플릿을 성공적으로 업데이트했습니다'; +$lang['msg_plugin_install_success'] = '%s 플러그인을 성공적으로 설치했습니다'; +$lang['msg_plugin_update_success'] = '%s 플러그인을 성공적으로 업데이트했습니다'; +$lang['msg_upload_failed'] = '파일 올리기에 실패했습니다'; +$lang['missing_dependency'] = '<strong>의존성을 잃었거나 비활성화되어 있습니다:</strong> %s'; +$lang['security_issue'] = '<strong>보안 문제:</strong> %s'; +$lang['security_warning'] = '<strong>보안 경고:</strong> %s'; +$lang['update_available'] = '<strong>업데이트:</strong> 새 버전 %s(을)를 사용할 수 있습니다.'; +$lang['wrong_folder'] = '<strong>플러그인이 올바르지 않게 설치됨:</strong> 플러그인 디렉터리를 "%s"에서 "%s"로 이름을 바꾸세요.'; +$lang['url_change'] = '<strong>URL이 바뀜:</strong> 다운로드 URL이 최신 다운로드 이래로 바뀌었습니다. 확장 기능을 업데이트하기 전에 새 URL이 올바른지 확인하세요.<br />새 URL: %s<br />오래된 URL: %s'; +$lang['error_badurl'] = 'URL은 http나 https로 시작해야 합니다'; +$lang['error_dircreate'] = '다운로드를 받을 임시 폴더를 만들 수 없습니다'; +$lang['error_download'] = '파일을 다운로드할 수 없습니다: %s'; +$lang['error_decompress'] = '다운로드한 파일의 압축을 풀 수 없습니다. 이는 아마도 잘못된 다운로드의 결과로, 이럴 경우 다시 시도해야 합니다; 또는 압축 형식을 알 수 없으며, 이럴 경우 수동으로 다운로드하고 설치해야 합니다.'; +$lang['error_findfolder'] = '확장 기능 디렉터리를 식별할 수 없습니다, 수동으로 다운로드하고 설치해야 합니다'; +$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인이 부분적으로 설치되어 위키가 불안정할지도 모릅니다'; +$lang['noperms'] = '확장 기능 디렉터리에 쓸 수 없습니다'; +$lang['notplperms'] = '임시 디렉터리에 쓸 수 없습니다'; +$lang['nopluginperms'] = '플러그인 디렉터리에 쓸 수 없습니다'; +$lang['git'] = '이 확장 기능은 git를 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.'; +$lang['auth'] = '이 인증 플러그인은 환경 설정에서 활성화할 수 없습니다, 그것을 비활성화하는 것을 고려하세요.'; +$lang['install_url'] = 'URL에서 설치:'; +$lang['install_upload'] = '확장 기능 올리기:'; +$lang['repo_error'] = '플러그인 저장소에 연결할 수 없습니다. 서버가 www.dokuwiki.org에 연결할 수 있는지 확인하고 프록시 설정을 확인하세요.'; +$lang['nossl'] = 'PHP가 SSL 지원을 하지 않는 것으로 보입니다. 많은 도쿠위키 확장 기능의 다운로드가 작동하지 않을 것입니다.'; diff --git a/lib/plugins/extension/lang/lv/intro_templates.txt b/lib/plugins/extension/lang/lv/intro_templates.txt new file mode 100644 index 000000000..1014c7c1e --- /dev/null +++ b/lib/plugins/extension/lang/lv/intro_templates.txt @@ -0,0 +1 @@ +DokuWiki ir instalēti šādi šabloni. Lietojamo šablonu var norādīt [[?do=admin&page=config|Konfigurācijas lapā]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/lv/lang.php b/lib/plugins/extension/lang/lv/lang.php new file mode 100644 index 000000000..e7e9bdfd9 --- /dev/null +++ b/lib/plugins/extension/lang/lv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['msg_delete_success'] = 'Papildinājums atinstalēts'; diff --git a/lib/plugins/extension/lang/nl/intro_install.txt b/lib/plugins/extension/lang/nl/intro_install.txt new file mode 100644 index 000000000..6a0b41055 --- /dev/null +++ b/lib/plugins/extension/lang/nl/intro_install.txt @@ -0,0 +1 @@ +Hier kunt u handmatig plugins en templates installeren door deze te uploaden of door een directe download URL op te geven.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/intro_plugins.txt b/lib/plugins/extension/lang/nl/intro_plugins.txt new file mode 100644 index 000000000..e12bdf0f8 --- /dev/null +++ b/lib/plugins/extension/lang/nl/intro_plugins.txt @@ -0,0 +1 @@ +Dit zijn de momenteel in uw Dokuwiki geïnstalleerde plugins. U kunt deze hier aan of uitschakelen danwel geheel deïnstalleren. Plugin updates zijn hier ook opgenomen, lees de plugin documentatie voordat u update.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/intro_search.txt b/lib/plugins/extension/lang/nl/intro_search.txt new file mode 100644 index 000000000..f0c8d7435 --- /dev/null +++ b/lib/plugins/extension/lang/nl/intro_search.txt @@ -0,0 +1 @@ +Deze tab verschaft u toegang tot alle plugins en templates vervaardigd door derden en bestemd voor Dokuwiki. Houdt er rekening mee dat indien u Plugins van derden installeert deze een **veiligheids risico ** kunnen bevatten, geadviseerd wordt om eerst te lezen [[doku>security#plugin_security|plugin security]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/intro_templates.txt b/lib/plugins/extension/lang/nl/intro_templates.txt new file mode 100644 index 000000000..52c96cef7 --- /dev/null +++ b/lib/plugins/extension/lang/nl/intro_templates.txt @@ -0,0 +1 @@ +Deze templates zijn thans in DokuWiki geïnstalleerd. U kunt een template selecteren middels [[?do=admin&page=config|Configuration Manager]] .
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php new file mode 100644 index 000000000..194b4b3e1 --- /dev/null +++ b/lib/plugins/extension/lang/nl/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Rene <wllywlnt@yahoo.com> + * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Johan Vervloet <johan.vervloet@gmail.com> + * @author Mijndert <mijndert@mijndertstuij.nl> + */ +$lang['menu'] = 'Uitbreidingen'; +$lang['tab_plugins'] = 'Geïnstalleerde Plugins'; +$lang['tab_templates'] = 'Geïnstalleerde Templates'; +$lang['tab_search'] = 'Zoek en installeer'; +$lang['tab_install'] = 'Handmatige installatie'; +$lang['notimplemented'] = 'Deze toepassing is nog niet geïnstalleerd'; +$lang['notinstalled'] = 'Deze uitbreiding is nog niet geïnstalleerd'; +$lang['alreadyenabled'] = 'Deze uitbreiding is reeds ingeschakeld'; +$lang['alreadydisabled'] = 'Deze uitbreiding is reeds uitgeschakeld'; +$lang['pluginlistsaveerror'] = 'Fout bij het opslaan van de plugin lijst'; +$lang['unknownauthor'] = 'Onbekende auteur'; +$lang['unknownversion'] = 'Onbekende versie'; +$lang['btn_info'] = 'Toon meer informatie'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Deinstalleer'; +$lang['btn_enable'] = 'Schakel aan'; +$lang['btn_disable'] = 'Schakel uit'; +$lang['btn_install'] = 'Installeer'; +$lang['btn_reinstall'] = 'Her-installeer'; +$lang['js']['reallydel'] = 'Wilt u deze uitbreiding deinstalleren?'; +$lang['search_for'] = 'Zoek Uitbreiding:'; +$lang['search'] = 'Zoek'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Schermafdruk bij %s'; +$lang['popularity'] = 'Populariteit:%s%%'; +$lang['homepage_link'] = 'Documentatie'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Zoek uitbreidingen van deze auteur:'; +$lang['installed'] = 'Geinstalleerd:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['repository'] = 'Centrale opslag:'; +$lang['unknown'] = '<em>onbekend</em>'; +$lang['installed_version'] = 'Geïnstalleerde versie:'; +$lang['install_date'] = 'Uw laatste update:'; +$lang['available_version'] = 'Beschikbare versie:'; +$lang['compatible'] = 'Compatible met:'; +$lang['depends'] = 'Afhankelijk van:'; +$lang['similar'] = 'Soortgelijk:'; +$lang['conflicts'] = 'Conflicteerd met:'; +$lang['donate'] = 'Vindt u dit leuk?'; +$lang['donate_action'] = 'Koop een kop koffie voor de auteur!'; +$lang['repo_retry'] = 'Herhaal'; +$lang['provides'] = 'Zorgt voor:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'Geïnstalleerd'; +$lang['status_not_installed'] = 'niet geïnstalleerd '; +$lang['status_protected'] = 'beschermd'; +$lang['status_enabled'] = 'ingeschakeld'; +$lang['status_disabled'] = 'uitgeschakeld'; +$lang['status_unmodifiable'] = 'Niet wijzigbaar'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['status_bundled'] = 'Gebundeld'; +$lang['msg_enabled'] = 'Plugin %s ingeschakeld'; +$lang['msg_disabled'] = 'Plugin %s uitgeschakeld'; +$lang['msg_delete_success'] = 'Uitbreiding %s gedeinstalleerd'; +$lang['msg_delete_failed'] = 'Het deïnstalleren van de extensie %s is mislukt.'; +$lang['msg_template_install_success'] = 'Template %s werd succesvol geïnstalleerd'; +$lang['msg_template_update_success'] = 'Template %s werd succesvol geüpdatet'; +$lang['msg_plugin_install_success'] = 'Plugin %s werd succesvol geïnstalleerd'; +$lang['msg_plugin_update_success'] = 'Plugin %s werd succesvol geüpdatet'; +$lang['msg_upload_failed'] = 'Uploaden van het bestand is mislukt'; +$lang['missing_dependency'] = '<strong>niet aanwezige of uitgeschakelde afhankelijkheid</strong> %s'; +$lang['security_issue'] = '<strong>Veiligheids kwestie:</strong> %s'; +$lang['security_warning'] = '<strong>Veiligheids Waarschuwing</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> Nieuwe versie %s is beschikbaar.'; +$lang['wrong_folder'] = '<strong>Plugin onjuist geïnstalleerd:</strong> Hernoem de plugin directory van "%s" naar"%s"'; +$lang['url_change'] = '<strong>URL gewijzigd:</strong> Download URL is gewijzigd sinds de laatste download. Controleer of de nieuwe URL juist is voordat u de uitbreiding updatet. <br />Nieuw:%s<Br /> Vorig: %s'; +$lang['error_badurl'] = 'URLs moeten beginnen met http of https'; +$lang['error_dircreate'] = 'De tijdelijke map kon niet worden gemaakt om de download te ontvangen'; +$lang['error_download'] = 'Het is niet mogelijk het bestand te downloaden: %s'; +$lang['error_decompress'] = 'Onmogelijk om het gedownloade bestand uit te pakken. Dit is wellicht het gevolg van een onvolledige/onjuiste download, in welk geval u het nog eens moet proberen; of het compressie formaat is onbekend in welk geval u het bestand handmatig moet downloaden en installeren.'; +$lang['error_findfolder'] = 'Onmogelijk om de uitbreidings directory te vinden, u moet het zelf downloaden en installeren'; +$lang['error_copy'] = 'Er was een bestand kopieer fout tijdens het installeren van bestanden in directory <em>%s</em>: de schijf kan vol zijn of de bestand toegangs rechten kunnen onjuist zijn. Dit kan tot gevolg hebben dat de plugin slechts gedeeltelijk werd geïnstalleerd waardoor uw wiki installatie onstabiel is '; +$lang['noperms'] = 'Uitbreidings directory is niet schrijfbaar'; +$lang['notplperms'] = 'Template directory is niet schrijfbaar'; +$lang['nopluginperms'] = 'Plugin directory is niet schrijfbaar'; +$lang['git'] = 'De uitbreiding werd geïnstalleerd via git, u wilt deze hier wellicht niet aanpassen.'; +$lang['install_url'] = 'Installeer vanaf URL:'; +$lang['install_upload'] = 'Upload Uitbreiding:'; +$lang['repo_error'] = 'Er kon geen verbinding worden gemaakt met de centrale plugin opslag. Controleer of de server verbinding mag maken met www.dokuwiki.org en controleer de proxy instellingen.'; diff --git a/lib/plugins/extension/lang/pl/lang.php b/lib/plugins/extension/lang/pl/lang.php new file mode 100644 index 000000000..4fdca79c9 --- /dev/null +++ b/lib/plugins/extension/lang/pl/lang.php @@ -0,0 +1,39 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mati <mackosa@wp.pl> + */ +$lang['menu'] = 'Menedżer rozszerzeń'; +$lang['tab_plugins'] = 'Zainstalowane dodatki'; +$lang['tab_search'] = 'Znajdź i zainstaluj'; +$lang['notinstalled'] = 'Te rozszerzenie nie zostało zainstalowane'; +$lang['alreadyenabled'] = 'Te rozszerzenie jest już uruchomione'; +$lang['unknownauthor'] = 'Nieznany autor'; +$lang['unknownversion'] = 'Nieznana wersja'; +$lang['btn_info'] = 'Pokaż więcej informacji'; +$lang['btn_enable'] = 'Uruchom'; +$lang['btn_disable'] = 'Wyłącz'; +$lang['btn_reinstall'] = 'Ponowna instalacja'; +$lang['js']['reallydel'] = 'Naprawdę odinstalować te rozszerzenie?'; +$lang['search'] = 'Szukaj'; +$lang['bugs_features'] = 'Błędy'; +$lang['tags'] = 'Tagi:'; +$lang['installed'] = 'Zainstalowano:'; +$lang['repository'] = 'Repozytorium'; +$lang['installed_version'] = 'Zainstalowana wersja:'; +$lang['install_date'] = 'Twoja ostatnia aktualizacja:'; +$lang['available_version'] = 'Dostępna wersja:'; +$lang['depends'] = 'Zależy od:'; +$lang['conflicts'] = 'Konflikt z:'; +$lang['donate'] = 'Lubisz to?'; +$lang['donate_action'] = 'Kup autorowi kawę!'; +$lang['repo_retry'] = 'Ponów'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'zainstalowano'; +$lang['status_not_installed'] = 'nie zainstalowano'; +$lang['status_enabled'] = 'uruchomione'; +$lang['status_disabled'] = 'wyłączone'; +$lang['status_plugin'] = 'dodatek'; +$lang['msg_delete_success'] = 'Rozszerzenie odinstalowane'; diff --git a/lib/plugins/extension/lang/pt-br/intro_install.txt b/lib/plugins/extension/lang/pt-br/intro_install.txt new file mode 100644 index 000000000..08527b0f6 --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_install.txt @@ -0,0 +1 @@ +Aqui você pode instalar extensões e modelos manualmente, ou subindo eles ou submetendo uma URL de baixar diretamente.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_plugins.txt b/lib/plugins/extension/lang/pt-br/intro_plugins.txt new file mode 100644 index 000000000..e0a8c7f3f --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_plugins.txt @@ -0,0 +1 @@ +Estas são as extensões instaladas atualmente no seu DokuWiki. Você pode habilitar ou desabilitar ou desinstalar completamente elas aqui. Atualizações das extensões também são mostradas, certifique-se de ler a documentação da extensão antes de atualizá-la.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_search.txt b/lib/plugins/extension/lang/pt-br/intro_search.txt new file mode 100644 index 000000000..f2101d73b --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_search.txt @@ -0,0 +1 @@ +Esta aba lhe dá acesso a extensões e modelos disponibilizados por terceiros para o DokuWiki. Favor ter cuidado pois instalar código de terceiros pode acarretar um **risco de segurança**, você poderia ler sobre [[doku>security#plugin_security|segurança de extensões]] primeiramente.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_templates.txt b/lib/plugins/extension/lang/pt-br/intro_templates.txt new file mode 100644 index 000000000..aa3e07f0c --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_templates.txt @@ -0,0 +1 @@ +Estes são os modelos instalados atualmente no seu DokuWiki. Você pode selecionar o modelo a ser usado no [[?do=admin&page=config|Configuration Manager]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/lang.php b/lib/plugins/extension/lang/pt-br/lang.php new file mode 100644 index 000000000..0d897616a --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/lang.php @@ -0,0 +1,75 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@gmail.com> + */ +$lang['menu'] = 'Gerenciador de extensões'; +$lang['tab_plugins'] = 'Extensões instaladas'; +$lang['tab_templates'] = 'Modelos instalados'; +$lang['tab_search'] = 'Procurar e instalar'; +$lang['tab_install'] = 'Instalar manualmente'; +$lang['notimplemented'] = 'Esta função ainda não foi implementada'; +$lang['notinstalled'] = 'Esta extensão não está instalada'; +$lang['alreadyenabled'] = 'Esta extensão já foi habilitada'; +$lang['alreadydisabled'] = 'Esta extensão já foi desabilitada'; +$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de extensões'; +$lang['unknownauthor'] = 'Autor desconhecido'; +$lang['unknownversion'] = 'Versão desconhecida'; +$lang['btn_info'] = 'Mostrar mais informações'; +$lang['btn_update'] = 'Atualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Habilitar'; +$lang['btn_disable'] = 'Desabilitar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Re-instalar'; +$lang['js']['reallydel'] = 'Quer mesmo desinstalar esta extensão?'; +$lang['search_for'] = 'Procurar extensão:'; +$lang['search'] = 'Procurar'; +$lang['extensionby'] = '<strong>%s</strong> de %s'; +$lang['screenshot'] = 'Tela congelada de %s'; +$lang['popularity'] = 'Popularidade: %s%%'; +$lang['homepage_link'] = 'Docs'; +$lang['bugs_features'] = 'Erros'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Procurar extensões deste autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL para baixar:'; +$lang['repository'] = 'Repositório:'; +$lang['unknown'] = '<em>desconhecido</em>'; +$lang['installed_version'] = 'Versão instalada:'; +$lang['install_date'] = 'Sua última atualização:'; +$lang['available_version'] = 'Versão disponível:'; +$lang['compatible'] = 'Compatível com:'; +$lang['depends'] = 'Depende de:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Colide com:'; +$lang['donate'] = 'Gostou deste?'; +$lang['donate_action'] = 'Pague um café ao autor!'; +$lang['repo_retry'] = 'Tentar de novo'; +$lang['provides'] = 'Disponibiliza:'; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'não instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'habilitado'; +$lang['status_disabled'] = 'desabilitado'; +$lang['status_unmodifiable'] = 'não modificável'; +$lang['status_plugin'] = 'extensão'; +$lang['status_template'] = 'modelo'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Extensão %s habilitada'; +$lang['msg_disabled'] = 'Extensão %s desabilitada'; +$lang['msg_delete_success'] = 'Extensão desinstalada'; +$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; +$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso'; +$lang['msg_plugin_install_success'] = 'Extensão %s instalada com sucesso'; +$lang['msg_plugin_update_success'] = 'Extensão %s atualizada com sucesso'; +$lang['msg_upload_failed'] = 'Subida do arquivo falhou'; +$lang['missing_dependency'] = '<strong>Dependência faltante ou desabilitada:</strong> %s'; +$lang['security_issue'] = '<strong>Problema com segurança:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso sobre segurança:</strong> %s'; +$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível.'; +$lang['wrong_folder'] = '<strong>Extensão instalada incorretamente:</strong> Renomeie o diretório de extensões "%s" para "%s".'; +$lang['url_change'] = '<strong>URL mudou:</strong> A URL para baixar mudou desde a última baixada. Verifique se a nova URL é válida antes de atualizar a extensão.<br />Novo: %s<br />Velho: %s'; diff --git a/lib/plugins/extension/lang/pt/intro_install.txt b/lib/plugins/extension/lang/pt/intro_install.txt new file mode 100644 index 000000000..5e5871391 --- /dev/null +++ b/lib/plugins/extension/lang/pt/intro_install.txt @@ -0,0 +1 @@ +Aqui você pode instalar manualmente plugins e modelos ou enviando-os (upload) ou fornecendo uma URL de download direto.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt/intro_plugins.txt b/lib/plugins/extension/lang/pt/intro_plugins.txt new file mode 100644 index 000000000..fcfaa5cea --- /dev/null +++ b/lib/plugins/extension/lang/pt/intro_plugins.txt @@ -0,0 +1 @@ +Estes são os plugins instalados atualmente em seu DokuWiki. Você pode ativar ou desativar ou desinstala-los completamente aqui. Atualizações de plugins também são mostradas aqui, não se esqueça de ler a documentação do plug-in antes de atualizar.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt/intro_search.txt b/lib/plugins/extension/lang/pt/intro_search.txt new file mode 100644 index 000000000..be39a9860 --- /dev/null +++ b/lib/plugins/extension/lang/pt/intro_search.txt @@ -0,0 +1 @@ +Esta guia lhe dá acesso a todos os plugins e modelos de terceiros disponíveis DokuWiki. Por favor, esteja ciente de que a instalação de componentes de terceiros pode representar um risco de segurança ** **, você pode querer ler sobre [[doku> segurança # plugin_security | segurança plug-in]] antes de realizar a instalação de módulos de terceiros.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt/intro_templates.txt b/lib/plugins/extension/lang/pt/intro_templates.txt new file mode 100644 index 000000000..ecdf99f17 --- /dev/null +++ b/lib/plugins/extension/lang/pt/intro_templates.txt @@ -0,0 +1 @@ +Estes são os modelos atualmente instalados em seu DokuWiki. Você pode selecionar o modelo a ser usado no [[Do = admin & page = configuração |? Configuration Manager]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php new file mode 100644 index 000000000..c7b4f29c2 --- /dev/null +++ b/lib/plugins/extension/lang/pt/lang.php @@ -0,0 +1,132 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Guido Salatino <guidorafael23@gmail.com> + */ +$lang['menu'] = 'Gerenciador de Extensões'; +$lang['tab_plugins'] = 'Plugins Instalados'; +$lang['tab_templates'] = 'Modelos Instalados'; +$lang['tab_search'] = 'Pesquisar e Instalar'; +$lang['tab_install'] = 'Instalação Manual'; +$lang['notimplemented'] = 'Este recurso não foi implementado ainda'; +$lang['notinstalled'] = 'Esta extensão não está instalada'; +$lang['alreadyenabled'] = 'Esta extensão já foi ativada'; +$lang['alreadydisabled'] = 'Esta extensão já foi desativada'; +$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de plugins'; +$lang['unknownauthor'] = 'Autor desconhecido'; +$lang['unknownversion'] = 'Versão desconhecida'; +$lang['btn_info'] = 'Mostrar mais informações'; +$lang['btn_update'] = 'Atualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Habilitar'; +$lang['btn_disable'] = 'Desabilitar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Reinstalar'; +$lang['js']['reallydel'] = 'Confirma a desinstalação desta extensão?'; +$lang['search_for'] = 'Pesquisar Extensão:'; +$lang['search'] = 'Pesquisar'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Screenshot of %s'; +$lang['popularity'] = 'Popularidade: %s%%'; +$lang['homepage_link'] = 'Documentos'; +$lang['bugs_features'] = 'Erros'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Pesquisar extensões deste autor'; +$lang['installed'] = 'Instalado: +'; +$lang['downloadurl'] = 'Baixar URL: +'; +$lang['repository'] = 'Repositório: +'; +$lang['unknown'] = '<em> desconhecido </ em> +'; +$lang['installed_version'] = 'Versão instalada:'; +$lang['install_date'] = 'Sua última atualização:'; +$lang['available_version'] = 'Versão disponível: +'; +$lang['compatible'] = 'Compatível com:'; +$lang['depends'] = 'Depende de: +'; +$lang['similar'] = 'Semelhante a: +'; +$lang['conflicts'] = 'Conflitos com: +'; +$lang['donate'] = 'Assim? +'; +$lang['donate_action'] = 'Pague um café para o autor!'; +$lang['repo_retry'] = 'Tentar novamente +'; +$lang['provides'] = 'Fornece: +'; +$lang['status'] = 'Status: +'; +$lang['status_installed'] = 'instalado +'; +$lang['status_not_installed'] = 'não instalado +'; +$lang['status_protected'] = 'protegido +'; +$lang['status_enabled'] = 'habilitado'; +$lang['status_disabled'] = 'desabilitado'; +$lang['status_unmodifiable'] = 'imodificável +'; +$lang['status_plugin'] = 'plugin +'; +$lang['status_template'] = 'modelo +'; +$lang['status_bundled'] = 'empacotado +'; +$lang['msg_enabled'] = 'Plugin %s habilitado +'; +$lang['msg_disabled'] = 'Plugin %s desabilitado'; +$lang['msg_delete_success'] = 'Extensão %s desinstalada'; +$lang['msg_delete_failed'] = 'Desinstalar Extensão %s falhou +'; +$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; +$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso +'; +$lang['msg_plugin_install_success'] = 'Plugin %s instalado com sucesso +'; +$lang['msg_plugin_update_success'] = 'Plugin %s atualizado com sucesso +'; +$lang['msg_upload_failed'] = 'Enviando o arquivo falhou +'; +$lang['missing_dependency'] = '<strong>dependência ausente ou desabilitada:</strong> %s +'; +$lang['security_issue'] = '<strong> Questão de segurança:</strong> %s +'; +$lang['security_warning'] = '<strong> Aviso de segurança:</strong> %s'; +$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível. +'; +$lang['wrong_folder'] = '<strong>Plugin instalado incorretamente: </strong> Renomear pasta de plugins de "%s" para "%s". +'; +$lang['url_change'] = '<strong>URL mudou: </strong> URL para download mudou desde o último download. Verifique se a nova URL é válida antes de atualizar a extensão <br/> Nova:%s<br/>Antiga:%s +'; +$lang['error_badurl'] = 'URLs deve começar com http ou https +'; +$lang['error_dircreate'] = 'Não é possível criar pasta temporária para receber o download +'; +$lang['error_download'] = 'Não é possível baixar o arquivo:%s +'; +$lang['error_decompress'] = 'Não é possível descompactar o arquivo baixado. Talvez seja resultado de um download ruim, nesse caso, você deve tentar novamente; ou o formato de compressão pode ser desconhecido, nesse caso, você precisará baixar e instalar manualmente.'; +$lang['error_findfolder'] = 'Não foi possível identificar diretório de extensão, você precisa baixar e instalar manualmente +'; +$lang['error_copy'] = 'Houve um erro na cópia do arquivo durante a tentativa de instalar os arquivos para o diretório <em>%s </em>: o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar incorretas. Isso pode ter resultado em um plugin parcialmente instalado e tornar instável a sua instalação wiki +'; +$lang['noperms'] = 'Diretório da extensão não é gravável +'; +$lang['notplperms'] = 'Diretório do modelo não é gravável +'; +$lang['nopluginperms'] = 'Diretório do plugin não é gravável +'; +$lang['git'] = 'Esta extensão foi instalada via git, você não pode querer atualizá-la aqui. +'; +$lang['auth'] = 'Este plugin não está habilitado na configuração, considere desabilita-lo.'; +$lang['install_url'] = 'Instalar a partir da URL:'; +$lang['install_upload'] = 'Publique a Extensão:'; +$lang['repo_error'] = 'O repositório do plugin não pôde ser conectado. Verifique se o seu servidor está autorizado a conectar com www.dokuwiki.org e verifique as configurações de proxy do servidor. +'; +$lang['nossl'] = 'Seu PHP parece que perdeu o suporte a SSL. O download não vai funcionar para muitas extensões DokuWiki. +'; diff --git a/lib/plugins/extension/lang/ru/intro_install.txt b/lib/plugins/extension/lang/ru/intro_install.txt new file mode 100644 index 000000000..7b8ac661b --- /dev/null +++ b/lib/plugins/extension/lang/ru/intro_install.txt @@ -0,0 +1 @@ +Здесь вы можете самостоятельно установить плагины и шаблоны, загрузив их или предоставив прямой URL для скачивания.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_plugins.txt b/lib/plugins/extension/lang/ru/intro_plugins.txt new file mode 100644 index 000000000..c5ea9e0ec --- /dev/null +++ b/lib/plugins/extension/lang/ru/intro_plugins.txt @@ -0,0 +1 @@ +Плагины, установленные в вашей «Докувики». Здесь вы можете их включить или выключить, или даже полностью удалить. Также здесь показываются обновления плагинов; обязательно прочтите документацию плагина перед обновлением.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_search.txt b/lib/plugins/extension/lang/ru/intro_search.txt new file mode 100644 index 000000000..3c16748ba --- /dev/null +++ b/lib/plugins/extension/lang/ru/intro_search.txt @@ -0,0 +1 @@ +Вкладка даёт вам доступ ко всем имеющимся сторонним плагинам и шаблонам для «Докувики». Имейте ввиду, что установка стороннего кода может представлять **угрозу безопасности,** возможно вам нужно сперва прочитать о [[doku>security#plugin_security|безопасности плагинов]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_templates.txt b/lib/plugins/extension/lang/ru/intro_templates.txt new file mode 100644 index 000000000..787b32fa3 --- /dev/null +++ b/lib/plugins/extension/lang/ru/intro_templates.txt @@ -0,0 +1 @@ +Шаблоны (темы оформления), установленные в вашей «Докувики». Шаблон, который нужно использовать, выбирается в [[?do=admin&page=config|настройках вики]]
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php new file mode 100644 index 000000000..381d84500 --- /dev/null +++ b/lib/plugins/extension/lang/ru/lang.php @@ -0,0 +1,92 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Igor Degraf <igordegraf@gmail.com> + * @author Type-kun <workwork-1@yandex.ru> + * @author Vitaly Filatenko <kot@hacktest.net> + */ +$lang['menu'] = 'Управление дополнениями'; +$lang['tab_plugins'] = 'Установленные плагины'; +$lang['tab_templates'] = 'Установленные шаблоны'; +$lang['tab_search'] = 'Поиск и установка'; +$lang['tab_install'] = 'Ручная установка'; +$lang['notimplemented'] = 'Эта возможность ещё не реализована'; +$lang['notinstalled'] = 'Это дополнение не установлено'; +$lang['alreadyenabled'] = 'Это расширение уже включено'; +$lang['alreadydisabled'] = 'Это расширение уже выключено'; +$lang['pluginlistsaveerror'] = 'Ошибка при сохранении списка плагинов'; +$lang['unknownauthor'] = 'Автор неизвестен'; +$lang['unknownversion'] = 'Версия неизвестна'; +$lang['btn_info'] = 'Отобразить доп. информацию'; +$lang['btn_update'] = 'Обновить'; +$lang['btn_uninstall'] = 'Удалить'; +$lang['btn_enable'] = 'Включить'; +$lang['btn_disable'] = 'Отключить'; +$lang['btn_install'] = 'Установить'; +$lang['btn_reinstall'] = 'Переустановить'; +$lang['js']['reallydel'] = 'Действительно удалить это дополнение?'; +$lang['search_for'] = 'Поиск дополнения:'; +$lang['search'] = 'Найти'; +$lang['extensionby'] = '<strong>%s</strong> — %s'; +$lang['screenshot'] = 'Скриншот: %s'; +$lang['popularity'] = 'Популярность: %s%%'; +$lang['homepage_link'] = 'Описание'; +$lang['bugs_features'] = 'Баг-трекер'; +$lang['tags'] = 'Метки:'; +$lang['author_hint'] = 'Найти дополнения автора'; +$lang['installed'] = 'Установлено:'; +$lang['downloadurl'] = 'Скачать:'; +$lang['repository'] = 'Репозиторий:'; +$lang['unknown'] = '<em>неизвестно</em>'; +$lang['installed_version'] = 'Уст. версия:'; +$lang['install_date'] = 'Посл. обновление:'; +$lang['available_version'] = 'Доступная версия:'; +$lang['compatible'] = 'Совместим с'; +$lang['depends'] = 'Зависит от'; +$lang['similar'] = 'Похож на'; +$lang['conflicts'] = 'Конфликтует с'; +$lang['donate'] = 'Нравится?'; +$lang['donate_action'] = 'Купить автору кофе!'; +$lang['repo_retry'] = 'Повторить'; +$lang['provides'] = 'Предоставляет:'; +$lang['status'] = 'Статус:'; +$lang['status_installed'] = 'установлено'; +$lang['status_not_installed'] = 'не установлено'; +$lang['status_protected'] = 'защищено'; +$lang['status_enabled'] = 'включён'; +$lang['status_disabled'] = 'отключено'; +$lang['status_unmodifiable'] = 'неизменяемо'; +$lang['status_plugin'] = 'плагин'; +$lang['status_template'] = 'шаблон'; +$lang['status_bundled'] = 'в комплекте'; +$lang['msg_enabled'] = 'Плагин %s включён'; +$lang['msg_disabled'] = 'Плагин %s отключён'; +$lang['msg_delete_success'] = 'Дополнение %s удалено'; +$lang['msg_delete_failed'] = 'Не удалось удалить расширение %s'; +$lang['msg_template_install_success'] = 'Шаблон %s успешно установлен'; +$lang['msg_template_update_success'] = 'Шаблон %s успешно обновлён'; +$lang['msg_plugin_install_success'] = 'Плагин %s успешно установлен'; +$lang['msg_plugin_update_success'] = 'Плагин %s успешно обновлён'; +$lang['msg_upload_failed'] = 'Не удалось загрузить файл'; +$lang['missing_dependency'] = '<strong>Отсутствует или отключена зависимость:</strong> %s'; +$lang['security_issue'] = '<strong>Проблема безопасности:</strong> %s'; +$lang['security_warning'] = '<strong>Предупреждение безопасности:</strong> %s'; +$lang['update_available'] = '<strong>Обновление:</strong> доступна новая версия %s.'; +$lang['wrong_folder'] = '<strong>Плагин установлен неправильно:</strong> переименуйте папку плагина из %s в %s.'; +$lang['url_change'] = '<strong>Ссылка изменилась:</strong> ссылка для загрузки изменилась с прошлого раза. Проверьте новую ссылку прежде, чем обновлять расширение.<br />Новая: %s<br />Старая: %s'; +$lang['error_badurl'] = 'Ссылки должны начинаться с http или https'; +$lang['error_dircreate'] = 'Не удалось создать временную директорию для загрузки'; +$lang['error_download'] = 'Не удалось загрузить файл: %s'; +$lang['error_decompress'] = 'Не удалось распаковать загруженный файл. Возможно, файл был повреждён при загрузке — тогда нужно попробовать ещё раз. Либо неизвестен формат архива — тогда загрузку и установку надо произвести вручную.'; +$lang['error_findfolder'] = 'Не удалось определить директорию для расширения, загрузку и установку надо произвести вручную.'; +$lang['error_copy'] = 'Возникла ошибка копирования файлов в директорию <em>%s</em>: возможно, диск переполнен, или неверно выставлены права доступа. Это могло привести к неполной установке плагина и нарушить работу вашей вики.'; +$lang['noperms'] = 'Папка для расширений недоступна для записи'; +$lang['notplperms'] = 'Папка для шаблонов недоступна для записи'; +$lang['nopluginperms'] = 'Папка плагинов недоступна для записи'; +$lang['git'] = 'Это расширение было установлено через git. Вы не можете обновить его тут.'; +$lang['install_url'] = 'Установить с адреса URL'; +$lang['install_upload'] = 'Скачать расширение'; +$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org, а также проверьте настройки соединения с Интернетом.'; diff --git a/lib/plugins/extension/lang/sk/lang.php b/lib/plugins/extension/lang/sk/lang.php new file mode 100644 index 000000000..d00c2e32b --- /dev/null +++ b/lib/plugins/extension/lang/sk/lang.php @@ -0,0 +1,58 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['tab_plugins'] = 'Inštalované pluginy'; +$lang['tab_templates'] = 'Inštalované šablóny'; +$lang['tab_search'] = 'Hľadanie e inštalácia'; +$lang['tab_install'] = 'Manuálna inštalácia'; +$lang['notimplemented'] = 'Táto vlastnosť ešte nebola implementovaná'; +$lang['unknownauthor'] = 'Neznámy autor'; +$lang['unknownversion'] = 'Neznáma verzia'; +$lang['btn_info'] = 'Viac informácií'; +$lang['btn_update'] = 'Aktualizácia'; +$lang['btn_uninstall'] = 'Odinštalovanie'; +$lang['btn_enable'] = 'Povolenie'; +$lang['btn_disable'] = 'Zablokovanie'; +$lang['btn_install'] = 'Inštalácia'; +$lang['btn_reinstall'] = 'Re-Inštalácia'; +$lang['search'] = 'Vyhľadávanie'; +$lang['extensionby'] = '<strong>%s</strong> od %s'; +$lang['screenshot'] = 'Obrázok od %s'; +$lang['popularity'] = 'Popularita: %s%%'; +$lang['homepage_link'] = 'Dokumentácia'; +$lang['bugs_features'] = 'Chyby:'; +$lang['tags'] = 'Kľúčové slová:'; +$lang['unknown'] = '<em>neznámy</em>'; +$lang['installed_version'] = 'Inštalovaná verzia:'; +$lang['install_date'] = 'Posledná aktualizácia:'; +$lang['available_version'] = 'Dostupné verzie:'; +$lang['compatible'] = 'Kompaktibilita:'; +$lang['similar'] = 'Podobné:'; +$lang['conflicts'] = 'V konflikte:'; +$lang['status_installed'] = 'inštalovaný'; +$lang['status_not_installed'] = 'neinštalovaný'; +$lang['status_protected'] = 'chránený'; +$lang['status_enabled'] = 'povolený'; +$lang['status_disabled'] = 'nepovolený'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'šablóna'; +$lang['msg_enabled'] = 'Plugin %s povolený'; +$lang['msg_disabled'] = 'Plugin %s nepovolený'; +$lang['msg_template_install_success'] = 'Šablóna %s úspešne nainštalovaná'; +$lang['msg_template_update_success'] = 'Šablóna %s úspešne aktualizovaná'; +$lang['msg_plugin_install_success'] = 'Plugin %s úspešne nainštalovaný'; +$lang['msg_plugin_update_success'] = 'Plugin %s úspešne aktualizovaný'; +$lang['msg_upload_failed'] = 'Nahrávanie súboru zlyhalo'; +$lang['update_available'] = '<strong>Aktualizácia:</strong> Nová verzia %s.'; +$lang['wrong_folder'] = '<strong>Plugin nesprávne nainštalovaný:</strong> Premenujte adresár s pluginom "%s" na "%s".'; +$lang['error_badurl'] = 'URL by mali mať na začiatku http alebo https'; +$lang['error_dircreate'] = 'Nie je možné vytvoriť dočasný adresár pre uloženie sťahovaného súboru'; +$lang['error_download'] = 'Nie je možné stiahnuť súbor: %s'; +$lang['error_decompress'] = 'Nie je možné dekomprimovať stiahnutý súbor. Môže to byť dôvodom chyby sťahovania (v tom prípade to skúste znova) alebo neznámym kompresným formátom (v tom prípade musíte stiahnuť a inštalovať manuálne).'; +$lang['error_copy'] = 'Chyba kopírovania pri inštalácii do adresára <em>%s</em>: disk môže byť plný alebo nemáte potrebné prístupové oprávnenie. Dôsledkom može byť čiastočne inštalovaný plugin a nestabilná wiki inštalácia.'; +$lang['nopluginperms'] = 'Adresár s pluginom nie je zapisovateľný.'; +$lang['install_url'] = 'Inštalácia z URL:'; diff --git a/lib/plugins/extension/lang/tr/lang.php b/lib/plugins/extension/lang/tr/lang.php new file mode 100644 index 000000000..dfabfa715 --- /dev/null +++ b/lib/plugins/extension/lang/tr/lang.php @@ -0,0 +1,60 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['menu'] = 'Genişletme Yöneticisi'; +$lang['tab_plugins'] = 'Kurulmuş Eklentiler'; +$lang['tab_templates'] = 'Kurulmuş Şablonlar'; +$lang['tab_search'] = 'Ara ve Kur'; +$lang['tab_install'] = 'Elle Kurulum'; +$lang['notimplemented'] = 'Bu özellik henüz uygulamaya geçmemiştir'; +$lang['notinstalled'] = 'Bu genişletme yüklü değildir'; +$lang['alreadyenabled'] = 'Bu genişletme zaten etkinleştirilmiştir.'; +$lang['alreadydisabled'] = 'Bu genişletme zaten pasifleştirilmiştir'; +$lang['pluginlistsaveerror'] = 'Eklenti listesini kaydederken bir hata oluştu.'; +$lang['unknownauthor'] = 'Bilinmeyen yazar'; +$lang['unknownversion'] = 'Bilinmeyen sürüm'; +$lang['btn_info'] = 'Daha fazla bilgi göster'; +$lang['btn_update'] = 'Güncelle'; +$lang['btn_uninstall'] = 'Kaldır'; +$lang['btn_enable'] = 'Etkinleştir'; +$lang['btn_disable'] = 'Pasifleştir'; +$lang['btn_install'] = 'Kur'; +$lang['btn_reinstall'] = 'Yeniden kur'; +$lang['js']['reallydel'] = 'Genişletme gerçekten kaldırılsın mı?'; +$lang['search_for'] = 'Genişletme Ara:'; +$lang['search'] = 'Ara'; +$lang['extensionby'] = '<strong>%s</strong> tarafından %s'; +$lang['screenshot'] = '%s ekran görüntüsü'; +$lang['popularity'] = 'Rağbet: %s%%'; +$lang['homepage_link'] = 'Belgeler'; +$lang['bugs_features'] = 'Hatalar'; +$lang['tags'] = 'Etiketler:'; +$lang['author_hint'] = 'Bu yazarın genişletmelerini ara.'; +$lang['installed'] = 'Kurulu:'; +$lang['downloadurl'] = 'İndirme bağlantısı:'; +$lang['repository'] = 'Veri havuzu:'; +$lang['unknown'] = '<em>bilinmeyen</em>'; +$lang['installed_version'] = 'Kurulu sürüm:'; +$lang['install_date'] = 'Son güncellemeniz:'; +$lang['available_version'] = 'Müsait sürüm:'; +$lang['compatible'] = 'Şununla uyumlu:'; +$lang['depends'] = 'Şuna bağımlı'; +$lang['similar'] = 'Şununla benzer'; +$lang['conflicts'] = 'Şununla çelişir'; +$lang['donate'] = 'Beğendiniz mi?'; +$lang['donate_action'] = 'Yazara bir kahve ısmarlayın!'; +$lang['repo_retry'] = 'Yeniden dene'; +$lang['provides'] = 'Sağlar:'; +$lang['status'] = 'Durum:'; +$lang['status_installed'] = 'kurulu'; +$lang['status_not_installed'] = 'kurulu değil'; +$lang['status_protected'] = 'korunmuş'; +$lang['status_enabled'] = 'etkin'; +$lang['status_disabled'] = 'hizmet dışı'; +$lang['status_unmodifiable'] = 'değiştirilemez'; +$lang['status_plugin'] = 'eklenti'; +$lang['status_template'] = 'şablon'; diff --git a/lib/plugins/extension/lang/zh-tw/intro_install.txt b/lib/plugins/extension/lang/zh-tw/intro_install.txt new file mode 100644 index 000000000..3ba93f5f8 --- /dev/null +++ b/lib/plugins/extension/lang/zh-tw/intro_install.txt @@ -0,0 +1 @@ +在此你可以透過檔案上傳或提供下載網址的方式,進行手動安裝外掛與版型風格。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh-tw/intro_plugins.txt b/lib/plugins/extension/lang/zh-tw/intro_plugins.txt new file mode 100644 index 000000000..b5b77a267 --- /dev/null +++ b/lib/plugins/extension/lang/zh-tw/intro_plugins.txt @@ -0,0 +1 @@ +已經有一些外掛套件被安裝在你的DokuWiki之中。你可以在這裡啟用、禁用,甚至是完全移除它們。如外掛可更新也同時會顯示在這裡,請確保在更新前先閱讀過該套件之文件。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh-tw/lang.php b/lib/plugins/extension/lang/zh-tw/lang.php new file mode 100644 index 000000000..79657ffeb --- /dev/null +++ b/lib/plugins/extension/lang/zh-tw/lang.php @@ -0,0 +1,80 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Stan <talktostan@gmail.com> + * @author June-Hao Hou <junehao@gmail.com> + * @author lioujheyu <lioujheyu@gmail.com> + */ +$lang['menu'] = '延伸功能管理'; +$lang['tab_plugins'] = '已安裝外掛'; +$lang['tab_templates'] = '已安裝裝模版 +'; +$lang['tab_search'] = '搜尋與安裝'; +$lang['tab_install'] = '手動安裝'; +$lang['notimplemented'] = '此功能尚未完成'; +$lang['notinstalled'] = '此延伸功能尚未安裝'; +$lang['alreadyenabled'] = '此延伸功能已經安裝'; +$lang['alreadydisabled'] = '此延伸功能停用'; +$lang['unknownauthor'] = '作者未知'; +$lang['unknownversion'] = '版本未知'; +$lang['btn_info'] = '顯示更多訊息'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = '移除安裝'; +$lang['btn_enable'] = '啟用'; +$lang['btn_disable'] = '停用'; +$lang['btn_install'] = '安裝'; +$lang['btn_reinstall'] = '重新安裝'; +$lang['js']['reallydel'] = '確定要移除此延伸功能?'; +$lang['search_for'] = '搜尋延伸功能:'; +$lang['search'] = '搜尋'; +$lang['homepage_link'] = '文件'; +$lang['tags'] = '標籤:'; +$lang['author_hint'] = '搜尋相同作者的延伸功能'; +$lang['installed'] = '已安裝:'; +$lang['downloadurl'] = '下載網址:'; +$lang['unknown'] = '<em>未知</em>'; +$lang['installed_version'] = '已安裝版本:'; +$lang['install_date'] = '你最後一次更新: '; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '相容於:'; +$lang['depends'] = '依賴於: '; +$lang['similar'] = '類似於: '; +$lang['conflicts'] = '相衝突於: '; +$lang['donate'] = '像這樣?'; +$lang['donate_action'] = '請作者一杯咖啡!'; +$lang['repo_retry'] = '再試一次'; +$lang['status'] = '狀態:'; +$lang['status_installed'] = '已安裝'; +$lang['status_not_installed'] = '未安裝'; +$lang['status_protected'] = '已保護'; +$lang['status_enabled'] = '作用中'; +$lang['status_disabled'] = '停用中'; +$lang['status_unmodifiable'] = '不可更動'; +$lang['status_plugin'] = '外掛'; +$lang['status_template'] = '模板'; +$lang['status_bundled'] = '已綑綁內附'; +$lang['msg_enabled'] = '外掛 %s 已啟用'; +$lang['msg_disabled'] = '外掛 %s 已禁用'; +$lang['msg_delete_success'] = '附加元件已移除'; +$lang['msg_template_install_success'] = '模板 %s 以成功安裝'; +$lang['msg_template_update_success'] = '模板 %s 以成功更新'; +$lang['msg_plugin_install_success'] = '外掛 %s 以成功安裝'; +$lang['msg_plugin_update_success'] = '外掛 %s 以成功更新'; +$lang['msg_upload_failed'] = '上傳檔案失敗'; +$lang['missing_dependency'] = '<strong>遺失或禁用相依性套件:</strong> %s'; +$lang['security_issue'] = '<strong>安全性問題:</strong> %s'; +$lang['security_warning'] = '<strong>安全問題警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong> 已可取得 %s 的新版本'; +$lang['wrong_folder'] = '<strong>外掛安裝不正確:</strong> 將外掛資料夾從 "%s" 更名至 "%s"。'; +$lang['url_change'] = '<strong>網址已變更:</strong> 自從上次下載後下載網址已變更。在更新延伸功能前請先檢查新網址是否可用。<br />新: %s<br />舊: %s'; +$lang['error_download'] = '無法下載檔案:%s'; +$lang['error_decompress'] = '無法解壓縮檔案。這可能是下載品質不佳所致,在這個情況下你應該再試一次;也有可能是因為無法辨識的壓縮格式,在這個情況下你應該自行下載並手動安裝'; +$lang['error_findfolder'] = '無法辨認延伸功能資料夾,你必須自行下載並手動安裝'; +$lang['noperms'] = '延伸功能資料夾無法寫入'; +$lang['notplperms'] = '版型資料夾無法寫入'; +$lang['nopluginperms'] = '外掛資料夾無法寫入'; +$lang['git'] = '此延伸功能是透過git安裝的,最好不要用上傳方式。'; +$lang['install_url'] = '透過網址安裝:'; +$lang['install_upload'] = '上傳延伸功能:'; diff --git a/lib/plugins/extension/lang/zh/intro_install.txt b/lib/plugins/extension/lang/zh/intro_install.txt new file mode 100644 index 000000000..640839319 --- /dev/null +++ b/lib/plugins/extension/lang/zh/intro_install.txt @@ -0,0 +1 @@ +你可以通过上传或直接提供下载链接来安装插件和模板。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh/intro_plugins.txt b/lib/plugins/extension/lang/zh/intro_plugins.txt new file mode 100644 index 000000000..69cb343b3 --- /dev/null +++ b/lib/plugins/extension/lang/zh/intro_plugins.txt @@ -0,0 +1 @@ +这些是你当前已经安装的插件。你可以在这里启用和禁用甚至卸载它们。插件的更新信息也显示在这,请一定在更新之前阅读插件的文档。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh/intro_search.txt b/lib/plugins/extension/lang/zh/intro_search.txt new file mode 100644 index 000000000..0059075c0 --- /dev/null +++ b/lib/plugins/extension/lang/zh/intro_search.txt @@ -0,0 +1 @@ +这个标签会为你展示所有DokuWiki的第三方插件和模板。但你需要知道这些由第三方提供的代码可能会给你带来**安全方面的风险**,你最好先读一下[[doku>security#plugin_security|插件安全性]]。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh/intro_templates.txt b/lib/plugins/extension/lang/zh/intro_templates.txt new file mode 100644 index 000000000..20575d381 --- /dev/null +++ b/lib/plugins/extension/lang/zh/intro_templates.txt @@ -0,0 +1 @@ +DokuWiki当前所使用的模板已经安装了,你可以在[[?do=admin&page=config|配置管理器]]里选择你要的模板。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh/lang.php b/lib/plugins/extension/lang/zh/lang.php new file mode 100644 index 000000000..5ab3d77ba --- /dev/null +++ b/lib/plugins/extension/lang/zh/lang.php @@ -0,0 +1,94 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Cupen <Cupenoruler@foxmail.com> + * @author xiqingongzi <Xiqingongzi@Gmail.com> + * @author qinghao <qingxianhao@gmail.com> + * @author lainme <lainme993@gmail.com> + */ +$lang['menu'] = '扩展管理器'; +$lang['tab_plugins'] = '安装插件'; +$lang['tab_templates'] = '安装模板'; +$lang['tab_search'] = '搜索和安装'; +$lang['tab_install'] = '手动安装'; +$lang['notimplemented'] = '未实现的特性'; +$lang['notinstalled'] = '该扩展未安装'; +$lang['alreadyenabled'] = '该扩展已激活'; +$lang['alreadydisabled'] = '该扩展已关闭'; +$lang['pluginlistsaveerror'] = '保存插件列表时碰到个错误'; +$lang['unknownauthor'] = '未知作者'; +$lang['unknownversion'] = '未知版本'; +$lang['btn_info'] = '查看更多信息'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = '卸载'; +$lang['btn_enable'] = '激活'; +$lang['btn_disable'] = '关闭'; +$lang['btn_install'] = '安装'; +$lang['btn_reinstall'] = '重新安装'; +$lang['js']['reallydel'] = '确定卸载这个扩展么?'; +$lang['search_for'] = '搜索扩展'; +$lang['search'] = '搜索'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = '%s 的截图'; +$lang['popularity'] = '人气: %s%%'; +$lang['homepage_link'] = '文档'; +$lang['bugs_features'] = '错误'; +$lang['tags'] = '标签:'; +$lang['author_hint'] = '搜索这个作者的插件'; +$lang['installed'] = '已安装的:'; +$lang['downloadurl'] = '下载地址:'; +$lang['repository'] = '版本库:'; +$lang['unknown'] = '<em>未知的</em>'; +$lang['installed_version'] = '已安装版本:'; +$lang['install_date'] = '您的最后一次升级:'; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '兼容于:'; +$lang['depends'] = '依赖于:'; +$lang['similar'] = '相似于:'; +$lang['conflicts'] = '冲突于:'; +$lang['donate'] = '喜欢?'; +$lang['donate_action'] = '捐给作者一杯咖啡钱!'; +$lang['repo_retry'] = '重试'; +$lang['provides'] = '提供:'; +$lang['status'] = '现状:'; +$lang['status_installed'] = '已安装的'; +$lang['status_not_installed'] = '未安装'; +$lang['status_protected'] = '受保护'; +$lang['status_enabled'] = '启用'; +$lang['status_disabled'] = '禁用'; +$lang['status_unmodifiable'] = '不可修改'; +$lang['status_plugin'] = '插件'; +$lang['status_template'] = '模板'; +$lang['status_bundled'] = '内建'; +$lang['msg_enabled'] = '插件 %s 已启用'; +$lang['msg_disabled'] = '插件 %s 已禁用'; +$lang['msg_delete_success'] = '插件已经卸载'; +$lang['msg_delete_failed'] = '卸载扩展 %s 失败'; +$lang['msg_template_install_success'] = '模板 %s 安装成功'; +$lang['msg_template_update_success'] = '模板 %s 更新成功'; +$lang['msg_plugin_install_success'] = '插件 %s 安装成功'; +$lang['msg_plugin_update_success'] = '插件 %s 更新成功'; +$lang['msg_upload_failed'] = '上传文件失败'; +$lang['missing_dependency'] = '<strong>缺少或者被禁用依赖:</strong> %s'; +$lang['security_issue'] = '<strong>安全问题:</strong> %s'; +$lang['security_warning'] = '<strong>安全警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong>新版本 %s 已经可用。'; +$lang['wrong_folder'] = '<strong>插件安装不正确:</strong>重命名插件目录 "%s" 为 "%s"。'; +$lang['url_change'] = '<strong>URL已改变:</strong>自上次下载以来的下载 URL 已经改变。请在更新扩展前检查新 URL 是否有效。<br />新的:%s<br />旧的:%s'; +$lang['error_badurl'] = 'URL 应当以 http 或者 https 作为开头'; +$lang['error_dircreate'] = '无法创建用于保存下载的临时文件夹'; +$lang['error_download'] = '无法下载文件:%s'; +$lang['error_decompress'] = '无法解压下载的文件。这可能是由于文件损坏,在这种情况下您可以重试。这也可能是由于压缩格式是未知的,在这种情况下您需要手动下载并且安装。'; +$lang['error_findfolder'] = '无法识别扩展目录,您需要手动下载和安装'; +$lang['error_copy'] = '在尝试安装文件到目录 <em>%s</em> 时出现文件复制错误:磁盘可能已满或者文件访问权限不正确。这可能导致插件被部分安装并使您的维基处在不稳定状态'; +$lang['noperms'] = '扩展目录不可写'; +$lang['notplperms'] = '模板目录不可写'; +$lang['nopluginperms'] = '插件目录不可写'; +$lang['git'] = '这个扩展是通过 git 安装的,您可能不想在这里升级它'; +$lang['auth'] = '这个认证插件没有在配置中启用,请考虑禁用它。'; +$lang['install_url'] = '从 URL 安装:'; +$lang['install_upload'] = '上传扩展:'; +$lang['repo_error'] = '无法连接到插件仓库。请确定您的服务器可以连接 www.dokuwiki.org 并检查您的代理设置。'; +$lang['nossl'] = '您的 PHP 似乎没有 SSL 支持。很多 Dokuwiki 扩展将无法下载。'; diff --git a/lib/plugins/extension/plugin.info.txt b/lib/plugins/extension/plugin.info.txt new file mode 100644 index 000000000..ee9830628 --- /dev/null +++ b/lib/plugins/extension/plugin.info.txt @@ -0,0 +1,7 @@ +base extension +author Michael Hamann +email michael@content-space.de +date 2014-06-15 +name Extension Manager +desc Allows managing and installing plugins and templates +url https://www.dokuwiki.org/plugin:extension diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js new file mode 100644 index 000000000..fab88162d --- /dev/null +++ b/lib/plugins/extension/script.js @@ -0,0 +1,113 @@ +jQuery(function(){ + + var $extmgr = jQuery('#extension__manager'); + + /** + * Confirm uninstalling + */ + $extmgr.find('input.uninstall').click(function(e){ + if(!window.confirm(LANG.plugins.extension.reallydel)){ + e.preventDefault(); + return false; + } + return true; + }); + + /** + * very simple lightbox + * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/ + */ + $extmgr.find('a.extension_screenshot').click(function(e) { + e.preventDefault(); + + //Get clicked link href + var image_href = jQuery(this).attr("href"); + + // create lightbox if needed + var $lightbox = jQuery('#plugin__extensionlightbox'); + if(!$lightbox.length){ + $lightbox = jQuery('<div id="plugin__extensionlightbox"><p>Click to close</p><div></div></div>') + .appendTo(jQuery('body')) + .hide() + .click(function(){ + $lightbox.hide(); + }); + } + + // fill and show it + $lightbox + .show() + .find('div').html('<img src="' + image_href + '" />'); + + + return false; + }); + + /** + * Enable/Disable extension via AJAX + */ + $extmgr.find('input.disable, input.enable').click(function (e) { + e.preventDefault(); + var $btn = jQuery(this); + + // get current state + var extension = $btn.attr('name').split('[')[2]; + extension = extension.substr(0, extension.length - 1); + var act = ($btn.hasClass('disable')) ? 'disable' : 'enable'; + + // disable while we wait + $btn.attr('disabled', 'disabled'); + $btn.css('cursor', 'wait'); + + // execute + jQuery.get( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_extension', + ext: extension, + act: act + }, + function (data) { + $btn.css('cursor', '') + .removeAttr('disabled') + .removeClass('disable') + .removeClass('enable') + .val(data.label) + .addClass(data.reverse) + .parents('li') + .removeClass('disabled') + .removeClass('enabled') + .addClass(data.state); + } + ); + }); + + /** + * AJAX detail infos + */ + $extmgr.find('a.info').click(function(e){ + e.preventDefault(); + + var $link = jQuery(this); + var $details = $link.parent().find('dl.details'); + if($details.length){ + $link.toggleClass('close'); + $details.toggle(); + return; + } + + $link.addClass('close'); + jQuery.get( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_extension', + ext: $link.data('extid'), + act: 'info' + }, + function(data){ + $link.parent().append(data); + } + ); + }); + +});
\ No newline at end of file diff --git a/lib/plugins/extension/style.less b/lib/plugins/extension/style.less new file mode 100644 index 000000000..d20689099 --- /dev/null +++ b/lib/plugins/extension/style.less @@ -0,0 +1,363 @@ +/* + * Extension plugin styles + * + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Piyush Mishra <me@piyushmishra.com> + * @author Håkan Sandell <sandell.hakan@gmail.com> + * @author Anika Henke <anika@selfthinker.org> + */ + +/** + * very simple lightbox + * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/ + */ +#plugin__extensionlightbox { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(images/overlay.png) repeat; + text-align: center; + cursor: pointer; + z-index: 9999; + + p { + text-align: right; + color: #fff; + margin-right: 20px; + font-size: 12px; + } + + img { + box-shadow: 0 0 25px #111; + -webkit-box-shadow: 0 0 25px #111; + -moz-box-shadow: 0 0 25px #111; + max-width: 90%; + max-height: 90%; + } +} + +/** + * general styles + */ +#extension__manager { + // tab layout - most of it is in the main template + ul.tabs li.active a { + background-color: @ini_background_alt; + border-bottom: solid 1px @ini_background_alt; + z-index: 2; + } + .panelHeader { + background-color: @ini_background_alt; + margin: 0 0 10px 0; + padding: 10px 10px 8px; + overflow: hidden; + } + + // message spacing + div.msg { + margin: 0.4em 0 0 0; + } +} + +/* + * extensions table + */ +#extension__list { + ul.extensionList { + margin-left: 0; + margin-right: 0; + padding: 0; + list-style: none; + } + + ul.extensionList li { + margin: 0 0 .5em; + padding: 0 0 .5em; + color: @ini_text; + border-bottom: 1px solid @ini_border; + overflow: hidden; + } + + input.button { + margin: 0 .3em .3em 0; + } +} + +/** + * extension table left column + */ +#extension__list .legend { + position: relative; + width: 75%; + float: left; + + // padding + > div { + padding: 0 .5em 0 132px; + border-right: 1px solid @ini_background_alt; + overflow: hidden; + } + + // screenshot + div.screenshot { + margin-top: 4px; + margin-left: -132px; + max-width: 120px; + float: left; + position: relative; + + img { + width: 120px; + height: 70px; + border-radius: 5px; + box-shadow: 2px 2px 2px #666; + } + + span { + min-height: 24px; + min-width: 24px; + position: absolute; + left: 0; + top: 0; + } + } + + // plugin headline + h2 { + width: 100%; + float: right; + margin: 0.2em 0 0.5em; + font-size: 100%; + font-weight: normal; + border: none; + + strong { + font-size: 120%; + font-weight: bold; + vertical-align: baseline; + } + } + + // description + p { + margin: 0 0 0.6em 0; + } + + // popularity bar + div.popularity { + background-color: @ini_background; + border: 1px solid silver; + height: .4em; + margin: 0 auto; + padding: 1px; + width: 5.5em; + position: absolute; + right: .5em; + top: 0.2em; + + div { + background-color: @ini_border; + height: 100%; + } + } + + // Docs, Bugs, Tags + div.linkbar { + font-size: 85%; + + span.tags { + padding-left: 18px; + background: transparent url(images/tag.png) no-repeat 0 0; + } + } + + // more info button + a.info { + background: transparent url(images/down.png) no-repeat 0 0; + border-width: 0; + height: 13px; + width: 13px; + text-indent: -9999px; + float: right; + margin: .5em 0 0; + overflow: hidden; + + &.close { + background: transparent url(images/up.png) no-repeat 0 0; + } + } + + // detailed info box + dl.details { + margin: 0.4em 0 0 0; + font-size: 85%; + border-top: 1px solid @ini_background_alt; + clear: both; + + dt { + clear: left; + float: left; + width: 25%; + margin: 0; + text-align: right; + font-weight: normal; + padding: 0.2em 5px 0 0; + font-weight: bold; + } + + dd { + margin-left: 25%; + padding: 0.2em 0 0 5px; + + a.donate { + padding-left: 18px; + background: transparent url(images/donate.png) left center no-repeat; + } + } + } +} + +[dir=rtl] #extension__list .legend { + float: right; + + > div { + padding: 0 132px 0 .5em; + border-left: 1px solid @ini_background_alt; + border-right-width: 0; + } + + div.screenshot { + margin-left: 0; + margin-right: -132px; + float: right; + + span { + left: auto; + right: 0; + } + } + + h2 { + float: left; + } + + div.popularity { + right: auto; + left: .5em; + } + + div.linkbar span.tags, + dl.details dd a.donate { + padding-left: 0; + padding-right: 18px; + background-position: top right; + } + + a.info { + float: left; + } + + dl.details { + dt { + clear: right; + float: right; + text-align: left; + padding-left: 5px; + padding-right: 0; + } + + dd { + margin-left: 0; + margin-right: 25%; + padding-left: 0; + padding-right: 5px; + } + } +} + +/* + * Enabled/Disabled overrides + */ +#extension__list { + .enabled div.screenshot span { + background: transparent url(images/enabled.png) no-repeat 2px 2px; + } + + .disabled div.screenshot span { + background: transparent url(images/disabled.png) no-repeat 2px 2px; + } + + .disabled .legend { + opacity: 0.7; + } +} + +/** + * extension table right column + */ +#extension__manager .actions { + padding: 0; + font-size: 95%; + width: 25%; + float: right; + text-align: right; + + .version { + display: block; + } + + p { + margin: 0.2em 0; + text-align: center; + } + + p.permerror { + margin-left: 0.4em; + text-align: left; + padding-left: 19px; + background: transparent url(images/warning.png) center left no-repeat; + line-height: 18px; + font-size: 12px; + } +} + +[dir=rtl] #extension__manager .actions { + float: left; + text-align: left; + + p.permerror { + margin-left: 0; + margin-right: 0.4em; + text-align: right; + padding-left: 0; + padding-right: 19px; + background-position: center right; + } +} + +/** + * Search form + */ +#extension__manager form.search { + display: block; + margin-bottom: 2em; + + span { + font-weight: bold; + } + + input.edit { + width: 25em; + } +} + +/** + * Install form + */ +#extension__manager form.install { + text-align: center; + display: block; + width: 60%; +} diff --git a/lib/plugins/info/plugin.info.txt b/lib/plugins/info/plugin.info.txt index 053743639..7773a419d 100644 --- a/lib/plugins/info/plugin.info.txt +++ b/lib/plugins/info/plugin.info.txt @@ -1,7 +1,7 @@ base info author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-03-05 name Info Plugin desc Displays information about various DokuWiki internals url http://dokuwiki.org/plugin:info diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php index f8c6eb484..773256faf 100644 --- a/lib/plugins/info/syntax.php +++ b/lib/plugins/info/syntax.php @@ -44,19 +44,29 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { $this->Lexer->addSpecialPattern('~~INFO:\w+~~',$mode,'plugin_info'); } - /** * Handle the match + * + * @param string $match The text matched by the patterns + * @param int $state The lexer state for the match + * @param int $pos The character position of the matched text + * @param Doku_Handler $handler The Doku_Handler object + * @return array Return an array with all data you want to use in render */ - function handle($match, $state, $pos, Doku_Handler &$handler){ + function handle($match, $state, $pos, Doku_Handler $handler){ $match = substr($match,7,-2); //strip ~~INFO: from start and ~~ from end return array(strtolower($match)); } /** * Create output + * + * @param string $format string output format being rendered + * @param Doku_Renderer $renderer the current renderer object + * @param array $data data created by handler() + * @return boolean rendered correctly? */ - function render($format, Doku_Renderer &$renderer, $data) { + function render($format, Doku_Renderer $renderer, $data) { if($format == 'xhtml'){ /** @var Doku_Renderer_xhtml $renderer */ //handle various info stuff @@ -103,8 +113,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { * list all installed plugins * * uses some of the original renderer methods + * + * @param string $type + * @param Doku_Renderer_xhtml $renderer */ - function _plugins_xhtml($type, Doku_Renderer &$renderer){ + function _plugins_xhtml($type, Doku_Renderer_xhtml $renderer){ global $lang; $renderer->doc .= '<ul>'; @@ -114,7 +127,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { // remove subparts foreach($plugins as $p){ if (!$po = plugin_load($type,$p)) continue; - list($name,$part) = explode('_',$p,2); + list($name,/* $part */) = explode('_',$p,2); $plginfo[$name] = $po->getInfo(); } @@ -141,8 +154,10 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { * list all installed plugins * * uses some of the original renderer methods + * + * @param Doku_Renderer_xhtml $renderer */ - function _helpermethods_xhtml(Doku_Renderer &$renderer){ + function _helpermethods_xhtml(Doku_Renderer_xhtml $renderer){ $plugins = plugin_list('helper'); foreach($plugins as $p){ if (!$po = plugin_load('helper',$p)) continue; @@ -189,6 +204,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { /** * lists all known syntax types and their registered modes + * + * @return string */ function _syntaxtypes_xhtml(){ global $PARSER_MODES; @@ -211,6 +228,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { /** * lists all known syntax modes and their sorting value + * + * @return string */ function _syntaxmodes_xhtml(){ $modes = p_get_parsermodes(); @@ -249,13 +268,18 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { /** * Adds a TOC item + * + * @param string $text + * @param int $level + * @param Doku_Renderer_xhtml $renderer + * @return string */ - function _addToTOC($text, $level, Doku_Renderer &$renderer){ + protected function _addToTOC($text, $level, Doku_Renderer_xhtml $renderer){ global $conf; + $hid = ''; if (($level >= $conf['toptoclevel']) && ($level <= $conf['maxtoclevel'])){ - /** @var $renderer Doku_Renderer_xhtml */ - $hid = $renderer->_headerToLink($text, 'true'); + $hid = $renderer->_headerToLink($text, true); $renderer->toc[] = array( 'hid' => $hid, 'title' => $text, diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php deleted file mode 100644 index 3f019d5e2..000000000 --- a/lib/plugins/plugin/admin.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php -/** - * Plugin management functions - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Christopher Smith <chris@jalakai.co.uk> - */ -// must be run within Dokuwiki -if(!defined('DOKU_INC')) die(); - -// todo -// - maintain a history of file modified -// - allow a plugin to contain extras to be copied to the current template (extra/tpl/) -// - to images (lib/images/) [ not needed, should go in lib/plugin/images/ ] - -require_once(DOKU_PLUGIN."/plugin/classes/ap_manage.class.php"); - -//--------------------------[ GLOBALS ]------------------------------------------------ -// note: probably should be dokuwiki wide globals, where they can be accessed by pluginutils.php -// global $plugin_types; -// $plugin_types = array('syntax', 'admin'); - -// plugins that are an integral part of dokuwiki, they shouldn't be disabled or deleted -global $plugin_protected; -$plugin_protected = array('acl','plugin','config','info','usermanager','revert'); - -/** - * All DokuWiki plugins to extend the admin function - * need to inherit from this class - */ -class admin_plugin_plugin extends DokuWiki_Admin_Plugin { - - var $disabled = 0; - var $plugin = ''; - var $cmd = ''; - - /** - * @var ap_manage - */ - var $handler = null; - - var $functions = array('delete','update',/*'settings',*/'info'); // require a plugin name - var $commands = array('manage','download','enable'); // don't require a plugin name - var $plugin_list = array(); - - var $msg = ''; - var $error = ''; - - function admin_plugin_plugin() { - $this->disabled = plugin_isdisabled('plugin'); - } - - /** - * return sort order for position in admin menu - */ - function getMenuSort() { - return 20; - } - - /** - * handle user request - */ - function handle() { - global $INPUT; - // enable direct access to language strings - $this->setupLocale(); - - $fn = $INPUT->param('fn'); - if (is_array($fn)) { - $this->cmd = key($fn); - $this->plugin = is_array($fn[$this->cmd]) ? key($fn[$this->cmd]) : null; - } else { - $this->cmd = $fn; - $this->plugin = null; - } - $this->_get_plugin_list(); - - // verify $_REQUEST vars - if (in_array($this->cmd, $this->commands)) { - $this->plugin = ''; - } else if (!in_array($this->cmd, $this->functions) || !in_array($this->plugin, $this->plugin_list)) { - $this->cmd = 'manage'; - $this->plugin = ''; - } - - if(($this->cmd != 'manage' || $this->plugin != '') && !checkSecurityToken()){ - $this->cmd = 'manage'; - $this->plugin = ''; - } - - // create object to handle the command - $class = "ap_".$this->cmd; - @require_once(DOKU_PLUGIN."/plugin/classes/$class.class.php"); - if (!class_exists($class)){ - $class = 'ap_manage'; - } - - $this->handler = new $class($this, $this->plugin); - $this->msg = $this->handler->process(); - - } - - /** - * output appropriate html - */ - function html() { - // enable direct access to language strings - $this->setupLocale(); - $this->_get_plugin_list(); - - if ($this->handler === null) $this->handler = new ap_manage($this, $this->plugin); - - ptln('<div id="plugin__manager">'); - $this->handler->html(); - ptln('</div><!-- #plugin_manager -->'); - } - - /** - * Returns a list of all plugins, including the disabled ones - */ - function _get_plugin_list() { - if (empty($this->plugin_list)) { - $list = plugin_list('',true); // all plugins, including disabled ones - sort($list); - trigger_event('PLUGIN_PLUGINMANAGER_PLUGINLIST',$list); - $this->plugin_list = $list; - } - return $this->plugin_list; - } - -} - - - - - - diff --git a/lib/plugins/plugin/classes/ap_delete.class.php b/lib/plugins/plugin/classes/ap_delete.class.php deleted file mode 100644 index 581a6295f..000000000 --- a/lib/plugins/plugin/classes/ap_delete.class.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php -class ap_delete extends ap_manage { - - function process() { - - if (!$this->dir_delete(DOKU_PLUGIN.plugin_directory($this->manager->plugin))) { - $this->manager->error = sprintf($this->lang['error_delete'],$this->manager->plugin); - } else { - msg(sprintf($this->lang['deleted'],$this->plugin)); - $this->refresh(); - } - } - - function html() { - parent::html(); - - ptln('<div class="pm_info">'); - ptln('<h2>'.$this->lang['deleting'].'</h2>'); - - if ($this->manager->error) { - ptln('<div class="error">'.str_replace("\n","<br />",$this->manager->error).'</div>'); - } else { - ptln('<p>'.sprintf($this->lang['deleted'],$this->plugin).'</p>'); - } - ptln('</div>'); - } -} - diff --git a/lib/plugins/plugin/classes/ap_download.class.php b/lib/plugins/plugin/classes/ap_download.class.php deleted file mode 100644 index 3cc455867..000000000 --- a/lib/plugins/plugin/classes/ap_download.class.php +++ /dev/null @@ -1,288 +0,0 @@ -<?php -class ap_download extends ap_manage { - - var $overwrite = true; - - /** - * Initiate the plugin download - */ - function process() { - global $INPUT; - - $plugin_url = $INPUT->str('url'); - $this->download($plugin_url, $this->overwrite); - return ''; - } - - /** - * Print results of the download - */ - function html() { - parent::html(); - - ptln('<div class="pm_info">'); - ptln('<h2>'.$this->lang['downloading'].'</h2>'); - - if ($this->manager->error) { - ptln('<div class="error">'.str_replace("\n","<br />",$this->manager->error).'</div>'); - } else if (count($this->downloaded) == 1) { - ptln('<p>'.sprintf($this->lang['downloaded'],$this->downloaded[0]).'</p>'); - } else if (count($this->downloaded)) { // more than one plugin in the download - ptln('<p>'.$this->lang['downloads'].'</p>'); - ptln('<ul>'); - foreach ($this->downloaded as $plugin) { - ptln('<li><div class="li">'.$plugin.'</div></li>',2); - } - ptln('</ul>'); - } else { // none found in download - ptln('<p>'.$this->lang['download_none'].'</p>'); - } - ptln('</div>'); - } - - /** - * Process the downloaded file - */ - function download($url, $overwrite=false) { - // check the url - $matches = array(); - if (!preg_match("/[^\/]*$/", $url, $matches) || !$matches[0]) { - $this->manager->error = $this->lang['error_badurl']."\n"; - return false; - } - - $file = $matches[0]; - - if (!($tmp = io_mktmpdir())) { - $this->manager->error = $this->lang['error_dircreate']."\n"; - return false; - } - - if (!$file = io_download($url, "$tmp/", true, $file, 0)) { - $this->manager->error = sprintf($this->lang['error_download'],$url)."\n"; - } - - if (!$this->manager->error && !$this->decompress("$tmp/$file", $tmp)) { - $this->manager->error = sprintf($this->lang['error_decompress'],$file)."\n"; - } - - // search $tmp for the folder(s) that has been created - // move the folder(s) to lib/plugins/ - if (!$this->manager->error) { - $result = array('old'=>array(), 'new'=>array()); - if($this->find_folders($result,$tmp)){ - // choose correct result array - if(count($result['new'])){ - $install = $result['new']; - }else{ - $install = $result['old']; - } - - // now install all found items - foreach($install as $item){ - // where to install? - if($item['type'] == 'template'){ - $target = DOKU_INC.'lib/tpl/'.$item['base']; - }else{ - $target = DOKU_INC.'lib/plugins/'.$item['base']; - } - - // check to make sure we aren't overwriting anything - if (!$overwrite && @file_exists($target)) { - // remember our settings, ask the user to confirm overwrite, FIXME - continue; - } - - $instruction = @file_exists($target) ? 'update' : 'install'; - - // copy action - if ($this->dircopy($item['tmp'], $target)) { - $this->downloaded[] = $item['base']; - $this->plugin_writelog($target, $instruction, array($url)); - } else { - $this->manager->error .= sprintf($this->lang['error_copy']."\n", $item['base']); - } - } - - } else { - $this->manager->error = $this->lang['error']."\n"; - } - } - - // cleanup - if ($tmp) $this->dir_delete($tmp); - - if (!$this->manager->error) { - msg(sprintf($this->lang['packageinstalled'], count($this->downloaded), join(',',$this->downloaded)),1); - $this->refresh(); - return true; - } - - return false; - } - - /** - * Find out what was in the extracted directory - * - * Correct folders are searched recursively using the "*.info.txt" configs - * as indicator for a root folder. When such a file is found, it's base - * setting is used (when set). All folders found by this method are stored - * in the 'new' key of the $result array. - * - * For backwards compatibility all found top level folders are stored as - * in the 'old' key of the $result array. - * - * When no items are found in 'new' the copy mechanism should fall back - * the 'old' list. - * - * @author Andreas Gohr <andi@splitbrain.org> - * @param arrayref $result - results are stored here - * @param string $base - the temp directory where the package was unpacked to - * @param string $dir - a subdirectory. do not set. used by recursion - * @return bool - false on error - */ - function find_folders(&$result,$base,$dir=''){ - $dh = @opendir("$base/$dir"); - if(!$dh) return false; - while (false !== ($f = readdir($dh))) { - if ($f == '.' || $f == '..' || $f == 'tmp') continue; - - if(!is_dir("$base/$dir/$f")){ - // it's a file -> check for config - if($f == 'plugin.info.txt'){ - $info = array(); - $info['type'] = 'plugin'; - $info['tmp'] = "$base/$dir"; - $conf = confToHash("$base/$dir/$f"); - $info['base'] = utf8_basename($conf['base']); - if(!$info['base']) $info['base'] = utf8_basename("$base/$dir"); - $result['new'][] = $info; - }elseif($f == 'template.info.txt'){ - $info = array(); - $info['type'] = 'template'; - $info['tmp'] = "$base/$dir"; - $conf = confToHash("$base/$dir/$f"); - $info['base'] = utf8_basename($conf['base']); - if(!$info['base']) $info['base'] = utf8_basename("$base/$dir"); - $result['new'][] = $info; - } - }else{ - // it's a directory -> add to dir list for old method, then recurse - if(!$dir){ - $info = array(); - $info['type'] = 'plugin'; - $info['tmp'] = "$base/$dir/$f"; - $info['base'] = $f; - $result['old'][] = $info; - } - $this->find_folders($result,$base,"$dir/$f"); - } - } - closedir($dh); - return true; - } - - - /** - * Decompress a given file to the given target directory - * - * Determines the compression type from the file extension - */ - function decompress($file, $target) { - global $conf; - - // decompression library doesn't like target folders ending in "/" - if (substr($target, -1) == "/") $target = substr($target, 0, -1); - - $ext = $this->guess_archive($file); - if (in_array($ext, array('tar','bz','gz'))) { - switch($ext){ - case 'bz': - $compress_type = Tar::COMPRESS_BZIP; - break; - case 'gz': - $compress_type = Tar::COMPRESS_GZIP; - break; - default: - $compress_type = Tar::COMPRESS_NONE; - } - - $tar = new Tar(); - try { - $tar->open($file, $compress_type); - $tar->extract($target); - return true; - }catch(Exception $e){ - if($conf['allowdebug']){ - msg('Tar Error: '.$e->getMessage().' ['.$e->getFile().':'.$e->getLine().']',-1); - } - return false; - } - } else if ($ext == 'zip') { - - $zip = new ZipLib(); - $ok = $zip->Extract($file, $target); - - // FIXME sort something out for handling zip error messages meaningfully - return ($ok==-1?false:true); - - } - - // unsupported file type - return false; - } - - /** - * Determine the archive type of the given file - * - * Reads the first magic bytes of the given file for content type guessing, - * if neither bz, gz or zip are recognized, tar is assumed. - * - * @author Andreas Gohr <andi@splitbrain.org> - * @returns boolean|string false if the file can't be read, otherwise an "extension" - */ - function guess_archive($file){ - $fh = fopen($file,'rb'); - if(!$fh) return false; - $magic = fread($fh,5); - fclose($fh); - - if(strpos($magic,"\x42\x5a") === 0) return 'bz'; - if(strpos($magic,"\x1f\x8b") === 0) return 'gz'; - if(strpos($magic,"\x50\x4b\x03\x04") === 0) return 'zip'; - return 'tar'; - } - - /** - * Copy with recursive sub-directory support - */ - function dircopy($src, $dst) { - global $conf; - - if (is_dir($src)) { - if (!$dh = @opendir($src)) return false; - - if ($ok = io_mkdir_p($dst)) { - while ($ok && (false !== ($f = readdir($dh)))) { - if ($f == '..' || $f == '.') continue; - $ok = $this->dircopy("$src/$f", "$dst/$f"); - } - } - - closedir($dh); - return $ok; - - } else { - $exists = @file_exists($dst); - - if (!@copy($src,$dst)) return false; - if (!$exists && !empty($conf['fperm'])) chmod($dst, $conf['fperm']); - @touch($dst,filemtime($src)); - } - - return true; - } - - -} - diff --git a/lib/plugins/plugin/classes/ap_enable.class.php b/lib/plugins/plugin/classes/ap_enable.class.php deleted file mode 100644 index a25c7ede8..000000000 --- a/lib/plugins/plugin/classes/ap_enable.class.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php - -class ap_enable extends ap_manage { - - var $enabled = array(); - - function process() { - global $plugin_protected; - global $INPUT; - - $count_enabled = $count_disabled = 0; - - $this->enabled = $INPUT->arr('enabled'); - - foreach ($this->manager->plugin_list as $plugin) { - if (in_array($plugin, $plugin_protected)) continue; - - $new = in_array($plugin, $this->enabled); - $old = !plugin_isdisabled($plugin); - - if ($new != $old) { - switch ($new) { - // enable plugin - case true : - if(plugin_enable($plugin)){ - msg(sprintf($this->lang['enabled'],$plugin),1); - $count_enabled++; - }else{ - msg(sprintf($this->lang['notenabled'],$plugin),-1); - } - break; - case false: - if(plugin_disable($plugin)){ - msg(sprintf($this->lang['disabled'],$plugin),1); - $count_disabled++; - }else{ - msg(sprintf($this->lang['notdisabled'],$plugin),-1); - } - break; - } - } - } - - // refresh plugins, including expiring any dokuwiki cache(s) - if ($count_enabled || $count_disabled) { - $this->refresh(); - } - } - -} - diff --git a/lib/plugins/plugin/classes/ap_info.class.php b/lib/plugins/plugin/classes/ap_info.class.php deleted file mode 100644 index 89b78fa2d..000000000 --- a/lib/plugins/plugin/classes/ap_info.class.php +++ /dev/null @@ -1,143 +0,0 @@ -<?php - -class ap_info extends ap_manage { - - var $plugin_info = array(); // the plugin itself - var $details = array(); // any component plugins - - function process() { - - // sanity check - if (!$this->manager->plugin) { return; } - - $component_list = $this->get_plugin_components($this->manager->plugin); - usort($component_list, array($this,'component_sort')); - - foreach ($component_list as $component) { - if (($obj = plugin_load($component['type'],$component['name'],false,true)) === null) continue; - - $compname = explode('_',$component['name']); - if($compname[1]){ - $compname = '['.$compname[1].']'; - }else{ - $compname = ''; - } - - $this->details[] = array_merge( - $obj->getInfo(), - array( - 'type' => $component['type'], - 'compname' => $compname - )); - unset($obj); - } - - // review details to simplify things - foreach($this->details as $info) { - foreach($info as $item => $value) { - if (!isset($this->plugin_info[$item])) { $this->plugin_info[$item] = $value; continue; } - if ($this->plugin_info[$item] != $value) $this->plugin_info[$item] = ''; - } - } - } - - function html() { - - // output the standard menu stuff - parent::html(); - - // sanity check - if (!$this->manager->plugin) { return; } - - ptln('<div class="pm_info">'); - ptln("<h2>".$this->manager->getLang('plugin')." {$this->manager->plugin}</h2>"); - - // collect pertinent information from the log - $installed = $this->plugin_readlog($this->manager->plugin, 'installed'); - $source = $this->plugin_readlog($this->manager->plugin, 'url'); - $updated = $this->plugin_readlog($this->manager->plugin, 'updated'); - if (strrpos($updated, "\n") !== false) $updated = substr($updated, strrpos($updated, "\n")+1); - - ptln("<dl>",2); - ptln("<dt>".$this->manager->getLang('source').'</dt><dd>'.($source ? $source : $this->manager->getLang('unknown'))."</dd>",4); - ptln("<dt>".$this->manager->getLang('installed').'</dt><dd>'.($installed ? $installed : $this->manager->getLang('unknown'))."</dd>",4); - if ($updated) ptln("<dt>".$this->manager->getLang('lastupdate').'</dt><dd>'.$updated."</dd>",4); - ptln("</dl>",2); - - if (count($this->details) == 0) { - ptln("<p>".$this->manager->getLang('noinfo')."</p>",2); - } else { - - ptln("<dl>",2); - if ($this->plugin_info['name']) ptln("<dt>".$this->manager->getLang('name')."</dt><dd>".$this->out($this->plugin_info['name'])."</dd>",4); - if ($this->plugin_info['date']) ptln("<dt>".$this->manager->getLang('date')."</dt><dd>".$this->out($this->plugin_info['date'])."</dd>",4); - if ($this->plugin_info['type']) ptln("<dt>".$this->manager->getLang('type')."</dt><dd>".$this->out($this->plugin_info['type'])."</dd>",4); - if ($this->plugin_info['desc']) ptln("<dt>".$this->manager->getLang('desc')."</dt><dd>".$this->out($this->plugin_info['desc'])."</dd>",4); - if ($this->plugin_info['author']) ptln("<dt>".$this->manager->getLang('author')."</dt><dd>".$this->manager->email($this->plugin_info['email'], $this->plugin_info['author'])."</dd>",4); - if ($this->plugin_info['url']) ptln("<dt>".$this->manager->getLang('www')."</dt><dd>".$this->manager->external_link($this->plugin_info['url'], '', 'urlextern')."</dd>",4); - ptln("</dl>",2); - - if (count($this->details) > 1) { - ptln("<h3>".$this->manager->getLang('components')."</h3>",2); - ptln("<div>",2); - - foreach ($this->details as $info) { - - ptln("<dl>",4); - ptln("<dt>".$this->manager->getLang('name')."</dt><dd>".$this->out($info['name'].' '.$info['compname'])."</dd>",6); - if (!$this->plugin_info['date']) ptln("<dt>".$this->manager->getLang('date')."</dt><dd>".$this->out($info['date'])."</dd>",6); - if (!$this->plugin_info['type']) ptln("<dt>".$this->manager->getLang('type')."</dt><dd>".$this->out($info['type'])."</dd>",6); - if (!$this->plugin_info['desc']) ptln("<dt>".$this->manager->getLang('desc')."</dt><dd>".$this->out($info['desc'])."</dd>",6); - if (!$this->plugin_info['author']) ptln("<dt>".$this->manager->getLang('author')."</dt><dd>".$this->manager->email($info['email'], $info['author'])."</dd>",6); - if (!$this->plugin_info['url']) ptln("<dt>".$this->manager->getLang('www')."</dt><dd>".$this->manager->external_link($info['url'], '', 'urlextern')."</dd>",6); - ptln("</dl>",4); - - } - ptln("</div>",2); - } - } - ptln("</div>"); - } - - // simple output filter, make html entities safe and convert new lines to <br /> - function out($text) { - return str_replace("\n",'<br />',htmlspecialchars($text)); - } - - - /** - * return a list (name & type) of all the component plugins that make up this plugin - * - * @todo can this move to pluginutils? - */ - function get_plugin_components($plugin) { - - global $plugin_types; - - $components = array(); - $path = DOKU_PLUGIN.plugin_directory($plugin).'/'; - - foreach ($plugin_types as $type) { - if (@file_exists($path.$type.'.php')) { $components[] = array('name'=>$plugin, 'type'=>$type); continue; } - - if ($dh = @opendir($path.$type.'/')) { - while (false !== ($cp = readdir($dh))) { - if ($cp == '.' || $cp == '..' || strtolower(substr($cp,-4)) != '.php') continue; - - $components[] = array('name'=>$plugin.'_'.substr($cp, 0, -4), 'type'=>$type); - } - closedir($dh); - } - } - - return $components; - } - - /** - * usort callback to sort plugin components - */ - function component_sort($a, $b) { - if ($a['name'] == $b['name']) return 0; - return ($a['name'] < $b['name']) ? -1 : 1; - } -} diff --git a/lib/plugins/plugin/classes/ap_manage.class.php b/lib/plugins/plugin/classes/ap_manage.class.php deleted file mode 100644 index 48be63050..000000000 --- a/lib/plugins/plugin/classes/ap_manage.class.php +++ /dev/null @@ -1,202 +0,0 @@ -<?php - -class ap_manage { - - var $manager = null; - var $lang = array(); - var $plugin = ''; - var $downloaded = array(); - - function ap_manage(&$manager, $plugin) { - $this->manager = & $manager; - $this->plugin = $plugin; - $this->lang = & $manager->lang; - } - - function process() { - return ''; - } - - function html() { - print $this->manager->locale_xhtml('admin_plugin'); - $this->html_menu(); - } - - // build our standard menu - function html_menu($listPlugins = true) { - global $ID; - - ptln('<div class="pm_menu">'); - - ptln('<div class="common">'); - ptln(' <h2>'.$this->lang['download'].'</h2>'); - ptln(' <form action="'.wl($ID).'" method="post">'); - ptln(' <fieldset class="hidden">',4); - ptln(' <input type="hidden" name="do" value="admin" />'); - ptln(' <input type="hidden" name="page" value="plugin" />'); - formSecurityToken(); - ptln(' </fieldset>'); - ptln(' <fieldset>'); - ptln(' <legend>'.$this->lang['download'].'</legend>'); - ptln(' <label for="dw__url">'.$this->lang['url'].'<input name="url" id="dw__url" class="edit" type="text" maxlength="200" /></label>'); - ptln(' <input type="submit" class="button" name="fn[download]" value="'.$this->lang['btn_download'].'" />'); - ptln(' </fieldset>'); - ptln(' </form>'); - ptln('</div>'); - - if ($listPlugins) { - ptln('<h2>'.$this->lang['manage'].'</h2>'); - - ptln('<form action="'.wl($ID).'" method="post" class="plugins">'); - - ptln(' <fieldset class="hidden">'); - ptln(' <input type="hidden" name="do" value="admin" />'); - ptln(' <input type="hidden" name="page" value="plugin" />'); - formSecurityToken(); - ptln(' </fieldset>'); - - $this->html_pluginlist(); - - ptln(' <fieldset class="buttons">'); - ptln(' <input type="submit" class="button" name="fn[enable]" value="'.$this->lang['btn_enable'].'" />'); - ptln(' </fieldset>'); - - // ptln(' </div>'); - ptln('</form>'); - } - - ptln('</div>'); - } - - function html_pluginlist() { - global $plugin_protected; - - foreach ($this->manager->plugin_list as $plugin) { - - $disabled = plugin_isdisabled($plugin); - $protected = in_array($plugin,$plugin_protected); - - $checked = ($disabled) ? '' : ' checked="checked"'; - $check_disabled = ($protected) ? ' disabled="disabled"' : ''; - - // determine display class(es) - $class = array(); - if (in_array($plugin, $this->downloaded)) $class[] = 'new'; - if ($disabled) $class[] = 'disabled'; - if ($protected) $class[] = 'protected'; - - $class = count($class) ? ' class="'.join(' ', $class).'"' : ''; - - ptln(' <fieldset'.$class.'>'); - ptln(' <legend>'.$plugin.'</legend>'); - ptln(' <input type="checkbox" class="enable" name="enabled[]" id="dw__p_'.$plugin.'" value="'.$plugin.'"'.$checked.$check_disabled.' />'); - ptln(' <h3 class="legend"><label for="dw__p_'.$plugin.'">'.$plugin.'</label></h3>'); - - $this->html_button($plugin, 'info', false, 6); - if (in_array('settings', $this->manager->functions)) { - $this->html_button($plugin, 'settings', !@file_exists(DOKU_PLUGIN.$plugin.'/settings.php'), 6); - } - $this->html_button($plugin, 'update', !$this->plugin_readlog($plugin, 'url'), 6); - $this->html_button($plugin, 'delete', $protected, 6); - - ptln(' </fieldset>'); - } - } - - function html_button($plugin, $btn, $disabled=false, $indent=0) { - $disabled = ($disabled) ? 'disabled="disabled"' : ''; - ptln('<input type="submit" class="button" '.$disabled.' name="fn['.$btn.']['.$plugin.']" value="'.$this->lang['btn_'.$btn].'" />',$indent); - } - - /** - * Refresh plugin list - */ - function refresh() { - global $config_cascade; - - // expire dokuwiki caches - // touching local.php expires wiki page, JS and CSS caches - @touch(reset($config_cascade['main']['local'])); - - // update latest plugin date - FIXME - global $ID; - send_redirect(wl($ID,array('do'=>'admin','page'=>'plugin'),true, '&')); - } - - /** - * Write a log entry to the given target directory - */ - function plugin_writelog($target, $cmd, $data) { - - $file = $target.'/manager.dat'; - - switch ($cmd) { - case 'install' : - $url = $data[0]; - $date = date('r'); - if (!$fp = @fopen($file, 'w')) return; - fwrite($fp, "installed=$date\nurl=$url\n"); - fclose($fp); - break; - - case 'update' : - $url = $data[0]; - $date = date('r'); - if (!$fp = @fopen($file, 'r+')) return; - $buffer = ""; - while (($line = fgets($fp)) !== false) { - $urlFound = strpos($line,"url"); - if($urlFound !== false) $line="url=$url\n"; - $buffer .= $line; - } - $buffer .= "updated=$date\n"; - fseek($fp, 0); - fwrite($fp, $buffer); - fclose($fp); - break; - } - } - - function plugin_readlog($plugin, $field) { - static $log = array(); - $file = DOKU_PLUGIN.plugin_directory($plugin).'/manager.dat'; - - if (!isset($log[$plugin])) { - $tmp = @file_get_contents($file); - if (!$tmp) return ''; - $log[$plugin] = & $tmp; - } - - if ($field == 'ALL') { - return $log[$plugin]; - } - - $match = array(); - if (preg_match_all('/'.$field.'=(.*)$/m',$log[$plugin], $match)) - return implode("\n", $match[1]); - - return ''; - } - - /** - * delete, with recursive sub-directory support - */ - function dir_delete($path) { - if (!is_string($path) || $path == "") return false; - - if (is_dir($path) && !is_link($path)) { - if (!$dh = @opendir($path)) return false; - - while ($f = readdir($dh)) { - if ($f == '..' || $f == '.') continue; - $this->dir_delete("$path/$f"); - } - - closedir($dh); - return @rmdir($path); - } - return @unlink($path); - } - - -} diff --git a/lib/plugins/plugin/classes/ap_update.class.php b/lib/plugins/plugin/classes/ap_update.class.php deleted file mode 100644 index 5d7f6cb08..000000000 --- a/lib/plugins/plugin/classes/ap_update.class.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -require_once(DOKU_PLUGIN."/plugin/classes/ap_download.class.php"); -class ap_update extends ap_download { - - var $overwrite = true; - - function process() { - $plugin_url = $this->plugin_readlog($this->plugin, 'url'); - $this->download($plugin_url, $this->overwrite); - return ''; - } - - function html() { - parent::html(); - - ptln('<div class="pm_info">'); - ptln('<h2>'.$this->lang['updating'].'</h2>'); - - if ($this->manager->error) { - ptln('<div class="error">'.str_replace("\n","<br />", $this->manager->error).'</div>'); - } else if (count($this->downloaded) == 1) { - ptln('<p>'.sprintf($this->lang['updated'],$this->downloaded[0]).'</p>'); - } else if (count($this->downloaded)) { // more than one plugin in the download - ptln('<p>'.$this->lang['updates'].'</p>'); - ptln('<ul>'); - foreach ($this->downloaded as $plugin) { - ptln('<li><div class="li">'.$plugin.'</div></li>',2); - } - ptln('</ul>'); - } else { // none found in download - ptln('<p>'.$this->lang['update_none'].'</p>'); - } - ptln('</div>'); - } -} - diff --git a/lib/plugins/plugin/lang/af/lang.php b/lib/plugins/plugin/lang/af/lang.php deleted file mode 100644 index 669fdd5ce..000000000 --- a/lib/plugins/plugin/lang/af/lang.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php -/** - * Afrikaans language file - * - */ -$lang['btn_download'] = 'Af laai'; -$lang['btn_enable'] = 'Store'; -$lang['url'] = 'URL'; -$lang['unknown'] = 'unbekende'; -$lang['name'] = 'Naam:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Tipe:'; -$lang['www'] = 'Web-werf:'; diff --git a/lib/plugins/plugin/lang/ar/admin_plugin.txt b/lib/plugins/plugin/lang/ar/admin_plugin.txt deleted file mode 100644 index 2ef9fd595..000000000 --- a/lib/plugins/plugin/lang/ar/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== إدارة الإضافات ====== - -على هذه الصفحة يمكنك إدارة كل ما يتعلق ب[[doku>plugins|إضافات]] دوكو ويكي. لتتمكن من تنزيل و تثبيت الإضافات يجب أن يكون دليل الاضافات قابلا للكتابة من خادوم الوب. - diff --git a/lib/plugins/plugin/lang/ar/lang.php b/lib/plugins/plugin/lang/ar/lang.php deleted file mode 100644 index aae58fdb9..000000000 --- a/lib/plugins/plugin/lang/ar/lang.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Yaman Hokan <always.smile.yh@hotmail.com> - * @author Usama Akkad <uahello@gmail.com> - * @author uahello@gmail.com - */ -$lang['menu'] = 'إدارة الملحقات'; -$lang['download'] = 'نزّل و ثبت اضافة جديدة'; -$lang['manage'] = 'الإضافات المثبتة'; -$lang['btn_info'] = 'معلومات'; -$lang['btn_update'] = 'حدّث'; -$lang['btn_delete'] = 'احذف'; -$lang['btn_settings'] = 'إعدادات'; -$lang['btn_download'] = 'نزل'; -$lang['btn_enable'] = 'احفظ'; -$lang['url'] = 'رابط'; -$lang['installed'] = 'ثُبتت:'; -$lang['lastupdate'] = 'آخر تحديث:'; -$lang['source'] = 'المصدر:'; -$lang['unknown'] = 'مجهول'; -$lang['updating'] = 'تُحدث ...'; -$lang['updated'] = 'الاضافة %s حُدثت بنجاح'; -$lang['updates'] = 'الاضافة التالية حُدثت بنجاح'; -$lang['update_none'] = 'لا يوجد تحديثات.'; -$lang['deleting'] = 'تُحذف ... '; -$lang['deleted'] = 'حُذفت الإضافة %s.'; -$lang['downloading'] = 'يُنزل ...'; -$lang['downloaded'] = 'الاضافة %s ثبتت بنجاح'; -$lang['downloads'] = 'الاضافة التالية ثبتت بنجاح:'; -$lang['download_none'] = 'لم يجد إضافة، أو ان هناك مشكلة غير معروفة أثناء التنزيل و التثبيت.'; -$lang['plugin'] = 'الإضافة:'; -$lang['components'] = 'المكون:'; -$lang['noinfo'] = 'لم تعطي الإضافة أية معلومة، قد تكون معطوبة.'; -$lang['name'] = 'الاسم :'; -$lang['date'] = 'التاريخ :'; -$lang['type'] = 'النوع :'; -$lang['desc'] = 'الوصف :'; -$lang['author'] = 'الكاتب :'; -$lang['www'] = 'الشابكة :'; -$lang['error'] = 'حث خطأ مجهول.'; -$lang['error_download'] = 'تعذر تنزيل ملف الاضافة: %s'; -$lang['error_badurl'] = 'اشتبه بعنوان خاطئ - تعذر الحصول على الاسم من العنوان'; -$lang['error_dircreate'] = 'تعذر إنشاء مجلد مؤقت للتنزيل'; -$lang['error_decompress'] = 'تعذر على مدير الاضافات فك ضغط الملف المُنزّل. قد يكون ذلك نتيجة لتنزيل خاطئ، في هذه الحالة أعد المحاولة; أو ان هيئة الضغط غير معروفة، في هذه الحالة عليك تنزيل و تثبيت الاضافة يدويا.'; -$lang['error_copy'] = 'كان هناك خطأ في نسخ ملف عند محاولة تثبيت ملفات للإضافة <em>%s</em>: قد يكون القرص ممتلئا أو أن صلاحيات الوصول للملف خاطئة. لربما نتج عن ذلك اضافة مثبته جزئيا تجعل نظام الويكي غير ثابت.'; -$lang['error_delete'] = 'كان هناك خطأ عند محاولة حذف الاضافة <em>%s</em>. السبب الاكثر احتمالا هو صلاحيات غير كافية على الملف أو المجلد'; -$lang['enabled'] = 'الاضافة %s فُعلت. '; -$lang['notenabled'] = 'تعذر تفعيل الاضافة %s، تحقق من اذونات الملف.'; -$lang['disabled'] = 'عُطلت الإضافة %s.'; -$lang['notdisabled'] = 'تعذر تعطيل الإضافة %s، تحقق من اذونات الملف.'; -$lang['packageinstalled'] = 'حزمة الإضافة (%d plugin(s): %s) ثبتت بنجاج.'; diff --git a/lib/plugins/plugin/lang/bg/admin_plugin.txt b/lib/plugins/plugin/lang/bg/admin_plugin.txt deleted file mode 100644 index bad73e136..000000000 --- a/lib/plugins/plugin/lang/bg/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Управление на приставките ====== - -От тази страница можете на управлявате [[doku>plugins|приставките]] на Dokuwiki. За да свалите и инсталирате приставка, е необходимо писането в директорията .../lib/plugins/ да е позволено на сървъра. diff --git a/lib/plugins/plugin/lang/bg/lang.php b/lib/plugins/plugin/lang/bg/lang.php deleted file mode 100644 index 09ac35229..000000000 --- a/lib/plugins/plugin/lang/bg/lang.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -/** - * bulgarian language file - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Nikolay Vladimirov <nikolay@vladimiroff.com> - * @author Viktor Usunov <usun0v@mail.bg> - * @author Kiril <neohidra@gmail.com> - */ -$lang['menu'] = 'Управление на приставките'; -$lang['download'] = 'Сваляне и инсталиране на нова приставка'; -$lang['manage'] = 'Инсталирани приставки'; -$lang['btn_info'] = 'информация'; -$lang['btn_update'] = 'обновяване'; -$lang['btn_delete'] = 'изтриване'; -$lang['btn_settings'] = 'настройки'; -$lang['btn_download'] = 'Сваляне'; -$lang['btn_enable'] = 'Запис'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Инсталирана:'; -$lang['lastupdate'] = 'Актуализирана:'; -$lang['source'] = 'Източник:'; -$lang['unknown'] = 'непознат'; -$lang['updating'] = 'Актуализиране ...'; -$lang['updated'] = 'Приставката %s е качена успешно'; -$lang['updates'] = 'Следните приставки са актуализирани успешно'; -$lang['update_none'] = 'Не са намерени нови версии.'; -$lang['deleting'] = 'Изтриване ...'; -$lang['deleted'] = 'Приставката %s е изтрита успешно.'; -$lang['downloading'] = 'Сваляне ...'; -$lang['downloaded'] = 'Приставката %s е инсталирана успешно '; -$lang['downloads'] = 'Следните приставки са инсталирани успешно:'; -$lang['download_none'] = 'Не са намерени приставки или е възникнала непозната грешка при свалянето и инсталирането.'; -$lang['plugin'] = 'Приставка:'; -$lang['components'] = 'Компоненти'; -$lang['noinfo'] = 'Приставка не върна информация, може да е повредена.'; -$lang['name'] = 'Име:'; -$lang['date'] = 'Дата:'; -$lang['type'] = 'Тип:'; -$lang['desc'] = 'Описание:'; -$lang['author'] = 'Автор:'; -$lang['www'] = 'Уебстраница:'; -$lang['error'] = 'Възникна непозната грешка.'; -$lang['error_download'] = 'Свалянето на приставката %s е невъзможно.'; -$lang['error_badurl'] = 'Предполагаем грешен адрес - не може да се определи име на файла от URL адреса'; -$lang['error_dircreate'] = 'Създаването на временна директория за сваляне не е възможно.'; -$lang['error_decompress'] = 'Разархивирането на сваленият файл е невъзможно. Вероятно е резултат от грешка при свалянето, в този случай трябва да опитате отново; или формата на компресия е непознат - тогава трябва да свалите и инсталирате приставката ръчно.'; -$lang['error_copy'] = 'Възникна грешка при копиране на файл по време на инсталиране на приставката <em>%s</em>: вероятно дискът е пълен или правата за достъп до файловете са грешни. Може да доведе до частично инсталирана приставка и да причини нестабилно функциониране на wiki-то ви.'; -$lang['error_delete'] = 'Възникна грешка при изтриването на приставката <em>%s</em>. Най-вероятната причина е в правата за достъп до файл или директория'; -$lang['enabled'] = 'Приставката %s е включена.'; -$lang['notenabled'] = 'Приставката %s не може да бъде включена, моля проверете правата за файловете.'; -$lang['disabled'] = 'Приставката %s е изключена.'; -$lang['notdisabled'] = 'Приставката %s не е изключена, моля проверете правата за файловете.'; -$lang['packageinstalled'] = 'Пакетът е инсталиран успешно (%d приставка: %s).'; diff --git a/lib/plugins/plugin/lang/ca-valencia/admin_plugin.txt b/lib/plugins/plugin/lang/ca-valencia/admin_plugin.txt deleted file mode 100644 index 6b5a95838..000000000 --- a/lib/plugins/plugin/lang/ca-valencia/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Gestor de plúgins ====== - -Des d'esta pàgina pot gestionar tot lo relacionat en els [[doku>plugins|plúgins]] de DokuWiki. Per a poder descarregar i instalar un plúgin, el servidor web deu poder escriure en la carpeta de plúgins. - diff --git a/lib/plugins/plugin/lang/ca-valencia/lang.php b/lib/plugins/plugin/lang/ca-valencia/lang.php deleted file mode 100644 index 3fbdb134d..000000000 --- a/lib/plugins/plugin/lang/ca-valencia/lang.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * valencian language file - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Bernat Arlandis i Mañó <berarma@ya.com> - * @author Bernat Arlandis <berarma@ya.com> - * @author Bernat Arlandis <berarma@llenguaitecnologia.com> - */ -$lang['menu'] = 'Gestor de plúgins'; -$lang['download'] = 'Descarregar i instalar un nou plúgin'; -$lang['manage'] = 'Plúgins instalats'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualisar'; -$lang['btn_delete'] = 'borrar'; -$lang['btn_settings'] = 'ajusts'; -$lang['btn_download'] = 'Descarregar'; -$lang['btn_enable'] = 'Guardar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalat:'; -$lang['lastupdate'] = 'Última actualisació:'; -$lang['source'] = 'Font:'; -$lang['unknown'] = 'desconegut'; -$lang['updating'] = 'Actualisant ...'; -$lang['updated'] = 'Plúgin %s actualisat correctament'; -$lang['updates'] = 'Els següents plúgins s\'han actualisat correctament:'; -$lang['update_none'] = 'No s\'han trobat actualisacions.'; -$lang['deleting'] = 'Borrant ...'; -$lang['deleted'] = 'Plúgin %s borrat.'; -$lang['downloading'] = 'Descarregant ...'; -$lang['downloaded'] = 'Plúgin %s instalat correctament'; -$lang['downloads'] = 'Els següents plúgins s\'han instalat correctament:'; -$lang['download_none'] = 'No s\'han trobat plúgins o ha hagut algun problema descarregant i instalant.'; -$lang['plugin'] = 'Plúgin:'; -$lang['components'] = 'Components'; -$lang['noinfo'] = 'Este plúgin no ha tornat informació, pot ser invàlit.'; -$lang['name'] = 'Nom:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Classe:'; -$lang['desc'] = 'Descripció:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ha ocorregut un erro desconegut.'; -$lang['error_download'] = 'No es pot descarregar l\'archiu del plúgin: %s'; -$lang['error_badurl'] = 'Possible URL roïn - no es pot determinar el nom de l\'archiu a partir de la URL'; -$lang['error_dircreate'] = 'No es pot crear la carpeta temporal per a rebre descàrregues'; -$lang['error_decompress'] = 'El gestor de plúgins no ha pogut descomprimir l\'archiu descarregat. Açò pot ser degut a una descàrrega fallida, en eixe cas deuria intentar-ho de nou; o el format de compressió pot ser desconegut, en eixe cas necessitarà descarregar i instalar el plúgin manualment.'; -$lang['error_copy'] = 'Ha ocorregut un erro copiant archius a l\'instalar archius del plúgin <em>%s</em>: el disc podria estar ple o els permissos d\'accés a l\'archiu estar mal. El plúgin podria haver quedat parcialment instalat i deixar el wiki inestable.'; -$lang['error_delete'] = 'Ha ocorregut un erro intentant borrar el plúgin <em>%s</em>. La causa més provable és que els permissos d\'accés a l\'archiu o el directori no siguen suficients'; -$lang['enabled'] = 'Plúgin %s activat.'; -$lang['notenabled'] = 'No s\'ha pogut activar el plúgin %s, comprove els permissos dels archius.'; -$lang['disabled'] = 'Plúgin %s desactivat.'; -$lang['notdisabled'] = 'No s\'ha pogut desactivar el plúgin %s, comprove els permissos dels archius.'; diff --git a/lib/plugins/plugin/lang/ca/admin_plugin.txt b/lib/plugins/plugin/lang/ca/admin_plugin.txt deleted file mode 100644 index c21e3f502..000000000 --- a/lib/plugins/plugin/lang/ca/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Gestió de connectors ====== - -En aquesta pàgina podeu gestionar tot allò referent als [[doku>plugins|connectors]] de Dokuwiki. Per a baixar i instal·lar connectors, cal que el servidor web tingui permís d'escriptura en la carpeta de connectors.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/ca/lang.php b/lib/plugins/plugin/lang/ca/lang.php deleted file mode 100644 index 5c7933666..000000000 --- a/lib/plugins/plugin/lang/ca/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php -/** - * Catalan language file - * - * @author Carles Bellver <carles.bellver@gmail.com> - * @author carles.bellver@gmail.com - * @author carles.bellver@cent.uji.es - * @author Carles Bellver <carles.bellver@cent.uji.es> - * @author daniel@6temes.cat - */ -$lang['menu'] = 'Gestió de connectors'; -$lang['download'] = 'Baixa i instal·la un nou connector'; -$lang['manage'] = 'Connectors instal·lats'; -$lang['btn_info'] = 'informació'; -$lang['btn_update'] = 'actualitza'; -$lang['btn_delete'] = 'suprimeix'; -$lang['btn_settings'] = 'paràmetres'; -$lang['btn_download'] = 'Baixa'; -$lang['btn_enable'] = 'Desa'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instal·lació:'; -$lang['lastupdate'] = 'Darrera actualitació:'; -$lang['source'] = 'Font:'; -$lang['unknown'] = 'desconegut'; -$lang['updating'] = 'S\'està actualitzant...'; -$lang['updated'] = 'El connector %s s\'ha actualitzat amb èxit.'; -$lang['updates'] = 'Els connectors següents s\'han actualitzat amb èxit'; -$lang['update_none'] = 'No s\'han trobat actualitzacions.'; -$lang['deleting'] = 'S\'està suprimint...'; -$lang['deleted'] = 'S\'ha suprimit el connector %s.'; -$lang['downloading'] = 'S\'està baixant...'; -$lang['downloaded'] = 'El connector %s s\'ha instal·lat amb èxit'; -$lang['downloads'] = 'Els connectors següents s\'han instal·lat amb èxit:'; -$lang['download_none'] = 'No s\'han trobat connectors, o hi ha hagut un problema desconegut durant el procés de baixada i instal·lació.'; -$lang['plugin'] = 'Connector:'; -$lang['components'] = 'Components'; -$lang['noinfo'] = 'Aquest connector no ha retornat informació. Potser no és vàlid.'; -$lang['name'] = 'Nom:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipus:'; -$lang['desc'] = 'Descripció:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'S\'ha produït un error desconegut.'; -$lang['error_download'] = 'No s\'ha pogut baixar el fitxer del connector: %s'; -$lang['error_badurl'] = 'L\'URL no sembla vàlid: no permet determinar el nom del fitxer'; -$lang['error_dircreate'] = 'No s\'ha pogut crear una carpeta temporal per rebre la baixada'; -$lang['error_decompress'] = 'El gestor de connectors no ha pogut descomprimir el fitxer baixat. Potser no s\'ha baixat correctament, en el qual cas podríeu tornar a intentar-ho. O el format de compressió podria ser desconegut, en el qual cas hauríeu de baixar i instal·lar el connector manualment.'; -$lang['error_copy'] = 'S\'ha produït un error de còpia de fitxers quan s\'estaven instal·lant els fitxers del connector <em>%s</em>: potser el disc està ple o els permisos d\'accés són incorrectes. Això pot haver causat una instal·lació incompleta del connector i per tant el vostre wiki pot haver quedat en un estat inestable.'; -$lang['error_delete'] = 'S\'ha produït un error quan s\'intentava suprimir el connector <em>%s</em>. La causa més probable d\'això són uns permisos d\'accés insuficients al fitxer o al directori. '; -$lang['enabled'] = 'S\'ha habilitat el connector %s.'; -$lang['notenabled'] = 'No s\'ha pogut habilitar el connector %s. Comproveu els permisos dels fitxers.'; -$lang['disabled'] = 'S\'ha inhabilitat el connector %s.'; -$lang['notdisabled'] = 'No s\'ha pogut inhabilitar el connector %s. Comproveu els permisos dels fitxers.'; -$lang['packageinstalled'] = 'El paquet del connector (%d plugins(s): %s) s\'ha instal·lat correctament.'; diff --git a/lib/plugins/plugin/lang/cs/admin_plugin.txt b/lib/plugins/plugin/lang/cs/admin_plugin.txt deleted file mode 100644 index 6ebf1e78f..000000000 --- a/lib/plugins/plugin/lang/cs/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Správa pluginů ====== - -Na této stránce lze spravovat pluginy DokuWiki [[doku>plugins|plugins]]. Aby bylo možné stahovat a instalovat pluginy, musí mít webový server přístup pro zápis do adresáře //plugin//. diff --git a/lib/plugins/plugin/lang/cs/lang.php b/lib/plugins/plugin/lang/cs/lang.php deleted file mode 100644 index fb8b6cc4e..000000000 --- a/lib/plugins/plugin/lang/cs/lang.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Tomas Valenta <t.valenta@sh.cvut.cz> - * @author Zbynek Krivka <zbynek.krivka@seznam.cz> - * @author Bohumir Zamecnik <bohumir@zamecnik.org> - * @author tomas@valenta.cz - * @author Marek Sacha <sachamar@fel.cvut.cz> - * @author Lefty <lefty@multihost.cz> - * @author Vojta Beran <xmamut@email.cz> - * @author zbynek.krivka@seznam.cz - * @author Bohumir Zamecnik <bohumir.zamecnik@gmail.com> - * @author Jakub A. Těšínský (j@kub.cz) - * @author mkucera66@seznam.cz - * @author Zbyněk Křivka <krivka@fit.vutbr.cz> - * @author Gerrit Uitslag <klapinklapin@gmail.com> - */ -$lang['menu'] = 'Správa pluginů'; -$lang['download'] = 'Stáhnout a instalovat plugin'; -$lang['manage'] = 'Seznam instalovaných pluginů'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'aktualizovat'; -$lang['btn_delete'] = 'smazat'; -$lang['btn_settings'] = 'nastavení'; -$lang['btn_download'] = 'Stáhnout'; -$lang['btn_enable'] = 'Uložit'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalován:'; -$lang['lastupdate'] = 'Poslední aktualizace:'; -$lang['source'] = 'Zdroj:'; -$lang['unknown'] = 'neznámý'; -$lang['updating'] = 'Aktualizuji ...'; -$lang['updated'] = 'Modul %s úspěšně aktualizován'; -$lang['updates'] = 'Následující pluginy byly úspěšně aktualizovány'; -$lang['update_none'] = 'Žádné aktualizace nenalezeny.'; -$lang['deleting'] = 'Probíhá mazání ...'; -$lang['deleted'] = 'Plugin %s smazán.'; -$lang['downloading'] = 'Stahuji ...'; -$lang['downloaded'] = 'Plugin %s nainstalován'; -$lang['downloads'] = 'Následující pluginy byly úspěšně instalovány:'; -$lang['download_none'] = 'Žádné pluginy nebyly nenalezeny, nebo se vyskytla nějaká chyba při -stahování a instalaci.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Součásti'; -$lang['noinfo'] = 'Plugin nevrátil žádné informace. Může být poškozen nebo špatný.'; -$lang['name'] = 'Jméno:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Popis:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Nastala neznámá chyba.'; -$lang['error_download'] = 'Nelze stáhnout soubor s pluginem: %s'; -$lang['error_badurl'] = 'URL je zřejmě chybná - nelze z ní určit název souboru'; -$lang['error_dircreate'] = 'Nelze vytvořit dočasný adresář ke stažení dat'; -$lang['error_decompress'] = 'Správce pluginů nemůže rozbalit stažený soubor. Toto může být způsobeno chybou při stahování. Můžete se pokusit stahování opakovat. Chyba může být také v kompresním formátu souboru. V tom případě bude nutné stáhnout a nainstalovat plugin ručně.'; -$lang['error_copy'] = 'Došlo k chybě při instalaci pluginu <em>%s</em>. Je možné, že na disku není volné místo, nebo mohou být špatně nastavena přístupová práva. Pozor, mohlo dojít k částečné a tudíž chybné instalaci pluginu a tím může být ohrožena stabilita wiki.'; -$lang['error_delete'] = 'Došlo k chybě při pokusu o smazání pluginu <em>%s</em>. Nejspíše je chyba v nastavení přístupových práv k některým souborům či adresářům.'; -$lang['enabled'] = 'Plugin %s aktivován.'; -$lang['notenabled'] = 'Plugin %s nelze aktivovat, zkontrolujte práva k souborům.'; -$lang['disabled'] = 'Plugin %s deaktivován.'; -$lang['notdisabled'] = 'Plugin %s nelze deaktivovat, zkontrolujte práva k souborům.'; -$lang['packageinstalled'] = 'Balíček pluginů (%d plugin(ů): %s) úspěšně nainstalován.'; diff --git a/lib/plugins/plugin/lang/da/admin_plugin.txt b/lib/plugins/plugin/lang/da/admin_plugin.txt deleted file mode 100644 index 300b6618b..000000000 --- a/lib/plugins/plugin/lang/da/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Udvidelsesstyring ====== - -På denne side kan du kontrollere alle Dokuwikis [[doku>plugins|udvidelser]]. For at hente og opsætte en udvidelse, må din udvidelsesmappe kunne skrives til af serveren. - - diff --git a/lib/plugins/plugin/lang/da/lang.php b/lib/plugins/plugin/lang/da/lang.php deleted file mode 100644 index 07077eaa1..000000000 --- a/lib/plugins/plugin/lang/da/lang.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Lars Næsbye Christensen <larsnaesbye@stud.ku.dk> - * @author Kalle Sommer Nielsen <kalle@php.net> - * @author Esben Laursen <hyber@hyber.dk> - * @author Harith <haj@berlingske.dk> - * @author Daniel Ejsing-Duun <dokuwiki@zilvador.dk> - * @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca> - * @author rasmus@kinnerup.com - * @author Michael Pedersen subben@gmail.com - * @author Mikael Lyngvig <mikael@lyngvig.org> - * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> - */ -$lang['menu'] = 'Håndter udvidelser'; -$lang['download'] = 'Hent og tilføj ny udvidelse'; -$lang['manage'] = 'Tilføjede udvidelser'; -$lang['btn_info'] = 'oplysninger'; -$lang['btn_update'] = 'opdater'; -$lang['btn_delete'] = 'slet'; -$lang['btn_settings'] = 'indstillinger'; -$lang['btn_download'] = 'Hent'; -$lang['btn_enable'] = 'Gem'; -$lang['url'] = 'URL-adresse'; -$lang['installed'] = 'Tilføjet:'; -$lang['lastupdate'] = 'Sidst opdateret:'; -$lang['source'] = 'Kilde:'; -$lang['unknown'] = 'ukendt'; -$lang['updating'] = 'Opdaterer ...'; -$lang['updated'] = 'Udvidelse %s blev korrekt opdateret'; -$lang['updates'] = 'De følgende udvidelser blev opdateret korrekt:'; -$lang['update_none'] = 'Ingen opdateringer fundet.'; -$lang['deleting'] = 'Sletter ...'; -$lang['deleted'] = 'Udvidelsen %s slettet.'; -$lang['downloading'] = 'Henter ...'; -$lang['downloaded'] = 'Udvidelse %s blev korrekt installeret'; -$lang['downloads'] = 'De følgende udvidelser blev installeret korrekt:'; -$lang['download_none'] = 'Ingen udvidelser blev fundet, eller en ukendt fejl opstod under hentning og opsætning'; -$lang['plugin'] = 'Udvidelse:'; -$lang['components'] = 'Komponenter'; -$lang['noinfo'] = 'Denne udvidelse videregav ingen oplysninger. Den kan være fejlagtig.'; -$lang['name'] = 'Navn:'; -$lang['date'] = 'Dato:'; -$lang['type'] = 'Type:'; -$lang['desc'] = 'Beskrivelse:'; -$lang['author'] = 'Programmør:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'En ukendt fejl opstod.'; -$lang['error_download'] = 'Kunne ikke hente udvidelsesfilen: %s'; -$lang['error_badurl'] = 'Muligvis dårlig netadresse; kunne ikke hente filnavn fra adressen.'; -$lang['error_dircreate'] = 'Kunne ikke oprette midlertidig mappe til hentning'; -$lang['error_decompress'] = 'Udvidelseshåndtering kunne ikke udpakke den hentede fil. Det kan skyldes et fejlagtigt download, i hvilket fald du må prøve igen. Komprimeringsformatet kan også være ukendt, hvorved du du vil være nødt til at hente og opsætte udvidelsen manuelt.'; -$lang['error_copy'] = 'Der opstod en filkopieringsfejl under forsøget på at installere filerne til udvidelsen <em>%s</em>: Disken kan være fuld eller filadgangsrettighederne kan være forkert sat. Dette kan have ført til en delvist installeret udvidelse og efterladt din wiki-opsætning ustabil.'; -$lang['error_delete'] = 'Der opstod en fejl ved forsøget på at slette udvidelsen <em>%s</em>. Dette skyldes sandsynligvis utilstrækkelig adgang til filer eller mapper.'; -$lang['enabled'] = 'Udvidelsen %s blev aktiveret.'; -$lang['notenabled'] = 'Udvidelsen %s kunne ikke aktiveres. Kontroller filtilladelser.'; -$lang['disabled'] = 'Udvidelsen %s blev ikke aktiveret.'; -$lang['notdisabled'] = 'Udvidelsen %s kunne ikke aktiveres. Kontroller filtilladelser.'; -$lang['packageinstalled'] = 'Plugin pakke (%d plugin(s): %s) installeret korrekt.'; diff --git a/lib/plugins/plugin/lang/de-informal/admin_plugin.txt b/lib/plugins/plugin/lang/de-informal/admin_plugin.txt deleted file mode 100644 index 576797d57..000000000 --- a/lib/plugins/plugin/lang/de-informal/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -===== Erweiterungsmanagement ===== - -Auf dieser Seite kannst du alles anpassen was mit den DokuWiki [[doku>plugins|Erweiterungen]] zu tun hat. Der Ordner der Erweiterungen muss für den Webserver beschreibbar sein, um Erweiterungen herunterladen und installieren zu können.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/de-informal/lang.php b/lib/plugins/plugin/lang/de-informal/lang.php deleted file mode 100644 index 8f1cea5e5..000000000 --- a/lib/plugins/plugin/lang/de-informal/lang.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Alexander Fischer <tbanus@os-forge.net> - * @author Juergen Schwarzer <jschwarzer@freenet.de> - * @author Marcel Metz <marcel_metz@gmx.de> - * @author Matthias Schulte <post@lupo49.de> - * @author Christian Wichmann <nospam@zone0.de> - * @author Pierre Corell <info@joomla-praxis.de> - * @author Frank Loizzi <contact@software.bacal.de> - * @author Volker Bödker <volker@boedker.de> - */ -$lang['menu'] = 'Plugins verwalten'; -$lang['download'] = 'Herunterladen und installieren einer neuen Erweiterung'; -$lang['manage'] = 'Installierte Erweiterungen'; -$lang['btn_info'] = 'Information'; -$lang['btn_update'] = 'aktualisieren'; -$lang['btn_delete'] = 'löschen'; -$lang['btn_settings'] = 'Einstellungen'; -$lang['btn_download'] = 'Herunterladen'; -$lang['btn_enable'] = 'Speichern'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installiert:'; -$lang['lastupdate'] = 'Letzte Aktualisierung:'; -$lang['source'] = 'Quellen:'; -$lang['unknown'] = 'unbekannt'; -$lang['updating'] = 'Aktualisiere...'; -$lang['updated'] = 'Erweiterung %s wurde erfolgreich aktualisiert.'; -$lang['updates'] = 'Die folgenden Erweiterungen wurden erfolgreich aktualisiert.'; -$lang['update_none'] = 'Keine Aktualisierungen gefunden.'; -$lang['deleting'] = 'Lösche...'; -$lang['deleted'] = 'Erweiterung %s wurde gelöscht.'; -$lang['downloading'] = 'Herunterladen...'; -$lang['downloaded'] = 'Erweiterung %s wurde erfolgreich installiert'; -$lang['downloads'] = 'Die folgenden Erweiterungen wurden erfolgreich installiert:'; -$lang['download_none'] = 'Keine Erweiterungen gefunden oder es trat ein unbekanntest Problem beim Herunterladen und Installieren auf.'; -$lang['plugin'] = 'Erweiterung:'; -$lang['components'] = 'Komponenten'; -$lang['noinfo'] = 'Diese Erweiterung gab keine Information zurück - sie könnte ungültig sein.'; -$lang['name'] = 'Name:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Beschreibung:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Internet:'; -$lang['error'] = 'Es ist ein unbekannter Fehler aufgetreten.'; -$lang['error_download'] = 'Nicht möglich die Erweiterung herunterzuladen: %s'; -$lang['error_badurl'] = 'Vermute schlechte URL - nicht möglich den Dateinamen aus der URL zu ermitteln'; -$lang['error_dircreate'] = 'Nicht möglich einen temporären Ordner zu erstellen um den Download zu empfangen.'; -$lang['error_decompress'] = 'Dem Erweiterungsmanager war es nicht möglich die heruntergeladene Datei zu dekomprimieren. Dies kann an einem defekten Download liegen, in diesem Fall sollten Sie es erneut versuchen; oder das Format mit dem die Datei komprimiert ist, ist unbekannt, da müssen Sie die Erweiterung manuell herunterladen und installieren. '; -$lang['error_copy'] = 'Es trat ein Dateifehler beim Kopieren der Installationsdateien für die Erweiterung <em>%s</em> auf: Die Festplatte könnte voll oder die Zugriffsrechte verweigert worden sein. Dies führt zu einer teilweise installierten Erweiterung und belässt dein Wiki in einem instabilen Zustand.'; -$lang['error_delete'] = 'Es trat ein Fehler beim Löschen der Erweiterung <em>%s</em> auf. Die wahrscheinlichste Ursache ist eine unzureichende Datei- oder Ordnerzugriffserlaubnis.'; -$lang['enabled'] = 'Erweiterung %s aktiviert.'; -$lang['notenabled'] = 'Erweiterung %s konnte nicht aktiviert werden. Überprüfen sie die Zugriffsberechtigung der Datei.'; -$lang['disabled'] = 'Erweiterung %s deaktiviert.'; -$lang['notdisabled'] = 'Erweiterung %s konnte nicht deaktiviert werden - überprüfe Dateiberechtigungen'; -$lang['packageinstalled'] = 'Plugin-Paket (%d Plugin(s): %s) erfolgreich installiert.'; diff --git a/lib/plugins/plugin/lang/de/admin_plugin.txt b/lib/plugins/plugin/lang/de/admin_plugin.txt deleted file mode 100644 index f3b2caa0c..000000000 --- a/lib/plugins/plugin/lang/de/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Verwaltung der Plugins ====== - -Auf dieser Seite kannst du alles machen, was mit DokuWiki [[doku>plugins|Plugins]] zu tun hat. Um Plugins automatisch herunterladen und installieren zu können, muss der Webserver im Plugin-Ordner schreiben dürfen. - - diff --git a/lib/plugins/plugin/lang/de/lang.php b/lib/plugins/plugin/lang/de/lang.php deleted file mode 100644 index f41486007..000000000 --- a/lib/plugins/plugin/lang/de/lang.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Esther Brunner <esther@kaffeehaus.ch> - * @author Andreas Gohr <andi@splitbrain.org> - * @author Michael Klier <chi@chimeric.de> - * @author Leo Moll <leo@yeasoft.com> - * @author Florian Anderiasch <fa@art-core.org> - * @author Robin Kluth <commi1993@gmail.com> - * @author Arne Pelka <mail@arnepelka.de> - * @author Dirk Einecke <dirk@dirkeinecke.de> - * @author Blitzi94@gmx.de - * @author Robert Bogenschneider <robog@GMX.de> - * @author Robert Bogenschneider <robog@gmx.de> - * @author Niels Lange <niels@boldencursief.nl> - * @author Christian Wichmann <nospam@zone0.de> - * @author Paul Lachewsky <kaeptn.haddock@gmail.com> - * @author Pierre Corell <info@joomla-praxis.de> - */ -$lang['menu'] = 'Plugins verwalten'; -$lang['download'] = 'Neues Plugin herunterladen und installieren'; -$lang['manage'] = 'Installierte Plugins'; -$lang['btn_info'] = 'Info'; -$lang['btn_update'] = 'Update'; -$lang['btn_delete'] = 'Löschen'; -$lang['btn_settings'] = 'Einstellungen'; -$lang['btn_download'] = 'Herunterladen'; -$lang['btn_enable'] = 'Speichern'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installiert:'; -$lang['lastupdate'] = 'Letzte Version:'; -$lang['source'] = 'Quelle:'; -$lang['unknown'] = 'unbekannt'; -$lang['updating'] = 'Lade Update ...'; -$lang['updated'] = 'Update von Plugin %s erfolgreich installiert'; -$lang['updates'] = 'Die folgenden Plugins wurden erfolgreich aktualisiert'; -$lang['update_none'] = 'Keine Updates gefunden.'; -$lang['deleting'] = 'Löschen ...'; -$lang['deleted'] = 'Plugin %s gelöscht.'; -$lang['downloading'] = 'Lade herunter ...'; -$lang['downloaded'] = 'Plugin %s erfolgreich installiert'; -$lang['downloads'] = 'Die folgenden Plugins wurden erfolgreich installiert:'; -$lang['download_none'] = 'Keine Plugins gefunden oder es trat ein Fehler beim Herunterladen auf.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Komponenten'; -$lang['noinfo'] = 'Dieses Plugin liefert keine Informationen, möglicherweise ist es fehlerhaft.'; -$lang['name'] = 'Name:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Beschreibung:'; -$lang['author'] = 'Entwickler:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ein unbekannter Fehler ist aufgetreten.'; -$lang['error_download'] = 'Konnte das Plugin %s nicht herunterladen'; -$lang['error_badurl'] = 'Wahrscheinlich ungültige URL, konnte keinen Dateinamen ausfindig machen'; -$lang['error_dircreate'] = 'Konnte keinen temporären Ordner für die Downloads erstellen'; -$lang['error_decompress'] = 'Der Plugin Manager konnte das Plugin-Archiv nicht entpacken. Entweder ist der Download fehlerhaft oder das Komprimierungsverfahren wird nicht unterstützt. Bitte versuchen Sie es erneut oder downloaden und installieren Sie das Plugin manuell.'; -$lang['error_copy'] = 'Beim Kopieren der Dateien des Plugins trat ein Fehler auf <em>%s</em>: möglicherweise ist die Festplatte voll oder die Dateiberechtigungen falsch. Möglicherweise wurde das Plugin nur teilweise installiert. Sie sollten das Plugin manuell entfernen um Instabilitäten zu vermeiden.'; -$lang['error_delete'] = 'Es gab einem Fehler beim Versuch das Plugin zu löschen <em>%s</em>. Dies liegt wahrscheinlich an fehlenden Dateiberechtigungen.'; -$lang['enabled'] = 'Plugin %s wurde aktiviert.'; -$lang['notenabled'] = 'Plugin %s konnte nicht aktiviert werden, überprüfen Sie die Dateirechte.'; -$lang['disabled'] = 'Plugin %s wurde deaktiviert.'; -$lang['notdisabled'] = 'Plugin %s konnte nicht deaktiviert werden, überprüfen Sie die Dateirechte.'; -$lang['packageinstalled'] = 'Plugin-Paket (%d Plugin(s): %s) erfolgreich installiert.'; diff --git a/lib/plugins/plugin/lang/el/admin_plugin.txt b/lib/plugins/plugin/lang/el/admin_plugin.txt deleted file mode 100644 index 8b292935d..000000000 --- a/lib/plugins/plugin/lang/el/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Διαχείριση Επεκτάσεων ====== - -Σε αυτή την σελίδα μπορείτε να διαχειριστείτε τις [[doku>plugins|επεκτάσεις]] του Dokuwiki σας. Για να μπορέσετε να εγκαταστήσετε νέες επεκτάσεις, ο αντίστοιχος φάκελος συστήματος θα πρέπει να είναι εγγράψιμος από τον χρήστη κάτω από τον οποίο εκτελείται η εφαρμογή του εξυπηρετητή σας. - - diff --git a/lib/plugins/plugin/lang/el/lang.php b/lib/plugins/plugin/lang/el/lang.php deleted file mode 100644 index f50e26c46..000000000 --- a/lib/plugins/plugin/lang/el/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Christopher Smith <chris@jalakai.co.uk> - * @author Thanos Massias <tm@thriasio.gr> - * @author Αθανάσιος Νταής <homunculus@wana.gr> - * @author Konstantinos Koryllos <koryllos@gmail.com> - * @author George Petsagourakis <petsagouris@gmail.com> - * @author Petros Vidalis <pvidalis@gmail.com> - * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com - */ -$lang['menu'] = 'Διαχείριση Επεκτάσεων'; -$lang['download'] = 'Κατεβάστε και εγκαταστήστε μια νέα επέκταση (plugin)'; -$lang['manage'] = 'Εγκατεστημένες επεκτάσεις'; -$lang['btn_info'] = 'πληροφορίες'; -$lang['btn_update'] = 'ενημέρωση'; -$lang['btn_delete'] = 'διαγραφή'; -$lang['btn_settings'] = 'ρυθμίσεις'; -$lang['btn_download'] = 'Μεταφόρτωση'; -$lang['btn_enable'] = 'Αποθήκευση'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Εγκατεστημένη:'; -$lang['lastupdate'] = 'Τελευταία ενημέρωση:'; -$lang['source'] = 'Προέλευση:'; -$lang['unknown'] = 'άγνωστο'; -$lang['updating'] = 'Σε διαδικασία ενημέρωσης ...'; -$lang['updated'] = 'Η επέκταση %s ενημερώθηκε με επιτυχία'; -$lang['updates'] = 'Οι παρακάτω επεκτάσεις ενημερώθηκαν με επιτυχία:'; -$lang['update_none'] = 'Δεν βρέθηκαν ενημερώσεις.'; -$lang['deleting'] = 'Σε διαδικασία διαγραφής ...'; -$lang['deleted'] = 'Η επέκταση %s διαγράφηκε.'; -$lang['downloading'] = 'Σε διαδικασία μεταφόρτωσης ...'; -$lang['downloaded'] = 'Η επέκταση %s εγκαταστάθηκε με επιτυχία'; -$lang['downloads'] = 'Οι παρακάτω επεκτάσεις εγκαταστάθηκαν με επιτυχία:'; -$lang['download_none'] = 'Δεν βρέθηκαν επεκτάσεις ή εμφανίστηκε κάποιο πρόβλημα κατά την σχετική διαδικασία.'; -$lang['plugin'] = 'Επέκταση:'; -$lang['components'] = 'Συστατικά'; -$lang['noinfo'] = 'Αυτή η επέκταση δεν επέστρεψε κάποια πληροφορία - η επέκταση μπορεί να μην λειτουργεί κανονικά.'; -$lang['name'] = 'Όνομα:'; -$lang['date'] = 'Ημερομηνία:'; -$lang['type'] = 'Τύπος:'; -$lang['desc'] = 'Περιγραφή:'; -$lang['author'] = 'Συγγραφέας:'; -$lang['www'] = 'Διεύθυνση στο διαδίκτυο:'; -$lang['error'] = 'Εμφανίστηκε άγνωστο σφάλμα.'; -$lang['error_download'] = 'Δεν είναι δυνατή η μεταφόρτωση του αρχείου: %s'; -$lang['error_badurl'] = 'Το URL είναι μάλλον λανθασμένο - είναι αδύνατον να εξαχθεί το όνομα αρχείου από αυτό το URL'; -$lang['error_dircreate'] = 'Δεν είναι δυνατή η δημιουργία ενός προσωρινού φακέλου αποθήκευσης των μεταφορτώσεων'; -$lang['error_decompress'] = 'Δεν είναι δυνατή η αποσυμπίεση των μεταφορτώσεων. Αυτό μπορεί να οφείλεται σε μερική λήψη των μεταφορτώσεων, οπότε θα πρέπει να επαναλάβετε την διαδικασία ή το σύστημά σας δεν μπορεί να διαχειριστεί το συγκεκριμένο είδος συμπίεσης, οπότε θα πρέπει να εγκαταστήσετε την επέκταση χειροκίνητα.'; -$lang['error_copy'] = 'Εμφανίστηκε ένα σφάλμα αντιγραφής αρχείων κατά την διάρκεια εγκατάστασης της επέκτασης <em>%s</em>: ο δίσκος μπορεί να είναι γεμάτος ή να μην είναι σωστά ρυθμισμένα τα δικαιώματα πρόσβασης. Αυτό το γεγονός μπορεί να οδήγησε σε μερική εγκατάσταση της επέκτασης και άρα η DokuWiki εγκατάστασή σας να εμφανίσει προβλήματα σταθερότητας.'; -$lang['error_delete'] = 'Εμφανίστηκε ένα σφάλμα κατά την διαδικασία διαγραφής της επέκτασης <em>%s</em>. Η πιθανότερη αιτία είναι να μην είναι σωστά ρυθμισμένα τα δικαιώματα πρόσβασης.'; -$lang['enabled'] = 'Η επέκταση %s ενεργοποιήθηκε.'; -$lang['notenabled'] = 'Η επέκταση %s δεν μπορεί να ενεργοποιηθεί. Ελέγξτε τα δικαιώματα πρόσβασης.'; -$lang['disabled'] = 'Η επέκταση %s απενεργοποιήθηκε.'; -$lang['notdisabled'] = 'Η επέκταση %s δεν μπορεί να απενεργοποιηθεί. Ελέγξτε τα δικαιώματα πρόσβασης.'; -$lang['packageinstalled'] = 'Το πακέτο της επέκτασης (%d επέκταση(εις): %s) εγκαστήθηκε επιτυχημένα.'; diff --git a/lib/plugins/plugin/lang/en/admin_plugin.txt b/lib/plugins/plugin/lang/en/admin_plugin.txt deleted file mode 100644 index cb23b1e02..000000000 --- a/lib/plugins/plugin/lang/en/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Plugin Management ====== - -On this page you can manage everything to do with Dokuwiki [[doku>plugins|plugins]]. To be able to download and install a plugin your plugin folder must be writeable by the webserver. - - diff --git a/lib/plugins/plugin/lang/en/lang.php b/lib/plugins/plugin/lang/en/lang.php deleted file mode 100644 index 87570a708..000000000 --- a/lib/plugins/plugin/lang/en/lang.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -/** - * english language file - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Christopher Smith <chris@jalakai.co.uk> - */ - -$lang['menu'] = 'Manage Plugins'; - -// custom language strings for the plugin -$lang['download'] = "Download and install a new plugin"; -$lang['manage'] = "Installed Plugins"; - -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'update'; -$lang['btn_delete'] = 'delete'; -$lang['btn_settings'] = 'settings'; -$lang['btn_download'] = 'Download'; -$lang['btn_enable'] = 'Save'; - -$lang['url'] = 'URL'; - -$lang['installed'] = 'Installed:'; -$lang['lastupdate'] = 'Last updated:'; -$lang['source'] = 'Source:'; -$lang['unknown'] = 'unknown'; - -// ..ing = header message -// ..ed = success message - -$lang['updating'] = 'Updating ...'; -$lang['updated'] = 'Plugin %s updated successfully'; -$lang['updates'] = 'The following plugins have been updated successfully'; -$lang['update_none'] = 'No updates found.'; - -$lang['deleting'] = 'Deleting ...'; -$lang['deleted'] = 'Plugin %s deleted.'; - -$lang['downloading'] = 'Downloading ...'; -$lang['downloaded'] = 'Plugin %s installed successfully'; -$lang['downloads'] = 'The following plugins have been installed successfully:'; -$lang['download_none'] = 'No plugins found, or there has been an unknown problem during downloading and installing.'; - -// info titles -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Components'; -$lang['noinfo'] = 'This plugin returned no information, it may be invalid.'; -$lang['name'] = 'Name:'; -$lang['date'] = 'Date:'; -$lang['type'] = 'Type:'; -$lang['desc'] = 'Description:'; -$lang['author'] = 'Author:'; -$lang['www'] = 'Web:'; - -// error messages -$lang['error'] = 'An unknown error occurred.'; -$lang['error_download'] = 'Unable to download the plugin file: %s'; -$lang['error_badurl'] = 'Suspect bad url - unable to determine file name from the url'; -$lang['error_dircreate'] = 'Unable to create temporary folder to receive download'; -$lang['error_decompress'] = 'The plugin manager was unable to decompress the downloaded file. '. - 'This maybe as a result of a bad download, in which case you should try again; '. - 'or the compression format may be unknown, in which case you will need to '. - 'download and install the plugin manually.'; -$lang['error_copy'] = 'There was a file copy error while attempting to install files for plugin '. - '<em>%s</em>: the disk could be full or file access permissions may be incorrect. '. - 'This may have resulted in a partially installed plugin and leave your wiki '. - 'installation unstable.'; -$lang['error_delete'] = 'There was an error while attempting to delete plugin <em>%s</em>. '. - 'The most probably cause is insufficient file or directory access permissions'; - -$lang['enabled'] = 'Plugin %s enabled.'; -$lang['notenabled'] = 'Plugin %s could not be enabled, check file permissions.'; -$lang['disabled'] = 'Plugin %s disabled.'; -$lang['notdisabled'] = 'Plugin %s could not be disabled, check file permissions.'; -$lang['packageinstalled'] = 'Plugin package (%d plugin(s): %s) successfully installed.'; - -//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/plugin/lang/eo/admin_plugin.txt b/lib/plugins/plugin/lang/eo/admin_plugin.txt deleted file mode 100644 index c97dddf56..000000000 --- a/lib/plugins/plugin/lang/eo/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Administrado de Kromaĵoj ====== - -En tiu ĉi paĝo vi povas administri ĉion pri DokuWiki-aj [[doku>plugins|kromaĵoj]]. Por sukcesi elŝuti kaj instali kromaĵon, via dosierujo de kromaĵoj devas esti konservebla por la retservilo. diff --git a/lib/plugins/plugin/lang/eo/lang.php b/lib/plugins/plugin/lang/eo/lang.php deleted file mode 100644 index 624246a21..000000000 --- a/lib/plugins/plugin/lang/eo/lang.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Felipe Castro <fefcas@uol.com.br> - * @author Felipe Castro <fefcas@gmail.com> - * @author Felipe Castro <fefcas (cxe) gmail (punkto) com> - * @author Felipo Kastro <fefcas@gmail.com> - * @author Erik Pedersen <erik pedersen@shaw.ca> - * @author Erik Pedersen <erik.pedersen@shaw.ca> - * @author Robert BOGENSCHNEIDER <robog@gmx.de> - * @author Robert Bogenschneider <bogi@uea.org> - * @author Robert Bogenschneider <robog@gmx.de> - */ -$lang['menu'] = 'Administri Kromaĵojn'; -$lang['download'] = 'Elŝuti kaj instali novan kromaĵon'; -$lang['manage'] = 'Instalitaj kromaĵoj'; -$lang['btn_info'] = 'Info'; -$lang['btn_update'] = 'Ĝisdatigo'; -$lang['btn_delete'] = 'Forigi'; -$lang['btn_settings'] = 'agordoj'; -$lang['btn_download'] = 'Elŝuti'; -$lang['btn_enable'] = 'Konservi'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalite:'; -$lang['lastupdate'] = 'Laste ĝisdatigite:'; -$lang['source'] = 'Fonto:'; -$lang['unknown'] = 'nekonate'; -$lang['updating'] = 'Ĝisdatiganta ...'; -$lang['updated'] = 'Kromaĵo %s estas sukcese ĝisdatigita'; -$lang['updates'] = 'Jenaj kromaĵoj estas sukcese ĝisdatigitaj'; -$lang['update_none'] = 'Neniu ĝisdatigo troviĝas.'; -$lang['deleting'] = 'Foriganta ...'; -$lang['deleted'] = 'Kromaĵo %s estas forigita.'; -$lang['downloading'] = 'Elŝutanta ...'; -$lang['downloaded'] = 'La kromaĵo %s estas sukcese instalita'; -$lang['downloads'] = 'Jenaj kromaĵoj estas sukcese instalitaj:'; -$lang['download_none'] = 'Neniu kromaĵo troveblas, aŭ eble okazis nekonata problemo dum elŝuto kaj instalo.'; -$lang['plugin'] = 'Kromaĵo:'; -$lang['components'] = 'Komponantoj'; -$lang['noinfo'] = 'Tiu ĉi kromaĵo liveris neniun informon: eble ĝi ne validas.'; -$lang['name'] = 'Nomo:'; -$lang['date'] = 'Dato:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Priskribo:'; -$lang['author'] = 'Aŭtoro:'; -$lang['www'] = 'Retpaĝo:'; -$lang['error'] = 'Nekonata eraro okazis.'; -$lang['error_download'] = 'Maleblas elŝuti la kromaĵan dosieron: %s'; -$lang['error_badurl'] = 'Suspektinda malbona URL - maleblas difini la dosieran nomon el la URL'; -$lang['error_dircreate'] = 'Maleblas krei provizoran dosierujon por ricevi elŝutaĵon'; -$lang['error_decompress'] = 'La administrilo de kromaĵoj ne kapablis malkompakti la elŝutitan dosieron. Tio povas esti pro malkompleta elŝuto, tiaokaze provu refoje; aŭ eble la kompakta formato ne estas konata, tiaokaze elŝutu kaj instalu la kromaĵon permane.'; -$lang['error_copy'] = 'Okazis eraro de dosierkopio dum provo instali dosierojn por la kromaĵo <em>%s&</em>: la disko povus esti plenplena aŭ aliro-rajtoj povus esti misdifinitaj. Tio povus rezulti en malkomplete instalita kromaĵo kaj igi vian vikion malstabila.'; -$lang['error_delete'] = 'Okazis eraro dum provo forigi la kromaĵon <em>%s</em>. Verŝajne tio sekvas de nesufiĉa rajto por aliri la dosieron aŭ ties ujon.'; -$lang['enabled'] = 'La kromaĵo %s estas ebligita.'; -$lang['notenabled'] = 'La kromaĵo %s ne povis esti ebligita, kontrolu dosier-permesojn.'; -$lang['disabled'] = 'La kromaĵo %s estas malebligita.'; -$lang['notdisabled'] = 'La kromaĵo %s ne povis esti malebligita, kontrolu dosier-permesojn.'; -$lang['packageinstalled'] = 'Kromaĵa pakaĵo (%d kromaĵo(j): %s) sukcese instalita.'; diff --git a/lib/plugins/plugin/lang/es/admin_plugin.txt b/lib/plugins/plugin/lang/es/admin_plugin.txt deleted file mode 100644 index 973789f03..000000000 --- a/lib/plugins/plugin/lang/es/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Administración de Plugin (agregados) ====== - -En esta página tu puedes administrar todo lo que tenga que ver con los [[doku>plugins|plugins]] de Dokuwiki. Para poder descargar e instalar un plugin el usuario correspondiente al servidor de web debe poder escribir en el directorio de plugins. diff --git a/lib/plugins/plugin/lang/es/lang.php b/lib/plugins/plugin/lang/es/lang.php deleted file mode 100644 index 0ec39285b..000000000 --- a/lib/plugins/plugin/lang/es/lang.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Miguel Pagano <miguel.pagano@gmail.com> - * @author Oscar M. Lage <r0sk10@gmail.com> - * @author Gabriel Castillo <gch@pumas.ii.unam.mx> - * @author oliver@samera.com.py - * @author Enrico Nicoletto <liverig@gmail.com> - * @author Manuel Meco <manuel.meco@gmail.com> - * @author VictorCastelan <victorcastelan@gmail.com> - * @author Jordan Mero hack.jord@gmail.com - * @author Felipe Martinez <metalmartinez@gmail.com> - * @author Javier Aranda <internet@javierav.com> - * @author Zerial <fernando@zerial.org> - * @author Marvin Ortega <maty1206@maryanlinux.com> - * @author Daniel Castro Alvarado <dancas2@gmail.com> - * @author Fernando J. Gómez <fjgomez@gmail.com> - * @author Victor Castelan <victorcastelan@gmail.com> - * @author Mauro Javier Giamberardino <mgiamberardino@gmail.com> - * @author emezeta <emezeta@infoprimo.com> - * @author Oscar Ciudad <oscar@jacho.net> - * @author Ruben Figols <ruben.figols@gmail.com> - * @author Gerardo Zamudio <gerardo@gerardozamudio.net> - * @author Mercè López mercelz@gmail.com - */ -$lang['menu'] = 'Administración de Plugins'; -$lang['download'] = 'Descargar e instalar un nuevo plugin'; -$lang['manage'] = 'Plugins instalados'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualizar'; -$lang['btn_delete'] = 'borrar'; -$lang['btn_settings'] = 'configuraciones'; -$lang['btn_download'] = 'Descargar'; -$lang['btn_enable'] = 'Guardar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalado:'; -$lang['lastupdate'] = 'Última actualización:'; -$lang['source'] = 'Origen:'; -$lang['unknown'] = 'desconocido'; -$lang['updating'] = 'Actualizando ...'; -$lang['updated'] = 'El plugin %s ha sido actualizado con éxito'; -$lang['updates'] = 'Los siguientes plugins han sido actualizados con éxito'; -$lang['update_none'] = 'No se encontraron actualizaciones.'; -$lang['deleting'] = 'Eliminando ...'; -$lang['deleted'] = 'El plugin %s ha sido eliminado.'; -$lang['downloading'] = 'Descargando ...'; -$lang['downloaded'] = 'El plugin %s ha sido instalado con éxito'; -$lang['downloads'] = 'Los siguientes plugins han sido instalados con éxito:'; -$lang['download_none'] = 'No se han encontrado plugins, o hubo algún problema durante la descarga o la instalación.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Componentes'; -$lang['noinfo'] = 'Este plugin no devolvió información, puede ser inválido.'; -$lang['name'] = 'Nombre:'; -$lang['date'] = 'Fecha:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Descripción:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ha ocurrido un error desconocido.'; -$lang['error_download'] = 'Incapaz de descargar el archivo del plugin: %s'; -$lang['error_badurl'] = 'Se sospecha que la URL es incorrecta - incapaz de determinar el nombre del archivo a partir de la URL.'; -$lang['error_dircreate'] = 'Incapaz de crear el directorio temporal para la descarga'; -$lang['error_decompress'] = 'El administrador de plugins fue incapaz de descomprimir el fichero descargado. Esto puede ser por una descarga errónea, en cuyo caso debieras intentar nuevamente; o el formato de compresión es desconocido, en este caso deberás descargar e instalar el plugin manualmente.'; -$lang['error_copy'] = 'Hubo un error al copiar el fichero mientras se intentaban instalar ficheros para el plugin <em>%s</em>: el disco puede estar lleno o los permisos del fichero pueden ser incorrectos. Esto puede haber terminado con una instalación parcial del plugin y haber dejado la instalación del wiki en una situación inestable'; -$lang['error_delete'] = 'Hubo un error al intentar eliminar el plugin <em>%s</em>. La causa más probable es que no se cuente con los permisos necesarios en el fichero o en el directorio'; -$lang['enabled'] = 'Plugin %s habilitado.'; -$lang['notenabled'] = 'Plugin %s no puede ser habilitado, verifica los permisos del archivo.'; -$lang['disabled'] = 'Plugin %s deshabilitado.'; -$lang['notdisabled'] = 'Plugin %s no puede ser deshabilitado, verifica los permisos de archivo.'; -$lang['packageinstalled'] = 'Plugin (%d plugin(s): %s) instalado exitosamente.'; diff --git a/lib/plugins/plugin/lang/et/lang.php b/lib/plugins/plugin/lang/et/lang.php deleted file mode 100644 index 088acf39b..000000000 --- a/lib/plugins/plugin/lang/et/lang.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * Estonian language file - * - * @author kristian.kankainen@kuu.la - * @author Rivo Zängov <eraser@eraser.ee> - */ -$lang['manage'] = 'Paigaldatud pluginad'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'uuenda'; -$lang['btn_delete'] = 'kustuta'; -$lang['btn_settings'] = 'seaded'; -$lang['btn_download'] = 'Lae alla'; -$lang['btn_enable'] = 'Salvesta'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Paigaldatud:'; -$lang['lastupdate'] = 'Viimati uuendatud:'; -$lang['source'] = 'Allikas:'; -$lang['unknown'] = 'tundmatu'; -$lang['updating'] = 'Uuendamine ...'; -$lang['update_none'] = 'Uuendusi ei leitud.'; -$lang['deleting'] = 'Kustutamine ...'; -$lang['deleted'] = 'Plugin %s on kustutatud.'; -$lang['downloading'] = 'Allalaadimine ...'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Komponendid'; -$lang['name'] = 'Nimi:'; -$lang['date'] = 'Kuupäev'; -$lang['type'] = 'Tüüp:'; -$lang['desc'] = 'Kirjeldus:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Veeb:'; diff --git a/lib/plugins/plugin/lang/eu/admin_plugin.txt b/lib/plugins/plugin/lang/eu/admin_plugin.txt deleted file mode 100644 index 367cf37ee..000000000 --- a/lib/plugins/plugin/lang/eu/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Plugin Kudeaketa ====== - -Orri honetan Dokuwiki [[doku>plugins|plugin-ekin]] erlazionatutako edozer kudeatu dezakezu. Plugin-en bat deskargatu eta instalatu ahal izateko, plugin-en direktorioak web zerbitzariarengatik idazgarria izan behar du. diff --git a/lib/plugins/plugin/lang/eu/lang.php b/lib/plugins/plugin/lang/eu/lang.php deleted file mode 100644 index 2fc07fef9..000000000 --- a/lib/plugins/plugin/lang/eu/lang.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Basque language file - * - * @author Inko Illarramendi <inko.i.a@gmail.com> - * @author Zigor Astarbe <astarbe@gmail.com> - */ -$lang['menu'] = 'Plugin-ak Kudeatu'; -$lang['download'] = 'Plugin berri bat deskargatu eta instalatu'; -$lang['manage'] = 'Instalatutako Plugin-ak'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'eguneratu'; -$lang['btn_delete'] = 'ezabatu'; -$lang['btn_settings'] = 'ezarpenak'; -$lang['btn_download'] = 'Deskargatu'; -$lang['btn_enable'] = 'Gorde'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalatua:'; -$lang['lastupdate'] = 'Azken aldiz eguneratua:'; -$lang['source'] = 'Iturria:'; -$lang['unknown'] = 'ezezaguna'; -$lang['updating'] = 'Eguneratzen ...'; -$lang['updated'] = 'Arrakastaz eguneratu da %s plugin-a'; -$lang['updates'] = 'Ondorengo plugin-ak ondo eguneratu dira'; -$lang['update_none'] = 'Ez da eguneraketarik aurkitu.'; -$lang['deleting'] = 'Ezabatzen ...'; -$lang['deleted'] = '%s plugin-a ezabatua.'; -$lang['downloading'] = 'Deskargatzen ...'; -$lang['downloaded'] = '%s Plugin-a arrakastaz instalatua'; -$lang['downloads'] = 'Ondorengo plugin-ak arrakastaz instalatu dira:'; -$lang['download_none'] = 'Ez da plugin-ik aurkitu, edo arazo ezezagunen bat egon da deskargatu eta instalatzerako garaian.'; -$lang['plugin'] = 'Plugin-a:'; -$lang['components'] = 'Osagaiak'; -$lang['noinfo'] = 'Plugin honek ez du informaziorik itzuli, agian ez da erabilgarria.'; -$lang['name'] = 'izena:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Mota:'; -$lang['desc'] = 'Deskribapena:'; -$lang['author'] = 'Egilea:'; -$lang['www'] = 'Web-gunea:'; -$lang['error'] = 'Akats ezezagun bat gertatu da.'; -$lang['error_download'] = 'Ezin izan da plugin-aren honako fitxategia deskargatu: %s'; -$lang['error_badurl'] = 'Ustezko url okerra - ezin izan da fitxategi izena url-tik zehaztu'; -$lang['error_dircreate'] = 'Ezin izan da aldiroko karpeta sortu deskarga jasotzeko'; -$lang['error_decompress'] = 'Plugin kudeatzaileak ezin izan du deskargatutako fitxategia erauzi. Deskarga oker baten ondorioa izan daiteke, eta hala bada berriz saiatu beharko zenuke; edo agian trinkotze formatua ezezaguna da, hala izanik plugin-a eskuz deskargatu eta instalatu beharko zenuelarik.'; -$lang['error_copy'] = 'Fitxategi kopia akats bat egon da <em>%s</em> plugin-arentzat fitxategiak instalatzen saiatzean: diska betea egon liteke edo fitxategi atzipen baimena okerra izan daiteke. Honek partzialki instalatutako plugin bat eta wiki instalazioa ezegonkor utzi dezake.'; -$lang['error_delete'] = 'Akats bat gertatu da <em>%s</em> plugin-a ezabatzeko saiakera egitean. Arrazoia ziurrenik fitxategi edo direktorio atzipen baimen nahikoak ez izatea da.'; -$lang['enabled'] = '%s Plugin-a gaitua.'; -$lang['notenabled'] = '%s Plugin-a ezin izan da gaitu, egiaztatu fitxategi baimenak.'; -$lang['disabled'] = '%s Plugin-a ezgaitua.'; -$lang['notdisabled'] = '%s Plugin-a ezin izan da ezgaitu, egiaztatu fitxategi baimenak. '; -$lang['packageinstalled'] = 'Plugin paketea (%d plugin(s): %s) arrakastaz instalatua izan da.'; diff --git a/lib/plugins/plugin/lang/fa/admin_plugin.txt b/lib/plugins/plugin/lang/fa/admin_plugin.txt deleted file mode 100644 index cd11fb460..000000000 --- a/lib/plugins/plugin/lang/fa/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== مدیریت افزونهها ====== - -در این صفحه شما میتوانید [[doku>plugins|افزونههای]] Dokuwiki را مدیریت کنید. برای امکان دریافت و نصب افزونهها، باید به شاخهی افزونهها (lib/plugin) دسترسی نوشتن برای وبسرور را محیا کنید.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/fa/lang.php b/lib/plugins/plugin/lang/fa/lang.php deleted file mode 100644 index 0a8fadb3c..000000000 --- a/lib/plugins/plugin/lang/fa/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author behrad eslamifar <behrad_es@yahoo.com) - * @author Mohsen Firoozmandan <info@mambolearn.com> - * @author omidmr@gmail.com - * @author Omid Mottaghi <omidmr@gmail.com> - * @author Mohammad Reza Shoaei <shoaei@gmail.com> - * @author Milad DZand <M.DastanZand@gmail.com> - * @author AmirH Hassaneini <mytechmix@gmail.com> - */ -$lang['menu'] = 'مدیریت افزونهها'; -$lang['download'] = 'دریافت و نصب افزونه'; -$lang['manage'] = 'افزونههای نصب شده'; -$lang['btn_info'] = 'مشخصات'; -$lang['btn_update'] = 'بروزرسانی'; -$lang['btn_delete'] = 'حذف'; -$lang['btn_settings'] = 'تنظیمات'; -$lang['btn_download'] = 'دانلود'; -$lang['btn_enable'] = 'ذخیره'; -$lang['url'] = 'آدرس'; -$lang['installed'] = 'نصب شده:'; -$lang['lastupdate'] = 'آخرین بروزرسانی:'; -$lang['source'] = 'منبع:'; -$lang['unknown'] = 'ناشناس'; -$lang['updating'] = 'در حال به روز رسانی...'; -$lang['updated'] = 'افزونهی %s با موفقیت به روز رسانی شد'; -$lang['updates'] = 'افزونههای زیر با موفقیت به روز رسانی شده است.'; -$lang['update_none'] = 'به روز رسانیای یافت نشد .'; -$lang['deleting'] = 'در حال حذف...'; -$lang['deleted'] = 'افزونهی %s پاک شد.'; -$lang['downloading'] = 'در حال دریافت...'; -$lang['downloaded'] = 'افزونهی %s با موفقیت نصب شد'; -$lang['downloads'] = 'افزونههای زیر با موفقیت نصب شدند:'; -$lang['download_none'] = 'هیچ افزونهای یافت نشد، یا یک مشکل ناشناخته در زمان دریافت و نصب پیش آمده است.'; -$lang['plugin'] = 'افزونه:'; -$lang['components'] = 'کامپوننت'; -$lang['noinfo'] = 'این افزونه هیچ اطلاعاتی را برنگردانده است، ممکن است بیاعتبار باشد.'; -$lang['name'] = 'اسم:'; -$lang['date'] = 'تاریخ:'; -$lang['type'] = 'نوع:'; -$lang['desc'] = 'توضیحات:'; -$lang['author'] = 'نویسنده:'; -$lang['www'] = 'وبسایت:'; -$lang['error'] = 'یک مشکل ناشناخته پیش آمده.'; -$lang['error_download'] = 'توانایی دریافت افزونهی %s نمیباشد.'; -$lang['error_badurl'] = 'آدرس مشکل دارد - توانایی تشخیص نام فایل از آدرس وجود ندارد'; -$lang['error_dircreate'] = 'امکان ایجاد شاخهی موقتی برای دریافت فایل نیست.'; -$lang['error_decompress'] = 'باز کردن فایل با مشکل مواجه شد. این اشکال ممکن است به خاطر دریافت ناقصِ فایل باشد که باید دوباره تلاش کنید، یا فرمت فشردهسازی شناخته شده نیست، که باید این افزونه رو دستی نصب کنید.'; -$lang['error_copy'] = 'توانایی کپی کردن فایلهای افزونهی <em>%s</em> در زمان نصب وجود ندارد. ممکن است دسترسی شاخهی افزونهها مشکل داشته باشد. این مشکل ممکن است باعث نصب ناقص افزونه شود و ویکی را با مشکل مواجه کند.'; -$lang['error_delete'] = 'توانایی حذف افزونهی <em>%s</em> وجود ندارد. این مشکل به خاطر دسترسی فایل یا شاخهی افزونه پیش میآید.'; -$lang['enabled'] = 'افزونهی %s فعال شد.'; -$lang['notenabled'] = 'افزونهی %s قابلیت فعال کردن ندارد، دسترسیها را چک کنید.'; -$lang['disabled'] = 'افزونهی %s غیرفعال شد.'; -$lang['notdisabled'] = 'افزونهی %s قابلیت غیرفعال کردن ندارد، دسترسیها را چک کنید.'; -$lang['packageinstalled'] = 'بسته افزونه (%d افزونه: %s) به درستی نصب شد.'; diff --git a/lib/plugins/plugin/lang/fi/admin_plugin.txt b/lib/plugins/plugin/lang/fi/admin_plugin.txt deleted file mode 100644 index 9cdfa1c11..000000000 --- a/lib/plugins/plugin/lang/fi/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Liitännäisten hallinta ====== - -Tällä sivulla voit hallita DokuWikin [[doku>plugins|liitännäisiä]]. Voidaksesi ladata ja asentaa liitännäisiä pitää web-palvelimella olla kirjoitusoikeudet plugin hakemistoon. diff --git a/lib/plugins/plugin/lang/fi/lang.php b/lib/plugins/plugin/lang/fi/lang.php deleted file mode 100644 index f51746faa..000000000 --- a/lib/plugins/plugin/lang/fi/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author otto@valjakko.net - * @author Otto Vainio <otto@valjakko.net> - * @author Teemu Mattila <ghcsystems@gmail.com> - * @author Sami Olmari <sami@olmari.fi> - */ -$lang['menu'] = 'Ylläpidä liitännäisiä'; -$lang['download'] = 'Lataa ja asenna uusi liitännäinen'; -$lang['manage'] = 'Asennetut liitännäiset'; -$lang['btn_info'] = 'tietoa'; -$lang['btn_update'] = 'päivitä'; -$lang['btn_delete'] = 'poista'; -$lang['btn_settings'] = 'asetukset'; -$lang['btn_download'] = 'Lataa'; -$lang['btn_enable'] = 'Tallenna'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Asennettu:'; -$lang['lastupdate'] = 'Päivitetty viimeksi:'; -$lang['source'] = 'Lähde:'; -$lang['unknown'] = 'tuntematon'; -$lang['updating'] = 'Päivitetään ...'; -$lang['updated'] = 'Liitännäinen %s päivitetty onnistuneesti'; -$lang['updates'] = 'Seuraavat liitännäiset on päivitetty onnistuneesti'; -$lang['update_none'] = 'Päivityksiä ei löytynyt'; -$lang['deleting'] = 'Poistetaan ...'; -$lang['deleted'] = 'Liitännäinen %s poistettu.'; -$lang['downloading'] = 'Ladataan ...'; -$lang['downloaded'] = 'Liitännäinen %s asennettu onnistuneesti'; -$lang['downloads'] = 'Seuraavat liitännäiset on asennettu onnistuneesti'; -$lang['download_none'] = 'Liitännäisiä ei löytynyt tai on tapahtunut joku tuntematon virhe latauksen ja asennuksen aikana.'; -$lang['plugin'] = 'Liitännäinen:'; -$lang['components'] = 'Osa'; -$lang['noinfo'] = 'Liitännäinen ei palauttanut mitään tietoa ja se voi olla epäkelpo.'; -$lang['name'] = 'Nimi:'; -$lang['date'] = 'Päiväys:'; -$lang['type'] = 'Tyyppi:'; -$lang['desc'] = 'Kuvaus:'; -$lang['author'] = 'Tekijä:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Tapahtui tuntematon virhe.'; -$lang['error_download'] = 'Liitännäistiedoston %s latauksessa tapahtui tuntematon virhe.'; -$lang['error_badurl'] = 'URL vaikuttaa olleen virheellinen. Siitä ei pystytty päättelemään tiedoston nimeä'; -$lang['error_dircreate'] = 'Ei pystytty luomaan väliaikaista hakemistoa latausta varten'; -$lang['error_decompress'] = 'Liitännäishallinta ei pystynyt purkamaan ladattua tiedostoa. Lataus voi olla epäonnistunut. Siinä tapauksessa voit yrittää uudestaan. Pakkaustapa voi myös olla tuntematon. Siinä tapauksessa sinun pitää ladata ja asentaa liitännäinen käsin.'; -$lang['error_copy'] = 'Tiedoston kopioinnissa tapahtui liitännäisen <em>%s</em> asennuksen aikana virhe. Levy voi olla täynnä tai kansioiden oikeudet voivat olla väärin. Liitännäinen voi olla osittain asennettu ja tämä voi jättää wikiasennukseesi epävakaaseen tilaan.'; -$lang['error_delete'] = 'Liitännäisen <em>%s</em> poistossa tapahtui virhe. Todennäköisin syy on puutteelliset tiedoston tai hakemiston oikeudet'; -$lang['enabled'] = 'Liitännäinen %s käytössä'; -$lang['notenabled'] = 'Liitännäistä %s ei voitu ottaa käyttöön. Tarkista tiedostojen oikeudet.'; -$lang['disabled'] = 'Liitännäinen %s pois käytössä'; -$lang['notdisabled'] = 'Liitännäistä %s ei voitu ottaa pois käytöstä. Tarkista tiedostojen oikeudet.'; -$lang['packageinstalled'] = 'Pluginpaketti (%d plugin: %s:) asennettu onnistuneesti.'; diff --git a/lib/plugins/plugin/lang/fr/admin_plugin.txt b/lib/plugins/plugin/lang/fr/admin_plugin.txt deleted file mode 100644 index b7beba25a..000000000 --- a/lib/plugins/plugin/lang/fr/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Gestion des extensions ====== - -Cette page vous permet de gérer tout ce qui a trait aux [[doku>fr:plugins|extensions]] de DokuWiki. Pour pouvoir télécharger et installer un module, le répertoire « ''plugin'' » doit être accessible en écriture pour le serveur web. - diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php deleted file mode 100644 index 0592f3c7d..000000000 --- a/lib/plugins/plugin/lang/fr/lang.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Guy Brand <gb@unistra.fr> - * @author Delassaux Julien <julien@delassaux.fr> - * @author Maurice A. LeBlanc <leblancma@cooptel.qc.ca> - * @author stephane.gully@gmail.com - * @author Guillaume Turri <guillaume.turri@gmail.com> - * @author Erik Pedersen <erik.pedersen@shaw.ca> - * @author olivier duperray <duperray.olivier@laposte.net> - * @author Vincent Feltz <psycho@feltzv.fr> - * @author Philippe Bajoit <philippe.bajoit@gmail.com> - * @author Florian Gaub <floriang@floriang.net> - * @author Samuel Dorsaz samuel.dorsaz@novelion.net - * @author Johan Guilbaud <guilbaud.johan@gmail.com> - * @author schplurtz@laposte.net - * @author skimpax@gmail.com - * @author Yannick Aure <yannick.aure@gmail.com> - * @author Olivier DUVAL <zorky00@gmail.com> - * @author Anael Mobilia <contrib@anael.eu> - * @author Bruno Veilleux <bruno.vey@gmail.com> - */ -$lang['menu'] = 'Gestion des extensions'; -$lang['download'] = 'Télécharger et installer une nouvelle extension'; -$lang['manage'] = 'Extensions installées'; -$lang['btn_info'] = 'Info'; -$lang['btn_update'] = 'Mettre à jour'; -$lang['btn_delete'] = 'Supprimer'; -$lang['btn_settings'] = 'Paramètres'; -$lang['btn_download'] = 'Télécharger'; -$lang['btn_enable'] = 'Enregistrer'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installé :'; -$lang['lastupdate'] = 'Dernière mise à jour :'; -$lang['source'] = 'Source :'; -$lang['unknown'] = 'inconnu'; -$lang['updating'] = 'Mise à jour…'; -$lang['updated'] = 'Extension %s mise à jour avec succès'; -$lang['updates'] = 'Les extensions suivantes ont été mises à jour avec succès'; -$lang['update_none'] = 'Aucune mise à jour n\'a été trouvée.'; -$lang['deleting'] = 'Suppression…'; -$lang['deleted'] = 'Extension %s supprimée.'; -$lang['downloading'] = 'Téléchargement…'; -$lang['downloaded'] = 'Extension %s installée avec succès'; -$lang['downloads'] = 'Les extensions suivantes ont été installées avec succès :'; -$lang['download_none'] = 'Aucune extension n\'a été trouvée, ou un problème inconnu est survenu durant le téléchargement et l\'installation.'; -$lang['plugin'] = 'Extension :'; -$lang['components'] = 'Composants'; -$lang['noinfo'] = 'Cette extension n\'a transmis aucune information, elle pourrait être invalide.'; -$lang['name'] = 'Nom :'; -$lang['date'] = 'Date :'; -$lang['type'] = 'Type :'; -$lang['desc'] = 'Description :'; -$lang['author'] = 'Auteur :'; -$lang['www'] = 'Site web :'; -$lang['error'] = 'Une erreur inconnue est survenue.'; -$lang['error_download'] = 'Impossible de télécharger le fichier de l\'extension : %s'; -$lang['error_badurl'] = 'URL suspecte : impossible de déterminer le nom du fichier à partir de l\'URL'; -$lang['error_dircreate'] = 'Impossible de créer le répertoire temporaire pour effectuer le téléchargement'; -$lang['error_decompress'] = 'Le gestionnaire d\'extensions a été incapable de décompresser le fichier téléchargé. Ceci peut être le résultat d\'un mauvais téléchargement, auquel cas vous devriez réessayer ; ou bien le format de compression est inconnu, auquel cas vous devez télécharger et installer l\'extension manuellement.'; -$lang['error_copy'] = 'Une erreur de copie est survenue lors de l\'installation des fichiers de l\'extension <em>%s</em> : le disque est peut-être plein ou les autorisations d\'accès sont incorrects. Il a pu en résulter une installation partielle de l\'extension et laisser votre installation du wiki instable.'; -$lang['error_delete'] = 'Une erreur est survenue lors de la suppression de l\'extension <em>%s</em>. La raison la plus probable est l\'insuffisance des autorisations sur les fichiers ou les répertoires.'; -$lang['enabled'] = 'Extension %s activée.'; -$lang['notenabled'] = 'L\'extension %s n\'a pas pu être activée, vérifiez les autorisations des fichiers.'; -$lang['disabled'] = 'Extension %s désactivée.'; -$lang['notdisabled'] = 'L\'extension %s n\'a pas pu être désactivée, vérifiez les autorisations des fichiers.'; -$lang['packageinstalled'] = 'Ensemble d\'extensions (%d extension(s): %s) installé avec succès.'; diff --git a/lib/plugins/plugin/lang/gl/admin_plugin.txt b/lib/plugins/plugin/lang/gl/admin_plugin.txt deleted file mode 100644 index 216285a8d..000000000 --- a/lib/plugins/plugin/lang/gl/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Xestión de Extensións ====== - -Nesta páxina podes xestionar todas as accións posíbeis cos [[doku>plugins|extensións]] do DokuWiki. Para poder descargar e instalar unha extensión, o teu cartafol de extensións debe ser escribíbel polo servidor web. diff --git a/lib/plugins/plugin/lang/gl/lang.php b/lib/plugins/plugin/lang/gl/lang.php deleted file mode 100644 index b3da44096..000000000 --- a/lib/plugins/plugin/lang/gl/lang.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Galicianlanguage file - * - * @author Medúlio <medulio@ciberirmandade.org> - * @author Oscar M. Lage <r0sk10@gmail.com> - * @author Rodrigo Rega <rodrigorega@gmail.com> - */ -$lang['menu'] = 'Xestionar Extensións'; -$lang['download'] = 'Descargar e instalar unha nova extensión'; -$lang['manage'] = 'Extensións Instalados'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualización'; -$lang['btn_delete'] = 'eliminar'; -$lang['btn_settings'] = 'configuración'; -$lang['btn_download'] = 'Descargar'; -$lang['btn_enable'] = 'Gardar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalado:'; -$lang['lastupdate'] = 'Última actualización:'; -$lang['source'] = 'Fonte:'; -$lang['unknown'] = 'descoñecido'; -$lang['updating'] = 'Actualizando...'; -$lang['updated'] = 'Actualizouse correctamente a extensión %s'; -$lang['updates'] = 'Actualizáronse correctamente as seguintes extensións'; -$lang['update_none'] = 'Non se atoparon actualizacións.'; -$lang['deleting'] = 'Eliminando...'; -$lang['deleted'] = 'Eliminado a extensión %s.'; -$lang['downloading'] = 'Descargando...'; -$lang['downloaded'] = 'Instalouse correctamente a extensión %s'; -$lang['downloads'] = 'Instaláronse correctamente as seguintes extensións:'; -$lang['download_none'] = 'Non se atoparon extensións, ou aconteceu un problema descoñecido durante a descarga e instalación.'; -$lang['plugin'] = 'Extensión:'; -$lang['components'] = 'Compoñentes'; -$lang['noinfo'] = 'Esta extensión non devolveu información ningunha. Pode que non sexa válida.'; -$lang['name'] = 'Nome:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Descrición:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Houbo un erro descoñecido.'; -$lang['error_download'] = 'Non se puido descargar o arquivo de extensión: %s'; -$lang['error_badurl'] = 'URL posiblemente incorrecto - non se puido determinar o nome do arquivo mediante o URL'; -$lang['error_dircreate'] = 'Non se puido crear un cartafol temporal para recibir a descarga'; -$lang['error_decompress'] = 'O xestor de extensións non foi quen de descomprimir o arquivo descargado. Isto podería ser causado por unha descarga corrupta, polo que, en tal caso, podes tentalo de novo; ou pode que o formato de compresión sexa descoñecido, co que precisarás descargar e instalar a extensión de xeito manual.'; -$lang['error_copy'] = 'Houbo un erro de copia de arquivo ao tentar instalar a extensión <em>%s</em>: pode que o disco estea cheo ou que os permisos de acceso sexan incorrectos. Isto podería dar lugar a unha instalación parcial da extensión e facer que a túa instalación do wiki se volva inestable.'; -$lang['error_delete'] = 'Houbo un erro ao tentar eliminar a extensión <em>%s</em>. O máis probable é que sexa causado por permisos de acceso ao arquivo ou directorio insuficientes.'; -$lang['enabled'] = 'Extensión %s activado.'; -$lang['notenabled'] = 'A extensión %s non puido ser activada, comproba os permisos de arquivo.'; -$lang['disabled'] = 'Extensión %s desactivada.'; -$lang['notdisabled'] = 'A extensión %s non puido ser desactivada, comproba os permisos de arquivo.'; -$lang['packageinstalled'] = 'Paquete de extensión (%d plugin(s): %s) instalado axeitadamente.'; diff --git a/lib/plugins/plugin/lang/he/admin_plugin.txt b/lib/plugins/plugin/lang/he/admin_plugin.txt deleted file mode 100644 index 206d368db..000000000 --- a/lib/plugins/plugin/lang/he/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== ניהול הרחבות ====== - -בדף זה ניתן לנהל כל דבר הקשור ל[[doku>plugins|הרחבות]] של DokuWiki. כדי שניתן יהיה להוריד ולהתקין הרחבה על תיקית ה-plugins שלך להיות ברת כתיבה על ידי שרת הרשת. - - diff --git a/lib/plugins/plugin/lang/he/lang.php b/lib/plugins/plugin/lang/he/lang.php deleted file mode 100644 index 7753c23cf..000000000 --- a/lib/plugins/plugin/lang/he/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author DoK <kamberd@yahoo.com> - * @author Dotan Kamber <kamberd@yahoo.com> - * @author Moshe Kaplan <mokplan@gmail.com> - * @author Yaron Yogev <yaronyogev@gmail.com> - * @author Yaron Shahrabani <sh.yaron@gmail.com> - */ -$lang['menu'] = 'ניהול הרחבות'; -$lang['download'] = 'הורדת והתקנת הרחבה חדשה'; -$lang['manage'] = 'הרחבות מותקנות'; -$lang['btn_info'] = 'מידע'; -$lang['btn_update'] = 'עידכון'; -$lang['btn_delete'] = 'מחיקה'; -$lang['btn_settings'] = 'הגדרות'; -$lang['btn_download'] = 'הורדה'; -$lang['btn_enable'] = 'שמירה'; -$lang['url'] = 'URL'; -$lang['installed'] = 'מותקנות:'; -$lang['lastupdate'] = 'עודכנו לאחרונה:'; -$lang['source'] = 'מקור:'; -$lang['unknown'] = 'לא ידוע'; -$lang['updating'] = 'מעדכן ...'; -$lang['updated'] = 'ההרחבה %s עודכנה בהצלחה'; -$lang['updates'] = 'ההרחבות הבאות עודכנו בהצלחה'; -$lang['update_none'] = 'לא נמצאו עידכונים.'; -$lang['deleting'] = 'מוחק ...'; -$lang['deleted'] = 'ההרחבה %s נמחקה.'; -$lang['downloading'] = 'מוריד ...'; -$lang['downloaded'] = 'ההרחבה %s הותקנה בהצלחה'; -$lang['downloads'] = 'ההרחבות הבאות הותקנו בהצלחה:'; -$lang['download_none'] = 'לא נמצאו הרחבות או שחלה בעיה בלתי ידועה במהלך ההורדה וההתקנה.'; -$lang['plugin'] = 'הרחבה:'; -$lang['components'] = 'רכיבים'; -$lang['noinfo'] = 'הרחבה זו לא השיבה מידע, יתכן כי היא אינה בתוקף.'; -$lang['name'] = 'שם:'; -$lang['date'] = 'תאריך:'; -$lang['type'] = 'סוג:'; -$lang['desc'] = 'תיאור:'; -$lang['author'] = 'מחבר:'; -$lang['www'] = 'רשת:'; -$lang['error'] = 'שגיאה לא ידועה ארעה.'; -$lang['error_download'] = 'כשל בהורדת קובץ ההרחבה: %s'; -$lang['error_badurl'] = 'כנראה כתובת שגויה - כשל בקביעת שם הקובץ מהכתובת'; -$lang['error_dircreate'] = 'כשל ביצירת תיקיה זמנית לקבלת ההורדה'; -$lang['error_decompress'] = 'מנהל ההרחבות כשל בפרישת הקובץ שהורד. יתכן כי זו תוצאה של הורדה תקולה ובמקרה זה עליך לנסות שנית; או שיתכן כי תסדיר הכיווץ אינו ידוע, במקרה זה יהיה עליך להוריד ולהתקין את ההרחבה ידנית.'; -$lang['error_copy'] = 'חלה שגיאה בהעתקת הקובץ בניסיון להתקין קבצים להרחבה <em>%s</em>: ייתכן כי הדיסק מלא או שהרשאות הגישה לקבצים שגויות. יתכן כי בשל כך נוצרה התקנה חלקית של ההרחבה שתשאיר את התקנת הויקי שלך לא יציבה.'; -$lang['error_delete'] = 'חלה שגיאה בעת ניסיון למחיקת ההרחבה <em>%s</em>. הסיבה הסבירה ביותר היא הרשאות גישה לקבצים ולספריות שאינן מספקות'; -$lang['enabled'] = 'תוסף %s מופעל.'; -$lang['notenabled'] = 'לא ניתן להפעיל את התוסף %s, בדוק הרשאות קבצים.'; -$lang['disabled'] = 'תוסף %s מושבת.'; -$lang['notdisabled'] = 'לא ניתן להשבית את התוסף %s, בדוק הרשאות קבצים.'; diff --git a/lib/plugins/plugin/lang/hi/lang.php b/lib/plugins/plugin/lang/hi/lang.php deleted file mode 100644 index 89d27cee1..000000000 --- a/lib/plugins/plugin/lang/hi/lang.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Abhinav Tyagi <abhinavtyagi11@gmail.com> - * @author yndesai@gmail.com - */ -$lang['unknown'] = 'अज्ञात'; -$lang['date'] = 'दिनांक:'; -$lang['author'] = 'लेखक:'; -$lang['error'] = 'अज्ञात त्रुटि हुइ'; diff --git a/lib/plugins/plugin/lang/hr/lang.php b/lib/plugins/plugin/lang/hr/lang.php deleted file mode 100644 index 96f1d6afe..000000000 --- a/lib/plugins/plugin/lang/hr/lang.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Croatian language file - * - * @author Branko Rihtman <theney@gmail.com> - * @author Dražen Odobašić <dodobasic@gmail.com> - * @author Dejan Igrec dejan.igrec@gmail.com - */ diff --git a/lib/plugins/plugin/lang/hu/admin_plugin.txt b/lib/plugins/plugin/lang/hu/admin_plugin.txt deleted file mode 100644 index afa08d349..000000000 --- a/lib/plugins/plugin/lang/hu/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Bővítménykezelő ====== - -Ezen az oldalon a Dokuwiki [[doku>plugins|bővítményeivel]] kapcsolatos teendőket láthatod el. A webszervernek tudni kell írnia a //plugin// könyvtárat, hogy új bővítményeket tudj ezen a felületen keresztül letölteni és telepíteni. - diff --git a/lib/plugins/plugin/lang/hu/lang.php b/lib/plugins/plugin/lang/hu/lang.php deleted file mode 100644 index b8fa2cdbe..000000000 --- a/lib/plugins/plugin/lang/hu/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Sandor TIHANYI <stihanyi+dw@gmail.com> - * @author Siaynoq Mage <siaynoqmage@gmail.com> - * @author schilling.janos@gmail.com - * @author Szabó Dávid <szabo.david@gyumolcstarhely.hu> - * @author Sándor TIHANYI <stihanyi+dw@gmail.com> - * @author David Szabo <szabo.david@gyumolcstarhely.hu> - * @author Marton Sebok <sebokmarton@gmail.com> - */ -$lang['menu'] = 'Bővítménykezelő'; -$lang['download'] = 'Új bővítmény letöltése és telepítése'; -$lang['manage'] = 'Telepített bővítmények'; -$lang['btn_info'] = 'infó'; -$lang['btn_update'] = 'frissítés'; -$lang['btn_delete'] = 'törlés'; -$lang['btn_settings'] = 'beállítások'; -$lang['btn_download'] = 'Letöltés'; -$lang['btn_enable'] = 'Mentés'; -$lang['url'] = 'Cím'; -$lang['installed'] = 'Telepítve:'; -$lang['lastupdate'] = 'Utolsó frissítés:'; -$lang['source'] = 'Forrás:'; -$lang['unknown'] = 'ismeretlen'; -$lang['updating'] = 'Frissítés...'; -$lang['updated'] = 'A %s bővítmény frissítése sikeres'; -$lang['updates'] = 'A következő bővítmények frissítése sikeres:'; -$lang['update_none'] = 'Nem találtam újabb verziót.'; -$lang['deleting'] = 'Törlés...'; -$lang['deleted'] = 'A %s bővítményt eltávolítva.'; -$lang['downloading'] = 'Letöltés...'; -$lang['downloaded'] = 'A %s bővítmény telepítése sikeres.'; -$lang['downloads'] = 'A következő bővítmények telepítése sikeres.'; -$lang['download_none'] = 'Nem találtam bővítményt vagy ismeretlen hiba történt a letöltés/telepítés közben.'; -$lang['plugin'] = 'Bővítmény:'; -$lang['components'] = 'Részek'; -$lang['noinfo'] = 'Ez a bővítmény nem tartalmaz információt, lehet, hogy hibás.'; -$lang['name'] = 'Név:'; -$lang['date'] = 'Dátum:'; -$lang['type'] = 'Típus:'; -$lang['desc'] = 'Leírás:'; -$lang['author'] = 'Szerző:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ismeretlen hiba lépett fel.'; -$lang['error_download'] = 'Nem tudom letölteni a fájlt a bővítményhez: %s'; -$lang['error_badurl'] = 'Feltehetően rossz URL - nem tudom meghatározni a fájlnevet az URL-ből.'; -$lang['error_dircreate'] = 'Nem tudom létrehozni az átmeneti könyvtárat a letöltéshez.'; -$lang['error_decompress'] = 'A Bővítménykezelő nem tudta a letöltött állományt kicsomagolni. Ennek oka lehet hibás letöltés, ebben az esetben újra letöltéssel próbálkozhatsz, esetleg a tömörítés módja ismeretlen, ebben az esetben kézzel kell letölteni és telepíteni a bővítményt.'; -$lang['error_copy'] = 'Fájl másolási hiba történt a(z) <em>%s</em> bővítmény telepítése közben: vagy a lemezterület fogyott el, vagy az állomány hozzáférési jogosultságai nem megfelelőek. Emiatt előfordulhat, hogy a bővítményt csak részben sikerült telepíteni és a wiki összeomolhat.'; -$lang['error_delete'] = 'Hiba történt a(z) <em>%s</em> bővítmény eltávolítása közben. A legvalószínűbb ok, hogy a könyvtár vagy állomány hozzáférési jogosultságai nem megfelelőek.'; -$lang['enabled'] = 'A(z) %s bővítmény bekapcsolva.'; -$lang['notenabled'] = 'A(z) %s bővítmény engedélyezése nem sikerült. Ellenőrizze a fájlhozzáférési jogosultságokat.'; -$lang['disabled'] = 'A(z) %s bővítmény kikapcsolva.'; -$lang['notdisabled'] = 'A(z) %s bővítmény kikapcsolása nem sikerült. Ellenőrizze a fájlhozzáférési jogosultságokat.'; -$lang['packageinstalled'] = 'A bővítménycsomag(ok) feltelepült(ek): %d plugin(s): %s'; diff --git a/lib/plugins/plugin/lang/ia/admin_plugin.txt b/lib/plugins/plugin/lang/ia/admin_plugin.txt deleted file mode 100644 index c7f758c16..000000000 --- a/lib/plugins/plugin/lang/ia/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Gestion de plug-ins ====== - -In iste pagina tu pote gerer omne cosas con relation al [[doku>plugins|plug-ins]] de DokuWiki. Pro poter discargar e installar un plug-in, le directorio de plug-ins debe permitter le accesso de scriptura al servitor web.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/ia/lang.php b/lib/plugins/plugin/lang/ia/lang.php deleted file mode 100644 index 523f8581d..000000000 --- a/lib/plugins/plugin/lang/ia/lang.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Interlingua language file - * - * @author robocap <robocap1@gmail.com> - * @author Martijn Dekker <martijn@inlv.org> - */ -$lang['menu'] = 'Gestion de plug-ins'; -$lang['download'] = 'Discargar e installar un nove plug-in'; -$lang['manage'] = 'Plug-ins installate'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualisar'; -$lang['btn_delete'] = 'deler'; -$lang['btn_settings'] = 'configurationes'; -$lang['btn_download'] = 'Discargar'; -$lang['btn_enable'] = 'Salveguardar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installate:'; -$lang['lastupdate'] = 'Ultime actualisation:'; -$lang['source'] = 'Origine:'; -$lang['unknown'] = 'incognite'; -$lang['updating'] = 'Actualisation…'; -$lang['updated'] = 'Actualisation del plug-in %s succedite'; -$lang['updates'] = 'Le sequente plug-ins ha essite actualisate con successo'; -$lang['update_none'] = 'Nulle actualisation trovate.'; -$lang['deleting'] = 'Deletion…'; -$lang['deleted'] = 'Le plug-in %s ha essite delite.'; -$lang['downloading'] = 'Discargamento…'; -$lang['downloaded'] = 'Installation del plug-in %s succedite.'; -$lang['downloads'] = 'Le sequente plug-ins ha essite installate con successo:'; -$lang['download_none'] = 'Nulle plug-in trovate, o il ha occurrite un problema incognite durante le discargamento e installation.'; -$lang['plugin'] = 'Plug-in:'; -$lang['components'] = 'Componentes'; -$lang['noinfo'] = 'Iste plug-in retornava nulle information; illo pote esser invalide.'; -$lang['name'] = 'Nomine:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Typo:'; -$lang['desc'] = 'Description:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Un error incognite ha occurrite.'; -$lang['error_download'] = 'Impossibile discargar le file del plug-in: %s'; -$lang['error_badurl'] = 'URL probabilemente invalide; impossibile determinar le nomine del file ex le URL'; -$lang['error_dircreate'] = 'Impossibile crear le dossier temporari pro reciper le discargamento'; -$lang['error_decompress'] = 'Le gestor de plug-ins non poteva decomprimer le file discargate. Isto pote esser le resultato de un discargamento defectuose, in le qual caso tu deberea probar lo de novo; o le formato de compression pote esser incognite, in le qual caso tu debe discargar e installar le plug-in manualmente.'; -$lang['error_copy'] = 'Il occurreva un error durante le tentativa de installar files pro le plugin <em>%s</em>: le disco pote esser plen o le permissiones de accesso a files pote esser incorrecte. Isto pote haber resultate in un plug-in partialmente installate e lassar tu installation del wiki instabile.'; -$lang['error_delete'] = 'Il occurreva un error durante le tentativa de deler le plug-in <em>%s</em>. Le causa le plus probabile es insufficiente permissiones de files o directorios.'; -$lang['enabled'] = 'Plug-in %s activate.'; -$lang['notenabled'] = 'Le plug-in %s non poteva esser activate; verifica le permissiones de accesso a files.'; -$lang['disabled'] = 'Plug-in %s disactivate.'; -$lang['notdisabled'] = 'Le plug-in %s non poteva esser disactivate; verifica le permissiones de accesso a files.'; diff --git a/lib/plugins/plugin/lang/id-ni/lang.php b/lib/plugins/plugin/lang/id-ni/lang.php deleted file mode 100644 index d367340b7..000000000 --- a/lib/plugins/plugin/lang/id-ni/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * idni language file - * - * @author Harefa <fidelis@harefa.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/plugin/lang/id/lang.php b/lib/plugins/plugin/lang/id/lang.php deleted file mode 100644 index 2653b075e..000000000 --- a/lib/plugins/plugin/lang/id/lang.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Irwan Butar Butar <irwansah.putra@gmail.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ -$lang['btn_info'] = 'Info'; -$lang['btn_update'] = 'Baharui'; -$lang['btn_delete'] = 'Hapus'; -$lang['btn_settings'] = 'Pengaturan'; -$lang['btn_download'] = 'Unduh'; -$lang['btn_enable'] = 'Simpan'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instal'; -$lang['lastupdate'] = 'Pembaharuan terakhir:'; -$lang['source'] = 'Sumber:'; -$lang['unknown'] = 'Tidak kenal'; -$lang['updating'] = 'Terbaharui ...'; -$lang['update_none'] = 'Tidak ditemukan pembaharuan'; -$lang['deleting'] = 'Terhapus ...'; -$lang['deleted'] = 'Hapus Plugin %s.'; -$lang['downloading'] = 'Unduh ...'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Komponen'; -$lang['name'] = 'Nama:'; -$lang['date'] = 'Tanggal:'; -$lang['type'] = 'Tipe:'; -$lang['desc'] = 'Penjelasan:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; diff --git a/lib/plugins/plugin/lang/is/lang.php b/lib/plugins/plugin/lang/is/lang.php deleted file mode 100644 index 0ef1243ef..000000000 --- a/lib/plugins/plugin/lang/is/lang.php +++ /dev/null @@ -1,47 +0,0 @@ -<?php -/** - * Icelandic language file - * - * @author Hrannar Baldursson <hrannar.baldursson@gmail.com> - * @author Ólafur Gunnlaugsson <oli@audiotools.com> - * @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca> - */ -$lang['menu'] = 'Umsýsla viðbóta'; -$lang['download'] = 'Hlaða niður og innsetja viðbót'; -$lang['manage'] = 'Uppsettar viðbætur'; -$lang['btn_info'] = 'upplýsingar'; -$lang['btn_update'] = 'uppfæra'; -$lang['btn_delete'] = 'eyða'; -$lang['btn_settings'] = 'stillingar'; -$lang['btn_download'] = 'Niðurhal'; -$lang['btn_enable'] = 'Vista'; -$lang['url'] = 'Veffang'; -$lang['installed'] = 'Innsett:'; -$lang['lastupdate'] = 'Síðast uppfærð:'; -$lang['source'] = 'Gjafi:'; -$lang['unknown'] = 'óþekkt'; -$lang['updating'] = 'Uppfæri viðbót'; -$lang['updated'] = '%s viðbótin hefur verið uppfærð'; -$lang['updates'] = 'Eftirfarandi viðbætur hafa verið uppfærðar'; -$lang['update_none'] = 'Engar uppfærslur fundust.'; -$lang['deleting'] = 'Eyði viðbót'; -$lang['deleted'] = 'Viðbót %s eytt'; -$lang['downloading'] = 'Hleð viðbót niður ...'; -$lang['downloaded'] = 'Viðbót %s hlóðst inn'; -$lang['downloads'] = 'Eftirfarandi viðbótum hefur verið hlaðið inn:'; -$lang['download_none'] = 'Engin viðbót finnst, hugsanlega hefur komið upp villa við niðurhal eða uppsetningu.'; -$lang['plugin'] = 'Viðbót:'; -$lang['components'] = 'Einingar'; -$lang['noinfo'] = 'Þessi viðbót skilaði ekki upplýsingum og er hugsanlega ónýt.'; -$lang['name'] = 'Nafn:'; -$lang['date'] = 'Dagsetning:'; -$lang['type'] = 'Tegund:'; -$lang['desc'] = 'Lýsing:'; -$lang['author'] = 'Höfundur:'; -$lang['www'] = 'Vefur:'; -$lang['error'] = 'Óskilgreind villa'; -$lang['error_download'] = 'Niðurhal viðbótar %s mistókst'; -$lang['error_decompress'] = 'Viðbótastjórinn gat ekki afþjappað skránna. Þetta gæti verið vegna misheppnaðs niðurhals, ef svo er reyndu niðurhal aftur. Það er einnig mögulegt að skráin sé þjöppuð með aðferð sem að er Dokuwiki óþekkt, í því tilfelli er best að vista viðhengið á tölvunni þinni, afþjappa hana þar og svo hlaða skránum upp handvirkt.'; -$lang['enabled'] = 'Viðbót %s hefur verið ræst.'; -$lang['notenabled'] = 'Ekki var hægt að ræsa %s viðbótina. Athugaðu stillingar á skráaleyfum.'; -$lang['disabled'] = 'Viðbót %s var gerð óvirk'; diff --git a/lib/plugins/plugin/lang/it/admin_plugin.txt b/lib/plugins/plugin/lang/it/admin_plugin.txt deleted file mode 100644 index 5591f08fe..000000000 --- a/lib/plugins/plugin/lang/it/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Gestione Plugin ====== - -In questa pagina puoi gestire tutto ciò che riguarda i [[doku>plugins|plugin]] di DokuWiki. Per poter scaricare e installare un plugin, il webserver deve avere accesso in scrittura alla directory dei plugin.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/it/lang.php b/lib/plugins/plugin/lang/it/lang.php deleted file mode 100644 index 186bf976e..000000000 --- a/lib/plugins/plugin/lang/it/lang.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Christopher Smith <chris@jalakai.co.uk> - * @author Silvia Sargentoni <polinnia@tin.it> - * @author Pietro Battiston toobaz@email.it - * @author Diego Pierotto ita.translations@tiscali.it - * @author ita.translations@tiscali.it - * @author Lorenzo Breda <lbreda@gmail.com> - * @author snarchio@alice.it - * @author robocap <robocap1@gmail.com> - * @author Osman Tekin osman.tekin93@hotmail.it - * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> - * @author Matteo Pasotti <matteo@xquiet.eu> - * @author snarchio@gmail.com - */ -$lang['menu'] = 'Gestione Plugin'; -$lang['download'] = 'Scarica e installa un nuovo plugin'; -$lang['manage'] = 'Plugin installati'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'aggiorna'; -$lang['btn_delete'] = 'elimina'; -$lang['btn_settings'] = 'configurazione'; -$lang['btn_download'] = 'Scarica'; -$lang['btn_enable'] = 'Salva'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installato:'; -$lang['lastupdate'] = 'Ultimo aggiornamento:'; -$lang['source'] = 'Origine:'; -$lang['unknown'] = 'sconosciuto'; -$lang['updating'] = 'Aggiornamento in corso ...'; -$lang['updated'] = 'Aggiornamento plugin %s riuscito'; -$lang['updates'] = 'Aggiornamento dei seguenti plugin riuscito:'; -$lang['update_none'] = 'Nessun aggiornamento trovato.'; -$lang['deleting'] = 'Eliminazione in corso ...'; -$lang['deleted'] = 'Plugin %s eliminato.'; -$lang['downloading'] = 'Scaricamento in corso ...'; -$lang['downloaded'] = 'Installazione plugin %s riuscita'; -$lang['downloads'] = 'Installazione dei seguenti plugin riuscita:'; -$lang['download_none'] = 'Nessun plugin trovato, oppure si è verificato un problema sconosciuto durante il download e l\'installazione.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Componenti'; -$lang['noinfo'] = 'Questo plugin non ha fornito alcuna informazione, potrebbe non essere valido.'; -$lang['name'] = 'Nome:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Descrizione:'; -$lang['author'] = 'Autore:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Si è verificato un errore sconosciuto.'; -$lang['error_download'] = 'Impossibile scaricare il plugin: %s'; -$lang['error_badurl'] = 'Possibile URL non corretta - impossibile determinare il nome del file dalla URL fornita'; -$lang['error_dircreate'] = 'Impossibile creare la directory temporanea dove scaricare il file'; -$lang['error_decompress'] = 'Impossibile decomprimere il file scaricato. Questo potrebbe essere il risultato di un download incompleto, in tal caso dovresti provare di nuovo; oppure il formato di compressione potrebbe essere sconosciuto, in questo caso è necessario scaricare e installare il plugin manualmente.'; -$lang['error_copy'] = 'Si è verificato un errore nella copia di un file durante l\'installazione del plugin <em>%s</em>: il disco potrebbe essere pieno oppure i permessi di accesso al file potrebbero non essere corretti. Il plugin potrebbe essere stato installato solo parzialmente, questo potrebbe causare instabilità al sistema.'; -$lang['error_delete'] = 'Si è verificato un errore durante l\'eliminazione del plugin <em>%s</em>. Molto probabilmente i permessi di acesso ai file o alla directory non sono sufficienti'; -$lang['enabled'] = 'Plugin %s abilitato.'; -$lang['notenabled'] = 'Impossibile abilitare il plugin %s, verifica i permessi dei file.'; -$lang['disabled'] = 'Plugin %s disabilitato.'; -$lang['notdisabled'] = 'Impossibile disabilitare il plugin %s, verifica i permessi dei file.'; -$lang['packageinstalled'] = 'Pacchetto plugin (%d plugin(s): %s) installato con successo.'; diff --git a/lib/plugins/plugin/lang/ja/admin_plugin.txt b/lib/plugins/plugin/lang/ja/admin_plugin.txt deleted file mode 100644 index c3b85351a..000000000 --- a/lib/plugins/plugin/lang/ja/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== プラグイン管理 ====== - -この画面で、DokuWikiで使用するプラグイン [[doku>plugins|plugins]] の管理を行うことが出来ます。 プラグインをダウンロード・インストールするためには、サーバー内のプラグイン用フォルダーを 書き込み可にしておく必要があります。 - - diff --git a/lib/plugins/plugin/lang/ja/lang.php b/lib/plugins/plugin/lang/ja/lang.php deleted file mode 100644 index d66e109ce..000000000 --- a/lib/plugins/plugin/lang/ja/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Yuji Takenaka <webmaster@davilin.com> - * @author Christopher Smith <chris@jalakai.co.uk> - * @author Ikuo Obataya <i.obataya@gmail.com> - * @author Daniel Dupriest <kououken@gmail.com> - * @author Kazutaka Miyasaka <kazmiya@gmail.com> - * @author Taisuke Shimamoto <dentostar@gmail.com> - * @author Satoshi Sahara <sahara.satoshi@gmail.com> - */ -$lang['menu'] = 'プラグイン管理'; -$lang['download'] = 'プラグインのダウンロードとインストール'; -$lang['manage'] = 'インストール済みプラグイン'; -$lang['btn_info'] = '情報'; -$lang['btn_update'] = '更新'; -$lang['btn_delete'] = '削除'; -$lang['btn_settings'] = '設定'; -$lang['btn_download'] = 'ダウンロード'; -$lang['btn_enable'] = '保存'; -$lang['url'] = 'URL'; -$lang['installed'] = 'インストール:'; -$lang['lastupdate'] = '最終更新日:'; -$lang['source'] = 'ソース:'; -$lang['unknown'] = '不明'; -$lang['updating'] = '更新中...'; -$lang['updated'] = 'プラグイン %s は更新されました'; -$lang['updates'] = '次のプラグインが更新されました:'; -$lang['update_none'] = 'プラグインの更新データはありません。'; -$lang['deleting'] = '削除中...'; -$lang['deleted'] = 'プラグイン %s は削除されました。'; -$lang['downloading'] = 'ダウンロード中...'; -$lang['downloaded'] = 'プラグイン %s がインストールされました'; -$lang['downloads'] = '次のプラグインがインストールされました:'; -$lang['download_none'] = 'プラグインが見つかりませんでした。もしくはダウンロードかインストールの最中に予期せぬエラーが発生しました。'; -$lang['plugin'] = 'プラグイン:'; -$lang['components'] = 'コンポーネント'; -$lang['noinfo'] = 'このプラグインに関する情報がありません。有効なプラグインではないかも知れません。'; -$lang['name'] = '名前:'; -$lang['date'] = '日付:'; -$lang['type'] = 'タイプ:'; -$lang['desc'] = '説明:'; -$lang['author'] = '作者:'; -$lang['www'] = 'ウェブサイト:'; -$lang['error'] = '予期せぬエラーが発生しました。'; -$lang['error_download'] = 'プラグインファイルをダウンロードできません:%s'; -$lang['error_badurl'] = 'URLが正しくないようです - ファイル名が特定できません'; -$lang['error_dircreate'] = 'ダウンロードしたファイルを一時的に保管しておくフォルダが作成できません'; -$lang['error_decompress'] = 'ダウンロードしたファイルを解凍できませんでした。ダウンロードに失敗した可能性があります(もう一度、実行してください);もしくは、不明な圧縮形式であるかもしれません(手動でインストールする必要があります)'; -$lang['error_copy'] = 'プラグインをインストール中にファイルのコピーに失敗しました。<em>%s</em>:ディスク容量や書き込みの権限を確認してください。このエラーによりプラグインのインストールが完全に行われず、Wikiが不安定な状態です。'; -$lang['error_delete'] = 'プラグインの削除中にエラーが発生しました <em>%s</em>。プラグインが不完全なファイルであったか、ディレクトリの権限が正しくないことが原因であると考えられます。'; -$lang['enabled'] = 'プラグイン %s が有効です。'; -$lang['notenabled'] = 'プラグイン %s を有効にすることができません。権限を確認してください。'; -$lang['disabled'] = 'プラグイン %s が無効です。'; -$lang['notdisabled'] = 'プラグイン %s を無効にすることができません。権限を確認してください。'; -$lang['packageinstalled'] = 'プラグインパッケージ(%d plugin(s): %s)は正しくインストールされました。'; diff --git a/lib/plugins/plugin/lang/kk/lang.php b/lib/plugins/plugin/lang/kk/lang.php deleted file mode 100644 index dde5b9577..000000000 --- a/lib/plugins/plugin/lang/kk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * kazakh language file - * - * @author Nurgozha Kaliaskarov astana08@gmail.com - */ diff --git a/lib/plugins/plugin/lang/ko/admin_plugin.txt b/lib/plugins/plugin/lang/ko/admin_plugin.txt deleted file mode 100644 index 9390712dd..000000000 --- a/lib/plugins/plugin/lang/ko/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== 플러그인 관리 ====== - -이 페이지에서 도쿠위키 [[doku>ko:plugins|플러그인]]에 관련된 모든 관리를 할 수 있습니다. 플러그인을 다운로드하고 설치하기 위해서는 웹 서버가 플러그인 폴더에 대해 쓰기 권한이 있어야 합니다.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/ko/lang.php b/lib/plugins/plugin/lang/ko/lang.php deleted file mode 100644 index 4cd1ae3c7..000000000 --- a/lib/plugins/plugin/lang/ko/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author jk Lee - * @author dongnak@gmail.com - * @author Song Younghwan <purluno@gmail.com> - * @author Seung-Chul Yoo <dryoo@live.com> - * @author erial2@gmail.com - * @author Myeongjin <aranet100@gmail.com> - * @author Garam <rowain8@gmail.com> - */ -$lang['menu'] = '플러그인 관리'; -$lang['download'] = '새 플러그인을 다운로드하고 설치'; -$lang['manage'] = '설치된 플러그인'; -$lang['btn_info'] = '정보'; -$lang['btn_update'] = '업데이트'; -$lang['btn_delete'] = '삭제'; -$lang['btn_settings'] = '설정'; -$lang['btn_download'] = '다운로드'; -$lang['btn_enable'] = '저장'; -$lang['url'] = 'URL'; -$lang['installed'] = '설치됨:'; -$lang['lastupdate'] = '마지막으로 업데이트됨:'; -$lang['source'] = '원본:'; -$lang['unknown'] = '알 수 없음'; -$lang['updating'] = '업데이트 중 ...'; -$lang['updated'] = '%s 플러그인을 성공적으로 업데이트했습니다'; -$lang['updates'] = '다음 플러그인을 성공적으로 업데이트했습니다'; -$lang['update_none'] = '업데이트를 찾을 수 없습니다.'; -$lang['deleting'] = '삭제 중 ...'; -$lang['deleted'] = '%s 플러그인이 삭제되었습니다.'; -$lang['downloading'] = '다운로드 중 ...'; -$lang['downloaded'] = '%s 플러그인이 성공적으로 설치되었습니다'; -$lang['downloads'] = '다음 플러그인이 성공적으로 설치되었습니다:'; -$lang['download_none'] = '플러그인이 없거나 다운로드 또는 설치 중에 알 수 없는 문제가 발생했습니다.'; -$lang['plugin'] = '플러그인:'; -$lang['components'] = '구성 요소'; -$lang['noinfo'] = '이 플러그인은 어떤 정보도 없습니다. 잘못된 플러그인일 수 있습니다.'; -$lang['name'] = '이름:'; -$lang['date'] = '날짜:'; -$lang['type'] = '종류:'; -$lang['desc'] = '설명:'; -$lang['author'] = '저자:'; -$lang['www'] = '웹:'; -$lang['error'] = '알 수 없는 문제가 발생했습니다.'; -$lang['error_download'] = '플러그인 파일을 다운로드 할 수 없습니다: %s'; -$lang['error_badurl'] = '잘못된 URL 같습니다 - URL에서 파일 이름을 알 수 없습니다'; -$lang['error_dircreate'] = '다운로드를 받기 위한 임시 디렉터리를 만들 수 없습니다'; -$lang['error_decompress'] = '플러그인 관리자가 다운로드 받은 파일을 압축을 풀 수 없습니다. 잘못 다운로드 받았을 수도 있으니 다시 한 번 시도하거나 압축 포맷을 알 수 없는 경우에는 다운로드한 후 수동으로 직접 설치하세요.'; -$lang['error_copy'] = '플러그인을 설치하는 동안 파일 복사하는 데 오류가 발생했습니다. <em>%s</em>: 디스크가 꽉 찼거나 파일 접근 권한이 잘못된 경우입니다. 플러그인 설치가 부분적으로만 이루어졌을 것입니다. 설치가 불완전합니다.'; -$lang['error_delete'] = '<em>%s</em> 플러그인을 삭제하는 동안 오류가 발생했습니다. 대부분의 경우 불완전한 파일이거나 디렉터리 접근 권한이 잘못된 경우입니다'; -$lang['enabled'] = '%s 플러그인을 활성화했습니다.'; -$lang['notenabled'] = '%s 플러그인을 활성화할 수 없습니다. 파일 권한을 확인하세요.'; -$lang['disabled'] = '%s 플러그인을 비활성화했습니다.'; -$lang['notdisabled'] = '%s 플러그인을 비활성화할 수 없습니다. 파일 권한을 확인하하세요.'; -$lang['packageinstalled'] = '플러그인 패키지(플러그인 %d개: %s)가 성공적으로 설치되었습니다.'; diff --git a/lib/plugins/plugin/lang/la/admin_plugin.txt b/lib/plugins/plugin/lang/la/admin_plugin.txt deleted file mode 100644 index 2a41977fc..000000000 --- a/lib/plugins/plugin/lang/la/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Addendorum Administratio ====== - -In hac pagina omnia uicis [[doku>plugins|plugins]] mutare et administrare potes. Vt addenda capere et his uti, in scrinio addendorum scribere et legere potest.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/la/lang.php b/lib/plugins/plugin/lang/la/lang.php deleted file mode 100644 index cd2d81cbd..000000000 --- a/lib/plugins/plugin/lang/la/lang.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Latin language file - * - * @author Massimiliano Vassalli <vassalli.max@gmail.com> - */ -$lang['menu'] = 'Addendorum administratio'; -$lang['download'] = 'Noua addenda cape'; -$lang['manage'] = 'Addenta in usu'; -$lang['btn_info'] = 'Notae'; -$lang['btn_update'] = 'Nouare'; -$lang['btn_delete'] = 'Delere'; -$lang['btn_settings'] = 'Optiones'; -$lang['btn_download'] = 'Capere'; -$lang['btn_enable'] = 'Seruare'; -$lang['url'] = 'VRL'; -$lang['installed'] = 'In usu:'; -$lang['lastupdate'] = 'Extrema renouatio:'; -$lang['source'] = 'Fons:'; -$lang['unknown'] = 'Ignotum'; -$lang['updating'] = 'Nouans...'; -$lang['updated'] = 'Addenda %s nouata feliciter'; -$lang['updates'] = 'Hae addenda nouata feliciter sunt'; -$lang['update_none'] = 'Nulla renouatio inuenta'; -$lang['deleting'] = 'Delens...'; -$lang['deleted'] = 'Addenda %s deleta.'; -$lang['downloading'] = 'Capens ...'; -$lang['downloaded'] = 'Addenda %s recte in usu'; -$lang['downloads'] = 'Hae addenda feliciter in usu:'; -$lang['download_none'] = 'Nulla addenda reperta aut errores in capiendo sunt.'; -$lang['plugin'] = 'Addenda:'; -$lang['components'] = 'Partes'; -$lang['noinfo'] = 'Addenda alias notas non habent.'; -$lang['name'] = 'Nomen:'; -$lang['date'] = 'Dies:'; -$lang['type'] = 'Genus:'; -$lang['desc'] = 'Descriptio:'; -$lang['author'] = 'Auctor:'; -$lang['www'] = 'Situs interretialis:'; -$lang['error'] = 'Error ignotus.'; -$lang['error_download'] = 'Addenda quae non renouantur: %s'; -$lang['error_badurl'] = 'VRL malum'; -$lang['error_dircreate'] = 'Scrinium temporaneum non creatur, sic nihil capi potest'; -$lang['error_decompress'] = 'Addendorum administrator nouare non potest. Rursum capere nouationes temptat aut manu addenda noua.'; -$lang['error_copy'] = 'Exemplar malum in scrinio addendorum <em>%s</em> est: facultates documenti scrinique fortasse illegitimae sunt. Hic accidit cum addenda partim nouata sunt.'; -$lang['error_delete'] = 'Addenda <em>%s</em> non delentur.'; -$lang['enabled'] = 'Addenda %s apta facta.'; -$lang['notenabled'] = 'Addenda %s quae apta fieri non possunt.'; -$lang['disabled'] = 'Addenda %s non in usu.'; -$lang['notdisabled'] = 'Addenda %s quae inepta fieri non possunt.'; diff --git a/lib/plugins/plugin/lang/lb/admin_plugin.txt b/lib/plugins/plugin/lang/lb/admin_plugin.txt deleted file mode 100644 index 223de10e8..000000000 --- a/lib/plugins/plugin/lang/lb/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Plugin Management ====== - -Op dëser Säit kanns de alles verwalte wat mat Dokuwiki [[doku>plugins|Pluginen]] ze dinn huet. Fir e Plugin kënnen z'installéieren, muss däi Pluginverzeechnës vum Webserver schreiwbar sinn. - diff --git a/lib/plugins/plugin/lang/lb/lang.php b/lib/plugins/plugin/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/plugin/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/plugin/lang/lt/admin_plugin.txt b/lib/plugins/plugin/lang/lt/admin_plugin.txt deleted file mode 100644 index 1254b776c..000000000 --- a/lib/plugins/plugin/lang/lt/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Priedų Administravimas ====== - -Šiame puslapyje galite administruoti, darbui su Dokuwiki, reikalingu įrankius [[doku>plugins|plugins]]. Tam kad parsiųsti ir įdiegti kokį nors priedą jūsų web serveris privalo turėti įrašymo teises priedų kataloge. diff --git a/lib/plugins/plugin/lang/lt/lang.php b/lib/plugins/plugin/lang/lt/lang.php deleted file mode 100644 index c5b2fa11e..000000000 --- a/lib/plugins/plugin/lang/lt/lang.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php -/** - * Lithuanian language file - * - * @author audrius.klevas@gmail.com - * @author Arunas Vaitekunas <aras@fan.lt> - */ -$lang['name'] = 'Vardas:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipas:'; -$lang['desc'] = 'Aprašas:'; -$lang['author'] = 'Autorius:'; -$lang['www'] = 'Tinklapis:'; diff --git a/lib/plugins/plugin/lang/lv/admin_plugin.txt b/lib/plugins/plugin/lang/lv/admin_plugin.txt deleted file mode 100644 index 80335062f..000000000 --- a/lib/plugins/plugin/lang/lv/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Moduļu pārvaldīšana ====== - -Šajā lapā varat pārvaldīt visu, kas saistīts ar Dokuwiki [[doku>plugins|moduļiem]]. Lai varētu lejupielādēt un uzstādīt moduļus, to direktorijai serverī vajag rakstīšanas tiesības. diff --git a/lib/plugins/plugin/lang/lv/lang.php b/lib/plugins/plugin/lang/lv/lang.php deleted file mode 100644 index 9a8727875..000000000 --- a/lib/plugins/plugin/lang/lv/lang.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Latvian, Lettish language file - * - * @author Aivars Miška <allefm@gmail.com> - */ -$lang['menu'] = 'Moduļu pārvaldība'; -$lang['download'] = 'Lejupielādēt un instalēt jaunu moduli.'; -$lang['manage'] = 'Instalētie moduļi'; -$lang['btn_info'] = 'uzziņa'; -$lang['btn_update'] = 'atjaunināt'; -$lang['btn_delete'] = 'dzēst'; -$lang['btn_settings'] = 'parametri'; -$lang['btn_download'] = 'Lejupielādēt'; -$lang['btn_enable'] = 'Saglabāt'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalēts:'; -$lang['lastupdate'] = 'Atjaunināts:'; -$lang['source'] = 'Avots:'; -$lang['unknown'] = 'nav zināms'; -$lang['updating'] = 'Atjauninu...'; -$lang['updated'] = 'Modulis %s veiksmīgi atjaunināts'; -$lang['updates'] = 'Veiksmīgi atjaunināti moduļi:'; -$lang['update_none'] = 'Jauninājums nav atrasts'; -$lang['deleting'] = 'Dzēšu...'; -$lang['deleted'] = 'Modulis %s dzēsts'; -$lang['downloading'] = 'Lejupielādēju...'; -$lang['downloaded'] = 'Modulis %s veiksmīgi instalēts'; -$lang['downloads'] = 'Veiksmīgi instalēti moduļi: '; -$lang['download_none'] = 'Neviens modulis nav atrasts vai arī gadījusies nezinām kļūme lejupielādes un instalācijas gaitā.'; -$lang['plugin'] = 'Modulis:'; -$lang['components'] = 'Sastāvdaļas'; -$lang['noinfo'] = 'Modulis nesniedz informāciju, tas varbūt ir bojāts.'; -$lang['name'] = 'Nosaukums:'; -$lang['date'] = 'Datums:'; -$lang['type'] = 'Tips:'; -$lang['desc'] = 'Apraksts:'; -$lang['author'] = 'Autors:'; -$lang['www'] = 'Mājaslapa:'; -$lang['error'] = 'Gadījās nezināma kļūme.'; -$lang['error_download'] = 'Nevar lejupielādēt moduļa failu %s'; -$lang['error_badurl'] = 'Aizdomas par aplamu URL - jo no tā nevar noteikt faila vārdu.'; -$lang['error_dircreate'] = 'Nevar izveidot pagaidu direktoriju, kur saglabāt lejupielādēto. '; -$lang['error_decompress'] = 'Moduļu pārvaldnieks nevar atspiest lejupielādēto failu. Vai nu neizdevusi es lejupielāde, mēģiniet atkārtot, vai arī nezinām arhīva formāts un tad modulis jāielādē un jāinstalē tev pašam.'; -$lang['error_copy'] = 'Faila kopēšanas kļūda instalējot moduli<em>%s</em>: disks pārpildīts vai aplamas piekļuves tiesības. Rezultātā var iegūt daļēji instalētu moduli un nestabilu Wiki sistēmu.'; -$lang['error_delete'] = 'Kļūme dzēšot moduli <em>%s</em>. Ticamākais iemesls ir direktorijas pieejas tiesību trūkums. '; -$lang['enabled'] = 'Modulis %s pieslēgts.'; -$lang['notenabled'] = 'Moduli %s nevar pieslēgt, pārbaudi failu tiesības.'; -$lang['disabled'] = 'Modulis %s atslēgts.'; -$lang['notdisabled'] = 'Moduli %s nevar atslēgt, pārbaudi failu tiesības.'; -$lang['packageinstalled'] = 'Moduļu paka (pavisam kopā %d: %s) veiksmīgi uzstādīti.'; diff --git a/lib/plugins/plugin/lang/mk/lang.php b/lib/plugins/plugin/lang/mk/lang.php deleted file mode 100644 index 747d61638..000000000 --- a/lib/plugins/plugin/lang/mk/lang.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** - * Macedonian language file - * - * @author Dimitar Talevski <dimi3.14@gmail.com> - */ -$lang['menu'] = 'Уреди ги приклучоците'; -$lang['download'] = 'Симни и инсталирај нов приклучок'; -$lang['manage'] = 'Инсталирани приклучоци'; -$lang['btn_info'] = 'информации'; -$lang['btn_update'] = 'ажурирај'; -$lang['btn_delete'] = 'избриши'; -$lang['btn_settings'] = 'поставувања'; -$lang['btn_download'] = 'Симни'; -$lang['btn_enable'] = 'Зачувај'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Инсталирани:'; -$lang['lastupdate'] = 'Последно ажурирани:'; -$lang['source'] = 'Извор:'; -$lang['unknown'] = 'непознат'; -$lang['updating'] = 'Ажурирам...'; -$lang['updated'] = 'Приклучокот %s е успешно ажуриран'; -$lang['updates'] = 'Следниве приклучоци се успешно ажурирани'; -$lang['update_none'] = 'Нема потребни ажурирања.'; -$lang['deleting'] = 'Бришам...'; -$lang['deleted'] = 'Приклучокот %s е избришан.'; -$lang['downloading'] = 'Симнувам...'; -$lang['downloaded'] = 'Приклучокот %s е успешно инсталиран'; -$lang['downloads'] = 'Следниве приклучоци се успешно инсталирани'; -$lang['download_none'] = 'Нема пронајдени приклучоци, или имаше непознат проблем при симнување и инсталирање.'; -$lang['plugin'] = 'Приклучок:'; -$lang['components'] = 'Компоненти'; -$lang['noinfo'] = 'Овој приклучок не врати информации, може да не е валиден.'; -$lang['name'] = 'Име:'; -$lang['date'] = 'Датум:'; -$lang['type'] = 'Тип:'; -$lang['desc'] = 'Опис:'; -$lang['author'] = 'Автор:'; -$lang['www'] = 'Веб:'; -$lang['error'] = 'Се појави непозната грешка.'; -$lang['error_download'] = 'Не сум во можност да ја симнам датотеката за приклучокот: %s'; -$lang['enabled'] = 'Приклучокот %s е овозможен.'; -$lang['disabled'] = 'Приклучокот %s е оневозможен.'; diff --git a/lib/plugins/plugin/lang/mr/admin_plugin.txt b/lib/plugins/plugin/lang/mr/admin_plugin.txt deleted file mode 100644 index a925a560f..000000000 --- a/lib/plugins/plugin/lang/mr/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== प्लगिन व्यवस्थापन ====== - -या पानावर तुम्ही डॉक्युविकि [[doku>plugins|प्लगिन]] च्या सर्व बाबींची व्यवस्था लावू शकता. -प्लगिन डाउनलोड व इन्स्टॉल करण्यासाठी तुमच्या प्लगिन फोल्डरवर तुमच्या वेबसर्वरला लेखनाची परवानगी असली पाहिजे.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/mr/lang.php b/lib/plugins/plugin/lang/mr/lang.php deleted file mode 100644 index 3f81739fa..000000000 --- a/lib/plugins/plugin/lang/mr/lang.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Marathi language file - * - * @author ghatothkach@hotmail.com - * @author Padmanabh Kulkarni <kulkarnipadmanabh@gmail.com> - * @author Padmanabh Kulkarni<kulkarnipadmanabh@gmail.com> - * @author shantanoo@gmail.com - */ -$lang['menu'] = 'प्लगिनची व्यवस्था लावा'; -$lang['download'] = 'नवीन प्लगिन डाउनलोड करून इन्स्टॉल करा'; -$lang['manage'] = 'इन्स्टॉल केलेले प्लगिन'; -$lang['btn_info'] = 'माहिती'; -$lang['btn_update'] = 'अद्ययावत'; -$lang['btn_delete'] = 'डिलीट'; -$lang['btn_settings'] = 'सेटिंग'; -$lang['btn_download'] = 'डाउनलोड'; -$lang['btn_enable'] = 'सुरक्षित'; -$lang['url'] = 'URL'; -$lang['installed'] = 'इन्स्टॉलची वेळ :'; -$lang['lastupdate'] = 'शेवटच्या बदलाची वेळ :'; -$lang['source'] = 'स्त्रोत :'; -$lang['unknown'] = 'अगम्य'; -$lang['updating'] = 'अद्ययावत करतोय ...'; -$lang['updated'] = 'प्लगिन %s यशास्विरित्य अद्ययावत केला.'; -$lang['updates'] = 'खालील प्लगिन यशस्वीरीत्या अद्ययावत झाले'; -$lang['update_none'] = 'काही बदल मिळाले नाहीत.'; -$lang['deleting'] = 'डिलीट करतोय ...'; -$lang['deleted'] = '%s प्लगिन डिलीट केला.'; -$lang['downloading'] = 'डाउनलोड करतोय ...'; -$lang['downloaded'] = '%s प्लगिन यशस्वीरीत्या इन्स्टॉल झाला.'; -$lang['downloads'] = 'खालील प्लगिन यशस्वीरीत्या इन्स्टॉल झाले : '; -$lang['download_none'] = 'एकही प्लगिन मिळाला नाही, किंवा डाउनलोड आणि इन्स्टॉल मधे काही अज्ञात अडचण आली असावी.'; -$lang['plugin'] = 'प्लगिन : '; -$lang['components'] = 'भाग : '; -$lang['noinfo'] = 'या प्लगिनने काही माहिती दिली नाही. बहुधा हा अवैध असावा.'; -$lang['name'] = 'नाव :'; -$lang['date'] = 'दिनांक :'; -$lang['type'] = 'टाइप : '; -$lang['desc'] = 'वर्णन : '; -$lang['author'] = 'लेखक : '; -$lang['www'] = 'वेब : '; -$lang['error'] = 'अज्ञात अडचण आली.'; -$lang['error_download'] = 'डाउनलोड न झालेली प्लगिन फाइल : %s'; -$lang['error_badurl'] = 'बहुधा चुकीचे URL - URL वरून फाइलचे नाव ठरवता आले नाही.'; -$lang['error_dircreate'] = 'डाउनलोड साठवण्यासाठी तात्पुरता फोल्डर तयार करू शकलो नाही'; -$lang['error_decompress'] = 'प्लगिन व्यवस्थापक डाउनलोड केलेली फाइल विस्तारित करू शकला नाही. हे कदाचित डाउनलोड नीट न झाल्यामुळे असावं; असे असल्यास तुमची परत डाउनलोड करण्याचा प्रयत्न करू शकता; किंवा प्लगिन संक्षिप्त करण्यास वापरलेली पद्धत अनाकलनीय आहे; तसे असल्यास तुम्हाला स्वतः प्लगिन डाउनलोड व इन्स्टॉल करावा लागेल.'; -$lang['error_copy'] = '<em>%s</em> प्लगिनसाठी फाइल इन्स्टॉल करताना फाइल कॉपी करू शकलो नाही : डिस्क भरली असेल किंवा फाइल वरील परवानग्या बरोबर नसतील. यामुळे प्लगिन अर्धवट इन्स्टॉल जाला असण्याची व त्यामुळे तुमची विकी ख़राब होण्याची शक्यता आहे.'; -$lang['error_delete'] = '<em>%s</em> प्लगिन डिलीट करताना काही चूक झाली आहे. फाइल किंवा डिरेक्टरी वरील परवानग्या बरोबर नसणे हे याचं मुख्य कारण असू शकतं.'; -$lang['enabled'] = '%s प्लगइन चालू केला.'; -$lang['notenabled'] = '%s प्लगइन चालू करू शकलो नाही, फाइलच्या परवानग्या तपासा.'; -$lang['disabled'] = '%s प्लगइन बंद केला.'; -$lang['notdisabled'] = '%s प्लगइन बंद करू शकलो नाही, फाइलच्या परवानग्या तपासा.'; diff --git a/lib/plugins/plugin/lang/ms/lang.php b/lib/plugins/plugin/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/plugin/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/plugin/lang/ne/lang.php b/lib/plugins/plugin/lang/ne/lang.php deleted file mode 100644 index 94e7b8089..000000000 --- a/lib/plugins/plugin/lang/ne/lang.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Saroj Kumar Dhakal <lotusnagarkot@gmail.com> - * @author SarojKumar Dhakal <lotusnagarkot@yahoo.com> - * @author Saroj Dhakal<lotusnagarkot@yahoo.com> - */ -$lang['menu'] = 'प्लगिन व्यवस्थापन गर्नुहोस।'; -$lang['download'] = 'नयाँ प्लगिन डाउनलोड गरी स्थापना गर्नुहोस्'; -$lang['manage'] = 'स्थापित प्लगिनहरु'; -$lang['btn_info'] = 'जानकारी'; -$lang['btn_update'] = 'अध्यावधिक गर्नुहोस'; -$lang['btn_delete'] = 'मेटाउनुहोस्'; -$lang['btn_settings'] = 'व्यवस्थापन'; -$lang['btn_download'] = 'डाउनलोड गर्नुहोस्'; -$lang['btn_enable'] = 'वचत गर्नुहोस्'; -$lang['url'] = 'URL'; -$lang['installed'] = 'स्थापित'; -$lang['lastupdate'] = 'अन्तिम अध्यावधिक :'; -$lang['source'] = 'स्रोत:'; -$lang['unknown'] = 'थाह नभएको'; -$lang['updating'] = 'अध्यावधिक गर्दै......'; -$lang['updated'] = 'प्लगिन %s सफलतापूर्वक अध्यावधिक भयो '; -$lang['updates'] = 'निम्न प्लगिनहरु सफलतापूर्वक अध्यावधिक भए।'; -$lang['update_none'] = 'कुनै पनि अध्यावधिकम भेटिएन ।'; -$lang['deleting'] = 'हटाउदै ......'; -$lang['deleted'] = 'प्लगिन %s हटाइयो ।'; -$lang['downloading'] = 'डाउनलोड गर्दै ........'; -$lang['downloaded'] = 'प्लगिन %s सफलतापूर्वक स्थापित भयो '; -$lang['downloads'] = 'निम्न प्लगिनहरु सफलतापूर्वक स्थापित भए'; -$lang['download_none'] = 'कुनै पनि प्लगइन भेटिएन, या डाउनलोड गर्दा र स्थापना गर्दा त्रुटि भयो ।'; -$lang['plugin'] = 'प्लगिन:'; -$lang['components'] = 'पुर्जाहरु '; -$lang['noinfo'] = 'यो प्लगइनले कुनै पनि जनाकारी दिएन , यो अमान्य हुनसक्छ ।'; -$lang['name'] = 'नाम:'; -$lang['date'] = 'मिति:'; -$lang['type'] = 'प्रकार :'; -$lang['desc'] = 'जानकारी:'; -$lang['author'] = 'जारीकर्ता:'; -$lang['www'] = 'वेब:'; -$lang['error'] = 'अज्ञात त्रुटि फेला पर्यो ।'; -$lang['error_download'] = 'प्लहइन फाइल: %s डाउनलोड गर्न असमर्थ ।'; -$lang['error_badurl'] = 'शंकास्पद खराब url - Url बाट फाइल नाम निश्चित गर्न असमर्थ ।'; -$lang['error_dircreate'] = 'डाउनलोड प्राप्त गर्नको निमि्त्त अस्थाइ फोल्डर निर्माण गर्न असमर्थ ।'; diff --git a/lib/plugins/plugin/lang/nl/admin_plugin.txt b/lib/plugins/plugin/lang/nl/admin_plugin.txt deleted file mode 100644 index 36731b0b0..000000000 --- a/lib/plugins/plugin/lang/nl/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -===== Pluginmanager ===== - -Op deze pagina kunt u alle DokuWiki [[doku>plugins|plugins]] beheren. Om plugins te kunnen downloaden en installeren, moet de plugin-directory schrijfbaar zijn voor de webserver.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/nl/lang.php b/lib/plugins/plugin/lang/nl/lang.php deleted file mode 100644 index 2836c7030..000000000 --- a/lib/plugins/plugin/lang/nl/lang.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Wouter Schoot <wouter@schoot.org> - * @author John de Graaff <john@de-graaff.net> - * @author Niels Schoot <niels.schoot@quintiq.com> - * @author Dion Nicolaas <dion@nicolaas.net> - * @author Danny Rotsaert <danny.rotsaert@edpnet.be> - * @author Marijn Hofstra hofstra.m@gmail.com - * @author Matthias Carchon webmaster@c-mattic.be - * @author Marijn Hofstra <hofstra.m@gmail.com> - * @author Timon Van Overveldt <timonvo@gmail.com> - * @author Jeroen - * @author Ricardo Guijt <ricardoguijt@gmail.com> - * @author Gerrit <klapinklapin@gmail.com> - * @author Remon <no@email.local> - */ -$lang['menu'] = 'Plugins beheren'; -$lang['download'] = 'Download en installeer een nieuwe plugin'; -$lang['manage'] = 'Geïnstalleerde plugins'; -$lang['btn_info'] = 'informatie'; -$lang['btn_update'] = 'bijwerken'; -$lang['btn_delete'] = 'verwijderen'; -$lang['btn_settings'] = 'instellingen'; -$lang['btn_download'] = 'Download'; -$lang['btn_enable'] = 'Opslaan'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Geïnstalleerd:'; -$lang['lastupdate'] = 'Laatst bijgewerkt:'; -$lang['source'] = 'Bron:'; -$lang['unknown'] = 'onbekend'; -$lang['updating'] = 'Bijwerken ...'; -$lang['updated'] = 'Plugin %s succesvol bijgewerkt'; -$lang['updates'] = 'De volgende plugins zijn succesvol bijgewerkt'; -$lang['update_none'] = 'Geen updates gevonden.'; -$lang['deleting'] = 'Verwijderen ...'; -$lang['deleted'] = 'Plugin %s verwijderd.'; -$lang['downloading'] = 'Bezig met downloaden ...'; -$lang['downloaded'] = 'Plugin %s succesvol geïnstalleerd'; -$lang['downloads'] = 'De volgende plugins zijn succesvol geïnstalleerd:'; -$lang['download_none'] = 'Geen plugins gevonden, of er is een onbekende fout opgetreden tijdens het downloaden en installeren.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Onderdelen'; -$lang['noinfo'] = 'Deze plugin gaf geen informatie terug, misschien is hij defect.'; -$lang['name'] = 'Naam:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Type:'; -$lang['desc'] = 'Omschrijving:'; -$lang['author'] = 'Auteur:'; -$lang['www'] = 'Weblocatie:'; -$lang['error'] = 'Er is een onbekende fout opgetreden.'; -$lang['error_download'] = 'Kan het volgende plugin bestand niet downloaden: %s'; -$lang['error_badurl'] = 'Vermoedelijk onjuiste url - kan de bestandsnaam niet uit de url afleiden'; -$lang['error_dircreate'] = 'Kan geen tijdelijke directory aanmaken voor de download'; -$lang['error_decompress'] = 'De pluginmanager kan het gedownloade bestand niet uitpakken. Dit kan het resultaat zijn van een mislukte download: probeer het opnieuw; of het compressieformaat is onbekend: in dat geval moet je de plugin handmatig downloaden en installeren.'; -$lang['error_copy'] = 'Er was een probleem met het kopiëren van een bestand tijdens de installatie van plugin <em>%s</em>: de schijf kan vol zijn of onjuiste toegangsrechten hebben. Dit kan tot gevolg hebben dat de plugin slechts gedeeltelijk geïnstalleerd is en kan de wiki onstabiel maken.'; -$lang['error_delete'] = 'Er is een probleem opgetreden tijdens het verwijderen van plugin <em>%s</em>. De meest voorkomende oorzaak is onjuiste toegangsrechten op bestanden of directory\'s.'; -$lang['enabled'] = 'Plugin %s ingeschakeld.'; -$lang['notenabled'] = 'Plugin %s kon niet worden ingeschakeld, controleer bestandsrechten.'; -$lang['disabled'] = 'Plugin %s uitgeschakeld.'; -$lang['notdisabled'] = 'Plugin %s kon niet worden uitgeschakeld, controleer bestandsrechten.'; -$lang['packageinstalled'] = 'Plugin package (%d plugin(s): %s) succesvol geïnstalleerd.'; diff --git a/lib/plugins/plugin/lang/no/admin_plugin.txt b/lib/plugins/plugin/lang/no/admin_plugin.txt deleted file mode 100644 index 1765b671d..000000000 --- a/lib/plugins/plugin/lang/no/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Behandle programtillegg ====== - -På denne siden kan du behandle alt som har å gjøre med DokuWikis [[doku>plugins|tillegg]]. For å kunne laste ned og installere et tillegg må webserveren ha skrivetilgang til mappen for tillegg. diff --git a/lib/plugins/plugin/lang/no/lang.php b/lib/plugins/plugin/lang/no/lang.php deleted file mode 100644 index 2b890f972..000000000 --- a/lib/plugins/plugin/lang/no/lang.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Thomas Nygreen <nygreen@gmail.com> - * @author Arild Burud <arildb@met.no> - * @author Torkill Bruland <torkar-b@online.no> - * @author Rune M. Andersen <rune.andersen@gmail.com> - * @author Jakob Vad Nielsen (me@jakobnielsen.net) - * @author Kjell Tore Næsgaard <kjell.t.nasgaard@ntnu.no> - * @author Knut Staring <knutst@gmail.com> - * @author Lisa Ditlefsen <lisa@vervesearch.com> - * @author Erik Pedersen <erik.pedersen@shaw.ca> - * @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca> - * @author Rune Rasmussen syntaxerror.no@gmail.com - * @author Jon Bøe <jonmagneboe@hotmail.com> - * @author Egil Hansen <egil@rosetta.no> - */ -$lang['menu'] = 'Behandle programtillegg'; -$lang['download'] = 'Last ned og installer et programtillegg'; -$lang['manage'] = 'Installerte programtillegg'; -$lang['btn_info'] = 'informasjon'; -$lang['btn_update'] = 'oppdater'; -$lang['btn_delete'] = 'slett'; -$lang['btn_settings'] = 'innstillinger'; -$lang['btn_download'] = 'Last ned'; -$lang['btn_enable'] = 'Lagre'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Installert:'; -$lang['lastupdate'] = 'Sist oppdatert:'; -$lang['source'] = 'Kilde:'; -$lang['unknown'] = 'ukjent'; -$lang['updating'] = 'Oppdaterer ...'; -$lang['updated'] = 'Tillegget %s er oppdatert'; -$lang['updates'] = 'Følgende programtillegg har blitt oppdatert'; -$lang['update_none'] = 'Ingen oppdateringer funnet.'; -$lang['deleting'] = 'Sletter ...'; -$lang['deleted'] = 'Tillegget %s ble slettet.'; -$lang['downloading'] = 'Laster ned ...'; -$lang['downloaded'] = 'Tillegget %s ble installert'; -$lang['downloads'] = 'De følgende tilleggene ble installert'; -$lang['download_none'] = 'Ingen tillegg funnet, eller det har vært et ukjent problem under nedlasting og installering.'; -$lang['plugin'] = 'Tillegg:'; -$lang['components'] = 'Komponenter'; -$lang['noinfo'] = 'Tillegget ga ikke noe informasjon. Det kan være ugyldig.'; -$lang['name'] = 'Navn:'; -$lang['date'] = 'Dato:'; -$lang['type'] = 'Type:'; -$lang['desc'] = 'Beskrivelse:'; -$lang['author'] = 'Forfatter:'; -$lang['www'] = 'Nett:'; -$lang['error'] = 'En ukjent feil oppstod.'; -$lang['error_download'] = 'Klarte ikke å laste ned tillegget i filen: %s'; -$lang['error_badurl'] = 'Mistenker feil URL - klarte ikke å finne filnavnet i URLen'; -$lang['error_dircreate'] = 'Klarte ikke å lage en midlertidig mappe for å laste ned'; -$lang['error_decompress'] = 'Tilleggsbehandleren klarte ikke å dekomprimere den nedlastede filen. Dette kan være på grunn av en feilet nedlasting, i så fall bør du prøve igjen, eller kompresjonsformatet kan være ukjent, i så fall må du laste ned og installere tillegget manuelt.'; -$lang['error_copy'] = 'Det skjedde en feil ved kopiering av en fil under installasjonen av <em>%s</em>: disken kan være full eller rettighetene satt feil. Dette kan ha ført til et delvist installert tillegg og gjort wikien ubrukelig.'; -$lang['error_delete'] = 'Det skjedde en feil under forsøket på å slette tillegget <em>%s</em>. Den mest sannsynlige grunnen er utilstrekkelige rettigheter for filene eller mappene.'; -$lang['enabled'] = 'Tillegget %s aktivert'; -$lang['notenabled'] = 'Plugin %s kunne ikke aktiveres, sjekk filrettighetene.'; -$lang['disabled'] = 'Plugin %s deaktivert'; -$lang['notdisabled'] = 'Plugin %s kunne ikke deaktiveres, sjekk filrettighetene.'; -$lang['packageinstalled'] = 'Installasjonen av tilleggspakka (%d tillegg: %s) var vellykka'; diff --git a/lib/plugins/plugin/lang/pl/admin_plugin.txt b/lib/plugins/plugin/lang/pl/admin_plugin.txt deleted file mode 100644 index f01048198..000000000 --- a/lib/plugins/plugin/lang/pl/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Menadżer wtyczek ====== - -Na tej stronie możesz zarządzać wszystkim co jest związane z [[doku>plugins|wtyczkami]] Dokuwiki. Aby móc ściągnąć i zainstalować wtyczkę, serwer WWW musi mieć prawo do zapisu w katalogu ''plugins''. - - diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php deleted file mode 100644 index eae91f33e..000000000 --- a/lib/plugins/plugin/lang/pl/lang.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Michał Tkacz <mehow@autocom.pl> - * @author Grzegorz Żur <grzegorz.zur@gmail.com> - * @author Mariusz Kujawski <marinespl@gmail.com> - * @author Maciej Kurczewski <pipijajko@gmail.com> - * @author Sławomir Boczek <slawkens@gmail.com> - * @author sleshek@wp.pl - * @author Leszek Stachowski <shazarre@gmail.com> - * @author maros <dobrimaros@yahoo.pl> - * @author Grzegorz Widła <dzesdzes@gmail.com> - * @author Łukasz Chmaj <teachmeter@gmail.com> - * @author Begina Felicysym <begina.felicysym@wp.eu> - * @author Aoi Karasu <aoikarasu@gmail.com> - */ -$lang['menu'] = 'Menadżer wtyczek'; -$lang['download'] = 'Ściągnij i zainstaluj nową wtyczkę'; -$lang['manage'] = 'Zainstalowane Wtyczki'; -$lang['btn_info'] = 'Informacje'; -$lang['btn_update'] = 'Aktualizuj'; -$lang['btn_delete'] = 'Usuń'; -$lang['btn_settings'] = 'Ustawienia'; -$lang['btn_download'] = 'Pobierz'; -$lang['btn_enable'] = 'Zapisz'; -$lang['url'] = 'Adres URL'; -$lang['installed'] = 'Instalacja:'; -$lang['lastupdate'] = 'Ostatnio zaktualizowana:'; -$lang['source'] = 'Źródło:'; -$lang['unknown'] = 'nieznane'; -$lang['updating'] = 'Aktualizuję...'; -$lang['updated'] = 'Aktualizacja wtyczki %s pomyślnie ściągnięta'; -$lang['updates'] = 'Aktualizacje następujących wtyczek zostały pomyślnie ściągnięte'; -$lang['update_none'] = 'Nie znaleziono aktualizacji.'; -$lang['deleting'] = 'Usuwam...'; -$lang['deleted'] = 'Wtyczka %s usunięta.'; -$lang['downloading'] = 'Pobieram...'; -$lang['downloaded'] = 'Wtyczka %s pomyślnie zainstalowana'; -$lang['downloads'] = 'Następujące wtyczki zostały pomyślnie zainstalowane:'; -$lang['download_none'] = 'Nie znaleziono wtyczek lub wystąpił nieznany problem podczas ściągania i instalacji.'; -$lang['plugin'] = 'Wtyczka:'; -$lang['components'] = 'Składniki'; -$lang['noinfo'] = 'Ta wtyczka nie zwróciła żadnych informacji, może być niepoprawna.'; -$lang['name'] = 'Nazwa:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Opis:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'WWW:'; -$lang['error'] = 'Wystąpił nieznany błąd.'; -$lang['error_download'] = 'Nie powiodło się ściągnięcie pliku wtyczki: %s'; -$lang['error_badurl'] = 'Prawdopodobnie zły url - nie da się ustalić nazwy pliku na podstawie urla'; -$lang['error_dircreate'] = 'Nie powiodło się stworzenie tymczasowego katalogu na pobrane pliki'; -$lang['error_decompress'] = 'Menadżer wtyczek nie był w stanie rozpakować ściągniętego pliku. Może to być spowodowane przez nieudany transfer (w takim przypadku powinieneś spróbować ponownie) lub nieznany format kompresji (w takim przypadku będziesz musiał ściągnąć i zainstalować wtyczkę ręcznie).'; -$lang['error_copy'] = 'Wystąpił błąd podczas kopiowania pliku w trakcie instalacji wtyczki %s: być może dysk jest pełny lub prawa dostępu są niepoprawne. Efektem może być częściowo zainstalowana wtyczka co może spowodować niestabilność Twojej instalacji wiki.'; -$lang['error_delete'] = 'Wystąpił błąd przy próbie usunięcia wtyczki <em>%s</em>. Prawdopodobną przyczyną są niewystarczające uprawnienia do katalogu.'; -$lang['enabled'] = 'Wtyczka %s włączona.'; -$lang['notenabled'] = 'Nie udało się uruchomić wtyczki %s, sprawdź uprawnienia dostępu do plików.'; -$lang['disabled'] = 'Wtyczka %s wyłączona.'; -$lang['notdisabled'] = 'Nie udało się wyłączyć wtyczki %s, sprawdź uprawnienia dostępu do plików.'; -$lang['packageinstalled'] = 'Pakiet wtyczek (%d wtyczki: %s) zainstalowany pomyślnie.'; diff --git a/lib/plugins/plugin/lang/pt-br/admin_plugin.txt b/lib/plugins/plugin/lang/pt-br/admin_plugin.txt deleted file mode 100644 index 9e49f5136..000000000 --- a/lib/plugins/plugin/lang/pt-br/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Gerenciamento de Plug-ins ====== - -Nesta página você pode gerenciar tudo relacionado aos [[doku>plugins|plug-ins]] do DokuWiki. Para você baixar e instalar um plug-in o servidor web deve ter permissão de escrita na pasta onde ficam os plug-ins. diff --git a/lib/plugins/plugin/lang/pt-br/lang.php b/lib/plugins/plugin/lang/pt-br/lang.php deleted file mode 100644 index c025188f3..000000000 --- a/lib/plugins/plugin/lang/pt-br/lang.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> - * @author Felipe Castro <fefcas@gmail.com> - * @author Lucien Raven <lucienraven@yahoo.com.br> - * @author Enrico Nicoletto <liverig@gmail.com> - * @author Flávio Veras <flaviove@gmail.com> - * @author Jeferson Propheta <jeferson.propheta@gmail.com> - * @author jair.henrique@gmail.com - * @author Luis Dantas <luis@dantas.com> - * @author Frederico Guimarães <frederico@teia.bio.br> - * @author Jair Henrique <jair.henrique@gmail.com> - * @author Luis Dantas <luisdantas@gmail.com> - * @author Sergio Motta sergio@cisne.com.br - * @author Isaias Masiero Filho <masiero@masiero.org> - * @author Balaco Baco <balacobaco@imap.cc> - * @author Victor Westmann <victor.westmann@gmail.com> - */ -$lang['menu'] = 'Gerenciar Plug-ins'; -$lang['download'] = 'Baixar e instalar um novo plug-in'; -$lang['manage'] = 'Plug-ins instalados'; -$lang['btn_info'] = 'informações'; -$lang['btn_update'] = 'atualizar'; -$lang['btn_delete'] = 'excluir'; -$lang['btn_settings'] = 'configurações'; -$lang['btn_download'] = 'Baixar'; -$lang['btn_enable'] = 'Salvar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalação:'; -$lang['lastupdate'] = 'Última atualização:'; -$lang['source'] = 'Fonte:'; -$lang['unknown'] = 'desconhecida'; -$lang['updating'] = 'Atualizando...'; -$lang['updated'] = 'O plug-in %s foi atualizado com sucesso'; -$lang['updates'] = 'Os seguintes plug-ins foram atualizados com sucesso'; -$lang['update_none'] = 'Não foi encontrada nenhuma atualização.'; -$lang['deleting'] = 'Excluindo...'; -$lang['deleted'] = 'O plug-in %s foi excluído.'; -$lang['downloading'] = 'Baixando...'; -$lang['downloaded'] = 'O plug-in %s foi instalado com sucesso'; -$lang['downloads'] = 'Os seguintes plug-ins foram instalados com sucesso:'; -$lang['download_none'] = 'O plug-in não foi encontrado ou então ocorreu um problema desconhecido durante a transferência e instalação.'; -$lang['plugin'] = 'Plug-in:'; -$lang['components'] = 'Componentes'; -$lang['noinfo'] = 'Esse plug-in não retornou nenhuma informação. Ele pode ser inválido.'; -$lang['name'] = 'Nome:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Descrição:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ocorreu um erro desconhecido.'; -$lang['error_download'] = 'Não foi possível baixar o arquivo de plug-in: %s'; -$lang['error_badurl'] = 'Suspeita de URL mal formatada - não foi possível determinar o nome do arquivo a partir da URL'; -$lang['error_dircreate'] = 'Não foi possível criar a pasta temporária para receber a transferência'; -$lang['error_decompress'] = 'O gerenciador de plug-ins não conseguiu descompactar o arquivo transferido. Isso pode ser resultado de: uma corrupção do arquivo durante a transferência, nesse caso, você deve tentar novamente; ou o formato da compactação pode ser desconhecido, nesse caso você deve transferir e instalar o plug-in manualmente.'; -$lang['error_copy'] = 'Ocorreu um erro de cópia de arquivo na tentativa de instalar o plug-in <em>%s</em>: o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar erradas. Isso pode resultar em um plug-in parcialmente instalado e tornar o seu wiki instável.'; -$lang['error_delete'] = 'Ocorreu um erro na tentativa de excluir o plug-in <em>%s</em>. A causa mais provável é a permissão de acesso insuficiente ao diretório ou ao arquivo.'; -$lang['enabled'] = 'O plug-in %s foi habilitado.'; -$lang['notenabled'] = 'Não foi possível habilitar o plug-in %s. Verifique as permissões de acesso.'; -$lang['disabled'] = 'O plug-in %s foi desabilitado.'; -$lang['notdisabled'] = 'Não foi possível desabilitar o plug-in %s. Verifique as permissões de acesso.'; -$lang['packageinstalled'] = 'O pacote do plugin (%d plugin(s): %s) foi instalado com sucesso.'; diff --git a/lib/plugins/plugin/lang/pt/admin_plugin.txt b/lib/plugins/plugin/lang/pt/admin_plugin.txt deleted file mode 100644 index 2cc470193..000000000 --- a/lib/plugins/plugin/lang/pt/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Gestor de Plugins ====== - -Nesta página pode gerir tudo o que tenha a haver com [[doku>plugins|plugins]] DokuWiki. Atenção que a pasta que contém os plugins precisa de ter permissões de escrita para se poder efectuar o download.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/pt/lang.php b/lib/plugins/plugin/lang/pt/lang.php deleted file mode 100644 index aa6b2e2ec..000000000 --- a/lib/plugins/plugin/lang/pt/lang.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> - * @author Enrico Nicoletto <liverig@gmail.com> - * @author Fil <fil@meteopt.com> - * @author André Neves <drakferion@gmail.com> - * @author José Campos zecarlosdecampos@gmail.com - */ -$lang['menu'] = 'Gerir Plugins'; -$lang['download'] = 'Descarregar e instalar um novo plugin'; -$lang['manage'] = 'Plugins Instalados'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualizar'; -$lang['btn_delete'] = 'remover'; -$lang['btn_settings'] = 'configurações'; -$lang['btn_download'] = 'Descarregar'; -$lang['btn_enable'] = 'Guardar'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalado em:'; -$lang['lastupdate'] = 'Actualizado em:'; -$lang['source'] = 'Fonte:'; -$lang['unknown'] = 'desconhecida'; -$lang['updating'] = 'Actualizando ...'; -$lang['updated'] = 'Plugin %s actualizado com sucesso.'; -$lang['updates'] = 'Os seguintes plguins foram actualizados com sucesso:'; -$lang['update_none'] = 'Não foram encontradas actualizações.'; -$lang['deleting'] = 'Removendo ...'; -$lang['deleted'] = 'Plugin %s removido.'; -$lang['downloading'] = 'Descarregando ...'; -$lang['downloaded'] = 'Plugin %s instalado com sucesso.'; -$lang['downloads'] = 'Os seguintes plguins foram instalados com sucesso:'; -$lang['download_none'] = 'Nenhum plugin encontrado ou ocorreu um problema ao descarregar ou instalar.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Componentes'; -$lang['noinfo'] = 'Este plugin não retornou qualquer informação, pode estar inválido.'; -$lang['name'] = 'Nome:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipo:'; -$lang['desc'] = 'Descrição:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Sítio:'; -$lang['error'] = 'Ocorreu um erro desconhecido.'; -$lang['error_download'] = 'Impossível descarregar o ficheiro do plugin: %s'; -$lang['error_badurl'] = 'URL suspeito ou errado - impossível determinar o ficheiro a partir do URL'; -$lang['error_dircreate'] = 'Impossível criar pasta temporária para receber os ficheiros a descarregar'; -$lang['error_decompress'] = 'O gestor de plugins foi incapaz de descomprimir o ficheiro transferido. Isto pode ter sido causado por uma má transferência, caso no qual você deverá tentar de novo, ou por um formato de compressão desconhecido, caso no qual você deve instalar o plugin manualmente.'; -$lang['error_copy'] = 'Ocorreu um erro na cópia do ficheiro na tentativa de instalar o plugin <em>%s</em>: o disco pode estar cheio ou as permissões de acesso do ficheiro podem estar erradas. Isto pode resultar em um plugin parcialmente instalado e deixar a instalação do seu wiki instável.'; -$lang['error_delete'] = 'Ocorreu um erro na tentativa de remover o plug-in <em>%s</em>. A causa mais provável é a permissão de acesso à directoria ou ao ficheiro insuficiente.'; -$lang['enabled'] = 'Plugin %s habilitado.'; -$lang['notenabled'] = 'Plugin %s não pôde ser habilitado, verifique as permissões.'; -$lang['disabled'] = 'Plugin %s desabilitado.'; -$lang['notdisabled'] = 'Plugin %s não pôde ser desabilitado, verifique as permissões.'; -$lang['packageinstalled'] = 'Pacote de Plugins (%d plugin(s): %s) instalado com sucesso.'; diff --git a/lib/plugins/plugin/lang/ro/admin_plugin.txt b/lib/plugins/plugin/lang/ro/admin_plugin.txt deleted file mode 100644 index a2956e45d..000000000 --- a/lib/plugins/plugin/lang/ro/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Managementul Plugin-urilor ====== - -In această pagină puteţi administra orice [[doku>plugins|plugin]] Dokuwiki. Pentru a descărca şi instala un plugin, directorul acestora trebuie să ofere webserver-ului acces la scriere. diff --git a/lib/plugins/plugin/lang/ro/lang.php b/lib/plugins/plugin/lang/ro/lang.php deleted file mode 100644 index c57647e0b..000000000 --- a/lib/plugins/plugin/lang/ro/lang.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php -/** - * Romanian language file - * - * @author Sergiu Baltariu <s_baltariu@yahoo.com> - * @author s_baltariu@yahoo.com - * @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro> - * @author Emanuel-Emeric Andrași <n30@mandrivausers.ro> - * @author Emanuel-Emeric Andraşi <em.andrasi@mandrivausers.ro> - * @author Emanuel-Emeric Andrasi <em.andrasi@mandrivausers.ro> - * @author Marius OLAR <olarmariusalex@gmail.com> - * @author Marius Olar <olarmariusalex@yahoo.com> - * @author Emanuel-Emeric Andrași <em.andrasi@mandrivausers.ro> - */ -$lang['menu'] = 'Administrează plugin-uri'; -$lang['download'] = 'Descarcă şi instalează un nou plugin'; -$lang['manage'] = 'Plugin-uri instalate'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'actualizare'; -$lang['btn_delete'] = 'ştergere'; -$lang['btn_settings'] = 'setări'; -$lang['btn_download'] = 'Descarcă'; -$lang['btn_enable'] = 'Salvează'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Instalat:'; -$lang['lastupdate'] = 'Ultima actualizare:'; -$lang['source'] = 'Sursa:'; -$lang['unknown'] = 'necunoscut'; -$lang['updating'] = 'Se actualizează ...'; -$lang['updated'] = 'Plugin-ul %s a fost actualizat cu succes'; -$lang['updates'] = 'Următoarele plugin-uri au fost actualizate cu succes'; -$lang['update_none'] = 'Nu a fost găsită nici o actualizare.'; -$lang['deleting'] = 'Se şterge ...'; -$lang['deleted'] = 'Plugin-ul %s a fost şters.'; -$lang['downloading'] = 'Se descarcă ...'; -$lang['downloaded'] = 'Plugin-ul %s a fost instalat cu succes'; -$lang['downloads'] = 'Următoarele plugin-uri au fost instalate cu succes'; -$lang['download_none'] = 'Nici un plugin nu a fost găsit, sau o problemă necunoscută a apărut în timpul descărcării şi instalării.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Componente'; -$lang['noinfo'] = 'Acest plugin nu a furnizat nici o informaţie; ar putea fi invalid.'; -$lang['name'] = 'Nume:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tip:'; -$lang['desc'] = 'Descriere:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'A intervenit o eroare necunoscută.'; -$lang['error_download'] = 'Nu a fost posibilă descărcarea plugin-ului: %s'; -$lang['error_badurl'] = 'url suspectat ca fiind eronat - nu a putut fi determinat numele fişierului din url'; -$lang['error_dircreate'] = 'Nu a putut fi creat directorul temporar pentru descărcarea fişierului'; -$lang['error_decompress'] = 'Administratorul de plugin-uri nu a putut dezarhiva fişierul descărcat. Aceasta se poate datora unei erori la descărcare, caz în care trebuie să încercaţi din nou; sau formatul de arhivare este necunoscut, caz în care va trebui să descărcaţi şi să instalaţi plugin-ul manual.'; -$lang['error_copy'] = 'O eroare la copiere a apărut la instalarea fişierelor plugin-ului <em>%s</em>: discul poate fi plin sau drepturile de acces ale fişierelor sunt incorecte. Aceasta poate avea ca rezultat o instalare parţială a plugin-ului şi o instabilitate a instalării wiki.'; -$lang['error_delete'] = 'O eroare a apărut la ştergerea plugin-ului <em>%s</em>. Cea mai probabilă cauză sunt drepturile de acces insuficiente ale fişierului sau directorului.'; -$lang['enabled'] = 'Plugin %s activat.'; -$lang['notenabled'] = 'Plugin-ul %s nu poate fi activat, verificaţi permisiunile fişierului.'; -$lang['disabled'] = 'Plugin %s dezactivat.'; -$lang['notdisabled'] = 'Plugin-ul %s nu poate fi dezactivat, verificaţi permisiunile fişierului.'; -$lang['packageinstalled'] = 'Pachet modul (%d modul(e): %s) instalat cu succes.'; diff --git a/lib/plugins/plugin/lang/ru/admin_plugin.txt b/lib/plugins/plugin/lang/ru/admin_plugin.txt deleted file mode 100644 index 3e00e4150..000000000 --- a/lib/plugins/plugin/lang/ru/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Управление плагинами ====== - -Здесь вы можете делать всё, что связано с [[doku>plugins|плагинами]] «ДокуВики». Для того, чтобы скачивать и устанавливать плагины, директория плагинов должна быть доступна для записи веб-сервером. - - diff --git a/lib/plugins/plugin/lang/ru/lang.php b/lib/plugins/plugin/lang/ru/lang.php deleted file mode 100644 index b933f7754..000000000 --- a/lib/plugins/plugin/lang/ru/lang.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Denis Simakov <akinoame1@gmail.com> - * @author Andrew Pleshakov <beotiger@mail.ru> - * @author Змей Этерийский evil_snake@eternion.ru - * @author Hikaru Nakajima <jisatsu@mail.ru> - * @author Alexei Tereschenko <alexeitlex@yahoo.com> - * @author Irina Ponomareva irinaponomareva@webperfectionist.com - * @author Alexander Sorkin <kibizoid@gmail.com> - * @author Kirill Krasnov <krasnovforum@gmail.com> - * @author Vlad Tsybenko <vlad.development@gmail.com> - * @author Aleksey Osadchiy <rfc@nm.ru> - * @author Aleksandr Selivanov <alexgearbox@gmail.com> - * @author Ladyko Andrey <fylh@succexy.spb.ru> - * @author Eugene <windy.wanderer@gmail.com> - * @author Johnny Utah <pcpa@cyberpunk.su> - * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) - */ -$lang['menu'] = 'Управление плагинами'; -$lang['download'] = 'Скачать и установить новый плагин'; -$lang['manage'] = 'Установленные плагины'; -$lang['btn_info'] = 'данные'; -$lang['btn_update'] = 'обновить'; -$lang['btn_delete'] = 'удалить'; -$lang['btn_settings'] = 'настройки'; -$lang['btn_download'] = 'Скачать'; -$lang['btn_enable'] = 'Сохранить'; -$lang['url'] = 'Адрес'; -$lang['installed'] = 'Установлен:'; -$lang['lastupdate'] = 'Последнее обновление:'; -$lang['source'] = 'Источник:'; -$lang['unknown'] = 'неизвестно'; -$lang['updating'] = 'Обновление...'; -$lang['updated'] = 'Плагин %s успешно обновлён'; -$lang['updates'] = 'Следующие плагины были успешно обновлены'; -$lang['update_none'] = 'Обновления не найдены.'; -$lang['deleting'] = 'Удаление...'; -$lang['deleted'] = 'Плагин %s удалён.'; -$lang['downloading'] = 'Скачивание...'; -$lang['downloaded'] = 'Плагин %s успешно установлен'; -$lang['downloads'] = 'Следующие плагины были успешно установлены:'; -$lang['download_none'] = 'Плагины не найдены или возникла неизвестная проблема в процессе скачивания и установки.'; -$lang['plugin'] = 'Плагин:'; -$lang['components'] = 'Компоненты'; -$lang['noinfo'] = 'Этот плагин не сообщил никаких данных, он может быть нерабочим.'; -$lang['name'] = 'Название:'; -$lang['date'] = 'Дата:'; -$lang['type'] = 'Тип:'; -$lang['desc'] = 'Описание:'; -$lang['author'] = 'Автор:'; -$lang['www'] = 'Страница:'; -$lang['error'] = 'Произошла неизвестная ошибка.'; -$lang['error_download'] = 'Не могу скачать файл плагина: %s'; -$lang['error_badurl'] = 'Возможно неправильный адрес — не могу определить имя файла из адреса'; -$lang['error_dircreate'] = 'Не могу создать временную директорию для скачивания'; -$lang['error_decompress'] = 'Менеджеру плагинов не удалось распаковать скачанный файл. Это может быть результатом ошибки при скачивании, в этом случае вы можете попробовать снова, или же плагин упакован неизвестным архиватором, тогда вам необходимо скачать и установить плагин вручную.'; -$lang['error_copy'] = 'Произошла ошибка копирования при попытке установки файлов для плагина <em>%s</em>: переполнение диска или неправильные права доступа. Это могло привести к частичной установке плагина и неустойчивости работы вашей вики.'; -$lang['error_delete'] = 'Произошла ошибка при попытке удалить плагин <em>%s</em>. Наиболее вероятно, что нет необходимых прав доступа к файлам или директориям'; -$lang['enabled'] = 'Плагин %s включен.'; -$lang['notenabled'] = 'Не удалось включить плагин %s. Проверьте системные права доступа к файлам.'; -$lang['disabled'] = 'Плагин %s отключен.'; -$lang['notdisabled'] = 'Не удалось отключить плагин %s. Проверьте системные права доступа к файлам.'; -$lang['packageinstalled'] = 'Пакет (%d плагин(а): %s) успешно установлен.'; diff --git a/lib/plugins/plugin/lang/sk/admin_plugin.txt b/lib/plugins/plugin/lang/sk/admin_plugin.txt deleted file mode 100644 index ad3ae7f58..000000000 --- a/lib/plugins/plugin/lang/sk/admin_plugin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Správa pluginov ====== - -Na tejto stránke je možné spravovať [[doku>plugins|pluginy]] Dokuwiki. Aby bolo možné sťahovať a inštalovať pluginy, musí mať webový server prístup pre zápis do adresára //plugin//. - diff --git a/lib/plugins/plugin/lang/sk/lang.php b/lib/plugins/plugin/lang/sk/lang.php deleted file mode 100644 index 35c07cf80..000000000 --- a/lib/plugins/plugin/lang/sk/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Ondrej Végh <ov@vsieti.sk> - * @author Michal Mesko <michal.mesko@gmail.com> - * @author exusik@gmail.com - * @author Martin Michalek <michalek.dev@gmail.com> - */ -$lang['menu'] = 'Správa pluginov'; -$lang['download'] = 'Stiahnuť a nainštalovať plugin'; -$lang['manage'] = 'Nainštalované pluginy'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'aktualizovať'; -$lang['btn_delete'] = 'zmazať'; -$lang['btn_settings'] = 'nastavenia'; -$lang['btn_download'] = 'Stiahnuť'; -$lang['btn_enable'] = 'Uložiť'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Nainštalovaný:'; -$lang['lastupdate'] = 'Aktualizovaný:'; -$lang['source'] = 'Zdroj:'; -$lang['unknown'] = 'neznámy'; -$lang['updating'] = 'Aktualizuje sa ...'; -$lang['updated'] = 'Plugin %s bol úspešne aktualizovaný'; -$lang['updates'] = 'Nasledujúce pluginy bol úspešne aktualizované:'; -$lang['update_none'] = 'Neboli nájdené žiadne aktualizácie.'; -$lang['deleting'] = 'Vymazáva sa ...'; -$lang['deleted'] = 'Plugin %s bol zmazaný.'; -$lang['downloading'] = 'Sťahuje sa ...'; -$lang['downloaded'] = 'Plugin %s bol úspešne stiahnutý'; -$lang['downloads'] = 'Nasledujúce pluginy bol úspešne stiahnuté:'; -$lang['download_none'] = 'Neboli nájdené žiadne pluginy alebo nastal neznámy problém počas sťahovania a inštalácie pluginov.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Súčasti'; -$lang['noinfo'] = 'Tento plugin neobsahuje žiadne informácie, je možné, že je chybný.'; -$lang['name'] = 'názov:'; -$lang['date'] = 'Dátum:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Popis:'; -$lang['author'] = 'Autor:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Nastala neznáma chyba.'; -$lang['error_download'] = 'Nie je možné stiahnuť súbor pluginu: %s'; -$lang['error_badurl'] = 'Pravdepodobne zlá url adresa - nie je možné z nej určiť meno súboru'; -$lang['error_dircreate'] = 'Nie je možné vytvoriť dočasný adresár pre uloženie sťahovaného súboru'; -$lang['error_decompress'] = 'Správca pluginov nedokáže dekomprimovať stiahnutý súbor. Môže to byť dôsledok zlého stiahnutia, v tom prípade to skúste znovu, alebo môže ísť o neznámy formát súboru, v tom prípade musíte stiahnuť a nainštalovať plugin manuálne.'; -$lang['error_copy'] = 'Nastala chyba kopírovania súboru počas pokusu inštalovať súbory pluginu<em>%s</em>: disk môže byť plný alebo prístupové práva k súboru môžu byť nesprávne. Toto môže mať za následok čiastočne nainštalovanie pluginu a nestabilitu vašej DokuWiki.'; -$lang['error_delete'] = 'Nastala chyba počas pokusu o zmazanie pluginu <em>%s</em>. Najpravdepodobnejším dôvodom môžu byť nedostatočné prístupové práva pre súbor alebo adresár'; -$lang['enabled'] = 'Plugin %s aktivovaný.'; -$lang['notenabled'] = 'Plugin %s nemôže byť aktivovaný, skontrolujte prístupové práva.'; -$lang['disabled'] = 'Plugin %s deaktivovaný.'; -$lang['notdisabled'] = 'Plugin %s nemôže byť deaktivovaný, skontrolujte prístupové práva.'; -$lang['packageinstalled'] = 'Plugin package (%d plugin(s): %s) úspešne inštalovaný.'; diff --git a/lib/plugins/plugin/lang/sl/admin_plugin.txt b/lib/plugins/plugin/lang/sl/admin_plugin.txt deleted file mode 100644 index 5fd02e1ba..000000000 --- a/lib/plugins/plugin/lang/sl/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Upravljanje vstavkov ====== - -Na tej strani je mogoče spreminjati in prilagajati nastavitve DokuWiki [[doku>plugins|vstavkov]]. Za prejemanje in nameščanje vstavkov v ustrezne mape, morajo imeti te določena ustrezna dovoljenja za pisanje spletnega strežnika. diff --git a/lib/plugins/plugin/lang/sl/lang.php b/lib/plugins/plugin/lang/sl/lang.php deleted file mode 100644 index e205c57f5..000000000 --- a/lib/plugins/plugin/lang/sl/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Dejan Levec <webphp@gmail.com> - * @author Boštjan Seničar <senicar@gmail.com> - * @author Gregor Skumavc (grega.skumavc@gmail.com) - * @author Matej Urbančič (mateju@svn.gnome.org) - */ -$lang['menu'] = 'Upravljanje vstavkov'; -$lang['download'] = 'Prejmi in namesti nov vstavek'; -$lang['manage'] = 'Nameščeni vstavki'; -$lang['btn_info'] = 'Podrobnosti'; -$lang['btn_update'] = 'Posodobi'; -$lang['btn_delete'] = 'Izbriši'; -$lang['btn_settings'] = 'Nastavitve'; -$lang['btn_download'] = 'Prejmi'; -$lang['btn_enable'] = 'Shrani'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Nameščeno:'; -$lang['lastupdate'] = 'Nazadnje posodobljeno:'; -$lang['source'] = 'Vir:'; -$lang['unknown'] = 'neznano'; -$lang['updating'] = 'Posodabljanje ...'; -$lang['updated'] = 'Vstavek %s je uspešno posodobljen'; -$lang['updates'] = 'Navedeni vstavki so uspešno posodobljeni'; -$lang['update_none'] = 'Posodobitev ni mogoče najti.'; -$lang['deleting'] = 'Brisanje ...'; -$lang['deleted'] = 'Vstavek %s je izbrisan.'; -$lang['downloading'] = 'Prejemanje ...'; -$lang['downloaded'] = 'Vstavek %s je uspešno nameščen'; -$lang['downloads'] = 'Navedeni vstavki so uspešno nameščeni:'; -$lang['download_none'] = 'Vstavkov ni mogoče najti ali pa je prišlo do napake med prejemanjem in nameščanjem.'; -$lang['plugin'] = 'Vstavek:'; -$lang['components'] = 'Sestavni deli'; -$lang['noinfo'] = 'Vstavek nima vpisanih podrobnih podatkov, kar pomeni, da je morda neveljaven.'; -$lang['name'] = 'Ime:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Vrsta:'; -$lang['desc'] = 'Opis:'; -$lang['author'] = 'Avtor:'; -$lang['www'] = 'Spletna stran:'; -$lang['error'] = 'Prišlo je do neznane napake.'; -$lang['error_download'] = 'Ni mogoče prejeti datoteke vstavka: %s'; -$lang['error_badurl'] = 'Napaka naslova URL - ni mogoče določiti imena datoteke iz naslova URL'; -$lang['error_dircreate'] = 'Ni mogoče ustvariti začasne mape za prejemanje'; -$lang['error_decompress'] = 'Z upravljalnikom vstavkov ni mogoče razširiti prejetega arhiva vstavka. Najverjetneje je prišlo do napake med prejemanjem datoteke ali pa zapis arhiva ni znan. Poskusite znova ali pa napako odpravite z ročnim nameščanjem vstavka.'; -$lang['error_copy'] = 'Prišlo je do napake med nameščanjem datotek vstavka <em>%s</em>: najverjetneje so težave s prostorom za namestitev ali pa ni ustreznih dovoljenj za nameščanje. Zaradi nepopolne namestitve lahko nastopijo težave v delovanju sistema Wiki.'; -$lang['error_delete'] = 'Prišlo je do napake med brisanjem vstavka <em>%s</em>: najverjetneje ni ustreznih dovoljenj za dostop do datoteke ali mape'; -$lang['enabled'] = 'Vstavek %s je omogočen.'; -$lang['notenabled'] = 'Vstavka %s ni mogoče omogočiti zaradi neustreznih dovoljen.'; -$lang['disabled'] = 'Vstavek %s je onemogočen.'; -$lang['notdisabled'] = 'Vstavka %s ni mogoče onemogočiti zaradi neustreznih dovoljen.'; -$lang['packageinstalled'] = 'Paket vstavka (%d vstavkov: %s) je uspešno nameščen.'; diff --git a/lib/plugins/plugin/lang/sq/admin_plugin.txt b/lib/plugins/plugin/lang/sq/admin_plugin.txt deleted file mode 100644 index 2e1f19234..000000000 --- a/lib/plugins/plugin/lang/sq/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Menaxhimi i Plugin-eve ====== - -Në këtë faqe mund të menaxhoni çdo gjë që ka të bëjë me [[doku>plugins|plugin-et]] Dokuwiki. Që të jetë në gjendje për të shkarkuar dhe instaluar një plugin, dosja e plugin-it duhet të jetë e shkrueshme nga webserver-i.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/sq/lang.php b/lib/plugins/plugin/lang/sq/lang.php deleted file mode 100644 index 9ddcf527f..000000000 --- a/lib/plugins/plugin/lang/sq/lang.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Albanian language file - * - * @author Leonard Elezi leonard.elezi@depinfo.info - */ -$lang['menu'] = 'Menaxho Plugin-et'; -$lang['download'] = 'Shkarko dhe instalo një plugin të ri'; -$lang['manage'] = 'Plugin-et e Instaluar'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'përditëso'; -$lang['btn_delete'] = 'fshi'; -$lang['btn_settings'] = 'settings'; -$lang['btn_download'] = 'Shkarko'; -$lang['btn_enable'] = 'Ruaj'; -$lang['url'] = 'URL'; -$lang['installed'] = 'Të instaluar:'; -$lang['lastupdate'] = 'Përditësuar së fundmi:'; -$lang['source'] = 'Kodi Burim:'; -$lang['unknown'] = 'e panjohur'; -$lang['updating'] = 'Duke u përditësuar...'; -$lang['updated'] = 'Plugini %s u përditësua me sukses'; -$lang['updates'] = 'Plugin-et e mëposhtme u përditësuan me sukses'; -$lang['update_none'] = 'Nuk u gjetën përditësime.'; -$lang['deleting'] = 'Duke fshirë...'; -$lang['deleted'] = 'Plugini %s u fshi.'; -$lang['downloading'] = 'Duke shkarkuar...'; -$lang['downloaded'] = 'Plugini %s u instalua me sukses'; -$lang['downloads'] = 'Plugin-et e mëposhtëm u instaluan me sukses:'; -$lang['download_none'] = 'Asnjë plugin nuk u gjend, ose ka ndodhur një gabim i panjohur gjatë shkarkimit dhe instalimit.'; -$lang['plugin'] = 'Plugin:'; -$lang['components'] = 'Përbërësit:'; -$lang['noinfo'] = 'Ky plugin nuk ktheu asnjë informacion, mund të jetë i pavlefshëm.'; -$lang['name'] = 'Emri:'; -$lang['date'] = 'Data:'; -$lang['type'] = 'Tipi:'; -$lang['desc'] = 'Përshkrimi:'; -$lang['author'] = 'Autori:'; -$lang['www'] = 'Web:'; -$lang['error'] = 'Ndodhi një gabim i panjohur.'; -$lang['error_download'] = 'Nuk mundi të shkarkohej skedari i plugin-it: %s'; -$lang['error_badurl'] = 'Dyshohet url e prishur - nuk mund të gjendet emri i skedarit nga url-ja'; -$lang['error_dircreate'] = 'Nuk mundi të krijohej dosja e përkohshme për të marë shkarkimin.'; -$lang['error_decompress'] = 'Menaxhuesi i plugin-eve nuk ishte në gjendje të dekompresonte skedarin e shkarkuar. Kjo mund të jetë si rezultat i një shkarkimi të keq, në këtë rast duhet të provoni përsëri; ose formati i kompresimit mund të jetë i panjohur, në këtë rast do t\'ju duhet ta shkarkoni dhe instaloni plugin-in manualisht.'; -$lang['error_copy'] = 'Ndodhi gabim kopjim-skedari gjatë përpjekjes për të instaluar skedarët për plugin-in <em>%s</em>: disku mund të jetë plotë ose të drejtat për aksesim skedari mund të jenë të gabuara. Kjo mund të ketë shkaktuar një instalim të pjesshëm të plugin-it dhe ta lërë instalimin e wiki-t tënd të paqëndrueshëm.'; -$lang['error_delete'] = 'Ndodhi një gabim gjatë përpjekjes për të fshirë plugin-in <em>%s</em>. Shkaku më i mundshëm është të drejta të pamjaftueshme për aksesim skedari ose dosjeje.'; -$lang['enabled'] = 'Plugini %s u aktivizua.'; -$lang['notenabled'] = 'Plugini %s nuk mundi të aktivizohej, kontrollo të drejtat e aksesit për skedarin.'; -$lang['disabled'] = 'Plugin %s është i paaktivizuar.'; -$lang['notdisabled'] = 'Plugini %s nuk mundi të çaktivizohej, kontrollo të drejtat e aksesit për skedarin.'; diff --git a/lib/plugins/plugin/lang/sr/admin_plugin.txt b/lib/plugins/plugin/lang/sr/admin_plugin.txt deleted file mode 100644 index 6262ece40..000000000 --- a/lib/plugins/plugin/lang/sr/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Управљач додацима ====== - -На овој страни можете управљати са свим у вези DokuWiki [[doku>plugins|додацима]]. Да бисте имали могућност преузимања и инсталирања додатака, фасцикла за додатке мора имати дозволу за писање.
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/sr/lang.php b/lib/plugins/plugin/lang/sr/lang.php deleted file mode 100644 index bc22770a1..000000000 --- a/lib/plugins/plugin/lang/sr/lang.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php -/** - * Serbian language file - * - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> - * @author Miroslav Šolti <solti.miroslav@gmail.com> - */ -$lang['menu'] = 'Управљач додацима'; -$lang['download'] = 'Преузми и инсталирај нови додатак'; -$lang['manage'] = 'Инсталирани додаци'; -$lang['btn_info'] = 'инфо'; -$lang['btn_update'] = 'ажурирај'; -$lang['btn_delete'] = 'обриши'; -$lang['btn_settings'] = 'поставке'; -$lang['btn_download'] = 'Преузми'; -$lang['btn_enable'] = 'Сачувај'; -$lang['url'] = 'УРЛ'; -$lang['installed'] = 'Инсталирани:'; -$lang['lastupdate'] = 'Последњи пут ажурирани:'; -$lang['source'] = 'Извор:'; -$lang['unknown'] = 'непознат'; -$lang['updating'] = 'Ажурирање:'; -$lang['updated'] = 'Додатак %s је успешно ажуриран'; -$lang['updates'] = 'Следећи додаци су успешно ажурирани'; -$lang['update_none'] = 'Нема доступних ажурирања.'; -$lang['deleting'] = 'Брисање...'; -$lang['deleted'] = 'Додатак %s је обрисан.'; -$lang['downloading'] = 'Преузимање...'; -$lang['downloaded'] = 'Додатак %s је успешно инсталиран'; -$lang['downloads'] = 'Следећи додаци су успешно инсталирани:'; -$lang['download_none'] = 'Нема додатака, или се јавио непознат проблем током преузимања или инсталирања.'; -$lang['plugin'] = 'Додатак:'; -$lang['components'] = 'Компоненте'; -$lang['noinfo'] = 'Овај додатак не враћа никакве информације, можда је неисправан.'; -$lang['name'] = 'Име:'; -$lang['date'] = 'Датум:'; -$lang['type'] = 'Врста:'; -$lang['desc'] = 'Опис:'; -$lang['author'] = 'Аутор:'; -$lang['www'] = 'Веб:'; -$lang['error'] = 'Десила се непозната грешка.'; -$lang['error_download'] = 'Немогуће је преузети додатак: %s'; -$lang['error_badurl'] = 'Сумњам на лош УРЛ - немогу да одредим назив датотеке '; -$lang['error_dircreate'] = 'Немогућност прављења привремене фасцикле за преузимање'; -$lang['error_decompress'] = 'Управљач додацима није у могућности да распакује преузету датотеку. Разлог може да буде лошег преузимања, у том случају пробајте још једном; или је непознат облик компресије, у том случају ручно преузмите и инсталирајте додатак.'; -$lang['error_copy'] = 'Појавила се грешка у копирању у току иснталације додатка <em>%s</em>: складиште је можда пуно или дозволе за уписивање нису постављене како треба. Резултат може бити делимично инсталиран додатак и вики у нестабилном стању.'; -$lang['error_delete'] = 'Појавила се грешка у покушају брисања додатка <em>%s</em>. Нејчешћи узрок је недостатак потребних дозвола за операције са датотекама или фасциклама'; -$lang['enabled'] = 'Додатај %s је укључен.'; -$lang['notenabled'] = 'Додатак %s није могуће укључити, проверите дозволе приступа.'; -$lang['disabled'] = 'Додатај %s је исукључен.'; -$lang['notdisabled'] = 'Додатак %s није могуће исукључити, проверите дозволе приступа.'; diff --git a/lib/plugins/plugin/lang/sv/admin_plugin.txt b/lib/plugins/plugin/lang/sv/admin_plugin.txt deleted file mode 100644 index e490e5e60..000000000 --- a/lib/plugins/plugin/lang/sv/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== Hantera insticksmoduler ====== - -På den här sidan kan man hantera allting som har att göra med Dokuwikis [[doku>plugins|insticksmoduler]]. För att man ska kunna ladda ned och installera en modul måste katalogen för insticksmoduler vara skrivbar av webbservern. - - diff --git a/lib/plugins/plugin/lang/sv/lang.php b/lib/plugins/plugin/lang/sv/lang.php deleted file mode 100644 index b7c23743b..000000000 --- a/lib/plugins/plugin/lang/sv/lang.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Per Foreby <per@foreby.se> - * @author Nicklas Henriksson <nicklas[at]nihe.se> - * @author Håkan Sandell <hakan.sandell@home.se> - * @author Dennis Karlsson - * @author Tormod Otter Johansson <tormod@latast.se> - * @author emil@sys.nu - * @author Pontus Bergendahl <pontus.bergendahl@gmail.com> - * @author Tormod Johansson tormod.otter.johansson@gmail.com - * @author Emil Lind <emil@sys.nu> - * @author Bogge Bogge <bogge@bogge.com> - * @author Peter Åström <eaustreum@gmail.com> - * @author mikael@mallander.net - * @author Smorkster Andersson smorkster@gmail.com - */ -$lang['menu'] = 'Hantera insticksmoduler'; -$lang['download'] = 'Ladda ned och installera en ny insticksmodul'; -$lang['manage'] = 'Installerade insticksmoduler'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'uppdatera'; -$lang['btn_delete'] = 'radera'; -$lang['btn_settings'] = 'inställningar'; -$lang['btn_download'] = 'Ladda ned'; -$lang['btn_enable'] = 'Spara'; -$lang['url'] = 'Webbadress'; -$lang['installed'] = 'Installerad:'; -$lang['lastupdate'] = 'Senast uppdaterad:'; -$lang['source'] = 'Källa:'; -$lang['unknown'] = 'okänd'; -$lang['updating'] = 'Uppdaterar ...'; -$lang['updated'] = 'Insticksmodulen %s uppdaterades'; -$lang['updates'] = 'Följande Insticksmoduler har uppdaterats'; -$lang['update_none'] = 'Inga uppdateringar hittades.'; -$lang['deleting'] = 'Raderar ...'; -$lang['deleted'] = 'Insticksmodulen %s raderad.'; -$lang['downloading'] = 'Laddar ned ...'; -$lang['downloaded'] = 'Insticksmodulen %s installerades'; -$lang['downloads'] = 'Följande insticksmoduler har installerats:'; -$lang['download_none'] = 'Inga insticksmoduler hittades, eller så har det uppstått ett okänt fel under nedladdning och installation.'; -$lang['plugin'] = 'Insticksmodul:'; -$lang['components'] = 'Komponenter'; -$lang['noinfo'] = 'Den här insticksmodulen returnerade ingen information, den kan vara ogiltig.'; -$lang['name'] = 'Namn:'; -$lang['date'] = 'Datum:'; -$lang['type'] = 'Typ:'; -$lang['desc'] = 'Beskrivning:'; -$lang['author'] = 'Författare:'; -$lang['www'] = 'Webb:'; -$lang['error'] = 'Ett okänt fel har inträffat.'; -$lang['error_download'] = 'Kan inte ladda ned fil till insticksmodul: %s'; -$lang['error_badurl'] = 'Misstänkt felaktig webbadress - kan inte bestämma filnamnet från webbadressen'; -$lang['error_dircreate'] = 'Kan inte skapa tillfällig katalog för nedladdade filer'; -$lang['error_decompress'] = 'Hanteraren för insticksmoduler kunde inte dekomprimera den nedladdade filen. Detta kan vara resultatet av en misslyckad nedladdning, och i så fall bör du försöka igen; eller så kan det komprimerade formatet vara okänt, och då måste du ladda ned och installera insticksmodulen manuellt.'; -$lang['error_copy'] = 'Ett filkopieringsfel uppstod under försöket att installera filerna till insticksmodulen <em>%s</em>: disken kan vara full eller så kan filskyddet vara felaktigt. Detta kan ha lett till en delvis installerad insticksmodul, och gjort din wiki-installation instabil.'; -$lang['error_delete'] = 'Ett fel uppstod vid försöket att radera insticksmodulen <em>%s</em>. Den troligaste orsaken är otillräcklig behörighet till filer eller kataloger'; -$lang['enabled'] = 'Tilläggsmodulen %s är aktiverad.'; -$lang['notenabled'] = 'Tilläggsmodulen %s kunde inte aktiveras, kontrollera filrättigheterna.'; -$lang['disabled'] = 'Tiläggsmodulen %s är avaktiverad.'; -$lang['notdisabled'] = 'Tilläggsmodulen %s kunde inte avaktiveras, kontrollera filrättigheterna.'; -$lang['packageinstalled'] = 'Tilläggs paket (%d tillägg: %s) har installerats.'; diff --git a/lib/plugins/plugin/lang/th/admin_plugin.txt b/lib/plugins/plugin/lang/th/admin_plugin.txt deleted file mode 100644 index 8611654be..000000000 --- a/lib/plugins/plugin/lang/th/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== ตัวจัดการโปรแกรมเสริม ====== - -ในหน้านี้คุณสามารถจัดการทุกๆอย่างที่จะต้องทำงานกับ [[doku>plugins|plugins]]โดกุวิกิ เพื่อที่จะสามารถดาวน์โหลดและติดตั้งโปรแกรมเสริม ตัวโฟลเดอร์โปรแกรมเสริม(plugin) จะต้องสามารถเขียนได้โดยเว็บเซิร์ฟเวอร์
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/th/lang.php b/lib/plugins/plugin/lang/th/lang.php deleted file mode 100644 index dab094bcd..000000000 --- a/lib/plugins/plugin/lang/th/lang.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * Thai language file - * - * @author Komgrit Niyomrath <n.komgrit@gmail.com> - * @author Kittithat Arnontavilas mrtomyum@gmail.com - * @author Arthit Suriyawongkul <arthit@gmail.com> - * @author Kittithat Arnontavilas <mrtomyum@gmail.com> - * @author Thanasak Sompaisansin <jombthep@gmail.com> - */ -$lang['menu'] = 'จัดการปลั๊กอิน'; -$lang['download'] = 'ดาวน์โหลดและติดตั้งปลั๊กอินใหม่'; -$lang['manage'] = 'ปลั๊กอินที่ติดตั้งไว้แล้ว'; -$lang['btn_info'] = 'ข้อมูล'; -$lang['btn_update'] = 'ปรับปรุง'; -$lang['btn_delete'] = 'ลบ'; -$lang['btn_settings'] = 'ตั้งค่า'; -$lang['btn_download'] = 'ดาวน์โหลด'; -$lang['btn_enable'] = 'บันทึก'; -$lang['url'] = 'ที่อยู่เว็บ'; -$lang['installed'] = 'ติดตั้งแล้ว:'; -$lang['lastupdate'] = 'ปรับปรุงล่าสุด:'; -$lang['source'] = 'ต้นกำเนิด'; -$lang['unknown'] = 'ไม่มีข้อมูล'; -$lang['updating'] = 'กำลังปรับปรุง ...'; -$lang['updated'] = 'โปรแกรมเสริม %s ได้รับการปรับปรุงสำเร็จแล้ว'; -$lang['updates'] = 'โปรแกรมเสริมต่อไปนี้ได้รับการปรับปรุงสำเร็จแล้ว'; -$lang['update_none'] = 'ไม่พบการปรับปรุงใดๆ'; -$lang['deleting'] = 'กำลังลบ ...'; -$lang['deleted'] = 'โปรแกรมเสริม %s ถูกลบแล้ว'; -$lang['downloading'] = 'กำลังดาวโหลด ...'; -$lang['downloaded'] = 'โปรแกรมเสริม %s ถูกติดตั้งสำเร็จแล้ว'; -$lang['downloads'] = 'โปรแกรมเสริมต่อไปนี้ได้รับการปรับปรุงสำเร็จแล้ว:'; -$lang['download_none'] = 'ไม่พบโปรแกรมเสริม, หรือมีปัญหาบางประการเกิดขึ้นระหว่างการดาวน์โหลด และติดตั้ง'; -$lang['plugin'] = 'โปรแกรมเสริม:'; -$lang['components'] = '่สวนประกอบ'; -$lang['noinfo'] = 'โปรแกรมเสริมนี้ไม่บอกข้อมูล, มันอาจไม่ใช่โปรแกรมเสริมจริง'; -$lang['name'] = 'ชื่อ:'; -$lang['date'] = 'วันที่:'; -$lang['type'] = 'ชนิด:'; -$lang['desc'] = 'รายละเอียด:'; -$lang['author'] = 'ผู้แต่ง:'; -$lang['www'] = 'เว็บ:'; -$lang['error'] = 'เกิดความผิดพลาดที่ระบุไม่ได้'; -$lang['error_download'] = 'ไม่สามารถดาวน์โหลดไฟล์โปรแกรมเสริม: %s'; -$lang['error_dircreate'] = 'ไม่สามารถสร้างโฟลเดอร์ชั่วคราวเพื่อที่จะรองรับการดาวน์โหลด'; -$lang['enabled'] = 'เปิดใช้งานโปรแกรมเสริม %s แล้ว'; -$lang['notenabled'] = 'โปรแกรมเสริม %s ไม่สามารถเปิดใช้งาน, กรุณาตรวจสอบสิทธิ์ของไฟล์'; -$lang['disabled'] = 'ปิดการใช้งานโปรแกรมเสริม %s แล้ว'; -$lang['notdisabled'] = 'โปรแกรมเสริม %s ไม่สามารถปิดการใช้งานได้, กรุณาตรวจสอบสิทธิ์ของไฟล์'; diff --git a/lib/plugins/plugin/lang/tr/admin_plugin.txt b/lib/plugins/plugin/lang/tr/admin_plugin.txt deleted file mode 100644 index 956d701f6..000000000 --- a/lib/plugins/plugin/lang/tr/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Eklenti Yönetimi ====== - -Bu sayfada DokuWiki [[doku>plugins|eklentileri]] ile ilgili herşeyi düzenleyebilirsiniz. Eklenti kurup indirmek için, eklenti dizininin yazılabilir olması gerekmektedir. diff --git a/lib/plugins/plugin/lang/tr/lang.php b/lib/plugins/plugin/lang/tr/lang.php deleted file mode 100644 index a4feea8cd..000000000 --- a/lib/plugins/plugin/lang/tr/lang.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Aydın Coşkuner <aydinweb@gmail.com> - * @author Cihan Kahveci <kahvecicihan@gmail.com> - * @author Yavuz Selim <yavuzselim@gmail.com> - * @author Caleb Maclennan <caleb@alerque.com> - * @author farukerdemoncel@gmail.com - */ -$lang['menu'] = 'Eklenti Yönetimi'; -$lang['download'] = 'Yeni bir eklenti indirip kur'; -$lang['manage'] = 'Kurulmuş Eklentiler'; -$lang['btn_info'] = 'bilgi'; -$lang['btn_update'] = 'güncelle'; -$lang['btn_delete'] = 'sil'; -$lang['btn_settings'] = 'Ayarlar'; -$lang['btn_download'] = 'İndir'; -$lang['btn_enable'] = 'Kaydet'; -$lang['url'] = 'Web Adresi'; -$lang['installed'] = 'Kuruldu:'; -$lang['lastupdate'] = 'Son güncelleştirme:'; -$lang['source'] = 'Kaynak:'; -$lang['unknown'] = 'bilinmiyor'; -$lang['updating'] = 'Güncelleştiriyor ...'; -$lang['updated'] = '%s eklentisi başarıyla güncellendi'; -$lang['updates'] = 'Şu eklentiler başarıyla güncellendi'; -$lang['update_none'] = 'Yeni bir güncelleme bulunamadı.'; -$lang['deleting'] = 'Siliniyor ...'; -$lang['deleted'] = '%s eklentisi silindi.'; -$lang['downloading'] = 'İndiriyor ...'; -$lang['downloaded'] = '%s eklentisi başarıyla kuruldu'; -$lang['downloads'] = 'Şu eklentiler başarıyla kuruldu:'; -$lang['download_none'] = 'Eklenti bulunamadı veya indirirken/kurarken bilinmeyen bir hata oluştu.'; -$lang['plugin'] = 'Eklenti:'; -$lang['components'] = 'Parçalar'; -$lang['noinfo'] = 'Bu eklentinin bilgileri alınamadı, geçerli bir eklenti olmayabilir.'; -$lang['name'] = 'Ad:'; -$lang['date'] = 'Tarih:'; -$lang['type'] = 'Tür:'; -$lang['desc'] = 'Açıklama:'; -$lang['author'] = 'Yazar:'; -$lang['www'] = 'Web Adresi:'; -$lang['error'] = 'Bilinmeyen bir hata oluştu.'; -$lang['error_download'] = 'Şu eklenti indirilemedi: %s'; -$lang['error_badurl'] = 'Yanlış adres olabilir - verilen adresten dosya adı alınamadı'; -$lang['error_dircreate'] = 'İndirmek için geçici klasör oluşturulamadı'; -$lang['error_decompress'] = 'Eklenti yöneticisi indirilen sıkıştırılmış dosyayı açamadı. Bu yanlış indirmeden kaynaklanabilir (bu durumda tekrar denemelisiniz). Ya da indirilen dosyanın sıkıştırma biçimi bilinmemektedir (bu durumda eklentiyi indirerek kendiniz kurmalısınız).'; -$lang['error_copy'] = '<em>%s</em> eklentisi dosyalarını kurmaya çalışırken kopyalama hatası ortaya çıktı. Sürücü dolu olabilir veya yazma yetkisi bulunmuyor olabilir. Bunun sebebi tam kurulmamış bir eklentinin wiki kurulumunu bozması olabilir.'; -$lang['error_delete'] = '<em>%s</em> eklentisini silerken bir hata oluştu. Bu hata yetersiz dosya/klasör erişim yetkisinden kaynaklanabilir.'; -$lang['enabled'] = '%s eklentisi etkinleştirildi.'; -$lang['notenabled'] = '%s eklentisi etkinleştirilemedi, dosya yetkilerini kontrol edin.'; -$lang['disabled'] = '%s eklentisi devre dışı bırakıldı.'; -$lang['notdisabled'] = '%s eklentisi devre dışı bırakılamadı, dosya yetkilerini kontrol edin.'; diff --git a/lib/plugins/plugin/lang/uk/admin_plugin.txt b/lib/plugins/plugin/lang/uk/admin_plugin.txt deleted file mode 100644 index 7bdf8e5e5..000000000 --- a/lib/plugins/plugin/lang/uk/admin_plugin.txt +++ /dev/null @@ -1,7 +0,0 @@ -====== Керування доданками ====== - -Тут ви можете керувати [[doku>plugins|доданками]] ДокуВікі. Для того, щоб завантажувати та встановлювати доданки, папка доданків повинна бути доступна для запису веб-сервером. - - - - diff --git a/lib/plugins/plugin/lang/uk/lang.php b/lib/plugins/plugin/lang/uk/lang.php deleted file mode 100644 index c6d5990fc..000000000 --- a/lib/plugins/plugin/lang/uk/lang.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Oleksiy Voronin (ovoronin@gmail.com) - * @author serg_stetsuk@ukr.net - * @author okunia@gmail.com - * @author Oleksandr Kunytsia <okunia@gmail.com> - * @author Uko uko@uar.net - * @author Ulrikhe Lukoie <lukoie@gmail>.com - * @author Kate Arzamastseva pshns@ukr.net - */ -$lang['menu'] = 'Керування доданками'; -$lang['download'] = 'Завантажити та встановити новий доданок'; -$lang['manage'] = 'Встановлені доданки'; -$lang['btn_info'] = 'дані'; -$lang['btn_update'] = 'оновити'; -$lang['btn_delete'] = 'видалити'; -$lang['btn_settings'] = 'параметри'; -$lang['btn_download'] = 'Завантажити'; -$lang['btn_enable'] = 'Зберегти'; -$lang['url'] = 'Адреса'; -$lang['installed'] = 'Встановлено:'; -$lang['lastupdate'] = 'Останнє оновлення:'; -$lang['source'] = 'Джерело:'; -$lang['unknown'] = 'невідомо'; -$lang['updating'] = 'Оновлення ...'; -$lang['updated'] = 'Доданок %s успішно оновлено'; -$lang['updates'] = 'Наступні доданки були успішно оновлені'; -$lang['update_none'] = 'Оновлення не знайдено.'; -$lang['deleting'] = 'Видалення ...'; -$lang['deleted'] = 'Доданок %s видалено.'; -$lang['downloading'] = 'Завантаження ...'; -$lang['downloaded'] = 'Доданок %s успішно встановлено'; -$lang['downloads'] = 'Наступні доданки були успішно встановлені:'; -$lang['download_none'] = 'Доданки не знайдено або виникла невідома проблема в процессі завантаження та установки.'; -$lang['plugin'] = 'Доданок:'; -$lang['components'] = 'Компоненти'; -$lang['noinfo'] = 'Цей доданок не повідомив ніяких даних, він може бути не працюючим.'; -$lang['name'] = 'Назва:'; -$lang['date'] = 'Дата:'; -$lang['type'] = 'Тип:'; -$lang['desc'] = 'Опис:'; -$lang['author'] = 'Автор:'; -$lang['www'] = 'Сторінка:'; -$lang['error'] = 'Виникла невідома помилка.'; -$lang['error_download'] = 'Не можу завантажити файл доданка: %s'; -$lang['error_badurl'] = 'Можливо, невірна адреса - не можливо визначити ім\'я файлу з адреси'; -$lang['error_dircreate'] = 'Не можливо створити тимчасову папку для завантаження'; -$lang['error_decompress'] = 'Менеджеру доданків не вдалося розпакувати завантажений файл. Це може бути результатом помилки при завантаженні, в цьому разі ви можете спробувати знову; або ж доданок упакований невідомим архіватором, тоді вам необхідно завантажити та встановити доданок вручну.'; -$lang['error_copy'] = 'Виникла помилка копіювання при спробі установки файлів для доданка <em>%s</em>: переповнення диску або невірні права доступу. Це могло привести до часткової установки доданка и нестійкості вашої Вікі.'; -$lang['error_delete'] = 'При спробі вилучення доданка <em>%s</em> виникла помилка. Найбільш вірогідно, що немає необхідних прав доступу до файлів або директорії'; -$lang['enabled'] = 'Доданок %s увімкнено.'; -$lang['notenabled'] = 'Не вдається увімкнути доданок %s. Перевірте права доступу до файлу.'; -$lang['disabled'] = 'Доданок %s вимкнено.'; -$lang['notdisabled'] = 'Не вдається вимкнути доданок %s. Перевірте права доступу до файлу.'; -$lang['packageinstalled'] = 'Пакет плагінів (%d plugin(s): %s) успішно встановлений.'; diff --git a/lib/plugins/plugin/lang/vi/lang.php b/lib/plugins/plugin/lang/vi/lang.php deleted file mode 100644 index 2933d8875..000000000 --- a/lib/plugins/plugin/lang/vi/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Vietnamese language file - * - */ diff --git a/lib/plugins/plugin/lang/zh-tw/admin_plugin.txt b/lib/plugins/plugin/lang/zh-tw/admin_plugin.txt deleted file mode 100644 index 54fe7a59e..000000000 --- a/lib/plugins/plugin/lang/zh-tw/admin_plugin.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== 附加元件管理器 ====== - -您可以用本頁管理與 Dokuwiki [[doku>plugins|附加元件]] 相關的選項。若要正常下載及安裝附加元件,附加元件所在的資料夾必須允許網頁伺服器寫入。
\ No newline at end of file diff --git a/lib/plugins/plugin/lang/zh-tw/lang.php b/lib/plugins/plugin/lang/zh-tw/lang.php deleted file mode 100644 index bc84059fd..000000000 --- a/lib/plugins/plugin/lang/zh-tw/lang.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author Li-Jiun Huang <ljhuang.tw@gmail.com> - * @author http://www.chinese-tools.com/tools/converter-simptrad.html - * @author Wayne San <waynesan@zerozone.tw> - * @author Li-Jiun Huang <ljhuang.tw@gmai.com> - * @author Cheng-Wei Chien <e.cwchien@gmail.com> - * @author Danny Lin - * @author Shuo-Ting Jian <shoting@gmail.com> - * @author syaoranhinata@gmail.com - * @author Ichirou Uchiki <syaoranhinata@gmail.com> - */ -$lang['menu'] = '管理附加元件'; -$lang['download'] = '下載與安裝附加元件'; -$lang['manage'] = '已安裝的附加元件'; -$lang['btn_info'] = '資訊'; -$lang['btn_update'] = '更新'; -$lang['btn_delete'] = '刪除'; -$lang['btn_settings'] = '設定'; -$lang['btn_download'] = '下載'; -$lang['btn_enable'] = '儲存'; -$lang['url'] = 'URL'; -$lang['installed'] = '安裝:'; -$lang['lastupdate'] = '上次更新:'; -$lang['source'] = '來源:'; -$lang['unknown'] = '未知'; -$lang['updating'] = '更新中……'; -$lang['updated'] = '已更新附加元件 %s '; -$lang['updates'] = '已更新下列附加元件'; -$lang['update_none'] = '找不到更新。'; -$lang['deleting'] = '刪除中……'; -$lang['deleted'] = '已刪除附加元件 %s 。'; -$lang['downloading'] = '下載中……'; -$lang['downloaded'] = '已安裝附加元件 %s '; -$lang['downloads'] = '已安裝下列附加元件:'; -$lang['download_none'] = '找不到附加元件,或者在下載與安裝時發生了未知的問題。'; -$lang['plugin'] = '附加元件:'; -$lang['components'] = '元件'; -$lang['noinfo'] = '此附加元件沒有回傳任何資訊,它可能已失效。'; -$lang['name'] = '名稱:'; -$lang['date'] = '日期:'; -$lang['type'] = '類型:'; -$lang['desc'] = '描述:'; -$lang['author'] = '作者:'; -$lang['www'] = '網頁:'; -$lang['error'] = '發生了未知的錯誤。'; -$lang['error_download'] = '無法下載附加元件檔案: %s'; -$lang['error_badurl'] = 'URL 可能有問題 —— 從 URL 中無法得知文件名'; -$lang['error_dircreate'] = '無法建立暫存目錄來接收下載的內容'; -$lang['error_decompress'] = '附加元件管理器無法把下載的文件解壓,這可能是由於下載出現錯誤。遇到這種情況,請您再次嘗試。此外,無法識別壓縮格式也可能導致無法解壓。若是如此,您需要手動下載並安裝該附加元件。'; -$lang['error_copy'] = '嘗試安裝附加元件 <em>%s</em> 的相關文件時,發生複製錯誤。這可能是磁碟空間不足,或檔案存取權限錯誤。未安裝好的附加元件,也許會令wiki系統不穩定。'; -$lang['error_delete'] = '嘗試刪除附加元件 <em>%s</em> 時發生錯誤。最有可能原因是檔案或目錄存取權限不足'; -$lang['enabled'] = '附加元件 %s 已啟用。'; -$lang['notenabled'] = '附加元件 %s 無法啟用,請檢查檔案權限。'; -$lang['disabled'] = '附加元件 %s 已停用。'; -$lang['notdisabled'] = '附加元件 %s 無法停用,請檢查檔案權限。'; -$lang['packageinstalled'] = '附加元件 (%d 附加元件: %s) 已安裝好。'; diff --git a/lib/plugins/plugin/lang/zh/admin_plugin.txt b/lib/plugins/plugin/lang/zh/admin_plugin.txt deleted file mode 100644 index 1618071a4..000000000 --- a/lib/plugins/plugin/lang/zh/admin_plugin.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== 插件管理器 ====== - -本页中您可以管理与 Dokuwiki [[doku>plugins|插件]] 相关的选项。 要通过插件管理器正常下载并安装插件,插件所在的文件夹必须可写。 - - diff --git a/lib/plugins/plugin/lang/zh/lang.php b/lib/plugins/plugin/lang/zh/lang.php deleted file mode 100644 index b39c6b063..000000000 --- a/lib/plugins/plugin/lang/zh/lang.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php - -/** - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * - * @author ZDYX <zhangduyixiong@gmail.com> - * @author http://www.chinese-tools.com/tools/converter-tradsimp.html - * @author George Sheraton guxd@163.com - * @author Simon zhan <simonzhan@21cn.com> - * @author mr.jinyi@gmail.com - * @author ben <ben@livetom.com> - * @author lainme <lainme993@gmail.com> - * @author caii <zhoucaiqi@gmail.com> - * @author Hiphen Lee <jacob.b.leung@gmail.com> - * @author caii, patent agent in China <zhoucaiqi@gmail.com> - * @author lainme993@gmail.com - * @author Shuo-Ting Jian <shoting@gmail.com> - * @author anjianshi <anjianshi@gmail.com> - */ -$lang['menu'] = '插件管理器'; -$lang['download'] = '下载并安装新的插件'; -$lang['manage'] = '已安装的插件'; -$lang['btn_info'] = '信息'; -$lang['btn_update'] = '升级'; -$lang['btn_delete'] = '删除'; -$lang['btn_settings'] = '设置'; -$lang['btn_download'] = '下载'; -$lang['btn_enable'] = '保存'; -$lang['url'] = 'URL'; -$lang['installed'] = '安装时间:'; -$lang['lastupdate'] = '最后更新于:'; -$lang['source'] = '来源:'; -$lang['unknown'] = '未知'; -$lang['updating'] = '正在升级...'; -$lang['updated'] = '插件 %s 升级成功'; -$lang['updates'] = '下列插件升级成功:'; -$lang['update_none'] = '未找到更新。'; -$lang['deleting'] = '正在删除...'; -$lang['deleted'] = '插件 %s 已删除'; -$lang['downloading'] = '正在下载...'; -$lang['downloaded'] = '插件 %s 安装成功'; -$lang['downloads'] = '下列插件安装成功:'; -$lang['download_none'] = '未找到插件,或下载和安装过程中出现了未知错误。'; -$lang['plugin'] = '插件:'; -$lang['components'] = '组件'; -$lang['noinfo'] = '该插件没有任何信息,有可能是无效插件。'; -$lang['name'] = '名称:'; -$lang['date'] = '日期:'; -$lang['type'] = '类别:'; -$lang['desc'] = '描述:'; -$lang['author'] = '作者:'; -$lang['www'] = '网址:'; -$lang['error'] = '产生了未知错误。'; -$lang['error_download'] = '无法下载插件:%s'; -$lang['error_badurl'] = 'URL 可能有问题 - 从 URL 中无法得知文件名'; -$lang['error_dircreate'] = '无法创建用于接收下载文件的'; -$lang['error_decompress'] = '插件管理器无法解压下载的文件。这可能是由于下载出现错误,遇到这种情况,请您再次尝试;或者是压缩格式无法识别,遇到这种情况,您需要手动下载并安装该插件。'; -$lang['error_copy'] = '尝试安装插件 <em>%s</em> 的相关文件时产生一个复制错误:磁盘空间已满或文件访问权限错误。这可能是由于一个安装了一部分的插件,并使得您的维基系统不稳定。'; -$lang['error_delete'] = '尝试删除插件 <em>%s</em> 时产生一个错误。最有可能的情况是文件或路径的访问权限不够'; -$lang['enabled'] = '%s 插件启用'; -$lang['notenabled'] = '%s插件启用失败,请检查文件权限。'; -$lang['disabled'] = '%s 插件禁用'; -$lang['notdisabled'] = '%s插件禁用失败,请检查文件权限。'; -$lang['packageinstalled'] = '插件 (%d 插件: %s) 已成功安装。'; diff --git a/lib/plugins/plugin/plugin.info.txt b/lib/plugins/plugin/plugin.info.txt deleted file mode 100644 index cdf866842..000000000 --- a/lib/plugins/plugin/plugin.info.txt +++ /dev/null @@ -1,7 +0,0 @@ -base plugin -author Christopher Smith -email chris@jalakai.co.uk -date 2013-02-20 -name Plugin Manager plugin -desc Manage and install plugins -url http://www.dokuwiki.org/plugin:plugin diff --git a/lib/plugins/plugin/style.css b/lib/plugins/plugin/style.css deleted file mode 100644 index 9433e6001..000000000 --- a/lib/plugins/plugin/style.css +++ /dev/null @@ -1,195 +0,0 @@ -/* - * admin plugin extension - style additions - * - * @author Christopher Smith chris@jalakai.co.uk - * @link http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorials/adminplugin - */ - -#plugin__manager h2 { - margin-left: 0; -} - -#plugin__manager form { - display: block; - margin: 0; - padding: 0; -} - -#plugin__manager legend { - display: none; -} - -#plugin__manager fieldset { - width: auto; -} - -#plugin__manager .button { - margin: 0; -} - -#plugin__manager p, -#plugin__manager label { - text-align: left; -} - -#plugin__manager .hidden { - display: none; -} - -#plugin__manager .new { - background: #dee7ec; -} - -/* IE won't understand but doesn't require it */ -#plugin__manager input[disabled] { - color: #ccc; - border-color: #ccc; -} - -#plugin__manager .pm_menu, -#plugin__manager .pm_info { - margin-left: 0; - text-align: left; -} - -[dir=rtl] #plugin__manager .pm_menu, -[dir=rtl] #plugin__manager .pm_info, -[dir=rtl] #plugin__manager p, -[dir=rtl] #plugin__manager label { - text-align: right; -} - -#plugin__manager .pm_menu { - float: left; - width: 48%; -} -[dir=rtl] #plugin__manager .pm_menu { - float: right; -} - -#plugin__manager .pm_info { - float: right; - width: 50%; -} -[dir=rtl] #plugin__manager .pm_info { - float: left; -} - -#plugin__manager .common fieldset { - margin: 0; - padding: 0 0 1.0em 0; - text-align: left; - border: none; -} -[dir=rtl] #plugin__manager .common fieldset { - text-align: right; -} - -#plugin__manager .common label { - padding: 0 0 0.5em 0; -} - -#plugin__manager .common input.edit { - width: 24em; - margin: 0.5em; -} - -#plugin__manager .plugins fieldset { - color: #000; - background: #fff; - text-align: right; - border-top: none; - border-right: none; - border-left: none; -} - -#plugin__manager .plugins fieldset.protected { - background: #fdd; - color: #000; -} - -#plugin__manager .plugins fieldset.disabled { - background: #e0e0e0; - color: #a8a8a8; -} - -#plugin__manager .plugins .legend { - color: #000; - background: inherit; - display: block; - margin: 0; - padding: 0; - font-size: 1em; - line-height: 1.4em; - font-weight: normal; - text-align: left; - float: left; - padding: 0; - clear: none; -} -[dir=rtl] #plugin__manager .plugins .legend { - text-align: right; - float: right; -} - -#plugin__manager .plugins .button { - font-size: 95%; -} - -#plugin__manager .plugins fieldset.buttons { - border: none; -} - -#plugin__manager .plugins fieldset.buttons .button { - float: left; -} -[dir=rtl] #plugin__manager .plugins .button { - float: left; - margin-right: 0.5em; -} -[dir=rtl] #plugin__manager .plugins fieldset.buttons .button { - float: right; -} - -#plugin__manager .pm_info h3 { - margin-left: 0; -} - -#plugin__manager .pm_info dl { - margin: 1em 0; - padding: 0; -} - -#plugin__manager .pm_info dt { - width: 6em; - float: left; - clear: left; - margin: 0; - padding: 0; -} -[dir=rtl] #plugin__manager .pm_info dt { - float: right; - clear: right; -} - -#plugin__manager .pm_info dd { - margin: 0 0 0 7em; - padding: 0; - background: none; -} -[dir=rtl] #plugin__manager .pm_info dd { - margin: 0 7em 0 0; -} - -#plugin__manager .plugins .enable { - float: left; - width: auto; - margin-right: 0.5em; -} -[dir=rtl] #plugin__manager .plugins .enable { - float: right; - margin-right: 0; - margin-left: 0.5em; -} - -/* end admin plugin styles */ diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index bd2d090e1..ab569b8b4 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -87,7 +87,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { //If there was an error the last time we tried to autosubmit, warn the user if ( $this->helper->isAutoSubmitEnabled() ){ - if ( @file_exists($this->helper->autosubmitErrorFile) ){ + if ( file_exists($this->helper->autosubmitErrorFile) ){ echo $this->getLang('autosubmitError'); echo io_readFile( $this->helper->autosubmitErrorFile ); } diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php index eacde06d0..8673fb5af 100644 --- a/lib/plugins/popularity/helper.php +++ b/lib/plugins/popularity/helper.php @@ -74,14 +74,16 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { /** * Check if autosubmit is enabled + * * @return boolean TRUE if we should send data once a month, FALSE otherwise */ function isAutoSubmitEnabled(){ - return @file_exists($this->autosubmitFile); + return file_exists($this->autosubmitFile); } /** * Send the data, to the submit url + * * @param string $data The popularity data * @return string An empty string if everything worked fine, a string describing the error otherwise */ @@ -97,6 +99,8 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { /** * Compute the last time the data was sent. If it has never been sent, we return 0. + * + * @return int */ function lastSentTime(){ $manualSubmission = @filemtime($this->popularityLastSubmitFile); @@ -107,6 +111,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { /** * Gather all information + * * @return string The popularity data as a string */ function gatherAsString(){ @@ -124,6 +129,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { /** * Gather all information + * * @return array The popularity data as an array */ function _gather(){ @@ -288,17 +294,24 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { * * @author <gilthans dot NO dot SPAM at gmail dot com> * @link http://de3.php.net/manual/en/ini.core.php#79564 + * + * @param string $v + * @return int|string */ function _to_byte($v){ $l = substr($v, -1); $ret = substr($v, 0, -1); switch(strtoupper($l)){ + /** @noinspection PhpMissingBreakStatementInspection */ case 'P': $ret *= 1024; + /** @noinspection PhpMissingBreakStatementInspection */ case 'T': $ret *= 1024; + /** @noinspection PhpMissingBreakStatementInspection */ case 'G': $ret *= 1024; + /** @noinspection PhpMissingBreakStatementInspection */ case 'M': $ret *= 1024; case 'K': diff --git a/lib/plugins/popularity/lang/bg/lang.php b/lib/plugins/popularity/lang/bg/lang.php index ba731c0fc..963b50e84 100644 --- a/lib/plugins/popularity/lang/bg/lang.php +++ b/lib/plugins/popularity/lang/bg/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Viktor Usunov <usun0v@mail.bg> * @author Kiril <neohidra@gmail.com> */ diff --git a/lib/plugins/popularity/lang/et/lang.php b/lib/plugins/popularity/lang/et/lang.php deleted file mode 100644 index ca1410ab0..000000000 --- a/lib/plugins/popularity/lang/et/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Estonian language file - * - * @author kristian.kankainen@kuu.la - * @author Rivo Zängov <eraser@eraser.ee> - */ diff --git a/lib/plugins/popularity/lang/eu/lang.php b/lib/plugins/popularity/lang/eu/lang.php index b52ccaee1..b5b80357c 100644 --- a/lib/plugins/popularity/lang/eu/lang.php +++ b/lib/plugins/popularity/lang/eu/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Basque language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Inko Illarramendi <inko.i.a@gmail.com> * @author Zigor Astarbe <astarbe@gmail.com> */ diff --git a/lib/plugins/popularity/lang/hr/intro.txt b/lib/plugins/popularity/lang/hr/intro.txt new file mode 100644 index 000000000..c7c3eba61 --- /dev/null +++ b/lib/plugins/popularity/lang/hr/intro.txt @@ -0,0 +1,7 @@ +====== Povratna informacija o popularnosti ====== + +Ovaj [[doku>popularity|alat]] prikupla anonimne podatke o Vašem wiki i omogućava Vam da ih pošaljete DokuWiki razvojnom timu. To im pomaže da bolje razumiju kako korisnici koriste DokuWiki i osigurava kvalitetnije odluke o budućem razvoju u skladu s stvarnim korištenjem. + +Pozivamo Vas da ponavljate ovaj korak s vremena na vrijeme kako bi razvojni tim bio obaviješten o razvoju Vašeg wiki-a. Vaši novi podaci biti će identificirani putem anonimne oznake. + +Prikupljeni podatci sadrže informacije kako što je DokuWiki inačica, broj i veličina vaših stranica i datoteka, ugrađeni dodatci i PHP-u koji se koristi. Sirovi podatci koji će biti poslani su prikazani niže. Molim koristite gumb "Pošalji podatke" da bi ste poslali ove informacije. diff --git a/lib/plugins/popularity/lang/hr/lang.php b/lib/plugins/popularity/lang/hr/lang.php index 96f1d6afe..a8ea70728 100644 --- a/lib/plugins/popularity/lang/hr/lang.php +++ b/lib/plugins/popularity/lang/hr/lang.php @@ -1,8 +1,14 @@ <?php + /** - * Croatian language file - * - * @author Branko Rihtman <theney@gmail.com> - * @author Dražen Odobašić <dodobasic@gmail.com> - * @author Dejan Igrec dejan.igrec@gmail.com + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> */ +$lang['name'] = 'Povratna informacija o popularnosti (može proteći neko vrijeme dok se učita)'; +$lang['submit'] = 'Pošalji podatke'; +$lang['autosubmit'] = 'Šalji podatke automatski jednom mjesečno'; +$lang['submissionFailed'] = 'Podatci ne mogu biti poslani zbog slijedeće greške:'; +$lang['submitDirectly'] = 'Podatke možete poslati ručno potvrđivanjem forme u nastavku.'; +$lang['autosubmitError'] = 'Zadnje automatsko slanje nije uspješno zbog slijedeće greške:'; +$lang['lastSent'] = 'Podatci su poslani'; diff --git a/lib/plugins/popularity/lang/hr/submitted.txt b/lib/plugins/popularity/lang/hr/submitted.txt new file mode 100644 index 000000000..8c841b3df --- /dev/null +++ b/lib/plugins/popularity/lang/hr/submitted.txt @@ -0,0 +1,3 @@ +====== Povratna informacija o popularnosti ====== + +Podatci su uspješno poslani.
\ No newline at end of file diff --git a/lib/plugins/popularity/lang/id/lang.php b/lib/plugins/popularity/lang/id/lang.php deleted file mode 100644 index 1867f0f69..000000000 --- a/lib/plugins/popularity/lang/id/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Indonesian language file - * - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/popularity/lang/kk/lang.php b/lib/plugins/popularity/lang/kk/lang.php deleted file mode 100644 index dde5b9577..000000000 --- a/lib/plugins/popularity/lang/kk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * kazakh language file - * - * @author Nurgozha Kaliaskarov astana08@gmail.com - */ diff --git a/lib/plugins/popularity/lang/lb/lang.php b/lib/plugins/popularity/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/popularity/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/popularity/lang/lv/lang.php b/lib/plugins/popularity/lang/lv/lang.php index f0c940b6f..a8ef37f7a 100644 --- a/lib/plugins/popularity/lang/lv/lang.php +++ b/lib/plugins/popularity/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['name'] = 'Popularitātes atsauksmes (ielāde var aizņemt kādu laiku)'; diff --git a/lib/plugins/popularity/lang/mk/lang.php b/lib/plugins/popularity/lang/mk/lang.php deleted file mode 100644 index 6d4530f79..000000000 --- a/lib/plugins/popularity/lang/mk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Macedonian language file - * - * @author Dimitar Talevski <dimi3.14@gmail.com> - */ diff --git a/lib/plugins/popularity/lang/ms/lang.php b/lib/plugins/popularity/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/popularity/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/popularity/lang/ro/lang.php b/lib/plugins/popularity/lang/ro/lang.php index 8ba119dcb..5be528bac 100644 --- a/lib/plugins/popularity/lang/ro/lang.php +++ b/lib/plugins/popularity/lang/ro/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Romanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro> * @author Emanuel-Emeric Andrași <n30@mandrivausers.ro> * @author Emanuel-Emeric Andraşi <em.andrasi@mandrivausers.ro> diff --git a/lib/plugins/popularity/lang/ru/intro.txt b/lib/plugins/popularity/lang/ru/intro.txt index 52f5a0ae2..dbf0cc688 100644 --- a/lib/plugins/popularity/lang/ru/intro.txt +++ b/lib/plugins/popularity/lang/ru/intro.txt @@ -1,10 +1,10 @@ ====== Сбор информации о популярности ====== -Этот [[doku>popularity|инструмент]] собирает анонимные данные о вашей вики и позволяет вам отправить их разработчикам «ДокуВики». Эти данные помогут им понять, как именно используется «ДокуВики», и удостовериться, что принимаемые проектные решения соответствуют жизненным реалиям. +Этот [[doku>popularity|инструмент]] собирает анонимные данные о вашей вики и позволяет вам отправить их разработчикам «Докувики». Эти данные помогут им понять, как именно используется «Докувики», и удостовериться, что принимаемые проектные решения соответствуют жизненным реалиям. Отправляйте данные время от времени для того, чтобы сообщать разработчикам о том, что ваша вики «подросла». Отправленные вами данные будут идентифицированы по анонимному ID. -Собранные данные содержат такую информацию, как: версия «ДокуВики», количество и размер ваших страниц и файлов, установленные плагины, информацию об установленном PHP. +Собранные данные содержат такую информацию, как: версия «Докувики», количество и размер ваших страниц и файлов, установленные плагины, информацию об установленном PHP. Данные, которые будут отосланы, представлены ниже. Пожалуйста, используйте кнопку «Отправить данные», чтобы передать информацию. diff --git a/lib/plugins/popularity/lang/th/lang.php b/lib/plugins/popularity/lang/th/lang.php index 3ae8a7890..f6a736a06 100644 --- a/lib/plugins/popularity/lang/th/lang.php +++ b/lib/plugins/popularity/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> diff --git a/lib/plugins/popularity/lang/vi/lang.php b/lib/plugins/popularity/lang/vi/lang.php deleted file mode 100644 index 2933d8875..000000000 --- a/lib/plugins/popularity/lang/vi/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Vietnamese language file - * - */ diff --git a/lib/plugins/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt index 4dc971d3a..eadfffaa0 100644 --- a/lib/plugins/popularity/plugin.info.txt +++ b/lib/plugins/popularity/plugin.info.txt @@ -1,7 +1,7 @@ base popularity author Andreas Gohr email andi@splitbrain.org -date 2012-11-29 +date 2013-10-14 name Popularity Feedback Plugin desc Send anonymous data about your wiki to the DokuWiki developers url http://www.dokuwiki.org/plugin:popularity diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index 423d67449..88d8cd93d 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -83,7 +83,8 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { // find the last non-spammy revision $data = ''; - $old = getRevisions($id, 0, $this->max_revs); + $pagelog = new PageChangeLog($id); + $old = $pagelog->getRevisions(0, $this->max_revs); if(count($old)){ foreach($old as $REV){ $data = rawWiki($id,$REV); diff --git a/lib/plugins/revert/lang/af/lang.php b/lib/plugins/revert/lang/af/lang.php deleted file mode 100644 index 1fff08db3..000000000 --- a/lib/plugins/revert/lang/af/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Afrikaans language file - * - */ diff --git a/lib/plugins/revert/lang/ar/lang.php b/lib/plugins/revert/lang/ar/lang.php index 27de54f16..6262cc674 100644 --- a/lib/plugins/revert/lang/ar/lang.php +++ b/lib/plugins/revert/lang/ar/lang.php @@ -7,6 +7,8 @@ * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com * @author Ahmad Abd-Elghany <tolpa1@gmail.com> + * @author alhajr <alhajr300@gmail.com> + * @author Mohamed Belhsine <b.mohamed897@gmail.com> */ $lang['menu'] = 'مدير الاسترجاع'; $lang['filter'] = 'ابحث في الصفحات المتأذاة'; diff --git a/lib/plugins/revert/lang/bg/lang.php b/lib/plugins/revert/lang/bg/lang.php index 0819de01a..5062a12ad 100644 --- a/lib/plugins/revert/lang/bg/lang.php +++ b/lib/plugins/revert/lang/bg/lang.php @@ -1,6 +1,8 @@ <?php + /** - * bulgarian language file + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Nikolay Vladimirov <nikolay@vladimiroff.com> * @author Viktor Usunov <usun0v@mail.bg> * @author Kiril <neohidra@gmail.com> diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php index b9e7284d4..619a9d929 100644 --- a/lib/plugins/revert/lang/cs/lang.php +++ b/lib/plugins/revert/lang/cs/lang.php @@ -15,6 +15,10 @@ * @author mkucera66@seznam.cz * @author Zbyněk Křivka <krivka@fit.vutbr.cz> * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Petr Klíma <qaxi@seznam.cz> + * @author Radovan Buroň <radovan@buron.cz> + * @author Viktor Zavadil <vzavadil@newps.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['menu'] = 'Obnova zaspamovaných stránek'; $lang['filter'] = 'Hledat zaspamované stránky'; diff --git a/lib/plugins/revert/lang/et/lang.php b/lib/plugins/revert/lang/et/lang.php index ca1410ab0..be8fb26c1 100644 --- a/lib/plugins/revert/lang/et/lang.php +++ b/lib/plugins/revert/lang/et/lang.php @@ -1,7 +1,9 @@ <?php + /** - * Estonian language file - * - * @author kristian.kankainen@kuu.la - * @author Rivo Zängov <eraser@eraser.ee> + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Janar Leas <janar.leas@eesti.ee> */ +$lang['note1'] = 'Teadmiseks: See otsing arvestab suurtähti'; +$lang['note2'] = 'Teadmiseks: Lehekülg ennistatakse viimasele järgule, milles ei sisaldu antud rämpsu sõne <i>%s</i>.'; diff --git a/lib/plugins/revert/lang/eu/lang.php b/lib/plugins/revert/lang/eu/lang.php index d3532c070..40be3e382 100644 --- a/lib/plugins/revert/lang/eu/lang.php +++ b/lib/plugins/revert/lang/eu/lang.php @@ -1,9 +1,11 @@ <?php + /** - * Basque language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Inko Illarramendi <inko.i.a@gmail.com> * @author Zigor Astarbe <astarbe@gmail.com> + * @author Yadav Gowda <yadav.gowda@gmail.com> */ $lang['menu'] = 'Berrezartze Kudeatzailea'; $lang['filter'] = 'Bilatu spam duten orriak'; diff --git a/lib/plugins/revert/lang/hi/lang.php b/lib/plugins/revert/lang/hi/lang.php deleted file mode 100644 index d6f78ffd6..000000000 --- a/lib/plugins/revert/lang/hi/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Hindi language file - * - * @author Abhinav Tyagi <abhinavtyagi11@gmail.com> - * @author yndesai@gmail.com - */ diff --git a/lib/plugins/revert/lang/hr/intro.txt b/lib/plugins/revert/lang/hr/intro.txt new file mode 100644 index 000000000..5d7a52dfb --- /dev/null +++ b/lib/plugins/revert/lang/hr/intro.txt @@ -0,0 +1,3 @@ +====== Pomoćnik za povrat ====== + +Pomaže vam pri povratku u slučaju spam napada. Da bi ste našli listu stranica koje su onečišćene spam-om unesite tekst za potragu (npr. spam URL), te potvrdite da su nađene stranice zaista spam i vratite na prethodno stanje.
\ No newline at end of file diff --git a/lib/plugins/revert/lang/hr/lang.php b/lib/plugins/revert/lang/hr/lang.php index 96f1d6afe..594136902 100644 --- a/lib/plugins/revert/lang/hr/lang.php +++ b/lib/plugins/revert/lang/hr/lang.php @@ -1,8 +1,16 @@ <?php + /** - * Croatian language file - * - * @author Branko Rihtman <theney@gmail.com> - * @author Dražen Odobašić <dodobasic@gmail.com> - * @author Dejan Igrec dejan.igrec@gmail.com + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> */ +$lang['menu'] = 'Pomoćnik za povrat stanja'; +$lang['filter'] = 'Potraži spam stranice'; +$lang['revert'] = 'Povrati odabrane stranice'; +$lang['reverted'] = '%s vraćena na izdanje %s'; +$lang['removed'] = '%s uklonjen'; +$lang['revstart'] = 'Proces povratka započeo. To može potrajati. Ako se dogodi istek vremena prije završetka, trebate povrat stranica vršiti u manjim grupama.'; +$lang['revstop'] = 'Proces povratka uspješno završio.'; +$lang['note1'] = 'Obavijest: ova pretraga razlikuje velika/mala slova'; +$lang['note2'] = 'Obavijest: stranica će biti vraćena na zadnje stanje koje ne sadrži traženi spam termin <i>%s</i>.'; diff --git a/lib/plugins/revert/lang/hu/lang.php b/lib/plugins/revert/lang/hu/lang.php index d16764a35..278af1864 100644 --- a/lib/plugins/revert/lang/hu/lang.php +++ b/lib/plugins/revert/lang/hu/lang.php @@ -10,9 +10,10 @@ * @author Sándor TIHANYI <stihanyi+dw@gmail.com> * @author David Szabo <szabo.david@gyumolcstarhely.hu> * @author Marton Sebok <sebokmarton@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ -$lang['menu'] = 'Visszaállítás kezelő (anti-SPAM)'; -$lang['filter'] = 'SPAM tartalmú oldalak keresése'; +$lang['menu'] = 'Visszaállítás-kezelő (anti-SPAM)'; +$lang['filter'] = 'SPAM-tartalmú oldalak keresése'; $lang['revert'] = 'Kiválasztott oldalak visszaállítása'; $lang['reverted'] = '%s a következő változatra lett visszaállítva: %s'; $lang['removed'] = '%s törölve'; diff --git a/lib/plugins/revert/lang/id-ni/lang.php b/lib/plugins/revert/lang/id-ni/lang.php deleted file mode 100644 index d367340b7..000000000 --- a/lib/plugins/revert/lang/id-ni/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * idni language file - * - * @author Harefa <fidelis@harefa.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/revert/lang/id/lang.php b/lib/plugins/revert/lang/id/lang.php deleted file mode 100644 index c3d485930..000000000 --- a/lib/plugins/revert/lang/id/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Indonesian language file - * - * @author Irwan Butar Butar <irwansah.putra@gmail.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/revert/lang/kk/lang.php b/lib/plugins/revert/lang/kk/lang.php deleted file mode 100644 index dde5b9577..000000000 --- a/lib/plugins/revert/lang/kk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * kazakh language file - * - * @author Nurgozha Kaliaskarov astana08@gmail.com - */ diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php index 5666100e9..df4b271b1 100644 --- a/lib/plugins/revert/lang/ko/lang.php +++ b/lib/plugins/revert/lang/ko/lang.php @@ -18,4 +18,4 @@ $lang['removed'] = '%s 제거됨'; $lang['revstart'] = '되돌리기 작업을 시작합니다. 오랜 시간이 걸릴 수 있습니다. 완료되기 전에 스크립트 시간 초과가 발생한다면 더 작은 작업으로 나누어서 되돌리시기 바랍니다.'; $lang['revstop'] = '되돌리기 작업이 성공적으로 끝났습니다.'; $lang['note1'] = '참고: 대소문자를 구별해 찾습니다'; -$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다. '; +$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다.'; diff --git a/lib/plugins/revert/lang/lb/lang.php b/lib/plugins/revert/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/revert/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/revert/lang/lt/lang.php b/lib/plugins/revert/lang/lt/lang.php deleted file mode 100644 index 103485864..000000000 --- a/lib/plugins/revert/lang/lt/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Lithuanian language file - * - * @author audrius.klevas@gmail.com - * @author Arunas Vaitekunas <aras@fan.lt> - */ diff --git a/lib/plugins/revert/lang/lv/lang.php b/lib/plugins/revert/lang/lv/lang.php index 012d6cc4c..b87369233 100644 --- a/lib/plugins/revert/lang/lv/lang.php +++ b/lib/plugins/revert/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['menu'] = 'Piemēsloto lapu atjaunotājs'; diff --git a/lib/plugins/revert/lang/mk/lang.php b/lib/plugins/revert/lang/mk/lang.php deleted file mode 100644 index 6d4530f79..000000000 --- a/lib/plugins/revert/lang/mk/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Macedonian language file - * - * @author Dimitar Talevski <dimi3.14@gmail.com> - */ diff --git a/lib/plugins/revert/lang/ms/lang.php b/lib/plugins/revert/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/revert/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/revert/lang/nl/intro.txt b/lib/plugins/revert/lang/nl/intro.txt index db8f5a06c..efa325839 100644 --- a/lib/plugins/revert/lang/nl/intro.txt +++ b/lib/plugins/revert/lang/nl/intro.txt @@ -1,3 +1,3 @@ -===== Herstelmanager ===== +===== Herstel ===== Deze pagina helpt u bij het herstellen van pagina's na een spam-aanval. Vul een zoekterm in (bijvoorbeeld een spam url) om een lijst te krijgen van bekladde pagina's, bevestig dat de pagina's inderdaad spam bevatten en herstel de wijzigingen. diff --git a/lib/plugins/revert/lang/nl/lang.php b/lib/plugins/revert/lang/nl/lang.php index ee8678e63..d04b96869 100644 --- a/lib/plugins/revert/lang/nl/lang.php +++ b/lib/plugins/revert/lang/nl/lang.php @@ -16,8 +16,9 @@ * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit <klapinklapin@gmail.com> * @author Remon <no@email.local> + * @author Rene <wllywlnt@yahoo.com> */ -$lang['menu'] = 'Herstelmanager'; +$lang['menu'] = 'Herstel'; $lang['filter'] = 'Zoek naar bekladde pagina\'s'; $lang['revert'] = 'Herstel geselecteerde pagina\'s'; $lang['reverted'] = '%s hersteld naar revisie %s'; diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php index c58300dc0..76da8ca9c 100644 --- a/lib/plugins/revert/lang/no/lang.php +++ b/lib/plugins/revert/lang/no/lang.php @@ -18,6 +18,8 @@ * @author Egil Hansen <egil@rosetta.no> * @author Thomas Juberg <Thomas.Juberg@Gmail.com> * @author Boris <boris@newton-media.no> + * @author Christopher Schive <chschive@frisurf.no> + * @author Patrick <spill.p@hotmail.com> */ $lang['menu'] = 'Tilbakestillingsbehandler'; $lang['filter'] = 'Søk etter søppelmeldinger'; diff --git a/lib/plugins/revert/lang/ro/lang.php b/lib/plugins/revert/lang/ro/lang.php index 5ea802575..3d0ca7957 100644 --- a/lib/plugins/revert/lang/ro/lang.php +++ b/lib/plugins/revert/lang/ro/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Romanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Sergiu Baltariu <s_baltariu@yahoo.com> * @author s_baltariu@yahoo.com * @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro> diff --git a/lib/plugins/revert/lang/sv/lang.php b/lib/plugins/revert/lang/sv/lang.php index c30f82d93..504332bae 100644 --- a/lib/plugins/revert/lang/sv/lang.php +++ b/lib/plugins/revert/lang/sv/lang.php @@ -18,6 +18,8 @@ * @author Smorkster Andersson smorkster@gmail.com * @author Henrik <henrik@idealis.se> * @author Tor Härnqvist <tor.harnqvist@gmail.com> + * @author Hans Iwan Bratt <hibratt@gmail.com> + * @author Mikael Bergström <krank23@gmail.com> */ $lang['menu'] = 'Hantera återställningar'; $lang['filter'] = 'Sök efter spamsidor'; diff --git a/lib/plugins/revert/lang/th/lang.php b/lib/plugins/revert/lang/th/lang.php index 86e4f9ca4..7b6217b7c 100644 --- a/lib/plugins/revert/lang/th/lang.php +++ b/lib/plugins/revert/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Arthit Suriyawongkul <arthit@gmail.com> diff --git a/lib/plugins/revert/lang/vi/lang.php b/lib/plugins/revert/lang/vi/lang.php deleted file mode 100644 index 2933d8875..000000000 --- a/lib/plugins/revert/lang/vi/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Vietnamese language file - * - */ diff --git a/lib/plugins/revert/plugin.info.txt b/lib/plugins/revert/plugin.info.txt index 482b68dc4..8d107dc32 100644 --- a/lib/plugins/revert/plugin.info.txt +++ b/lib/plugins/revert/plugin.info.txt @@ -1,7 +1,7 @@ base revert author Andreas Gohr email andi@splitbrain.org -date 2013-03-09 +date 2013-11-21 name Revert Manager desc Allows you to mass revert recent edits to remove Spam or vandalism url http://dokuwiki.org/plugin:revert diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 8df5abb08..9e2913d78 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -12,41 +12,20 @@ if(!defined('DOKU_INC')) die(); * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class */ -class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { +class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { var $allowedModesSetup = false; - var $localised = false; // set to true by setupLocale() after loading language dependent strings - var $lang = array(); // array to hold language dependent strings, best accessed via ->getLang() - var $configloaded = false; // set to true by loadConfig() after loading plugin configuration variables - var $conf = array(); // array to hold plugin settings, best accessed via ->getConf() - - /** - * General Info - * - * Needs to return a associative array with the following values: - * - * author - Author of the plugin - * email - Email address to contact the author - * date - Last modified date of the plugin in YYYY-MM-DD format - * name - Name of the plugin - * desc - Short description of the plugin (Text only) - * url - Website with more information on the plugin (eg. syntax description) - */ - function getInfo(){ - $parts = explode('_',get_class($this)); - $info = DOKU_PLUGIN.'/'.$parts[2].'/plugin.info.txt'; - if(@file_exists($info)) return confToHash($info); - trigger_error('getInfo() not implemented in '.get_class($this).' and '.$info.' not found', E_USER_WARNING); - return array(); - } /** * Syntax Type * * Needs to return one of the mode types defined in $PARSER_MODES in parser.php + * + * @return string */ function getType(){ trigger_error('getType() not implemented in '.get_class($this), E_USER_WARNING); + return ''; } /** @@ -55,6 +34,8 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * Defines the mode types for other dokuwiki markup that maybe nested within the * plugin's own markup. Needs to return an array of one or more of the mode types * defined in $PARSER_MODES in parser.php + * + * @return array */ function getAllowedTypes() { return array(); @@ -71,6 +52,8 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * 'stack' - Special case. Plugin wraps other paragraphs. * * @see Doku_Handler_Block + * + * @return string */ function getPType(){ return 'normal'; @@ -87,10 +70,10 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * @param string $match The text matched by the patterns * @param int $state The lexer state for the match * @param int $pos The character position of the matched text - * @param Doku_Handler $handler Reference to the Doku_Handler object - * @return array Return an array with all data you want to use in render + * @param Doku_Handler $handler The Doku_Handler object + * @return bool|array Return an array with all data you want to use in render, false don't add an instruction */ - function handle($match, $state, $pos, Doku_Handler &$handler){ + function handle($match, $state, $pos, Doku_Handler $handler){ trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING); } @@ -112,18 +95,21 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * The contents of the $data array depends on what the handler() function above * created * - * @param $format string output format being rendered - * @param $renderer Doku_Renderer reference to the current renderer object - * @param $data array data created by handler() - * @return boolean rendered correctly? + * @param string $format output format being rendered + * @param Doku_Renderer $renderer the current renderer object + * @param array $data data created by handler() + * @return boolean rendered correctly? (however, returned value is not used at the moment) */ - function render($format, Doku_Renderer &$renderer, $data) { + function render($format, Doku_Renderer $renderer, $data) { trigger_error('render() not implemented in '.get_class($this), E_USER_WARNING); } /** - * There should be no need to override these functions + * There should be no need to override this function + * + * @param string $mode + * @return bool */ function accepts($mode) { @@ -144,167 +130,5 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { return parent::accepts($mode); } - - // plugin introspection methods - // extract from class name, format = <plugin type>_plugin_<name>[_<component name>] - function getPluginType() { list($t) = explode('_', get_class($this), 2); return $t; } - function getPluginName() { list($t, $p, $n) = explode('_', get_class($this), 4); return $n; } - - /** - * Get the name of the component of the current class - * - * @return string component name - */ - function getPluginComponent() { list($t, $p, $n, $c) = explode('_', get_class($this), 4); return (isset($c)?$c:''); } - - // localisation methods - /** - * getLang($id) - * - * use this function to access plugin language strings - * to try to minimise unnecessary loading of the strings when the plugin doesn't require them - * e.g. when info plugin is querying plugins for information about themselves. - * - * @param string $id id of the string to be retrieved - * @return string string in appropriate language or english if not available - */ - function getLang($id) { - if (!$this->localised) $this->setupLocale(); - - return (isset($this->lang[$id]) ? $this->lang[$id] : ''); - } - - /** - * locale_xhtml($id) - * - * retrieve a language dependent wiki page and pass to xhtml renderer for display - * plugin equivalent of p_locale_xhtml() - * - * @param string $id id of language dependent wiki page - * @return string parsed contents of the wiki page in xhtml format - */ - function locale_xhtml($id) { - return p_cached_output($this->localFN($id)); - } - - /** - * localFN($id) - * prepends appropriate path for a language dependent filename - * plugin equivalent of localFN() - */ - function localFN($id) { - global $conf; - $plugin = $this->getPluginName(); - $file = DOKU_CONF.'/plugin_lang/'.$plugin.'/'.$conf['lang'].'/'.$id.'.txt'; - if (!@file_exists($file)){ - $file = DOKU_PLUGIN.$plugin.'/lang/'.$conf['lang'].'/'.$id.'.txt'; - if(!@file_exists($file)){ - //fall back to english - $file = DOKU_PLUGIN.$plugin.'/lang/en/'.$id.'.txt'; - } - } - return $file; - } - - /** - * setupLocale() - * reads all the plugins language dependent strings into $this->lang - * this function is automatically called by getLang() - */ - function setupLocale() { - if ($this->localised) return; - - global $conf; // definitely don't invoke "global $lang" - $path = DOKU_PLUGIN.$this->getPluginName().'/lang/'; - - $lang = array(); - // don't include once, in case several plugin components require the same language file - @include($path.'en/lang.php'); - if ($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php'); - - $this->lang = $lang; - $this->localised = true; - } - - // configuration methods - /** - * getConf($setting) - * - * use this function to access plugin configuration variables - */ - function getConf($setting) { - - if(!$this->configloaded) { $this->loadConfig(); } - - return $this->conf[$setting]; - } - - /** - * loadConfig() - * merges the plugin's default settings with any local settings - * this function is automatically called through getConf() - */ - function loadConfig() { - global $conf; - - $defaults = $this->readDefaultSettings(); - $plugin = $this->getPluginName(); - - foreach($defaults as $key => $value) { - if(isset($conf['plugin'][$plugin][$key])) continue; - $conf['plugin'][$plugin][$key] = $value; - } - - $this->configloaded = true; - $this->conf =& $conf['plugin'][$plugin]; - } - - /** - * read the plugin's default configuration settings from conf/default.php - * this function is automatically called through getConf() - * - * @return array setting => value - */ - function readDefaultSettings() { - - $path = DOKU_PLUGIN.$this->getPluginName().'/conf/'; - $conf = array(); - - if(@file_exists($path.'default.php')) { - include($path.'default.php'); - } - - return $conf; - } - - /** - * Loads a given helper plugin (if enabled) - * - * @author Esther Brunner <wikidesign@gmail.com> - * - * @param string $name name of plugin to load - * @param bool $msg if a message should be displayed in case the plugin is not available - * - * @return object helper plugin object - */ - function loadHelper($name, $msg = true) { - if(!plugin_isdisabled($name)) { - $obj = plugin_load('helper', $name); - } else { - $obj = null; - } - if(is_null($obj) && $msg) msg("Helper plugin $name is not available or invalid.", -1); - return $obj; - } - - /** - * Allow the plugin to prevent DokuWiki from reusing an instance - * - * @return bool false if the plugin has to be instantiated - */ - function isSingleton() { - return true; - } - } //Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 156037f09..86562f1dd 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -53,14 +53,17 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } // attempt to retrieve any import failures from the session - if ($_SESSION['import_failures']){ + if (!empty($_SESSION['import_failures'])){ $this->_import_failures = $_SESSION['import_failures']; } } - /** - * Return prompt for admin menu - */ + /** + * Return prompt for admin menu + * + * @param string $language + * @return string + */ public function getMenuText($language) { if (!is_null($this->_auth)) @@ -71,6 +74,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { /** * return sort order for position in admin menu + * + * @return int */ public function getMenuSort() { return 2; @@ -78,6 +83,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { /** * Handle user request + * + * @return bool */ public function handle() { global $INPUT; @@ -128,6 +135,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { /** * Output appropriate html + * + * @return bool */ public function html() { global $ID; @@ -277,6 +286,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { protected function _htmlUserForm($cmd,$user='',$userdata=array(),$indent=0) { global $conf; global $ID; + global $lang; $name = $mail = $groups = ''; $notes = array(); @@ -299,6 +309,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $this->_htmlInputField($cmd."_userid", "userid", $this->lang["user_id"], $user, $this->_auth->canDo("modLogin"), $indent+6); $this->_htmlInputField($cmd."_userpass", "userpass", $this->lang["user_pass"], "", $this->_auth->canDo("modPass"), $indent+6); + $this->_htmlInputField($cmd."_userpass2", "userpass2", $lang["passchk"], "", $this->_auth->canDo("modPass"), $indent+6); $this->_htmlInputField($cmd."_username", "username", $this->lang["user_name"], $name, $this->_auth->canDo("modName"), $indent+6); $this->_htmlInputField($cmd."_usermail", "usermail", $this->lang["user_mail"], $mail, $this->_auth->canDo("modMail"), $indent+6); $this->_htmlInputField($cmd."_usergroups","usergroups",$this->lang["user_groups"],$groups,$this->_auth->canDo("modGroups"),$indent+6); @@ -358,7 +369,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $class = $cando ? '' : ' class="disabled"'; echo str_pad('',$indent); - if($name == 'userpass'){ + if($name == 'userpass' || $name == 'userpass2'){ $fieldtype = 'password'; $autocomp = 'autocomplete="off"'; }elseif($name == 'usermail'){ @@ -475,7 +486,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { if (!checkSecurityToken()) return false; if (!$this->_auth->canDo('addUser')) return false; - list($user,$pass,$name,$mail,$grps) = $this->_retrieveUser(); + list($user,$pass,$name,$mail,$grps,$passconfirm) = $this->_retrieveUser(); if (empty($user)) return false; if ($this->_auth->canDo('modPass')){ @@ -486,6 +497,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { msg($this->lang['add_fail'], -1); return false; } + } else { + if (!$this->_verifyPassword($pass,$passconfirm)) { + return false; + } } } else { if (!empty($pass)){ @@ -606,7 +621,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $oldinfo = $this->_auth->getUserData($olduser); // get new user data subject to change - list($newuser,$newpass,$newname,$newmail,$newgrps) = $this->_retrieveUser(); + list($newuser,$newpass,$newname,$newmail,$newgrps,$passconfirm) = $this->_retrieveUser(); if (empty($newuser)) return false; $changes = array(); @@ -625,27 +640,37 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $changes['user'] = $newuser; } } - - // generate password if left empty and notification is on - if($INPUT->has('usernotify') && empty($newpass)){ - $newpass = auth_pwgen($olduser); + if ($this->_auth->canDo('modPass')) { + if ($newpass || $passconfirm) { + if ($this->_verifyPassword($newpass,$passconfirm)) { + $changes['pass'] = $newpass; + } else { + return false; + } + } else { + // no new password supplied, check if we need to generate one (or it stays unchanged) + if ($INPUT->has('usernotify')) { + $changes['pass'] = auth_pwgen($olduser); + } + } } - if (!empty($newpass) && $this->_auth->canDo('modPass')) - $changes['pass'] = $newpass; - if (!empty($newname) && $this->_auth->canDo('modName') && $newname != $oldinfo['name']) - $changes['name'] = $newname; - if (!empty($newmail) && $this->_auth->canDo('modMail') && $newmail != $oldinfo['mail']) - $changes['mail'] = $newmail; - if (!empty($newgrps) && $this->_auth->canDo('modGroups') && $newgrps != $oldinfo['grps']) - $changes['grps'] = $newgrps; + if (!empty($newname) && $this->_auth->canDo('modName') && $newname != $oldinfo['name']) { + $changes['name'] = $newname; + } + if (!empty($newmail) && $this->_auth->canDo('modMail') && $newmail != $oldinfo['mail']) { + $changes['mail'] = $newmail; + } + if (!empty($newgrps) && $this->_auth->canDo('modGroups') && $newgrps != $oldinfo['grps']) { + $changes['grps'] = $newgrps; + } if ($ok = $this->_auth->triggerUserMod('modify', array($olduser, $changes))) { msg($this->lang['update_ok'],1); - if ($INPUT->has('usernotify') && $newpass) { + if ($INPUT->has('usernotify') && !empty($changes['pass'])) { $notify = empty($changes['user']) ? $olduser : $newuser; - $this->_notifyUser($notify,$newpass); + $this->_notifyUser($notify,$changes['pass']); } // invalidate all sessions @@ -686,6 +711,32 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } /** + * Verify password meets minimum requirements + * :TODO: extend to support password strength + * + * @param string $password candidate string for new password + * @param string $confirm repeated password for confirmation + * @return bool true if meets requirements, false otherwise + */ + protected function _verifyPassword($password, $confirm) { + global $lang; + + if (empty($password) && empty($confirm)) { + return false; + } + + if ($password !== $confirm) { + msg($lang['regbadpass'], -1); + return false; + } + + // :TODO: test password for required strength + + // if we make it this far the password is good + return true; + } + + /** * Retrieve & clean user data from the form * * @param bool $clean whether the cleanUser method of the authentication backend is applied @@ -696,11 +747,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { global $auth; global $INPUT; + $user = array(); $user[0] = ($clean) ? $auth->cleanUser($INPUT->str('userid')) : $INPUT->str('userid'); $user[1] = $INPUT->str('userpass'); $user[2] = $INPUT->str('username'); $user[3] = $INPUT->str('usermail'); $user[4] = explode(',',$INPUT->str('usergroups')); + $user[5] = $INPUT->str('userpass2'); // repeated password for confirmation $user[4] = array_map('trim',$user[4]); if($clean) $user[4] = array_map(array($auth,'cleanGroup'),$user[4]); @@ -721,7 +774,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $this->_filter = array(); if ($op == 'new') { - list($user,$pass,$name,$mail,$grps) = $this->_retrieveUser(false); + list($user,/* $pass */,$name,$mail,$grps) = $this->_retrieveUser(false); if (!empty($user)) $this->_filter['user'] = $user; if (!empty($name)) $this->_filter['name'] = $name; @@ -773,6 +826,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $disabled = 'disabled="disabled"'; + $buttons = array(); $buttons['start'] = $buttons['prev'] = ($this->_start == 0) ? $disabled : ''; if ($this->_user_total == -1) { @@ -894,8 +948,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { * Returns cleaned user data * * @param array $candidate raw values of line from input file - * @param $error - * @return array|bool cleaned data or false + * @param string $error + * @return array|false cleaned data or false */ protected function _cleanImportUser($candidate, & $error){ global $INPUT; @@ -908,7 +962,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $INPUT->set('usergroups', $candidate[4]); $cleaned = $this->_retrieveUser(); - list($user,$pass,$name,$mail,$grps) = $cleaned; + list($user,/* $pass */,$name,$mail,/* $grps */) = $cleaned; if (empty($user)) { $error = $this->lang['import_error_baduserid']; return false; @@ -978,6 +1032,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { /** * wrapper for is_uploaded_file to facilitate overriding by test suite + * + * @param string $file filename + * @return bool */ protected function _isUploadedFile($file) { return is_uploaded_file($file); @@ -988,6 +1045,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { * * @deprecated remove when dokuwiki php requirement increases to 5.3+ * also associated unit test & mock access method + * + * @param string $csv string to parse + * @return array */ protected function _getcsv($csv) { return function_exists('str_getcsv') ? str_getcsv($csv) : $this->str_getcsv($csv); @@ -998,6 +1058,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { * loosely based on www.php.net/str_getcsv#88311 * * @deprecated remove when dokuwiki php requirement increases to 5.3+ + * + * @param string $str string to parse + * @return array */ protected function str_getcsv($str) { $fp = fopen("php://temp/maxmemory:1048576", 'r+'); // 1MiB diff --git a/lib/plugins/usermanager/images/search.png b/lib/plugins/usermanager/images/search.png Binary files differindex e9dabc11e..3f2a0b53b 100644 --- a/lib/plugins/usermanager/images/search.png +++ b/lib/plugins/usermanager/images/search.png diff --git a/lib/plugins/usermanager/lang/bg/lang.php b/lib/plugins/usermanager/lang/bg/lang.php index 9ed27f42a..aadf76512 100644 --- a/lib/plugins/usermanager/lang/bg/lang.php +++ b/lib/plugins/usermanager/lang/bg/lang.php @@ -1,7 +1,8 @@ <?php + /** - * bulgarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Nikolay Vladimirov <nikolay@vladimiroff.com> * @author Viktor Usunov <usun0v@mail.bg> * @author Kiril <neohidra@gmail.com> @@ -40,10 +41,10 @@ $lang['next'] = 'напред'; $lang['last'] = 'край'; $lang['edit_usermissing'] = 'Избраният потребител не е намерен, въведеното потребителско име може да е изтрито или променено другаде.'; $lang['user_notify'] = 'Уведомяване на потребителя'; -$lang['note_notify'] = 'Ел. писмо се изпраща само ако бъде променена паролата на потребителя.'; +$lang['note_notify'] = 'Имейл се изпраща само ако бъде променена паролата на потребителя.'; $lang['note_group'] = 'Новите потребители биват добавяни към стандартната групата (%s) ако не е посочена друга.'; $lang['note_pass'] = 'Паролата ще бъде генерирана автоматично, ако оставите полето празно и функцията за уведомяване на потребителя е включена.'; $lang['add_ok'] = 'Добавянето на потребителя е успешно'; $lang['add_fail'] = 'Добавянето на потребителя се провали'; -$lang['notify_ok'] = 'Изпратено е осведомително ел. писмо'; -$lang['notify_fail'] = 'Изпращането на осведомително ел. писмо не е възможно'; +$lang['notify_ok'] = 'Изпратено е осведомителен имейл'; +$lang['notify_fail'] = 'Изпращането на осведомителен имейл не е възможно'; diff --git a/lib/plugins/usermanager/lang/cs/import.txt b/lib/plugins/usermanager/lang/cs/import.txt index c264ae185..d665838f4 100644 --- a/lib/plugins/usermanager/lang/cs/import.txt +++ b/lib/plugins/usermanager/lang/cs/import.txt @@ -2,7 +2,7 @@ Vyžaduje CSV soubor s uživateli obsahující alespoň 4 sloupce. Sloupce obsahují (v daném pořadí): user-id, celé jméno, emailovou adresu, seznam skupin. -Položky CSV musí být odděleny čárkou (,) a řetězce umístěny v uvozovkách (""). Zpětné lomítko (\) lze použít pro escapování. +Položky CSV musí být odděleny čárkou (,) a řetězce umístěny v uvozovkách (%%""%%). Zpětné lomítko (\) lze použít pro escapování. Pro získání příkladu takového souboru využijte funkci "Exportovat uživatele" výše. Záznamy s duplicitním user-id budou ignorovány. diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php index bbb560679..6130fccd8 100644 --- a/lib/plugins/usermanager/lang/cs/lang.php +++ b/lib/plugins/usermanager/lang/cs/lang.php @@ -15,6 +15,7 @@ * @author Jakub A. Těšínský (j@kub.cz) * @author mkucera66@seznam.cz * @author Zbyněk Křivka <krivka@fit.vutbr.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['menu'] = 'Správa uživatelů'; $lang['noauth'] = '(autentizace uživatelů není k dispozici)'; @@ -55,20 +56,23 @@ $lang['next'] = 'další'; $lang['last'] = 'poslední'; $lang['edit_usermissing'] = 'Vybraný uživatel nebyl nalezen, zadané uživatelského mohlo být smazáno nebo změněno.'; $lang['user_notify'] = 'Upozornit uživatele'; -$lang['note_notify'] = 'Maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.'; +$lang['note_notify'] = 'E-maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.'; $lang['note_group'] = 'Noví uživatelé budou přidáváni do této výchozí skupiny (%s), pokud pro ně není uvedena žádná skupina.'; $lang['note_pass'] = 'Heslo bude automaticky vygenerováno, pokud je pole ponecháno prázdné a je zapnuto upozornění uživatele.'; $lang['add_ok'] = 'Uživatel úspěšně vytvořen'; $lang['add_fail'] = 'Vytvoření uživatele selhalo'; -$lang['notify_ok'] = 'Odeslán mail s upozorněním'; -$lang['notify_fail'] = 'Mail s upozorněním nebylo možno odeslat'; +$lang['notify_ok'] = 'Odeslán e-mail s upozorněním'; +$lang['notify_fail'] = 'E-mail s upozorněním nebylo možno odeslat'; +$lang['import_userlistcsv'] = 'Seznam uživatelů (CSV):'; +$lang['import_header'] = 'Poslední selhání importu'; $lang['import_success_count'] = 'Import uživatelů: nalezeno %d uživatelů, %d úspěšně importováno.'; $lang['import_failure_count'] = 'Import uživatelů: %d selhalo. Seznam chybných je níže.'; $lang['import_error_fields'] = 'Nedostatek položek, nalezena/y %d, požadovány 4.'; $lang['import_error_baduserid'] = 'Chybí User-id'; $lang['import_error_badname'] = 'Špatné jméno'; -$lang['import_error_badmail'] = 'Špatná emailová adresa'; +$lang['import_error_badmail'] = 'Špatná e-mailová adresa'; $lang['import_error_upload'] = 'Import selhal. CSV soubor nemohl být nahrán nebo je prázdný.'; $lang['import_error_readfail'] = 'Import selhal. Nelze číst nahraný soubor.'; $lang['import_error_create'] = 'Nelze vytvořit uživatele'; -$lang['import_notify_fail'] = 'Importovanému uživateli %s s emailem %s nemohlo být zasláno upozornění.'; +$lang['import_notify_fail'] = 'Importovanému uživateli %s s e-mailem %s nemohlo být zasláno upozornění.'; +$lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CVS'; diff --git a/lib/plugins/usermanager/lang/da/import.txt b/lib/plugins/usermanager/lang/da/import.txt new file mode 100644 index 000000000..8ff1946b8 --- /dev/null +++ b/lib/plugins/usermanager/lang/da/import.txt @@ -0,0 +1,9 @@ +===== Samling af Brugere Import ===== + +Kræver en CSV-fil med brugere på mindst fire kolonner. +Kolonnerne skal indeholde, i denne orden: bruger-id, fulde navn, email-adresse og grupper. +CSV-felterne skal separeres af kommaer (,) og strengafgrænser med anførelsestegn (%%""%%). Backslash (\) kan benyttes som "escape character". +For et eksempel på en brugbar fil, kan du prøve "Eksportér Brugere"-funktionen her over. +Overlappende bruger-id'er bliver ignoreret. + +En adgangskode vil blive genereret og sendt til hver succesfuldt importeret bruger.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php index 47d7efea2..795024f89 100644 --- a/lib/plugins/usermanager/lang/da/lang.php +++ b/lib/plugins/usermanager/lang/da/lang.php @@ -13,6 +13,7 @@ * @author Michael Pedersen subben@gmail.com * @author Mikael Lyngvig <mikael@lyngvig.org> * @author soer9648 <soer9648@eucl.dk> + * @author Søren Birk <soer9648@eucl.dk> */ $lang['menu'] = 'Brugerstyring'; $lang['noauth'] = '(Brugervalidering er ikke tilgængelig)'; @@ -72,3 +73,4 @@ $lang['import_error_upload'] = 'Import Fejlet. CSV-filen kunne ikke uploades e $lang['import_error_readfail'] = 'Import Fejlet. Ikke muligt at læse uploadede fil.'; $lang['import_error_create'] = 'Ikke muligt at oprette brugeren'; $lang['import_notify_fail'] = 'Notifikationsmeddelelse kunne ikke sendes for importerede bruger %s, med emailen %s.'; +$lang['import_downloadfailures'] = 'Download Fejl som CSV til rettelser'; diff --git a/lib/plugins/usermanager/lang/de-informal/import.txt b/lib/plugins/usermanager/lang/de-informal/import.txt index 6fd6b8d8c..bc8887193 100644 --- a/lib/plugins/usermanager/lang/de-informal/import.txt +++ b/lib/plugins/usermanager/lang/de-informal/import.txt @@ -1,7 +1,7 @@ ===== Massenimport von Benutzern ===== Dieser Import benötigt eine CSV-Datei mit mindestens vier Spalten. Diese Spalten müssen die folgenden Daten (in dieser Reihenfolge) enthalten: Benutzername, Name, E-Mailadresse und Gruppenzugehörigkeit. -Die CSV-Felder müssen durch ein Komma (,) getrennt sein. Die Zeichenfolgen müssen von Anführungszeichen ("") umgeben sein. Ein Backslash (\) kann zum Maskieren benutzt werden. +Die CSV-Felder müssen durch ein Komma (,) getrennt sein. Die Zeichenfolgen müssen von Anführungszeichen (%%""%%) umgeben sein. Ein Backslash (\) kann zum Maskieren benutzt werden. Für eine Beispieldatei kannst Du die "Benutzer exportieren"-Funktion oben benutzen. Doppelte Benutzername werden ignoriert. Ein Passwort wird generiert und den einzelnen, erfolgreich importierten Benutzern zugemailt.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/de/import.txt b/lib/plugins/usermanager/lang/de/import.txt index bf0d2922e..7faca3b9a 100644 --- a/lib/plugins/usermanager/lang/de/import.txt +++ b/lib/plugins/usermanager/lang/de/import.txt @@ -1,7 +1,7 @@ ===== Benutzer-Massenimport ===== Um mehrere Benutzer gleichzeitig zu importieren, wird eine CSV-Datei mit den folgenden vier Spalten benötigt (In dieser Reihenfolge): Benutzer-ID, Voller Name, E-Mail-Adresse und Gruppen. -Die CSV-Felder sind Kommata-separiert (,) und mit Anführungszeichen eingefasst ("). Mit Backslashes (\) können Sonderzeichen maskiert werden. +Die CSV-Felder sind Kommata-separiert (,) und mit Anführungszeichen eingefasst (%%"%%). Mit Backslashes (\) können Sonderzeichen maskiert werden. Ein Beispiel für eine gültige Datei kann mit der Benutzer-Export-Funktion oben generiert werden. Doppelte Benutzer-IDs werden ignoriert. diff --git a/lib/plugins/usermanager/lang/en/import.txt b/lib/plugins/usermanager/lang/en/import.txt index 2087083e0..360a0689b 100644 --- a/lib/plugins/usermanager/lang/en/import.txt +++ b/lib/plugins/usermanager/lang/en/import.txt @@ -2,7 +2,7 @@ Requires a CSV file of users with at least four columns. The columns must contain, in order: user-id, full name, email address and groups. -The CSV fields should be separated by commas (,) and strings delimited by quotation marks (""). Backslash (\) can be used for escaping. +The CSV fields should be separated by commas (,) and strings delimited by quotation marks (%%""%%). Backslash (\) can be used for escaping. For an example of a suitable file, try the "Export Users" function above. Duplicate user-ids will be ignored. diff --git a/lib/plugins/usermanager/lang/en/lang.php b/lib/plugins/usermanager/lang/en/lang.php index f87c77afb..b55ecc998 100644 --- a/lib/plugins/usermanager/lang/en/lang.php +++ b/lib/plugins/usermanager/lang/en/lang.php @@ -76,4 +76,3 @@ $lang['import_error_create'] = 'Unable to create the user'; $lang['import_notify_fail'] = 'Notification message could not be sent for imported user, %s with email %s.'; $lang['import_downloadfailures'] = 'Download Failures as CSV for correction'; - diff --git a/lib/plugins/usermanager/lang/eo/import.txt b/lib/plugins/usermanager/lang/eo/import.txt index 61c2c74de..09fbe6911 100644 --- a/lib/plugins/usermanager/lang/eo/import.txt +++ b/lib/plugins/usermanager/lang/eo/import.txt @@ -2,7 +2,7 @@ Tio ĉi postulas CSV-dosiero de uzantoj kun minimume kvar kolumnoj. La kolumnoj devas enhavi, laŭorde: uzant-id, kompleta nomo, retadreso kaj grupoj. -La CSV-kampoj devos esti apartitaj per komoj (,) kaj ĉenoj devas esti limigitaj per citiloj (""). Retroklino (\) povas esti uzata por eskapo. +La CSV-kampoj devos esti apartitaj per komoj (,) kaj ĉenoj devas esti limigitaj per citiloj (%%""%%). Retroklino (\) povas esti uzata por eskapo. Por ekzemplo de taŭga dosiero, provu la funkcion "Eksporti uzantojn" supre. Duobligitaj uzant-id estos preteratentataj. diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index 26e4200e4..a557eacdd 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -24,6 +24,9 @@ * @author Ruben Figols <ruben.figols@gmail.com> * @author Gerardo Zamudio <gerardo@gerardozamudio.net> * @author Mercè López mercelz@gmail.com + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Jonathan Hernández <me@jhalicea.com> */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; @@ -46,6 +49,11 @@ $lang['search'] = 'Buscar'; $lang['search_prompt'] = 'Realizar la búsqueda'; $lang['clear'] = 'Limpiar los filtros de la búsqueda'; $lang['filter'] = 'Filtrar'; +$lang['export_all'] = 'Exportar Todos los Usuarios (CSV)'; +$lang['export_filtered'] = 'Exportar Lista de Usuarios Filtrada (CSV)'; +$lang['import'] = 'Importar Nuevos Usuarios'; +$lang['line'] = 'Línea nº'; +$lang['error'] = 'Mensaje de error'; $lang['summary'] = 'Mostrando los usuarios %1$d-%2$d de %3$d encontrados. Cantidad total de usuarios %4$d.'; $lang['nonefound'] = 'No se encontraron usuarios que coincidan con los párametros de la búsqueda. Cantidad total de usuarios %d.'; $lang['delete_ok'] = '%d usuarios eliminados'; @@ -66,3 +74,10 @@ $lang['add_ok'] = 'El usuario fue creado exitosamente'; $lang['add_fail'] = 'Falló la creación del usuario'; $lang['notify_ok'] = 'Se envió la notificación por correo electrónico'; $lang['notify_fail'] = 'No se pudo enviar la notificación por correo electrónico'; +$lang['import_userlistcsv'] = 'Lista de usuarios (CSV): '; +$lang['import_error_badmail'] = 'Dirección de correo electrónico incorrecta'; +$lang['import_error_upload'] = 'Error al importar. El archivo csv no se pudo cargar o está vacío.'; +$lang['import_error_readfail'] = 'Error al importar. No se puede leer el archivo subido.'; +$lang['import_error_create'] = 'No se puede crear el usuario'; +$lang['import_notify_fail'] = 'Mensaje de notificación no se ha podido enviar por el usuario importado,%s con el email %s.'; +$lang['import_downloadfailures'] = 'Descarga errores en archivo CSV para la corrección'; diff --git a/lib/plugins/usermanager/lang/et/lang.php b/lib/plugins/usermanager/lang/et/lang.php index 2161df918..deb1e0be1 100644 --- a/lib/plugins/usermanager/lang/et/lang.php +++ b/lib/plugins/usermanager/lang/et/lang.php @@ -1,16 +1,18 @@ <?php + /** - * Estonian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author kristian.kankainen@kuu.la * @author Rivo Zängov <eraser@eraser.ee> + * @author Janar Leas <janar.leas@eesti.ee> */ $lang['menu'] = 'Kasutajate haldamine'; $lang['user_id'] = 'Kasutaja'; $lang['user_pass'] = 'Parool'; $lang['user_name'] = 'Tegelik nimi'; $lang['user_mail'] = 'E-post'; -$lang['user_groups'] = 'Grupid'; +$lang['user_groups'] = 'Rühmad'; $lang['field'] = 'Väli'; $lang['value'] = 'Väärtus'; $lang['add'] = 'Lisa'; @@ -28,3 +30,4 @@ $lang['prev'] = 'eelmine'; $lang['next'] = 'järgmine'; $lang['last'] = 'viimased'; $lang['user_notify'] = 'Teavita kasutajat'; +$lang['note_group'] = 'Kui rühma pole määratletud, siis lisatakse uued kasutajad vaikimisi rühma (%s).'; diff --git a/lib/plugins/usermanager/lang/eu/lang.php b/lib/plugins/usermanager/lang/eu/lang.php index 5d3a01fc7..1fbe13739 100644 --- a/lib/plugins/usermanager/lang/eu/lang.php +++ b/lib/plugins/usermanager/lang/eu/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Basque language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Inko Illarramendi <inko.i.a@gmail.com> * @author Zigor Astarbe <astarbe@gmail.com> */ diff --git a/lib/plugins/usermanager/lang/fa/lang.php b/lib/plugins/usermanager/lang/fa/lang.php index a6a484411..bb2505a27 100644 --- a/lib/plugins/usermanager/lang/fa/lang.php +++ b/lib/plugins/usermanager/lang/fa/lang.php @@ -10,6 +10,8 @@ * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> * @author AmirH Hassaneini <mytechmix@gmail.com> + * @author Hamid <zarrabi@sharif.edu> + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> */ $lang['menu'] = 'مدیریت کاربر'; $lang['noauth'] = '(معتبرسازی کاربر ممکن نیست)'; @@ -32,23 +34,25 @@ $lang['search'] = 'جستجو'; $lang['search_prompt'] = 'انجام جستجو'; $lang['clear'] = 'بازنویسی فیلترهای جستجو'; $lang['filter'] = 'فیلتر'; +$lang['import'] = 'ورود کاربران جدید'; +$lang['error'] = 'متن خطا'; $lang['summary'] = 'نمایش کاربر %1$d-%2$d از %3$d. در کل %4$d کاربر.'; $lang['nonefound'] = 'هیچ کاربری یافت نشد. در کل %d کاربر.'; $lang['delete_ok'] = '%d کاربر حذف شد'; $lang['delete_fail'] = 'حذف %d کاربر با مشکل مواجه شد.'; -$lang['update_ok'] = 'کاربر با موفقیت به روز رسانی شد.'; -$lang['update_fail'] = 'به روز رسانی کاربر با مشکل مواجه شد'; -$lang['update_exists'] = 'تغییر نام کاربری ممکن نیست، نام کاربری مورد نظر (%s) قبلن وجود داشته (مابقی تغییرات اعمال شده است)'; +$lang['update_ok'] = 'کاربر با موفقیت بهروز شد.'; +$lang['update_fail'] = 'بهروزرسانی کاربر با مشکل مواجه شد'; +$lang['update_exists'] = 'تغییر نام کاربری ممکن نیست، نام کاربری مورد نظر (%s) از قبل وجود داشته است (مابقی تغییرات اعمال خواهد شد).'; $lang['start'] = 'شروع'; $lang['prev'] = 'قبلی'; $lang['next'] = 'بعدی'; $lang['last'] = 'آخرین'; -$lang['edit_usermissing'] = 'کاربر انتخاب شده یافت نشد، نام کاربری مورد نظر در جایی دیگر حذف شده یا تغییر کرده.'; +$lang['edit_usermissing'] = 'کاربر انتخاب شده یافت نشد، نام کاربری موردنظر در جایی دیگر حذف شده یا تغییر کرده است.'; $lang['user_notify'] = 'آگاه کردن کاربر'; $lang['note_notify'] = 'ایمیلی برای آگاهی، فقط در زمان تغییر گذرواژه ارسال میشود.'; $lang['note_group'] = 'اگر گروهی انتخاب نشود، کاربران جدید به گروه پیشفرض (%s) افزوده خواهند شد.'; $lang['note_pass'] = 'اگر فیلد گذرواژه خالی گذاشته شود، گذرواژه به طور خودکار تولید و ایمیلی برای کاربر ارسال خواهد شد.'; $lang['add_ok'] = 'کاربر با موفقیت افزوده شد'; $lang['add_fail'] = 'افزودن کاربر با مشکل مواجه شد'; -$lang['notify_ok'] = 'ایمیل آگاهی دهنده ارسال شد'; -$lang['notify_fail'] = 'ارسال ایمیل آگاهی دهنده با مشکل مواجه شد'; +$lang['notify_ok'] = 'ایمیل آگاهیدهنده ارسال شد'; +$lang['notify_fail'] = 'ارسال ایمیل آگاهیدهنده با مشکل مواجه شد'; diff --git a/lib/plugins/usermanager/lang/fi/lang.php b/lib/plugins/usermanager/lang/fi/lang.php index de243133a..dba67fb61 100644 --- a/lib/plugins/usermanager/lang/fi/lang.php +++ b/lib/plugins/usermanager/lang/fi/lang.php @@ -7,6 +7,7 @@ * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> * @author Sami Olmari <sami@olmari.fi> + * @author Jussi Takala <jussi.takala@live.fi> */ $lang['menu'] = 'Käyttäjähallinta'; $lang['noauth'] = '(autentikointi ei ole käytössä)'; @@ -29,6 +30,9 @@ $lang['search'] = 'Hae'; $lang['search_prompt'] = 'Tee haku'; $lang['clear'] = 'Tyhjennä hakusuodatin'; $lang['filter'] = 'Suodatin'; +$lang['import'] = 'Tuo uusia käyttäjiä'; +$lang['line'] = 'Rivi nro.'; +$lang['error'] = 'Vikailmoitus'; $lang['summary'] = 'Näytetään käyttäjät %1$d-%2$d / %3$d löytynyttä. %4$d käyttäjää yhteensä.'; $lang['nonefound'] = 'Ei löytynyt käyttäjiä. %d käyttäjää yhteensä.'; $lang['delete_ok'] = '%d käyttäjää poistettu'; @@ -49,3 +53,9 @@ $lang['add_ok'] = 'Käyttäjä lisätty onnistuneesti'; $lang['add_fail'] = 'Käyttäjän lisäys epäonnistui'; $lang['notify_ok'] = 'Ilmoitus sähköpostilla lähetetty'; $lang['notify_fail'] = 'Ilmoitusta sähköpostilla ei voitu lähettää'; +$lang['import_error_baduserid'] = 'Käyttäjätunnus puuttuu'; +$lang['import_error_badname'] = 'Epäkelpo nimi'; +$lang['import_error_badmail'] = 'Epäkelpo sähköpostiosoite'; +$lang['import_error_upload'] = 'Tuonti epäonnistui. CSV-tiedostoa ei voitu ladata tai se on tyhjä.'; +$lang['import_error_readfail'] = 'Tuonti epäonnistui. Ladattua tiedostoa ei voida lukea.'; +$lang['import_error_create'] = 'Käyttäjää ei voida luoda.'; diff --git a/lib/plugins/usermanager/lang/fr/import.txt b/lib/plugins/usermanager/lang/fr/import.txt index 191bb8370..a1eb8f858 100644 --- a/lib/plugins/usermanager/lang/fr/import.txt +++ b/lib/plugins/usermanager/lang/fr/import.txt @@ -3,7 +3,7 @@ Requière un fichier [[wpfr>CSV]] d'utilisateurs avec un minimum de quatre colonnes. Les colonnes doivent comporter, dans l'ordre : identifiant, nom complet, adresse de courriel et groupes. -Les champs doivent être séparés par une virgule (,), les chaînes sont délimitées par des guillemets (""). On peut utiliser la balance inverse (\) comme caractère d'échappement. +Les champs doivent être séparés par une virgule (,), les chaînes sont délimitées par des guillemets (%%""%%). On peut utiliser la balance inverse (\) comme caractère d'échappement. Pour obtenir un exemple de fichier acceptable, essayer la fonction "Exporter les utilisateurs" ci dessus. Les identifiants dupliqués seront ignorés. diff --git a/lib/plugins/usermanager/lang/hi/lang.php b/lib/plugins/usermanager/lang/hi/lang.php deleted file mode 100644 index d6f78ffd6..000000000 --- a/lib/plugins/usermanager/lang/hi/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * Hindi language file - * - * @author Abhinav Tyagi <abhinavtyagi11@gmail.com> - * @author yndesai@gmail.com - */ diff --git a/lib/plugins/usermanager/lang/hr/add.txt b/lib/plugins/usermanager/lang/hr/add.txt new file mode 100644 index 000000000..f7c866495 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/add.txt @@ -0,0 +1 @@ +===== Dodaj korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/delete.txt b/lib/plugins/usermanager/lang/hr/delete.txt new file mode 100644 index 000000000..072185fc1 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/delete.txt @@ -0,0 +1 @@ +===== Ukloni korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/edit.txt b/lib/plugins/usermanager/lang/hr/edit.txt new file mode 100644 index 000000000..752fd81f3 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/edit.txt @@ -0,0 +1 @@ +===== Uredi korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/import.txt b/lib/plugins/usermanager/lang/hr/import.txt new file mode 100644 index 000000000..85ea92723 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/import.txt @@ -0,0 +1,9 @@ +===== Masovni unos korisnika ===== + +Zahtjeva CSV datoteku popisa korisnika s minimalno četiri kolone. +Kolone moraju sadržavati redom: korisničko ime, puno ime, adresu e-pošte i grupe. +Polja trebaju biti odvojena zarezom (,) a znakovni nizovi s dvostrukim navodnicima (%%""%%). Obrnuta kosa crta (\) koristi se za specijalne kodove (escaping). +Koristite "Izvoz korisnika" funkciju da bi ste dobili primjer odgovarajuće datoteke. +Duplikati korisničkih imena biti će ignorirani. + +Uspješno kreiranim korisnicima lozinka će biti generirana i poslana e-poštom.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hr/intro.txt b/lib/plugins/usermanager/lang/hr/intro.txt new file mode 100644 index 000000000..0f156579b --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/intro.txt @@ -0,0 +1 @@ +====== Upravitelj korisnicima ======
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hr/lang.php b/lib/plugins/usermanager/lang/hr/lang.php index 96f1d6afe..a71afb60a 100644 --- a/lib/plugins/usermanager/lang/hr/lang.php +++ b/lib/plugins/usermanager/lang/hr/lang.php @@ -1,8 +1,66 @@ <?php + /** - * Croatian language file - * - * @author Branko Rihtman <theney@gmail.com> - * @author Dražen Odobašić <dodobasic@gmail.com> - * @author Dejan Igrec dejan.igrec@gmail.com + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> */ +$lang['menu'] = 'Upravitelj korisnicima'; +$lang['noauth'] = '(korisnička prijava nije dostupna)'; +$lang['nosupport'] = '(upravljanje korisnikom nije podržano)'; +$lang['badauth'] = 'pogrešan mehanizam prijave'; +$lang['user_id'] = 'Korisnik'; +$lang['user_pass'] = 'Lozinka'; +$lang['user_name'] = 'Stvarno ime'; +$lang['user_mail'] = 'E-pošta'; +$lang['user_groups'] = 'Grupe'; +$lang['field'] = 'Polje'; +$lang['value'] = 'Vrijednost'; +$lang['add'] = 'Dodaj'; +$lang['delete'] = 'Obriši'; +$lang['delete_selected'] = 'Obriši odabrano'; +$lang['edit'] = 'Uredi'; +$lang['edit_prompt'] = 'Uredi ovog korisnika'; +$lang['modify'] = 'Snimi promjene'; +$lang['search'] = 'Potraži'; +$lang['search_prompt'] = 'Izvedi potragu'; +$lang['clear'] = 'Obriši filtar potrage'; +$lang['filter'] = 'Filtar'; +$lang['export_all'] = 'Izvezi sve korisnike (CSV)'; +$lang['export_filtered'] = 'Izvezi filtriranu listu korisnika (CSV)'; +$lang['import'] = 'Unos novih korisnika'; +$lang['line'] = 'Linija br.'; +$lang['error'] = 'Poruka o grešci'; +$lang['summary'] = 'Prikaz korisnika %1$d-%2$d od %3$d nađenih. Ukupno %4$d korisnika.'; +$lang['nonefound'] = 'Nema korisnika koji odgovaraju filtru.Ukupno %d korisnika.'; +$lang['delete_ok'] = '%d korisnika obrisano'; +$lang['delete_fail'] = '%d neuspjelih brisanja.'; +$lang['update_ok'] = 'Korisnik uspješno izmijenjen'; +$lang['update_fail'] = 'Neuspjela izmjena korisnika'; +$lang['update_exists'] = 'Promjena korisničkog imena neuspješna, traženo ime (%s) već postoji (ostale izmjene biti će primijenjene).'; +$lang['start'] = 'početni'; +$lang['prev'] = 'prethodni'; +$lang['next'] = 'slijedeći'; +$lang['last'] = 'zadnji'; +$lang['edit_usermissing'] = 'Odabrani korisnik nije nađen, traženo korisničko ime vjerojatno je obrisano i promijenjeno negdje drugdje.'; +$lang['user_notify'] = 'Obavijesti korisnika'; +$lang['note_notify'] = 'Obavijest korisniku biti će poslana samo ako je upisana nova lozinka.'; +$lang['note_group'] = 'Novi korisnik biti će dodijeljen u podrazumijevanu grupu (%s) ako grupa nije specificirana.'; +$lang['note_pass'] = 'Lozinka će biti generirana ako se polje ostavi prazno i obavješćivanje korisnika je omogućeno.'; +$lang['add_ok'] = 'Korisnik uspješno dodan'; +$lang['add_fail'] = 'Neuspješno dodavanje korisnika'; +$lang['notify_ok'] = 'Poslana obavijest korisniku'; +$lang['notify_fail'] = 'Obavijest korisniku ne može biti poslana'; +$lang['import_userlistcsv'] = 'Datoteka s popisom korisnika (CSV):'; +$lang['import_header'] = 'Zadnje greške pri uvozu'; +$lang['import_success_count'] = 'Uvoz korisnika: %d korisnika nađeno, %d uspješno uvezeno'; +$lang['import_failure_count'] = 'Uvoz korisnika: %d neuspješno. Greške su navedene niže.'; +$lang['import_error_fields'] = 'Nedovoljan broj polja, nađeno %d, potrebno 4.'; +$lang['import_error_baduserid'] = 'Nedostaje korisničko ime'; +$lang['import_error_badname'] = 'Krivo ime'; +$lang['import_error_badmail'] = 'Kriva adresa e-pošte'; +$lang['import_error_upload'] = 'Uvoz neuspješan. CSV datoteka ne može biti učitana ili je prazna.'; +$lang['import_error_readfail'] = 'Uvoz neuspješan. Ne mogu pročitati učitanu datoteku.'; +$lang['import_error_create'] = 'Ne mogu kreirati korisnika'; +$lang['import_notify_fail'] = 'Obavijest uvezenom korisniku %s nije moguće poslati na adresu e-pošte %s.'; +$lang['import_downloadfailures'] = 'Preuzmi greške kao CSV za ispravak'; diff --git a/lib/plugins/usermanager/lang/hr/list.txt b/lib/plugins/usermanager/lang/hr/list.txt new file mode 100644 index 000000000..50b1d2513 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/list.txt @@ -0,0 +1 @@ +===== Lista korisnika =====
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hu/import.txt b/lib/plugins/usermanager/lang/hu/import.txt index 5a4bc8b1c..a2db03300 100644 --- a/lib/plugins/usermanager/lang/hu/import.txt +++ b/lib/plugins/usermanager/lang/hu/import.txt @@ -1,9 +1,9 @@ ==== Felhasználók tömeges importálása ==== -Egy, legalább 4 oszlopot tartalmazó, felhasználóikat tartalmazó fájl szükséges hozzá. -Az oszlopok kötelező tartalma, megfelelő sorrendben: felhasználói azonosító, teljes név, e-mailcím és csoportjai. -A CSV mezőit vesszővel (,) kell elválasztani, a szövegeket idézőjelek ("") közé kell foglalni. -Mintafájl megtekintéséhez próbáld ki a fenti, "Felhasználók exportálása" funkciót. A fordított törtvonallal (\) lehet kilépni. -Megegyező felhasználói azonosítók esetén, nem kerülnek feldolgozásra. +Szükséges egy legalább 4 oszlopot tartalmazó, felhasználókat tartalmazó fájl. +Az oszlopok kötelező tartalma, sorrendben: felhasználói azonosító, teljes név, e-mailcím és csoport. +A CSV-mezőket vesszővel (,) kell elválasztani, a szövegeket idézőjelek (%%""%%) közé kell tenni. A fordított törtvonal (\) használható feloldójelnek. +Megfelelő mintafájl megtekintéséhez próbáld ki a "Felhasználók exportálása" funkciót fentebb. +A duplán szereplő felhasználói azonosítók kihagyásra kerülnek. -Minden sikeresen importált felhasználó kap egy e-mailt, amiben megtalálja a generált jelszavát.
\ No newline at end of file +Minden sikeresen importált felhasználó számára jelszó készül, amelyet e-mailben kézhez kap.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hu/lang.php b/lib/plugins/usermanager/lang/hu/lang.php index dd76bfd50..963fcd1fc 100644 --- a/lib/plugins/usermanager/lang/hu/lang.php +++ b/lib/plugins/usermanager/lang/hu/lang.php @@ -11,6 +11,7 @@ * @author David Szabo <szabo.david@gyumolcstarhely.hu> * @author Marton Sebok <sebokmarton@gmail.com> * @author Serenity87HUN <anikototh87@gmail.com> + * @author Marina Vladi <deldadam@gmail.com> */ $lang['menu'] = 'Felhasználók kezelése'; $lang['noauth'] = '(A felhasználói azonosítás nem működik.)'; @@ -58,14 +59,14 @@ $lang['add_ok'] = 'A felhasználó sikeresen hozzáadva.'; $lang['add_fail'] = 'A felhasználó hozzáadása nem sikerült.'; $lang['notify_ok'] = 'Értesítő levél elküldve.'; $lang['notify_fail'] = 'Nem sikerült az értesítő levelet elküldeni.'; -$lang['import_userlistcsv'] = 'Felhasználók listája fájl (CSV)'; +$lang['import_userlistcsv'] = 'Felhasználók listájának fájlja (CSV)'; $lang['import_header'] = 'Legutóbbi importálás - Hibák'; $lang['import_success_count'] = 'Felhasználók importálása: %d felhasználót találtunk, ebből %d sikeresen importálva.'; $lang['import_failure_count'] = 'Felhasználók importálása: %d sikertelen. A sikertelenség okait lejjebb találod.'; $lang['import_error_fields'] = 'Túl kevés mezőt adtál meg, %d darabot találtunk, legalább 4-re van szükség.'; $lang['import_error_baduserid'] = 'Felhasználói azonosító hiányzik'; -$lang['import_error_badname'] = 'Nem megfelelő név'; -$lang['import_error_badmail'] = 'Nem megfelelő e-mailcím'; +$lang['import_error_badname'] = 'Helytelen név'; +$lang['import_error_badmail'] = 'Helytelen e-mailcím'; $lang['import_error_upload'] = 'Sikertelen importálás. A csv fájl nem feltölthető vagy üres.'; $lang['import_error_readfail'] = 'Sikertelen importálás. A feltöltött fájl nem olvasható.'; $lang['import_error_create'] = 'Ez a felhasználó nem hozható létre'; diff --git a/lib/plugins/usermanager/lang/id-ni/lang.php b/lib/plugins/usermanager/lang/id-ni/lang.php deleted file mode 100644 index d367340b7..000000000 --- a/lib/plugins/usermanager/lang/id-ni/lang.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -/** - * idni language file - * - * @author Harefa <fidelis@harefa.com> - * @author Yustinus Waruwu <juswaruwu@gmail.com> - */ diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index 6c6789442..ffded3481 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -16,6 +16,8 @@ * @author Matteo Pasotti <matteo@xquiet.eu> * @author snarchio@gmail.com * @author Claudio Lanconelli <lancos@libero.it> + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Fabio <fabioslurp@yahoo.it> */ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; @@ -40,6 +42,9 @@ $lang['clear'] = 'Azzera filtro di ricerca'; $lang['filter'] = 'Filtro'; $lang['export_all'] = 'Esporta tutti gli utenti (CSV)'; $lang['export_filtered'] = 'Esporta elenco utenti filtrati (CSV)'; +$lang['import'] = 'Importa nuovi utenti'; +$lang['line'] = 'Linea numero'; +$lang['error'] = 'Messaggio di errore'; $lang['summary'] = 'Visualizzazione utenti %1$d-%2$d di %3$d trovati. %4$d utenti totali.'; $lang['nonefound'] = 'Nessun utente trovato. %d utenti totali.'; $lang['delete_ok'] = '%d utenti eliminati'; @@ -60,3 +65,12 @@ $lang['add_ok'] = 'Utente aggiunto correttamente'; $lang['add_fail'] = 'Aggiunta utente fallita'; $lang['notify_ok'] = 'Email di notifica inviata'; $lang['notify_fail'] = 'L\'email di notifica non può essere inviata'; +$lang['import_success_count'] = 'Importazione utenti: %d utenti trovati, %d utenti importati con successo.'; +$lang['import_failure_count'] = 'Importazione utenti: %d falliti. Errori riportati qui sotto.'; +$lang['import_error_fields'] = 'Campi insufficienti, trovati %d, richiesti 4.'; +$lang['import_error_baduserid'] = 'User-id non trovato'; +$lang['import_error_badname'] = 'Nome errato'; +$lang['import_error_badmail'] = 'Indirizzo email errato'; +$lang['import_error_upload'] = 'Importazione fallita. Il file CSV non può essere caricato, o è vuoto.'; +$lang['import_error_readfail'] = 'Importazione in errore. Impossibile leggere i file caricati.'; +$lang['import_error_create'] = 'Impossibile creare l\'utente'; diff --git a/lib/plugins/usermanager/lang/ja/import.txt b/lib/plugins/usermanager/lang/ja/import.txt index 751e515ac..6af87c263 100644 --- a/lib/plugins/usermanager/lang/ja/import.txt +++ b/lib/plugins/usermanager/lang/ja/import.txt @@ -2,7 +2,7 @@ 少なくとも4列のユーザーCSVファイルが必要です。 列の順序:ユーザーID、氏名、電子メールアドレス、グループ。 -CSVフィールドはカンマ(,)区切り、文字列は引用符("")区切りです。 +CSVフィールドはカンマ(,)区切り、文字列は引用符(%%""%%)区切りです。 エスケープにバックスラッシュ(\)を使用できます。 適切なファイル例は、上記の"エクスポートユーザー"機能で試して下さい。 重複するユーザーIDは無視されます。 diff --git a/lib/plugins/usermanager/lang/ko/edit.txt b/lib/plugins/usermanager/lang/ko/edit.txt index a938c5b2e..0b35cd7d5 100644 --- a/lib/plugins/usermanager/lang/ko/edit.txt +++ b/lib/plugins/usermanager/lang/ko/edit.txt @@ -1 +1 @@ -===== 사용자 정보 편집 =====
\ No newline at end of file +===== 사용자 편집 =====
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ko/import.txt b/lib/plugins/usermanager/lang/ko/import.txt index 44fe392d0..6d077dfb8 100644 --- a/lib/plugins/usermanager/lang/ko/import.txt +++ b/lib/plugins/usermanager/lang/ko/import.txt @@ -2,7 +2,7 @@ 적어도 열 네 개가 있는 사용자의 CSV 파일이 필요합니다. 열은 다음과 같이 포함해야 합니다: 사용자 id, 실명, 이메일 주소와 그룹. -CSV 필드는 인용 부호("")로 쉼표(,)와 구분된 문자열로 구분해야 합니다. 백슬래시(\)는 탈출에 사용할 수 있습니다. +CSV 필드는 인용 부호(%%""%%)로 쉼표(,)와 구분된 문자열로 구분해야 합니다. 백슬래시(\)는 탈출에 사용할 수 있습니다. 적절한 파일의 예를 들어, 위의 "사용자 목록 내보내기"를 시도하세요. 중복된 사용자 id는 무시됩니다. diff --git a/lib/plugins/usermanager/lang/ko/intro.txt b/lib/plugins/usermanager/lang/ko/intro.txt index d75680c71..2ce85f1a2 100644 --- a/lib/plugins/usermanager/lang/ko/intro.txt +++ b/lib/plugins/usermanager/lang/ko/intro.txt @@ -1 +1 @@ -====== 사용자 관리 ======
\ No newline at end of file +====== 사용자 관리자 ======
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index ac129c95e..bc76470e8 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -13,7 +13,7 @@ * @author Garam <rowain8@gmail.com> */ $lang['menu'] = '사용자 관리자'; -$lang['noauth'] = '(사용자 인증이 불가능합니다)'; +$lang['noauth'] = '(사용자 인증을 사용할 수 없습니다)'; $lang['nosupport'] = '(사용자 관리가 지원되지 않습니다)'; $lang['badauth'] = '인증 메커니즘이 잘못되었습니다'; $lang['user_id'] = '사용자'; @@ -35,16 +35,16 @@ $lang['clear'] = '검색 필터 재설정'; $lang['filter'] = '필터'; $lang['export_all'] = '모든 사용자 목록 내보내기 (CSV)'; $lang['export_filtered'] = '필터된 사용자 목록 내보내기 (CSV)'; -$lang['import'] = '새 사용자 목록 가져오기'; +$lang['import'] = '새 사용자 가져오기'; $lang['line'] = '줄 번호'; $lang['error'] = '오류 메시지'; -$lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.'; +$lang['summary'] = '찾은 사용자 %3$d명 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.'; $lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자는 %d명입니다.'; $lang['delete_ok'] = '사용자 %d명이 삭제되었습니다'; $lang['delete_fail'] = '사용자 %d명을 삭제하는 데 실패했습니다.'; $lang['update_ok'] = '사용자 정보를 성공적으로 바꾸었습니다'; $lang['update_fail'] = '사용자 정보를 바꾸는 데 실패했습니다'; -$lang['update_exists'] = '사용자 이름을 바꾸는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)'; +$lang['update_exists'] = '사용자 이름을 바꾸는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다)'; $lang['start'] = '시작'; $lang['prev'] = '이전'; $lang['next'] = '다음'; @@ -68,6 +68,6 @@ $lang['import_error_badname'] = '잘못된 이름'; $lang['import_error_badmail'] = '잘못된 이메일 주소'; $lang['import_error_upload'] = '가져오기를 실패했습니다. csv 파일을 올릴 수 없거나 비어 있습니다.'; $lang['import_error_readfail'] = '가져오기를 실패했습니다. 올린 파일을 읽을 수 없습니다.'; -$lang['import_error_create'] = '사용자를 만들 수 없습니다.'; +$lang['import_error_create'] = '사용자를 만들 수 없습니다'; $lang['import_notify_fail'] = '알림 메시지를 가져온 %s (이메일: %s) 사용자에게 보낼 수 없습니다.'; $lang['import_downloadfailures'] = '교정을 위한 CSV로 다운로드 실패'; diff --git a/lib/plugins/usermanager/lang/lb/lang.php b/lib/plugins/usermanager/lang/lb/lang.php deleted file mode 100644 index 59acdf7a8..000000000 --- a/lib/plugins/usermanager/lang/lb/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * lb language file - * - * @author joel@schintgen.net - */ diff --git a/lib/plugins/usermanager/lang/lv/import.txt b/lib/plugins/usermanager/lang/lv/import.txt new file mode 100644 index 000000000..0006ae850 --- /dev/null +++ b/lib/plugins/usermanager/lang/lv/import.txt @@ -0,0 +1,9 @@ +===== Masveida lietotāju imports ===== + +Vajag CSV failu ar vismaz četrām lietotāju datu kolonām šādā secībā: identifikators, pilns vārds, e-pasta adrese un grupas. + +CSV lauki jāatdala ar komatiem (,) un virknes — ar pēdiņām (%%""%%). Backslash (\) can be used for escaping. +Derīga faila paraugam izmantojiem augtāk redzamo "Lietotāju eksportu". +Dublētus identifikatorus ignorēs. + +Paroli katram veiksmīgi importētajam lietotājam izveidos un nosūtīs pa e-pastu.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/lv/lang.php b/lib/plugins/usermanager/lang/lv/lang.php index 620678ff5..4944da31e 100644 --- a/lib/plugins/usermanager/lang/lv/lang.php +++ b/lib/plugins/usermanager/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.lv> * @author Aivars Miška <allefm@gmail.com> */ diff --git a/lib/plugins/usermanager/lang/ms/lang.php b/lib/plugins/usermanager/lang/ms/lang.php deleted file mode 100644 index 77ad2a1c1..000000000 --- a/lib/plugins/usermanager/lang/ms/lang.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php -/** - * Malay language file - * - * @author Markos - */ diff --git a/lib/plugins/usermanager/lang/nl/import.txt b/lib/plugins/usermanager/lang/nl/import.txt index 267891098..3a9320ecf 100644 --- a/lib/plugins/usermanager/lang/nl/import.txt +++ b/lib/plugins/usermanager/lang/nl/import.txt @@ -1,7 +1,7 @@ ===== Massa-import van gebruikers ===== Hiervoor is een CSV-bestand nodig van de gebruikers met minstens vier kolommen. De kolommen moeten bevatten, in deze volgorde: gebruikers-id, complete naam, e-mailadres en groepen. -Het CSV-velden moeten worden gescheiden met komma's (,) en de teksten moeten worden omringd met dubbele aanhalingstekens (""). Backslash (\) kan worden gebruikt om te escapen. +Het CSV-velden moeten worden gescheiden met komma's (,) en de teksten moeten worden omringd met dubbele aanhalingstekens (%%""%%). Backslash (\) kan worden gebruikt om te escapen. Voor een voorbeeld van een werkend bestand, probeer de "Exporteer Gebruikers" functie hierboven. Dubbele gebruikers-id's zullen worden genegeerd. diff --git a/lib/plugins/usermanager/lang/nl/intro.txt b/lib/plugins/usermanager/lang/nl/intro.txt index 7df09dbab..819e64d7d 100644 --- a/lib/plugins/usermanager/lang/nl/intro.txt +++ b/lib/plugins/usermanager/lang/nl/intro.txt @@ -1 +1 @@ -==== Gebruikersmanager =====
\ No newline at end of file +====== Gebruikersbeheer ====== diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index 5cebede89..3f9902e14 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -15,8 +15,9 @@ * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Rene <wllywlnt@yahoo.com> */ -$lang['menu'] = 'Gebruikersmanager'; +$lang['menu'] = 'Gebruikersbeheer'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; $lang['nosupport'] = '(gebruikersbeheer niet ondersteund)'; $lang['badauth'] = 'ongeldige authenticatiemethode'; diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php index b59649aa1..43ea69e53 100644 --- a/lib/plugins/usermanager/lang/pt/lang.php +++ b/lib/plugins/usermanager/lang/pt/lang.php @@ -8,6 +8,7 @@ * @author Fil <fil@meteopt.com> * @author André Neves <drakferion@gmail.com> * @author José Campos zecarlosdecampos@gmail.com + * @author Guido Salatino <guidorafael23@gmail.com> */ $lang['menu'] = 'Gestor de Perfis'; $lang['noauth'] = '(autenticação indisponível)'; @@ -33,6 +34,8 @@ $lang['filter'] = 'Filtro'; $lang['export_all'] = 'Exportar Todos os Utilizadores (CSV)'; $lang['export_filtered'] = 'Exportar a lista de utilizadores filtrada (CSV)'; $lang['import'] = 'Importar Novos Utilizadores'; +$lang['line'] = 'Linha nº +'; $lang['error'] = 'Mensagem de erro'; $lang['summary'] = 'Apresentar utilizadores %1$d-%2$d de %3$d encontrados. %4$d inscritos.'; $lang['nonefound'] = 'Nenhum utilizador encontrado. %d inscritos.'; @@ -54,11 +57,17 @@ $lang['add_ok'] = 'Utilizador adicionado.'; $lang['add_fail'] = 'Utilizador não adicionado.'; $lang['notify_ok'] = 'Mensagem de notificação enviada.'; $lang['notify_fail'] = 'Não foi possível enviar mensagem de notificação'; +$lang['import_userlistcsv'] = 'Arquivo de lista do usuário (CSV): +'; +$lang['import_header'] = 'Mais Recentes Importações - Falhas'; $lang['import_success_count'] = 'Importar Utilizadores: %d utiliyadores encontrados, %d importados com sucesso.'; $lang['import_failure_count'] = 'Importar Utilizadores: %d falharam. As falhas estão listadas abaixo.'; $lang['import_error_fields'] = 'Campos insuficientes, encontrados %d mas requeridos 4.'; $lang['import_error_baduserid'] = 'Falta id de utilizador'; +$lang['import_error_badname'] = 'Nome inválido'; +$lang['import_error_badmail'] = 'E-Mail inválido'; $lang['import_error_upload'] = 'Falhou a importação. O ficheiro csv não pôde ser importado ou está vazio.'; $lang['import_error_readfail'] = 'Falhou a importação. Não foi possível ler o ficheiro submetido.'; $lang['import_error_create'] = 'Não foi possível criar o utilizador.'; $lang['import_notify_fail'] = 'A mensagem de notificação não pôde ser enviada para o utilizador importado, %s com email %s.'; +$lang['import_downloadfailures'] = 'Baixe Falhas como CSV para a correção'; diff --git a/lib/plugins/usermanager/lang/ro/lang.php b/lib/plugins/usermanager/lang/ro/lang.php index 1b33cc4f8..55cbbed04 100644 --- a/lib/plugins/usermanager/lang/ro/lang.php +++ b/lib/plugins/usermanager/lang/ro/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Romanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Sergiu Baltariu <s_baltariu@yahoo.com> * @author s_baltariu@yahoo.com * @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro> diff --git a/lib/plugins/usermanager/lang/ru/import.txt b/lib/plugins/usermanager/lang/ru/import.txt index 3a25f34ce..22372c254 100644 --- a/lib/plugins/usermanager/lang/ru/import.txt +++ b/lib/plugins/usermanager/lang/ru/import.txt @@ -1,9 +1,9 @@ ===== Импорт нескольких пользователей ===== Потребуется список пользователей в файле формата CSV, состоящий из 4 столбцов. -Столбцы должны быть заполнены следующим образом: user-id, полное имя, эл. почта, группы. -Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (""). Обратный слэш используется как прерывание. -В качестве примера можете взять список пользователей, экспортированный через «Экспорт пользователей». +Столбцы должны быть заполнены следующим образом: user-id, полное имя, эл. почта, группы. +Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (%%""%%). Обратный слэш (\) используется как прерывание. +В качестве примера можете взять список пользователей, экспортированный через «Экспорт пользователей». Повторяющиеся идентификаторы user-id будут игнорироваться. -Пароль доступа будет сгенерирован и отправлен по почте удачно импортированному пользователю.
\ No newline at end of file +Пароль доступа будет сгенерирован и отправлен по почте удачно импортированному пользователю.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php index 3102ac32a..de650d681 100644 --- a/lib/plugins/usermanager/lang/ru/lang.php +++ b/lib/plugins/usermanager/lang/ru/lang.php @@ -19,6 +19,9 @@ * @author Johnny Utah <pcpa@cyberpunk.su> * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Pavel <ivanovtsk@mail.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Igor Degraf <igordegraf@gmail.com> + * @author Vitaly Filatenko <kot@hacktest.net> */ $lang['menu'] = 'Управление пользователями'; $lang['noauth'] = '(авторизация пользователей недоступна)'; @@ -66,13 +69,16 @@ $lang['add_ok'] = 'Пользователь успешно доб $lang['add_fail'] = 'Не удалось добавить пользователя'; $lang['notify_ok'] = 'Письмо с уведомлением отправлено'; $lang['notify_fail'] = 'Не удалось отправить письмо с уведомлением'; +$lang['import_userlistcsv'] = 'Файл со списком пользователей (CSV):'; +$lang['import_header'] = 'Последний импорт — список ошибок'; $lang['import_success_count'] = 'Импорт пользователей: %d пользователей найдено, %d импортировано успешно.'; $lang['import_failure_count'] = 'Импорт пользователей: %d не удалось. Список ошибок прочтите ниже.'; -$lang['import_error_fields'] = 'Не все поля заполнены. Найдено %d, а нужно 4.'; +$lang['import_error_fields'] = 'Не все поля заполнены. Найдено %d, а нужно: 4.'; $lang['import_error_baduserid'] = 'Отсутствует идентификатор пользователя'; $lang['import_error_badname'] = 'Имя не годится'; $lang['import_error_badmail'] = 'Адрес электронной почты не годится'; -$lang['import_error_upload'] = 'Импорт не удался. CSV файл не загружен или пуст.'; +$lang['import_error_upload'] = 'Импорт не удался. CSV-файл не загружен или пуст.'; $lang['import_error_readfail'] = 'Импорт не удался. Невозможно прочесть загруженный файл.'; $lang['import_error_create'] = 'Невозможно создать пользователя'; $lang['import_notify_fail'] = 'Оповещение не может быть отправлено импортированному пользователю %s по электронной почте %s.'; +$lang['import_downloadfailures'] = 'Скачать ошибки в формате CSV для исправления'; diff --git a/lib/plugins/usermanager/lang/sk/import.txt b/lib/plugins/usermanager/lang/sk/import.txt index 91fa3e370..2207f6162 100644 --- a/lib/plugins/usermanager/lang/sk/import.txt +++ b/lib/plugins/usermanager/lang/sk/import.txt @@ -2,7 +2,7 @@ Vyžaduje CSV súbor používateľov s minimálne 4 stĺpcami. Stĺpce musia obsahovať postupne: ID používateľa, meno a priezvisko, emailová adresa a skupiny. -CVS záznamy by mali byť oddelené čiarkou (,) a reťazce uzavreté úvodzovkami (""). Znak (\) sa používa v spojení so špeciálnymi znakmi. +CVS záznamy by mali byť oddelené čiarkou (,) a reťazce uzavreté úvodzovkami (%%""%%). Znak (\) sa používa v spojení so špeciálnymi znakmi. Príklad vhodného súboru je možné získať funkciou "Export používateľov". Duplicitné ID používateľov budú ignorované. diff --git a/lib/plugins/usermanager/lang/sk/lang.php b/lib/plugins/usermanager/lang/sk/lang.php index 9aadbb53a..535f77972 100644 --- a/lib/plugins/usermanager/lang/sk/lang.php +++ b/lib/plugins/usermanager/lang/sk/lang.php @@ -51,7 +51,7 @@ $lang['note_notify'] = 'Notifikačné e-maily iba vtedy, ak dostane u $lang['note_group'] = 'Noví užívatelia budú pridaní do východzej skupiny (%s), ak nie je pre nich špecifikovaná iná skupina.'; $lang['note_pass'] = 'Heslo bude vygenerované automaticky, ak bude pole prázdne a je zapnutá notifikácia používateľa.'; $lang['add_ok'] = 'Používateľ úspešne pridaný'; -$lang['add_fail'] = 'Pridávanie užívateľa nebolo úspešné'; +$lang['add_fail'] = 'Pridanie používateľa bolo neúspešné'; $lang['notify_ok'] = 'Notifikačný e-mail bol poslaný'; $lang['notify_fail'] = 'Notifikačný e-mail nemohol byť poslaný'; $lang['import_userlistcsv'] = 'Súbor so zoznamov používateľov (CSV):'; diff --git a/lib/plugins/usermanager/lang/sl/lang.php b/lib/plugins/usermanager/lang/sl/lang.php index dc2de375e..a10488e75 100644 --- a/lib/plugins/usermanager/lang/sl/lang.php +++ b/lib/plugins/usermanager/lang/sl/lang.php @@ -8,6 +8,7 @@ * @author Gregor Skumavc (grega.skumavc@gmail.com) * @author Matej Urbančič (mateju@svn.gnome.org) * @author Matej Urbančič <mateju@svn.gnome.org> + * @author matej <mateju@svn.gnome.org> */ $lang['menu'] = 'Upravljanje uporabnikov'; $lang['noauth'] = '(overjanje istovetnosti uporabnikov ni na voljo)'; @@ -30,6 +31,8 @@ $lang['search'] = 'Iskanje'; $lang['search_prompt'] = 'Poišči'; $lang['clear'] = 'Počisti filter iskanja'; $lang['filter'] = 'Filter'; +$lang['export_all'] = 'Izvozi seznam vseh uporabnikov (CSV)'; +$lang['export_filtered'] = 'Izvozi filtriran seznam uporabnikov (CSV)'; $lang['import'] = 'Uvozi nove uporabnike'; $lang['line'] = 'Številka vrstice'; $lang['error'] = 'Sporočilo napake'; @@ -53,6 +56,10 @@ $lang['add_ok'] = 'Uporabnik je uspešno dodan'; $lang['add_fail'] = 'Dodajanje uporabnika je spodletelo'; $lang['notify_ok'] = 'Obvestilno sporočilo je poslano.'; $lang['notify_fail'] = 'Obvestilnega sporočila ni mogoče poslati.'; +$lang['import_userlistcsv'] = 'Datoteka seznama uporabnikov (CSV)'; +$lang['import_header'] = 'Zadnji uvoz podatkov – napake'; +$lang['import_success_count'] = 'Uvoz uporabnikov: %d najdenih, %d uspešno uvoženih.'; +$lang['import_failure_count'] = 'Uvoz uporabnikov: %d spodletelih. Napake so izpisane spodaj.'; $lang['import_error_fields'] = 'Neustrezno število polj; najdenih je %d, zahtevana pa so 4.'; $lang['import_error_baduserid'] = 'Manjka ID uporabnika'; $lang['import_error_badname'] = 'Napačno navedeno ime'; @@ -61,3 +68,4 @@ $lang['import_error_upload'] = 'Uvoz je spodletel. Datoteke CSV ni mogoče nal $lang['import_error_readfail'] = 'Uvoz je spodletel. Ni mogoče prebrati vsebine datoteke.'; $lang['import_error_create'] = 'Ni mogoče ustvariti računa uporabnika'; $lang['import_notify_fail'] = 'Obvestilnega sporočila za uvoženega uporabnika %s z elektronskim naslovom %s ni mogoče poslati.'; +$lang['import_downloadfailures'] = 'Prejmi podatke o napakah v datoteki CSV'; diff --git a/lib/plugins/usermanager/lang/th/lang.php b/lib/plugins/usermanager/lang/th/lang.php index eb88d7b91..d6e14f65f 100644 --- a/lib/plugins/usermanager/lang/th/lang.php +++ b/lib/plugins/usermanager/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> diff --git a/lib/plugins/usermanager/lang/vi/lang.php b/lib/plugins/usermanager/lang/vi/lang.php deleted file mode 100644 index 2933d8875..000000000 --- a/lib/plugins/usermanager/lang/vi/lang.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php -/** - * Vietnamese language file - * - */ diff --git a/lib/plugins/usermanager/lang/zh-tw/import.txt b/lib/plugins/usermanager/lang/zh-tw/import.txt index a6bb5f6ef..925cdc9d0 100644 --- a/lib/plugins/usermanager/lang/zh-tw/import.txt +++ b/lib/plugins/usermanager/lang/zh-tw/import.txt @@ -2,7 +2,7 @@ 需提供 CSV 格式的使用者列表檔案(UTF-8 編碼)。 每列至少 4 欄,依序為:帳號、姓名、電郵、群組。 -各欄以半形逗號 (,) 分隔,有半形逗號的字串可用半形雙引號 ("") 分開,引號可用反斜線 (\) 跳脫。 +各欄以半形逗號 (,) 分隔,有半形逗號的字串可用半形雙引號 (%%""%%) 分開,引號可用反斜線 (\) 跳脫。 重複的使用者帳號會自動忽略。 如需要範例檔案,可用上面的「匯出使用者」取得。 diff --git a/lib/plugins/usermanager/lang/zh-tw/lang.php b/lib/plugins/usermanager/lang/zh-tw/lang.php index 3fb6b6712..61555254d 100644 --- a/lib/plugins/usermanager/lang/zh-tw/lang.php +++ b/lib/plugins/usermanager/lang/zh-tw/lang.php @@ -16,19 +16,14 @@ * @author Danny Lin <danny0838@gmail.com> */ $lang['menu'] = '帳號管理器'; - -// custom language strings for the plugin $lang['noauth'] = '(帳號認證尚未開放)'; $lang['nosupport'] = '(尚不支援帳號管理)'; - $lang['badauth'] = '錯誤的認證機制'; - $lang['user_id'] = '帳號'; $lang['user_pass'] = '密碼'; $lang['user_name'] = '名稱'; $lang['user_mail'] = '電郵'; $lang['user_groups'] = '群組'; - $lang['field'] = '欄位'; $lang['value'] = '設定值'; $lang['add'] = '增加'; @@ -46,7 +41,6 @@ $lang['export_filtered'] = '匯出篩選後的使用者列表 (CSV)'; $lang['import'] = '匯入新使用者'; $lang['line'] = '列號'; $lang['error'] = '錯誤訊息'; - $lang['summary'] = '顯示帳號 %1$d-%2$d,共 %3$d 筆符合。共有 %4$d 個帳號。'; $lang['nonefound'] = '找不到帳號。共有 %d 個帳號。'; $lang['delete_ok'] = '已刪除 %d 個帳號'; @@ -54,13 +48,10 @@ $lang['delete_fail'] = '%d 個帳號無法刪除。'; $lang['update_ok'] = '已更新該帳號'; $lang['update_fail'] = '無法更新該帳號'; $lang['update_exists'] = '無法變更帳號名稱 (%s) ,因為有同名帳號存在。其他修改則已套用。'; - $lang['start'] = '開始'; $lang['prev'] = '上一頁'; $lang['next'] = '下一頁'; $lang['last'] = '最後一頁'; - -// added after 2006-03-09 release $lang['edit_usermissing'] = '找不到選取的帳號,可能已被刪除或改為其他名稱。'; $lang['user_notify'] = '通知使用者'; $lang['note_notify'] = '通知信只會在指定使用者新密碼時寄送。'; @@ -70,8 +61,6 @@ $lang['add_ok'] = '已新增使用者'; $lang['add_fail'] = '無法新增使用者'; $lang['notify_ok'] = '通知信已寄出'; $lang['notify_fail'] = '通知信無法寄出'; - -// import & errors $lang['import_userlistcsv'] = '使用者列表檔案 (CSV): '; $lang['import_header'] = '最近一次匯入 - 失敗'; $lang['import_success_count'] = '使用者匯入:找到 %d 個使用者,已成功匯入 %d 個。'; diff --git a/lib/plugins/usermanager/lang/zh/import.txt b/lib/plugins/usermanager/lang/zh/import.txt index eacce5a77..243a53e84 100644 --- a/lib/plugins/usermanager/lang/zh/import.txt +++ b/lib/plugins/usermanager/lang/zh/import.txt @@ -1,7 +1,7 @@ ===== 批量导入用户 ===== 需要至少有 4 列的 CSV 格式用户列表文件。列必须按顺序包括:用户ID、全名、电子邮件地址和组。 -CSV 域需要用逗号 (,) 分隔,字符串用英文双引号 ("") 分开。反斜杠可以用来转义。 +CSV 域需要用逗号 (,) 分隔,字符串用英文双引号 (%%""%%) 分开。反斜杠可以用来转义。 可以尝试上面的“导入用户”功能来查看示例文件。重复的用户ID将被忽略。 密码生成后会通过电子邮件发送给每个成功导入的用户。
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/zh/lang.php b/lib/plugins/usermanager/lang/zh/lang.php index 25eb1a294..b833c6ce4 100644 --- a/lib/plugins/usermanager/lang/zh/lang.php +++ b/lib/plugins/usermanager/lang/zh/lang.php @@ -17,6 +17,7 @@ * @author Shuo-Ting Jian <shoting@gmail.com> * @author Rachel <rzhang0802@gmail.com> * @author Yangyu Huang <yangyu.huang@gmail.com> + * @author oott123 <ip.192.168.1.1@qq.com> */ $lang['menu'] = '用户管理器'; $lang['noauth'] = '(用户认证不可用)'; @@ -76,3 +77,4 @@ $lang['import_error_upload'] = '导入失败。CSV 文件无法上传或是空 $lang['import_error_readfail'] = '导入失败。无法读取上传的文件。'; $lang['import_error_create'] = '不能创建新用户'; $lang['import_notify_fail'] = '通知消息无法发送到导入的用户 %s,电子邮件地址是 %s。'; +$lang['import_downloadfailures'] = '下载CSV的错误信息以修正。'; diff --git a/lib/plugins/usermanager/plugin.info.txt b/lib/plugins/usermanager/plugin.info.txt index 315459122..ae4f9b9cc 100644 --- a/lib/plugins/usermanager/plugin.info.txt +++ b/lib/plugins/usermanager/plugin.info.txt @@ -1,7 +1,7 @@ base usermanager author Chris Smith email chris@jalakai.co.uk -date 2013-02-20 +date 2014-03-05 name User Manager desc Manage DokuWiki user accounts url http://dokuwiki.org/plugin:usermanager |