diff options
Diffstat (limited to 'lib')
98 files changed, 1744 insertions, 1468 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php index 9e1e22e1a..60e17ae82 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -465,8 +465,7 @@ function css_pluginstyles($mediatype='screen'){ * * @author Gabriel Birke <birke@d-scribe.de> */ -function css_moveimports($css) -{ +function css_moveimports($css) { if(!preg_match_all('/@import\s+(?:url\([^)]+\)|"[^"]+")\s*[^;]*;\s*/', $css, $matches, PREG_OFFSET_CAPTURE)) { return $css; } diff --git a/lib/exe/detail.php b/lib/exe/detail.php index 7008b126f..7aae08f76 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -11,8 +11,8 @@ $ID = cleanID($INPUT->str('id')); $INFO = array_merge(pageinfo(),mediainfo()); trigger_event('DETAIL_STARTED', $tmp=array()); -//close session
-session_write_close();
+//close session +session_write_close(); if($conf['allowdebug'] && $INPUT->has('debug')){ print '<pre>'; diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 57bee8925..3ab117736 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -31,12 +31,12 @@ else header('Content-Type: text/plain'); $tmp = array(); // No event data $evt = new Doku_Event('INDEXER_TASKS_RUN', $tmp); if ($evt->advise_before()) { - runIndexer() or - runSitemapper() or - sendDigest() or - runTrimRecentChanges() or - runTrimRecentChanges(true) or - $evt->advise_after(); + runIndexer() or + runSitemapper() or + sendDigest() or + runTrimRecentChanges() or + runTrimRecentChanges(true) or + $evt->advise_after(); } if(!$output) { @@ -85,13 +85,13 @@ function runTrimRecentChanges($media_changes = false) { $out_lines = array(); for ($i=0; $i<count($lines); $i++) { - $log = parseChangelogLine($lines[$i]); - if ($log === false) continue; // discard junk - if ($log['date'] < $trim_time) { - $old_lines[$log['date'].".$i"] = $lines[$i]; // keep old lines for now (append .$i to prevent key collisions) - } else { - $out_lines[$log['date'].".$i"] = $lines[$i]; // definitely keep these lines - } + $log = parseChangelogLine($lines[$i]); + if ($log === false) continue; // discard junk + if ($log['date'] < $trim_time) { + $old_lines[$log['date'].".$i"] = $lines[$i]; // keep old lines for now (append .$i to prevent key collisions) + } else { + $out_lines[$log['date'].".$i"] = $lines[$i]; // definitely keep these lines + } } if (count($lines)==count($out_lines)) { diff --git a/lib/exe/js.php b/lib/exe/js.php index 4b4b598de..76238a81b 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -194,8 +194,7 @@ function js_pluginscripts(){ * * @author Gabriel Birke <birke@d-scribe.de> */ -function js_pluginstrings() -{ +function js_pluginstrings() { global $conf; $pluginstrings = array(); $plugins = plugin_list(); diff --git a/lib/plugins/acl/lang/cs/lang.php b/lib/plugins/acl/lang/cs/lang.php index a4e59287a..8031612f7 100644 --- a/lib/plugins/acl/lang/cs/lang.php +++ b/lib/plugins/acl/lang/cs/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Czech language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Bohumir Zamecnik <bohumir@zamecnik.org> * @author Zbynek Krivka <zbynek.krivka@seznam.cz> * @author tomas@valenta.cz diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php index 3487f4257..35df13dc0 100644 --- a/lib/plugins/acl/lang/de-informal/lang.php +++ b/lib/plugins/acl/lang/de-informal/lang.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @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> diff --git a/lib/plugins/acl/lang/eo/lang.php b/lib/plugins/acl/lang/eo/lang.php index de75c2dd7..a5f607341 100644 --- a/lib/plugins/acl/lang/eo/lang.php +++ b/lib/plugins/acl/lang/eo/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Felipe Castro <fefcas@uol.com.br> * @author Felipo Kastro <fefcas@gmail.com> * @author Felipe Castro <fefcas@gmail.com> diff --git a/lib/plugins/acl/lang/ko/help.txt b/lib/plugins/acl/lang/ko/help.txt index 96aa80c10..9baeedbb9 100644 --- a/lib/plugins/acl/lang/ko/help.txt +++ b/lib/plugins/acl/lang/ko/help.txt @@ -5,4 +5,4 @@ * 위쪽 입력 양식에서 선택된 사용자와 그룹의 접근 권한을 보거나 바꿀 수 있습니다. * 아래 테이블에서 현재 설정된 모든 접근 제어 규칙을 볼 수 있으며, 즉시 여러 규칙을 삭제하거나 바꿀 수 있습니다. -도쿠위키에서 접근 제어가 어떻게 동작되는지 알아보려면 [[doku>ko:acl|ACL 공식 문서]]를 읽어보시기 바랍니다.
\ No newline at end of file +도쿠위키에서 접근 제어가 어떻게 동작되는지 알아보려면 [[doku>ko:acl|ACL 공식 문서]]를 읽어보시기 바랍니다.
\ No newline at end of file diff --git a/lib/plugins/acl/lang/ne/lang.php b/lib/plugins/acl/lang/ne/lang.php index 6a29a9fa8..5e6196a30 100644 --- a/lib/plugins/acl/lang/ne/lang.php +++ b/lib/plugins/acl/lang/ne/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Nepali language file - * + * @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> diff --git a/lib/plugins/acl/lang/pt-br/lang.php b/lib/plugins/acl/lang/pt-br/lang.php index c49b430f8..ef0ae6c8b 100644 --- a/lib/plugins/acl/lang/pt-br/lang.php +++ b/lib/plugins/acl/lang/pt-br/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Brazilian Portuguese language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Luis Fernando Enciso <lfenciso@certto.com.br> * @author Alauton/Loug * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> diff --git a/lib/plugins/acl/lang/pt/lang.php b/lib/plugins/acl/lang/pt/lang.php index d90bab624..4c2114d67 100644 --- a/lib/plugins/acl/lang/pt/lang.php +++ b/lib/plugins/acl/lang/pt/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Portuguese language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author José Carlos Monteiro <jose.c.monteiro@netcabo.pt> * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> * @author Enrico Nicoletto <liverig@gmail.com> diff --git a/lib/plugins/acl/lang/ru/lang.php b/lib/plugins/acl/lang/ru/lang.php index f042ab724..ff4740676 100644 --- a/lib/plugins/acl/lang/ru/lang.php +++ b/lib/plugins/acl/lang/ru/lang.php @@ -28,7 +28,7 @@ $lang['btn_select'] = 'Выбрать'; $lang['p_user_id'] = 'Сейчас пользователь <b class="acluser">%s</b> имеет следующие права на доступ к странице <b class="aclpage">%s</b>: <i>%s</i>.'; $lang['p_user_ns'] = 'Сейчас пользователь <b class="acluser">%s</b> имеет следующие права на доступ к пространству имён <b class="aclns">%s</b>: <i>%s</i>.'; $lang['p_group_id'] = 'Сейчас члены группы <b class="aclgroup">%s</b> имеют следующие права на доступ к странице <b class="aclpage">%s</b>: <i>%s</i>.'; -$lang['p_group_ns'] = 'Сейчас члены группы <b class="aclgroup">%s</b> cимеют следующие права на доступ к пространству имён <b class="aclns">%s</b>: <i>%s</i>.'; +$lang['p_group_ns'] = 'Сейчас члены группы <b class="aclgroup">%s</b> имеют следующие права на доступ к пространству имён <b class="aclns">%s</b>: <i>%s</i>.'; $lang['p_choose_id'] = 'Пожалуйста, <b>введите пользователя или группу</b> в форме выше, чтобы просмотреть или отредактировать права на доступ к странице <b class="aclpage">%s</b>.'; $lang['p_choose_ns'] = 'Пожалуйста, <b>введите пользователя или группу</b> в форме выше, чтобы просмотреть или отредактировать права на доступ к пространству имён <b class="aclns">%s</b>.'; $lang['p_inherited'] = 'Замечание: эти права доступа не были заданы явно, а были унаследованы от других групп или пространств имён более высокого порядка.'; diff --git a/lib/plugins/acl/lang/sl/lang.php b/lib/plugins/acl/lang/sl/lang.php index 44e45e491..303b18cff 100644 --- a/lib/plugins/acl/lang/sl/lang.php +++ b/lib/plugins/acl/lang/sl/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Slovenian language file - * + * @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) diff --git a/lib/plugins/acl/remote.php b/lib/plugins/acl/remote.php index 8f6dfbcd9..6d5201cf6 100644 --- a/lib/plugins/acl/remote.php +++ b/lib/plugins/acl/remote.php @@ -16,14 +16,14 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin { ), ); } - + function addAcl($scope, $user, $level){ - $apa = plugin_load('admin', 'acl'); + $apa = plugin_load('admin', 'acl'); return $apa->_acl_add($scope, $user, $level); } - + function delAcl($scope, $user){ - $apa = plugin_load('admin', 'acl'); + $apa = plugin_load('admin', 'acl'); return $apa->_acl_del($scope, $user); } } diff --git a/lib/plugins/action.php b/lib/plugins/action.php index a2ad969d7..04b4f07a6 100644 --- a/lib/plugins/action.php +++ b/lib/plugins/action.php @@ -14,10 +14,10 @@ if(!defined('DOKU_INC')) die(); */ class DokuWiki_Action_Plugin extends DokuWiki_Plugin { - /** - * Registers a callback function for a given event - */ - function register(Doku_Event_Handler $controller) { + /** + * Registers a callback function for a given event + */ + function register(Doku_Event_Handler $controller) { trigger_error('register() not implemented in '.get_class($this), E_USER_WARNING); - } + } } diff --git a/lib/plugins/authad/lang/cs/settings.php b/lib/plugins/authad/lang/cs/settings.php index 71f83afda..28222d332 100644 --- a/lib/plugins/authad/lang/cs/settings.php +++ b/lib/plugins/authad/lang/cs/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author mkucera66@seznam.cz */ $lang['account_suffix'] = 'Přípona vašeho účtu, tj. <code>@moje.domena.org</code>'; diff --git a/lib/plugins/authad/lang/de-informal/settings.php b/lib/plugins/authad/lang/de-informal/settings.php index a458617b8..782cf7c0f 100644 --- a/lib/plugins/authad/lang/de-informal/settings.php +++ b/lib/plugins/authad/lang/de-informal/settings.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Frank Loizzi <contact@software.bacal.de> * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Volker Bödker <volker@boedker.de> diff --git a/lib/plugins/authad/lang/eo/settings.php b/lib/plugins/authad/lang/eo/settings.php index 8bd34b439..ee672ecd3 100644 --- a/lib/plugins/authad/lang/eo/settings.php +++ b/lib/plugins/authad/lang/eo/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * */ $lang['account_suffix'] = 'Via konto-aldonaĵo, ekz. <code>@mia.domajno.lando</code>'; $lang['base_dn'] = 'Via baza DN, ekz. <code>DC=mia,DC=domajno,DC=lando</code>'; diff --git a/lib/plugins/authad/lang/pt-br/settings.php b/lib/plugins/authad/lang/pt-br/settings.php index 56f37b75f..76fb419a6 100644 --- a/lib/plugins/authad/lang/pt-br/settings.php +++ b/lib/plugins/authad/lang/pt-br/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Brazilian Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Victor Westmann <victor.westmann@gmail.com> * @author Frederico Guimarães <frederico@teia.bio.br> */ diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php new file mode 100644 index 000000000..45eff5e96 --- /dev/null +++ b/lib/plugins/authad/lang/pt/settings.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author André Neves <drakferion@gmail.com> + */ +$lang['admin_password'] = 'A senha para o utilizador acima.'; +$lang['sso'] = 'Deve ser usado o Single-Sign-On via Kerberos ou NTLM?'; +$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['expirywarn'] = 'Número de dias de avanço para avisar o utilizador da expiração da senha. 0 para desativar.'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index 4c394080e..f849c201a 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -1,6 +1,9 @@ <?php + /** - * Russian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) + * @author Aleksandr Selivanov <alexgearbox@gmail.com> */ +$lang['admin_password'] = 'Пароль для указанного пользователя.'; diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php index 783d2a3ae..b2b5b59dc 100644 --- a/lib/plugins/authldap/lang/cs/settings.php +++ b/lib/plugins/authldap/lang/cs/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author mkucera66@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>)'; diff --git a/lib/plugins/authldap/lang/de-informal/settings.php b/lib/plugins/authldap/lang/de-informal/settings.php index 15e4d8129..bdac7dd68 100644 --- a/lib/plugins/authldap/lang/de-informal/settings.php +++ b/lib/plugins/authldap/lang/de-informal/settings.php @@ -1,8 +1,8 @@ <?php + /** - * German informal language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Volker Bödker <volker@boedker.de> */ diff --git a/lib/plugins/authldap/lang/de/settings.php b/lib/plugins/authldap/lang/de/settings.php index b24c792f9..d788da876 100644 --- a/lib/plugins/authldap/lang/de/settings.php +++ b/lib/plugins/authldap/lang/de/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Matthias Schulte <dokuwiki@lupo49.de> + * @author christian studer <cstuder@existenz.ch> */ $lang['server'] = 'Adresse zum LDAP-Server. Entweder als Hostname (<code>localhost</code>) oder als FQDN (<code>ldap://server.tld:389</code>).'; $lang['port'] = 'Port des LDAP-Servers, falls kein Port angegeben wurde.'; @@ -14,9 +15,14 @@ $lang['groupfilter'] = 'LDAP-Filter, um die Benutzergruppen zu suchen. $lang['version'] = 'Zu verwendende Protokollversion von LDAP.'; $lang['starttls'] = 'Verbindung über TLS aufbauen?'; $lang['referrals'] = 'Weiterverfolgen von LDAP-Referrals (Verweise)?'; +$lang['deref'] = 'Wie sollen Aliase aufgelöst werden?'; $lang['binddn'] = 'DN eines optionalen Benutzers, wenn der anonyme Zugriff nicht ausreichend ist. Zum Beispiel: <code>cn=admin, dc=my, dc=home</code>.'; $lang['bindpw'] = 'Passwort des angegebenen Benutzers.'; $lang['userscope'] = 'Die Suchweite nach Benutzeraccounts.'; $lang['groupscope'] = 'Die Suchweite nach Benutzergruppen.'; $lang['groupkey'] = 'Gruppieren der Benutzeraccounts anhand eines beliebigen Benutzerattributes z. B. Telefonnummer oder Abteilung, anstelle der Standard-Gruppen).'; $lang['debug'] = 'Debug-Informationen beim Auftreten von Fehlern anzeigen?'; +$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/eo/settings.php b/lib/plugins/authldap/lang/eo/settings.php index 2863a1125..07b46c84a 100644 --- a/lib/plugins/authldap/lang/eo/settings.php +++ b/lib/plugins/authldap/lang/eo/settings.php @@ -1,7 +1,9 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@yahoo.com.br> */ $lang['server'] = 'Via LDAP-servilo. Aŭ servila nomo (<code>localhost</code>) aŭ plene detala URL (<code>ldap://servilo.lando:389</code>)'; $lang['port'] = 'LDAP-servila pordego, se vi supre ne indikis la plenan URL'; @@ -12,9 +14,14 @@ $lang['groupfilter'] = 'LDAP-filtrilo por serĉi grupojn, ekz. <code>( $lang['version'] = 'La uzenda protokolversio. Eble necesas indiki <code>3</code>'; $lang['starttls'] = 'Ĉu uzi TLS-konektojn?'; $lang['referrals'] = 'Ĉu sekvi referencojn?'; +$lang['deref'] = 'Kiel dereferencigi kromnomojn?'; $lang['binddn'] = 'DN de opcie bindita uzanto, se anonima bindado ne sufiĉas, ekz. <code>cn=admin, dc=mia, dc=hejmo</code>'; $lang['bindpw'] = 'Pasvorto de tiu uzanto'; $lang['userscope'] = 'Limigi serĉospacon de uzantaj serĉoj'; $lang['groupscope'] = 'Limigi serĉospacon por grupaj serĉoj'; $lang['groupkey'] = 'Grupa membreco de iu uzanta atributo (anstataŭ standardaj AD-grupoj), ekz. grupo de departemento aŭ telefonnumero'; $lang['debug'] = 'Ĉu montri aldonajn erarinformojn?'; +$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/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php index 898b8f37a..5c5341b31 100644 --- a/lib/plugins/authldap/lang/ko/settings.php +++ b/lib/plugins/authldap/lang/ko/settings.php @@ -21,7 +21,7 @@ $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)'; -$lang['deref_o_3'] = 'LDAP_DEREF_항상(ALWAYS)'; +$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-br/settings.php b/lib/plugins/authldap/lang/pt-br/settings.php index d12a9cf36..6ad6b4862 100644 --- a/lib/plugins/authldap/lang/pt-br/settings.php +++ b/lib/plugins/authldap/lang/pt-br/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Brazilian Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Victor Westmann <victor.westmann@gmail.com> * @author Frederico Guimarães <frederico@teia.bio.br> */ diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php new file mode 100644 index 000000000..a2ccf87ad --- /dev/null +++ b/lib/plugins/authldap/lang/pt/settings.php @@ -0,0 +1,18 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author André Neves <drakferion@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'; +$lang['usertree'] = 'Onde encontrar as contas de utilizador. Por exemplo <code>ou=Pessoas, dc=servidor, dc=tld</code>'; +$lang['grouptree'] = 'Onde encontrar os grupos de utilizadores. Por exemplo code>ou=Grupo, dc=servidor, dc=tld</code>'; +$lang['userfilter'] = 'Filtro LDAP para procurar por contas de utilizador. Por exemplo <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Filtro LDAP para procurar por grupos. Por exemplo <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$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['bindpw'] = 'Senha do utilizador acima'; +$lang['debug'] = 'Mostrar informação adicional de debug aquando de erros'; diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php index 4c394080e..70ad7b6f4 100644 --- a/lib/plugins/authldap/lang/ru/settings.php +++ b/lib/plugins/authldap/lang/ru/settings.php @@ -1,6 +1,9 @@ <?php + /** - * Russian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) + * @author Aleksandr Selivanov <alexgearbox@gmail.com> */ +$lang['bindpw'] = 'Пароль для указанного пользователя.'; diff --git a/lib/plugins/authmysql/lang/cs/settings.php b/lib/plugins/authmysql/lang/cs/settings.php index 7fedefbbb..350c3236b 100644 --- a/lib/plugins/authmysql/lang/cs/settings.php +++ b/lib/plugins/authmysql/lang/cs/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author mkucera66@seznam.cz */ $lang['server'] = 'Váš server MySQL'; diff --git a/lib/plugins/authmysql/lang/de-informal/settings.php b/lib/plugins/authmysql/lang/de-informal/settings.php index 540979cf4..d8d2778b9 100644 --- a/lib/plugins/authmysql/lang/de-informal/settings.php +++ b/lib/plugins/authmysql/lang/de-informal/settings.php @@ -1,8 +1,8 @@ <?php + /** - * German informal language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Volker Bödker <volker@boedker.de> */ diff --git a/lib/plugins/authmysql/lang/eo/settings.php b/lib/plugins/authmysql/lang/eo/settings.php index 907c761f8..92e973396 100644 --- a/lib/plugins/authmysql/lang/eo/settings.php +++ b/lib/plugins/authmysql/lang/eo/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * */ $lang['server'] = 'Via MySQL-servilo'; $lang['user'] = 'MySQL uzantonomo'; diff --git a/lib/plugins/authmysql/lang/pt-br/settings.php b/lib/plugins/authmysql/lang/pt-br/settings.php index 8ac775b54..1181a0b27 100644 --- a/lib/plugins/authmysql/lang/pt-br/settings.php +++ b/lib/plugins/authmysql/lang/pt-br/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Brazilian Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Victor Westmann <victor.westmann@gmail.com> * @author Frederico Guimarães <frederico@teia.bio.br> */ diff --git a/lib/plugins/authmysql/lang/pt/settings.php b/lib/plugins/authmysql/lang/pt/settings.php new file mode 100644 index 000000000..0c7f303e7 --- /dev/null +++ b/lib/plugins/authmysql/lang/pt/settings.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author André Neves <drakferion@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['debug'] = 'Mostrar informação adicional de debug'; +$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['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['debug_o_0'] = 'nenhum'; +$lang['debug_o_1'] = 'só aquando de erros'; diff --git a/lib/plugins/authmysql/lang/sl/settings.php b/lib/plugins/authmysql/lang/sl/settings.php new file mode 100644 index 000000000..5e82816df --- /dev/null +++ b/lib/plugins/authmysql/lang/sl/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Matej Urbančič <mateju@svn.gnome.org> + */ +$lang['database'] = 'Podatkovna zbirka za uporabo'; +$lang['debug_o_0'] = 'brez'; +$lang['debug_o_1'] = 'le ob napakah'; +$lang['debug_o_2'] = 'vse poizvedbe SQL'; diff --git a/lib/plugins/authpgsql/lang/cs/settings.php b/lib/plugins/authpgsql/lang/cs/settings.php index 06abe86f4..aec7eecf1 100644 --- a/lib/plugins/authpgsql/lang/cs/settings.php +++ b/lib/plugins/authpgsql/lang/cs/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author mkucera66@seznam.cz */ $lang['server'] = 'Váš server PostgreSQL'; diff --git a/lib/plugins/authpgsql/lang/de-informal/settings.php b/lib/plugins/authpgsql/lang/de-informal/settings.php index d864d14d4..3e3a0dc4e 100644 --- a/lib/plugins/authpgsql/lang/de-informal/settings.php +++ b/lib/plugins/authpgsql/lang/de-informal/settings.php @@ -1,8 +1,8 @@ <?php + /** - * German language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Volker Bödker <volker@boedker.de> */ diff --git a/lib/plugins/authpgsql/lang/eo/settings.php b/lib/plugins/authpgsql/lang/eo/settings.php index dbdfdd41b..2f59c4914 100644 --- a/lib/plugins/authpgsql/lang/eo/settings.php +++ b/lib/plugins/authpgsql/lang/eo/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * */ $lang['server'] = 'Via PostgreSQL-servilo'; $lang['port'] = 'Via PostgreSQL-servila pordego'; diff --git a/lib/plugins/authpgsql/lang/pt-br/settings.php b/lib/plugins/authpgsql/lang/pt-br/settings.php index 5ffe13465..8d7725392 100644 --- a/lib/plugins/authpgsql/lang/pt-br/settings.php +++ b/lib/plugins/authpgsql/lang/pt-br/settings.php @@ -1,7 +1,8 @@ <?php + /** - * Brazilian Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Victor Westmann <victor.westmann@gmail.com> * @author Frederico Guimarães <frederico@teia.bio.br> */ diff --git a/lib/plugins/authpgsql/lang/pt/settings.php b/lib/plugins/authpgsql/lang/pt/settings.php new file mode 100644 index 000000000..b33b81141 --- /dev/null +++ b/lib/plugins/authpgsql/lang/pt/settings.php @@ -0,0 +1,22 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author André Neves <drakferion@gmail.com> + */ +$lang['server'] = 'O seu servidor PostgreSQL'; +$lang['port'] = 'A porta do seu servidor PostgreSQL'; +$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['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['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'; diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php index 4c394080e..f5d0a77ee 100644 --- a/lib/plugins/authpgsql/lang/ru/settings.php +++ b/lib/plugins/authpgsql/lang/ru/settings.php @@ -1,6 +1,10 @@ <?php + /** - * Russian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) + * @author Aleksandr Selivanov <alexgearbox@gmail.com> */ +$lang['server'] = 'Ваш PostgreSQL-сервер'; +$lang['password'] = 'Пароль для указанного пользователя.'; diff --git a/lib/plugins/authpgsql/lang/sl/settings.php b/lib/plugins/authpgsql/lang/sl/settings.php new file mode 100644 index 000000000..4c369abc0 --- /dev/null +++ b/lib/plugins/authpgsql/lang/sl/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Matej Urbančič <mateju@svn.gnome.org> + */ +$lang['database'] = 'Podatkovna zbirka za uporabo'; diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index 29529760c..835d27775 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -38,168 +38,168 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { * handle user request */ function handle() { - global $ID, $INPUT; + 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()) return $this->_close_session(); + if ($INPUT->int('save') != 1) return $this->_close_session(); + if (!checkSecurityToken()) return $this->_close_session(); - 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(); + // don't go any further if the configuration is locked + if ($this->_config->_locked) return $this->_close_session(); - $this->_input = $INPUT->arr('config'); + $this->_input = $INPUT->arr('config'); - while (list($key) = each($this->_config->setting)) { - $input = isset($this->_input[$key]) ? $this->_input[$key] : NULL; - if ($this->_config->setting[$key]->update($input)) { - $this->_changed = true; + while (list($key) = each($this->_config->setting)) { + $input = isset($this->_input[$key]) ? $this->_input[$key] : null; + if ($this->_config->setting[$key]->update($input)) { + $this->_changed = true; + } + if ($this->_config->setting[$key]->error()) $this->_error = true; } - if ($this->_config->setting[$key]->error()) $this->_error = true; - } - if ($this->_changed && !$this->_error) { - $this->_config->save_settings($this->getPluginName()); + if ($this->_changed && !$this->_error) { + $this->_config->save_settings($this->getPluginName()); - // save state & force a page reload to get the new settings to take effect - $_SESSION['PLUGIN_CONFIG'] = array('state' => 'updated', 'time' => time()); - $this->_close_session(); - send_redirect(wl($ID,array('do'=>'admin','page'=>'config'),true,'&')); - exit(); - } elseif(!$this->_error) { - $this->_config->touch_settings(); // just touch to refresh cache - } + // save state & force a page reload to get the new settings to take effect + $_SESSION['PLUGIN_CONFIG'] = array('state' => 'updated', 'time' => time()); + $this->_close_session(); + send_redirect(wl($ID,array('do'=>'admin','page'=>'config'),true,'&')); + exit(); + } elseif(!$this->_error) { + $this->_config->touch_settings(); // just touch to refresh cache + } - $this->_close_session(); + $this->_close_session(); } /** * output appropriate html */ function html() { - $allow_debug = $GLOBALS['conf']['allowdebug']; // avoid global $conf; here. - global $lang; - global $ID; - - if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } - $this->setupLocale(true); - - print $this->locale_xhtml('intro'); - - ptln('<div id="config__manager">'); - - if ($this->_config->locked) - ptln('<div class="info">'.$this->getLang('locked').'</div>'); - elseif ($this->_error) - ptln('<div class="error">'.$this->getLang('error').'</div>'); - elseif ($this->_changed) - ptln('<div class="success">'.$this->getLang('updated').'</div>'); - - // POST to script() instead of wl($ID) so config manager still works if - // rewrite config is broken. Add $ID as hidden field to remember - // current ID in most cases. - ptln('<form action="'.script().'" method="post">'); - ptln('<div class="no"><input type="hidden" name="id" value="'.$ID.'" /></div>'); - formSecurityToken(); - $this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki')); - - $undefined_settings = array(); - $in_fieldset = false; - $first_plugin_fieldset = true; - $first_template_fieldset = true; - foreach($this->_config->setting as $setting) { - if (is_a($setting, 'setting_hidden')) { - // skip hidden (and undefined) settings - if ($allow_debug && is_a($setting, 'setting_undefined')) { - $undefined_settings[] = $setting; - } else { - continue; - } - } else if (is_a($setting, 'setting_fieldset')) { - // config setting group - if ($in_fieldset) { - ptln(' </table>'); - ptln(' </div>'); - ptln(' </fieldset>'); - } else { - $in_fieldset = true; - } - if ($first_plugin_fieldset && substr($setting->_key, 0, 10)=='plugin'.CM_KEYMARKER) { - $this->_print_h1('plugin_settings', $this->getLang('_header_plugin')); - $first_plugin_fieldset = false; - } else if ($first_template_fieldset && substr($setting->_key, 0, 7)=='tpl'.CM_KEYMARKER) { - $this->_print_h1('template_settings', $this->getLang('_header_template')); - $first_template_fieldset = false; - } - ptln(' <fieldset id="'.$setting->_key.'">'); - ptln(' <legend>'.$setting->prompt($this).'</legend>'); - ptln(' <div class="table">'); - ptln(' <table class="inline">'); - } else { - // config settings - list($label,$input) = $setting->html($this, $this->_error); - - $class = $setting->is_default() ? ' class="default"' : ($setting->is_protected() ? ' class="protected"' : ''); - $error = $setting->error() ? ' class="value error"' : ' class="value"'; - $icon = $setting->caution() ? '<img src="'.DOKU_PLUGIN_IMAGES.$setting->caution().'.png" alt="'.$setting->caution().'" title="'.$this->getLang($setting->caution()).'" />' : ''; - - ptln(' <tr'.$class.'>'); - ptln(' <td class="label">'); - ptln(' <span class="outkey">'.$setting->_out_key(true, true).'</span>'); - ptln(' '.$icon.$label); - ptln(' </td>'); - ptln(' <td'.$error.'>'.$input.'</td>'); - ptln(' </tr>'); + $allow_debug = $GLOBALS['conf']['allowdebug']; // avoid global $conf; here. + global $lang; + global $ID; + + if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } + $this->setupLocale(true); + + print $this->locale_xhtml('intro'); + + ptln('<div id="config__manager">'); + + if ($this->_config->locked) + ptln('<div class="info">'.$this->getLang('locked').'</div>'); + elseif ($this->_error) + ptln('<div class="error">'.$this->getLang('error').'</div>'); + elseif ($this->_changed) + ptln('<div class="success">'.$this->getLang('updated').'</div>'); + + // POST to script() instead of wl($ID) so config manager still works if + // rewrite config is broken. Add $ID as hidden field to remember + // current ID in most cases. + ptln('<form action="'.script().'" method="post">'); + ptln('<div class="no"><input type="hidden" name="id" value="'.$ID.'" /></div>'); + formSecurityToken(); + $this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki')); + + $undefined_settings = array(); + $in_fieldset = false; + $first_plugin_fieldset = true; + $first_template_fieldset = true; + foreach($this->_config->setting as $setting) { + if (is_a($setting, 'setting_hidden')) { + // skip hidden (and undefined) settings + if ($allow_debug && is_a($setting, 'setting_undefined')) { + $undefined_settings[] = $setting; + } else { + continue; + } + } else if (is_a($setting, 'setting_fieldset')) { + // config setting group + if ($in_fieldset) { + ptln(' </table>'); + ptln(' </div>'); + ptln(' </fieldset>'); + } else { + $in_fieldset = true; + } + if ($first_plugin_fieldset && substr($setting->_key, 0, 10)=='plugin'.CM_KEYMARKER) { + $this->_print_h1('plugin_settings', $this->getLang('_header_plugin')); + $first_plugin_fieldset = false; + } else if ($first_template_fieldset && substr($setting->_key, 0, 7)=='tpl'.CM_KEYMARKER) { + $this->_print_h1('template_settings', $this->getLang('_header_template')); + $first_template_fieldset = false; + } + ptln(' <fieldset id="'.$setting->_key.'">'); + ptln(' <legend>'.$setting->prompt($this).'</legend>'); + ptln(' <div class="table">'); + ptln(' <table class="inline">'); + } else { + // config settings + list($label,$input) = $setting->html($this, $this->_error); + + $class = $setting->is_default() ? ' class="default"' : ($setting->is_protected() ? ' class="protected"' : ''); + $error = $setting->error() ? ' class="value error"' : ' class="value"'; + $icon = $setting->caution() ? '<img src="'.DOKU_PLUGIN_IMAGES.$setting->caution().'.png" alt="'.$setting->caution().'" title="'.$this->getLang($setting->caution()).'" />' : ''; + + ptln(' <tr'.$class.'>'); + ptln(' <td class="label">'); + ptln(' <span class="outkey">'.$setting->_out_key(true, true).'</span>'); + ptln(' '.$icon.$label); + ptln(' </td>'); + ptln(' <td'.$error.'>'.$input.'</td>'); + ptln(' </tr>'); + } } - } - ptln(' </table>'); - ptln(' </div>'); - if ($in_fieldset) { - ptln(' </fieldset>'); - } + ptln(' </table>'); + ptln(' </div>'); + if ($in_fieldset) { + ptln(' </fieldset>'); + } - // show undefined settings list - if ($allow_debug && !empty($undefined_settings)) { - 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>'); - ptln('<div class="table">'); - ptln('<table class="inline">'); - $undefined_setting_match = array(); - foreach($undefined_settings as $setting) { - if (preg_match('/^(?:plugin|tpl)'.CM_KEYMARKER.'.*?'.CM_KEYMARKER.'(.*)$/', $setting->_key, $undefined_setting_match)) { - $undefined_setting_key = $undefined_setting_match[1]; - } else { - $undefined_setting_key = $setting->_key; - } - ptln(' <tr>'); - ptln(' <td class="label"><span title="$meta[\''.$undefined_setting_key.'\']">$'.$this->_config->_name.'[\''.$setting->_out_key().'\']</span></td>'); - ptln(' <td>'.$this->getLang('_msg_'.get_class($setting)).'</td>'); - ptln(' </tr>'); + // show undefined settings list + if ($allow_debug && !empty($undefined_settings)) { + 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>'); + ptln('<div class="table">'); + ptln('<table class="inline">'); + $undefined_setting_match = array(); + foreach($undefined_settings as $setting) { + if (preg_match('/^(?:plugin|tpl)'.CM_KEYMARKER.'.*?'.CM_KEYMARKER.'(.*)$/', $setting->_key, $undefined_setting_match)) { + $undefined_setting_key = $undefined_setting_match[1]; + } else { + $undefined_setting_key = $setting->_key; + } + ptln(' <tr>'); + ptln(' <td class="label"><span title="$meta[\''.$undefined_setting_key.'\']">$'.$this->_config->_name.'[\''.$setting->_out_key().'\']</span></td>'); + ptln(' <td>'.$this->getLang('_msg_'.get_class($setting)).'</td>'); + ptln(' </tr>'); + } + ptln('</table>'); + ptln('</div>'); + ptln('</fieldset>'); } - ptln('</table>'); - ptln('</div>'); - ptln('</fieldset>'); - } - // finish up form - ptln('<p>'); - ptln(' <input type="hidden" name="do" value="admin" />'); - ptln(' <input type="hidden" name="page" value="config" />'); + // finish up form + ptln('<p>'); + ptln(' <input type="hidden" name="do" value="admin" />'); + ptln(' <input type="hidden" name="page" value="config" />'); - if (!$this->_config->locked) { - ptln(' <input type="hidden" name="save" value="1" />'); - ptln(' <input type="submit" name="submit" class="button" value="'.$lang['btn_save'].'" accesskey="s" />'); - ptln(' <input type="reset" class="button" value="'.$lang['btn_reset'].'" />'); - } + if (!$this->_config->locked) { + ptln(' <input type="hidden" name="save" value="1" />'); + ptln(' <input type="submit" name="submit" class="button" value="'.$lang['btn_save'].'" accesskey="s" />'); + ptln(' <input type="reset" class="button" value="'.$lang['btn_reset'].'" />'); + } - ptln('</p>'); + ptln('</p>'); - ptln('</form>'); - ptln('</div>'); + ptln('</form>'); + ptln('</div>'); } /** @@ -207,28 +207,28 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { */ function _restore_session() { - // dokuwiki closes the session before act_dispatch. $_SESSION variables are all set, - // however they can't be changed without starting the session again - if (!headers_sent()) { - session_start(); - $this->_session_started = true; - } + // dokuwiki closes the session before act_dispatch. $_SESSION variables are all set, + // however they can't be changed without starting the session again + if (!headers_sent()) { + session_start(); + $this->_session_started = true; + } - if (!isset($_SESSION['PLUGIN_CONFIG'])) return true; + if (!isset($_SESSION['PLUGIN_CONFIG'])) return true; - $session = $_SESSION['PLUGIN_CONFIG']; - unset($_SESSION['PLUGIN_CONFIG']); + $session = $_SESSION['PLUGIN_CONFIG']; + unset($_SESSION['PLUGIN_CONFIG']); - // still valid? - if (time() - $session['time'] > 120) return true; + // still valid? + if (time() - $session['time'] > 120) return true; - switch ($session['state']) { - case 'updated' : - $this->_changed = true; - return false; - } + switch ($session['state']) { + case 'updated' : + $this->_changed = true; + return false; + } - return true; + return true; } function _close_session() { @@ -237,62 +237,62 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { function setupLocale($prompts=false) { - parent::setupLocale(); - if (!$prompts || $this->_localised_prompts) return; + parent::setupLocale(); + if (!$prompts || $this->_localised_prompts) return; - $this->_setup_localised_plugin_prompts(); - $this->_localised_prompts = true; + $this->_setup_localised_plugin_prompts(); + $this->_localised_prompts = true; } function _setup_localised_plugin_prompts() { - global $conf; - - $langfile = '/lang/'.$conf['lang'].'/settings.php'; - $enlangfile = '/lang/en/settings.php'; + global $conf; + + $langfile = '/lang/'.$conf['lang'].'/settings.php'; + $enlangfile = '/lang/en/settings.php'; + + if ($dh = opendir(DOKU_PLUGIN)) { + while (false !== ($plugin = readdir($dh))) { + if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp' || $plugin == 'config') continue; + if (is_file(DOKU_PLUGIN.$plugin)) continue; + + if (@file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){ + $lang = array(); + @include(DOKU_PLUGIN.$plugin.$enlangfile); + if ($conf['lang'] != 'en') @include(DOKU_PLUGIN.$plugin.$langfile); + foreach ($lang as $key => $value){ + $this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; + } + } + + // fill in the plugin name if missing (should exist for plugins with settings) + if (!isset($this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'])) { + $this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'] = + ucwords(str_replace('_', ' ', $plugin)); + } + } + closedir($dh); + } - if ($dh = opendir(DOKU_PLUGIN)) { - while (false !== ($plugin = readdir($dh))) { - if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp' || $plugin == 'config') continue; - if (is_file(DOKU_PLUGIN.$plugin)) continue; + // the same for the active template + $tpl = $conf['template']; - if (@file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){ + if (@file_exists(tpl_incdir().$enlangfile)){ $lang = array(); - @include(DOKU_PLUGIN.$plugin.$enlangfile); - if ($conf['lang'] != 'en') @include(DOKU_PLUGIN.$plugin.$langfile); + @include(tpl_incdir().$enlangfile); + if ($conf['lang'] != 'en') @include(tpl_incdir().$langfile); foreach ($lang as $key => $value){ - $this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; + $this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; } - } - - // fill in the plugin name if missing (should exist for plugins with settings) - if (!isset($this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'])) { - $this->lang['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'] = - ucwords(str_replace('_', ' ', $plugin)); - } } - closedir($dh); - } - - // the same for the active template - $tpl = $conf['template']; - if (@file_exists(tpl_incdir().$enlangfile)){ - $lang = array(); - @include(tpl_incdir().$enlangfile); - if ($conf['lang'] != 'en') @include(tpl_incdir().$langfile); - foreach ($lang as $key => $value){ - $this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; + // fill in the template name if missing (should exist for templates with settings) + if (!isset($this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'])) { + $this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'] = + ucwords(str_replace('_', ' ', $tpl)); } - } - - // fill in the template name if missing (should exist for templates with settings) - if (!isset($this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'])) { - $this->lang['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'] = - ucwords(str_replace('_', ' ', $tpl)); - } - return true; + return true; } /** @@ -301,59 +301,59 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { * @author Ben Coburn <btcoburn@silicodon.net> */ function getTOC() { - if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } - $this->setupLocale(true); - - $allow_debug = $GLOBALS['conf']['allowdebug']; // avoid global $conf; here. - - // gather toc data - $has_undefined = false; - $toc = array('conf'=>array(), 'plugin'=>array(), 'template'=>null); - foreach($this->_config->setting as $setting) { - if (is_a($setting, 'setting_fieldset')) { - if (substr($setting->_key, 0, 10)=='plugin'.CM_KEYMARKER) { - $toc['plugin'][] = $setting; - } else if (substr($setting->_key, 0, 7)=='tpl'.CM_KEYMARKER) { - $toc['template'] = $setting; - } else { - $toc['conf'][] = $setting; - } - } else if (!$has_undefined && is_a($setting, 'setting_undefined')) { - $has_undefined = true; + if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } + $this->setupLocale(true); + + $allow_debug = $GLOBALS['conf']['allowdebug']; // avoid global $conf; here. + + // gather toc data + $has_undefined = false; + $toc = array('conf'=>array(), 'plugin'=>array(), 'template'=>null); + foreach($this->_config->setting as $setting) { + if (is_a($setting, 'setting_fieldset')) { + if (substr($setting->_key, 0, 10)=='plugin'.CM_KEYMARKER) { + $toc['plugin'][] = $setting; + } else if (substr($setting->_key, 0, 7)=='tpl'.CM_KEYMARKER) { + $toc['template'] = $setting; + } else { + $toc['conf'][] = $setting; + } + } else if (!$has_undefined && is_a($setting, 'setting_undefined')) { + $has_undefined = true; + } } - } - // build toc - $t = array(); + // build toc + $t = array(); - $t[] = html_mktocitem('configuration_manager', $this->getLang('_configuration_manager'), 1); - $t[] = html_mktocitem('dokuwiki_settings', $this->getLang('_header_dokuwiki'), 1); - foreach($toc['conf'] as $setting) { - $name = $setting->prompt($this); - $t[] = html_mktocitem($setting->_key, $name, 2); - } - if (!empty($toc['plugin'])) { - $t[] = html_mktocitem('plugin_settings', $this->getLang('_header_plugin'), 1); - } - foreach($toc['plugin'] as $setting) { - $name = $setting->prompt($this); - $t[] = html_mktocitem($setting->_key, $name, 2); - } - if (isset($toc['template'])) { - $t[] = html_mktocitem('template_settings', $this->getLang('_header_template'), 1); - $setting = $toc['template']; - $name = $setting->prompt($this); - $t[] = html_mktocitem($setting->_key, $name, 2); - } - if ($has_undefined && $allow_debug) { - $t[] = html_mktocitem('undefined_settings', $this->getLang('_header_undefined'), 1); - } + $t[] = html_mktocitem('configuration_manager', $this->getLang('_configuration_manager'), 1); + $t[] = html_mktocitem('dokuwiki_settings', $this->getLang('_header_dokuwiki'), 1); + foreach($toc['conf'] as $setting) { + $name = $setting->prompt($this); + $t[] = html_mktocitem($setting->_key, $name, 2); + } + if (!empty($toc['plugin'])) { + $t[] = html_mktocitem('plugin_settings', $this->getLang('_header_plugin'), 1); + } + foreach($toc['plugin'] as $setting) { + $name = $setting->prompt($this); + $t[] = html_mktocitem($setting->_key, $name, 2); + } + if (isset($toc['template'])) { + $t[] = html_mktocitem('template_settings', $this->getLang('_header_template'), 1); + $setting = $toc['template']; + $name = $setting->prompt($this); + $t[] = html_mktocitem($setting->_key, $name, 2); + } + if ($has_undefined && $allow_debug) { + $t[] = html_mktocitem('undefined_settings', $this->getLang('_header_undefined'), 1); + } - return $t; + return $t; } function _print_h1($id, $text) { - ptln('<h1 id="'.$id.'">'.$text.'</h1>'); + ptln('<h1 id="'.$id.'">'.$text.'</h1>'); } diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 67d3ce51f..cdef85a85 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -63,7 +63,7 @@ $lang['baseurl'] = 'Server URL (eg. <code>http://www.yourserver.com</code>). $lang['cookiedir'] = 'Cookie path. Leave blank for using baseurl.'; $lang['dmode'] = 'Directory creation mode'; $lang['fmode'] = 'File creation mode'; -$lang['allowdebug'] = 'Allow debug <b>disable if not needed!</b>'; +$lang['allowdebug'] = 'Allow debug. <b>Disable if not needed!</b>'; /* Display Settings */ $lang['recent'] = 'Number of entries per page in the recent changes'; @@ -83,7 +83,7 @@ $lang['camelcase'] = 'Use CamelCase for links'; $lang['deaccent'] = 'How to clean pagenames'; $lang['useheading'] = 'Use first heading for pagenames'; $lang['sneaky_index'] = 'By default, DokuWiki will show all namespaces in the sitemap. Enabling this option will hide those where the user doesn\'t have read permissions. This might result in hiding of accessable subnamespaces which may make the index unusable with certain ACL setups.'; -$lang['hidepages'] = 'Hide pages matching this regular expressions from search, the sitemap and other automatic indexes'; +$lang['hidepages'] = 'Hide pages matching this regular expression from search, the sitemap and other automatic indexes'; /* Authentication Settings */ $lang['useacl'] = 'Use access control lists'; @@ -181,7 +181,7 @@ $lang['proxy____port'] = 'Proxy port'; $lang['proxy____user'] = 'Proxy user name'; $lang['proxy____pass'] = 'Proxy password'; $lang['proxy____ssl'] = 'Use SSL to connect to proxy'; -$lang['proxy____except'] = 'Regular expression to match URLs for which the proxy should be skipped for.'; +$lang['proxy____except'] = 'Regular expression to match URLs for which the proxy should be skipped.'; /* Safemode Hack */ $lang['safemodehack'] = 'Enable safemode hack'; diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 6de560128..182a4c65f 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -1,9 +1,9 @@ <?php /** - * Configuration Class and generic setting classes + * Configuration Class and generic setting classes * - * @author Chris Smith <chris@jalakai.co.uk> - * @author Ben Coburn <btcoburn@silicodon.net> + * @author Chris Smith <chris@jalakai.co.uk> + * @author Ben Coburn <btcoburn@silicodon.net> */ @@ -11,500 +11,500 @@ if(!defined('CM_KEYMARKER')) define('CM_KEYMARKER','____'); if (!class_exists('configuration')) { - class configuration { - - var $_name = 'conf'; // name of the config variable found in the files (overridden by $config['varname']) - var $_format = 'php'; // format of the config file, supported formats - php (overridden by $config['format']) - 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 = array(); // array of setting objects - var $locked = false; // configuration is considered locked if it can't be updated - var $show_disabled_plugins = false; - - // configuration filenames - var $_default_files = array(); - var $_local_files = array(); // updated configuration is written to the first file - var $_protected_files = array(); - - var $_plugin_list = null; - - /** - * constructor - */ - function configuration($datafile) { - global $conf, $config_cascade; - - if (!@file_exists($datafile)) { - msg('No configuration metadata found at - '.htmlspecialchars($datafile),-1); - return; - } - $meta = array(); - include($datafile); + class configuration { - if (isset($config['varname'])) $this->_name = $config['varname']; - if (isset($config['format'])) $this->_format = $config['format']; - if (isset($config['heading'])) $this->_heading = $config['heading']; + var $_name = 'conf'; // name of the config variable found in the files (overridden by $config['varname']) + var $_format = 'php'; // format of the config file, supported formats - php (overridden by $config['format']) + 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 = array(); // array of setting objects + var $locked = false; // configuration is considered locked if it can't be updated + var $show_disabled_plugins = false; - $this->_default_files = $config_cascade['main']['default']; - $this->_local_files = $config_cascade['main']['local']; - $this->_protected_files = $config_cascade['main']['protected']; + // configuration filenames + var $_default_files = array(); + var $_local_files = array(); // updated configuration is written to the first file + var $_protected_files = array(); - $this->locked = $this->_is_locked(); - $this->_metadata = array_merge($meta, $this->get_plugintpl_metadata($conf['template'])); - $this->retrieve_settings(); - } + var $_plugin_list = null; - function retrieve_settings() { - global $conf; - $no_default_check = array('setting_fieldset', 'setting_undefined', 'setting_no_class'); + /** + * constructor + */ + function configuration($datafile) { + global $conf, $config_cascade; - if (!$this->_loaded) { - $default = array_merge($this->get_plugintpl_default($conf['template']), $this->_read_config_group($this->_default_files)); - $local = $this->_read_config_group($this->_local_files); - $protected = $this->_read_config_group($this->_protected_files); + if (!@file_exists($datafile)) { + msg('No configuration metadata found at - '.htmlspecialchars($datafile),-1); + return; + } + $meta = array(); + include($datafile); - $keys = array_merge(array_keys($this->_metadata),array_keys($default), array_keys($local), array_keys($protected)); - $keys = array_unique($keys); + if (isset($config['varname'])) $this->_name = $config['varname']; + if (isset($config['format'])) $this->_format = $config['format']; + if (isset($config['heading'])) $this->_heading = $config['heading']; - $param = null; - foreach ($keys as $key) { - if (isset($this->_metadata[$key])) { - $class = $this->_metadata[$key][0]; + $this->_default_files = $config_cascade['main']['default']; + $this->_local_files = $config_cascade['main']['local']; + $this->_protected_files = $config_cascade['main']['protected']; - if($class && class_exists('setting_'.$class)){ - $class = 'setting_'.$class; - } else { - if($class != '') { - $this->setting[] = new setting_no_class($key,$param); + $this->locked = $this->_is_locked(); + $this->_metadata = array_merge($meta, $this->get_plugintpl_metadata($conf['template'])); + $this->retrieve_settings(); + } + + function retrieve_settings() { + global $conf; + $no_default_check = array('setting_fieldset', 'setting_undefined', 'setting_no_class'); + + if (!$this->_loaded) { + $default = array_merge($this->get_plugintpl_default($conf['template']), $this->_read_config_group($this->_default_files)); + $local = $this->_read_config_group($this->_local_files); + $protected = $this->_read_config_group($this->_protected_files); + + $keys = array_merge(array_keys($this->_metadata),array_keys($default), array_keys($local), array_keys($protected)); + $keys = array_unique($keys); + + $param = null; + foreach ($keys as $key) { + if (isset($this->_metadata[$key])) { + $class = $this->_metadata[$key][0]; + + if($class && class_exists('setting_'.$class)){ + $class = 'setting_'.$class; + } else { + if($class != '') { + $this->setting[] = new setting_no_class($key,$param); + } + $class = 'setting'; + } + + $param = $this->_metadata[$key]; + array_shift($param); + } else { + $class = 'setting_undefined'; + $param = null; + } + + if (!in_array($class, $no_default_check) && !isset($default[$key])) { + $this->setting[] = new setting_no_default($key,$param); + } + + $this->setting[$key] = new $class($key,$param); + $this->setting[$key]->initialize($default[$key],$local[$key],$protected[$key]); } - $class = 'setting'; - } - $param = $this->_metadata[$key]; - array_shift($param); - } else { - $class = 'setting_undefined'; - $param = null; + $this->_loaded = true; } + } - if (!in_array($class, $no_default_check) && !isset($default[$key])) { - $this->setting[] = new setting_no_default($key,$param); - } + function save_settings($id, $header='', $backup=true) { + global $conf; - $this->setting[$key] = new $class($key,$param); - $this->setting[$key]->initialize($default[$key],$local[$key],$protected[$key]); - } + if ($this->locked) return false; - $this->_loaded = true; - } - } - - function save_settings($id, $header='', $backup=true) { - global $conf; + // write back to the last file in the local config cascade + $file = end($this->_local_files); - if ($this->locked) return false; + // backup current file (remove any existing backup) + if (@file_exists($file) && $backup) { + if (@file_exists($file.'.bak')) @unlink($file.'.bak'); + if (!io_rename($file, $file.'.bak')) return false; + } - // write back to the last file in the local config cascade - $file = end($this->_local_files); + if (!$fh = @fopen($file, 'wb')) { + io_rename($file.'.bak', $file); // problem opening, restore the backup + return false; + } - // backup current file (remove any existing backup) - if (@file_exists($file) && $backup) { - if (@file_exists($file.'.bak')) @unlink($file.'.bak'); - if (!io_rename($file, $file.'.bak')) return false; - } + if (empty($header)) $header = $this->_heading; - if (!$fh = @fopen($file, 'wb')) { - io_rename($file.'.bak', $file); // problem opening, restore the backup - return false; - } + $out = $this->_out_header($id,$header); - if (empty($header)) $header = $this->_heading; + foreach ($this->setting as $setting) { + $out .= $setting->out($this->_name, $this->_format); + } - $out = $this->_out_header($id,$header); + $out .= $this->_out_footer(); - foreach ($this->setting as $setting) { - $out .= $setting->out($this->_name, $this->_format); - } + @fwrite($fh, $out); + fclose($fh); + if($conf['fperm']) chmod($file, $conf['fperm']); + return true; + } - $out .= $this->_out_footer(); + /** + * Update last modified time stamp of the config file + */ + function touch_settings(){ + if ($this->locked) return false; + $file = end($this->_local_files); + return @touch($file); + } - @fwrite($fh, $out); - fclose($fh); - if($conf['fperm']) chmod($file, $conf['fperm']); - return true; - } + function _read_config_group($files) { + $config = array(); + foreach ($files as $file) { + $config = array_merge($config, $this->_read_config($file)); + } - /** - * Update last modified time stamp of the config file - */ - function touch_settings(){ - if ($this->locked) return false; - $file = end($this->_local_files); - return @touch($file); - } + return $config; + } - function _read_config_group($files) { - $config = array(); - foreach ($files as $file) { - $config = array_merge($config, $this->_read_config($file)); - } + /** + * return an array of config settings + */ + function _read_config($file) { - return $config; - } + if (!$file) return array(); - /** - * return an array of config settings - */ - function _read_config($file) { + $config = array(); - if (!$file) return array(); + if ($this->_format == 'php') { - $config = array(); + if(@file_exists($file)){ + $contents = @php_strip_whitespace($file); + }else{ + $contents = ''; + } + $pattern = '/\$'.$this->_name.'\[[\'"]([^=]+)[\'"]\] ?= ?(.*?);(?=[^;]*(?:\$'.$this->_name.'|$))/s'; + $matches=array(); + preg_match_all($pattern,$contents,$matches,PREG_SET_ORDER); - if ($this->_format == 'php') { + for ($i=0; $i<count($matches); $i++) { + $value = $matches[$i][2]; - if(@file_exists($file)){ - $contents = @php_strip_whitespace($file); - }else{ - $contents = ''; - } - $pattern = '/\$'.$this->_name.'\[[\'"]([^=]+)[\'"]\] ?= ?(.*?);(?=[^;]*(?:\$'.$this->_name.'|$))/s'; - $matches=array(); - preg_match_all($pattern,$contents,$matches,PREG_SET_ORDER); - for ($i=0; $i<count($matches); $i++) { - $value = $matches[$i][2]; + // correct issues with the incoming data + // FIXME ... for now merge multi-dimensional array indices using ____ + $key = preg_replace('/.\]\[./',CM_KEYMARKER,$matches[$i][1]); - // correct issues with the incoming data - // FIXME ... for now merge multi-dimensional array indices using ____ - $key = preg_replace('/.\]\[./',CM_KEYMARKER,$matches[$i][1]); + // handle arrays + if(preg_match('/^array ?\((.*)\)/', $value, $match)){ + $arr = explode(',', $match[1]); + // remove quotes from quoted strings & unescape escaped data + $len = count($arr); + for($j=0; $j<$len; $j++){ + $arr[$j] = trim($arr[$j]); + $arr[$j] = preg_replace('/^(\'|")(.*)(?<!\\\\)\1$/s','$2',$arr[$j]); + $arr[$j] = strtr($arr[$j], array('\\\\'=>'\\','\\\''=>'\'','\\"'=>'"')); + } - // handle arrays - if(preg_match('/^array ?\((.*)\)/', $value, $match)){ - $arr = explode(',', $match[1]); + $value = $arr; + }else{ + // remove quotes from quoted strings & unescape escaped data + $value = preg_replace('/^(\'|")(.*)(?<!\\\\)\1$/s','$2',$value); + $value = strtr($value, array('\\\\'=>'\\','\\\''=>'\'','\\"'=>'"')); + } - // remove quotes from quoted strings & unescape escaped data - $len = count($arr); - for($j=0; $j<$len; $j++){ - $arr[$j] = trim($arr[$j]); - $arr[$j] = preg_replace('/^(\'|")(.*)(?<!\\\\)\1$/s','$2',$arr[$j]); - $arr[$j] = strtr($arr[$j], array('\\\\'=>'\\','\\\''=>'\'','\\"'=>'"')); + $config[$key] = $value; + } } - $value = $arr; - }else{ - // remove quotes from quoted strings & unescape escaped data - $value = preg_replace('/^(\'|")(.*)(?<!\\\\)\1$/s','$2',$value); - $value = strtr($value, array('\\\\'=>'\\','\\\''=>'\'','\\"'=>'"')); - } - - $config[$key] = $value; + return $config; } - } - return $config; - } + function _out_header($id, $header) { + $out = ''; + if ($this->_format == 'php') { + $out .= '<'.'?php'."\n". + "/*\n". + " * ".$header."\n". + " * Auto-generated by ".$id." plugin\n". + " * Run for user: ".$_SERVER['REMOTE_USER']."\n". + " * Date: ".date('r')."\n". + " */\n\n"; + } - function _out_header($id, $header) { - $out = ''; - if ($this->_format == 'php') { - $out .= '<'.'?php'."\n". - "/*\n". - " * ".$header."\n". - " * Auto-generated by ".$id." plugin\n". - " * Run for user: ".$_SERVER['REMOTE_USER']."\n". - " * Date: ".date('r')."\n". - " */\n\n"; - } - - return $out; - } + return $out; + } - function _out_footer() { - $out = ''; - if ($this->_format == 'php') { - $out .= "\n// end auto-generated content\n"; - } + function _out_footer() { + $out = ''; + if ($this->_format == 'php') { + $out .= "\n// end auto-generated content\n"; + } - return $out; - } + 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() { - if (!$this->_local_files) return true; + // 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() { + if (!$this->_local_files) return true; - $local = $this->_local_files[0]; + $local = $this->_local_files[0]; - if (!is_writable(dirname($local))) return true; - if (@file_exists($local) && !is_writable($local)) return true; + if (!is_writable(dirname($local))) return true; + if (@file_exists($local) && !is_writable($local)) return true; - return false; - } + return false; + } - /** - * not used ... conf's contents are an array! - * reduce any multidimensional settings to one dimension using CM_KEYMARKER - */ - function _flatten($conf,$prefix='') { + /** + * not used ... conf's contents are an array! + * reduce any multidimensional settings to one dimension using CM_KEYMARKER + */ + function _flatten($conf,$prefix='') { - $out = array(); + $out = array(); - foreach($conf as $key => $value) { - if (!is_array($value)) { - $out[$prefix.$key] = $value; - continue; - } + foreach($conf as $key => $value) { + if (!is_array($value)) { + $out[$prefix.$key] = $value; + continue; + } + + $tmp = $this->_flatten($value,$prefix.$key.CM_KEYMARKER); + $out = array_merge($out,$tmp); + } - $tmp = $this->_flatten($value,$prefix.$key.CM_KEYMARKER); - $out = array_merge($out,$tmp); + return $out; } - return $out; - } + function get_plugin_list() { + if (is_null($this->_plugin_list)) { + $list = plugin_list('',$this->show_disabled_plugins); - function get_plugin_list() { - if (is_null($this->_plugin_list)) { - $list = plugin_list('',$this->show_disabled_plugins); + // remove this plugin from the list + $idx = array_search('config',$list); + unset($list[$idx]); - // remove this plugin from the list - $idx = array_search('config',$list); - unset($list[$idx]); + trigger_event('PLUGIN_CONFIG_PLUGINLIST',$list); + $this->_plugin_list = $list; + } - trigger_event('PLUGIN_CONFIG_PLUGINLIST',$list); - $this->_plugin_list = $list; - } + return $this->_plugin_list; + } - return $this->_plugin_list; - } + /** + * load metadata for plugin and template settings + */ + function get_plugintpl_metadata($tpl){ + $file = '/conf/metadata.php'; + $class = '/conf/settings.class.php'; + $metadata = array(); + + foreach ($this->get_plugin_list() as $plugin) { + $plugin_dir = plugin_directory($plugin); + if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ + $meta = array(); + @include(DOKU_PLUGIN.$plugin_dir.$file); + @include(DOKU_PLUGIN.$plugin_dir.$class); + if (!empty($meta)) { + $metadata['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'] = array('fieldset'); + } + foreach ($meta as $key => $value){ + if ($value[0]=='fieldset') { continue; } //plugins only get one fieldset + $metadata['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; + } + } + } - /** - * load metadata for plugin and template settings - */ - function get_plugintpl_metadata($tpl){ - $file = '/conf/metadata.php'; - $class = '/conf/settings.class.php'; - $metadata = array(); - - foreach ($this->get_plugin_list() as $plugin) { - $plugin_dir = plugin_directory($plugin); - if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ - $meta = array(); - @include(DOKU_PLUGIN.$plugin_dir.$file); - @include(DOKU_PLUGIN.$plugin_dir.$class); - if (!empty($meta)) { - $metadata['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.'plugin_settings_name'] = array('fieldset'); - } - foreach ($meta as $key => $value){ - if ($value[0]=='fieldset') { continue; } //plugins only get one fieldset - $metadata['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; - } - } - } - - // the same for the active template - if (@file_exists(tpl_incdir().$file)){ - $meta = array(); - @include(tpl_incdir().$file); - @include(tpl_incdir().$class); - if (!empty($meta)) { - $metadata['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'] = array('fieldset'); - } - foreach ($meta as $key => $value){ - if ($value[0]=='fieldset') { continue; } //template only gets one fieldset - $metadata['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; + // the same for the active template + if (@file_exists(tpl_incdir().$file)){ + $meta = array(); + @include(tpl_incdir().$file); + @include(tpl_incdir().$class); + if (!empty($meta)) { + $metadata['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.'template_settings_name'] = array('fieldset'); + } + foreach ($meta as $key => $value){ + if ($value[0]=='fieldset') { continue; } //template only gets one fieldset + $metadata['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; + } + } + + return $metadata; } - } - return $metadata; - } + /** + * load default settings for plugins and templates + */ + function get_plugintpl_default($tpl){ + $file = '/conf/default.php'; + $default = array(); + + foreach ($this->get_plugin_list() as $plugin) { + $plugin_dir = plugin_directory($plugin); + if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ + $conf = array(); + @include(DOKU_PLUGIN.$plugin_dir.$file); + foreach ($conf as $key => $value){ + $default['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; + } + } + } - /** - * load default settings for plugins and templates - */ - function get_plugintpl_default($tpl){ - $file = '/conf/default.php'; - $default = array(); - - foreach ($this->get_plugin_list() as $plugin) { - $plugin_dir = plugin_directory($plugin); - if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){ - $conf = array(); - @include(DOKU_PLUGIN.$plugin_dir.$file); - foreach ($conf as $key => $value){ - $default['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value; - } - } - } - - // the same for the active template - if (@file_exists(tpl_incdir().$file)){ - $conf = array(); - @include(tpl_incdir().$file); - foreach ($conf as $key => $value){ - $default['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; + // the same for the active template + if (@file_exists(tpl_incdir().$file)){ + $conf = array(); + @include(tpl_incdir().$file); + foreach ($conf as $key => $value){ + $default['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value; + } + } + + return $default; } - } - return $default; } - - } } if (!class_exists('setting')) { - class setting { + class setting { - var $_key = ''; - var $_default = null; - var $_local = null; - var $_protected = null; + var $_key = ''; + var $_default = null; + var $_local = null; + var $_protected = null; - var $_pattern = ''; - var $_error = false; // only used by those classes which error check - var $_input = null; // only used by those classes which error check - var $_caution = null; // used by any setting to provide an alert along with the setting - // valid alerts, 'warning', 'danger', 'security' - // images matching the alerts are in the plugin's images directory + var $_pattern = ''; + var $_error = false; // only used by those classes which error check + var $_input = null; // only used by those classes which error check + var $_caution = null; // used by any setting to provide an alert along with the setting + // valid alerts, 'warning', 'danger', 'security' + // images matching the alerts are in the plugin's images directory - static protected $_validCautions = array('warning','danger','security'); + static protected $_validCautions = array('warning','danger','security'); - function setting($key, $params=null) { - $this->_key = $key; + function setting($key, $params=null) { + $this->_key = $key; - if (is_array($params)) { - foreach($params as $property => $value) { - $this->$property = $value; - } + if (is_array($params)) { + foreach($params as $property => $value) { + $this->$property = $value; + } + } } - } - - /** - * receives current values for the setting $key - */ - function initialize($default, $local, $protected) { - if (isset($default)) $this->_default = $default; - if (isset($local)) $this->_local = $local; - if (isset($protected)) $this->_protected = $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 (incl. on error) - */ - function update($input) { - if (is_null($input)) return false; - if ($this->is_protected()) return false; - - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; - - if ($this->_pattern && !preg_match($this->_pattern,$input)) { - $this->_error = true; - $this->_input = $input; - return false; + /** + * receives current values for the setting $key + */ + function initialize($default, $local, $protected) { + if (isset($default)) $this->_default = $default; + if (isset($local)) $this->_local = $local; + if (isset($protected)) $this->_protected = $protected; } - $this->_local = $input; - return true; - } + /** + * 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 (incl. on error) + */ + function update($input) { + if (is_null($input)) return false; + if ($this->is_protected()) return false; - /** - * @return array(string $label_html, string $input_html) - */ - function html(&$plugin, $echo=false) { - $value = ''; - $disable = ''; - - if ($this->is_protected()) { - $value = $this->_protected; - $disable = 'disabled="disabled"'; - } else { - if ($echo && $this->_error) { - $value = $this->_input; - } else { $value = is_null($this->_local) ? $this->_default : $this->_local; - } - } + if ($value == $input) return false; - $key = htmlspecialchars($this->_key); - $value = formText($value); + if ($this->_pattern && !preg_match($this->_pattern,$input)) { + $this->_error = true; + $this->_input = $input; + return false; + } - $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; - $input = '<textarea rows="3" cols="40" id="config___'.$key.'" name="config['.$key.']" class="edit" '.$disable.'>'.$value.'</textarea>'; - return array($label,$input); - } + $this->_local = $input; + return true; + } - /** - * generate string to save setting value to file according to $fmt - */ - function out($var, $fmt='php') { + /** + * @return array(string $label_html, string $input_html) + */ + function html(&$plugin, $echo=false) { + $value = ''; + $disable = ''; - if ($this->is_protected()) return ''; - if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; + if ($this->is_protected()) { + $value = $this->_protected; + $disable = 'disabled="disabled"'; + } else { + if ($echo && $this->_error) { + $value = $this->_input; + } else { + $value = is_null($this->_local) ? $this->_default : $this->_local; + } + } - $out = ''; + $key = htmlspecialchars($this->_key); + $value = formText($value); - if ($fmt=='php') { - $tr = array("\\" => '\\\\', "'" => '\\\''); + $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; + $input = '<textarea rows="3" cols="40" id="config___'.$key.'" name="config['.$key.']" class="edit" '.$disable.'>'.$value.'</textarea>'; + return array($label,$input); + } - $out = '$'.$var."['".$this->_out_key()."'] = '".strtr( cleanText($this->_local), $tr)."';\n"; - } + /** + * generate string to save setting value to file according to $fmt + */ + function out($var, $fmt='php') { - return $out; - } + if ($this->is_protected()) return ''; + if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; - function prompt(&$plugin) { - $prompt = $plugin->getLang($this->_key); - if (!$prompt) $prompt = htmlspecialchars(str_replace(array('____','_'),' ',$this->_key)); - return $prompt; - } + $out = ''; - function is_protected() { return !is_null($this->_protected); } - function is_default() { return !$this->is_protected() && is_null($this->_local); } - function error() { return $this->_error; } + if ($fmt=='php') { + $tr = array("\\" => '\\\\', "'" => '\\\''); - 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); - return false; + $out = '$'.$var."['".$this->_out_key()."'] = '".strtr( cleanText($this->_local), $tr)."';\n"; } - return $this->_caution; + + return $out; } - // compatibility with previous cautionList - // TODO: check if any plugins use; remove - if (!empty($this->_cautionList[$this->_key])) { - $this->_caution = $this->_cautionList[$this->_key]; - unset($this->_cautionList); - return $this->caution(); + function prompt(&$plugin) { + $prompt = $plugin->getLang($this->_key); + if (!$prompt) $prompt = htmlspecialchars(str_replace(array('____','_'),' ',$this->_key)); + return $prompt; } - return false; - } - 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. - if ($out == 'start') //one exception - return '<a href="http://www.dokuwiki.org/config:startpage">'.$out.'</a>'; - else - return '<a href="http://www.dokuwiki.org/config:'.$out.'">'.$out.'</a>'; + function is_protected() { return !is_null($this->_protected); } + function is_default() { return !$this->is_protected() && is_null($this->_local); } + function error() { return $this->_error; } + + 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); + return false; + } + return $this->_caution; + } + // compatibility with previous cautionList + // TODO: check if any plugins use; remove + if (!empty($this->_cautionList[$this->_key])) { + $this->_caution = $this->_cautionList[$this->_key]; + unset($this->_cautionList); + + return $this->caution(); + } + return false; + } + + 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. + if ($out == 'start') //one exception + return '<a href="http://www.dokuwiki.org/config:startpage">'.$out.'</a>'; + else + return '<a href="http://www.dokuwiki.org/config:'.$out.'">'.$out.'</a>'; + } + return $out; + }else{ + return str_replace(CM_KEYMARKER,"']['",$this->_key); } - return $out; - }else{ - return str_replace(CM_KEYMARKER,"']['",$this->_key); } } - } } @@ -612,178 +612,178 @@ if (!class_exists('setting_array')) { } if (!class_exists('setting_string')) { - class setting_string extends setting { - function html(&$plugin, $echo=false) { - $value = ''; - $disable = ''; - - if ($this->is_protected()) { - $value = $this->_protected; - $disable = 'disabled="disabled"'; - } else { - if ($echo && $this->_error) { - $value = $this->_input; - } else { - $value = is_null($this->_local) ? $this->_default : $this->_local; - } - } + class setting_string extends setting { + function html(&$plugin, $echo=false) { + $value = ''; + $disable = ''; + + if ($this->is_protected()) { + $value = $this->_protected; + $disable = 'disabled="disabled"'; + } else { + if ($echo && $this->_error) { + $value = $this->_input; + } else { + $value = is_null($this->_local) ? $this->_default : $this->_local; + } + } - $key = htmlspecialchars($this->_key); - $value = htmlspecialchars($value); + $key = htmlspecialchars($this->_key); + $value = htmlspecialchars($value); - $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; - $input = '<input id="config___'.$key.'" name="config['.$key.']" type="text" class="edit" value="'.$value.'" '.$disable.'/>'; - return array($label,$input); + $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; + $input = '<input id="config___'.$key.'" name="config['.$key.']" type="text" class="edit" value="'.$value.'" '.$disable.'/>'; + return array($label,$input); + } } - } } if (!class_exists('setting_password')) { - class setting_password extends setting_string { + class setting_password extends setting_string { - var $_code = 'plain'; // mechanism to be used to obscure passwords + var $_code = 'plain'; // mechanism to be used to obscure passwords - function update($input) { - if ($this->is_protected()) return false; - if (!$input) return false; + function update($input) { + if ($this->is_protected()) return false; + if (!$input) return false; - if ($this->_pattern && !preg_match($this->_pattern,$input)) { - $this->_error = true; - $this->_input = $input; - return false; - } + if ($this->_pattern && !preg_match($this->_pattern,$input)) { + $this->_error = true; + $this->_input = $input; + return false; + } - $this->_local = conf_encodeString($input,$this->_code); - return true; - } + $this->_local = conf_encodeString($input,$this->_code); + return true; + } - function html(&$plugin, $echo=false) { + function html(&$plugin, $echo=false) { - $value = ''; - $disable = $this->is_protected() ? 'disabled="disabled"' : ''; + $value = ''; + $disable = $this->is_protected() ? 'disabled="disabled"' : ''; - $key = htmlspecialchars($this->_key); + $key = htmlspecialchars($this->_key); - $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; - $input = '<input id="config___'.$key.'" name="config['.$key.']" autocomplete="off" type="password" class="edit" value="" '.$disable.' />'; - return array($label,$input); + $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; + $input = '<input id="config___'.$key.'" name="config['.$key.']" autocomplete="off" type="password" class="edit" value="" '.$disable.' />'; + return array($label,$input); + } } - } } if (!class_exists('setting_email')) { - class setting_email extends setting_string { - var $_multiple = false; - var $_placeholders = false; - - /** - * update setting with user provided value $input - * if value fails error check, save it - * - * @return boolean true if changed, false otherwise (incl. on error) - */ - function update($input) { - if (is_null($input)) return false; - if ($this->is_protected()) return false; - - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; - if($input === ''){ - $this->_local = $input; - return true; - } - $mail = $input; + class setting_email extends setting_string { + var $_multiple = false; + var $_placeholders = false; - if($this->_placeholders){ - // replace variables with pseudo values - $mail = str_replace('@USER@','joe',$mail); - $mail = str_replace('@NAME@','Joe Schmoe',$mail); - $mail = str_replace('@MAIL@','joe@example.com',$mail); - } + /** + * update setting with user provided value $input + * if value fails error check, save it + * + * @return boolean true if changed, false otherwise (incl. on error) + */ + function update($input) { + if (is_null($input)) return false; + if ($this->is_protected()) return false; - // multiple mail addresses? - if ($this->_multiple) { - $mails = array_filter(array_map('trim', explode(',', $mail))); - } else { - $mails = array($mail); - } + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; + if($input === ''){ + $this->_local = $input; + return true; + } + $mail = $input; - // check them all - foreach ($mails as $mail) { - // only check the address part - if(preg_match('#(.*?)<(.*?)>#', $mail, $matches)){ - $addr = $matches[2]; - }else{ - $addr = $mail; + if($this->_placeholders){ + // replace variables with pseudo values + $mail = str_replace('@USER@','joe',$mail); + $mail = str_replace('@NAME@','Joe Schmoe',$mail); + $mail = str_replace('@MAIL@','joe@example.com',$mail); } - if (!mail_isvalid($addr)) { - $this->_error = true; - $this->_input = $input; - return false; + // multiple mail addresses? + if ($this->_multiple) { + $mails = array_filter(array_map('trim', explode(',', $mail))); + } else { + $mails = array($mail); } - } - $this->_local = $input; - return true; + // check them all + foreach ($mails as $mail) { + // only check the address part + if(preg_match('#(.*?)<(.*?)>#', $mail, $matches)){ + $addr = $matches[2]; + }else{ + $addr = $mail; + } + + if (!mail_isvalid($addr)) { + $this->_error = true; + $this->_input = $input; + return false; + } + } + + $this->_local = $input; + return true; + } } - } } /** * @deprecated 2013-02-16 */ if (!class_exists('setting_richemail')) { - class setting_richemail extends setting_email { - function update($input) { - $this->_placeholders = true; - return parent::update($input); - } - } + class setting_richemail extends setting_email { + function update($input) { + $this->_placeholders = true; + return parent::update($input); + } + } } if (!class_exists('setting_numeric')) { - class setting_numeric extends setting_string { - // This allows for many PHP syntax errors... - // var $_pattern = '/^[-+\/*0-9 ]*$/'; - // much more restrictive, but should eliminate syntax errors. - var $_pattern = '/^[-+]? *[0-9]+ *(?:[-+*] *[0-9]+ *)*$/'; - var $_min = null; - var $_max = null; - - function update($input) { - $local = $this->_local; - $valid = parent::update($input); - if ($valid && !(is_null($this->_min) && is_null($this->_max))) { - $numeric_local = (int) eval('return '.$this->_local.';'); - if ((!is_null($this->_min) && $numeric_local < $this->_min) || - (!is_null($this->_max) && $numeric_local > $this->_max)) { - $this->_error = true; - $this->_input = $input; - $this->_local = $local; - $valid = false; + class setting_numeric extends setting_string { + // This allows for many PHP syntax errors... + // var $_pattern = '/^[-+\/*0-9 ]*$/'; + // much more restrictive, but should eliminate syntax errors. + var $_pattern = '/^[-+]? *[0-9]+ *(?:[-+*] *[0-9]+ *)*$/'; + var $_min = null; + var $_max = null; + + function update($input) { + $local = $this->_local; + $valid = parent::update($input); + if ($valid && !(is_null($this->_min) && is_null($this->_max))) { + $numeric_local = (int) eval('return '.$this->_local.';'); + if ((!is_null($this->_min) && $numeric_local < $this->_min) || + (!is_null($this->_max) && $numeric_local > $this->_max)) { + $this->_error = true; + $this->_input = $input; + $this->_local = $local; + $valid = false; + } } + return $valid; } - return $valid; - } - function out($var, $fmt='php') { + function out($var, $fmt='php') { - if ($this->is_protected()) return ''; - if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; + if ($this->is_protected()) return ''; + if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; - $out = ''; + $out = ''; - if ($fmt=='php') { - $local = $this->_local === '' ? "''" : $this->_local; - $out .= '$'.$var."['".$this->_out_key()."'] = ".$local.";\n"; - } + if ($fmt=='php') { + $local = $this->_local === '' ? "''" : $this->_local; + $out .= '$'.$var."['".$this->_out_key()."'] = ".$local.";\n"; + } - return $out; + return $out; + } } - } } if (!class_exists('setting_numericopt')) { @@ -794,320 +794,320 @@ if (!class_exists('setting_numericopt')) { } if (!class_exists('setting_onoff')) { - class setting_onoff extends setting_numeric { + class setting_onoff extends setting_numeric { - function html(&$plugin) { - $value = ''; - $disable = ''; + function html(&$plugin) { + $value = ''; + $disable = ''; - if ($this->is_protected()) { - $value = $this->_protected; - $disable = ' disabled="disabled"'; - } else { - $value = is_null($this->_local) ? $this->_default : $this->_local; - } + if ($this->is_protected()) { + $value = $this->_protected; + $disable = ' disabled="disabled"'; + } else { + $value = is_null($this->_local) ? $this->_default : $this->_local; + } - $key = htmlspecialchars($this->_key); - $checked = ($value) ? ' checked="checked"' : ''; + $key = htmlspecialchars($this->_key); + $checked = ($value) ? ' checked="checked"' : ''; - $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; - $input = '<div class="input"><input id="config___'.$key.'" name="config['.$key.']" type="checkbox" class="checkbox" value="1"'.$checked.$disable.'/></div>'; - return array($label,$input); - } + $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; + $input = '<div class="input"><input id="config___'.$key.'" name="config['.$key.']" type="checkbox" class="checkbox" value="1"'.$checked.$disable.'/></div>'; + return array($label,$input); + } - function update($input) { - if ($this->is_protected()) return false; + function update($input) { + if ($this->is_protected()) return false; - $input = ($input) ? 1 : 0; - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; + $input = ($input) ? 1 : 0; + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; - $this->_local = $input; - return true; + $this->_local = $input; + return true; + } } - } } if (!class_exists('setting_multichoice')) { - class setting_multichoice extends setting_string { - var $_choices = array(); - - function html(&$plugin) { - $value = ''; - $disable = ''; - $nochoice = ''; - - if ($this->is_protected()) { - $value = $this->_protected; - $disable = ' disabled="disabled"'; - } else { - $value = is_null($this->_local) ? $this->_default : $this->_local; - } + class setting_multichoice extends setting_string { + var $_choices = array(); - // ensure current value is included - if (!in_array($value, $this->_choices)) { - $this->_choices[] = $value; - } - // disable if no other choices - if (!$this->is_protected() && count($this->_choices) <= 1) { - $disable = ' disabled="disabled"'; - $nochoice = $plugin->getLang('nochoice'); - } + function html(&$plugin) { + $value = ''; + $disable = ''; + $nochoice = ''; - $key = htmlspecialchars($this->_key); + if ($this->is_protected()) { + $value = $this->_protected; + $disable = ' disabled="disabled"'; + } else { + $value = is_null($this->_local) ? $this->_default : $this->_local; + } - $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; + // ensure current value is included + if (!in_array($value, $this->_choices)) { + $this->_choices[] = $value; + } + // disable if no other choices + if (!$this->is_protected() && count($this->_choices) <= 1) { + $disable = ' disabled="disabled"'; + $nochoice = $plugin->getLang('nochoice'); + } - $input = "<div class=\"input\">\n"; - $input .= '<select class="edit" id="config___'.$key.'" name="config['.$key.']"'.$disable.'>'."\n"; - foreach ($this->_choices as $choice) { - $selected = ($value == $choice) ? ' selected="selected"' : ''; - $option = $plugin->getLang($this->_key.'_o_'.$choice); - if (!$option && isset($this->lang[$this->_key.'_o_'.$choice])) $option = $this->lang[$this->_key.'_o_'.$choice]; - if (!$option) $option = $choice; + $key = htmlspecialchars($this->_key); - $choice = htmlspecialchars($choice); - $option = htmlspecialchars($option); - $input .= ' <option value="'.$choice.'"'.$selected.' >'.$option.'</option>'."\n"; - } - $input .= "</select> $nochoice \n"; - $input .= "</div>\n"; + $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>'; - return array($label,$input); - } + $input = "<div class=\"input\">\n"; + $input .= '<select class="edit" id="config___'.$key.'" name="config['.$key.']"'.$disable.'>'."\n"; + foreach ($this->_choices as $choice) { + $selected = ($value == $choice) ? ' selected="selected"' : ''; + $option = $plugin->getLang($this->_key.'_o_'.$choice); + if (!$option && isset($this->lang[$this->_key.'_o_'.$choice])) $option = $this->lang[$this->_key.'_o_'.$choice]; + if (!$option) $option = $choice; + + $choice = htmlspecialchars($choice); + $option = htmlspecialchars($option); + $input .= ' <option value="'.$choice.'"'.$selected.' >'.$option.'</option>'."\n"; + } + $input .= "</select> $nochoice \n"; + $input .= "</div>\n"; - function update($input) { - if (is_null($input)) return false; - if ($this->is_protected()) return false; + return array($label,$input); + } - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; + function update($input) { + if (is_null($input)) return false; + if ($this->is_protected()) return false; + + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; - if (!in_array($input, $this->_choices)) return false; + if (!in_array($input, $this->_choices)) return false; - $this->_local = $input; - return true; + $this->_local = $input; + return true; + } } - } } if (!class_exists('setting_dirchoice')) { - class setting_dirchoice extends setting_multichoice { + class setting_dirchoice extends setting_multichoice { - var $_dir = ''; + var $_dir = ''; - function initialize($default,$local,$protected) { + function initialize($default,$local,$protected) { - // populate $this->_choices with a list of directories - $list = array(); + // populate $this->_choices with a list of directories + $list = array(); - if ($dh = @opendir($this->_dir)) { - while (false !== ($entry = readdir($dh))) { - if ($entry == '.' || $entry == '..') continue; - if ($this->_pattern && !preg_match($this->_pattern,$entry)) continue; + if ($dh = @opendir($this->_dir)) { + while (false !== ($entry = readdir($dh))) { + if ($entry == '.' || $entry == '..') continue; + if ($this->_pattern && !preg_match($this->_pattern,$entry)) continue; - $file = (is_link($this->_dir.$entry)) ? readlink($this->_dir.$entry) : $this->_dir.$entry; - if (is_dir($file)) $list[] = $entry; - } - closedir($dh); - } - sort($list); - $this->_choices = $list; + $file = (is_link($this->_dir.$entry)) ? readlink($this->_dir.$entry) : $this->_dir.$entry; + if (is_dir($file)) $list[] = $entry; + } + closedir($dh); + } + sort($list); + $this->_choices = $list; - parent::initialize($default,$local,$protected); + parent::initialize($default,$local,$protected); + } } - } } if (!class_exists('setting_hidden')) { - class setting_hidden extends setting { - // Used to explicitly ignore a setting in the configuration manager. - } + class setting_hidden extends setting { + // Used to explicitly ignore a setting in the configuration manager. + } } if (!class_exists('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". - } + class setting_fieldset extends setting { + // A do-nothing class used to detect the 'fieldset' type. + // Used to start a new settings "display-group". + } } if (!class_exists('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. - } + 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. + } } if (!class_exists('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. - } + 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. + } } if (!class_exists('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. - } + 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. + } } if (!class_exists('setting_multicheckbox')) { - class setting_multicheckbox extends setting_string { + class setting_multicheckbox extends setting_string { + + var $_choices = array(); + var $_combine = array(); - var $_choices = array(); - var $_combine = array(); + function update($input) { + if ($this->is_protected()) return false; - function update($input) { - if ($this->is_protected()) return false; + // split any combined values + convert from array to comma separated string + $input = ($input) ? $input : array(); + $input = $this->_array2str($input); - // split any combined values + convert from array to comma separated string - $input = ($input) ? $input : array(); - $input = $this->_array2str($input); + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; + if ($this->_pattern && !preg_match($this->_pattern,$input)) { + $this->_error = true; + $this->_input = $input; + return false; + } - if ($this->_pattern && !preg_match($this->_pattern,$input)) { - $this->_error = true; - $this->_input = $input; - return false; + $this->_local = $input; + return true; } - $this->_local = $input; - return true; - } + function html(&$plugin, $echo=false) { - function html(&$plugin, $echo=false) { + $value = ''; + $disable = ''; - $value = ''; - $disable = ''; + if ($this->is_protected()) { + $value = $this->_protected; + $disable = 'disabled="disabled"'; + } else { + if ($echo && $this->_error) { + $value = $this->_input; + } else { + $value = is_null($this->_local) ? $this->_default : $this->_local; + } + } - if ($this->is_protected()) { - $value = $this->_protected; - $disable = 'disabled="disabled"'; - } else { - if ($echo && $this->_error) { - $value = $this->_input; - } else { - $value = is_null($this->_local) ? $this->_default : $this->_local; - } - } + $key = htmlspecialchars($this->_key); - $key = htmlspecialchars($this->_key); + // convert from comma separated list into array + combine complimentary actions + $value = $this->_str2array($value); + $default = $this->_str2array($this->_default); - // convert from comma separated list into array + combine complimentary actions - $value = $this->_str2array($value); - $default = $this->_str2array($this->_default); + $input = ''; + foreach ($this->_choices as $choice) { + $idx = array_search($choice, $value); + $idx_default = array_search($choice,$default); - $input = ''; - foreach ($this->_choices as $choice) { - $idx = array_search($choice, $value); - $idx_default = array_search($choice,$default); + $checked = ($idx !== false) ? 'checked="checked"' : ''; - $checked = ($idx !== false) ? 'checked="checked"' : ''; + // ideally this would be handled using a second class of "default", however IE6 does not + // correctly support CSS selectors referencing multiple class names on the same element + // (e.g. .default.selection). + $class = (($idx !== false) == (false !== $idx_default)) ? " selectiondefault" : ""; - // ideally this would be handled using a second class of "default", however IE6 does not - // correctly support CSS selectors referencing multiple class names on the same element - // (e.g. .default.selection). - $class = (($idx !== false) == (false !== $idx_default)) ? " selectiondefault" : ""; + $prompt = ($plugin->getLang($this->_key.'_'.$choice) ? + $plugin->getLang($this->_key.'_'.$choice) : htmlspecialchars($choice)); - $prompt = ($plugin->getLang($this->_key.'_'.$choice) ? - $plugin->getLang($this->_key.'_'.$choice) : htmlspecialchars($choice)); + $input .= '<div class="selection'.$class.'">'."\n"; + $input .= '<label for="config___'.$key.'_'.$choice.'">'.$prompt."</label>\n"; + $input .= '<input id="config___'.$key.'_'.$choice.'" name="config['.$key.'][]" type="checkbox" class="checkbox" value="'.$choice.'" '.$disable.' '.$checked."/>\n"; + $input .= "</div>\n"; - $input .= '<div class="selection'.$class.'">'."\n"; - $input .= '<label for="config___'.$key.'_'.$choice.'">'.$prompt."</label>\n"; - $input .= '<input id="config___'.$key.'_'.$choice.'" name="config['.$key.'][]" type="checkbox" class="checkbox" value="'.$choice.'" '.$disable.' '.$checked."/>\n"; - $input .= "</div>\n"; + // remove this action from the disabledactions array + if ($idx !== false) unset($value[$idx]); + if ($idx_default !== false) unset($default[$idx_default]); + } - // remove this action from the disabledactions array - if ($idx !== false) unset($value[$idx]); - if ($idx_default !== false) unset($default[$idx_default]); - } + // handle any remaining values + $other = join(',',$value); - // handle any remaining values - $other = join(',',$value); + $class = (count($default == count($value)) && (count($value) == count(array_intersect($value,$default)))) ? + " selectiondefault" : ""; - $class = (count($default == count($value)) && (count($value) == count(array_intersect($value,$default)))) ? - " selectiondefault" : ""; + $input .= '<div class="other'.$class.'">'."\n"; + $input .= '<label for="config___'.$key.'_other">'.$plugin->getLang($key.'_other')."</label>\n"; + $input .= '<input id="config___'.$key.'_other" name="config['.$key.'][other]" type="text" class="edit" value="'.htmlspecialchars($other).'" '.$disable." />\n"; + $input .= "</div>\n"; - $input .= '<div class="other'.$class.'">'."\n"; - $input .= '<label for="config___'.$key.'_other">'.$plugin->getLang($key.'_other')."</label>\n"; - $input .= '<input id="config___'.$key.'_other" name="config['.$key.'][other]" type="text" class="edit" value="'.htmlspecialchars($other).'" '.$disable." />\n"; - $input .= "</div>\n"; + $label = '<label>'.$this->prompt($plugin).'</label>'; + return array($label,$input); + } - $label = '<label>'.$this->prompt($plugin).'</label>'; - return array($label,$input); - } + /** + * convert comma separated list to an array and combine any complimentary values + */ + function _str2array($str) { + $array = explode(',',$str); + + if (!empty($this->_combine)) { + foreach ($this->_combine as $key => $combinators) { + $idx = array(); + foreach ($combinators as $val) { + if (($idx[] = array_search($val, $array)) === false) break; + } + + if (count($idx) && $idx[count($idx)-1] !== false) { + foreach ($idx as $i) unset($array[$i]); + $array[] = $key; + } + } + } - /** - * convert comma separated list to an array and combine any complimentary values - */ - function _str2array($str) { - $array = explode(',',$str); - - if (!empty($this->_combine)) { - foreach ($this->_combine as $key => $combinators) { - $idx = array(); - foreach ($combinators as $val) { - if (($idx[] = array_search($val, $array)) === false) break; - } - - if (count($idx) && $idx[count($idx)-1] !== false) { - foreach ($idx as $i) unset($array[$i]); - $array[] = $key; - } + return $array; } - } - return $array; - } + /** + * convert array of values + other back to a comma separated list, incl. splitting any combined values + */ + function _array2str($input) { - /** - * convert array of values + other back to a comma separated list, incl. splitting any combined values - */ - function _array2str($input) { + // handle other + $other = trim($input['other']); + $other = !empty($other) ? explode(',',str_replace(' ','',$input['other'])) : array(); + unset($input['other']); - // handle other - $other = trim($input['other']); - $other = !empty($other) ? explode(',',str_replace(' ','',$input['other'])) : array(); - unset($input['other']); + $array = array_unique(array_merge($input, $other)); - $array = array_unique(array_merge($input, $other)); + // deconstruct any combinations + if (!empty($this->_combine)) { + foreach ($this->_combine as $key => $combinators) { - // deconstruct any combinations - if (!empty($this->_combine)) { - foreach ($this->_combine as $key => $combinators) { + $idx = array_search($key,$array); + if ($idx !== false) { + unset($array[$idx]); + $array = array_merge($array, $combinators); + } + } + } - $idx = array_search($key,$array); - if ($idx !== false) { - unset($array[$idx]); - $array = array_merge($array, $combinators); - } + return join(',',array_unique($array)); } - } - - return join(',',array_unique($array)); } - } } if (!class_exists('setting_regex')){ - class setting_regex extends setting_string { + class setting_regex extends setting_string { var $_delimiter = '/'; // regex delimiter to be used in testing input var $_pregflags = 'ui'; // regex pattern modifiers to be used in testing 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 + * 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 (incl. on error) + * @param mixed $input the new value + * @return boolean true if changed, false otherwise (incl. on error) */ function update($input) { diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php index e4b97eb01..d0f99fa8f 100644 --- a/lib/plugins/config/settings/extra.class.php +++ b/lib/plugins/config/settings/extra.class.php @@ -6,204 +6,204 @@ */ if (!class_exists('setting_sepchar')) { - class setting_sepchar extends setting_multichoice { + class setting_sepchar extends setting_multichoice { - function setting_sepchar($key,$param=NULL) { - $str = '_-.'; - for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i}; + function setting_sepchar($key,$param=null) { + $str = '_-.'; + for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i}; - // call foundation class constructor - $this->setting($key,$param); + // call foundation class constructor + $this->setting($key,$param); + } } - } } if (!class_exists('setting_savedir')) { - class setting_savedir extends setting_string { + class setting_savedir extends setting_string { - function update($input) { - if ($this->is_protected()) return false; + function update($input) { + if ($this->is_protected()) return false; - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; - if (!init_path($input)) { - $this->_error = true; - $this->_input = $input; - return false; - } + if (!init_path($input)) { + $this->_error = true; + $this->_input = $input; + return false; + } - $this->_local = $input; - return true; + $this->_local = $input; + return true; + } } - } } if (!class_exists('setting_authtype')) { - class setting_authtype extends setting_multichoice { + class setting_authtype extends setting_multichoice { - function initialize($default,$local,$protected) { - global $plugin_controller; + function initialize($default,$local,$protected) { + global $plugin_controller; - // retrieve auth types provided by plugins - foreach ($plugin_controller->getList('auth') as $plugin) { - $this->_choices[] = $plugin; - } - - parent::initialize($default,$local,$protected); - } - - function update($input) { - global $plugin_controller; - - // is an update possible/requested? - $local = $this->_local; // save this, parent::update() may change it - if (!parent::update($input)) return false; // nothing changed or an error caught by parent - $this->_local = $local; // restore original, more error checking to come - - // attempt to load the plugin - $auth_plugin = $plugin_controller->load('auth', $input); - - // @TODO: throw an error in plugin controller instead of returning null - if (is_null($auth_plugin)) { - $this->_error = true; - msg('Cannot load Auth Plugin "' . $input . '"', -1); - return false; - } + // retrieve auth types provided by plugins + foreach ($plugin_controller->getList('auth') as $plugin) { + $this->_choices[] = $plugin; + } - // verify proper instantiation (is this really a plugin?) @TODO use instanceof? implement interface? - if (is_object($auth_plugin) && !method_exists($auth_plugin, 'getPluginName')) { - $this->_error = true; - msg('Cannot create Auth Plugin "' . $input . '"', -1); - return false; + parent::initialize($default,$local,$protected); } - // did we change the auth type? logout - global $conf; - if($conf['authtype'] != $input) { - msg('Authentication system changed. Please re-login.'); - auth_logoff(); + function update($input) { + global $plugin_controller; + + // is an update possible/requested? + $local = $this->_local; // save this, parent::update() may change it + if (!parent::update($input)) return false; // nothing changed or an error caught by parent + $this->_local = $local; // restore original, more error checking to come + + // attempt to load the plugin + $auth_plugin = $plugin_controller->load('auth', $input); + + // @TODO: throw an error in plugin controller instead of returning null + if (is_null($auth_plugin)) { + $this->_error = true; + msg('Cannot load Auth Plugin "' . $input . '"', -1); + return false; + } + + // verify proper instantiation (is this really a plugin?) @TODO use instanceof? implement interface? + if (is_object($auth_plugin) && !method_exists($auth_plugin, 'getPluginName')) { + $this->_error = true; + msg('Cannot create Auth Plugin "' . $input . '"', -1); + return false; + } + + // did we change the auth type? logout + global $conf; + if($conf['authtype'] != $input) { + msg('Authentication system changed. Please re-login.'); + auth_logoff(); + } + + $this->_local = $input; + return true; } - - $this->_local = $input; - return true; } - } } if (!class_exists('setting_im_convert')) { - class setting_im_convert extends setting_string { + class setting_im_convert extends setting_string { - function update($input) { - if ($this->is_protected()) return false; + function update($input) { + if ($this->is_protected()) return false; - $input = trim($input); + $input = trim($input); - $value = is_null($this->_local) ? $this->_default : $this->_local; - if ($value == $input) return false; + $value = is_null($this->_local) ? $this->_default : $this->_local; + if ($value == $input) return false; - if ($input && !@file_exists($input)) { - $this->_error = true; - $this->_input = $input; - return false; - } + if ($input && !@file_exists($input)) { + $this->_error = true; + $this->_input = $input; + return false; + } - $this->_local = $input; - return true; + $this->_local = $input; + return true; + } } - } } if (!class_exists('setting_disableactions')) { - class setting_disableactions extends setting_multicheckbox { + class setting_disableactions extends setting_multicheckbox { - function html(&$plugin, $echo=false) { - global $lang; + 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(); - $plugin->lang[$this->_key.'_revisions'] = $lang['btn_revs']; + // make some language adjustments (there must be a better way) + // transfer some DokuWiki language strings to the plugin + if (!$plugin->localised) $this->setupLocale(); + $plugin->lang[$this->_key.'_revisions'] = $lang['btn_revs']; - foreach ($this->_choices as $choice) - if (isset($lang['btn_'.$choice])) $plugin->lang[$this->_key.'_'.$choice] = $lang['btn_'.$choice]; + foreach ($this->_choices as $choice) + if (isset($lang['btn_'.$choice])) $plugin->lang[$this->_key.'_'.$choice] = $lang['btn_'.$choice]; - return parent::html($plugin, $echo); + return parent::html($plugin, $echo); + } } - } } if (!class_exists('setting_compression')) { - class setting_compression extends setting_multichoice { + class setting_compression extends setting_multichoice { - var $_choices = array('0'); // 0 = no compression, always supported + var $_choices = array('0'); // 0 = no compression, always supported - function initialize($default,$local,$protected) { + function initialize($default,$local,$protected) { - // populate _choices with the compression methods supported by this php installation - if (function_exists('gzopen')) $this->_choices[] = 'gz'; - if (function_exists('bzopen')) $this->_choices[] = 'bz2'; + // populate _choices with the compression methods supported by this php installation + if (function_exists('gzopen')) $this->_choices[] = 'gz'; + if (function_exists('bzopen')) $this->_choices[] = 'bz2'; - parent::initialize($default,$local,$protected); + parent::initialize($default,$local,$protected); + } } - } } if (!class_exists('setting_license')) { - class setting_license extends setting_multichoice { + class setting_license extends setting_multichoice { - var $_choices = array(''); // none choosen + var $_choices = array(''); // none choosen - function initialize($default,$local,$protected) { - global $license; + function initialize($default,$local,$protected) { + global $license; - foreach($license as $key => $data){ - $this->_choices[] = $key; - $this->lang[$this->_key.'_o_'.$key] = $data['name']; - } + foreach($license as $key => $data){ + $this->_choices[] = $key; + $this->lang[$this->_key.'_o_'.$key] = $data['name']; + } - parent::initialize($default,$local,$protected); + parent::initialize($default,$local,$protected); + } } - } } if (!class_exists('setting_renderer')) { - class setting_renderer extends setting_multichoice { - var $_prompts = array(); + class setting_renderer extends setting_multichoice { + var $_prompts = array(); - function initialize($default,$local,$protected) { - $format = $this->_format; + function initialize($default,$local,$protected) { + $format = $this->_format; - foreach (plugin_list('renderer') as $plugin) { - $renderer =& plugin_load('renderer',$plugin); - if (method_exists($renderer,'canRender') && $renderer->canRender($format)) { - $this->_choices[] = $plugin; + foreach (plugin_list('renderer') as $plugin) { + $renderer =& plugin_load('renderer',$plugin); + if (method_exists($renderer,'canRender') && $renderer->canRender($format)) { + $this->_choices[] = $plugin; - $info = $renderer->getInfo(); - $this->_prompts[$plugin] = $info['name']; - } - } - - parent::initialize($default,$local,$protected); - } + $info = $renderer->getInfo(); + $this->_prompts[$plugin] = $info['name']; + } + } - 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(); + parent::initialize($default,$local,$protected); + } - foreach ($this->_choices as $choice) { - if (!isset($plugin->lang[$this->_key.'_o_'.$choice])) { - if (!isset($this->_prompts[$choice])) { - $plugin->lang[$this->_key.'_o_'.$choice] = sprintf($plugin->lang['renderer__core'],$choice); - } else { - $plugin->lang[$this->_key.'_o_'.$choice] = sprintf($plugin->lang['renderer__plugin'],$this->_prompts[$choice]); - } + 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(); + + foreach ($this->_choices as $choice) { + if (!isset($plugin->lang[$this->_key.'_o_'.$choice])) { + if (!isset($this->_prompts[$choice])) { + $plugin->lang[$this->_key.'_o_'.$choice] = sprintf($plugin->lang['renderer__core'],$choice); + } else { + $plugin->lang[$this->_key.'_o_'.$choice] = sprintf($plugin->lang['renderer__plugin'],$this->_prompts[$choice]); + } + } + } + return parent::html($plugin, $echo); } - } - return parent::html($plugin, $echo); } - } } diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index de4de6aef..72c58620d 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -37,7 +37,7 @@ class admin_plugin_plugin extends DokuWiki_Admin_Plugin { /** * @var ap_manage */ - var $handler = NULL; + 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 @@ -109,7 +109,7 @@ class admin_plugin_plugin extends DokuWiki_Admin_Plugin { $this->setupLocale(); $this->_get_plugin_list(); - if ($this->handler === NULL) $this->handler = new ap_manage($this, $this->plugin); + if ($this->handler === null) $this->handler = new ap_manage($this, $this->plugin); ptln('<div id="plugin__manager">'); $this->handler->html(); diff --git a/lib/plugins/plugin/classes/ap_info.class.php b/lib/plugins/plugin/classes/ap_info.class.php index 44926c035..dfeb52b9d 100644 --- a/lib/plugins/plugin/classes/ap_info.class.php +++ b/lib/plugins/plugin/classes/ap_info.class.php @@ -15,7 +15,7 @@ class ap_info extends ap_manage { foreach ($component_list as $component) { - if (($obj = &plugin_load($component['type'],$component['name'],false,true)) === NULL) continue; + if (($obj = &plugin_load($component['type'],$component['name'],false,true)) === null) continue; $compname = explode('_',$component['name']); if($compname[1]){ diff --git a/lib/plugins/plugin/classes/ap_manage.class.php b/lib/plugins/plugin/classes/ap_manage.class.php index 3ec740dae..48be63050 100644 --- a/lib/plugins/plugin/classes/ap_manage.class.php +++ b/lib/plugins/plugin/classes/ap_manage.class.php @@ -2,7 +2,7 @@ class ap_manage { - var $manager = NULL; + var $manager = null; var $lang = array(); var $plugin = ''; var $downloaded = array(); diff --git a/lib/plugins/plugin/lang/cs/lang.php b/lib/plugins/plugin/lang/cs/lang.php index 98fae12c7..a92f8b1c2 100644 --- a/lib/plugins/plugin/lang/cs/lang.php +++ b/lib/plugins/plugin/lang/cs/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Czech language file - * * @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> @@ -14,6 +14,7 @@ * @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> */ $lang['menu'] = 'Správa pluginů'; $lang['download'] = 'Stáhnout a instalovat plugin'; diff --git a/lib/plugins/plugin/lang/de-informal/lang.php b/lib/plugins/plugin/lang/de-informal/lang.php index 5d1649434..8f1cea5e5 100644 --- a/lib/plugins/plugin/lang/de-informal/lang.php +++ b/lib/plugins/plugin/lang/de-informal/lang.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @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> diff --git a/lib/plugins/plugin/lang/eo/lang.php b/lib/plugins/plugin/lang/eo/lang.php index 67553454c..624246a21 100644 --- a/lib/plugins/plugin/lang/eo/lang.php +++ b/lib/plugins/plugin/lang/eo/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Esperantolanguage file - * + * @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> diff --git a/lib/plugins/plugin/lang/ko/admin_plugin.txt b/lib/plugins/plugin/lang/ko/admin_plugin.txt index 7315025b5..9390712dd 100644 --- a/lib/plugins/plugin/lang/ko/admin_plugin.txt +++ b/lib/plugins/plugin/lang/ko/admin_plugin.txt @@ -1,3 +1,3 @@ ====== 플러그인 관리 ====== -이 페이지에서 도쿠위키 [[doku>ko:plugins|플러그인]]에 관련된 모든 관리 작업을 합니다. 플러그인을 다운로드하거나 설치하기 위해서는 웹 서버가 플러그인 디렉터리에 대해 쓰기 권한을 가지고 있어야 합니다.
\ No newline at end of file +이 페이지에서 도쿠위키 [[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 index 9cecaa278..6ef9cd69a 100644 --- a/lib/plugins/plugin/lang/ko/lang.php +++ b/lib/plugins/plugin/lang/ko/lang.php @@ -11,8 +11,8 @@ * @author Myeongjin <aranet100@gmail.com> */ $lang['menu'] = '플러그인 관리'; -$lang['download'] = '새 플러그인 다운로드 및 설치'; -$lang['manage'] = '이미 설치한 플러그인'; +$lang['download'] = '새 플러그인을 다운로드하고 설치'; +$lang['manage'] = '설치된 플러그인'; $lang['btn_info'] = '정보'; $lang['btn_update'] = '업데이트'; $lang['btn_delete'] = '삭제'; @@ -21,7 +21,7 @@ $lang['btn_download'] = '다운로드'; $lang['btn_enable'] = '저장'; $lang['url'] = 'URL'; $lang['installed'] = '설치됨:'; -$lang['lastupdate'] = '가장 나중에 업데이트됨:'; +$lang['lastupdate'] = '마지막으로 업데이트됨:'; $lang['source'] = '원본:'; $lang['unknown'] = '알 수 없음'; $lang['updating'] = '업데이트 중 ...'; @@ -41,13 +41,13 @@ $lang['name'] = '이름:'; $lang['date'] = '날짜:'; $lang['type'] = '종류:'; $lang['desc'] = '설명:'; -$lang['author'] = '만든이:'; +$lang['author'] = '저자:'; $lang['www'] = '웹:'; $lang['error'] = '알 수 없는 문제가 발생했습니다.'; $lang['error_download'] = '플러그인 파일을 다운로드 할 수 없습니다: %s'; $lang['error_badurl'] = '잘못된 URL 같습니다 - URL에서 파일 이름을 알 수 없습니다'; $lang['error_dircreate'] = '다운로드를 받기 위한 임시 디렉터리를 만들 수 없습니다'; -$lang['error_decompress'] = '플러그인 관리자가 다운로드 받은 파일을 압축을 풀 수 없습니다. 잘못 다운로드 받았을 수도 있으니 다시 한번 시도하거나 압축 포맷을 알 수 없는 경우에는 다운로드한 후 수동으로 직접 설치하세요.'; +$lang['error_decompress'] = '플러그인 관리자가 다운로드 받은 파일을 압축을 풀 수 없습니다. 잘못 다운로드 받았을 수도 있으니 다시 한 번 시도하거나 압축 포맷을 알 수 없는 경우에는 다운로드한 후 수동으로 직접 설치하세요.'; $lang['error_copy'] = '플러그인을 설치하는 동안 파일 복사하는 데 오류가 발생했습니다. <em>%s</em>: 디스크가 꽉 찼거나 파일 접근 권한이 잘못된 경우입니다. 플러그인 설치가 부분적으로만 이루어졌을 것입니다. 설치가 불완전합니다.'; $lang['error_delete'] = '<em>%s</em> 플러그인을 삭제하는 동안 오류가 발생했습니다. 대부분의 경우 불완전한 파일이거나 디렉터리 접근 권한이 잘못된 경우입니다'; $lang['enabled'] = '%s 플러그인을 활성화했습니다.'; diff --git a/lib/plugins/plugin/lang/ne/lang.php b/lib/plugins/plugin/lang/ne/lang.php index 27c4f3b60..94e7b8089 100644 --- a/lib/plugins/plugin/lang/ne/lang.php +++ b/lib/plugins/plugin/lang/ne/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Nepali language file - * + * @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> diff --git a/lib/plugins/plugin/lang/pt-br/lang.php b/lib/plugins/plugin/lang/pt-br/lang.php index 437b6ca57..c025188f3 100644 --- a/lib/plugins/plugin/lang/pt-br/lang.php +++ b/lib/plugins/plugin/lang/pt-br/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @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> diff --git a/lib/plugins/plugin/lang/pt/lang.php b/lib/plugins/plugin/lang/pt/lang.php index dccd4f738..aa6b2e2ec 100644 --- a/lib/plugins/plugin/lang/pt/lang.php +++ b/lib/plugins/plugin/lang/pt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portugueselanguage file - * + * @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> diff --git a/lib/plugins/plugin/lang/ru/lang.php b/lib/plugins/plugin/lang/ru/lang.php index 47e46c9c7..6af100bd3 100644 --- a/lib/plugins/plugin/lang/ru/lang.php +++ b/lib/plugins/plugin/lang/ru/lang.php @@ -51,7 +51,7 @@ $lang['date'] = 'Дата:'; $lang['type'] = 'Тип:'; $lang['desc'] = 'Описание:'; $lang['author'] = 'Автор:'; -$lang['www'] = 'Странца:'; +$lang['www'] = 'Страница:'; $lang['error'] = 'Произошла неизвестная ошибка.'; $lang['error_download'] = 'Не могу скачать файл плагина: %s'; $lang['error_badurl'] = 'Возможно неправильный адрес — не могу определить имя файла из адреса'; diff --git a/lib/plugins/plugin/lang/sl/lang.php b/lib/plugins/plugin/lang/sl/lang.php index 3e5f8c8af..e205c57f5 100644 --- a/lib/plugins/plugin/lang/sl/lang.php +++ b/lib/plugins/plugin/lang/sl/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Slovenian language file - * + * @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) diff --git a/lib/plugins/popularity/lang/cs/lang.php b/lib/plugins/popularity/lang/cs/lang.php index ee090a131..4ab5916db 100644 --- a/lib/plugins/popularity/lang/cs/lang.php +++ b/lib/plugins/popularity/lang/cs/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Bohumir Zamecnik <bohumir@zamecnik.org> * @author tomas@valenta.cz * @author Marek Sacha <sachamar@fel.cvut.cz> diff --git a/lib/plugins/popularity/lang/de-informal/lang.php b/lib/plugins/popularity/lang/de-informal/lang.php index 0abf90b0b..69efa7470 100644 --- a/lib/plugins/popularity/lang/de-informal/lang.php +++ b/lib/plugins/popularity/lang/de-informal/lang.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @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> diff --git a/lib/plugins/popularity/lang/eo/lang.php b/lib/plugins/popularity/lang/eo/lang.php index c2bca23b1..5e67e5bdb 100644 --- a/lib/plugins/popularity/lang/eo/lang.php +++ b/lib/plugins/popularity/lang/eo/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Esperanto language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Felipo Kastro <fefcas@gmail.com> * @author Felipe Castro <fefcas@gmail.com> * @author Robert Bogenschneider <robog@gmx.de> diff --git a/lib/plugins/popularity/lang/ko/intro.txt b/lib/plugins/popularity/lang/ko/intro.txt index 16475ce95..bc9bb9dd0 100644 --- a/lib/plugins/popularity/lang/ko/intro.txt +++ b/lib/plugins/popularity/lang/ko/intro.txt @@ -1,6 +1,6 @@ ====== 인기도 조사 ====== -설치된 위키의 익명 정보를 도쿠위키 개발자에게 보냅니다. 이 [[doku>ko:popularity|도구]]는 도쿠위키가 실제 사용자에게 어떻게 사용되는지 도쿠위키 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다. +설치된 위키의 익명 정보를 도쿠위키 개발자에게 보냅니다. 이 [[doku>ko:popularity|도구]]는 도쿠위키가 실제 사용자에게 어떻게 사용되는지 도쿠위키 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다. 설치된 위키가 커짐에 따라서 이 과정을 반복할 필요가 있습니다. 반복된 데이터는 익명 ID로 구별되어집니다. diff --git a/lib/plugins/popularity/lang/ko/lang.php b/lib/plugins/popularity/lang/ko/lang.php index e9bcc7dcc..f52e0007a 100644 --- a/lib/plugins/popularity/lang/ko/lang.php +++ b/lib/plugins/popularity/lang/ko/lang.php @@ -12,7 +12,7 @@ */ $lang['name'] = '인기도 조사 (불러오는 데 시간이 걸릴 수 있습니다)'; $lang['submit'] = '자료 보내기'; -$lang['autosubmit'] = '자료를 자동으로 매달 한번씩 보내기'; +$lang['autosubmit'] = '자료를 자동으로 한 달에 한 번씩 보내기'; $lang['submissionFailed'] = '다음과 같은 이유로 자료 보내기에 실패했습니다:'; $lang['submitDirectly'] = '아래의 양식에 맞춰 수동으로 작성된 자료를 보낼 수 있습니다.'; $lang['autosubmitError'] = '다음과 같은 이유로 자동 자료 보내기에 실패했습니다:'; diff --git a/lib/plugins/popularity/lang/ne/lang.php b/lib/plugins/popularity/lang/ne/lang.php index d6aa56eb7..c0d925a46 100644 --- a/lib/plugins/popularity/lang/ne/lang.php +++ b/lib/plugins/popularity/lang/ne/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Nepali language file - * + * @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> diff --git a/lib/plugins/popularity/lang/pt-br/lang.php b/lib/plugins/popularity/lang/pt-br/lang.php index c2ec36145..280f072b8 100644 --- a/lib/plugins/popularity/lang/pt-br/lang.php +++ b/lib/plugins/popularity/lang/pt-br/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> * @author Lucien Raven <lucienraven@yahoo.com.br> * @author Enrico Nicoletto <liverig@gmail.com> diff --git a/lib/plugins/popularity/lang/pt/lang.php b/lib/plugins/popularity/lang/pt/lang.php index ac27dc8c0..e30b9d62b 100644 --- a/lib/plugins/popularity/lang/pt/lang.php +++ b/lib/plugins/popularity/lang/pt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Enrico Nicoletto <liverig@gmail.com> * @author Fil <fil@meteopt.com> * @author André Neves <drakferion@gmail.com> diff --git a/lib/plugins/popularity/lang/ru/submitted.txt b/lib/plugins/popularity/lang/ru/submitted.txt index a239943a4..845410171 100644 --- a/lib/plugins/popularity/lang/ru/submitted.txt +++ b/lib/plugins/popularity/lang/ru/submitted.txt @@ -1,2 +1,3 @@ -====== Общественная обратная связь ====== +====== Сбор информации о популярности ====== + Данные были успешно отправлены.
\ No newline at end of file diff --git a/lib/plugins/popularity/lang/sl/lang.php b/lib/plugins/popularity/lang/sl/lang.php index 5c92dd7c4..abde6555b 100644 --- a/lib/plugins/popularity/lang/sl/lang.php +++ b/lib/plugins/popularity/lang/sl/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Slovenian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Matej Urbančič (mateju@svn.gnome.org) */ $lang['name'] = 'Poročilo o uporabi (nalaganje strani je lahko dolgotrajno)'; diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index beff10ced..b65472e4c 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -157,7 +157,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { echo "<img $att />"; echo '</a> '; - echo html_wikilink(':'.$recent['id'],(useHeading('navigation'))?NULL:$recent['id']); + echo html_wikilink(':'.$recent['id'],(useHeading('navigation'))?null:$recent['id']); echo ' – '.htmlspecialchars($recent['sum']); echo ' <span class="user">'; diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php index eef3295ba..d918e2e69 100644 --- a/lib/plugins/revert/lang/cs/lang.php +++ b/lib/plugins/revert/lang/cs/lang.php @@ -1,9 +1,8 @@ <?php + /** - * Czech language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Bohumir Zamecnik <bohumir@zamecnik.org> * @author Zbynek Krivka <zbynek.krivka@seznam.cz> * @author tomas@valenta.cz @@ -14,6 +13,7 @@ * @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> */ $lang['menu'] = 'Obnova zaspamovaných stránek'; $lang['filter'] = 'Hledat zaspamované stránky'; diff --git a/lib/plugins/revert/lang/de-informal/lang.php b/lib/plugins/revert/lang/de-informal/lang.php index 7ca141e3c..93a932945 100644 --- a/lib/plugins/revert/lang/de-informal/lang.php +++ b/lib/plugins/revert/lang/de-informal/lang.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @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> diff --git a/lib/plugins/revert/lang/eo/lang.php b/lib/plugins/revert/lang/eo/lang.php index 05eec26a8..2d0b0f267 100644 --- a/lib/plugins/revert/lang/eo/lang.php +++ b/lib/plugins/revert/lang/eo/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Esperantolanguage file - * + * @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> diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php index de304da5b..e63706960 100644 --- a/lib/plugins/revert/lang/ko/lang.php +++ b/lib/plugins/revert/lang/ko/lang.php @@ -14,8 +14,8 @@ $lang['menu'] = '되돌리기 관리자'; $lang['filter'] = '스팸 문서 찾기'; $lang['revert'] = '선택한 문서 되돌리기'; $lang['reverted'] = '%s 판을 %s 판으로 되돌림'; -$lang['removed'] = '%s 삭제함'; +$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/ne/lang.php b/lib/plugins/revert/lang/ne/lang.php index 4fd337532..8bd7c3327 100644 --- a/lib/plugins/revert/lang/ne/lang.php +++ b/lib/plugins/revert/lang/ne/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Nepali language file - * + * @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> diff --git a/lib/plugins/revert/lang/pt-br/lang.php b/lib/plugins/revert/lang/pt-br/lang.php index b74e0408f..103970484 100644 --- a/lib/plugins/revert/lang/pt-br/lang.php +++ b/lib/plugins/revert/lang/pt-br/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @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> diff --git a/lib/plugins/revert/lang/pt/lang.php b/lib/plugins/revert/lang/pt/lang.php index 3b2850f41..f87f77db7 100644 --- a/lib/plugins/revert/lang/pt/lang.php +++ b/lib/plugins/revert/lang/pt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @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> diff --git a/lib/plugins/revert/lang/ru/lang.php b/lib/plugins/revert/lang/ru/lang.php index defd86de0..73d69b33e 100644 --- a/lib/plugins/revert/lang/ru/lang.php +++ b/lib/plugins/revert/lang/ru/lang.php @@ -22,7 +22,7 @@ $lang['menu'] = 'Менеджер откаток'; $lang['filter'] = 'Поиск спам-страниц'; $lang['revert'] = 'Откатить изменения для выбранных страниц'; -$lang['reverted'] = '%s откачена к версии %s'; +$lang['reverted'] = '%s возвращена к версии %s'; $lang['removed'] = '%s удалена'; $lang['revstart'] = 'Начат процесс откатки. Он может занять много времени. Если скрипт не успевает завершить работу и выдаёт ошибку, необходимо произвести откатку более маленькими частями.'; $lang['revstop'] = 'Процесс откатки успешно завершён.'; diff --git a/lib/plugins/revert/lang/sl/lang.php b/lib/plugins/revert/lang/sl/lang.php index 92b0427ce..df778fd26 100644 --- a/lib/plugins/revert/lang/sl/lang.php +++ b/lib/plugins/revert/lang/sl/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Slovenian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Matej Urbančič (mateju@svn.gnome.org) */ $lang['menu'] = 'Povrnitev okvarjene vsebine'; diff --git a/lib/plugins/safefnrecode/action.php b/lib/plugins/safefnrecode/action.php index aae11c437..9127f8df2 100644 --- a/lib/plugins/safefnrecode/action.php +++ b/lib/plugins/safefnrecode/action.php @@ -15,7 +15,7 @@ class action_plugin_safefnrecode extends DokuWiki_Action_Plugin { public function register(Doku_Event_Handler $controller) { - $controller->register_hook('INDEXER_TASKS_RUN', 'BEFORE', $this, 'handle_indexer_tasks_run'); + $controller->register_hook('INDEXER_TASKS_RUN', 'BEFORE', $this, 'handle_indexer_tasks_run'); } diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index b7839b2b2..6aa403b61 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -137,7 +137,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { $idx = array_search(substr(get_class($this), 7), (array) $this->allowedModes); if ($idx !== false) { - unset($this->allowedModes[$idx]); + unset($this->allowedModes[$idx]); } $this->allowedModesSetup = true; } @@ -169,9 +169,9 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * @return string string in appropriate language or english if not available */ function getLang($id) { - if (!$this->localised) $this->setupLocale(); + if (!$this->localised) $this->setupLocale(); - return (isset($this->lang[$id]) ? $this->lang[$id] : ''); + return (isset($this->lang[$id]) ? $this->lang[$id] : ''); } /** @@ -184,7 +184,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * @return string parsed contents of the wiki page in xhtml format */ function locale_xhtml($id) { - return p_cached_output($this->localFN($id)); + return p_cached_output($this->localFN($id)); } /** @@ -193,17 +193,17 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { * 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'; + 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; + return $file; } /** @@ -214,16 +214,16 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { 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; + 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 diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 762daa6b9..3dba5a86e 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -41,13 +41,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $this->setupLocale(); if (!isset($auth)) { - $this->disabled = $this->lang['noauth']; + $this->disabled = $this->lang['noauth']; } else if (!$auth->canDo('getUsers')) { - $this->disabled = $this->lang['nosupport']; + $this->disabled = $this->lang['nosupport']; } else { - // we're good to go - $this->_auth = & $auth; + // we're good to go + $this->_auth = & $auth; } @@ -58,8 +58,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } /** - * return prompt for admin menu - */ + * return prompt for admin menu + */ function getMenuText($language) { if (!is_null($this->_auth)) @@ -95,31 +95,31 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } if ($cmd != "search") { - $this->_start = $INPUT->int('start', 0); - $this->_filter = $this->_retrieveFilter(); + $this->_start = $INPUT->int('start', 0); + $this->_filter = $this->_retrieveFilter(); } switch($cmd){ - case "add" : $this->_addUser(); break; - case "delete" : $this->_deleteUser(); break; - case "modify" : $this->_modifyUser(); break; - case "edit" : $this->_editUser($param); break; - case "search" : $this->_setFilter($param); - $this->_start = 0; - break; - case "export" : $this->_export(); break; - case "import" : $this->_import(); break; - case "importfails" : $this->_downloadImportFailures(); break; + case "add" : $this->_addUser(); break; + case "delete" : $this->_deleteUser(); break; + case "modify" : $this->_modifyUser(); break; + case "edit" : $this->_editUser($param); break; + case "search" : $this->_setFilter($param); + $this->_start = 0; + break; + case "export" : $this->_export(); break; + case "import" : $this->_import(); break; + case "importfails" : $this->_downloadImportFailures(); break; } $this->_user_total = $this->_auth->canDo('getUserCount') ? $this->_auth->getUserCount($this->_filter) : -1; // page handling switch($cmd){ - case 'start' : $this->_start = 0; break; - case 'prev' : $this->_start -= $this->_pagesize; break; - case 'next' : $this->_start += $this->_pagesize; break; - case 'last' : $this->_start = $this->_user_total; break; + case 'start' : $this->_start = 0; break; + case 'prev' : $this->_start -= $this->_pagesize; break; + case 'next' : $this->_start += $this->_pagesize; break; + case 'last' : $this->_start = $this->_user_total; break; } $this->_validatePagination(); } @@ -151,9 +151,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln("<div class=\"level2\">"); if ($this->_user_total > 0) { - ptln("<p>".sprintf($this->lang['summary'],$this->_start+1,$this->_last,$this->_user_total,$this->_auth->getUserCount())."</p>"); + ptln("<p>".sprintf($this->lang['summary'],$this->_start+1,$this->_last,$this->_user_total,$this->_auth->getUserCount())."</p>"); } else { - ptln("<p>".sprintf($this->lang['nonefound'],$this->_auth->getUserCount())."</p>"); + ptln("<p>".sprintf($this->lang['nonefound'],$this->_auth->getUserCount())."</p>"); } ptln("<form action=\"".wl($ID)."\" method=\"post\">"); formSecurityToken(); @@ -174,25 +174,25 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln(" </thead>"); if ($this->_user_total) { - ptln(" <tbody>"); - foreach ($user_list as $user => $userinfo) { - extract($userinfo); - $groups = join(', ',$grps); - ptln(" <tr class=\"user_info\">"); - ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".$user."]\" ".$delete_disable." /></td>"); - if ($editable) { - ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.hsc($user).']' => 1, - 'do' => 'admin', - 'page' => 'usermanager', - 'sectok' => getSecurityToken())). - "\" title=\"".$this->lang['edit_prompt']."\">".hsc($user)."</a></td>"); - } else { - ptln(" <td>".hsc($user)."</td>"); + ptln(" <tbody>"); + foreach ($user_list as $user => $userinfo) { + extract($userinfo); + $groups = join(', ',$grps); + ptln(" <tr class=\"user_info\">"); + ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".$user."]\" ".$delete_disable." /></td>"); + if ($editable) { + ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.hsc($user).']' => 1, + 'do' => 'admin', + 'page' => 'usermanager', + 'sectok' => getSecurityToken())). + "\" title=\"".$this->lang['edit_prompt']."\">".hsc($user)."</a></td>"); + } else { + ptln(" <td>".hsc($user)."</td>"); + } + ptln(" <td>".hsc($name)."</td><td>".hsc($mail)."</td><td>".hsc($groups)."</td>"); + ptln(" </tr>"); } - ptln(" <td>".hsc($name)."</td><td>".hsc($mail)."</td><td>".hsc($groups)."</td>"); - ptln(" </tr>"); - } - ptln(" </tbody>"); + ptln(" </tbody>"); } ptln(" <tbody>"); @@ -226,29 +226,29 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $style = $this->_edit_user ? " class=\"edit_user\"" : ""; if ($this->_auth->canDo('addUser')) { - ptln("<div".$style.">"); - print $this->locale_xhtml('add'); - ptln(" <div class=\"level2\">"); + ptln("<div".$style.">"); + print $this->locale_xhtml('add'); + ptln(" <div class=\"level2\">"); - $this->_htmlUserForm('add',null,array(),4); + $this->_htmlUserForm('add',null,array(),4); - ptln(" </div>"); - ptln("</div>"); + ptln(" </div>"); + ptln("</div>"); } if($this->_edit_user && $this->_auth->canDo('UserMod')){ - ptln("<div".$style." id=\"scroll__here\">"); - print $this->locale_xhtml('edit'); - ptln(" <div class=\"level2\">"); + ptln("<div".$style." id=\"scroll__here\">"); + print $this->locale_xhtml('edit'); + ptln(" <div class=\"level2\">"); - $this->_htmlUserForm('modify',$this->_edit_user,$this->_edit_userdata,4); + $this->_htmlUserForm('modify',$this->_edit_user,$this->_edit_userdata,4); - ptln(" </div>"); - ptln("</div>"); + ptln(" </div>"); + ptln("</div>"); } if ($this->_auth->canDo('addUser')) { - $this->_htmlImportForm(); + $this->_htmlImportForm(); } ptln("</div>"); } @@ -265,10 +265,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $notes = array(); if ($user) { - extract($userdata); - if (!empty($grps)) $groups = join(',',$grps); + extract($userdata); + if (!empty($grps)) $groups = join(',',$grps); } else { - $notes[] = sprintf($this->lang['note_group'],$conf['defaultgroup']); + $notes[] = sprintf($this->lang['note_group'],$conf['defaultgroup']); } ptln("<form action=\"".wl($ID)."\" method=\"post\">",$indent); @@ -287,14 +287,14 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $this->_htmlInputField($cmd."_usergroups","usergroups",$this->lang["user_groups"],$groups,$this->_auth->canDo("modGroups"),$indent+6); if ($this->_auth->canDo("modPass")) { - if ($cmd == 'add') { - $notes[] = $this->lang['note_pass']; - } - if ($user) { - $notes[] = $this->lang['note_notify']; - } + if ($cmd == 'add') { + $notes[] = $this->lang['note_pass']; + } + if ($user) { + $notes[] = $this->lang['note_notify']; + } - ptln("<tr><td><label for=\"".$cmd."_usernotify\" >".$this->lang["user_notify"].": </label></td><td><input type=\"checkbox\" id=\"".$cmd."_usernotify\" name=\"usernotify\" value=\"1\" /></td></tr>", $indent); + ptln("<tr><td><label for=\"".$cmd."_usernotify\" >".$this->lang["user_notify"].": </label></td><td><input type=\"checkbox\" id=\"".$cmd."_usernotify\" name=\"usernotify\" value=\"1\" /></td></tr>", $indent); } ptln(" </tbody>",$indent); @@ -317,11 +317,11 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln(" </table>",$indent); if ($notes) { - ptln(" <ul class=\"notes\">"); - foreach ($notes as $note) { - ptln(" <li><span class=\"li\">".$note."</span></li>",$indent); - } - ptln(" </ul>"); + ptln(" <ul class=\"notes\">"); + foreach ($notes as $note) { + ptln(" <li><span class=\"li\">".$note."</span></li>",$indent); + } + ptln(" </ul>"); } ptln(" </div>",$indent); ptln("</form>",$indent); @@ -366,7 +366,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln("<input type=\"hidden\" name=\"start\" value=\"".$this->_start."\" />",$indent); foreach ($this->_filter as $key => $filter) { - ptln("<input type=\"hidden\" name=\"filter[".$key."]\" value=\"".hsc($filter)."\" />",$indent); + ptln("<input type=\"hidden\" name=\"filter[".$key."]\" value=\"".hsc($filter)."\" />",$indent); } } @@ -432,52 +432,52 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { if (empty($user)) return false; if ($this->_auth->canDo('modPass')){ - if (empty($pass)){ - if($INPUT->has('usernotify')){ - $pass = auth_pwgen($user); - } else { - msg($this->lang['add_fail'], -1); - return false; + if (empty($pass)){ + if($INPUT->has('usernotify')){ + $pass = auth_pwgen($user); + } else { + msg($this->lang['add_fail'], -1); + return false; + } } - } } else { - if (!empty($pass)){ - msg($this->lang['add_fail'], -1); - return false; - } + if (!empty($pass)){ + msg($this->lang['add_fail'], -1); + return false; + } } if ($this->_auth->canDo('modName')){ - if (empty($name)){ - msg($this->lang['add_fail'], -1); - return false; - } + if (empty($name)){ + msg($this->lang['add_fail'], -1); + return false; + } } else { - if (!empty($name)){ - return false; - } + if (!empty($name)){ + return false; + } } if ($this->_auth->canDo('modMail')){ - if (empty($mail)){ - msg($this->lang['add_fail'], -1); - return false; - } + if (empty($mail)){ + msg($this->lang['add_fail'], -1); + return false; + } } else { - if (!empty($mail)){ - return false; - } + if (!empty($mail)){ + return false; + } } if ($ok = $this->_auth->triggerUserMod('create', array($user,$pass,$name,$mail,$grps))) { - msg($this->lang['add_ok'], 1); + msg($this->lang['add_ok'], 1); - if ($INPUT->has('usernotify') && $pass) { - $this->_notifyUser($user,$pass); - } + if ($INPUT->has('usernotify') && $pass) { + $this->_notifyUser($user,$pass); + } } else { - msg($this->lang['add_fail'], -1); + msg($this->lang['add_fail'], -1); } return $ok; @@ -503,12 +503,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $count = $this->_auth->triggerUserMod('delete', array($selected)); if ($count == count($selected)) { - $text = str_replace('%d', $count, $this->lang['delete_ok']); - msg("$text.", 1); + $text = str_replace('%d', $count, $this->lang['delete_ok']); + msg("$text.", 1); } else { - $part1 = str_replace('%d', $count, $this->lang['delete_ok']); - $part2 = str_replace('%d', (count($selected)-$count), $this->lang['delete_fail']); - msg("$part1, $part2",-1); + $part1 = str_replace('%d', $count, $this->lang['delete_ok']); + $part2 = str_replace('%d', (count($selected)-$count), $this->lang['delete_fail']); + msg("$part1, $part2",-1); } // invalidate all sessions @@ -529,8 +529,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { // no user found? if (!$userdata) { - msg($this->lang['edit_usermissing'],-1); - return false; + msg($this->lang['edit_usermissing'],-1); + return false; } $this->_edit_user = $user; @@ -559,18 +559,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $changes = array(); if ($newuser != $olduser) { - if (!$this->_auth->canDo('modLogin')) { // sanity check, shouldn't be possible - msg($this->lang['update_fail'],-1); - return false; - } + if (!$this->_auth->canDo('modLogin')) { // sanity check, shouldn't be possible + msg($this->lang['update_fail'],-1); + return false; + } - // check if $newuser already exists - if ($this->_auth->getUserData($newuser)) { - msg(sprintf($this->lang['update_exists'],$newuser),-1); - $re_edit = true; - } else { - $changes['user'] = $newuser; - } + // check if $newuser already exists + if ($this->_auth->getUserData($newuser)) { + msg(sprintf($this->lang['update_exists'],$newuser),-1); + $re_edit = true; + } else { + $changes['user'] = $newuser; + } } // generate password if left empty and notification is on @@ -588,18 +588,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $changes['grps'] = $newgrps; if ($ok = $this->_auth->triggerUserMod('modify', array($olduser, $changes))) { - msg($this->lang['update_ok'],1); + msg($this->lang['update_ok'],1); - if ($INPUT->has('usernotify') && $newpass) { - $notify = empty($changes['user']) ? $olduser : $newuser; - $this->_notifyUser($notify,$newpass); - } + if ($INPUT->has('usernotify') && $newpass) { + $notify = empty($changes['user']) ? $olduser : $newuser; + $this->_notifyUser($notify,$newpass); + } - // invalidate all sessions - io_saveFile($conf['cachedir'].'/sessionpurge',time()); + // invalidate all sessions + io_saveFile($conf['cachedir'].'/sessionpurge',time()); } else { - msg($this->lang['update_fail'],-1); + msg($this->lang['update_fail'],-1); } if (!empty($re_edit)) { @@ -615,13 +615,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { function _notifyUser($user, $password, $status_alert=true) { if ($sent = auth_sendPassword($user,$password)) { - if ($status_alert) { - msg($this->lang['notify_ok'], 1); - } + if ($status_alert) { + msg($this->lang['notify_ok'], 1); + } } else { - if ($status_alert) { - msg($this->lang['notify_fail'], -1); - } + if ($status_alert) { + msg($this->lang['notify_fail'], -1); + } } return $sent; @@ -656,12 +656,12 @@ 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; - if (!empty($mail)) $this->_filter['mail'] = $mail; - if (!empty($grps)) $this->_filter['grps'] = join('|',$grps); + if (!empty($user)) $this->_filter['user'] = $user; + if (!empty($name)) $this->_filter['name'] = $name; + if (!empty($mail)) $this->_filter['mail'] = $mail; + if (!empty($grps)) $this->_filter['grps'] = join('|',$grps); } } @@ -684,7 +684,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { function _validatePagination() { if ($this->_start >= $this->_user_total) { - $this->_start = $this->_user_total - $this->_pagesize; + $this->_start = $this->_user_total - $this->_pagesize; } if ($this->_start < 0) $this->_start = 0; @@ -701,10 +701,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $buttons['start'] = $buttons['prev'] = ($this->_start == 0) ? $disabled : ''; if ($this->_user_total == -1) { - $buttons['last'] = $disabled; - $buttons['next'] = ''; + $buttons['last'] = $disabled; + $buttons['next'] = ''; } else { - $buttons['last'] = $buttons['next'] = (($this->_start + $this->_pagesize) >= $this->_user_total) ? $disabled : ''; + $buttons['last'] = $buttons['next'] = (($this->_start + $this->_pagesize) >= $this->_user_total) ? $disabled : ''; } return $buttons; @@ -803,9 +803,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { // save import failures into the session if (!headers_sent()) { - session_start(); - $_SESSION['import_failures'] = $this->_import_failures; - session_write_close(); + session_start(); + $_SESSION['import_failures'] = $this->_import_failures; + session_write_close(); } } diff --git a/lib/plugins/usermanager/lang/cs/import.txt b/lib/plugins/usermanager/lang/cs/import.txt new file mode 100644 index 000000000..c264ae185 --- /dev/null +++ b/lib/plugins/usermanager/lang/cs/import.txt @@ -0,0 +1,9 @@ +===== Hromadný import uživatelů ===== + +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í. +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. + +Hesla budou vygenerována a zaslána e-mailem všem úspěšně importovaným uživatelům.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php index 9fc3a5e75..b2c736e09 100644 --- a/lib/plugins/usermanager/lang/cs/lang.php +++ b/lib/plugins/usermanager/lang/cs/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Czech language file - * + * @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> @@ -13,6 +14,7 @@ * @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> */ $lang['menu'] = 'Správa uživatelů'; $lang['noauth'] = '(autentizace uživatelů není k dispozici)'; @@ -35,6 +37,11 @@ $lang['search'] = 'Hledání'; $lang['search_prompt'] = 'Prohledat'; $lang['clear'] = 'Zrušit vyhledávací filtr'; $lang['filter'] = 'Filtr'; +$lang['export_all'] = 'Exportovat všechny uživatele (CSV)'; +$lang['export_filtered'] = 'Exportovat filtrovaný seznam uživatelů (CSV)'; +$lang['import'] = 'Importovat nové uživatele'; +$lang['line'] = 'Řádek č.'; +$lang['error'] = 'Chybová zpráva'; $lang['summary'] = 'Zobrazuji uživatele %1$d-%2$d z %3$d nalezených. Celkem %4$d uživatelů.'; $lang['nonefound'] = 'Žadný uživatel nenalezen. Celkem %d uživatelů.'; $lang['delete_ok'] = '%d uživatelů smazáno'; @@ -50,8 +57,18 @@ $lang['edit_usermissing'] = 'Vybraný uživatel nebyl nalezen, zadané uži $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_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 zapnutá notifikace uživatele.'; +$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['import_success_count'] = 'Import uživatelů: nalezeno %s 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_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í.'; diff --git a/lib/plugins/usermanager/lang/de-informal/import.txt b/lib/plugins/usermanager/lang/de-informal/import.txt new file mode 100644 index 000000000..6fd6b8d8c --- /dev/null +++ b/lib/plugins/usermanager/lang/de-informal/import.txt @@ -0,0 +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. +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-informal/lang.php b/lib/plugins/usermanager/lang/de-informal/lang.php index 791cfa74f..bea4159d0 100644 --- a/lib/plugins/usermanager/lang/de-informal/lang.php +++ b/lib/plugins/usermanager/lang/de-informal/lang.php @@ -1,7 +1,8 @@ <?php + /** - * German (informal) language file - * + * @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> @@ -10,6 +11,7 @@ * @author Pierre Corell <info@joomla-praxis.de> * @author Frank Loizzi <contact@software.bacal.de> * @author Volker Bödker <volker@boedker.de> + * @author Dennis Plöger <develop@dieploegers.de> */ $lang['menu'] = 'Benutzerverwaltung'; $lang['noauth'] = '(Benutzeranmeldung ist nicht verfügbar)'; @@ -32,6 +34,11 @@ $lang['search'] = 'Suchen'; $lang['search_prompt'] = 'Suche ausführen'; $lang['clear'] = 'Suchfilter zurücksetzen'; $lang['filter'] = 'Filter'; +$lang['export_all'] = 'Alle Benutzer exportieren (CSV)'; +$lang['export_filtered'] = 'Gefilterte Benutzerliste exportieren (CSV)'; +$lang['import'] = 'Neue Benutzer importieren'; +$lang['line'] = 'Zeile Nr.'; +$lang['error'] = 'Fehlermeldung'; $lang['summary'] = 'Zeige Benutzer %1$d-%2$d von %3$d gefundenen. %4$d Benutzer insgesamt.'; $lang['nonefound'] = 'Keinen Benutzer gefunden. Insgesamt %d Benutzer.'; $lang['delete_ok'] = '%d Benutzer wurden gelöscht'; @@ -52,3 +59,13 @@ $lang['add_ok'] = 'Benutzer erfolgreich hinzugefügt'; $lang['add_fail'] = 'Hinzufügen des Benutzers fehlgeschlagen'; $lang['notify_ok'] = 'Benachrichtigungsmail wurde versendet'; $lang['notify_fail'] = 'Benachrichtigungsemail konnte nicht gesendet werden'; +$lang['import_success_count'] = 'Benutzerimport: %d Benutzer gefunden, %d erfolgreich importiert.'; +$lang['import_failure_count'] = 'Benutzerimport: %d Benutzerimporte fehlgeschalten. Alle Fehler werden unten angezeigt.'; +$lang['import_error_fields'] = 'Falsche Anzahl Felder. Gefunden: %d. Benötigt: 4.'; +$lang['import_error_baduserid'] = 'Benutzername fehlt'; +$lang['import_error_badname'] = 'Ungültiger Name'; +$lang['import_error_badmail'] = 'Ungültige E-Mailadresse'; +$lang['import_error_upload'] = 'Import fehlgeschlagen. Die CSV-Datei konnte nicht hochgeladen werden oder ist leer.'; +$lang['import_error_readfail'] = 'Import fehlgeschlagen. Konnte die hochgeladene Datei nicht lesen.'; +$lang['import_error_create'] = 'Konnte den Benutzer nicht erzeugen'; +$lang['import_notify_fail'] = 'Benachrichtigung konnte an Benutzer %s (%s) nicht geschickt werden.'; diff --git a/lib/plugins/usermanager/lang/de/import.txt b/lib/plugins/usermanager/lang/de/import.txt new file mode 100644 index 000000000..bf0d2922e --- /dev/null +++ b/lib/plugins/usermanager/lang/de/import.txt @@ -0,0 +1,8 @@ +===== 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. +Ein Beispiel für eine gültige Datei kann mit der Benutzer-Export-Funktion oben generiert werden. +Doppelte Benutzer-IDs werden ignoriert. + +Für jeden importierten Benutzer wird ein Passwort generiert und dem Benutzer per Mail zugestellt.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/de/lang.php b/lib/plugins/usermanager/lang/de/lang.php index 68cdf359f..21be74f71 100644 --- a/lib/plugins/usermanager/lang/de/lang.php +++ b/lib/plugins/usermanager/lang/de/lang.php @@ -19,6 +19,7 @@ * @author Pierre Corell <info@joomla-praxis.de> * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Sven <Svenluecke48@gmx.d> + * @author christian studer <cstuder@existenz.ch> */ $lang['menu'] = 'Benutzerverwaltung'; $lang['noauth'] = '(Authentifizierungssystem nicht verfügbar)'; @@ -75,3 +76,4 @@ $lang['import_error_badmail'] = 'Ungültige E-Mail'; $lang['import_error_upload'] = 'Import fehlgeschlagen. Die CSV-Datei konnte nicht hochgeladen werden, oder ist leer.'; $lang['import_error_readfail'] = 'Import fehlgeschlagen. Die hochgeladene Datei konnte nicht gelesen werden.'; $lang['import_error_create'] = 'User konnte nicht angelegt werden'; +$lang['import_notify_fail'] = 'Notifikation konnte nicht an den importierten Benutzer %s (E-Mail: %s) gesendet werden.'; diff --git a/lib/plugins/usermanager/lang/eo/import.txt b/lib/plugins/usermanager/lang/eo/import.txt new file mode 100644 index 000000000..61c2c74de --- /dev/null +++ b/lib/plugins/usermanager/lang/eo/import.txt @@ -0,0 +1,9 @@ +===== Amasa importo de uzantoj ===== + +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. +Por ekzemplo de taŭga dosiero, provu la funkcion "Eksporti uzantojn" supre. +Duobligitaj uzant-id estos preteratentataj. + +Pasvorto estos generata kaj retsendata al ĉiu sukecse importita uzanto.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/eo/lang.php b/lib/plugins/usermanager/lang/eo/lang.php index 75782fe23..4c4174339 100644 --- a/lib/plugins/usermanager/lang/eo/lang.php +++ b/lib/plugins/usermanager/lang/eo/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Esperantolanguage file - * + * @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> @@ -10,6 +11,7 @@ * @author Erik Pedersen <erik pedersen@shaw.ca> * @author Erik Pedersen <erik.pedersen@shaw.ca> * @author Robert Bogenschneider <bogi@uea.org> + * @author Felipe Castro <fefcas@yahoo.com.br> */ $lang['menu'] = 'Administrado de uzantoj'; $lang['noauth'] = '(identiĝo de uzantoj ne disponeblas)'; @@ -32,6 +34,11 @@ $lang['search'] = 'Serĉi'; $lang['search_prompt'] = 'Fari serĉon'; $lang['clear'] = 'Refari serĉan filtron'; $lang['filter'] = 'Filtro'; +$lang['export_all'] = 'Eksporti ĉiujn uzantojn (CSV)'; +$lang['export_filtered'] = 'Eksporti filtritan uzant-liston (CSV)'; +$lang['import'] = 'Importi novajn uzantojn'; +$lang['line'] = 'Lini-num.'; +$lang['error'] = 'Erar-mesaĝo'; $lang['summary'] = 'Montriĝas uzantoj %1$d-%2$d el %3$d trovitaj. %4$d uzantoj entute.'; $lang['nonefound'] = 'Neniuj uzantoj troviĝas. %d uzantoj entute.'; $lang['delete_ok'] = '%d uzantoj forigiĝis'; @@ -52,3 +59,13 @@ $lang['add_ok'] = 'La uzanto sukcese aldoniĝis'; $lang['add_fail'] = 'Ne eblis aldoni uzanton'; $lang['notify_ok'] = 'Avizanta mesaĝo sendiĝis'; $lang['notify_fail'] = 'La avizanta mesaĝo ne povis esti sendita'; +$lang['import_success_count'] = 'Uzant-importo: %d uzantoj trovataj, %d sukcese importitaj.'; +$lang['import_failure_count'] = 'Uzant-importo: %d fiaskis. Fiaskoj estas sube listitaj.'; +$lang['import_error_fields'] = 'Nesufiĉe da kampoj, ni trovis %d, necesas 4.'; +$lang['import_error_baduserid'] = 'Mankas uzant-id'; +$lang['import_error_badname'] = 'Malĝusta nomo'; +$lang['import_error_badmail'] = 'Malĝusta retadreso'; +$lang['import_error_upload'] = 'Importo fiaskis. La csv-dosiero ne povis esti alŝutata aŭ ĝi estas malplena.'; +$lang['import_error_readfail'] = 'Importo fiaskis. Ne eblas legi alŝutitan dosieron.'; +$lang['import_error_create'] = 'Ne eblas krei la uzanton'; +$lang['import_notify_fail'] = 'Averta mesaĝo ne povis esti sendata al la importita uzanto %s, kun retdreso %s.'; diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index a0db839e0..f2116f688 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -13,10 +13,10 @@ $lang['menu'] = '사용자 관리자'; $lang['noauth'] = '(사용자 인증이 불가능합니다)'; $lang['nosupport'] = '(사용자 관리가 지원되지 않습니다)'; -$lang['badauth'] = '인증 메카니즘이 잘못되었습니다'; +$lang['badauth'] = '인증 메커니즘이 잘못되었습니다'; $lang['user_id'] = '사용자'; $lang['user_pass'] = '비밀번호'; -$lang['user_name'] = '실제 이름'; +$lang['user_name'] = '실명'; $lang['user_mail'] = '이메일 '; $lang['user_groups'] = '그룹'; $lang['field'] = '항목'; @@ -39,7 +39,7 @@ $lang['error'] = '오류 메시지'; $lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.'; $lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자는 %d명입니다.'; $lang['delete_ok'] = '사용자 %d명이 삭제되었습니다'; -$lang['delete_fail'] = '사용자 %d명의 삭제가 실패했습니다.'; +$lang['delete_fail'] = '사용자 %d명을 삭제하는 데 실패했습니다.'; $lang['update_ok'] = '사용자 정보를 성공적으로 바꾸었습니다'; $lang['update_fail'] = '사용자 정보를 바꾸는 데 실패했습니다'; $lang['update_exists'] = '사용자 이름을 바꾸는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)'; @@ -58,7 +58,7 @@ $lang['notify_ok'] = '알림 이메일을 성공적으로 보냈습 $lang['notify_fail'] = '알림 이메일을 보낼 수 없습니다'; $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'] = '사용자 id 없음'; $lang['import_error_badname'] = '잘못된 이름'; $lang['import_error_badmail'] = '잘못된 이메일 주소'; diff --git a/lib/plugins/usermanager/lang/ne/lang.php b/lib/plugins/usermanager/lang/ne/lang.php index f68ed2074..9a44d19ce 100644 --- a/lib/plugins/usermanager/lang/ne/lang.php +++ b/lib/plugins/usermanager/lang/ne/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Nepali language file - * + * @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> diff --git a/lib/plugins/usermanager/lang/pt-br/lang.php b/lib/plugins/usermanager/lang/pt-br/lang.php index 637be8860..8beae392f 100644 --- a/lib/plugins/usermanager/lang/pt-br/lang.php +++ b/lib/plugins/usermanager/lang/pt-br/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @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> diff --git a/lib/plugins/usermanager/lang/pt/import.txt b/lib/plugins/usermanager/lang/pt/import.txt new file mode 100644 index 000000000..3a604030c --- /dev/null +++ b/lib/plugins/usermanager/lang/pt/import.txt @@ -0,0 +1,9 @@ +===== Importação de Utilizadores em Massa ===== + +Requer um ficheiro CSV de utilizadores com pelo menos quatro colunas. +As colunas têm de conter, em ordem: id de utilizador, nome completo, endereço de email e grupos. +Os campos CSV devem ser separados por vírgulas (,) e as strings delimitadas por aspas (""). A contra-barra (\) pode ser usada para escapar. +Para um exemplo de um ficheiro adequado, tente a função "Exportar Utilizadores" acima. +Ids de utilizador duplicados serão ignorados. + +Uma senha será gerada e enviada por email a cada utilizador importado com sucesso.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php index 6d0d85e38..b59649aa1 100644 --- a/lib/plugins/usermanager/lang/pt/lang.php +++ b/lib/plugins/usermanager/lang/pt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portugueselanguage file - * + * @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> @@ -29,6 +30,10 @@ $lang['search'] = 'Pesquisar'; $lang['search_prompt'] = 'Pesquisar'; $lang['clear'] = 'Limpar Filtro de Pesquisa'; $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['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.'; $lang['delete_ok'] = '%d utilizadores removidos'; @@ -49,3 +54,11 @@ $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_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_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.'; diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php index f2029e58b..3102ac32a 100644 --- a/lib/plugins/usermanager/lang/ru/lang.php +++ b/lib/plugins/usermanager/lang/ru/lang.php @@ -44,9 +44,9 @@ $lang['filter'] = 'Фильтр'; $lang['export_all'] = 'Экспорт всех пользователей (CSV)'; $lang['export_filtered'] = 'Экспорт пользователей с фильтрацией списка (CSV)'; $lang['import'] = 'Импорт новых пользователей'; -$lang['line'] = 'Строка №.'; +$lang['line'] = 'Строка №'; $lang['error'] = 'Ошибка'; -$lang['summary'] = 'Показаны пользователи %1$d-%2$d из %3$d найденных. Всего пользователей: %4$d.'; +$lang['summary'] = 'Показаны пользователи %1$d–%2$d из %3$d найденных. Всего пользователей: %4$d.'; $lang['nonefound'] = 'Не найдено ни одного пользователя. Всего пользователей: %d.'; $lang['delete_ok'] = 'Удалено пользователей: %d'; $lang['delete_fail'] = 'Не удалось удалить %d.'; diff --git a/lib/plugins/usermanager/lang/sl/lang.php b/lib/plugins/usermanager/lang/sl/lang.php index 96acfd0af..dc2de375e 100644 --- a/lib/plugins/usermanager/lang/sl/lang.php +++ b/lib/plugins/usermanager/lang/sl/lang.php @@ -1,11 +1,13 @@ <?php + /** - * Slovenian language file - * + * @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) + * @author Matej Urbančič <mateju@svn.gnome.org> */ $lang['menu'] = 'Upravljanje uporabnikov'; $lang['noauth'] = '(overjanje istovetnosti uporabnikov ni na voljo)'; @@ -28,6 +30,9 @@ $lang['search'] = 'Iskanje'; $lang['search_prompt'] = 'Poišči'; $lang['clear'] = 'Počisti filter iskanja'; $lang['filter'] = 'Filter'; +$lang['import'] = 'Uvozi nove uporabnike'; +$lang['line'] = 'Številka vrstice'; +$lang['error'] = 'Sporočilo napake'; $lang['summary'] = 'Izpisani so uporabniki %1$d-%2$d od skupno %3$d. Vseh uporabnikov je %4$d.'; $lang['nonefound'] = 'Ni najdenih uporabnikov. Vseh uporabnikov je %d.'; $lang['delete_ok'] = '%d uporabnikov je izbrisanih'; @@ -48,3 +53,11 @@ $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_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'; +$lang['import_error_badmail'] = 'Napačno naveden elektronski naslov'; +$lang['import_error_upload'] = 'Uvoz je spodletel. Datoteke CSV ni mogoče naložiti ali pa je prazna.'; +$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.'; diff --git a/lib/tpl/dokuwiki/tpl_footer.php b/lib/tpl/dokuwiki/tpl_footer.php index b7dc9c631..00417de9c 100644 --- a/lib/tpl/dokuwiki/tpl_footer.php +++ b/lib/tpl/dokuwiki/tpl_footer.php @@ -29,4 +29,5 @@ if (!defined('DOKU_INC')) die(); </div> </div></div><!-- /footer --> -<?php tpl_includeFile('footer.html') ?> +<?php +tpl_includeFile('footer.html'); |