From e0dd04a6493f1b7f7133f75c08f9ea55ee8bd50a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 14 Oct 2011 16:39:36 +0200 Subject: Added bcrypt support for password hashes This method require PHP 5.3+ it will fail otherwise! --- inc/PassHash.class.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'inc') diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index 31493c022..77f2115bd 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -47,6 +47,9 @@ class PassHash { }elseif(preg_match('/^md5\$(.{5})\$/',$hash,$m)){ $method = 'djangomd5'; $salt = $m[1]; + }elseif(preg_match('/^\$2a\$(.{2})\$/',$hash,$m)){ + $method = 'bcrypt'; + $salt = $hash; }elseif(substr($hash,0,6) == '{SSHA}'){ $method = 'ssha'; $salt = substr(base64_decode(substr($hash, 6)),20); @@ -379,4 +382,35 @@ class PassHash { return 'md5$'.$salt.'$'.md5($salt.$clear); } + + /** + * Passwordhashing method 'bcrypt' + * + * Uses a modified blowfish algorithm called eksblowfish + * This method works on PHP 5.3+ only and will throw an exception + * if the needed crypt support isn't available + * + * A full hash should be given as salt (starting with $a2$) or this + * will break. When no salt is given, the iteration count can be set + * through the $compute variable. + * + * @param string $clear - the clear text to hash + * @param string $salt - the salt to use, null for random + * @param int $compute - the iteration count (between 4 and 31) + * @returns string - hashed password + */ + public function hash_bcrypt($clear, $salt=null, $compute=8){ + if(!defined('CRYPT_BLOWFISH') || CRYPT_BLOWFISH != 1){ + throw new Exception('This PHP installation has no bcrypt support'); + } + + if(is_null($salt)){ + if($compute < 4 || $compute > 31) $compute = 8; + $salt = '$2a$'.str_pad($compute, 2, '0', STR_PAD_LEFT).'$'. + $this->gen_salt(22); + } + + return crypt($password, $salt); + } + } -- cgit v1.2.3 From 5446f3ffde77013d4eaea1fb166bcbd905a777a4 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sat, 22 Oct 2011 16:01:07 +0200 Subject: use correct phpdoc @return tag. --- inc/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/auth.php b/inc/auth.php index eff984b36..a52c14731 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -422,7 +422,7 @@ function auth_isadmin($user=null,$groups=null){ * @param $memberlist string commaseparated list of allowed users and groups * @param $user string user to match against * @param $groups array groups the user is member of - * @returns bool true for membership acknowledged + * @return bool true for membership acknowledged */ function auth_isMember($memberlist,$user,array $groups){ global $auth; -- cgit v1.2.3 From cc204bbd1f1625352ddd0edaacdd297fe022881c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 31 Oct 2011 15:41:53 +0100 Subject: honor autopasswd setting for resend password When autopasswd is disabled, the resend password option now asks for a new password instead of autogenerating a new one and sending it by mail. Note to translators: the wording for btn_resendpwd and resendpwd changed to be more universal. English and German language files where updated - other languages need to be adjusted. Conflicts: inc/lang/en/lang.php --- inc/auth.php | 42 +++++++++++++++++++++++++---------- inc/html.php | 51 +++++++++++++++++++++++++++++++------------ inc/lang/de-informal/lang.php | 4 ++-- inc/lang/de/lang.php | 4 ++-- inc/lang/en/lang.php | 4 ++-- inc/lang/en/resetpwd.txt | 4 ++++ 6 files changed, 78 insertions(+), 31 deletions(-) create mode 100644 inc/lang/en/resetpwd.txt (limited to 'inc') diff --git a/inc/auth.php b/inc/auth.php index eff984b36..740a75a5c 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -852,32 +852,52 @@ function act_resendpwd(){ $token = preg_replace('/[^a-f0-9]+/','',$_REQUEST['pwauth']); if($token){ - // we're in token phase + // we're in token phase - get user info from token $tfile = $conf['cachedir'].'/'.$token{0}.'/'.$token.'.pwauth'; if(!@file_exists($tfile)){ msg($lang['resendpwdbadauth'],-1); + unset($_REQUEST['pwauth']); return false; } $user = io_readfile($tfile); - @unlink($tfile); $userinfo = $auth->getUserData($user); if(!$userinfo['mail']) { msg($lang['resendpwdnouser'], -1); return false; } - $pass = auth_pwgen(); - if (!$auth->triggerUserMod('modify', array($user,array('pass' => $pass)))) { - msg('error modifying user data',-1); - return false; - } - if (auth_sendPassword($user,$pass)) { - msg($lang['resendpwdsuccess'],1); - } else { - msg($lang['regmailfail'],-1); + if(!$conf['autopasswd']){ // we let the user choose a password + // password given correctly? + if(!isset($_REQUEST['pass']) || $_REQUEST['pass'] == '') return false; + if($_REQUEST['pass'] != $_REQUEST['passchk']){ + msg('password mismatch',-1); #FIXME localize + return false; + } + $pass = $_REQUEST['pass']; + + if (!$auth->triggerUserMod('modify', array($user,array('pass' => $pass)))) { + msg('error modifying user data',-1); + return false; + } + + }else{ // autogenerate the password and send by mail + + $pass = auth_pwgen(); + if (!$auth->triggerUserMod('modify', array($user,array('pass' => $pass)))) { + msg('error modifying user data',-1); + return false; + } + + if (auth_sendPassword($user,$pass)) { + msg($lang['resendpwdsuccess'],1); + } else { + msg($lang['regmailfail'],-1); + } } + + @unlink($tfile); return true; } else { diff --git a/inc/html.php b/inc/html.php index 1a2d7daef..dea9ac6ab 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1661,26 +1661,49 @@ function html_admin(){ * Form to request a new password for an existing account * * @author Benoit Chesneau + * @author Andreas Gohr */ function html_resendpwd() { global $lang; global $conf; global $ID; - print p_locale_xhtml('resendpwd'); - print '
'.NL; - $form = new Doku_Form(array('id' => 'dw__resendpwd')); - $form->startFieldset($lang['resendpwd']); - $form->addHidden('do', 'resendpwd'); - $form->addHidden('save', '1'); - $form->addElement(form_makeTag('br')); - $form->addElement(form_makeTextField('login', $_POST['login'], $lang['user'], '', 'block')); - $form->addElement(form_makeTag('br')); - $form->addElement(form_makeTag('br')); - $form->addElement(form_makeButton('submit', '', $lang['btn_resendpwd'])); - $form->endFieldset(); - html_form('resendpwd', $form); - print '
'.NL; + $token = preg_replace('/[^a-f0-9]+/','',$_REQUEST['pwauth']); + + if(!$conf['autopasswd'] && $token){ + print p_locale_xhtml('resetpwd'); + print '
'.NL; + $form = new Doku_Form(array('id' => 'dw__resendpwd')); + $form->startFieldset($lang['btn_resendpwd']); + $form->addHidden('token', $token); + $form->addHidden('do', 'resendpwd'); + //$form->addElement(form_makeTag('br')); + + $form->addElement(form_makePasswordField('pass', $lang['pass'], '', 'block', array('size'=>'50'))); + $form->addElement(form_makePasswordField('passchk', $lang['passchk'], '', 'block', array('size'=>'50'))); + + $form->addElement(form_makeButton('submit', '', $lang['btn_resendpwd'])); + $form->endFieldset(); + html_form('resendpwd', $form); + print '
'.NL; + }else{ + print p_locale_xhtml('resendpwd'); + print '
'.NL; + $form = new Doku_Form(array('id' => 'dw__resendpwd')); + $form->startFieldset($lang['resendpwd']); + $form->addHidden('do', 'resendpwd'); + $form->addHidden('save', '1'); + $form->addElement(form_makeTag('br')); + $form->addElement(form_makeTextField('login', $_POST['login'], $lang['user'], '', 'block')); + $form->addElement(form_makeTag('br')); + $form->addElement(form_makeTag('br')); + $form->addElement(form_makeButton('submit', '', $lang['btn_resendpwd'])); + $form->endFieldset(); + html_form('resendpwd', $form); + print '
'.NL; + } + + } /** diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index ec5e308ce..74f3126a9 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -54,7 +54,7 @@ $lang['btn_backtomedia'] = 'Zurück zur Dateiauswahl'; $lang['btn_subscribe'] = 'Aboverwaltung'; $lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; -$lang['btn_resendpwd'] = 'Sende neues Passwort'; +$lang['btn_resendpwd'] = 'Setze neues Passwort'; $lang['btn_draft'] = 'Entwurf bearbeiten'; $lang['btn_recover'] = 'Entwurf wiederherstellen'; $lang['btn_draftdel'] = 'Entwurf löschen'; @@ -91,7 +91,7 @@ $lang['profnoempty'] = 'Es muss ein Name oder eine E-Mail Adresse ange $lang['profchanged'] = 'Benutzerprofil erfolgreich geändert.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; -$lang['resendpwd'] = 'Neues Passwort senden für'; +$lang['resendpwd'] = 'Neues Passwort setzen für'; $lang['resendpwdmissing'] = 'Es tut mir Leid, aber du musst alle Felder ausfüllen.'; $lang['resendpwdnouser'] = 'Es tut mir Leid, aber der Benutzer existiert nicht in unserer Datenbank.'; $lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stelle sicher, dass du den kompletten Bestätigungslink verwendet haben.'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index eef2f6632..e8e44287f 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -56,7 +56,7 @@ $lang['btn_backtomedia'] = 'Zurück zur Dateiauswahl'; $lang['btn_subscribe'] = 'Aboverwaltung'; $lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; -$lang['btn_resendpwd'] = 'Sende neues Passwort'; +$lang['btn_resendpwd'] = 'Setze neues Passwort'; $lang['btn_draft'] = 'Entwurf bearbeiten'; $lang['btn_recover'] = 'Entwurf wiederherstellen'; $lang['btn_draftdel'] = 'Entwurf löschen'; @@ -93,7 +93,7 @@ $lang['profnoempty'] = 'Es muss ein Name und eine E-Mail-Adresse angeg $lang['profchanged'] = 'Benutzerprofil erfolgreich geändert.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; -$lang['resendpwd'] = 'Neues Passwort senden für'; +$lang['resendpwd'] = 'Neues Passwort setzen für'; $lang['resendpwdmissing'] = 'Es tut mir Leid, aber Sie müssen alle Felder ausfüllen.'; $lang['resendpwdnouser'] = 'Es tut mir Leid, aber der Benutzer existiert nicht in unserer Datenbank.'; $lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stellen Sie sicher, dass Sie den kompletten Bestätigungslink verwendet haben.'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 89a7c4d40..9d26a4957 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -43,7 +43,7 @@ $lang['btn_backtomedia'] = 'Back to Mediafile Selection'; $lang['btn_subscribe'] = 'Manage Subscriptions'; $lang['btn_profile'] = 'Update Profile'; $lang['btn_reset'] = 'Reset'; -$lang['btn_resendpwd'] = 'Send new password'; +$lang['btn_resendpwd'] = 'Set new password'; $lang['btn_draft'] = 'Edit draft'; $lang['btn_recover'] = 'Recover draft'; $lang['btn_draftdel'] = 'Delete draft'; @@ -84,7 +84,7 @@ $lang['profchanged'] = 'User profile successfully updated.'; $lang['pwdforget'] = 'Forgotten your password? Get a new one'; $lang['resendna'] = 'This wiki does not support password resending.'; -$lang['resendpwd'] = 'Send new password for'; +$lang['resendpwd'] = 'Set new password for'; $lang['resendpwdmissing'] = 'Sorry, you must fill in all fields.'; $lang['resendpwdnouser'] = 'Sorry, we can\'t find this user in our database.'; $lang['resendpwdbadauth'] = 'Sorry, this auth code is not valid. Make sure you used the complete confirmation link.'; diff --git a/inc/lang/en/resetpwd.txt b/inc/lang/en/resetpwd.txt new file mode 100644 index 000000000..993b48765 --- /dev/null +++ b/inc/lang/en/resetpwd.txt @@ -0,0 +1,4 @@ +====== Set new password ====== + +Please enter a new password for your account in this wiki. + -- cgit v1.2.3 From abb56b33e0993b3c6a7f114fbd074cc59626c394 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 28 Oct 2011 14:24:56 +0200 Subject: Check password expiry times in Active Directory backend When a user logs in, the password expiry time is checked and compared to the $conf['auth']['ad']['expirywarn'] setting (in days). If the password is about to expire in the specified timeframe, a warning is issued on login. This patch adds a new method to the adLDAP class for querying domain parameters. --- inc/adLDAP.php | 20 ++++++++++++++++++++ inc/auth/ad.class.php | 28 +++++++++++++++++++++++----- 2 files changed, 43 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/adLDAP.php b/inc/adLDAP.php index a64096b85..24be6e475 100644 --- a/inc/adLDAP.php +++ b/inc/adLDAP.php @@ -1020,6 +1020,26 @@ class adLDAP { return (false); } + /** + * Return info about the domain itself + * + * @authot Andreas Gohr + * @param array $fields The fields to query + * @return array + */ + public function domain_info($fields){ + if (!$this->_bind){ return (false); } + + $sr = ldap_read($this->_conn, $this->_base_dn, 'objectclass=*', $fields); + if (!$sr) { + return false; + } + $info = ldap_get_entries($this->_conn, $sr); + if(count($info)) return $info[0]; + + return false; + } + /** * Determine a user's password expiry date * diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index 1fddad243..6b022d217 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -26,6 +26,8 @@ * $conf['auth']['ad']['use_ssl'] = 1; * $conf['auth']['ad']['use_tls'] = 1; * $conf['auth']['ad']['debug'] = 1; + * // warn user about expiring password in this mayn days in advance: + * $conf['auth']['ad']['expirywarn'] = 5; * * // get additional information to the userinfo array * // add a list of comma separated ldap contact fields. @@ -148,7 +150,7 @@ class auth_ad extends auth_basic { global $conf; if(!$this->_init()) return false; - $fields = array('mail','displayname','samaccountname'); + $fields = array('mail','displayname','samaccountname','lastpwd','pwdlastset','useraccountcontrol'); // add additional fields to read $fields = array_merge($fields, $this->cnf['additional']); @@ -157,10 +159,14 @@ class auth_ad extends auth_basic { //get info for given user $result = $this->adldap->user_info($user, $fields); //general user info - $info['name'] = $result[0]['displayname'][0]; - $info['mail'] = $result[0]['mail'][0]; - $info['uid'] = $result[0]['samaccountname'][0]; - $info['dn'] = $result[0]['dn']; + $info['name'] = $result[0]['displayname'][0]; + $info['mail'] = $result[0]['mail'][0]; + $info['uid'] = $result[0]['samaccountname'][0]; + $info['dn'] = $result[0]['dn']; + //last password set (Windows counts from January 1st 1601) + $info['lastpwd'] = $result[0]['pwdlastset'][0] / 10000000 - 11644473600; + //will it expire? + $info['expires'] = !($result[0]['useraccountcontrol'][0] & 0x10000); //ADS_UF_DONT_EXPIRE_PASSWD // additional information foreach ($this->cnf['additional'] as $field) { @@ -183,6 +189,18 @@ class auth_ad extends auth_basic { $info['grps'][] = $conf['defaultgroup']; } + // password will expire, let's warn the current user + if($_SERVER['REMOTE_USER'] == $user && $info['expires'] && $this->cnf['expirywarn']){ + $result = $this->adldap->domain_info(array('maxpwdage')); // maximum pass age + $maxage = -1 * $result['maxpwdage'][0] / 10000000; // negative 100 nanosecs + $timeleft = $maxage - (time() - $info['lastpwd']); + $timeleft = round($timeleft/(24*60*60)); + + if($timeleft <= $this->cnf['expirywarn']){ + msg('Your password will expire in '.$timeleft.' days. You should change it.'); + } + } + return $info; } -- cgit v1.2.3 From 22ffffcf6892924895d9ad45f749a307d05e09e0 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Nov 2011 14:15:29 +0100 Subject: always check expire time when configured --- inc/auth/ad.class.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index 6b022d217..c3df2417b 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -189,14 +189,16 @@ class auth_ad extends auth_basic { $info['grps'][] = $conf['defaultgroup']; } - // password will expire, let's warn the current user - if($_SERVER['REMOTE_USER'] == $user && $info['expires'] && $this->cnf['expirywarn']){ + // check expiry time + if($info['expires'] && $this->cnf['expirywarn']){ $result = $this->adldap->domain_info(array('maxpwdage')); // maximum pass age $maxage = -1 * $result['maxpwdage'][0] / 10000000; // negative 100 nanosecs $timeleft = $maxage - (time() - $info['lastpwd']); $timeleft = round($timeleft/(24*60*60)); + $info['expiresin'] = $timeleft; - if($timeleft <= $this->cnf['expirywarn']){ + // if this is the current user, warn him + if( ($_SERVER['REMOTE_USER'] == $user) && ($timeleft <= $this->cnf['expirywarn'])){ msg('Your password will expire in '.$timeleft.' days. You should change it.'); } } -- cgit v1.2.3 From 7f99c819166c15279a3214e3439be8efb77f7021 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Nov 2011 14:31:09 +0100 Subject: do not query AD for empty user name --- inc/auth/ad.class.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index c3df2417b..4363cfb07 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -150,6 +150,8 @@ class auth_ad extends auth_basic { global $conf; if(!$this->_init()) return false; + if($user == '') return array(); + $fields = array('mail','displayname','samaccountname','lastpwd','pwdlastset','useraccountcontrol'); // add additional fields to read -- cgit v1.2.3 From 9565908d97917c579e2ecb44a0b44a133df598fe Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Nov 2011 14:36:23 +0100 Subject: Don't return any data for non-existant users --- inc/auth/ad.class.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index 4363cfb07..678a32047 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -160,6 +160,10 @@ class auth_ad extends auth_basic { //get info for given user $result = $this->adldap->user_info($user, $fields); + if($result == false){ + return array(); + } + //general user info $info['name'] = $result[0]['displayname'][0]; $info['mail'] = $result[0]['mail'][0]; -- cgit v1.2.3 From b2117c6969fc31aa958f6019fd1e4e258f555db7 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Nov 2011 14:49:29 +0100 Subject: translatable AD expiry warning and link to update profile page --- inc/auth/ad.class.php | 5 +++-- inc/lang/de/lang.php | 1 + inc/lang/en/lang.php | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index 678a32047..cb59c5a48 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -26,7 +26,7 @@ * $conf['auth']['ad']['use_ssl'] = 1; * $conf['auth']['ad']['use_tls'] = 1; * $conf['auth']['ad']['debug'] = 1; - * // warn user about expiring password in this mayn days in advance: + * // warn user about expiring password this many days in advance: * $conf['auth']['ad']['expirywarn'] = 5; * * // get additional information to the userinfo array @@ -148,6 +148,7 @@ class auth_ad extends auth_basic { */ function getUserData($user){ global $conf; + global $lang; if(!$this->_init()) return false; if($user == '') return array(); @@ -205,7 +206,7 @@ class auth_ad extends auth_basic { // if this is the current user, warn him if( ($_SERVER['REMOTE_USER'] == $user) && ($timeleft <= $this->cnf['expirywarn'])){ - msg('Your password will expire in '.$timeleft.' days. You should change it.'); + msg(sprintf($lang['authpwdexpire'],$timeleft)); } } diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index eef2f6632..8fdffd66e 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -268,6 +268,7 @@ $lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede ver $lang['subscr_style_list'] = 'Liste der geänderten Seiten (Alle %.2f Tage)'; $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; +$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab. Sie sollten es ändern.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; $lang['i_installer'] = 'DokuWiki Installation'; $lang['i_wikiname'] = 'Wiki-Name'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 89a7c4d40..9250d119a 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -275,6 +275,7 @@ $lang['subscr_style_list'] = 'list of changed pages since last email (e /* auth.class language support */ $lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.'; $lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.'; +$lang['authpwdexpire'] = 'Your password will expire in %d days. You should change it.'; /* installer strings */ $lang['i_chooselang'] = 'Choose your language'; -- cgit v1.2.3 From 95fbd79bc40a02aa5fdf80a55e8f2c77e5ae71f2 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Nov 2011 15:16:36 +0100 Subject: German translation for password reset --- inc/lang/de/resetpwd.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 inc/lang/de/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/de/resetpwd.txt b/inc/lang/de/resetpwd.txt new file mode 100644 index 000000000..a0a55c67a --- /dev/null +++ b/inc/lang/de/resetpwd.txt @@ -0,0 +1,4 @@ +====== Neues Passwort setzen ====== + +Bitte geben Sie ein neues Passwort für Ihren Wiki-Zugang ein. + -- cgit v1.2.3 From c182a13644e70a6ef9f4288415c2cd74ab8b738b Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Nov 2011 09:56:55 +0100 Subject: fixed HTML in Esperanto language file --- inc/lang/eo/lang.php | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'inc') diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index abb6bf7d7..c8f5694de 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -26,8 +26,8 @@ $lang['btn_search'] = 'Serĉi'; $lang['btn_save'] = 'Konservi'; $lang['btn_preview'] = 'Antaŭrigardi'; $lang['btn_top'] = 'Supren'; -$lang['btn_newer'] = '<< pli freŝe'; -$lang['btn_older'] = 'malpli freŝe >>'; +$lang['btn_newer'] = '<< pli freŝe'; +$lang['btn_older'] = 'malpli freŝe >>'; $lang['btn_revs'] = 'Malnovaj revizioj'; $lang['btn_recent'] = 'Freŝaj ŝanĝoj'; $lang['btn_upload'] = 'Alŝuti'; @@ -124,8 +124,7 @@ $lang['js']['medialeft'] = 'Meti la bildon maldekstren.'; $lang['js']['mediaright'] = 'Meti la bildon dekstren.'; $lang['js']['mediacenter'] = 'Meti la bildon mezen.'; $lang['js']['medianoalign'] = 'Ne uzi poziciigon.'; -$lang['js']['nosmblinks'] = 'Tio ĉi nur funkcias en la Vindozaĉa "Microsoft Internet Explorer". -Vi ankoraŭ povas kopii kaj almeti la ligilon.'; +$lang['js']['nosmblinks'] = 'Tio ĉi nur funkcias en la Vindozaĉa "Microsoft Internet Explorer".\nVi ankoraŭ povas kopii kaj almeti la ligilon.'; $lang['js']['linkwiz'] = 'Ligil-Asistanto'; $lang['js']['linkto'] = 'Ligilo al:'; $lang['js']['del_confirm'] = 'Ĉu vere forigi elektitajn ero(j)n?'; @@ -152,16 +151,16 @@ $lang['uploadbadcontent'] = 'La alŝutita enhavo ne kongruas al la sufikso $lang['uploadspam'] = 'La alŝutaĵo estis blokita de kontraŭspama vortlisto.'; $lang['uploadxss'] = 'La alŝutajo estis blokita pro ebla malica enhavo.'; $lang['uploadsize'] = 'La alŝutita dosiero estis tro granda. (maks. %s)'; -$lang['deletesucc'] = 'La dosiero "%s%quot; estas forigita.'; -$lang['deletefail'] = '"%s" ne povis esti forigita - kontrolu permes-atributojn.'; -$lang['mediainuse'] = 'La dosiero "%s" ne estis forigita - ĝi ankoraŭ estas uzata.'; +$lang['deletesucc'] = 'La dosiero "%s" estas forigita.'; +$lang['deletefail'] = '"%s" ne povis esti forigita - kontrolu permes-atributojn.'; +$lang['mediainuse'] = 'La dosiero "%s" ne estis forigita - ĝi ankoraŭ estas uzata.'; $lang['namespaces'] = 'Nomspacoj'; $lang['mediafiles'] = 'Disponeblaj dosieroj'; $lang['accessdenied'] = 'Vi ne rajtas vidi tiun paĝon.'; $lang['mediausage'] = 'Uzu la jenan sintakson por referenci tiun ĉi dosieron:'; $lang['mediaview'] = 'Rigardi originalan dosieron'; $lang['mediaroot'] = 'ĉefo (root)'; -$lang['mediaupload'] = 'Alŝutu dosieron al la kuranta nomspaco tien ĉi. Por krei subnomspacojn, antaŭmetu ilin al via "Alŝuti kiel" dosiernomo, apartigante per dupunktoj (:).'; +$lang['mediaupload'] = 'Alŝutu dosieron al la kuranta nomspaco tien ĉi. Por krei subnomspacojn, antaŭmetu ilin al via "Alŝuti kiel" dosiernomo, apartigante per dupunktoj (:).'; $lang['mediaextchange'] = 'La dosiersufikso ŝanĝis de .%s al .%s!'; $lang['reference'] = 'Referencoj por'; $lang['ref_inuse'] = 'La dosiero ne povas esti forigita, ĉar ĝi ankoraŭ estas uzata de la jenaj paĝoj:'; @@ -187,7 +186,7 @@ $lang['created'] = 'kreita'; $lang['restored'] = 'malnova revizio restarigita'; $lang['external_edit'] = 'ekstera redakto'; $lang['summary'] = 'Bulteno de ŝanĝoj'; -$lang['noflash'] = 'La <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> estas bezonata por montrigi tiun ĉi enhavon.'; +$lang['noflash'] = 'La Adobe Flash Plugin estas bezonata por montrigi tiun ĉi enhavon.'; $lang['download'] = 'Elŝuti eltiraĵon'; $lang['mail_newpage'] = 'paĝo aldonita:'; $lang['mail_changed'] = 'paĝo modifita:'; @@ -262,20 +261,20 @@ $lang['authtempfail'] = 'La identigo de via uzantonomo estas intertempe $lang['i_chooselang'] = 'Elektu vian lingvon'; $lang['i_installer'] = 'Instalilo de DokuWiki'; $lang['i_wikiname'] = 'Nomo de la vikio'; -$lang['i_enableacl'] = 'Ebligi "ACL" (alirkontrolo, rekomendinde)'; +$lang['i_enableacl'] = 'Ebligi "ACL" (alirkontrolo, rekomendinde)'; $lang['i_superuser'] = 'Superuzanto'; $lang['i_problems'] = 'La instalilo trovis kelkajn problemojn, indikitaj sube. Vi ne povas pluiri ĝis ili estos iel korektitaj.'; $lang['i_modified'] = 'Pro sekureco tiu ĉi instalilo nur funkcias por nova kaj nemodifita DokuWiki-pakaĵo. Vi devas aŭ redemeti la dosierojn el la elŝutita pakaĵo aŭ plibone informiĝi pri la instalada procezo.'; -$lang['i_funcna'] = 'La PHP-a funkcio <code>%s</code> ne estas uzebla. Eble via retprovizanto ial malpermesis tion?'; -$lang['i_phpver'] = 'La versio de la PHP <code>%s</code> estas pli malnova ol la bezonata <code>%s</code>. Vi bezonas ĝisdatigi la PHP-an instalon.'; -$lang['i_permfail'] = '<code>%s</code> ne estas skribebla por DokuWiki. Vi devas redifini la permes-atributojn de tiu ĉi dosierujo!'; -$lang['i_confexists'] = '<code>%s</code> jam ekzistas'; -$lang['i_writeerr'] = 'Ne eblas krei "<code>%s</code>". Vi bezonas kontroli la permesojn de la dosier(uj)oj kaj mem krej la dosieron.'; -$lang['i_badhash'] = 'dokuwiki.php ne estas rekonebla aŭ ĝi estas modifita (hash=<code>%s</code>)'; -$lang['i_badval'] = '<code>%s</code> - malvalida aŭ malplena valoro'; -$lang['i_success'] = 'La agordado estas sukcese kompletita. Vi povas forigi la dosieron nun. Pluiru al <a href="doku.php">via nova DokuWiki</a>.'; -$lang['i_failure'] = 'Kelkaj eraroj okazis dum la konservo de la agordaj dosieroj. Vi devas senpere korekti ilin antaŭ ol vi povos uzi <a href="doku.php">vian novan DokuWiki-on</a>. '; +$lang['i_funcna'] = 'La PHP-a funkcio %s ne estas uzebla. Eble via retprovizanto ial malpermesis tion?'; +$lang['i_phpver'] = 'La versio de la PHP %s estas pli malnova ol la bezonata %s. Vi bezonas ĝisdatigi la PHP-an instalon.'; +$lang['i_permfail'] = '%s ne estas skribebla por DokuWiki. Vi devas redifini la permes-atributojn de tiu ĉi dosierujo!'; +$lang['i_confexists'] = '%s jam ekzistas'; +$lang['i_writeerr'] = 'Ne eblas krei "%s". Vi bezonas kontroli la permesojn de la dosier(uj)oj kaj mem krej la dosieron.'; +$lang['i_badhash'] = 'dokuwiki.php ne estas rekonebla aŭ ĝi estas modifita (hash=%s)'; +$lang['i_badval'] = '%s - malvalida aŭ malplena valoro'; +$lang['i_success'] = 'La agordado estas sukcese kompletita. Vi povas forigi la dosieron nun. Pluiru al via nova DokuWiki.'; +$lang['i_failure'] = 'Kelkaj eraroj okazis dum la konservo de la agordaj dosieroj. Vi devas senpere korekti ilin antaŭ ol vi povos uzi vian novan DokuWiki-on. '; $lang['i_policy'] = 'Komenca ACL-a agordo'; $lang['i_pol0'] = 'Malferma Vikio (legi, skribi, alŝuti povas ĉiuj)'; $lang['i_pol1'] = 'Publika Vikio (legi povas ĉiuj, skribi kaj alŝuti povas registritaj uzantoj)'; @@ -293,11 +292,11 @@ $lang['mu_ready'] = 'preta por alŝuti'; $lang['mu_done'] = 'plenumite'; $lang['mu_fail'] = 'malsukcesinte'; $lang['mu_authfail'] = 'sekcio tro longdaŭris'; -$lang['mu_progress'] = '@PCT@% alŝutite'; +$lang['mu_progress'] = '@PCT@% alŝutite'; $lang['mu_filetypes'] = 'Permesitaj dosiertipoj'; $lang['mu_info'] = 'alŝutitaj dosieroj.'; $lang['mu_lasterr'] = 'Lasta eraro:'; -$lang['recent_global'] = 'Vi nun rigardas la ŝanĝojn ene de la nomspaco <b>%s</b>. Vi povas ankaŭ <a href="%s">vidi la freŝajn ŝanĝojn de la tuta vikio</a>.'; +$lang['recent_global'] = 'Vi nun rigardas la ŝanĝojn ene de la nomspaco %s. Vi povas ankaŭ vidi la freŝajn ŝanĝojn de la tuta vikio.'; $lang['years'] = 'antaŭ %d jaroj'; $lang['months'] = 'antaŭ %d monatoj'; $lang['weeks'] = 'antaŭ %d semajnoj'; @@ -318,8 +317,8 @@ $lang['media_sort_name'] = 'per nomo'; $lang['media_sort_date'] = 'per dato'; $lang['media_namespaces'] = 'Elektu nomspacon'; $lang['media_files'] = 'Dosieroj en %s'; -$lang['media_upload'] = 'Alŝuti al la nomspaco <strong>%s</strong>.'; -$lang['media_search'] = 'Serĉi en la nomspaco <strong>%s</strong>.'; +$lang['media_upload'] = 'Alŝuti al la nomspaco %s.'; +$lang['media_search'] = 'Serĉi en la nomspaco %s.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s ĉe %s'; $lang['media_edit'] = 'Modifi'; -- cgit v1.2.3 From ce7a6b36ab2da1d9134e92a8ccf420c698d54cb5 Mon Sep 17 00:00:00 2001 From: Otto Vainio Date: Sun, 13 Nov 2011 10:00:16 +0100 Subject: Finnish language fixes --- inc/lang/fi/lang.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'inc') diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 8d671a4cb..3477f15a3 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -242,7 +242,7 @@ $lang['img_manager'] = 'Näytä mediamanagerissa'; $lang['subscr_subscribe_success'] = '%s lisätty %s tilauslistalle'; $lang['subscr_subscribe_error'] = 'Virhe lisättäessä %s tilauslistalle %s'; $lang['subscr_subscribe_noaddress'] = 'Login tiedoissasi ei ole sähköpostiosoitetta. Sinua ei voi lisätä tilaukseen'; -$lang['subscr_unsubscribe_success'] = '% poistettu tilauslistalta %s'; +$lang['subscr_unsubscribe_success'] = '%s poistettu tilauslistalta %s'; $lang['subscr_unsubscribe_error'] = 'Virhe tapahtui poistaessa %s tilauslistalta %s'; $lang['subscr_already_subscribed'] = '%s on jo tilannut %s'; $lang['subscr_not_subscribed'] = '%s ei ole tilannut %s'; @@ -253,8 +253,8 @@ $lang['subscr_m_unsubscribe'] = 'Poista tilaus'; $lang['subscr_m_subscribe'] = 'Tilaa'; $lang['subscr_m_receive'] = 'Vastaanota'; $lang['subscr_style_every'] = 'Sähköposti joka muutoksesta'; -$lang['subscr_style_digest'] = 'yhteenveto sähköposti joka sivusta'; -$lang['subscr_style_list'] = 'lista muuttuneista sivuista edellisen sähköpostin jälkeen'; +$lang['subscr_style_digest'] = 'yhteenveto-sähköposti joka sivusta (joka %.2f. päivä)'; +$lang['subscr_style_list'] = 'lista muuttuneista sivuista edellisen sähköpostin jälkeen (joka %.2f. päivä)'; $lang['authmodfailed'] = 'Käyttäjien autentikoinnin asetukset ovat virheelliset. Ilmoita asiasta wikin ylläpitäjälle.'; $lang['authtempfail'] = 'Käyttäjien autentikointi ei tällä hetkellä onnistu. Jos ongelma jatkuu, ota yhteyttä wikin ylläpitäjään.'; $lang['i_chooselang'] = 'Valitse kieli'; @@ -301,22 +301,26 @@ $lang['weeks'] = '%d viikkoa sitten'; $lang['days'] = '%d päivää sitten'; $lang['hours'] = '%d tuntia sitten'; $lang['minutes'] = '%d minuuttia sitten'; -$lang['seconds'] = '% sekuntia sitten'; +$lang['seconds'] = '%d sekuntia sitten'; $lang['wordblock'] = 'Muutostasi ei talletettu, koska se sisältää estettyä tekstiä (spam).'; $lang['media_uploadtab'] = 'Lähetä'; $lang['media_searchtab'] = 'Etsi'; +$lang['media_file'] = 'Tiedosto'; $lang['media_viewtab'] = 'Näytä'; $lang['media_edittab'] = 'Muokkaa'; $lang['media_historytab'] = 'Historia'; -$lang['media_thumbsview'] = 'Pikkukuvat'; -$lang['media_listview'] = 'Lista'; -$lang['media_sort'] = 'Järjestä'; +$lang['media_list_thumbs'] = 'Thumbnails'; +$lang['media_list_rows'] = 'Rivit'; $lang['media_sort_name'] = 'nimen mukaan'; $lang['media_sort_date'] = 'päivämäärän mukaan'; +$lang['media_namespaces'] = 'Valitse nimiavaruus'; +$lang['media_files'] = 'Tiedostoja %s'; $lang['media_upload'] = 'Lähetä %s nimiavaruuteen'; $lang['media_search'] = 'Etsi %s nimiavaruudesta'; -$lang['media_edit'] = 'Muokkaa'; -$lang['media_history'] = 'Nämä ovat vanhat versiot tiedostosta.'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s at %s'; +$lang['media_edit'] = 'Muokkaa %s'; +$lang['media_history'] = 'Nämä ovat vanhat versiot tiedostosta %s'; $lang['media_meta_edited'] = 'Metadataa muokattu'; $lang['media_perm_read'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuksia lukeaksesi tiedostoja.'; $lang['media_perm_upload'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuksia lähettääksesi tiedostoja.'; -- cgit v1.2.3 From 1420e73d5e21de82e3e1a7a88bdaac5cd6827c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20K=C5=99ivka?= Date: Sun, 13 Nov 2011 10:02:35 +0100 Subject: Czech language update --- inc/lang/cs/lang.php | 69 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 12 deletions(-) (limited to 'inc') diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 292c2c42e..c6eb7be49 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -10,6 +10,7 @@ * @author Marek Sacha * @author Lefty * @author Vojta Beran + * @author zbynek.krivka@seznam.cz */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -51,6 +52,8 @@ $lang['btn_recover'] = 'Obnovit koncept'; $lang['btn_draftdel'] = 'Vymazat koncept'; $lang['btn_revert'] = 'Vrátit zpět'; $lang['btn_register'] = 'Registrovat'; +$lang['btn_apply'] = 'Použít'; +$lang['btn_media'] = 'Správa médií'; $lang['loggedinas'] = 'Přihlášen(a) jako'; $lang['user'] = 'Uživatelské jméno'; $lang['pass'] = 'Heslo'; @@ -95,7 +98,7 @@ $lang['txt_filename'] = 'Wiki jméno (volitelné)'; $lang['txt_overwrt'] = 'Přepsat existující soubor'; $lang['lockedby'] = 'Právě zamknuto:'; $lang['lockexpire'] = 'Zámek vyprší:'; -$lang['js']['willexpire'] = 'Váš zámek pro editaci za chvíli vyprší.\nAbyste předešli konfliktům, stiskněte tlačítko Náhled a zámek se prodlouží.'; +$lang['js']['willexpire'] = 'Váš zámek pro editaci za chvíli vyprší.\nAbyste předešli konfliktům, stiskněte tlačítko Náhled a zámek se prodlouží.'; $lang['js']['notsavedyet'] = 'Jsou tu neuložené změny, které budou ztraceny. Chcete opravdu pokračovat?'; $lang['js']['searchmedia'] = 'Hledat soubory'; @@ -127,6 +130,17 @@ Přesto tento odkaz můžete zkopírovat a vložit jinde.'; $lang['js']['linkwiz'] = 'Průvodce odkazy'; $lang['js']['linkto'] = 'Odkaz na:'; $lang['js']['del_confirm'] = 'Vymazat tuto položku?'; +$lang['js']['restore_confirm'] = 'Opravdu obnovit tuto verzi?'; +$lang['js']['media_diff'] = 'Prohlédnout rozdíly:'; +$lang['js']['media_diff_both'] = 'Vedle sebe'; +$lang['js']['media_diff_opacity'] = 'Zvýraznění'; +$lang['js']['media_diff_portions'] = 'Osvědčit'; +$lang['js']['media_select'] = 'Vybrat soubory...'; +$lang['js']['media_upload_btn'] = 'Nahrát'; +$lang['js']['media_done_btn'] = 'Hotovo'; +$lang['js']['media_drop'] = 'Sem přetáhněte soubory pro nahrátí'; +$lang['js']['media_cancel'] = 'odstranit'; +$lang['js']['media_overwrt'] = 'Přepsat existující soubory'; $lang['rssfailed'] = 'Nastala chyba při vytváření tohoto RSS: '; $lang['nothingfound'] = 'Nic nenalezeno.'; $lang['mediaselect'] = 'Výběr dokumentu'; @@ -161,7 +175,7 @@ $lang['yours'] = 'Vaše verze'; $lang['diff'] = 'Zobrazit rozdíly vůči aktuální verzi'; $lang['diff2'] = 'Zobrazit rozdíly mezi vybranými verzemi'; $lang['difflink'] = 'Odkaz na výstup diff'; -$lang['diff_type'] = 'Prohlédnout rozdíly:'; +$lang['diff_type'] = 'Zobrazit rozdíly:'; $lang['diff_inline'] = 'Vložené'; $lang['diff_side'] = 'Přidané'; $lang['line'] = 'Řádek'; @@ -181,6 +195,10 @@ $lang['mail_changed'] = 'změna stránky:'; $lang['mail_subscribe_list'] = 'stránky změněné ve jmenném prostoru:'; $lang['mail_new_user'] = 'nový uživatel:'; $lang['mail_upload'] = 'načtený dokument:'; +$lang['changes_type'] = 'Prohlednou změny '; +$lang['pages_changes'] = 'stránek'; +$lang['media_changes'] = 'souborů médií'; +$lang['both_changes'] = 'stránek i médií'; $lang['qb_bold'] = 'Tučně'; $lang['qb_italic'] = 'Kurzíva'; $lang['qb_underl'] = 'Podtržení'; @@ -221,6 +239,9 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Formát'; $lang['img_camera'] = 'Typ fotoaparátu'; $lang['img_keywords'] = 'Klíčová slova'; +$lang['img_width'] = 'Šířka'; +$lang['img_height'] = 'Výška'; +$lang['img_manager'] = 'Zobrazit ve správě médií'; $lang['subscr_subscribe_success'] = '%s byl přihlášen do seznamu odběratelů %s'; $lang['subscr_subscribe_error'] = 'Došlo k chybě při přihlašování %s do seznamu odběratelů %s'; $lang['subscr_subscribe_noaddress'] = 'K Vašemu loginu neexistuje žádná adresa, nemohl jste být přihlášen do seznamu odběratelů.'; @@ -235,8 +256,8 @@ $lang['subscr_m_unsubscribe'] = 'Odhlásit z odběru změn emailem'; $lang['subscr_m_subscribe'] = 'Přihlásit se k odběru změn emailem'; $lang['subscr_m_receive'] = 'Přejete si dostávat'; $lang['subscr_style_every'] = 'email pro každou změnu'; -$lang['subscr_style_digest'] = 'souhrnný email změn pro každou stránku'; -$lang['subscr_style_list'] = 'seznam změněných stránek od posledního emailu'; +$lang['subscr_style_digest'] = 'souhrnný email změn pro každou stránku (každé %.2f dny/dní)'; +$lang['subscr_style_list'] = 'seznam změněných stránek od posledního emailu (každé %.2f dny/dní)'; $lang['authmodfailed'] = 'Autentizace uživatelů je špatně nastavena. Informujte prosím správce této wiki.'; $lang['authtempfail'] = 'Autentizace uživatelů je dočasně nedostupná. Pokud tento problém přetrvává, informujte prosím správce této wiki.'; $lang['i_chooselang'] = 'Vyberte si jazyk'; @@ -245,7 +266,7 @@ $lang['i_wikiname'] = 'Název wiki'; $lang['i_enableacl'] = 'Zapnout ACL (doporučeno)'; $lang['i_superuser'] = 'Správce'; $lang['i_problems'] = 'Instalátor narazil na níže popsané problémy. Nelze pokračovat v instalaci, dokud je neopravíte.'; -$lang['i_modified'] = 'Instalátor bude z bezpečnostních důvodů pracovat pouze s čistou a ještě neupravenou instalací DokuWiki. Buď znovu rozbalte souboru z instalačního balíčku nebo se zkuste poradit s instrukcemi pro instalaci DokuWiki.'; +$lang['i_modified'] = 'Instalátor bude z bezpečnostních důvodů pracovat pouze s čistou a ještě neupravenou instalací DokuWiki. Buď znovu rozbalte soubory z instalačního balíčku, nebo zkuste prostudovat instrukce pro instalaci DokuWiki.'; $lang['i_funcna'] = 'PHP funkce %s není dostupná. Váš webhosting ji možná z nějakého důvodu vypnul.'; $lang['i_phpver'] = 'Verze vaší instalace PHP %s je nižší než požadovaná %s. Budete muset aktualizovat svou instalaci PHP.'; $lang['i_permfail'] = 'DokuWiki nemůže zapisovat do %s. Budete muset opravit práva k tomuto adresáři.'; @@ -277,11 +298,35 @@ $lang['mu_filetypes'] = 'Povolené typy souborů'; $lang['mu_info'] = 'soubory načteny.'; $lang['mu_lasterr'] = 'Poslední chyba:'; $lang['recent_global'] = 'Právě si prohlížíte změny ve jmenném prostoru %s. Také si můžete zobrazit změny v celé wiki.'; -$lang['years'] = 'před % roky'; -$lang['months'] = 'před % měsíci'; -$lang['weeks'] = 'před % týdny'; -$lang['days'] = 'před % dny'; -$lang['hours'] = 'před % hodinami'; -$lang['minutes'] = 'před % minutami'; -$lang['seconds'] = 'před % sekundami'; +$lang['years'] = 'před %d roky'; +$lang['months'] = 'před %d měsíci'; +$lang['weeks'] = 'před %d týdny'; +$lang['days'] = 'před %d dny'; +$lang['hours'] = 'před %d hodinami'; +$lang['minutes'] = 'před %d minutami'; +$lang['seconds'] = 'před %d sekundami'; $lang['wordblock'] = 'Vaše změny nebyly uloženy, protože obsahují blokovaný text(spam).'; +$lang['media_uploadtab'] = 'Nahrát'; +$lang['media_searchtab'] = 'Hledat'; +$lang['media_file'] = 'Soubor'; +$lang['media_viewtab'] = 'Zobrazit'; +$lang['media_edittab'] = 'Upravit'; +$lang['media_historytab'] = 'Historie'; +$lang['media_list_thumbs'] = 'Zmenšeniny'; +$lang['media_list_rows'] = 'Řádky'; +$lang['media_sort_name'] = 'Jméno'; +$lang['media_sort_date'] = 'Datum'; +$lang['media_namespaces'] = 'Vyber jmenný prostor'; +$lang['media_files'] = 'Soubory v %s'; +$lang['media_upload'] = 'Upload do %s'; +$lang['media_search'] = 'Hledat v %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s na %s'; +$lang['media_edit'] = 'Upravit %s'; +$lang['media_history'] = 'Historie %s'; +$lang['media_meta_edited'] = 'metadata upravena'; +$lang['media_perm_read'] = 'Bohužel, nemáte práva číst soubory.'; +$lang['media_perm_upload'] = 'Bohužel, nemáte práva nahrávat soubory.'; +$lang['media_update'] = 'Nahrát novou verzi'; +$lang['media_restore'] = 'Obnovit tuto verzi'; +$lang['plugin_install_err'] = 'Plugin je špatně nainstalován. Přejmenujte adresář pluginu \'%s\' na \'%s\'.'; -- cgit v1.2.3 From d5cd65e49c16c2101422c28fee7714283d498ed2 Mon Sep 17 00:00:00 2001 From: Kiril Velikov Date: Sun, 13 Nov 2011 10:04:12 +0100 Subject: Bulgarian language update --- inc/lang/bg/lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 8985e20e5..1c6c90703 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -311,7 +311,7 @@ $lang['media_list_thumbs'] = 'Миниатюри'; $lang['media_list_rows'] = 'Редове'; $lang['media_sort_name'] = 'Име'; $lang['media_sort_date'] = 'Дата'; -$lang['media_namespaces'] = 'Изберете именно пространство'; +$lang['media_namespaces'] = 'Изберете:'; $lang['media_files'] = 'Файлове в %s'; $lang['media_upload'] = 'Качване в %s'; $lang['media_search'] = 'Търсене в %s'; -- cgit v1.2.3 From 54db0171afdbc0c3204e9c016f3c7a37421e62aa Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Nov 2011 10:38:03 +0100 Subject: fixed various errors in language files --- inc/lang/it/lang.php | 6 +++--- inc/lang/kk/lang.php | 2 +- inc/lang/la/lang.php | 2 +- inc/lang/lb/lang.php | 2 +- inc/lang/lv/lang.php | 18 +++++++++--------- inc/lang/pt-br/lang.php | 4 ++-- inc/lang/pt/lang.php | 2 +- 7 files changed, 18 insertions(+), 18 deletions(-) (limited to 'inc') diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 9f4d42004..ebbe983de 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -92,7 +92,7 @@ $lang['resendpwdsuccess'] = 'La nuova password è stata spedita via email.' $lang['license'] = 'Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è soggetto alla seguente licenza:'; $lang['licenseok'] = 'Nota: modificando questa pagina accetti di rilasciare il contenuto sotto la seguente licenza:'; $lang['searchmedia'] = 'Cerca file di nome:'; -$lang['searchmedia_in'] = 'Cerca in &s'; +$lang['searchmedia_in'] = 'Cerca in %s'; $lang['txt_upload'] = 'Seleziona un file da caricare'; $lang['txt_filename'] = 'Carica come (opzionale)'; $lang['txt_overwrt'] = 'Sovrascrivi file esistente'; @@ -225,8 +225,8 @@ $lang['subscr_subscribe_error'] = 'Impossibile aggiungere %s alla lista di sotto $lang['subscr_subscribe_noaddress'] = 'Non esiste alcun indirizzo associato al tuo account, non puoi essere aggiunto alla lista di sottoscrizioni'; $lang['subscr_unsubscribe_success'] = 'Rimosso %s dalla lista di sottoscrizioni %s'; $lang['subscr_unsubscribe_error'] = 'Impossibile rimuovere %s dalla lista di sottoscrizioni %s'; -$lang['subscr_already_subscribed'] = '% è già iscritto a %s'; -$lang['subscr_not_subscribed'] = '% non è iscritto a %s'; +$lang['subscr_already_subscribed'] = '%s è già iscritto a %s'; +$lang['subscr_not_subscribed'] = '%s non è iscritto a %s'; $lang['subscr_m_not_subscribed'] = 'Attualmente non sei iscritto alla pagina o categoria corrente'; $lang['subscr_m_new_header'] = 'Aggiungi sottoscrizione'; $lang['subscr_m_current_header'] = 'Sottoscrizioni attuali'; diff --git a/inc/lang/kk/lang.php b/inc/lang/kk/lang.php index f9ea0bced..9738ae51c 100644 --- a/inc/lang/kk/lang.php +++ b/inc/lang/kk/lang.php @@ -82,7 +82,7 @@ $lang['resendpwdsuccess'] = 'Сіздің жаңа құпиясөзіңіз $lang['license'] = 'Басқаша көрсетілген болмаса, бұл wiki-дің мазмұны келесі лицензия бойынша беріледі:'; $lang['licenseok'] = 'Ескерту: бұл бетті өңдеуіңізбен мазмұныңыз келесі лицензия бойынша беруге келесесіз:'; $lang['searchmedia'] = 'Іздеу файлдың атауы:'; -$lang['searchmedia_in'] = '%-мен іздеу:'; +$lang['searchmedia_in'] = '%s-мен іздеу:'; $lang['txt_upload'] = 'Еңгізетін файлды таңдау'; $lang['txt_filename'] = 'Келесідей еңгізу (қалауынша)'; $lang['txt_overwrt'] = 'Бар файлды қайта жазу'; diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php index fd34a4ef8..e8d79a997 100644 --- a/inc/lang/la/lang.php +++ b/inc/lang/la/lang.php @@ -222,7 +222,7 @@ $lang['subscr_subscribe_noaddress'] = 'Cursus interretialis tuus deest, sic in i $lang['subscr_unsubscribe_success'] = 'A subscriptione %s deletur quod %s'; $lang['subscr_unsubscribe_error'] = 'Error delendi %s a subscriptione quod %s'; $lang['subscr_already_subscribed'] = '%s iam subscriptus\a est in %s'; -$lang['subscr_not_subscribed'] = '%s non subscriptus\a est in %n'; +$lang['subscr_not_subscribed'] = '%s non subscriptus\a est in %s'; $lang['subscr_m_not_subscribed'] = 'Non hanc paginam uel genus subscribere potes.'; $lang['subscr_m_new_header'] = 'Subscriptionem addere'; $lang['subscr_m_current_header'] = 'haec subscriptio:'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index 191a9bab5..00692f48e 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -206,7 +206,7 @@ $lang['mu_info'] = 'Dateien eropgelueden.'; $lang['mu_lasterr'] = 'Leschte Feeler:'; $lang['recent_global'] = 'Du kucks am Moment d\'Ännerungen innerhalb vum %s Namespace. Du kanns och d\'Kierzilech Ännerungen vum ganze Wiki kucken.'; $lang['years'] = 'virun %d Joer'; -$lang['months'] = 'virun % Méint'; +$lang['months'] = 'virun %d Méint'; $lang['weeks'] = 'virun %d Wochen'; $lang['days'] = 'virun %d Deeg'; $lang['hours'] = 'virun %d Stonnen'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 205d2e56d..926341393 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -293,8 +293,8 @@ $lang['mu_lasterr'] = 'Pēdējā ķļūda.'; $lang['recent_global'] = 'Tu skati izmaiņas nodaļā %s. Ir iespējams skatīt jaunākos grozījums visā viki. '; $lang['years'] = 'pirms %d gadiem'; $lang['months'] = 'pirms %d mēnešiem'; -$lang['weeks'] = 'pirms % nedēļām'; -$lang['days'] = 'pirms %d dienām'; +$lang['weeks'] = 'pirms %d nedēļām'; +$lang['days'] = 'pirms %d dienām'; $lang['hours'] = 'pirms %d stundām'; $lang['minutes'] = 'pirms %d minūtēm'; $lang['seconds'] = 'pirms %d sekundēm'; @@ -310,16 +310,16 @@ $lang['media_list_rows'] = 'Rindas'; $lang['media_sort_name'] = 'Nosaukums'; $lang['media_sort_date'] = 'Datums'; $lang['media_namespaces'] = 'Norādīt nodaļu'; -$lang['media_files'] = 'Faili nodaļā s%'; -$lang['media_upload'] = 'Augšuplādēt nodaļā s%'; -$lang['media_search'] = 'Meklēt nodaļā s%'; -$lang['media_view'] = 's%'; -$lang['media_viewold'] = 's% nodaļā s%'; +$lang['media_files'] = 'Faili nodaļā %s'; +$lang['media_upload'] = 'Augšuplādēt nodaļā %s'; +$lang['media_search'] = 'Meklēt nodaļā %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s nodaļā %s'; $lang['media_edit'] = 'Labot %s'; -$lang['media_history'] = 's% vēsture'; +$lang['media_history'] = '%s vēsture'; $lang['media_meta_edited'] = 'metadati laboti'; $lang['media_perm_read'] = 'Atvainojiet, jums nav tiesību skatīt failus. '; $lang['media_perm_upload'] = 'Atvainojiet, jums nav tiesību augšupielādēt. '; $lang['media_update'] = 'Augšupielādēt jaunu versiju'; $lang['media_restore'] = 'Atjaunot šo versiju'; -$lang['plugin_install_err'] = 'Modulis aplami instalēts. Pārdēvē moduļa direktoriju s% par s%.'; +$lang['plugin_install_err'] = 'Modulis aplami instalēts. Pārdēvē moduļa direktoriju %s par %s.'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index 066b3acaa..373590b76 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -235,8 +235,8 @@ $lang['subscr_subscribe_error'] = 'Ocorreu um erro na adição de %s à lista de $lang['subscr_subscribe_noaddress'] = 'Como não há nenhum endereço associado ao seu usuário, você não pode ser adicionado à lista de monitoramento'; $lang['subscr_unsubscribe_success'] = '%s foi removido da lista de monitoramento de %s'; $lang['subscr_unsubscribe_error'] = 'Ocorreu um erro na remoção de %s da lista de monitoramentos de %s'; -$lang['subscr_already_subscribed'] = '%s já está monitorando s%'; -$lang['subscr_not_subscribed'] = 's% não está monitorando s%'; +$lang['subscr_already_subscribed'] = '%s já está monitorando %s'; +$lang['subscr_not_subscribed'] = '%s não está monitorando %s'; $lang['subscr_m_not_subscribed'] = 'Você não está monitorando nem a página atual nem o espaço de nomes.'; $lang['subscr_m_new_header'] = 'Adicionar monitoramento'; $lang['subscr_m_current_header'] = 'Monitoramentos atuais'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 3c3a8d9da..2fa8a1ab4 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -161,7 +161,7 @@ $lang['mediaroot'] = 'root'; $lang['mediaupload'] = 'Carregar ficheiros para o grupo actual aqui. Para criar sub-grupos: escrever o nome do sub-grupo seguido de : antes do nome do ficheiro no campo "Carregar como".'; $lang['mediaextchange'] = 'Extensão alterada de .%s para .%s!'; $lang['reference'] = 'Referências para'; -$lang['ref_inuse'] = 'O ficheiro "%s" não pode ser removido, porque está ainda a ser usado nestes documentos:'; +$lang['ref_inuse'] = 'O ficheiro não pode ser removido, porque está ainda a ser usado nestes documentos:'; $lang['ref_hidden'] = 'Algumas referências estão em documentos para os quais não tem permissão para ler'; $lang['hits'] = 'Resultados'; $lang['quickhits'] = 'Documentos encontrados'; -- cgit v1.2.3 From 2302fb8dc7877fdf7337d405372ff385bea491d0 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Nov 2011 11:04:24 +0100 Subject: fixed german language strings --- inc/lang/de-informal/lang.php | 2 +- inc/lang/de/lang.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index ec5e308ce..3779d6fb3 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -155,7 +155,7 @@ $lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; $lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; $lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; $lang['uploadexist'] = 'Datei existiert bereits. Keine Änderungen vorgenommen.'; -$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung % überein.'; +$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung %s überein.'; $lang['uploadspam'] = 'Hochladen verweigert: Treffer auf der Spamliste.'; $lang['uploadxss'] = 'Hochladen verweigert: Daten scheinen Schadcode zu enthalten.'; $lang['uploadsize'] = 'Die hochgeladene Datei war zu groß. (max. %s)'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index eef2f6632..3bd326c84 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -330,8 +330,8 @@ $lang['media_upload'] = 'In den %s Namespace hochladen $lang['media_search'] = 'Im Namespace %s suchen.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s in %s'; -$lang['media_edit'] = 'Bearbeiten'; -$lang['media_history'] = 'Versionsverlauf der Datei.'; +$lang['media_edit'] = '%s bearbeiten'; +$lang['media_history'] = 'Versionsverlauf von %s.'; $lang['media_meta_edited'] = 'Meta-Informationen bearbeitet'; $lang['media_perm_read'] = 'Sie besitzen nicht die notwendigen Berechtigungen um die Datei anzuzeigen.'; $lang['media_perm_upload'] = 'Sie besitzen nicht die notwendigen Berechtigungen um Dateien hochzuladen.'; -- cgit v1.2.3 From 6d914084cfecc8f4dbaa39fc7dbb712c86fa27f8 Mon Sep 17 00:00:00 2001 From: Felipe Castro Date: Mon, 14 Nov 2011 14:12:25 +0100 Subject: eo: language updates --- inc/lang/eo/lang.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index abb6bf7d7..55bfca22c 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -255,8 +255,8 @@ $lang['subscr_m_unsubscribe'] = 'Malaboni'; $lang['subscr_m_subscribe'] = 'Aboni'; $lang['subscr_m_receive'] = 'Ricevi'; $lang['subscr_style_every'] = 'retpoŝtaĵo pro ĉiu ŝanĝo'; -$lang['subscr_style_digest'] = 'kolekta retpoŝtaĵo de ŝanĝoj por ĉiu paĝo'; -$lang['subscr_style_list'] = 'listo de ŝanĝitaj paĝoj ekde la lasta retpoŝtaĵo'; +$lang['subscr_style_digest'] = 'resuma retpoŝtaĵo de ŝanĝoj por ĉiu paĝo (je %.2f tagoj)'; +$lang['subscr_style_list'] = 'listo de ŝanĝitaj paĝoj ekde la lasta retpoŝtaĵo (je %.2f tagoj)'; $lang['authmodfailed'] = 'Malbona agordo por identigi la uzanton. Bonvolu informi la administranton de la vikio.'; $lang['authtempfail'] = 'La identigo de via uzantonomo estas intertempe maldisponebla. Se tiu ĉi situacio daŭros, bonvolu informi la adminstranton de la vikio.'; $lang['i_chooselang'] = 'Elektu vian lingvon'; @@ -322,8 +322,8 @@ $lang['media_upload'] = 'Alŝuti al la nomspaco <strong>%s</st $lang['media_search'] = 'Serĉi en la nomspaco <strong>%s</strong>.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s ĉe %s'; -$lang['media_edit'] = 'Modifi'; -$lang['media_history'] = 'Tiuj estas la pli malnovaj revizioj de la dosiero.'; +$lang['media_edit'] = 'Modifi %s'; +$lang['media_history'] = 'Protokolo de %s'; $lang['media_meta_edited'] = 'metadatumoj ŝanĝitaj'; $lang['media_perm_read'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por legi dosierojn.'; $lang['media_perm_upload'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por alŝuti dosierojn.'; -- cgit v1.2.3 From a4e0e797f6bce4aaabf4e115a277db8c9a1fa285 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sat, 19 Nov 2011 14:40:11 +0100 Subject: enabled remote as plugintype --- inc/init.php | 2 +- inc/load.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/init.php b/inc/init.php index b3acf2e33..ba62fe079 100644 --- a/inc/init.php +++ b/inc/init.php @@ -200,7 +200,7 @@ init_paths(); init_files(); // setup plugin controller class (can be overwritten in preload.php) -$plugin_types = array('admin','syntax','action','renderer', 'helper'); +$plugin_types = array('admin','syntax','action','renderer', 'helper','remote'); global $plugin_controller_class, $plugin_controller; if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller'; diff --git a/inc/load.php b/inc/load.php index d30397f6e..b69d58140 100644 --- a/inc/load.php +++ b/inc/load.php @@ -89,7 +89,7 @@ function load_autoload($name){ } // Plugin loading - if(preg_match('/^(helper|syntax|action|admin|renderer)_plugin_([^_]+)(?:_([^_]+))?$/', + if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_([^_]+)(?:_([^_]+))?$/', $name, $m)) { //try to load the wanted plugin file // include, but be silent. Maybe some other autoloader has an idea -- cgit v1.2.3 From 1017f6f159386699a10d2529c50fb5e28b5c1889 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sat, 19 Nov 2011 14:40:29 +0100 Subject: begin with remote api --- inc/remote.php | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 inc/remote.php (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php new file mode 100644 index 000000000..ea5e23af3 --- /dev/null +++ b/inc/remote.php @@ -0,0 +1,120 @@ + array( + * 'args' => array( + * 'type' => 'string|int|...', + * ) + * ) + * ) + * + * plugin names are formed the following: + * core methods begin by a 'dokuwiki' or 'wiki' followed by a . and the method name itself. + * i.e.: dokuwiki.version or wiki.getPage + * + * plugin methods are formed like 'plugin..'. + * i.e.: plugin.clock.getTime or plugin.clock_gmt.getTime + * + * + * + * @throws RemoteException + */ +class RemoteAPI { + + /** + * @var array remote methods provided by dokuwiki. + */ + private $coreMethods = array(); + + /** + * @var array remote methods provided by dokuwiki plugins - will be filled lazy via + * {@see RemoteAPI#getPluginMethods} + */ + private $pluginMethods = null; + + /** + * Get all available methods with remote access. + * + * @return array with information to all available methods + */ + public function getMethods() { + $this->forceAccess(); + return array_merge($this->getCoreMethods(), $this->getPluginMethods()); + } + + /** + * call a method via remote api. + * + * @param string $method name of the method to call. + * @param array $args arguments to pass to the given method + * @return mixed result of method call, must be a primitive type. + */ + public function call($method, $args) { + $this->forceAccess(); + $method = explode('.', $method); + if ($method[0] === 'plugin') { + $plugin = plugin_load('remote', $method[1]); + if (!$plugin) { + throw new RemoteException('Method unavailable'); + } + return call_user_func_array(array($plugin, $method[2]), $args); + } else { + // TODO call core method + } + + } + + /** + * @return bool true if the current user has access to remote api. + */ + public function hasAccess() { + global $conf; + if (!isset($conf['remote'])) { + return false; + } + return $conf['remote']; + } + + /** + * @throws RemoteException On denied access. + * @return void + */ + private function forceAccess() { + if (!$this->hasAccess()) { + throw new RemoteException('Access denied'); + } + } + + /** + * @return array all plugin methods. + */ + public function getPluginMethods() { + if ($this->pluginMethods === null) { + // TODO: find plugin methods + $this->pluginMethods = array(); + } + return $this->pluginMethods; + } + + /** + * @return array all core methods. + */ + public function getCoreMethods() { + return $this->coreMethods; + } +} + + +class RemoteException extends Exception {} \ No newline at end of file -- cgit v1.2.3 From 457ad80ad7c53870fc033997bfbf36e3904f9c4e Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 23 Nov 2011 20:25:58 +0100 Subject: introduced remote api class --- inc/load.php | 2 ++ inc/remote.php | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/load.php b/inc/load.php index b69d58140..3f1f3429f 100644 --- a/inc/load.php +++ b/inc/load.php @@ -76,10 +76,12 @@ function load_autoload($name){ 'SafeFN' => DOKU_INC.'inc/SafeFN.class.php', 'Sitemapper' => DOKU_INC.'inc/Sitemapper.php', 'PassHash' => DOKU_INC.'inc/PassHash.class.php', + 'RemoteAPI' => DOKU_INC.'inc/remote.php', 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', 'DokuWiki_Syntax_Plugin' => DOKU_PLUGIN.'syntax.php', + 'DokuWiki_Remote_Plugin' => DOKU_PLUGIN.'remote.php', ); diff --git a/inc/remote.php b/inc/remote.php index ea5e23af3..13a38aa17 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -17,6 +17,7 @@ if (!defined('DOKU_INC')) die(); * 'args' => array( * 'type' => 'string|int|...', * ) + * 'return' => 'type' * ) * ) * @@ -102,8 +103,20 @@ class RemoteAPI { */ public function getPluginMethods() { if ($this->pluginMethods === null) { - // TODO: find plugin methods $this->pluginMethods = array(); + $plugins = plugin_list('remote'); + + foreach ($plugins as $pluginName) { + $plugin = plugin_load('remote', $pluginName); + if (!is_subclass_of($plugin, 'DokuWiki_Remote_Plugin')) { + throw new RemoteException("Plugin $pluginName dose not implement DokuWiki_Remote_Plugin"); + } + + $methods = $plugin->_getMethods(); + foreach ($methods as $method => $meta) { + $this->pluginMethods["plugin.$pluginName.$method"] = $meta; + } + } } return $this->pluginMethods; } -- cgit v1.2.3 From 502a92e072be7b42750b4c9032e7269d1fd7c7b4 Mon Sep 17 00:00:00 2001 From: Patrick Michel Date: Sun, 27 Nov 2011 10:55:27 +0100 Subject: MD5 password hash format of the LDAP RFC FS#2378 This implements the salted MD5 password hash format of the LDAP RFC. The format is quite simple the password, followed by the 8 byte hash in base64 encoding, which results in 32 characters, prepended with the string "{smd5}". --- inc/PassHash.class.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'inc') diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index 31493c022..c13cf4a54 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -50,6 +50,9 @@ class PassHash { }elseif(substr($hash,0,6) == '{SSHA}'){ $method = 'ssha'; $salt = substr(base64_decode(substr($hash, 6)),20); + }elseif(substr($hash,0,6) == '{SMD5}'){ + $method = 'smd6'; + $salt = substr(base64_decode(substr($hash, 6)),16); }elseif($len == 32){ $method = 'md5'; }elseif($len == 40){ @@ -130,6 +133,18 @@ class PassHash { } } + + /** + * Password hashing method 'smd6' + * + * Uses salted MD5 hashs. Salt is 8 bytes long. Yes, really 8 bytes... + */ + public function hash_smd6($clear, $salt=null){ + $this->init_salt($salt,8); + return "{SMD5}".base64_encode(md5($clear.$salt, true).$salt); + } + + /** * Password hashing method 'apr1' * -- cgit v1.2.3 From 491a2c68bc685e7e0cd4f9622ef4051e4a580d62 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 27 Nov 2011 11:08:07 +0100 Subject: renamed passhash method smd6 to lsmd5 --- inc/PassHash.class.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index c13cf4a54..8f62425aa 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -51,7 +51,7 @@ class PassHash { $method = 'ssha'; $salt = substr(base64_decode(substr($hash, 6)),20); }elseif(substr($hash,0,6) == '{SMD5}'){ - $method = 'smd6'; + $method = 'lsmd5'; $salt = substr(base64_decode(substr($hash, 6)),16); }elseif($len == 32){ $method = 'md5'; @@ -135,13 +135,15 @@ class PassHash { /** - * Password hashing method 'smd6' + * Password hashing method 'lsmd5' * - * Uses salted MD5 hashs. Salt is 8 bytes long. Yes, really 8 bytes... + * Uses salted MD5 hashs. Salt is 8 bytes long. + * + * This is the format used by LDAP. */ - public function hash_smd6($clear, $salt=null){ - $this->init_salt($salt,8); - return "{SMD5}".base64_encode(md5($clear.$salt, true).$salt); + public function hash_lsmd5($clear, $salt=null){ + $this->init_salt($salt,8); + return "{SMD5}".base64_encode(md5($clear.$salt, true).$salt); } -- cgit v1.2.3 From 612db7146659fb98db1eff83d71e668e6f2da9fc Mon Sep 17 00:00:00 2001 From: Shuo Ting Jian Date: Sun, 27 Nov 2011 11:19:12 +0100 Subject: Chinese language update --- inc/lang/zh/lang.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 6e6dff6f4..95d1bc2c5 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -14,6 +14,7 @@ * @author Hiphen Lee * @author caii, patent agent in China * @author lainme993@gmail.com + * @author Shuo-Ting Jian */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -315,18 +316,22 @@ $lang['seconds'] = '%d秒前'; $lang['wordblock'] = '您的更改没有被保存,因为它包含被屏蔽的文字(垃圾信息)。'; $lang['media_uploadtab'] = '上传'; $lang['media_searchtab'] = '搜索'; +$lang['media_file'] = '文件'; $lang['media_viewtab'] = '查看'; $lang['media_edittab'] = '编辑'; $lang['media_historytab'] = '历史'; -$lang['media_thumbsview'] = '缩略图'; -$lang['media_listview'] = '列表'; -$lang['media_sort'] = '排序'; +$lang['media_list_thumbs'] = '缩图'; +$lang['media_list_rows'] = '列表'; $lang['media_sort_name'] = '按名称'; $lang['media_sort_date'] = '按日期'; +$lang['media_namespaces'] = '选择命名空间'; +$lang['media_files'] = '在 %s 中的文件'; $lang['media_upload'] = '上传到 %s 命名空间。'; $lang['media_search'] = '在 %s 命名空间中搜索。'; -$lang['media_edit'] = '编辑'; -$lang['media_history'] = '这些是文件的旧版本。'; +$lang['media_view'] = '%s 在 %s'; +$lang['media_viewold'] = '%s '; +$lang['media_edit'] = '编辑 %s'; +$lang['media_history'] = '%s 的历史纪录'; $lang['media_meta_edited'] = '元数据已编辑'; $lang['media_perm_read'] = '抱歉,您没有足够权限读取这些文件。'; $lang['media_perm_upload'] = '抱歉,您没有足够权限来上传文件。'; -- cgit v1.2.3 From 1b9261dbc48f77eaf32a87372f39f9db1ba4636a Mon Sep 17 00:00:00 2001 From: Shuo Ting Jian Date: Sun, 27 Nov 2011 11:19:58 +0100 Subject: Traditional Chinese language update --- inc/lang/zh-tw/lang.php | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index a46869d6c..a144767f4 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -51,6 +51,8 @@ $lang['btn_recover'] = '復原草稿'; $lang['btn_draftdel'] = '捨棄草稿'; $lang['btn_revert'] = '復原'; $lang['btn_register'] = '註冊'; +$lang['btn_apply'] = '套用'; +$lang['btn_media'] = '多媒體管理器'; $lang['loggedinas'] = '登入為'; $lang['user'] = '帳號'; $lang['pass'] = '密碼'; @@ -95,7 +97,7 @@ $lang['txt_filename'] = '請輸入要存在維基內的檔案名稱 ( $lang['txt_overwrt'] = '是否要覆蓋原有檔案'; $lang['lockedby'] = '目前已被下列人員鎖定'; $lang['lockexpire'] = '預計解除鎖定於'; -$lang['js']['willexpire'] = '本頁的編輯鎖定將在一分鐘內到期。要避免發生衝突,請按「預覽」鍵重設鎖定計時。'; +$lang['js']['willexpire'] = '本頁的編輯鎖定將在一分鐘內到期。要避免發生衝突,請按「預覽」鍵重設鎖定計時。'; $lang['js']['notsavedyet'] = '未儲存的變更將會遺失,繼續嗎?'; $lang['js']['searchmedia'] = '搜尋檔案'; $lang['js']['keepopen'] = '選擇時保持視窗開啟'; @@ -126,6 +128,17 @@ $lang['js']['nosmblinks'] = '只有在 Microsoft IE 下才能執行「連 $lang['js']['linkwiz'] = '建立連結精靈'; $lang['js']['linkto'] = '連結至:'; $lang['js']['del_confirm'] = '確定刪除選取的項目?'; +$lang['js']['restore_confirm'] = '確定還原到這個版本?'; +$lang['js']['media_diff'] = '檢視差異:'; +$lang['js']['media_diff_both'] = '並排'; +$lang['js']['media_diff_opacity'] = '重疊'; +$lang['js']['media_diff_portions'] = '滑動'; +$lang['js']['media_select'] = '選擇檔案…'; +$lang['js']['media_upload_btn'] = '上傳'; +$lang['js']['media_done_btn'] = '完成'; +$lang['js']['media_drop'] = '拖拉檔案到此上傳'; +$lang['js']['media_cancel'] = '刪除'; +$lang['js']['media_overwrt'] = '覆蓋已存在的檔案'; $lang['rssfailed'] = '擷取 RSS 饋送檔時發生錯誤:'; $lang['nothingfound'] = '沒找到任何結果。'; $lang['mediaselect'] = '媒體檔案'; @@ -180,6 +193,10 @@ $lang['mail_changed'] = '變更的頁面:'; $lang['mail_subscribe_list'] = '命名空間中更動的頁面:'; $lang['mail_new_user'] = '新使用者:'; $lang['mail_upload'] = '已上傳檔案:'; +$lang['changes_type'] = '檢視最近更新類型'; +$lang['pages_changes'] = '頁面'; +$lang['media_changes'] = '多媒體檔案'; +$lang['both_changes'] = '頁面和多媒體檔案'; $lang['qb_bold'] = '粗體'; $lang['qb_italic'] = '斜體'; $lang['qb_underl'] = '底線'; @@ -220,6 +237,9 @@ $lang['img_copyr'] = '版權'; $lang['img_format'] = '格式'; $lang['img_camera'] = '相機'; $lang['img_keywords'] = '關鍵字'; +$lang['img_width'] = '寬度'; +$lang['img_height'] = '高度'; +$lang['img_manager'] = '在多媒體管理器中檢視'; $lang['subscr_subscribe_success'] = '已將 %s 加入至 %s 的訂閱列表'; $lang['subscr_subscribe_error'] = '將 %s 加入至 %s 的訂閱列表時發生錯誤'; $lang['subscr_subscribe_noaddress'] = '沒有與您登入相關的地址,無法將您加入訂閱列表'; @@ -286,3 +306,27 @@ $lang['hours'] = '%d 個小時前'; $lang['minutes'] = '%d 分鐘前'; $lang['seconds'] = '%s 秒鐘前'; $lang['wordblock'] = '您的更改沒有被儲存,因为它包含被阻擋的文字 (垃圾訊息)。'; +$lang['media_uploadtab'] = '上傳'; +$lang['media_searchtab'] = '搜尋'; +$lang['media_file'] = '檔案'; +$lang['media_viewtab'] = '檢視'; +$lang['media_edittab'] = '編輯'; +$lang['media_historytab'] = '歷史紀錄'; +$lang['media_list_thumbs'] = '縮圖'; +$lang['media_list_rows'] = '列表'; +$lang['media_sort_name'] = '名稱'; +$lang['media_sort_date'] = '日期'; +$lang['media_namespaces'] = '選擇命名空間'; +$lang['media_files'] = '在 %s 中的檔案'; +$lang['media_upload'] = '上傳至 %s'; +$lang['media_search'] = '在 %s 中搜尋'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s 在 %s'; +$lang['media_edit'] = '編輯 %s'; +$lang['media_history'] = '%s 的歷史紀錄'; +$lang['media_meta_edited'] = '元資料已編輯'; +$lang['media_perm_read'] = '抱歉,您沒有足夠權限讀取檔案'; +$lang['media_perm_upload'] = '抱歉,您沒有足夠權限上傳檔案。'; +$lang['media_update'] = '上傳新的版本'; +$lang['media_restore'] = '還原這個版本'; +$lang['plugin_install_err'] = '插件安裝錯誤。將插件目錄 "%s" 重新命名為 "%s"'; -- cgit v1.2.3 From ad9bfc2d35566e0815820de21a664c6fb1c3c60a Mon Sep 17 00:00:00 2001 From: Christophe Martin Date: Sun, 27 Nov 2011 11:21:47 +0100 Subject: French language update --- inc/lang/fr/index.txt | 2 +- inc/lang/fr/lang.php | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'inc') diff --git a/inc/lang/fr/index.txt b/inc/lang/fr/index.txt index 14446681e..c66c656ab 100644 --- a/inc/lang/fr/index.txt +++ b/inc/lang/fr/index.txt @@ -1,4 +1,4 @@ ====== Index ====== -Voici un index de toutes les pages disponibles, triées par [[doku>namespaces|catégorie]]. +Voici un index de toutes les pages disponibles, triées par [[doku>fr:namespaces|catégorie]]. diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 60b86b346..9399e1758 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -112,7 +112,7 @@ $lang['lockexpire'] = 'Le blocage expire à'; $lang['js']['willexpire'] = 'Votre verrouillage pour la modification de cette page expire dans une minute.\nPour éviter les conflits, utilisez le bouton « Aperçu » pour réinitialiser le minuteur.'; $lang['js']['notsavedyet'] = 'Les modifications non enregistrées seront perdues. Voulez-vous vraiment continuer ?'; $lang['js']['searchmedia'] = 'Chercher des fichiers'; -$lang['js']['keepopen'] = 'Gardez la fenêtre ouverte pendant la sélection'; +$lang['js']['keepopen'] = 'Gardez cette fenêtre toujours ouverte'; $lang['js']['hidedetails'] = 'Masquer détails'; $lang['js']['mediatitle'] = 'Paramètres de lien'; $lang['js']['mediadisplay'] = 'Type de lien'; @@ -135,12 +135,10 @@ $lang['js']['medialeft'] = 'Aligner l\'image sur la gauche.'; $lang['js']['mediaright'] = 'Aligner l\'image sur la droite.'; $lang['js']['mediacenter'] = 'Centrer l\'image'; $lang['js']['medianoalign'] = 'Ne pas aligner.'; -$lang['js']['nosmblinks'] = 'Les liens vers les partages Windows ne fonctionnent qu\'avec Microsoft Internet Explorer. - Vous pouvez toujours copier puis coller le lien.'; +$lang['js']['nosmblinks'] = 'Les liens vers les partages Windows ne fonctionnent qu\'avec Microsoft Internet Explorer.\nVous pouvez toujours copier puis coller le lien.'; $lang['js']['linkwiz'] = 'Assistant Lien'; $lang['js']['linkto'] = 'Lien vers :'; $lang['js']['del_confirm'] = 'Effacer cette entrée ?'; -$lang['js']['mu_btn'] = 'Envoyer plusieurs fichiers en même temps'; $lang['js']['restore_confirm'] = 'Voulez vous vraiment restaurer cette version ?'; $lang['js']['media_diff'] = 'Voir les différences:'; $lang['js']['media_diff_both'] = 'Côte à côte'; @@ -267,8 +265,8 @@ $lang['subscr_m_unsubscribe'] = 'Annuler la souscription'; $lang['subscr_m_subscribe'] = 'Souscrire'; $lang['subscr_m_receive'] = 'Recevoir'; $lang['subscr_style_every'] = 'Envoyer un courriel à chaque modification'; -$lang['subscr_style_digest'] = 'Courriel résumant les modifications de chaque page'; -$lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier courriel'; +$lang['subscr_style_digest'] = 'Courriel, tous les %.2f jours, résumant les modifications de chaque page'; +$lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier courriel (tous les %.2f jours)'; $lang['authmodfailed'] = 'Mauvais paramétrage de l\'authentification. Merci d\'informer l\'administrateur du Wiki.'; $lang['authtempfail'] = 'L\'authentification est temporairement indisponible. Si cela perdure, merci d\'informer l\'administrateur du Wiki.'; $lang['i_chooselang'] = 'Choisissez votre langue'; @@ -328,13 +326,13 @@ $lang['media_list_rows'] = 'Lignes'; $lang['media_sort_name'] = 'Tri par nom'; $lang['media_sort_date'] = 'Tri par date'; $lang['media_namespaces'] = 'Choisissez un espace de nom'; -$lang['media_files'] = 'Fichiers présents dans'; -$lang['media_upload'] = 'Télécharger dans la catégorie %s.'; -$lang['media_search'] = 'Chercher dans la catégorie %s.'; +$lang['media_files'] = 'Fichiers de %s'; +$lang['media_upload'] = 'Télécharger dans %s.'; +$lang['media_search'] = 'Chercher dans %s.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s dans %s'; $lang['media_edit'] = 'Éditer %s'; -$lang['media_history'] = 'Historique du %s'; +$lang['media_history'] = 'Historique de %s'; $lang['media_meta_edited'] = 'métadonnées éditées'; $lang['media_perm_read'] = 'Désolé, vous n\'avez pas les droits pour lire les fichiers.'; $lang['media_perm_upload'] = 'Désolé, vous n\'avez pas les droits pour télécharger des fichiers.'; -- cgit v1.2.3 From 9015e3112dbe9466391f385413840112b6d4da1c Mon Sep 17 00:00:00 2001 From: Marijn Hofstra Date: Sun, 27 Nov 2011 12:27:07 +0100 Subject: Dutch language update --- inc/lang/nl/lang.php | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'inc') diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 62d23b0d2..35dce121e 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -138,8 +138,11 @@ $lang['js']['restore_confirm'] = 'Werkelijk deze versie terugzetten?'; $lang['js']['media_diff'] = 'Verschillen bekijken:'; $lang['js']['media_diff_both'] = 'Naast elkaar'; $lang['js']['media_diff_opacity'] = 'Doorschijnend'; +$lang['js']['media_diff_portions'] = 'Swipe'; $lang['js']['media_select'] = 'Selecteer bestanden'; +$lang['js']['media_upload_btn'] = 'Uploaden'; $lang['js']['media_done_btn'] = 'Klaar'; +$lang['js']['media_drop'] = 'Sleep bestanden hierheen om ze te uploaden'; $lang['js']['media_cancel'] = 'Verwijderen'; $lang['js']['media_overwrt'] = 'Bestaande bestanden overschrijven'; $lang['rssfailed'] = 'Er is een fout opgetreden bij het ophalen van de feed: '; @@ -196,6 +199,7 @@ $lang['mail_changed'] = 'pagina aangepast:'; $lang['mail_subscribe_list'] = 'Pagina\'s veranderd in namespace:'; $lang['mail_new_user'] = 'nieuwe gebruiker:'; $lang['mail_upload'] = 'bestand geüpload:'; +$lang['changes_type'] = 'Bekijk wijzigingen van'; $lang['pages_changes'] = 'Pagina\'s'; $lang['media_changes'] = 'Media bestanden'; $lang['both_changes'] = 'Zowel pagina\'s als media bestanden'; @@ -306,22 +310,27 @@ $lang['hours'] = '%d uren geleden'; $lang['minutes'] = '%d minuten geleden'; $lang['seconds'] = '%d seconden geleden'; $lang['wordblock'] = 'Uw wijziging is niet opgeslagen omdat deze niet-toegestane tekst bevat (spam).'; +$lang['media_uploadtab'] = 'Uploaden'; $lang['media_searchtab'] = 'Zoeken'; $lang['media_file'] = 'Bestand'; $lang['media_viewtab'] = 'Beeld'; $lang['media_edittab'] = 'Bewerken'; $lang['media_historytab'] = 'Geschiedenis'; +$lang['media_list_thumbs'] = 'Miniatuurweergaven'; $lang['media_list_rows'] = 'Regels'; $lang['media_sort_name'] = 'Naam'; $lang['media_sort_date'] = 'Datum'; $lang['media_namespaces'] = 'Kies naamruimte'; $lang['media_files'] = 'Bestanden in %s'; +$lang['media_upload'] = 'Upload naar %s'; $lang['media_search'] = 'Zoeken in %s'; $lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s bij %s'; $lang['media_edit'] = '%s bewerken'; $lang['media_history'] = 'Geschiedenis van %s'; $lang['media_meta_edited'] = 'Metagegevens bewerkt'; $lang['media_perm_read'] = 'Sorry, u heeft niet voldoende rechten om bestanden te lezen.'; $lang['media_perm_upload'] = 'Sorry, u heeft niet voldoende rechten om bestanden te uploaden.'; +$lang['media_update'] = 'Upload nieuwe versie'; $lang['media_restore'] = 'Deze versie terugzetten'; $lang['plugin_install_err'] = 'Plugin is juist geinstalleerd. Hernoem plugin map \'%s\' naar \'%s\'.'; -- cgit v1.2.3 From 90565d653f88b4e3c641a01616f6a10cbf54d0ad Mon Sep 17 00:00:00 2001 From: Aivars Miska Date: Sun, 27 Nov 2011 12:28:27 +0100 Subject: Latvian language update --- inc/lang/lv/lang.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 926341393..37a0bf6a9 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -123,7 +123,6 @@ Protams, ka vari saiti kopēt un iespraust citā programmā.'; $lang['js']['linkwiz'] = 'Saišu vednis'; $lang['js']['linkto'] = 'Saite uz: '; $lang['js']['del_confirm'] = 'Dzēst šo šķirkli?'; -$lang['js']['mu_btn'] = 'Augšuplādēt uzreiz vairākus failus.'; $lang['js']['restore_confirm'] = 'Tiešām atjaunot šo versiju'; $lang['js']['media_diff'] = 'Skatīt atšķirību'; $lang['js']['media_diff_both'] = 'Blakus'; @@ -248,9 +247,9 @@ $lang['subscr_m_unsubscribe'] = 'Atteikties no abonēšanas'; $lang['subscr_m_subscribe'] = 'Abonēt'; $lang['subscr_m_receive'] = 'Saņemt'; $lang['subscr_style_every'] = 'vēstuli par katru izmaiņu'; -$lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu'; -$lang['subscr_style_list'] = 'kopš pēdējās vēstules notikušo labojumu sarakstu'; -$lang['authmodfailed'] = 'Aplami konfigurēta lietotāju autentifikācija. Lūdzo ziņo Wiki administratoram.'; +$lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu (reizi %.2f dienās)'; +$lang['subscr_style_list'] = 'kopš pēdējās vēstules notikušo labojumu sarakstu (reizi %.2f dienās)'; +$lang['authmodfailed'] = 'Aplami konfigurēta lietotāju autentifikācija. Lūdzu ziņo Wiki administratoram.'; $lang['authtempfail'] = 'Lietotāju autentifikācija pašlaik nedarbojas. Ja tas turpinās ilgstoši, lūduz ziņo Wiki administratoram.'; $lang['i_chooselang'] = 'Izvēlies valodu'; $lang['i_installer'] = 'DokuWiki instalētājs'; @@ -294,7 +293,7 @@ $lang['recent_global'] = 'Tu skati izmaiņas nodaļā %s. Ir iesp $lang['years'] = 'pirms %d gadiem'; $lang['months'] = 'pirms %d mēnešiem'; $lang['weeks'] = 'pirms %d nedēļām'; -$lang['days'] = 'pirms %d dienām'; +$lang['days'] = 'pirms %d dienām'; $lang['hours'] = 'pirms %d stundām'; $lang['minutes'] = 'pirms %d minūtēm'; $lang['seconds'] = 'pirms %d sekundēm'; -- cgit v1.2.3 From 2fe6daea539c94704c1932f546ad01d3bfc5d04c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 27 Nov 2011 16:59:14 +0100 Subject: suppress errors on stream_select FS#2276 On certain environments, stream_select might produce temporary errors when file descriptors are running scarce. --- inc/HTTPClient.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index fdf95d113..641950348 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -338,7 +338,10 @@ class HTTPClient { } // wait for stream ready or timeout (1sec) - if(stream_select($sel_r,$sel_w,$sel_e,1) === false) continue; + if(@stream_select($sel_r,$sel_w,$sel_e,1) === false){ + usleep(1000); + continue; + } // write to stream $ret = fwrite($socket, substr($request,$written,4096)); -- cgit v1.2.3 From 28db35ad3dd974cc2f627d25f7bcc16e9fd0ceac Mon Sep 17 00:00:00 2001 From: dploeger Date: Mon, 28 Nov 2011 11:43:41 +0100 Subject: Fixes SYMPTOMS of FS #2393 --- inc/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 9d3e90a54..db975380f 100644 --- a/inc/media.php +++ b/inc/media.php @@ -108,7 +108,7 @@ function media_metaform($id,$auth){ $src = mediaFN($id); // output - $form = new Doku_Form(array('action' => media_managerURL(array('tab_details' => 'view')), + $form = new Doku_Form(array('action' => media_managerURL(array('tab_details' => 'view'), '&'), 'class' => 'meta')); $form->addHidden('img', $id); $form->addHidden('mediado', 'save'); -- cgit v1.2.3 From 2d2d9d0f3a410b31d76a2be193fe16b3dbd79096 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Mon, 28 Nov 2011 19:09:48 +0100 Subject: collect remote functions in a class --- inc/RemoteAPICore.php | 617 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 617 insertions(+) create mode 100644 inc/RemoteAPICore.php (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php new file mode 100644 index 000000000..c4324ba29 --- /dev/null +++ b/inc/RemoteAPICore.php @@ -0,0 +1,617 @@ + + * @param string $id file id + * @return media file + */ + function getAttachment($id){ + $id = cleanID($id); + if (auth_quickaclcheck(getNS($id).':*') < AUTH_READ) { + throw new RemoteAccessDenied(); + } + + $file = mediaFN($id); + if (!@ file_exists($file)) { + throw new RemoteException('The requested file does not exist'); + } + + $data = io_readFile($file, false); + $base64 = base64_encode($data); + return $base64; + } + + /** + * Return info about a media file + * + * @author Gina Haeussge + */ + function getAttachmentInfo($id){ + $id = cleanID($id); + $info = array( + 'lastModified' => 0, + 'size' => 0, + ); + + $file = mediaFN($id); + if ((auth_quickaclcheck(getNS($id).':*') >= AUTH_READ) && file_exists($file)){ + $info['lastModified'] = new IXR_Date(filemtime($file)); + $info['size'] = filesize($file); + } + + return $info; + } + + /** + * Return a wiki page rendered to html + */ + function htmlPage($id,$rev=''){ + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_READ){ + throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + } + return p_wiki_xhtml($id,$rev,false); + } + + /** + * List all pages - we use the indexer list here + */ + function listPages(){ + $list = array(); + $pages = idx_get_indexer()->getPages(); + $pages = array_filter(array_filter($pages,'isVisiblePage'),'page_exists'); + + foreach(array_keys($pages) as $idx) { + $perm = auth_quickaclcheck($pages[$idx]); + if($perm < AUTH_READ) { + continue; + } + $page = array(); + $page['id'] = trim($pages[$idx]); + $page['perms'] = $perm; + $page['size'] = @filesize(wikiFN($pages[$idx])); + $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx]))); + $list[] = $page; + } + + return $list; + } + + /** + * List all pages in the given namespace (and below) + */ + function readNamespace($ns,$opts){ + global $conf; + + if(!is_array($opts)) $opts=array(); + + $ns = cleanID($ns); + $dir = utf8_encodeFN(str_replace(':', '/', $ns)); + $data = array(); + $opts['skipacl'] = 0; // no ACL skipping for XMLRPC + search($data, $conf['datadir'], 'search_allpages', $opts, $dir); + return $data; + } + + /** + * List all pages in the given namespace (and below) + */ + function search($query){ + require_once(DOKU_INC.'inc/fulltext.php'); + + $regex = ''; + $data = ft_pageSearch($query,$regex); + $pages = array(); + + // prepare additional data + $idx = 0; + foreach($data as $id => $score){ + $file = wikiFN($id); + + if($idx < FT_SNIPPET_NUMBER){ + $snippet = ft_snippet($id,$regex); + $idx++; + }else{ + $snippet = ''; + } + + $pages[] = array( + 'id' => $id, + 'score' => $score, + 'rev' => filemtime($file), + 'mtime' => filemtime($file), + 'size' => filesize($file), + 'snippet' => $snippet, + ); + } + return $pages; + } + + /** + * Returns the wiki title. + */ + function getTitle(){ + global $conf; + return $conf['title']; + } + + /** + * List all media files. + * + * Available options are 'recursive' for also including the subnamespaces + * in the listing, and 'pattern' for filtering the returned files against + * a regular expression matching their name. + * + * @author Gina Haeussge + */ + function listAttachments($ns, $options = array()) { + global $conf; + global $lang; + + $ns = cleanID($ns); + + if (!is_array($options)) $options = array(); + $options['skipacl'] = 0; // no ACL skipping for XMLRPC + + + if(auth_quickaclcheck($ns.':*') >= AUTH_READ) { + $dir = utf8_encodeFN(str_replace(':', '/', $ns)); + + $data = array(); + search($data, $conf['mediadir'], 'search_media', $options, $dir); + $len = count($data); + if(!$len) return array(); + + for($i=0; $i<$len; $i++) { + unset($data[$i]['meta']); + $data[$i]['lastModified'] = new IXR_Date($data[$i]['mtime']); + } + return $data; + } else { + throw new RemoteAccessDenied(1, 'You are not allowed to list media files.'); + } + } + + /** + * Return a list of backlinks + */ + function listBackLinks($id){ + return ft_backlinks(cleanID($id)); + } + + /** + * Return some basic data about a page + */ + function pageInfo($id,$rev=''){ + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_READ){ + throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + } + $file = wikiFN($id,$rev); + $time = @filemtime($file); + if(!$time){ + throw new RemoteException(10, 'The requested page does not exist'); + } + + $info = getRevisionInfo($id, $time, 1024); + + $data = array( + 'name' => $id, + 'lastModified' => new IXR_Date($time), + 'author' => (($info['user']) ? $info['user'] : $info['ip']), + 'version' => $time + ); + + return ($data); + } + + /** + * Save a wiki page + * + * @author Michael Klier + */ + function putPage($id, $text, $params) { + global $TEXT; + global $lang; + global $conf; + + $id = cleanID($id); + $TEXT = cleanText($text); + $sum = $params['sum']; + $minor = $params['minor']; + + if(empty($id)) { + throw new RemoteException(1, 'Empty page ID'); + } + + if(!page_exists($id) && trim($TEXT) == '' ) { + throw new RemoteException(1, 'Refusing to write an empty new wiki page'); + } + + if(auth_quickaclcheck($id) < AUTH_EDIT) { + throw new RemoteAccessDenied(1, 'You are not allowed to edit this page'); + } + + // Check, if page is locked + if(checklock($id)) { + throw new RemoteException(1, 'The page is currently locked'); + } + + // SPAM check + if(checkwordblock()) { + throw new RemoteException(1, 'Positive wordblock check'); + } + + // autoset summary on new pages + if(!page_exists($id) && empty($sum)) { + $sum = $lang['created']; + } + + // autoset summary on deleted pages + if(page_exists($id) && empty($TEXT) && empty($sum)) { + $sum = $lang['deleted']; + } + + lock($id); + + saveWikiText($id,$TEXT,$sum,$minor); + + unlock($id); + + // run the indexer if page wasn't indexed yet + idx_addPage($id); + + return 0; + } + + /** + * Appends text to a wiki page. + */ + function appendPage($id, $text, $params) { + $currentpage = $this->rawPage($id); + if (!is_string($currentpage)) { + return $currentpage; + } + return $this->putPage($id, $currentpage.$text, $params); + } + + /** + * Uploads a file to the wiki. + * + * Michael Klier + */ + function putAttachment($id, $file, $params) { + $id = cleanID($id); + $auth = auth_quickaclcheck(getNS($id).':*'); + + if(!isset($id)) { + throw new RemoteException(1, 'Filename not given.'); + } + + global $conf; + + $ftmp = $conf['tmpdir'] . '/' . md5($id.clientIP()); + + // save temporary file + @unlink($ftmp); + if (preg_match('/^[A-Za-z0-9\+\/]*={0,2}$/', $file) === 1) { + // DEPRECATED: Double-decode file if it still looks like base64 + // after first decoding (which is done by the library) + $file = base64_decode($file); + } + io_saveFile($ftmp, $file); + + $res = media_save(array('name' => $ftmp), $id, $params['ow'], $auth, 'rename'); + if (is_array($res)) { + throw new RemoteException(-$res[1], $res[0]); + } else { + return $res; + } + } + + /** + * Deletes a file from the wiki. + * + * @author Gina Haeussge + */ + function deleteAttachment($id){ + $id = cleanID($id); + $auth = auth_quickaclcheck(getNS($id).':*'); + $res = media_delete($id, $auth); + if ($res & DOKU_MEDIA_DELETED) { + return 0; + } elseif ($res & DOKU_MEDIA_NOT_AUTH) { + throw new RemoteAccessDenied(1, "You don't have permissions to delete files."); + } elseif ($res & DOKU_MEDIA_INUSE) { + throw new RemoteException(1, 'File is still referenced'); + } else { + throw new RemoteException(1, 'Could not delete file'); + } + } + + /** + * Returns the permissions of a given wiki page + */ + function aclCheck($id) { + $id = cleanID($id); + return auth_quickaclcheck($id); + } + + /** + * Lists all links contained in a wiki page + * + * @author Michael Klier + */ + function listLinks($id) { + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_READ){ + throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + } + $links = array(); + + // resolve page instructions + $ins = p_cached_instructions(wikiFN($id)); + + // instantiate new Renderer - needed for interwiki links + include(DOKU_INC.'inc/parser/xhtml.php'); + $Renderer = new Doku_Renderer_xhtml(); + $Renderer->interwiki = getInterwiki(); + + // parse parse instructions + foreach($ins as $in) { + $link = array(); + switch($in[0]) { + case 'internallink': + $link['type'] = 'local'; + $link['page'] = $in[1][0]; + $link['href'] = wl($in[1][0]); + array_push($links,$link); + break; + case 'externallink': + $link['type'] = 'extern'; + $link['page'] = $in[1][0]; + $link['href'] = $in[1][0]; + array_push($links,$link); + break; + case 'interwikilink': + $url = $Renderer->_resolveInterWiki($in[1][2],$in[1][3]); + $link['type'] = 'extern'; + $link['page'] = $url; + $link['href'] = $url; + array_push($links,$link); + break; + } + } + + return ($links); + } + + /** + * Returns a list of recent changes since give timestamp + * + * @author Michael Hamann + * @author Michael Klier + */ + function getRecentChanges($timestamp) { + if(strlen($timestamp) != 10) { + throw new RemoteException(20, 'The provided value is not a valid timestamp'); + } + + $recents = getRecentsSince($timestamp); + + $changes = array(); + + foreach ($recents as $recent) { + $change = array(); + $change['name'] = $recent['id']; + $change['lastModified'] = new IXR_Date($recent['date']); + $change['author'] = $recent['user']; + $change['version'] = $recent['date']; + $change['perms'] = $recent['perms']; + $change['size'] = @filesize(wikiFN($recent['id'])); + array_push($changes, $change); + } + + if (!empty($changes)) { + return $changes; + } else { + // in case we still have nothing at this point + return new RemoteException('There are no changes in the specified timeframe'); + } + } + + /** + * Returns a list of recent media changes since give timestamp + * + * @author Michael Hamann + * @author Michael Klier + */ + function getRecentMediaChanges($timestamp) { + if(strlen($timestamp) != 10) + throw new RemoteException(20, 'The provided value is not a valid timestamp'); + + $recents = getRecentsSince($timestamp, null, '', RECENTS_MEDIA_CHANGES); + + $changes = array(); + + foreach ($recents as $recent) { + $change = array(); + $change['name'] = $recent['id']; + $change['lastModified'] = new IXR_Date($recent['date']); + $change['author'] = $recent['user']; + $change['version'] = $recent['date']; + $change['perms'] = $recent['perms']; + $change['size'] = @filesize(mediaFN($recent['id'])); + array_push($changes, $change); + } + + if (!empty($changes)) { + return $changes; + } else { + // in case we still have nothing at this point + throw new RemoteException(30, 'There are no changes in the specified timeframe'); + } + } + + /** + * Returns a list of available revisions of a given wiki page + * + * @author Michael Klier + */ + function pageVersions($id, $first) { + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_READ) { + throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + } + global $conf; + + $versions = array(); + + if(empty($id)) { + throw new RemoteException(1, 'Empty page ID'); + } + + $revisions = getRevisions($id, $first, $conf['recent']+1); + + if(count($revisions)==0 && $first!=0) { + $first=0; + $revisions = getRevisions($id, $first, $conf['recent']+1); + } + + if(count($revisions)>0 && $first==0) { + array_unshift($revisions, ''); // include current revision + array_pop($revisions); // remove extra log entry + } + + if(count($revisions) > $conf['recent']) { + array_pop($revisions); // remove extra log entry + } + + if(!empty($revisions)) { + foreach($revisions as $rev) { + $file = wikiFN($id,$rev); + $time = @filemtime($file); + // we check if the page actually exists, if this is not the + // case this can lead to less pages being returned than + // specified via $conf['recent'] + if($time){ + $info = getRevisionInfo($id, $time, 1024); + if(!empty($info)) { + $data['user'] = $info['user']; + $data['ip'] = $info['ip']; + $data['type'] = $info['type']; + $data['sum'] = $info['sum']; + $data['modified'] = new IXR_Date($info['date']); + $data['version'] = $info['date']; + array_push($versions, $data); + } + } + } + return $versions; + } else { + return array(); + } + } + + /** + * The version of Wiki RPC API supported + */ + function wiki_RPCVersion(){ + return 2; + } + + + /** + * Locks or unlocks a given batch of pages + * + * Give an associative array with two keys: lock and unlock. Both should contain a + * list of pages to lock or unlock + * + * Returns an associative array with the keys locked, lockfail, unlocked and + * unlockfail, each containing lists of pages. + */ + function setLocks($set){ + $locked = array(); + $lockfail = array(); + $unlocked = array(); + $unlockfail = array(); + + foreach((array) $set['lock'] as $id){ + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_EDIT || checklock($id)){ + $lockfail[] = $id; + }else{ + lock($id); + $locked[] = $id; + } + } + + foreach((array) $set['unlock'] as $id){ + $id = cleanID($id); + if(auth_quickaclcheck($id) < AUTH_EDIT || !unlock($id)){ + $unlockfail[] = $id; + }else{ + $unlocked[] = $id; + } + } + + return array( + 'locked' => $locked, + 'lockfail' => $lockfail, + 'unlocked' => $unlocked, + 'unlockfail' => $unlockfail, + ); + } + + function getAPIVersion(){ + return DOKU_XMLRPC_API_VERSION; + } + + function login($user,$pass){ + global $conf; + global $auth; + if(!$conf['useacl']) return 0; + if(!$auth) return 0; + + @session_start(); // reopen session for login + if($auth->canDo('external')){ + $ok = $auth->trustExternal($user,$pass,false); + }else{ + $evdata = array( + 'user' => $user, + 'password' => $pass, + 'sticky' => false, + 'silent' => true, + ); + $ok = trigger_event('AUTH_LOGIN_CHECK', $evdata, 'auth_login_wrapper'); + } + session_write_close(); // we're done with the session + + return $ok; + } + + +} \ No newline at end of file -- cgit v1.2.3 From f61380cb67f8216ae4c75922511ff5a07fd21ca0 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Mon, 28 Nov 2011 19:06:16 +0100 Subject: introduced first remote test cases --- inc/remote.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 13a38aa17..6f48d2015 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -92,7 +92,7 @@ class RemoteAPI { * @throws RemoteException On denied access. * @return void */ - private function forceAccess() { + public function forceAccess() { if (!$this->hasAccess()) { throw new RemoteException('Access denied'); } -- cgit v1.2.3 From 3543c6de939c52517f590300b6d4289dc3a785ff Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 28 Nov 2011 20:29:39 +0100 Subject: deprecated 3rd parameter of cleanID() FS#2377 For some reason trailing/leading underscores were allowed when uploading files. But the rest of the code (eg. listing or downloading files) never supported this. This patch removes this special case for uploading files to streamline ID cleaning of pages and media files. --- inc/media.php | 2 +- inc/pageutils.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 9d3e90a54..07351e48b 100644 --- a/inc/media.php +++ b/inc/media.php @@ -332,7 +332,7 @@ function media_save($file, $id, $ow, $auth, $move) { global $lang, $conf; // get filename - $id = cleanID($id,false,true); + $id = cleanID($id); $fn = mediaFN($id); // get filetype regexp diff --git a/inc/pageutils.php b/inc/pageutils.php index 31b5f9ff9..151fa5987 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -92,7 +92,7 @@ function getID($param='id',$clean=true){ * @author Andreas Gohr * @param string $raw_id The pageid to clean * @param boolean $ascii Force ASCII - * @param boolean $media Allow leading or trailing _ for media files + * @param boolean $media DEPRECATED */ function cleanID($raw_id,$ascii=false,$media=false){ global $conf; @@ -132,7 +132,7 @@ function cleanID($raw_id,$ascii=false,$media=false){ //clean up $id = preg_replace($sepcharpat,$sepchar,$id); $id = preg_replace('#:+#',':',$id); - $id = ($media ? trim($id,':.-') : trim($id,':._-')); + $id = trim($id,':._-'); $id = preg_replace('#:[:\._\-]+#',':',$id); $id = preg_replace('#[:\._\-]+:#',':',$id); -- cgit v1.2.3 From 3f3bb97fcdd30282632d96a5bb19d2ea61c01504 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Mon, 28 Nov 2011 20:59:49 +0100 Subject: removed dublicated content --- inc/remote.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 6f48d2015..14f6614f1 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -130,4 +130,5 @@ class RemoteAPI { } -class RemoteException extends Exception {} \ No newline at end of file +class RemoteException extends Exception {} +class RemoteAccessDenied extends RemoteException {} \ No newline at end of file -- cgit v1.2.3 From eea07c2327a7f78bb4f09b10f2b9805a2e6f5459 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 4 Dec 2011 17:56:28 +0000 Subject: fixed link in popup media manager to fullscreen media manager to open in correct namespace (FS#2401) --- inc/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 7fb163ade..e71bfd236 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1364,7 +1364,7 @@ function media_printfile($item,$auth,$jump,$display_namespace=false){ 'alt="'.$lang['mediaview'].'" title="'.$lang['mediaview'].'" class="btn" />'; // mediamanager button - $link = wl('',array('do'=>'media','image'=>$item['id'])); + $link = wl('',array('do'=>'media','image'=>$item['id'],'ns'=>getNS($item['id']))); echo ' '; -- cgit v1.2.3 From f18f20c04b2a0a93e9744a0b1ce4d39d26332360 Mon Sep 17 00:00:00 2001 From: Egil Hansen Date: Tue, 6 Dec 2011 09:46:39 +0100 Subject: Norwegian language update --- inc/lang/no/admin.txt | 2 +- inc/lang/no/adminplugins.txt | 2 +- inc/lang/no/conflict.txt | 2 +- inc/lang/no/denied.txt | 2 +- inc/lang/no/lang.php | 55 ++++++++++++++++++++++---------------------- inc/lang/no/newpage.txt | 2 +- inc/lang/no/pwconfirm.txt | 2 +- inc/lang/no/recent.txt | 2 +- inc/lang/no/register.txt | 2 +- inc/lang/no/showrev.txt | 2 +- inc/lang/no/subscr_form.txt | 2 +- 11 files changed, 38 insertions(+), 37 deletions(-) (limited to 'inc') diff --git a/inc/lang/no/admin.txt b/inc/lang/no/admin.txt index 99289a18b..765177fb3 100644 --- a/inc/lang/no/admin.txt +++ b/inc/lang/no/admin.txt @@ -1,3 +1,3 @@ ====== Administrasjon ====== -Nedenfor finner du en liste over administrative oppgaver tilgjengelig i DokuWiki. +Nedenfor finner du en liste over administrative oppgaver i DokuWiki. diff --git a/inc/lang/no/adminplugins.txt b/inc/lang/no/adminplugins.txt index 091ae4d7e..df78672d7 100644 --- a/inc/lang/no/adminplugins.txt +++ b/inc/lang/no/adminplugins.txt @@ -1 +1 @@ -====== Ekstra tillegg ====== \ No newline at end of file +====== Ekstra programtillegg ====== \ No newline at end of file diff --git a/inc/lang/no/conflict.txt b/inc/lang/no/conflict.txt index 855034685..49961d0df 100644 --- a/inc/lang/no/conflict.txt +++ b/inc/lang/no/conflict.txt @@ -1,6 +1,6 @@ ====== Det finnes en nyere versjon ====== -Det fins en nyere versjon av dokumentet du har redigert. Dette kan skje når en annen bruker redigerer dokumentet samtidig med deg. +Det fins en nyere utgave av dokumentet du har redigert. Dette kan skje når en annen bruker redigerer dokumentet samtidig med deg. Legg nøye merke til forskjellene som vises under, og velg deretter hvilken versjon du vil beholde. Om du velger ''**Lagre**'', så kommer din versjon til å lagres. Velg ''**Avbryt**'' for å beholde den nyeste versjonen (ikke din). diff --git a/inc/lang/no/denied.txt b/inc/lang/no/denied.txt index 4f8c9a188..6e7f1f28b 100644 --- a/inc/lang/no/denied.txt +++ b/inc/lang/no/denied.txt @@ -1,3 +1,3 @@ ====== Adgang forbudt ====== -Adgang forbudt. Kanskje du har glemt å logge deg inn? +Beklager, men du har ikke rettigheter til dette. Kanskje du har glemt å logge inn? diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 88d21b536..76b59d9b8 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -17,6 +17,7 @@ * @author Erik Pedersen * @author Rune Rasmussen syntaxerror.no@gmail.com * @author Jon Bøe + * @author Egil Hansen */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -26,7 +27,7 @@ $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '\''; $lang['btn_edit'] = 'Rediger denne siden'; -$lang['btn_source'] = 'Vis kildetekst'; +$lang['btn_source'] = 'Vis kildekode'; $lang['btn_show'] = 'Vis siden'; $lang['btn_create'] = 'Lag denne siden'; $lang['btn_search'] = 'Søk'; @@ -49,7 +50,7 @@ $lang['btn_delete'] = 'Slett'; $lang['btn_back'] = 'Tilbake'; $lang['btn_backlink'] = 'Tilbakelenker'; $lang['btn_backtomedia'] = 'Tilbake til valg av mediafil'; -$lang['btn_subscribe'] = 'Abonner på endringer'; +$lang['btn_subscribe'] = 'Abonnér på endringer'; $lang['btn_profile'] = 'Oppdater profil'; $lang['btn_reset'] = 'Tilbakestill'; $lang['btn_resendpwd'] = 'Send nytt passord'; @@ -86,28 +87,28 @@ $lang['reghere'] = 'Har du ikke en konto ennå? Lag deg en'; $lang['profna'] = 'Denne wikien støtter ikke profilendringer'; $lang['profnochange'] = 'Ingen endringer, ingenting å gjøre.'; $lang['profnoempty'] = 'Tomt navn- eller e-postfelt er ikke tillatt.'; -$lang['profchanged'] = 'Brukerprofil ble vellykket oppdatert.'; -$lang['pwdforget'] = 'Glemt ditt passord? Få deg et nytt'; -$lang['resendna'] = 'Denne wikien støtter ikke nyutsending.'; +$lang['profchanged'] = 'Brukerprofilen ble vellykket oppdatert.'; +$lang['pwdforget'] = 'Glemt passordet ditt? Få deg et nytt'; +$lang['resendna'] = 'Denne wikien støtter ikke nyutsending av passord.'; $lang['resendpwd'] = 'Send nytt passord for'; $lang['resendpwdmissing'] = 'Beklager, du må fylle inn alle felt.'; $lang['resendpwdnouser'] = 'Beklager, vi kan ikke finne denne brukeren i vår database.'; $lang['resendpwdbadauth'] = 'Beklager, denne autorisasjonskoden er ikke gyldig. Sjekk at du brukte hele bekreftelseslenken.'; $lang['resendpwdconfirm'] = 'En bekreftelseslenke er blitt sendt på e-post.'; $lang['resendpwdsuccess'] = 'Ditt nye passord er blitt sendt på e-post.'; -$lang['license'] = 'Der annet ikke er særskilt beskrevet, er innholdet på denne wiki regulert av følgende lisens:'; -$lang['licenseok'] = 'Merk: Ved å endre på denne siden godtar du at ditt innhold blir regulert av følgende lisens:'; +$lang['license'] = 'Der annet ikke er angitt, er innholdet på denne wiki utgitt under følgende lisens:'; +$lang['licenseok'] = 'Merk: Ved å endre på denne siden godtar du at ditt innhold utgis under følgende lisens:'; $lang['searchmedia'] = 'Søk filnavn'; $lang['searchmedia_in'] = 'Søk i %s'; $lang['txt_upload'] = 'Velg fil som skal lastes opp'; $lang['txt_filename'] = 'Skriv inn wikinavn (alternativt)'; $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; -$lang['lockedby'] = 'Stengt av'; -$lang['lockexpire'] = 'Avstengningen opphører'; -$lang['js']['willexpire'] = 'Din redigeringslås for dette dokumentet kommer snart til å opphøre.\nFor å unngå versjonskonflikter bør du forhåndsvise dokumentet ditt for å forlenge redigeringslåsen.'; -$lang['js']['notsavedyet'] = 'Ulagrede endringer vil gå tapt. +$lang['lockedby'] = 'Låst av'; +$lang['lockexpire'] = 'Låsingen utløper'; +$lang['js']['willexpire'] = 'Din redigeringslås for dette dokumentet kommer snart til å utløpe.\nFor å unngå versjonskonflikter bør du forhåndsvise dokumentet ditt for å forlenge redigeringslåsen.'; +$lang['js']['notsavedyet'] = 'Ulagrede endringer vil gå tapt! Vil du fortsette?'; -$lang['js']['searchmedia'] = 'Søk for filer'; +$lang['js']['searchmedia'] = 'Søk etter filer'; $lang['js']['keepopen'] = 'Hold vindu åpent ved valg'; $lang['js']['hidedetails'] = 'Skjul detaljer'; $lang['js']['mediatitle'] = 'Lenkeinnstillinger'; @@ -117,16 +118,16 @@ $lang['js']['mediasize'] = 'Bildestørrelse'; $lang['js']['mediatarget'] = 'Lenkemål'; $lang['js']['mediaclose'] = 'Lukk'; $lang['js']['mediainsert'] = 'Sett inn'; -$lang['js']['mediadisplayimg'] = 'Vis bilde'; -$lang['js']['mediadisplaylnk'] = 'Vis bare lenken'; +$lang['js']['mediadisplayimg'] = 'Vis bilde.'; +$lang['js']['mediadisplaylnk'] = 'Vis bare lenken.'; $lang['js']['mediasmall'] = 'Liten versjon'; $lang['js']['mediamedium'] = 'Medium versjon'; $lang['js']['medialarge'] = 'Stor versjon'; $lang['js']['mediaoriginal'] = 'Original versjon'; -$lang['js']['medialnk'] = 'Lenke til detaljeside'; +$lang['js']['medialnk'] = 'Lenke til detaljside'; $lang['js']['mediadirect'] = 'Direktelenke til original'; $lang['js']['medianolnk'] = 'Ingen lenke'; -$lang['js']['medianolink'] = 'Ikke lenk bilde'; +$lang['js']['medianolink'] = 'Ikke lenk bildet'; $lang['js']['medialeft'] = 'Venstrejuster bilde'; $lang['js']['mediaright'] = 'Høyrejuster bilde'; $lang['js']['mediacenter'] = 'Midtstill bilde'; @@ -165,13 +166,13 @@ $lang['mediainuse'] = 'Filen "%s" har ikke biltt slettet - den er for $lang['namespaces'] = 'Navnerom'; $lang['mediafiles'] = 'Tilgjengelige filer i'; $lang['accessdenied'] = 'Du har ikke tilgang til å se denne siden'; -$lang['mediausage'] = 'Bruk følgende syntaks til å refferer til denne filen:'; +$lang['mediausage'] = 'Bruk følgende syntaks til å referere til denne filen:'; $lang['mediaview'] = 'Vis original fil'; $lang['mediaroot'] = 'rot'; $lang['mediaupload'] = 'Last opp en fil til gjeldende navnerom her. For å opprette undernavnerom, før dem opp før filnavn i "Last opp som" adskilt med kolon.'; $lang['mediaextchange'] = 'Filendelse endret fra .%s til .%s!'; $lang['reference'] = 'Referanser for'; -$lang['ref_inuse'] = 'Denne filen kan ikke slettes fordi den er fortsatt i bruk av følgende sider:'; +$lang['ref_inuse'] = 'Denne filen kan ikke slettes fordi den er fortsatt i bruk på følgende sider:'; $lang['ref_hidden'] = 'Noen referanser er på sider du ikke har tilgang til å lese'; $lang['hits'] = 'Treff'; $lang['quickhits'] = 'Matchende wikinavn'; @@ -187,7 +188,7 @@ $lang['diff_side'] = 'Side ved side'; $lang['line'] = 'Linje'; $lang['breadcrumb'] = 'Spor'; $lang['youarehere'] = 'Du er her'; -$lang['lastmod'] = 'Sist modifisert'; +$lang['lastmod'] = 'Sist endret'; $lang['by'] = 'av'; $lang['deleted'] = 'fjernet'; $lang['created'] = 'opprettet'; @@ -258,15 +259,15 @@ $lang['subscr_not_subscribed'] = '%s abonnerer ikke på %s'; $lang['subscr_m_not_subscribed'] = 'Du abonnerer ikke på denne sida eller dette navnerommet'; $lang['subscr_m_new_header'] = 'Legg til abonnement'; $lang['subscr_m_current_header'] = 'Gjeldende abonnementer'; -$lang['subscr_m_unsubscribe'] = 'Avmeld'; -$lang['subscr_m_subscribe'] = 'Påmeld'; +$lang['subscr_m_unsubscribe'] = 'Stoppe abonnement'; +$lang['subscr_m_subscribe'] = 'Abonnere på'; $lang['subscr_m_receive'] = 'Motta'; $lang['subscr_style_every'] = 'e-post for alle endringer'; $lang['subscr_style_digest'] = 'e-post med sammendrag av endringer for hver side (%.2f dager mellom hver)'; $lang['subscr_style_list'] = 'liste med sider som er endra siden forrige e-post (%.2f dager mellom hver)'; $lang['authmodfailed'] = 'Feilkonfigurert brukerautorisasjon. Vennligst innformer Wiki-admin.'; $lang['authtempfail'] = 'Brukerautorisasjon er midlertidig utilgjengelig. Om dette vedvarer, vennligst informer Wiki-admin.'; -$lang['i_chooselang'] = 'Velg ditt språk'; +$lang['i_chooselang'] = 'Velg språk'; $lang['i_installer'] = 'DokuWiki-installasjon'; $lang['i_wikiname'] = 'Wikinavn'; $lang['i_enableacl'] = 'Aktiver ACL (anbefalt)'; @@ -276,7 +277,7 @@ $lang['i_modified'] = 'For sikkerhets skyld vil dette skriptet bare v Du bør enten pakke ut filene på nytt fra den nedlastede pakken, eller konsultere den komplette Dokuwiki-installasjonsinstruksen'; $lang['i_funcna'] = 'PHP-funksjonen %s er ikke tilgjengelig. Kanskje din leverandør har deaktivert den av noen grunn?'; -$lang['i_phpver'] = 'Your PHP version %s is lower than the needed %s. You need to upgrade your PHP install.'; +$lang['i_phpver'] = 'Din PHP versjon %s er lavere enn kravet %s. Du må oppgradere PHP installasjonen. '; $lang['i_permfail'] = '%s er ikke skrivbar for DokuWiki. Du må fikse rettighetene for denne mappen!'; $lang['i_confexists'] = '%s eksisterer allerede'; $lang['i_writeerr'] = 'Kunne ikke opprette %s. Du må sjekke mappe-/filrettigheter og opprette filen manuelt.'; @@ -296,11 +297,11 @@ $lang['mu_intro'] = 'Her kan du laste opp flere filer samtidig. Kli $lang['mu_gridname'] = 'Filnavn'; $lang['mu_gridsize'] = 'Størrelse'; $lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Navnerom (Namespace)'; +$lang['mu_namespace'] = 'Navnerom'; $lang['mu_browse'] = 'Utforsk'; $lang['mu_toobig'] = 'for stor'; $lang['mu_ready'] = 'klar for opplasting'; -$lang['mu_done'] = 'komplett'; +$lang['mu_done'] = 'ferdig'; $lang['mu_fail'] = 'feilet'; $lang['mu_authfail'] = 'sesjonen har utløpt'; $lang['mu_progress'] = '@PCT@% lastet opp'; @@ -333,10 +334,10 @@ $lang['media_search'] = 'Søk i navnerommet %s.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s på %s'; $lang['media_edit'] = 'Rediger'; -$lang['media_history'] = 'Dette er de tidligere versjonene av fila.'; +$lang['media_history'] = 'Dette er de tidligere versjonene av filen.'; $lang['media_meta_edited'] = 'metadata er endra'; $lang['media_perm_read'] = 'Beklager, du har ikke tilgang til å lese filer.'; $lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til å laste opp filer.'; $lang['media_update'] = 'Last opp ny versjon'; $lang['media_restore'] = 'Gjenopprett denne versjonen'; -$lang['plugin_install_err'] = 'Tillegget ble feil installert. Skift navn på mappa \'%s\' til \'%s\'.'; +$lang['plugin_install_err'] = 'Tillegget ble feil installert. Skift navn på mappen \'%s\' til \'%s\'.'; diff --git a/inc/lang/no/newpage.txt b/inc/lang/no/newpage.txt index f712998d2..86cad00ed 100644 --- a/inc/lang/no/newpage.txt +++ b/inc/lang/no/newpage.txt @@ -1,3 +1,3 @@ ====== Dette emnet har ikke noe innhold ====== -Du har klikket på en lenke til et emne som ikke finnes ennå. Du kan skape det gjennom å klikke på ''**Lag denne siden**''. +Du har klikket på en lenke til et emne som ikke finnes ennå. Du kan opprette det ved å klikke på ''**Lag denne siden**''. diff --git a/inc/lang/no/pwconfirm.txt b/inc/lang/no/pwconfirm.txt index 9b8a0ab3e..36163c6e7 100644 --- a/inc/lang/no/pwconfirm.txt +++ b/inc/lang/no/pwconfirm.txt @@ -3,7 +3,7 @@ Hei @FULLNAME@! Noen har bedt om nytt passord for din @TITLE@ innlogging på @DOKUWIKIURL@ -Om du ikke bad om nytt passord kan du bare overse denne e-posten. +Om du ikke ba om nytt passord kan du bare overse denne e-posten. For å bekrefte at forespørselen virkelig kom fra deg kan du bruke følgende lenke: diff --git a/inc/lang/no/recent.txt b/inc/lang/no/recent.txt index d9357b1a4..857013c32 100644 --- a/inc/lang/no/recent.txt +++ b/inc/lang/no/recent.txt @@ -1,5 +1,5 @@ ====== Siste nytt ====== -Følgende sider/dokumenter har nylig blitt oppdatert. +Følgende sider har nylig blitt oppdatert. diff --git a/inc/lang/no/register.txt b/inc/lang/no/register.txt index 1ce95c44d..160e47364 100644 --- a/inc/lang/no/register.txt +++ b/inc/lang/no/register.txt @@ -1,4 +1,4 @@ ====== Registrer deg som bruker ====== -Angi all informasjon som det blir spurt om nedenfor for å skape en ny brukerkonto for denne wiki. Vær spesielt nøye med å angi en **gyldig e-postadresse** - ditt passord vil bli sendt til den e-postadressen du angir. Brukernavnet må være et gyldig [[doku>pagename|sidenavn]]. +Angi all informasjon som det blir spurt om nedenfor for å lage en ny brukerkonto for denne wikien. Vær spesielt nøye med å angi en **gyldig e-postadresse** - ditt passord vil bli sendt til den e-postadressen du angir. Brukernavnet må være et gyldig [[doku>pagename|sidenavn]]. diff --git a/inc/lang/no/showrev.txt b/inc/lang/no/showrev.txt index 556896437..06514f2bd 100644 --- a/inc/lang/no/showrev.txt +++ b/inc/lang/no/showrev.txt @@ -1,2 +1,2 @@ -**Dette er en gammel revisjon av dokumentet!** +**Dette er en gammel utgave av dokumentet!** ---- diff --git a/inc/lang/no/subscr_form.txt b/inc/lang/no/subscr_form.txt index c3df69e02..f62b25bec 100644 --- a/inc/lang/no/subscr_form.txt +++ b/inc/lang/no/subscr_form.txt @@ -1,3 +1,3 @@ ====== Administrere abonnement ====== -Denne sida lar deg administrere abonnementene dine for denne sida og dette navnerommet. \ No newline at end of file +Denne siden lar deg administrere abonnementene dine for denne siden og dette navnerommet. \ No newline at end of file -- cgit v1.2.3 From 77b9cb8455942e8998e88f6977e3486959ed1b1a Mon Sep 17 00:00:00 2001 From: Ricardo Guijt Date: Thu, 8 Dec 2011 12:23:53 +0100 Subject: Dutch language update --- inc/lang/nl/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'inc') diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 35dce121e..542b99c93 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -15,6 +15,7 @@ * @author Marijn Hofstra * @author Timon Van Overveldt * @author Jeroen + * @author Ricardo Guijt */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -- cgit v1.2.3 From 4815d222f25c9a31949297223c98cfca7151ae8d Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 8 Dec 2011 19:57:18 +0100 Subject: RemoteAPI can now handle remote calls. --- inc/RemoteAPICore.php | 43 +++++++++++++++++++++++++++++++- inc/remote.php | 68 +++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 91 insertions(+), 20 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index c4324ba29..a2e12c7f1 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -2,6 +2,47 @@ class RemoteAPICore { + function __getRemoteInfo() { + return array( + 'wiki.getPage' => array( + 'args' => array( + 'id' => array( + 'type' => 'string', + 'doc' => 'wiki page id' + ), + ), + 'return' => 'string', + 'doc' => 'Return a raw wiki page', + 'name' => 'rawPage', + ), + 'wiki.getPageVersion' => array( + 'args' => array( + 'id' => array( + 'type' => 'string', + 'doc' => 'wiki page id' + ), + 'rev' => array( + 'type' => 'int', + 'doc' => 'revision number of the page', + ), + ), + 'name' => 'rawPage', + 'return' => 'string', + 'doc' => 'Return a raw wiki page' + ), + 'wiki.getAttachment' => array( + 'args' => array( + 'type' => 'string', + 'doc' => 'file id', + ), + 'doc' => 'Return a media file', + 'return' => 'file', + 'name' => 'getAttachment', + ), + + ); + } + /** * Return a raw wiki page * @param string $id wiki page id @@ -58,7 +99,7 @@ class RemoteAPICore { $file = mediaFN($id); if ((auth_quickaclcheck(getNS($id).':*') >= AUTH_READ) && file_exists($file)){ - $info['lastModified'] = new IXR_Date(filemtime($file)); + $info['lastModified'] = filemtime($file); $info['size'] = filesize($file); } diff --git a/inc/remote.php b/inc/remote.php index 14f6614f1..5f136a43d 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -2,6 +2,9 @@ if (!defined('DOKU_INC')) die(); +class RemoteException extends Exception {} +class RemoteAccessDenied extends RemoteException {} + /** * This class provides information about remote access to the wiki. * @@ -13,11 +16,16 @@ if (!defined('DOKU_INC')) die(); * == Information structure == * The information about methods will be given in an array with the following structure: * array( - * 'method.name' => array( + * 'method.remoteName' => array( * 'args' => array( - * 'type' => 'string|int|...', + * 'name' => array( + * 'type' => 'string|int|...|date|file', + * ['doc' = 'argument documentation'], + * ), * ) - * 'return' => 'type' + * 'name' => 'method name in class', + * 'return' => 'type', +* ['doc' = 'method documentation'], * ) * ) * @@ -35,9 +43,9 @@ if (!defined('DOKU_INC')) die(); class RemoteAPI { /** - * @var array remote methods provided by dokuwiki. + * @var RemoteAPICore */ - private $coreMethods = array(); + private $coreMethods = null; /** * @var array remote methods provided by dokuwiki plugins - will be filled lazy via @@ -62,19 +70,36 @@ class RemoteAPI { * @param array $args arguments to pass to the given method * @return mixed result of method call, must be a primitive type. */ - public function call($method, $args) { + public function call($method, $args = array()) { $this->forceAccess(); - $method = explode('.', $method); - if ($method[0] === 'plugin') { - $plugin = plugin_load('remote', $method[1]); + list($type, $pluginName, $call) = explode('.', $method, 3); + if ($type === 'plugin') { + $plugin = plugin_load('remote', $pluginName); if (!$plugin) { - throw new RemoteException('Method unavailable'); + throw new RemoteException('Method dose not exists'); } - return call_user_func_array(array($plugin, $method[2]), $args); + return call_user_func_array(array($plugin, $call), $args); } else { - // TODO call core method + $coreMethods = $this->getCoreMethods(); + if (!isset($coreMethods[$method])) { + throw new RemoteException('Method dose not exists'); + } + $this->checkArgumentLength($coreMethods[$method], $args); + return call_user_func_array(array($this->coreMethods, $this->getMethodName($coreMethods, $method)), $args); } + } + private function checkArgumentLength($method, $args) { + if (count($method['args']) < count($args)) { + throw new RemoteException('Method dose not exists - wrong parameter count.'); + } + } + + private function getMethodName($methodMeta, $method) { + if (isset($methodMeta[$method]['name'])) { + return $methodMeta[$method]['name']; + } + return $method; } /** @@ -122,13 +147,18 @@ class RemoteAPI { } /** + * @param RemoteAPICore $apiCore this parameter is used for testing. Here you can pass a non-default RemoteAPICore + * instance. (for mocking) * @return array all core methods. */ - public function getCoreMethods() { - return $this->coreMethods; + public function getCoreMethods($apiCore = null) { + if ($this->coreMethods === null) { + if ($apiCore === null) { + $this->coreMethods = new RemoteAPICore(); + } else { + $this->coreMethods = $apiCore; + } + } + return $this->coreMethods->__getRemoteInfo(); } -} - - -class RemoteException extends Exception {} -class RemoteAccessDenied extends RemoteException {} \ No newline at end of file +} \ No newline at end of file -- cgit v1.2.3 From 647919c9a61d928502b0b45063cc60702d0d310e Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 8 Dec 2011 20:33:30 +0100 Subject: added remote plugin calls. --- inc/remote.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 5f136a43d..bc35d525e 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -75,10 +75,12 @@ class RemoteAPI { list($type, $pluginName, $call) = explode('.', $method, 3); if ($type === 'plugin') { $plugin = plugin_load('remote', $pluginName); + $methods = $this->getPluginMethods(); if (!$plugin) { throw new RemoteException('Method dose not exists'); } - return call_user_func_array(array($plugin, $call), $args); + $name = $this->getMethodName($methods, $method); + return call_user_func_array(array($plugin, $name), $args); } else { $coreMethods = $this->getCoreMethods(); if (!isset($coreMethods[$method])) { @@ -99,7 +101,8 @@ class RemoteAPI { if (isset($methodMeta[$method]['name'])) { return $methodMeta[$method]['name']; } - return $method; + $method = explode('.', $method); + return $method[count($method)-1]; } /** -- cgit v1.2.3 From 795114e73f18f06c2b32b433e150cad81da6581f Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sat, 10 Dec 2011 14:05:33 +0100 Subject: changed return types --- inc/remote.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index bc35d525e..7e82b6845 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -5,6 +5,21 @@ if (!defined('DOKU_INC')) die(); class RemoteException extends Exception {} class RemoteAccessDenied extends RemoteException {} +abstract class RemoteDataType { + private $value; + + function __construct($value) { + $this->value = $value; + } + + function getValue() { + return $this->value; + } +} + +class RemoteDate extends RemoteDataType {} +class RemoteFile extends RemoteDataType {} + /** * This class provides information about remote access to the wiki. * -- cgit v1.2.3 From add86630b09f0e91952081112e3fa642ee35e499 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Mon, 12 Dec 2011 17:02:12 +0100 Subject: changed to new Remote Data objects --- inc/RemoteAPICore.php | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index a2e12c7f1..6b34d257a 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -81,8 +81,7 @@ class RemoteAPICore { } $data = io_readFile($file, false); - $base64 = base64_encode($data); - return $base64; + return new RemoteFile($data); } /** @@ -134,7 +133,7 @@ class RemoteAPICore { $page['id'] = trim($pages[$idx]); $page['perms'] = $perm; $page['size'] = @filesize(wikiFN($pages[$idx])); - $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx]))); + $page['lastModified'] = new RemoteDate(@filemtime(wikiFN($pages[$idx]))); $list[] = $page; } @@ -181,7 +180,7 @@ class RemoteAPICore { $pages[] = array( 'id' => $id, - 'score' => $score, + 'score' => intval($score), 'rev' => filemtime($file), 'mtime' => filemtime($file), 'size' => filesize($file), @@ -210,7 +209,6 @@ class RemoteAPICore { */ function listAttachments($ns, $options = array()) { global $conf; - global $lang; $ns = cleanID($ns); @@ -228,7 +226,7 @@ class RemoteAPICore { for($i=0; $i<$len; $i++) { unset($data[$i]['meta']); - $data[$i]['lastModified'] = new IXR_Date($data[$i]['mtime']); + $data[$i]['lastModified'] = new RemoteDate($data[$i]['mtime']); } return $data; } else { @@ -261,7 +259,7 @@ class RemoteAPICore { $data = array( 'name' => $id, - 'lastModified' => new IXR_Date($time), + 'lastModified' => new RemoteDate($time), 'author' => (($info['user']) ? $info['user'] : $info['ip']), 'version' => $time ); @@ -344,7 +342,7 @@ class RemoteAPICore { * * Michael Klier */ - function putAttachment($id, $file, $params) { + function putAttachment($id, RemoteFile $file, $params) { $id = cleanID($id); $auth = auth_quickaclcheck(getNS($id).':*'); @@ -358,12 +356,7 @@ class RemoteAPICore { // save temporary file @unlink($ftmp); - if (preg_match('/^[A-Za-z0-9\+\/]*={0,2}$/', $file) === 1) { - // DEPRECATED: Double-decode file if it still looks like base64 - // after first decoding (which is done by the library) - $file = base64_decode($file); - } - io_saveFile($ftmp, $file); + io_saveFile($ftmp, $file->getValue()); $res = media_save(array('name' => $ftmp), $id, $params['ow'], $auth, 'rename'); if (is_array($res)) { @@ -468,7 +461,7 @@ class RemoteAPICore { foreach ($recents as $recent) { $change = array(); $change['name'] = $recent['id']; - $change['lastModified'] = new IXR_Date($recent['date']); + $change['lastModified'] = new RemoteDate($recent['date']); $change['author'] = $recent['user']; $change['version'] = $recent['date']; $change['perms'] = $recent['perms']; @@ -501,7 +494,7 @@ class RemoteAPICore { foreach ($recents as $recent) { $change = array(); $change['name'] = $recent['id']; - $change['lastModified'] = new IXR_Date($recent['date']); + $change['lastModified'] = new RemoteDate($recent['date']); $change['author'] = $recent['user']; $change['version'] = $recent['date']; $change['perms'] = $recent['perms']; @@ -565,7 +558,7 @@ class RemoteAPICore { $data['ip'] = $info['ip']; $data['type'] = $info['type']; $data['sum'] = $info['sum']; - $data['modified'] = new IXR_Date($info['date']); + $data['modified'] = new RemoteDate($info['date']); $data['version'] = $info['date']; array_push($versions, $data); } -- cgit v1.2.3 From 2e0ce43774bc165c88e07cd1eab502a22ebfa2ae Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 13 Dec 2011 15:18:29 +0100 Subject: Avoid a warning when a media cachefile doesn't exist yet --- inc/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index e71bfd236..93692a7c6 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1778,7 +1778,7 @@ function media_crop_image($file, $ext, $w, $h=0){ $local = getCacheName($file,'.media.'.$cw.'x'.$ch.'.crop.'.$ext); $mtime = @filemtime($local); // 0 if not exists - if( $mtime > filemtime($file) || + if( $mtime > @filemtime($file) || media_crop_imageIM($ext,$file,$info[0],$info[1],$local,$cw,$ch,$cx,$cy) || media_resize_imageGD($ext,$file,$cw,$ch,$local,$cw,$ch,$cx,$cy) ){ if($conf['fperm']) chmod($local, $conf['fperm']); -- cgit v1.2.3 From 965d96926bd3b834e7814174763a94560f8bc2f0 Mon Sep 17 00:00:00 2001 From: Begina Felicysym Date: Wed, 14 Dec 2011 21:47:28 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index a6fc3d52e..98536033c 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -12,6 +12,7 @@ * @author maros * @author Grzegorz Widła * @author Łukasz Chmaj + * @author Begina Felicysym */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -53,6 +54,8 @@ $lang['btn_recover'] = 'Przywróć szkic'; $lang['btn_draftdel'] = 'Usuń szkic'; $lang['btn_revert'] = 'Przywróć'; $lang['btn_register'] = 'Zarejestruj się!'; +$lang['btn_apply'] = 'Zastosuj'; +$lang['btn_media'] = 'Menadżer multimediów'; $lang['loggedinas'] = 'Zalogowany jako'; $lang['user'] = 'Użytkownik'; $lang['pass'] = 'Hasło'; @@ -97,7 +100,7 @@ $lang['txt_filename'] = 'Nazwa pliku (opcjonalnie)'; $lang['txt_overwrt'] = 'Nadpisać istniejący plik?'; $lang['lockedby'] = 'Aktualnie zablokowane przez'; $lang['lockexpire'] = 'Blokada wygasa'; -$lang['willexpire'] = 'Za minutę Twoja blokada tej strony wygaśnie.\nW celu uniknięcia konfliktów wyświetl podgląd aby odnowić blokadę.'; +$lang['js']['willexpire'] = 'Twoja blokada edycji tej strony wygaśnie w ciągu minuty. \nW celu uniknięcia konfliktów użyj przycisku podglądu aby odnowić blokadę.'; $lang['js']['notsavedyet'] = 'Nie zapisane zmiany zostaną utracone. Czy na pewno kontynuować?'; $lang['js']['searchmedia'] = 'Szukaj plików'; @@ -129,6 +132,15 @@ Możesz skopiować odnośnik.'; $lang['js']['linkwiz'] = 'Tworzenie odnośników'; $lang['js']['linkto'] = 'Link do'; $lang['js']['del_confirm'] = 'Czy na pewno usunąć?'; +$lang['js']['restore_confirm'] = 'Naprawdę przywrócić tą wersję?'; +$lang['js']['media_diff'] = 'Pokaż różnice:'; +$lang['js']['media_diff_both'] = 'Obok siebie'; +$lang['js']['media_select'] = 'Wybierz pliki...'; +$lang['js']['media_upload_btn'] = 'Przesłanie plików'; +$lang['js']['media_done_btn'] = 'Zrobione'; +$lang['js']['media_drop'] = 'Upuść tutaj pliki do przesłania'; +$lang['js']['media_cancel'] = 'usuń'; +$lang['js']['media_overwrt'] = 'Nadpisz istniejące pliki'; $lang['rssfailed'] = 'Wystąpił błąd przy pobieraniu tych danych: '; $lang['nothingfound'] = 'Nic nie znaleziono.'; $lang['mediaselect'] = 'Wysyłanie pliku'; @@ -183,6 +195,10 @@ $lang['mail_changed'] = 'Strona zmieniona:'; $lang['mail_subscribe_list'] = 'Zmienione strony w katalogu:'; $lang['mail_new_user'] = 'Nowy użytkownik:'; $lang['mail_upload'] = 'Umieszczono plik:'; +$lang['changes_type'] = 'Zobacz zmiany'; +$lang['pages_changes'] = 'Strony'; +$lang['media_changes'] = 'Pliki multimediów'; +$lang['both_changes'] = 'Zarówno strony jak i pliki multimediów'; $lang['qb_bold'] = 'Pogrubienie'; $lang['qb_italic'] = 'Pochylenie'; $lang['qb_underl'] = 'Podkreślenie'; @@ -223,6 +239,9 @@ $lang['img_copyr'] = 'Prawa autorskie'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Aparat'; $lang['img_keywords'] = 'Słowa kluczowe'; +$lang['img_width'] = 'Szerokość'; +$lang['img_height'] = 'Wysokość'; +$lang['img_manager'] = 'Zobacz w menadżerze multimediów'; $lang['subscr_subscribe_success'] = 'Dodano %s do listy subskrypcji %s'; $lang['subscr_subscribe_error'] = 'Błąd podczas dodawania %s do listy subskrypcji %s'; $lang['subscr_subscribe_noaddress'] = 'Brak adresu skojarzonego z twoim loginem, nie możesz zostać dodany(a) do listy subskrypcji'; @@ -288,3 +307,27 @@ $lang['hours'] = '%d godzin temu'; $lang['minutes'] = '%d minut temu'; $lang['seconds'] = '%d sekund temu'; $lang['wordblock'] = 'Twoje ustawienia nie zostały zapisane ponieważ zawierają niedozwoloną treść (spam).'; +$lang['media_uploadtab'] = 'Przesyłanie plików'; +$lang['media_searchtab'] = 'Szukaj'; +$lang['media_file'] = 'Plik'; +$lang['media_viewtab'] = 'Widok'; +$lang['media_edittab'] = 'Zmiana'; +$lang['media_historytab'] = 'Historia'; +$lang['media_list_thumbs'] = 'Miniatury'; +$lang['media_list_rows'] = 'Wiersze'; +$lang['media_sort_name'] = 'Nazwa'; +$lang['media_sort_date'] = 'Data'; +$lang['media_namespaces'] = 'Wybierz przestrzeń nazw'; +$lang['media_files'] = 'Pliki w %s'; +$lang['media_upload'] = 'Przesyłanie plików na %s'; +$lang['media_search'] = 'Znajdź w %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s na %s'; +$lang['media_edit'] = 'Zmień %s'; +$lang['media_history'] = 'Historia dla %s'; +$lang['media_meta_edited'] = 'zmienione metadane'; +$lang['media_perm_read'] = 'Przepraszamy, nie masz wystarczających uprawnień do odczytu plików.'; +$lang['media_perm_upload'] = 'Przepraszamy, nie masz wystarczających uprawnień do przesyłania plików.'; +$lang['media_update'] = 'Prześlij nową wersję'; +$lang['media_restore'] = 'Odtwórz tą wersję'; +$lang['plugin_install_err'] = 'Wtyczka zainstalowana nieprawidłowo. Zmień nazwę katalogu wtyczki \'%s\' na \'%s\'.'; -- cgit v1.2.3 From d0674b61febbf2449c8a5fdddff35d4ed55147af Mon Sep 17 00:00:00 2001 From: Jian Wei Tay Date: Thu, 15 Dec 2011 22:09:28 +0100 Subject: Malay language update --- inc/lang/ms/lang.php | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 inc/lang/ms/lang.php (limited to 'inc') diff --git a/inc/lang/ms/lang.php b/inc/lang/ms/lang.php new file mode 100644 index 000000000..92dc86b5a --- /dev/null +++ b/inc/lang/ms/lang.php @@ -0,0 +1,97 @@ +>'; +$lang['btn_revs'] = 'Sejarah'; +$lang['btn_recent'] = 'Perubahan Terkini'; +$lang['btn_upload'] = 'Unggah (upload)'; +$lang['btn_cancel'] = 'Batal'; +$lang['btn_secedit'] = 'Sunting'; +$lang['btn_login'] = 'Masuk'; +$lang['btn_logout'] = 'Keluar'; +$lang['btn_admin'] = 'Admin'; +$lang['btn_update'] = 'Kemaskini'; +$lang['btn_delete'] = 'Hapus'; +$lang['btn_back'] = 'Balik'; +$lang['btn_backlink'] = 'Pautan ke halaman ini'; +$lang['btn_backtomedia'] = 'Balik ke rangkaian pilihan fail media'; +$lang['btn_subscribe'] = 'Pantau'; +$lang['btn_profile'] = 'Kemaskinikan profil'; +$lang['btn_reset'] = 'Batalkan suntingan'; +$lang['btn_resendpwd'] = 'Emel kata laluan baru'; +$lang['btn_draft'] = 'Sunting draf'; +$lang['btn_recover'] = 'Pulihkan draf'; +$lang['btn_draftdel'] = 'Hapuskan draf'; +$lang['btn_revert'] = 'Pulihkan'; +$lang['btn_register'] = 'Daftaran'; +$lang['btn_apply'] = 'Simpan'; +$lang['btn_media'] = 'Manager media'; +$lang['loggedinas'] = 'Log masuk sebagai'; +$lang['user'] = 'Nama pengguna'; +$lang['pass'] = 'Kata laluan'; +$lang['newpass'] = 'Kata laluan baru'; +$lang['oldpass'] = 'Kata laluan lama'; +$lang['passchk'] = 'sekali lagi'; +$lang['remember'] = 'Sentiasa ingati kata laluan saya.'; +$lang['fullname'] = 'Nama sebenar'; +$lang['email'] = 'E-mel'; +$lang['profile'] = 'Profil pengguna'; +$lang['badlogin'] = 'Maaf, ralat log masuk. Nama pengguna atau kata laluan salah.'; +$lang['minoredit'] = 'Suntingan Kecil'; +$lang['draftdate'] = 'Draf automatik disimpan pada'; +$lang['nosecedit'] = 'Halaman ini telah bertukar pada waktu sementara dan info bahagian ini telah luput. Seluruh halaman telah disarat.'; +$lang['regmissing'] = 'Maaf, semua medan mesti diisi'; +$lang['reguexists'] = 'Maaf, nama pengguna yang dimasukkan telah diguna. Sila pilih nama yang lain.'; +$lang['regsuccess'] = 'Akaun pengguna telah dicipta dan kata laluan telah dikirim kepada e-mel anda.'; +$lang['regsuccess2'] = 'Akaun pegguna telah dicipta.'; +$lang['regbadmail'] = 'Format alamat e-mel tidak sah. Sila masukkan semula ataupun kosongkan sahaja medan tersebut.'; +$lang['regbadpass'] = 'Kedua-dua kata laluan tidak sama. Sila masukkan semula.'; +$lang['regpwmail'] = 'Kata laluan Dokuwiki anda'; +$lang['reghere'] = 'Belum mendaftar akaun? Dapat akaun baru'; +$lang['profna'] = 'Wiki ini tidak menyokong modifikasi profil'; +$lang['profnoempty'] = 'Medan nama pengguna atau e-mel yang kosong tidak dibenarkan.'; +$lang['profchanged'] = 'Profil pengguna telah dikemaskini.'; +$lang['pwdforget'] = 'Terlupa kata laluan? Dapatkan yang baru'; +$lang['resendpwd'] = 'Kirimkan kata laluan baru untuk'; +$lang['resendpwdmissing'] = 'Maaf, semua medan perlu diisi.'; +$lang['resendpwdnouser'] = 'Maaf, nama pengguna ini tidak dapat dicari dalam database kami.'; +$lang['resendpwdbadauth'] = 'Maaf, kod authorasi ini tidak sah. Semak bahawa anda telah menggunakan seluruh pautan pengesahan yang dikirim.'; +$lang['resendpwdconfirm'] = 'Pautan pengesahan telah dikirimkan ke e-mel anda.'; +$lang['resendpwdsuccess'] = 'Kata laluan baru telah dikirimkan ke e-mel anda.'; +$lang['license'] = 'Selain daripada yang dinyata, isi wiki ini disediakan dengan lesen berikut:'; +$lang['licenseok'] = 'Perhatian: Dengan menyunting halaman ini, anda setuju untuk isi-isi anda dilesen menggunakan lesen berikut:'; +$lang['searchmedia'] = 'Cari nama fail:'; +$lang['searchmedia_in'] = 'Cari di %s'; +$lang['txt_upload'] = 'Pilih fail untuk diunggah'; +$lang['txt_filename'] = 'Unggah fail dengan nama (tidak wajib)'; +$lang['txt_overwrt'] = 'Timpa fail sekarang'; +$lang['lockedby'] = 'Halaman ini telah di'; +$lang['fileupload'] = 'Muat naik fail'; +$lang['uploadsucc'] = 'Pemuatan naik berjaya'; +$lang['uploadfail'] = 'Ralat muat naik'; +$lang['uploadxss'] = 'Fail ini mengandungi kod HTML atau kod skrip yang mungkin boleh disalah tafsir oleh pelayar web.'; +$lang['toc'] = 'Jadual Kandungan'; +$lang['current'] = 'kini'; +$lang['restored'] = 'Telah dikembalikan ke semakan sebelumnya'; +$lang['summary'] = 'Paparan'; -- cgit v1.2.3 From fb838798781d6a7a488c82a93c69853bb5cb08d8 Mon Sep 17 00:00:00 2001 From: Danny Date: Sat, 17 Dec 2011 13:17:44 +0800 Subject: Rewark for missing commit 9aa0e6c6087e616511fc95d1650ca9b608edece8 --- inc/parser/xhtml.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index ea1756803..a9ee33e9d 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -29,7 +29,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { var $doc = ''; // will contain the whole document var $toc = array(); // will contain the Table of Contents - private $sectionedits = array(); // A stack of section edit data + var $sectionedits = array(); // A stack of section edit data var $headers = array(); var $footnotes = array(); -- cgit v1.2.3 From 85038eabd994f3b7609fee54bfbaab2513f28c1e Mon Sep 17 00:00:00 2001 From: Danny Date: Sat, 17 Dec 2011 13:18:12 +0800 Subject: Rework for missing commit 08162f005f3ced0555de590dc1a53155af99d998 --- inc/parser/metadata.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index 136c37531..bd396e2b4 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -455,16 +455,16 @@ class Doku_Renderer_metadata extends Doku_Renderer { global $conf; $isImage = false; - if (is_null($title)){ + if (is_array($title)){ + if($title['title']) return '['.$title['title'].']'; + } else if (is_null($title) || trim($title)==''){ if (useHeading('content') && $id){ - $heading = p_get_first_heading($id,METADATA_DONT_RENDER); + $heading = p_get_first_heading($id,false); if ($heading) return $heading; } return $default; - } else if (is_string($title)){ + } else { return $title; - } else if (is_array($title)){ - if($title['title']) return '['.$title['title'].']'; } } -- cgit v1.2.3 From f01b3e16cda640fb4b47ec254b8390970da0b806 Mon Sep 17 00:00:00 2001 From: Danny Date: Sat, 17 Dec 2011 13:32:44 +0800 Subject: Slight fix to match current version. --- inc/parser/metadata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index bd396e2b4..9b4c6b8da 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -459,7 +459,7 @@ class Doku_Renderer_metadata extends Doku_Renderer { if($title['title']) return '['.$title['title'].']'; } else if (is_null($title) || trim($title)==''){ if (useHeading('content') && $id){ - $heading = p_get_first_heading($id,false); + $heading = p_get_first_heading($id,METADATA_DONT_RENDER)); if ($heading) return $heading; } return $default; -- cgit v1.2.3 From 370d3435fb6b3a339465bb90b79ea9c275c0cbf9 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Sun, 18 Dec 2011 18:58:27 +0100 Subject: Fix double URL-encoding in media manager (FS#2403) --- inc/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 93692a7c6..af4647ecb 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1674,7 +1674,7 @@ function media_nstree_item($item){ $ret = ''; if (!($_REQUEST['do'] == 'media')) $ret .= ''; - else $ret .= ' idfilter($item['id'], false), 'tab_files' => 'files')) .'" class="idx_dir">'; $ret .= $item['label']; $ret .= ''; -- cgit v1.2.3 From df959702e1899c968dc953855f36b9788afa12d3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 20 Dec 2011 11:10:20 +0100 Subject: Revert 4a24b459, thus fixing FETCH_MEDIA_STATUS for missing files (FS#2405) --- inc/parser/xhtml.php | 1 - 1 file changed, 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index ea1756803..bfa22d066 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -807,7 +807,6 @@ class Doku_Renderer_xhtml extends Doku_Renderer { //markup non existing files if (!$exists) { $link['class'] .= ' wikilink2'; - $link['url'] = media_managerURL(array('tab_details' => 'view', 'image' => $src, 'ns' => getNS($src)), '&'); } //output formatted -- cgit v1.2.3 From 48d7b7a6544f9cecba4b776c782a3891b28fb300 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Tue, 20 Dec 2011 13:50:37 +0100 Subject: use in_array to filter groups instead of preg_grep for acl the usage of preg_grep can result in "regular expression is too large" warnings, which leads to errors in auth_aclcheck. --- inc/auth.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'inc') diff --git a/inc/auth.php b/inc/auth.php index e0f58e5f2..941dcb8d6 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -523,18 +523,19 @@ function auth_aclcheck($id,$user,$groups){ $groups[] = '@ALL'; //add User if($user) $groups[] = $user; - //build regexp - $regexp = join('|',$groups); }else{ - $regexp = '@ALL'; + $groups[] = '@ALL'; } //check exact match first - $matches = preg_grep('/^'.preg_quote($id,'/').'\s+('.$regexp.')\s+/'.$ci,$AUTH_ACL); + $matches = preg_grep('/^'.preg_quote($id,'/').'\s+(\S+)\s+/'.$ci,$AUTH_ACL); if(count($matches)){ foreach($matches as $match){ $match = preg_replace('/#.*$/','',$match); //ignore comments $acl = preg_split('/\s+/',$match); + if (!in_array($acl[1], $groups)) { + continue; + } if($acl[2] > AUTH_DELETE) $acl[2] = AUTH_DELETE; //no admins in the ACL! if($acl[2] > $perm){ $perm = $acl[2]; @@ -554,20 +555,24 @@ function auth_aclcheck($id,$user,$groups){ } do{ - $matches = preg_grep('/^'.preg_quote($path,'/').'\s+('.$regexp.')\s+/'.$ci,$AUTH_ACL); + $matches = preg_grep('/^'.preg_quote($path,'/').'\s+(\S+)\s+/'.$ci,$AUTH_ACL); if(count($matches)){ foreach($matches as $match){ $match = preg_replace('/#.*$/','',$match); //ignore comments $acl = preg_split('/\s+/',$match); + if (!in_array($acl[1], $groups)) { + continue; + } if($acl[2] > AUTH_DELETE) $acl[2] = AUTH_DELETE; //no admins in the ACL! if($acl[2] > $perm){ $perm = $acl[2]; } } //we had a match - return it - return $perm; + if ($perm != -1) { + return $perm; + } } - //get next higher namespace $ns = getNS($ns); @@ -582,9 +587,6 @@ function auth_aclcheck($id,$user,$groups){ return AUTH_NONE; } }while(1); //this should never loop endless - - //still here? return no permissions - return AUTH_NONE; } /** -- cgit v1.2.3 From 37fa8abdcb4ed0634f9c21c8e6f2d727d1ffd600 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Dec 2011 14:35:48 +0100 Subject: added methods from xmlrpc.php to RemoteAPICore --- inc/RemoteAPICore.php | 174 +++++++++++++++++++++++++++++++++++++++++++------- inc/remote.php | 5 +- 2 files changed, 151 insertions(+), 28 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 6b34d257a..106ed598c 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -4,40 +4,167 @@ class RemoteAPICore { function __getRemoteInfo() { return array( - 'wiki.getPage' => array( + 'dokuwiki.getVersion' => array( + 'args' => array(), + 'return' => 'string', + 'doc' => 'Returns the running DokuWiki version.' + ), 'dokuwiki.login' => array( + 'args' => array( + 'username' => 'string', + 'password' => 'string' + ), + 'return' => 'int', + 'doc' => 'Tries to login with the given credentials and sets auth cookies.' + ), 'dokuwiki.getPagelist' => array( + 'args' => array( + 'namespace' => 'string', + 'options' => 'array' + ), + 'return' => 'array', + 'doc' => 'List all pages within the given namespace.', + 'name' => 'readNamespace' + ), 'dokuwiki.search' => array( 'args' => array( - 'id' => array( - 'type' => 'string', - 'doc' => 'wiki page id' - ), + 'search' => 'string' ), + 'return' => 'array', + 'doc' => 'Perform a fulltext search and return a list of matching pages' + ), 'dokuwiki.getTime' => array( + 'args' => array(), + 'return' => 'int', + 'doc' => 'Returns the current time at the remote wiki server as Unix timestamp.', + ), 'dokuwiki.setLocks' => array( + 'args' => array('lock' => 'array'), + 'return' => 'array', + 'doc' => 'Lock or unlock pages.' + ), 'dokuwiki.getTitle' => array( + 'args' => array(), 'return' => 'string', - 'doc' => 'Return a raw wiki page', + 'doc' => 'Returns the wiki title.' + ), 'dokuwiki.appendPage' => array( + 'args' => array( + 'pagename' => 'string', + 'rawWikiText' => 'string', + 'attrs' => 'array' + ), + 'return' => 'int', + 'doc' => 'Append text to a wiki page.' + ), 'wiki.getPage' => array( + 'args' => array( + 'id' => 'string' + ), + 'return' => 'string', + 'doc' => 'Get the raw Wiki text of page, latest version.', 'name' => 'rawPage', - ), - 'wiki.getPageVersion' => array( + ), 'wiki.getPageVersion' => array( 'args' => array( - 'id' => array( - 'type' => 'string', - 'doc' => 'wiki page id' - ), - 'rev' => array( - 'type' => 'int', - 'doc' => 'revision number of the page', - ), + 'id' => 'string', + 'rev' => 'int', ), 'name' => 'rawPage', 'return' => 'string', 'doc' => 'Return a raw wiki page' - ), - 'wiki.getAttachment' => array( + ), 'wiki.getPageHTML' => array( + 'args' => array( + 'id' => 'string' + ), + 'return' => 'string', + 'doc' => 'Return page in rendered HTML, latest version.', + 'name' => 'htmlPage' + ), 'wiki.getPageHTMLVersion' => array( 'args' => array( - 'type' => 'string', - 'doc' => 'file id', + 'id' => 'string', + 'rev' => 'int' ), + 'return' => 'string', + 'doc' => 'Return page in rendered HTML.', + 'name' => 'htmlPage' + ), 'wiki.getAllPages' => array( + 'args' => array(), + 'return' => 'array', + 'doc' => 'Returns a list of all pages. The result is an array of utf8 pagenames.', + 'name' => 'listPages' + ), 'wiki.getAttachments' => array( + 'args' => array( + 'namespace' => 'string', + 'options' => 'array' + ), + 'return' => 'array', + 'doc' => 'Returns a list of all media files.', + 'name' => 'listAttachments' + ), 'wiki.getBackLinks' => array( + 'args' => array( + 'id' => 'string' + ), + 'return' => 'array', + 'doc' => 'Returns the pages that link to this page.', + 'name' => 'listBackLinks' + ), 'wiki.getPageInfo' => array( + 'args' => array('id' => 'string'), + 'return' => 'array', + 'doc' => 'Returns a struct with infos about the page.', + 'name' => 'pageInfo' + ), 'wiki.getPageInfoVersion' => array( + 'args' => array( + 'id' => 'string', + 'version' => 'int', + ), + 'return' => 'array', + 'doc' => 'Returns a struct with infos about the page.', + 'name' => 'pageInfo' + ), 'wiki.getPageVersions' => array( + 'args' => array( + 'id' => 'string', + 'offset' => 'int' + ), + 'return' => 'array', + 'doc' => 'Returns the available revisions of the page.', + 'name' => 'pageVersions' + ), 'wiki.putPage' => array( + 'args' => array( + 'id' => 'string', + 'rawText' => 'string', + 'attrs' => 'array' + ), + 'return' => 'int', + 'doc' => 'Saves a wiki page.' + ), 'wiki.listLinks' => array( + 'args' => array('id' => 'string'), + 'return' => 'array', + 'doc' => 'Lists all links contained in a wiki page.' + ), 'wiki.getRecentChanges' => array( + 'args' => array('timestamp' => 'int'), + 'return' => 'array', + 'Returns a struct about all recent changes since given timestamp.' + ), 'wiki.getRecentMediaChanges' => array( + 'args' => array('timestamp' => 'int'), + 'return' => 'array', + 'Returns a struct about all recent media changes since given timestamp.' + ), 'wiki.aclCheck' => array( + 'args' => array('id' => 'string'), + 'return' => 'int', + 'doc' => 'Returns the permissions of a given wiki page.' + ), 'wiki.putAttachment' => array( + 'args' => array( + 'id' => 'string', + 'data' => 'file', + 'params' => 'array' + ), + 'return' => 'array', + 'doc' => 'Upload a file to the wiki.' + ), 'wiki.deleteAttachment' => array( + 'args' => array('id' => 'string'), + 'return' => 'int', + 'doc' => 'Delete a file from the wiki.' + ), 'wiki.getAttachment' => array( + 'args' => array('id' => 'string'), 'doc' => 'Return a media file', 'return' => 'file', 'name' => 'getAttachment', + ), 'wiki.getAttachmentInfo' => array( + 'args' => array('id' => 'string'), + 'return' => 'array', + 'doc' => 'Returns a struct with infos about the attachment.' ), ); @@ -63,7 +190,7 @@ class RemoteAPICore { } /** - * Return a media file encoded in base64 + * Return a media file * * @author Gina Haeussge * @param string $id file id @@ -92,13 +219,13 @@ class RemoteAPICore { function getAttachmentInfo($id){ $id = cleanID($id); $info = array( - 'lastModified' => 0, + 'lastModified' => new RemoteDate(0), 'size' => 0, ); $file = mediaFN($id); if ((auth_quickaclcheck(getNS($id).':*') >= AUTH_READ) && file_exists($file)){ - $info['lastModified'] = filemtime($file); + $info['lastModified'] = new RemoteDate(filemtime($file)); $info['size'] = filesize($file); } @@ -275,7 +402,6 @@ class RemoteAPICore { function putPage($id, $text, $params) { global $TEXT; global $lang; - global $conf; $id = cleanID($id); $TEXT = cleanText($text); diff --git a/inc/remote.php b/inc/remote.php index 7e82b6845..e18c71092 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -33,10 +33,7 @@ class RemoteFile extends RemoteDataType {} * array( * 'method.remoteName' => array( * 'args' => array( - * 'name' => array( - * 'type' => 'string|int|...|date|file', - * ['doc' = 'argument documentation'], - * ), + * 'name' => 'type eg. string|int|...|date|file', * ) * 'name' => 'method name in class', * 'return' => 'type', -- cgit v1.2.3 From 84731d335696dcf0573d2c1b55e91f4c475a499e Mon Sep 17 00:00:00 2001 From: Kazutaka Miyasaka Date: Thu, 22 Dec 2011 20:21:46 +0100 Subject: Japanese language update --- inc/lang/ja/index.txt | 2 +- inc/lang/ja/lang.php | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/lang/ja/index.txt b/inc/lang/ja/index.txt index b5fbac97d..b0447899d 100644 --- a/inc/lang/ja/index.txt +++ b/inc/lang/ja/index.txt @@ -1,4 +1,4 @@ -====== 索引 ====== +====== サイトマップ ====== [[doku>namespaces|名前空間]] に基づく、全ての文書の索引です。 diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 1eeb6bb73..15c1e7dd6 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -29,7 +29,7 @@ $lang['btn_revs'] = '以前のリビジョン'; $lang['btn_recent'] = '最近の変更'; $lang['btn_upload'] = 'アップロード'; $lang['btn_cancel'] = 'キャンセル'; -$lang['btn_index'] = '索引'; +$lang['btn_index'] = 'サイトマップ'; $lang['btn_secedit'] = '編集'; $lang['btn_login'] = 'ログイン'; $lang['btn_logout'] = 'ログアウト'; @@ -48,6 +48,8 @@ $lang['btn_recover'] = 'ドラフトを復元'; $lang['btn_draftdel'] = 'ドラフトを削除'; $lang['btn_revert'] = '元に戻す'; $lang['btn_register'] = 'ユーザー登録'; +$lang['btn_apply'] = '適用'; +$lang['btn_media'] = 'メディアマネージャー'; $lang['loggedinas'] = 'ようこそ'; $lang['user'] = 'ユーザー名'; $lang['pass'] = 'パスワード'; @@ -92,7 +94,7 @@ $lang['txt_filename'] = '名前を変更してアップロード(オ $lang['txt_overwrt'] = '既存のファイルを上書き'; $lang['lockedby'] = 'この文書は次のユーザによってロックされています'; $lang['lockexpire'] = 'ロック期限:'; -$lang['js']['willexpire'] = '編集中の文書はロック期限を過ぎようとしています。このままロックする場合は、一度文書の確認を行って期限をリセットしてください。'; +$lang['js']['willexpire'] = '編集中の文書はロック期限を過ぎようとしています。このままロックする場合は、一度文書の確認を行って期限をリセットしてください。'; $lang['js']['notsavedyet'] = '変更は保存されません。このまま処理を続けてよろしいですか?'; $lang['js']['searchmedia'] = 'ファイル検索'; $lang['js']['keepopen'] = '選択中はウィンドウを閉じない'; @@ -123,9 +125,20 @@ $lang['js']['nosmblinks'] = 'ウィンドウズの共有フォルダへリ $lang['js']['linkwiz'] = 'リンクウィザード'; $lang['js']['linkto'] = 'リンク先:'; $lang['js']['del_confirm'] = '選択した項目を本当に削除しますか?'; +$lang['js']['restore_confirm'] = '本当にこのバージョンを復元しますか?'; +$lang['js']['media_diff'] = '差分の表示方法:'; +$lang['js']['media_diff_both'] = '並べて表示'; +$lang['js']['media_diff_opacity'] = '重ねて透過表示'; +$lang['js']['media_diff_portions'] = '重ねて切替表示'; +$lang['js']['media_select'] = 'ファイルを選択...'; +$lang['js']['media_upload_btn'] = 'アップロード'; +$lang['js']['media_done_btn'] = '完了'; +$lang['js']['media_drop'] = 'ここにファイルをドロップするとアップロードします'; +$lang['js']['media_cancel'] = '削除'; +$lang['js']['media_overwrt'] = '既存のファイルを上書きする'; $lang['rssfailed'] = 'RSSの取得に失敗しました:'; $lang['nothingfound'] = '該当文書はありませんでした。'; -$lang['mediaselect'] = 'メディアファイルを選択'; +$lang['mediaselect'] = 'メディアファイル'; $lang['fileupload'] = 'メディアファイルをアップロード'; $lang['uploadsucc'] = 'アップロード完了'; $lang['uploadfail'] = 'アップロードに失敗しました。権限がありません。'; @@ -177,6 +190,10 @@ $lang['mail_changed'] = '文書の変更:'; $lang['mail_subscribe_list'] = '名前空間内でページが変更:'; $lang['mail_new_user'] = '新規ユーザー:'; $lang['mail_upload'] = 'ファイルのアップロード:'; +$lang['changes_type'] = '表示する変更のタイプ:'; +$lang['pages_changes'] = 'ページの変更'; +$lang['media_changes'] = 'メディアファイルの変更'; +$lang['both_changes'] = 'ページとメディアファイルの変更'; $lang['qb_bold'] = '太字'; $lang['qb_italic'] = '斜体'; $lang['qb_underl'] = '下線'; @@ -217,6 +234,9 @@ $lang['img_copyr'] = '著作権'; $lang['img_format'] = 'フォーマット'; $lang['img_camera'] = '使用カメラ'; $lang['img_keywords'] = 'キーワード'; +$lang['img_width'] = '幅'; +$lang['img_height'] = '高さ'; +$lang['img_manager'] = 'メディアマネージャーで閲覧'; $lang['subscr_subscribe_success'] = '%sが%sの購読リストに登録されました。'; $lang['subscr_subscribe_error'] = '%sを%sの購読リストへの追加に失敗しました。'; $lang['subscr_subscribe_noaddress'] = 'あなたのログインに対応するアドレスがないため、購読リストへ追加することができません。'; @@ -283,3 +303,27 @@ $lang['hours'] = '%d時間前'; $lang['minutes'] = '%d分前'; $lang['seconds'] = '%d秒前'; $lang['wordblock'] = 'スパムと認識されるテキストが含まれているため、変更は保存されませんでした。'; +$lang['media_uploadtab'] = 'アップロード'; +$lang['media_searchtab'] = '検索'; +$lang['media_file'] = 'ファイル'; +$lang['media_viewtab'] = '詳細'; +$lang['media_edittab'] = '編集'; +$lang['media_historytab'] = '履歴'; +$lang['media_list_thumbs'] = 'サムネイル'; +$lang['media_list_rows'] = '行'; +$lang['media_sort_name'] = '名前'; +$lang['media_sort_date'] = '日付'; +$lang['media_namespaces'] = '名前空間を選択'; +$lang['media_files'] = '%s 内のファイル'; +$lang['media_upload'] = '%s にアップロード'; +$lang['media_search'] = '%s 内で検索'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s at %s'; +$lang['media_edit'] = '%s を編集'; +$lang['media_history'] = '%s の履歴'; +$lang['media_meta_edited'] = 'メタデータが編集されました'; +$lang['media_perm_read'] = 'ファイルを閲覧する権限がありません。'; +$lang['media_perm_upload'] = 'ファイルをアップロードする権限がありません。'; +$lang['media_update'] = '新しいバージョンをアップロード'; +$lang['media_restore'] = 'このバージョンを復元'; +$lang['plugin_install_err'] = 'プラグインが正しくインストールされませんでした。プラグインのディレクトリ名を \'%s\' から \'%s\' に変更してください。'; -- cgit v1.2.3 From c999630672a7a3ff116388f556e895a2cc6dbc01 Mon Sep 17 00:00:00 2001 From: skimpax Date: Thu, 22 Dec 2011 20:22:47 +0100 Subject: French language update --- inc/lang/fr/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'inc') diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 9399e1758..f92ea92d9 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -22,6 +22,7 @@ * @author Samuel Dorsaz * @author Johan Guilbaud * @author schplurtz@laposte.net + * @author skimpax@gmail.com */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -- cgit v1.2.3 From 9a2e250ac50cb5571b81b8d005a1f1edf7b8e17f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 7 Jan 2012 14:11:47 +0100 Subject: make sure that sidebar TOCs won't interfere with page TOCs This could happen if a sidebar is rendered before the page (populating $TOC) and the page itself had no own TOC (no headers). --- inc/template.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index c70e407d6..476ef74a3 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1354,9 +1354,12 @@ function tpl_license($img='badge',$imgonly=false,$return=false){ */ function tpl_include_page($pageid,$print=true){ global $ID; - $oldid = $ID; + global $TOC; + $oldid = $ID; + $oldtoc = $TOC; $html = p_wiki_xhtml($pageid,'',false); - $ID = $oldid; + $ID = $oldid; + $TOC = $oldtoc; if(!$print) return $html; echo $html; -- cgit v1.2.3 From c4ec01d679a5badc56ac8315eb279fb8f98698b6 Mon Sep 17 00:00:00 2001 From: "Oscar M. Lage" Date: Sun, 8 Jan 2012 12:57:37 +0100 Subject: Spanish language update --- inc/lang/es/lang.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 5164c3243..7d365bfbe 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -282,9 +282,9 @@ $lang['i_enableacl'] = 'Habilitar ACL (recomendado) (ACL: lista de con $lang['i_superuser'] = 'Super-usuario'; $lang['i_problems'] = 'El instalador encontró algunos problemas, se muestran abajo. No se puede continuar la instalación hasta que usted no los corrija.'; $lang['i_modified'] = 'Por razones de seguridad este script sólo funcionará con una instalación nueva y no modificada de Dokuwiki. Usted debe extraer nuevamente los ficheros del paquete bajado, o bien consultar las instrucciones de instalación de Dokuwiki completas.'; -$lang['i_funcna'] = 'La función de PHP %s no está disponible. Tal vez su proveedor de hosting la ha deshabilitado por alguna razón?'; +$lang['i_funcna'] = 'La función de PHP %s no está disponible. ¿Tal vez su proveedor de hosting la ha deshabilitado por alguna razón?'; $lang['i_phpver'] = 'Su versión de PHP %s es menor que la necesaria %s. Es necesario que actualice su instalación de PHP.'; -$lang['i_permfail'] = 'DokuWili no puede escribir %s. Es necesario establecer correctamente los permisos de este directorio!'; +$lang['i_permfail'] = 'DokuWili no puede escribir %s. ¡Es necesario establecer correctamente los permisos de este directorio!'; $lang['i_confexists'] = '%s ya existe'; $lang['i_writeerr'] = 'Imposible crear %s. Se necesita que usted controle los permisos del fichero/directorio y que cree el fichero manualmente.'; $lang['i_badhash'] = 'dokuwiki.php no reconocido o modificado (hash=%s)'; -- cgit v1.2.3 From a317247b19c498f4292480110cf0e0a1ce9780e8 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 14:54:53 +0100 Subject: updated remote hasAccess function --- inc/remote.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index e18c71092..94d428e8c 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -71,7 +71,6 @@ class RemoteAPI { * @return array with information to all available methods */ public function getMethods() { - $this->forceAccess(); return array_merge($this->getCoreMethods(), $this->getPluginMethods()); } @@ -122,10 +121,18 @@ class RemoteAPI { */ public function hasAccess() { global $conf; - if (!isset($conf['remote'])) { + global $USERINFO; + if (!$conf['remote']) { return false; } - return $conf['remote']; + if(!$conf['useacl']) { + return true; + } + if(trim($conf['remoteuser']) == '') { + return true; + } + + return auth_isMember($conf['remoteuser'], $_SERVER['REMOTE_USER'], (array) $USERINFO['grps']); } /** -- cgit v1.2.3 From 4beb39ea51a46409ab3abd4a1b880bf5d3d5dc4a Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 15:31:46 +0100 Subject: enforce acl on remote method call --- inc/remote.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 94d428e8c..15d2308f8 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -82,7 +82,6 @@ class RemoteAPI { * @return mixed result of method call, must be a primitive type. */ public function call($method, $args = array()) { - $this->forceAccess(); list($type, $pluginName, $call) = explode('.', $method, 3); if ($type === 'plugin') { $plugin = plugin_load('remote', $pluginName); @@ -90,10 +89,12 @@ class RemoteAPI { if (!$plugin) { throw new RemoteException('Method dose not exists'); } + $this->checkAccess($methods[$method]); $name = $this->getMethodName($methods, $method); return call_user_func_array(array($plugin, $name), $args); } else { $coreMethods = $this->getCoreMethods(); + $this->checkAccess($coreMethods[$method]); if (!isset($coreMethods[$method])) { throw new RemoteException('Method dose not exists'); } @@ -102,6 +103,16 @@ class RemoteAPI { } } + private function checkAccess($methodMeta) { + if (!isset($methodMeta['public'])) { + $this->forceAccess(); + } else{ + if ($methodMeta['public'] == '0') { + $this->forceAccess(); + } + } + } + private function checkArgumentLength($method, $args) { if (count($method['args']) < count($args)) { throw new RemoteException('Method dose not exists - wrong parameter count.'); @@ -141,7 +152,7 @@ class RemoteAPI { */ public function forceAccess() { if (!$this->hasAccess()) { - throw new RemoteException('Access denied'); + throw new RemoteAccessDenied(); } } -- cgit v1.2.3 From 27bf90be7901fc8002eb1f253df9785610d586f1 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 15:56:24 +0100 Subject: set login as public method --- inc/RemoteAPICore.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 106ed598c..023fcb803 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -14,7 +14,8 @@ class RemoteAPICore { 'password' => 'string' ), 'return' => 'int', - 'doc' => 'Tries to login with the given credentials and sets auth cookies.' + 'doc' => 'Tries to login with the given credentials and sets auth cookies.', + 'public' => '1' ), 'dokuwiki.getPagelist' => array( 'args' => array( 'namespace' => 'string', -- cgit v1.2.3 From 3a13cfe7e12afabb47139702b7f118d63ccf42c2 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 18:10:38 +0100 Subject: set login as public method --- inc/remote.php | 1 + 1 file changed, 1 insertion(+) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 15d2308f8..76d07b344 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -1,6 +1,7 @@ Date: Sun, 8 Jan 2012 18:14:44 +0100 Subject: added missing getVersion --- inc/RemoteAPICore.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 023fcb803..6b665e083 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -171,6 +171,10 @@ class RemoteAPICore { ); } + function getVersion() { + return getVersion(); + } + /** * Return a raw wiki page * @param string $id wiki page id -- cgit v1.2.3 From cb0d045e79603fb7f0c6703aaf633c8d0e34c117 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 18:21:48 +0100 Subject: added missing getTime --- inc/RemoteAPICore.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 6b665e083..a19c1b84e 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -175,6 +175,10 @@ class RemoteAPICore { return getVersion(); } + function getTime() { + return time(); + } + /** * Return a raw wiki page * @param string $id wiki page id -- cgit v1.2.3 From 1232df5e9480465ff8b2e24ce5760766b3bd908c Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 18:27:27 +0100 Subject: treat null as empty array --- inc/remote.php | 3 +++ 1 file changed, 3 insertions(+) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 76d07b344..c18cb3713 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -83,6 +83,9 @@ class RemoteAPI { * @return mixed result of method call, must be a primitive type. */ public function call($method, $args = array()) { + if ($args === null) { + $args = array(); + } list($type, $pluginName, $call) = explode('.', $method, 3); if ($type === 'plugin') { $plugin = plugin_load('remote', $pluginName); -- cgit v1.2.3 From f95017850a515969190f54df3d57a00449245bb9 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 18:37:59 +0100 Subject: delegate file and date transformation to remote library --- inc/RemoteAPICore.php | 26 ++++++++++++++++---------- inc/remote.php | 33 +++++++++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 14 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index a19c1b84e..639aa4536 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -2,6 +2,12 @@ class RemoteAPICore { + private $api; + + public function __construct(RemoteAPI $api) { + $this->api = $api; + } + function __getRemoteInfo() { return array( 'dokuwiki.getVersion' => array( @@ -217,7 +223,7 @@ class RemoteAPICore { } $data = io_readFile($file, false); - return new RemoteFile($data); + return $this->api->toFile($data); } /** @@ -228,13 +234,13 @@ class RemoteAPICore { function getAttachmentInfo($id){ $id = cleanID($id); $info = array( - 'lastModified' => new RemoteDate(0), + 'lastModified' => $this->api->toDate(0), 'size' => 0, ); $file = mediaFN($id); if ((auth_quickaclcheck(getNS($id).':*') >= AUTH_READ) && file_exists($file)){ - $info['lastModified'] = new RemoteDate(filemtime($file)); + $info['lastModified'] = $this->api->toDate(filemtime($file)); $info['size'] = filesize($file); } @@ -269,7 +275,7 @@ class RemoteAPICore { $page['id'] = trim($pages[$idx]); $page['perms'] = $perm; $page['size'] = @filesize(wikiFN($pages[$idx])); - $page['lastModified'] = new RemoteDate(@filemtime(wikiFN($pages[$idx]))); + $page['lastModified'] = $this->api->toDate(@filemtime(wikiFN($pages[$idx]))); $list[] = $page; } @@ -362,7 +368,7 @@ class RemoteAPICore { for($i=0; $i<$len; $i++) { unset($data[$i]['meta']); - $data[$i]['lastModified'] = new RemoteDate($data[$i]['mtime']); + $data[$i]['lastModified'] = $this->api->toDate($data[$i]['mtime']); } return $data; } else { @@ -395,7 +401,7 @@ class RemoteAPICore { $data = array( 'name' => $id, - 'lastModified' => new RemoteDate($time), + 'lastModified' => $this->api->toDate($time), 'author' => (($info['user']) ? $info['user'] : $info['ip']), 'version' => $time ); @@ -477,7 +483,7 @@ class RemoteAPICore { * * Michael Klier */ - function putAttachment($id, RemoteFile $file, $params) { + function putAttachment($id, $file, $params) { $id = cleanID($id); $auth = auth_quickaclcheck(getNS($id).':*'); @@ -596,7 +602,7 @@ class RemoteAPICore { foreach ($recents as $recent) { $change = array(); $change['name'] = $recent['id']; - $change['lastModified'] = new RemoteDate($recent['date']); + $change['lastModified'] = $this->api->toDate($recent['date']); $change['author'] = $recent['user']; $change['version'] = $recent['date']; $change['perms'] = $recent['perms']; @@ -629,7 +635,7 @@ class RemoteAPICore { foreach ($recents as $recent) { $change = array(); $change['name'] = $recent['id']; - $change['lastModified'] = new RemoteDate($recent['date']); + $change['lastModified'] = $this->api->toDate($recent['date']); $change['author'] = $recent['user']; $change['version'] = $recent['date']; $change['perms'] = $recent['perms']; @@ -693,7 +699,7 @@ class RemoteAPICore { $data['ip'] = $info['ip']; $data['type'] = $info['type']; $data['sum'] = $info['sum']; - $data['modified'] = new RemoteDate($info['date']); + $data['modified'] = $this->api->toDate($info['date']); $data['version'] = $info['date']; array_push($versions, $data); } diff --git a/inc/remote.php b/inc/remote.php index c18cb3713..71ceb97b5 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -18,9 +18,6 @@ abstract class RemoteDataType { } } -class RemoteDate extends RemoteDataType {} -class RemoteFile extends RemoteDataType {} - /** * This class provides information about remote access to the wiki. * @@ -66,6 +63,14 @@ class RemoteAPI { */ private $pluginMethods = null; + private $dateTransformation; + private $fileTransformation; + + public function __construct() { + $this->dateTransformation = array($this, 'dummyTransformation'); + $this->fileTransformation = array($this, 'dummyTransformation'); + } + /** * Get all available methods with remote access. * @@ -191,11 +196,31 @@ class RemoteAPI { public function getCoreMethods($apiCore = null) { if ($this->coreMethods === null) { if ($apiCore === null) { - $this->coreMethods = new RemoteAPICore(); + $this->coreMethods = new RemoteAPICore($this); } else { $this->coreMethods = $apiCore; } } return $this->coreMethods->__getRemoteInfo(); } + + public function toFile($data) { + return call_user_func($this->fileTransformation, $data); + } + + public function toDate($data) { + return call_user_func($this->dateTransformation, $data); + } + + public function dummyTransformation($data) { + return $data; + } + + public function setDateTransformation($dateTransformation) { + $this->dateTransformation = $dateTransformation; + } + + public function setFileTransformation($fileTransformation) { + $this->fileTransformation = $fileTransformation; + } } \ No newline at end of file -- cgit v1.2.3 From e61127e4af913a252fbe5c8f427501268501895c Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 8 Jan 2012 19:31:10 +0100 Subject: refactored RemoteAccessDenied to RemoteAccessDeniedException --- inc/RemoteAPICore.php | 18 +++++++++--------- inc/remote.php | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 639aa4536..2fecc3032 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -194,7 +194,7 @@ class RemoteAPICore { function rawPage($id,$rev=''){ $id = cleanID($id); if(auth_quickaclcheck($id) < AUTH_READ){ - throw new RemoteAccessDenied(); + throw new RemoteAccessDeniedException(); } $text = rawWiki($id,$rev); if(!$text) { @@ -214,7 +214,7 @@ class RemoteAPICore { function getAttachment($id){ $id = cleanID($id); if (auth_quickaclcheck(getNS($id).':*') < AUTH_READ) { - throw new RemoteAccessDenied(); + throw new RemoteAccessDeniedException(); } $file = mediaFN($id); @@ -253,7 +253,7 @@ class RemoteAPICore { function htmlPage($id,$rev=''){ $id = cleanID($id); if(auth_quickaclcheck($id) < AUTH_READ){ - throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to read this page'); } return p_wiki_xhtml($id,$rev,false); } @@ -372,7 +372,7 @@ class RemoteAPICore { } return $data; } else { - throw new RemoteAccessDenied(1, 'You are not allowed to list media files.'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to list media files.'); } } @@ -389,7 +389,7 @@ class RemoteAPICore { function pageInfo($id,$rev=''){ $id = cleanID($id); if(auth_quickaclcheck($id) < AUTH_READ){ - throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to read this page'); } $file = wikiFN($id,$rev); $time = @filemtime($file); @@ -432,7 +432,7 @@ class RemoteAPICore { } if(auth_quickaclcheck($id) < AUTH_EDIT) { - throw new RemoteAccessDenied(1, 'You are not allowed to edit this page'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to edit this page'); } // Check, if page is locked @@ -519,7 +519,7 @@ class RemoteAPICore { if ($res & DOKU_MEDIA_DELETED) { return 0; } elseif ($res & DOKU_MEDIA_NOT_AUTH) { - throw new RemoteAccessDenied(1, "You don't have permissions to delete files."); + throw new RemoteAccessDeniedException(1, "You don't have permissions to delete files."); } elseif ($res & DOKU_MEDIA_INUSE) { throw new RemoteException(1, 'File is still referenced'); } else { @@ -543,7 +543,7 @@ class RemoteAPICore { function listLinks($id) { $id = cleanID($id); if(auth_quickaclcheck($id) < AUTH_READ){ - throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to read this page'); } $links = array(); @@ -659,7 +659,7 @@ class RemoteAPICore { function pageVersions($id, $first) { $id = cleanID($id); if(auth_quickaclcheck($id) < AUTH_READ) { - throw new RemoteAccessDenied(1, 'You are not allowed to read this page'); + throw new RemoteAccessDeniedException(1, 'You are not allowed to read this page'); } global $conf; diff --git a/inc/remote.php b/inc/remote.php index 71ceb97b5..8c505911c 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -4,7 +4,7 @@ if (!defined('DOKU_INC')) die(); require_once(DOKU_INC.'inc/RemoteAPICore.php'); class RemoteException extends Exception {} -class RemoteAccessDenied extends RemoteException {} +class RemoteAccessDeniedException extends RemoteException {} abstract class RemoteDataType { private $value; @@ -161,7 +161,7 @@ class RemoteAPI { */ public function forceAccess() { if (!$this->hasAccess()) { - throw new RemoteAccessDenied(); + throw new RemoteAccessDeniedException(); } } -- cgit v1.2.3 From d5d19f6f45af17260583d7f7a8e753343afbaaad Mon Sep 17 00:00:00 2001 From: "Oscar M. Lage" Date: Mon, 9 Jan 2012 19:02:36 +0100 Subject: Galician language update --- inc/lang/gl/lang.php | 91 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 19 deletions(-) (limited to 'inc') diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 01938b3a0..a4c218510 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -4,6 +4,7 @@ * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Medúlio + * @author Oscar M. Lage */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -45,6 +46,8 @@ $lang['btn_recover'] = 'Recuperar borrador'; $lang['btn_draftdel'] = 'Eliminar borrador'; $lang['btn_revert'] = 'Restaurar'; $lang['btn_register'] = 'Rexístrate'; +$lang['btn_apply'] = 'Aplicar'; +$lang['btn_media'] = 'Xestor de Arquivos-Media'; $lang['loggedinas'] = 'Iniciaches sesión como'; $lang['user'] = 'Nome de Usuario'; $lang['pass'] = 'Contrasinal'; @@ -89,25 +92,9 @@ $lang['txt_filename'] = 'Subir como (opcional)'; $lang['txt_overwrt'] = 'Sobrescribir arquivo existente'; $lang['lockedby'] = 'Bloqueado actualmente por'; $lang['lockexpire'] = 'O bloqueo remata o'; -$lang['js']['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; -$lang['js']['notsavedyet'] = "Perderanse os trocos non gardados.\nEstá certo de quereres continuar?"; -$lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; -$lang['nothingfound'] = 'Non se atopou nada.'; -$lang['mediaselect'] = 'Arquivos-Media'; -$lang['fileupload'] = 'Subida de Arquivos-Media'; -$lang['uploadsucc'] = 'Subida correcta'; -$lang['uploadfail'] = 'Erra na subida. Pode que sexa un problema de permisos?'; -$lang['uploadwrong'] = 'Subida denegada. Esta extensión de arquivo non está permitida!'; -$lang['uploadexist'] = 'Xa existe o arquivo. Non se fixo nada.'; -$lang['uploadbadcontent'] = 'O contido subido non concorda coa extensión do arquivo %s.'; -$lang['uploadspam'] = 'A subida foi bloqueada pola lista negra de correo-lixo.'; -$lang['uploadxss'] = 'A subida foi bloqueada por un posíbel contido malicioso.'; -$lang['uploadsize'] = 'O arquivo subido é grande de máis. (máx. %s)'; -$lang['deletesucc'] = 'O arquivo "%s" foi eliminado.'; -$lang['deletefail'] = '"%s" non puido ser eliminado - comproba os permisos.'; -$lang['mediainuse'] = 'O arquivo "%s" non foi eliminado - aínda está en uso.'; -$lang['namespaces'] = 'Nomes de espazos'; -$lang['mediafiles'] = 'Arquivos dispoñíbeis en'; +$lang['js']['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; +$lang['js']['notsavedyet'] = 'Perderanse os trocos non gardados. +Está certo de quereres continuar?'; $lang['js']['searchmedia'] = 'Procurar ficheiros'; $lang['js']['keepopen'] = 'Manter a fiestra aberta na selección'; $lang['js']['hidedetails'] = 'Agochar Pormenores'; @@ -137,6 +124,35 @@ Sempre podes copiar e colar a ligazón.'; $lang['js']['linkwiz'] = 'Asistente de ligazóns'; $lang['js']['linkto'] = 'Ligazón para:'; $lang['js']['del_confirm'] = 'Estás certo de quereres eliminar os elementos seleccionados?'; +$lang['js']['restore_confirm'] = 'Realmente desexas restaurar esta versión?'; +$lang['js']['media_diff'] = 'Ver as diferencias:'; +$lang['js']['media_diff_both'] = 'Cara a Cara'; +$lang['js']['media_diff_opacity'] = 'Opacidade'; +$lang['js']['media_diff_portions'] = 'Porcións'; +$lang['js']['media_select'] = 'Selecciona arquivos...'; +$lang['js']['media_upload_btn'] = 'Subir'; +$lang['js']['media_done_btn'] = 'Feito'; +$lang['js']['media_drop'] = 'Solta aquí os arquivos a subir'; +$lang['js']['media_cancel'] = 'eliminar'; +$lang['js']['media_overwrt'] = 'Sobreescribir os arquivos existentes'; +$lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; +$lang['nothingfound'] = 'Non se atopou nada.'; +$lang['mediaselect'] = 'Arquivos-Media'; +$lang['fileupload'] = 'Subida de Arquivos-Media'; +$lang['uploadsucc'] = 'Subida correcta'; +$lang['uploadfail'] = 'Erra na subida. Pode que sexa un problema de permisos?'; +$lang['uploadwrong'] = 'Subida denegada. Esta extensión de arquivo non está permitida!'; +$lang['uploadexist'] = 'Xa existe o arquivo. Non se fixo nada.'; +$lang['uploadbadcontent'] = 'O contido subido non concorda coa extensión do arquivo %s.'; +$lang['uploadspam'] = 'A subida foi bloqueada pola lista negra de correo-lixo.'; +$lang['uploadxss'] = 'A subida foi bloqueada por un posíbel contido malicioso.'; +$lang['uploadsize'] = 'O arquivo subido é grande de máis. (máx. %s)'; +$lang['deletesucc'] = 'O arquivo "%s" foi eliminado.'; +$lang['deletefail'] = '"%s" non puido ser eliminado - comproba os permisos.'; +$lang['mediainuse'] = 'O arquivo "%s" non foi eliminado - aínda está en uso.'; +$lang['namespaces'] = 'Nomes de espazos'; +$lang['mediafiles'] = 'Arquivos dispoñíbeis en'; +$lang['accessdenied'] = 'Non tes permitido ver esta páxina.'; $lang['mediausage'] = 'Emprega a seguinte sintaxe para inserires unha referencia a este arquivo:'; $lang['mediaview'] = 'Ver arquivo orixinal'; $lang['mediaroot'] = 'raigaña'; @@ -152,6 +168,10 @@ $lang['current'] = 'actual'; $lang['yours'] = 'A túa Versión'; $lang['diff'] = 'Amosar diferenzas coa versión actual'; $lang['diff2'] = 'Amosar diferenzas entre as revisións seleccionadas'; +$lang['difflink'] = 'Enlazar a esta vista de comparación'; +$lang['diff_type'] = 'Ver diferenzas:'; +$lang['diff_inline'] = 'Por liña'; +$lang['diff_side'] = 'Cara a Cara'; $lang['line'] = 'Liña'; $lang['breadcrumb'] = 'Trazado'; $lang['youarehere'] = 'Estás aquí'; @@ -169,6 +189,10 @@ $lang['mail_changed'] = 'páxina mudada:'; $lang['mail_subscribe_list'] = 'páxinas mudadas en nome de espazo:'; $lang['mail_new_user'] = 'Novo usuario:'; $lang['mail_upload'] = 'arquivo subido:'; +$lang['changes_type'] = 'Ver cambios'; +$lang['pages_changes'] = 'Páxinas'; +$lang['media_changes'] = 'Arquivos-Media'; +$lang['both_changes'] = 'Ambos, páxinas e arquivos-media'; $lang['qb_bold'] = 'Texto Resaltado'; $lang['qb_italic'] = 'Texto en Cursiva'; $lang['qb_underl'] = 'Texto Subliñado'; @@ -209,6 +233,9 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Formato'; $lang['img_camera'] = 'Cámara'; $lang['img_keywords'] = 'Verbas chave'; +$lang['img_width'] = 'Ancho'; +$lang['img_height'] = 'Alto'; +$lang['img_manager'] = 'Ver no xestor de arquivos-media'; $lang['subscr_subscribe_success'] = 'Engadido %s á lista de subscrición para %s'; $lang['subscr_subscribe_error'] = 'Erro ao tentar engadir %s á lista de subscrición para %s'; $lang['subscr_subscribe_noaddress'] = 'Non hai enderezos asociados co teu inicio de sesión, non é posíbel engadirte á lista de subscrición'; @@ -252,6 +279,7 @@ $lang['i_pol0'] = 'Wiki Aberto (lectura, escritura, subida de arq $lang['i_pol1'] = 'Wiki Público (lectura para todas as persoas, escritura e subida de arquivos para usuarios rexistrados)'; $lang['i_pol2'] = 'Wiki Fechado (lectura, escritura, subida de arquivos só para usuarios rexistrados)'; $lang['i_retry'] = 'Tentar de novo'; +$lang['i_license'] = 'Por favor escolla a licenza para o contido:'; $lang['mu_intro'] = 'Aquí podes subir varios arquivos de vez. Preme o botón Navegar para engadilos á cola. Preme en Subir cando remates.'; $lang['mu_gridname'] = 'Nome de Arquivo'; $lang['mu_gridsize'] = 'Tamaño'; @@ -275,3 +303,28 @@ $lang['days'] = 'hai %d días'; $lang['hours'] = 'hai %d horas'; $lang['minutes'] = 'hai %d minutos'; $lang['seconds'] = 'hai %d segundos'; +$lang['wordblock'] = 'Non se gardaron os cambios porque conteñen texto bloqueado (spam).'; +$lang['media_uploadtab'] = 'Subir'; +$lang['media_searchtab'] = 'Buscar'; +$lang['media_file'] = 'Arquivo'; +$lang['media_viewtab'] = 'Ver'; +$lang['media_edittab'] = 'Editar'; +$lang['media_historytab'] = 'Histórico'; +$lang['media_list_thumbs'] = 'Miniaturas'; +$lang['media_list_rows'] = 'Filas'; +$lang['media_sort_name'] = 'Nome'; +$lang['media_sort_date'] = 'Data'; +$lang['media_namespaces'] = 'Escolla espazo'; +$lang['media_files'] = 'Arquivos en %s'; +$lang['media_upload'] = 'Subir a %s'; +$lang['media_search'] = 'Buscar en %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s en %s'; +$lang['media_edit'] = 'Editar %s'; +$lang['media_history'] = 'Historia de %s'; +$lang['media_meta_edited'] = 'datos meta editados'; +$lang['media_perm_read'] = 'Sentímolo, non tes permisos suficientes para ler arquivos.'; +$lang['media_perm_upload'] = 'Sentímolo, non tes permisos suficientes para subir arquivos.'; +$lang['media_update'] = 'Subir nova versión'; +$lang['media_restore'] = 'Restaurar esta versión'; +$lang['plugin_install_err'] = 'Extensión instalada correctamente. Re-nomea o directorio da extensión de \'%s\' a \'%s\'.'; -- cgit v1.2.3 From 063fb5b5da7db55f0f8532aef9d5eda458d73b71 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 9 Jan 2012 22:28:27 +0100 Subject: do not rely on tmpfile() in the AJAX uploader backend FS#2417 --- inc/media.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index af4647ecb..508869b3b 100644 --- a/inc/media.php +++ b/inc/media.php @@ -230,16 +230,18 @@ function media_upload_xhr($ns,$auth){ $id = $_GET['qqfile']; list($ext,$mime,$dl) = mimetype($id); $input = fopen("php://input", "r"); - $temp = tmpfile(); - $realSize = stream_copy_to_stream($input, $temp); - fclose($input); - if ($realSize != (int)$_SERVER["CONTENT_LENGTH"]) return false; if (!($tmp = io_mktmpdir())) return false; $path = $tmp.'/'.md5($id); $target = fopen($path, "w"); - fseek($temp, 0, SEEK_SET); - stream_copy_to_stream($temp, $target); + $realSize = stream_copy_to_stream($input, $target); fclose($target); + fclose($input); + if ($realSize != (int)$_SERVER["CONTENT_LENGTH"]){ + unlink($target); + unlink($path); + return false; + } + $res = media_save( array('name' => $path, 'mime' => $mime, -- cgit v1.2.3 From 2dba8df4d3a5c3e9d104bee5290766929f4cabee Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 13 Jan 2012 10:02:32 +0100 Subject: Fix sorting in media manager search (FS#2423) --- inc/media.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 508869b3b..29c3d0153 100644 --- a/inc/media.php +++ b/inc/media.php @@ -759,7 +759,7 @@ function media_tab_search($ns,$auth=null) { echo ''.NL; -- cgit v1.2.3 From 02eb484f1af2dd64a078b53cb5bcfe2a832022ec Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 12 Jan 2012 17:28:22 +0100 Subject: always show full filename as tooltip in mediamanager --- inc/media.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 29c3d0153..8ff0a7d14 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1352,7 +1352,7 @@ function media_printfile($item,$auth,$jump,$display_namespace=false){ $info .= filesize_h($item['size']); // output - echo '
'.NL; + echo '
'.NL; if (!$display_namespace) { echo ''.hsc($file).' '; } else { @@ -1413,7 +1413,7 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false $file = utf8_decodeFN($item['file']); // output - echo '
  • '.NL; + echo '
  • '.NL; echo '
    '; if($item['isimg']) { -- cgit v1.2.3 From b8a84c03383cce9c6b85f9d742ae06fac02dd6cd Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 12 Jan 2012 18:34:48 +0100 Subject: readded missing "view original" button to the new media manager Template authors need to update their _mediamanager.css --- inc/template.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index 476ef74a3..9d1609fd3 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1202,7 +1202,16 @@ function tpl_mediaFileDetails($image, $rev){ media_tabs_details($image, $opened_tab); - echo '

    '; + echo '
    '; + + // view button + if($opened_tab === 'view'){ + $link = ml($image,array('rev'=>$rev),true); + echo ' '; + } + + echo '

    '; list($ext,$mime,$dl) = mimetype($image,false); $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext); $class = 'select mediafile mf_'.$class; @@ -1212,6 +1221,7 @@ function tpl_mediaFileDetails($image, $rev){ } else { printf($lang['media_' . $opened_tab], $tabTitle); } + echo '

    '.NL; echo '
    '.NL; -- cgit v1.2.3 From d5a60123788a782751806b76bcba14270951a9e3 Mon Sep 17 00:00:00 2001 From: Begina Felicysym Date: Fri, 13 Jan 2012 10:09:44 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'inc') diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 98536033c..37d842c44 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -135,6 +135,8 @@ $lang['js']['del_confirm'] = 'Czy na pewno usunąć?'; $lang['js']['restore_confirm'] = 'Naprawdę przywrócić tą wersję?'; $lang['js']['media_diff'] = 'Pokaż różnice:'; $lang['js']['media_diff_both'] = 'Obok siebie'; +$lang['js']['media_diff_opacity'] = 'Przezroczystość'; +$lang['js']['media_diff_portions'] = 'Przesunięcie'; $lang['js']['media_select'] = 'Wybierz pliki...'; $lang['js']['media_upload_btn'] = 'Przesłanie plików'; $lang['js']['media_done_btn'] = 'Zrobione'; -- cgit v1.2.3 From 23735ba4c5021df9ab8c1b4a0e8322cebdaf5931 Mon Sep 17 00:00:00 2001 From: lupo49 Date: Fri, 13 Jan 2012 20:07:29 +0100 Subject: localization: removed strings from old flashuploader --- inc/lang/af/lang.php | 2 -- inc/lang/ar/lang.php | 15 --------------- inc/lang/az/lang.php | 15 --------------- inc/lang/bg/lang.php | 16 ---------------- inc/lang/ca-valencia/lang.php | 15 --------------- inc/lang/ca/lang.php | 15 --------------- inc/lang/cs/lang.php | 15 --------------- inc/lang/da/lang.php | 15 --------------- inc/lang/de-informal/lang.php | 15 --------------- inc/lang/de/lang.php | 15 --------------- inc/lang/el/lang.php | 15 --------------- inc/lang/en/lang.php | 16 ---------------- inc/lang/eo/lang.php | 15 --------------- inc/lang/es/lang.php | 15 --------------- inc/lang/et/lang.php | 9 --------- inc/lang/eu/lang.php | 15 --------------- inc/lang/fa/lang.php | 15 --------------- inc/lang/fi/lang.php | 15 --------------- inc/lang/fr/lang.php | 15 --------------- inc/lang/gl/lang.php | 15 --------------- inc/lang/he/lang.php | 15 --------------- inc/lang/hi/lang.php | 7 ------- inc/lang/hr/lang.php | 15 --------------- inc/lang/hu/lang.php | 15 --------------- inc/lang/ia/lang.php | 15 --------------- inc/lang/id/lang.php | 11 ----------- inc/lang/is/lang.php | 7 ------- inc/lang/it/lang.php | 15 --------------- inc/lang/ja/lang.php | 15 --------------- inc/lang/ko/lang.php | 15 --------------- inc/lang/la/lang.php | 15 --------------- inc/lang/lb/lang.php | 15 --------------- inc/lang/lt/lang.php | 11 ----------- inc/lang/lv/lang.php | 15 --------------- inc/lang/mk/lang.php | 14 -------------- inc/lang/mr/lang.php | 13 ------------- inc/lang/ne/lang.php | 13 ------------- inc/lang/nl/lang.php | 15 --------------- inc/lang/no/lang.php | 15 --------------- inc/lang/pl/lang.php | 15 --------------- inc/lang/pt-br/lang.php | 15 --------------- inc/lang/pt/lang.php | 15 --------------- inc/lang/ro/lang.php | 15 --------------- inc/lang/ru/lang.php | 16 ---------------- inc/lang/sk/lang.php | 15 --------------- inc/lang/sl/lang.php | 15 --------------- inc/lang/sq/lang.php | 15 --------------- inc/lang/sr/lang.php | 15 --------------- inc/lang/sv/lang.php | 15 --------------- inc/lang/th/lang.php | 15 --------------- inc/lang/tr/lang.php | 13 ------------- inc/lang/uk/lang.php | 15 --------------- inc/lang/zh-tw/lang.php | 15 --------------- inc/lang/zh/lang.php | 16 +--------------- 54 files changed, 1 insertion(+), 763 deletions(-) (limited to 'inc') diff --git a/inc/lang/af/lang.php b/inc/lang/af/lang.php index 6665196f4..16e9a2822 100644 --- a/inc/lang/af/lang.php +++ b/inc/lang/af/lang.php @@ -71,5 +71,3 @@ $lang['img_date'] = 'Datem'; $lang['img_camera'] = 'Camera'; $lang['i_wikiname'] = 'Wiki Naam'; $lang['i_funcna'] = 'PHP funksie %s is nie beskibaar nie. Miskien is dit af gehaal.'; -$lang['mu_toobig'] = 'te groet'; -$lang['mu_done'] = 'klaar'; diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 02a62fe94..11c111505 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -266,21 +266,6 @@ $lang['i_pol1'] = 'ويكي عامة؛ أي القراءة للج $lang['i_pol2'] = 'ويكي مغلقة؛ أي القراءة والكتابة والتحميل للمشتركين المسجلين فقط'; $lang['i_retry'] = 'إعادة المحاولة'; $lang['i_license'] = 'اختر الرخصة التي تريد وضع المحتوى تحتها:'; -$lang['mu_intro'] = 'هنا يمكنك رفع ملفات متعددة في وقت واحد. انقر على زر استعرض لاضافتهم إلى الطابور. انقر ارفع عند الانتهاء.'; -$lang['mu_gridname'] = 'اسم الملف'; -$lang['mu_gridsize'] = 'الحجم'; -$lang['mu_gridstat'] = 'الحالة'; -$lang['mu_namespace'] = 'نطاق'; -$lang['mu_browse'] = 'استعرض'; -$lang['mu_toobig'] = 'كبير جدا'; -$lang['mu_ready'] = 'جاهز للرفع'; -$lang['mu_done'] = 'اكتمل'; -$lang['mu_fail'] = 'فشل'; -$lang['mu_authfail'] = 'انتهت الجلسة'; -$lang['mu_progress'] = 'رُفع @PCT@% '; -$lang['mu_filetypes'] = 'انواع الملفات المسموحة'; -$lang['mu_info'] = 'تم رفع الملفات'; -$lang['mu_lasterr'] = 'آخر خطأ:'; $lang['recent_global'] = 'انت تراقب حاليا التغييرات داخل نطاق %s. يمكنك أيضا عرض أحدث تغييرات الويكي كلها.'; $lang['years'] = '%d سنة مضت'; $lang['months'] = '%d شهرا مضى'; diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php index 13ba7b3c3..25b44efdc 100644 --- a/inc/lang/az/lang.php +++ b/inc/lang/az/lang.php @@ -217,21 +217,6 @@ $lang['i_pol0'] = 'Tam açıq wiki (oxumaq, yazmaq, fayl yükləm $lang['i_pol1'] = 'Acıq wiki (oxumaq hamıya olar, yazmaq və fayl yükləmək ancaq üzv olan istifadəçilərə olar)'; $lang['i_pol2'] = 'Bağlı wiki (uxumaq, yazmaq və yükləmək ancaq üzv olan istifadəçilərə olar)'; $lang['i_retry'] = 'Cəhdi təkrarla'; -$lang['mu_intro'] = 'Burda siz bir neçə faylı birdən yükləyə bilərsiniz. Fayl əlavə etmək üçün "fayl seç" düyməsini sıxın. Sonda "yüklə" düyməsini sıxın.'; -$lang['mu_gridname'] = 'Faylın adı'; -$lang['mu_gridsize'] = 'Həcmi'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Fayl seç'; -$lang['mu_toobig'] = 'çox böyükdür'; -$lang['mu_ready'] = 'yükləməyə hazırdı'; -$lang['mu_done'] = 'başa çatdı'; -$lang['mu_fail'] = 'xəta baş verdi'; -$lang['mu_authfail'] = 'sessiyanın vaxtı bitdi'; -$lang['mu_progress'] = '@PCT@% yükləndi'; -$lang['mu_filetypes'] = 'İçazə olan fayl növləri'; -$lang['mu_info'] = 'fayllar yükləndi.'; -$lang['mu_lasterr'] = 'Son xəta:'; $lang['recent_global'] = '%s namespace-də baş vermiş dəyışıklərə baxırsınız. Siz həmçinin wiki-də bu yaxında baş vermiş bütün dəyişiklərə baxa bilərsiniz.'; $lang['years'] = '%d il əvvəl'; $lang['months'] = '%d ay əvvəl'; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 1c6c90703..b21fed9af 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -276,22 +276,6 @@ $lang['i_pol1'] = 'Публично Wiki (всеки може д $lang['i_pol2'] = 'Затворено Wiki (само регистрирани четат, пишат и качват)'; $lang['i_retry'] = 'Повторен опит'; $lang['i_license'] = 'Моля, изберете лиценз под който желаете да публикувате съдържанието:'; -$lang['mu_intro'] = 'От тук можете да качите няколко файла наведнъж. Натиснете бутона "Избиране", изберете файлове и натиснете "Качване". -'; -$lang['mu_gridname'] = 'Име на файла'; -$lang['mu_gridsize'] = 'Големина'; -$lang['mu_gridstat'] = 'Състояние'; -$lang['mu_namespace'] = 'Именно пространство'; -$lang['mu_browse'] = 'Избиране'; -$lang['mu_toobig'] = 'прекалено голям'; -$lang['mu_ready'] = 'готов за качване'; -$lang['mu_done'] = 'качен'; -$lang['mu_fail'] = 'неуспешно качване'; -$lang['mu_authfail'] = 'приключила сесия'; -$lang['mu_progress'] = '@PCT@% качен'; -$lang['mu_filetypes'] = 'Позволени файлови разширения'; -$lang['mu_info'] = 'качени файла.'; -$lang['mu_lasterr'] = 'Последна грешка:'; $lang['recent_global'] = 'В момента преглеждате промените в именно пространство %s. Може да прегледате и промените в цялото Wiki.'; $lang['years'] = 'преди %d години'; $lang['months'] = 'преди %d месеца'; diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php index eac9fc8d1..6317197ed 100644 --- a/inc/lang/ca-valencia/lang.php +++ b/inc/lang/ca-valencia/lang.php @@ -221,21 +221,6 @@ $lang['i_pol0'] = 'Wiki obert (llegir, escriure i enviar tots)'; $lang['i_pol1'] = 'Wiki públic (llegir tots, escriure i enviar només usuaris registrats)'; $lang['i_pol2'] = 'Wiki tancat (llegir, escriure i enviar només usuaris registrats)'; $lang['i_retry'] = 'Reintentar'; -$lang['mu_intro'] = 'Des d\'ací pot enviar diversos archius d\'una volta. Pulse el botó d\'examinar per a afegir-los a la coa. Pulse enviar quan ho tinga.'; -$lang['mu_gridname'] = 'Nom d\'archiu'; -$lang['mu_gridsize'] = 'Tamany'; -$lang['mu_gridstat'] = 'Estat'; -$lang['mu_namespace'] = 'Espai de noms'; -$lang['mu_browse'] = 'Examinar'; -$lang['mu_toobig'] = 'massa gran'; -$lang['mu_ready'] = 'preparat per a enviar'; -$lang['mu_done'] = 'complet'; -$lang['mu_fail'] = 'fallit'; -$lang['mu_authfail'] = 'la sessió ha vençut'; -$lang['mu_progress'] = '@PCT@% enviat'; -$lang['mu_filetypes'] = 'Classes d\'archiu permeses'; -$lang['mu_info'] = 'archius enviats.'; -$lang['mu_lasterr'] = 'Últim erro:'; $lang['recent_global'] = 'Està veent els canvis dins de l\'espai de noms %s. També pot vore els canvis recents en el wiki sancer.'; $lang['years'] = 'fa %d anys'; $lang['months'] = 'fa %d mesos'; diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php index 7094df5b4..81ef2c7fe 100644 --- a/inc/lang/ca/lang.php +++ b/inc/lang/ca/lang.php @@ -217,21 +217,6 @@ $lang['i_pol0'] = 'Wiki obert (tothom pot llegir, escriure i penj $lang['i_pol1'] = 'Wiki públic (tothom pot llegir, els usuaris registrats poden escriure i penjar fitxers)'; $lang['i_pol2'] = 'Wiki tancat (només els usuaris registrats poden llegir, escriure i penjar fitxers)'; $lang['i_retry'] = 'Reintenta'; -$lang['mu_intro'] = 'Aquí podeu penjar múltiples fitxers d\'una vegada. Feu clic en el botó Explora per afegir els fitxers a la cua. Després, premeu Penja.'; -$lang['mu_gridname'] = 'Nom del fitxer'; -$lang['mu_gridsize'] = 'Mida'; -$lang['mu_gridstat'] = 'Estat'; -$lang['mu_namespace'] = 'Espai'; -$lang['mu_browse'] = 'Explora'; -$lang['mu_toobig'] = 'massa gran'; -$lang['mu_ready'] = 'llest per a penjar'; -$lang['mu_done'] = 'complet'; -$lang['mu_fail'] = 'error'; -$lang['mu_authfail'] = 'la sessió ha vençut'; -$lang['mu_progress'] = 'càrrega @PCT@%'; -$lang['mu_filetypes'] = 'Tipus de fitxer permesos'; -$lang['mu_info'] = 'fitxers penjats.'; -$lang['mu_lasterr'] = 'Darrer error:'; $lang['recent_global'] = 'Esteu veient els canvis recents de l\'espai %s. També podeu veure els canvis recents de tot el wiki.'; $lang['years'] = 'fa %d anys'; $lang['months'] = 'fa %d mesos'; diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index c6eb7be49..badd57ac5 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -282,21 +282,6 @@ $lang['i_pol1'] = 'Veřejná wiki (čtení pro všechny, zápis a $lang['i_pol2'] = 'Uzavřená wiki (čtení, zápis a upload pouze pro registrované uživatele)'; $lang['i_retry'] = 'Zkusit znovu'; $lang['i_license'] = 'Vyberte prosím licenci obsahu:'; -$lang['mu_intro'] = 'Zde můžete načíst více souborů najednou. Pro přidání souborů do fronty stiskněte tlačítko "Procházet". Až budete hotovi, stiskněte "Načíst".'; -$lang['mu_gridname'] = 'Název souboru'; -$lang['mu_gridsize'] = 'Velikost'; -$lang['mu_gridstat'] = 'Stav'; -$lang['mu_namespace'] = 'Jmenný prostor'; -$lang['mu_browse'] = 'Procházet'; -$lang['mu_toobig'] = 'příliš velké'; -$lang['mu_ready'] = 'připraveno k načtení'; -$lang['mu_done'] = 'hotovo'; -$lang['mu_fail'] = 'selhalo'; -$lang['mu_authfail'] = 'vypršela session'; -$lang['mu_progress'] = '@PCT@% načten'; -$lang['mu_filetypes'] = 'Povolené typy souborů'; -$lang['mu_info'] = 'soubory načteny.'; -$lang['mu_lasterr'] = 'Poslední chyba:'; $lang['recent_global'] = 'Právě si prohlížíte změny ve jmenném prostoru %s. Také si můžete zobrazit změny v celé wiki.'; $lang['years'] = 'před %d roky'; $lang['months'] = 'před %d měsíci'; diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 0b6961921..e8a4e3fe9 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -262,21 +262,6 @@ $lang['i_pol1'] = 'Offentlig Wiki (alle kan læse, kun registrere $lang['i_pol2'] = 'Lukket Wiki (kun for registerede brugere kan læse, skrive og overføre)'; $lang['i_retry'] = 'Forsøg igen'; $lang['i_license'] = 'Vælg venligst licensen du vil tilføje dit indhold under:'; -$lang['mu_intro'] = 'Her kan du overføre flere filer af gangen. Klik på gennemse for at tilføje dem til køen. Tryk på overføre knappen når du er klar.'; -$lang['mu_gridname'] = 'Filnavn'; -$lang['mu_gridsize'] = 'Størrelse'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Navnerum'; -$lang['mu_browse'] = 'gennemse'; -$lang['mu_toobig'] = 'for stor'; -$lang['mu_ready'] = 'klar til overføre'; -$lang['mu_done'] = 'færdig'; -$lang['mu_fail'] = 'fejlede'; -$lang['mu_authfail'] = 'session udløb'; -$lang['mu_progress'] = '@PCT@% upload'; -$lang['mu_filetypes'] = 'Tilladte filtyper'; -$lang['mu_info'] = 'filer var overføret.'; -$lang['mu_lasterr'] = 'Sidste fejl:'; $lang['recent_global'] = 'Du ser lige nu ændringerne i %s navnerummet. Du kan også se de sidste ændringer for hele wiki siden '; $lang['years'] = '%d år siden'; $lang['months'] = '%d måned siden'; diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index 3779d6fb3..56751629c 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -288,21 +288,6 @@ $lang['i_pol1'] = 'Öffentliches Wiki (lesen für alle, schreiben $lang['i_pol2'] = 'Geschlossenes Wiki (lesen, schreiben, hochladen nur für registrierte Nutzer)'; $lang['i_retry'] = 'Wiederholen'; $lang['i_license'] = 'Bitte wähle die Lizenz aus unter der die Wiki-Inhalte veröffentlicht werden sollen:'; -$lang['mu_intro'] = 'In diesem Bereich kannst du mehrere Dateien gleichzeitig hochladen. Benutze die Schaltfläche "Durchsuchen", um sie der Warteschlange zuzufügen. Betätige die Schaltfläche "Hochladen", um die Übertragung zu starten.'; -$lang['mu_gridname'] = 'Dateiname'; -$lang['mu_gridsize'] = 'Größe'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namensraum'; -$lang['mu_browse'] = 'Durchsuchen'; -$lang['mu_toobig'] = 'zu groß'; -$lang['mu_ready'] = 'bereit zum Hochladen'; -$lang['mu_done'] = 'fertig'; -$lang['mu_fail'] = 'gescheitert'; -$lang['mu_authfail'] = 'Sitzung abgelaufen'; -$lang['mu_progress'] = '@PCT@% hochgeladen'; -$lang['mu_filetypes'] = 'Erlaubte Dateitypen'; -$lang['mu_info'] = 'Dateien hochgeladen.'; -$lang['mu_lasterr'] = 'Letzter Fehler:'; $lang['recent_global'] = 'Im Moment siehst du die Änderungen im Namensraum %s. Du kannst auch die Änderungen im gesamten Wiki sehen.'; $lang['years'] = 'vor %d Jahren'; $lang['months'] = 'vor %d Monaten'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 3bd326c84..4e7e6abbb 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -290,21 +290,6 @@ $lang['i_pol1'] = 'Öffentliches Wiki (lesen für alle, schreiben $lang['i_pol2'] = 'Geschlossenes Wiki (lesen, schreiben, hochladen nur für registrierte Nutzer)'; $lang['i_retry'] = 'Wiederholen'; $lang['i_license'] = 'Bitte wählen Sie die Lizenz, unter die Sie Ihre Inhalte stellen möchten:'; -$lang['mu_intro'] = 'In diesem Bereich können Sie mehrere Dateien gleichzeitig hochladen. Benutzen Sie die Schaltfläche "Durchsuchen" um sie der Warteschlange zuzufügen. Betätigen Sie die Schaltfläche "Hochladen" um die Übertragung zu starten.'; -$lang['mu_gridname'] = 'Dateiname'; -$lang['mu_gridsize'] = 'Größe'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namensraum'; -$lang['mu_browse'] = 'Durchsuchen'; -$lang['mu_toobig'] = 'zu groß'; -$lang['mu_ready'] = 'bereit zum Hochladen'; -$lang['mu_done'] = 'fertig'; -$lang['mu_fail'] = 'gescheitert'; -$lang['mu_authfail'] = 'Sitzung abgelaufen'; -$lang['mu_progress'] = '@PCT@% hochgeladen'; -$lang['mu_filetypes'] = 'Erlaubte Dateitypen'; -$lang['mu_info'] = 'Dateien hochgeladen!'; -$lang['mu_lasterr'] = 'Letzter Fehler:'; $lang['recent_global'] = 'Im Moment sehen Sie die Änderungen im Namensraum %s. Sie können auch die Änderungen im gesamten Wiki sehen.'; $lang['years'] = 'vor %d Jahren'; $lang['months'] = 'vor %d Monaten'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 4c334c1de..34a7d36e8 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -280,21 +280,6 @@ $lang['i_pol1'] = 'Δημόσιο Wiki (όλοι μπορούν $lang['i_pol2'] = 'Κλειστό Wiki (μόνο οι εγγεγραμμένοι χρήστες μπορούν να διαβάσουν ή να δημιουργήσουν/τροποποιήσουν σελίδες και να μεταφορτώσουν αρχεία)'; $lang['i_retry'] = 'Νέα προσπάθεια'; $lang['i_license'] = 'Παρακαλώ επιλέξτε την άδεια που θα χρησιμοποιήσετε για την διάθεση του περιεχομένου σας:'; -$lang['mu_intro'] = 'Εδώ μπορείτε να φορτώσετε ταυτόχρονα πολλαπλά αρχεία. Πατήστε στο κουμπί προεπισκόπησης για να τα προσθέσετε στη λίστα. Πατήστε στο κουμπί μεταφόρτωσης όταν έχετε τελειώσει.'; -$lang['mu_gridname'] = 'Όνομα αρχείου'; -$lang['mu_gridsize'] = 'Μέγεθος'; -$lang['mu_gridstat'] = 'Κατάσταση'; -$lang['mu_namespace'] = 'Φάκελος'; -$lang['mu_browse'] = 'Επισκόπηση'; -$lang['mu_toobig'] = 'υπερβολικά μεγάλο'; -$lang['mu_ready'] = 'έτοιμο για φόρτωση'; -$lang['mu_done'] = 'ολοκληρώθηκε'; -$lang['mu_fail'] = 'απέτυχε'; -$lang['mu_authfail'] = 'η συνεδρία έληξε'; -$lang['mu_progress'] = 'φορτώθηκε @PCT@%'; -$lang['mu_filetypes'] = 'Επιτρεπτοί τύποι αρχείων'; -$lang['mu_info'] = 'τα αρχεία ανέβηκαν.'; -$lang['mu_lasterr'] = 'Τελευταίο σφάλμα:'; $lang['recent_global'] = 'Βλέπετε τις αλλαγές εντός του φακέλου %s. Μπορείτε επίσης να δείτε τις πρόσφατες αλλαγές σε όλο το wiki.'; $lang['years'] = 'πριν %d χρόνια'; $lang['months'] = 'πριν %d μήνες'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 89a7c4d40..1bfff2897 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -304,22 +304,6 @@ $lang['i_pol2'] = 'Closed Wiki (read, write, upload for registere $lang['i_retry'] = 'Retry'; $lang['i_license'] = 'Please choose the license you want to put your content under:'; -$lang['mu_intro'] = 'Here you can upload multiple files at once. Click the browse button to add them to the queue. Press upload when done.'; -$lang['mu_gridname'] = 'Filename'; -$lang['mu_gridsize'] = 'Size'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Browse'; -$lang['mu_toobig'] = 'too big'; -$lang['mu_ready'] = 'ready for upload'; -$lang['mu_done'] = 'complete'; -$lang['mu_fail'] = 'failed'; -$lang['mu_authfail'] = 'session expired'; -$lang['mu_progress'] = '@PCT@% uploaded'; -$lang['mu_filetypes'] = 'Allowed Filetypes'; -$lang['mu_info'] = 'files uploaded.'; -$lang['mu_lasterr'] = 'Last error:'; - $lang['recent_global'] = 'You\'re currently watching the changes inside the %s namespace. You can also view the recent changes of the whole wiki.'; $lang['years'] = '%d years ago'; $lang['months'] = '%d months ago'; diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 01772726f..c8148c772 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -281,21 +281,6 @@ $lang['i_pol1'] = 'Publika Vikio (legi povas ĉiuj, skribi kaj al $lang['i_pol2'] = 'Ferma Vikio (legi, skribi, alŝuti nur povas registritaj uzantoj)'; $lang['i_retry'] = 'Reprovi'; $lang['i_license'] = 'Bonvolu elekti la permesilon, sub kiun vi volas meti vian enhavon:'; -$lang['mu_intro'] = 'Ĉi tie vi povas alŝuti plurajn dosierojn multope. Klaku la esplor-butonon por aldoni ilin al la vico. Premu alŝuti kiam prete.'; -$lang['mu_gridname'] = 'Dosiernomo'; -$lang['mu_gridsize'] = 'Grandeco'; -$lang['mu_gridstat'] = 'Stato'; -$lang['mu_namespace'] = 'Nomspaco'; -$lang['mu_browse'] = 'Esplori'; -$lang['mu_toobig'] = 'tro granda'; -$lang['mu_ready'] = 'preta por alŝuti'; -$lang['mu_done'] = 'plenumite'; -$lang['mu_fail'] = 'malsukcesinte'; -$lang['mu_authfail'] = 'sekcio tro longdaŭris'; -$lang['mu_progress'] = '@PCT@% alŝutite'; -$lang['mu_filetypes'] = 'Permesitaj dosiertipoj'; -$lang['mu_info'] = 'alŝutitaj dosieroj.'; -$lang['mu_lasterr'] = 'Lasta eraro:'; $lang['recent_global'] = 'Vi nun rigardas la ŝanĝojn ene de la nomspaco %s. Vi povas ankaŭ vidi la freŝajn ŝanĝojn de la tuta vikio.'; $lang['years'] = 'antaŭ %d jaroj'; $lang['months'] = 'antaŭ %d monatoj'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 7d365bfbe..28ff17a16 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -297,21 +297,6 @@ $lang['i_pol1'] = 'Wiki público (leer para todos, escribir y sub $lang['i_pol2'] = 'Wiki cerrado (leer, escribir y subir archivos para usuarios registrados únicamente)'; $lang['i_retry'] = 'Reintentar'; $lang['i_license'] = 'Por favor escoja una licencia bajo la que publicar su contenido:'; -$lang['mu_intro'] = 'Puedes subir varios archivos a la vez desde aquí. Pulsa el botón del navegador para agregarlos a la cola. Pulsa "subir archivo" para proceder.'; -$lang['mu_gridname'] = 'Nombre de archivo'; -$lang['mu_gridsize'] = 'Tamaño'; -$lang['mu_gridstat'] = 'Estado'; -$lang['mu_namespace'] = 'Espacio de nombres'; -$lang['mu_browse'] = 'Buscar'; -$lang['mu_toobig'] = 'demasiado grande'; -$lang['mu_ready'] = 'listo para subir'; -$lang['mu_done'] = 'completado'; -$lang['mu_fail'] = 'falló'; -$lang['mu_authfail'] = 'la sesión caducó'; -$lang['mu_progress'] = '@PCT@% transferido'; -$lang['mu_filetypes'] = 'Tipos de archivos permitidos'; -$lang['mu_info'] = 'Archivos subidos:'; -$lang['mu_lasterr'] = 'Último error:'; $lang['recent_global'] = 'Actualmente estás viendo los cambios dentro del namespace %s. También puedes ver los cambios recientes en el wiki completo.'; $lang['years'] = '%d años atrás'; $lang['months'] = '%d meses atrás'; diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php index 6cd2f437d..5d882f165 100644 --- a/inc/lang/et/lang.php +++ b/inc/lang/et/lang.php @@ -232,12 +232,3 @@ $lang['i_pol0'] = 'Avatud (lugemine, kirjutamine ja üleslaadimin $lang['i_pol1'] = 'Avalikuks lugemiseks (lugeda saavad kõik, kirjutada ja üles laadida vaid registreeritud kasutajad)'; $lang['i_pol2'] = 'Suletud (kõik õigused, kaasaarvatud lugemine on lubatud vaid registreeritud kasutajatele)'; $lang['i_retry'] = 'Proovi uuesti'; -$lang['mu_gridname'] = 'Failinimi'; -$lang['mu_gridsize'] = 'Suurus'; -$lang['mu_gridstat'] = 'Staatus'; -$lang['mu_browse'] = 'Sirvi'; -$lang['mu_toobig'] = 'liiga suur'; -$lang['mu_ready'] = 'valmis üleslaadimiseks'; -$lang['mu_done'] = 'valmis'; -$lang['mu_fail'] = 'ebaõnnestus'; -$lang['mu_lasterr'] = 'Viimane viga:'; diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index d02f281c3..367dfb5b5 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -256,21 +256,6 @@ $lang['i_pol1'] = 'Wiki Publikoa (irakurri edonorentzat, idatzi e $lang['i_pol2'] = 'Wiki Itxia (irakurri, idatzi, fitxategiak igo erregistratutako erabiltzaileentzat soilik)'; $lang['i_retry'] = 'Berriz saiatu'; $lang['i_license'] = 'Mesedez, aukeratu zein lizentzipean ezarri nahi duzun zure edukia:'; -$lang['mu_intro'] = 'Hemen hainbat fitxategi aldi berean igo ditzakezu. Egin klik nabigazio botoian hauek ilarara gehitzeko. Sakatu igo botoia prest egotean.'; -$lang['mu_gridname'] = 'Fitxategi izena'; -$lang['mu_gridsize'] = 'Tamaina'; -$lang['mu_gridstat'] = 'Egoera'; -$lang['mu_namespace'] = 'Izen-espazioa'; -$lang['mu_browse'] = 'Nabigatu'; -$lang['mu_toobig'] = 'handiegia'; -$lang['mu_ready'] = 'igotzeko prest'; -$lang['mu_done'] = 'amaitua'; -$lang['mu_fail'] = 'hutsegitea'; -$lang['mu_authfail'] = 'saioa iraungita'; -$lang['mu_progress'] = '@PCT@% igota'; -$lang['mu_filetypes'] = 'Onartutako Fitxategi Motak'; -$lang['mu_info'] = 'igotako fitxategiak.'; -$lang['mu_lasterr'] = 'Azken errorea;'; $lang['recent_global'] = 'Une honetan %s izen-espazioaren barneko aldaketak ikusten ari zara. Wiki osoaren azken aldaketak ere ikusi ditzakezu.'; $lang['years'] = 'duela %d urte'; $lang['months'] = 'duela %d hilabete'; diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index ac14ce07a..6609d243d 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -263,21 +263,6 @@ $lang['i_pol1'] = 'ویکی عمومی (همه می‌توانن $lang['i_pol2'] = 'ویکی بسته (فقط کاربران ثبت شده می‌توانند بخوانند، بنویسند و فایل ارسال کنند)'; $lang['i_retry'] = 'تلاش مجدد'; $lang['i_license'] = 'لطفن مجوز این محتوا را وارد کنید:'; -$lang['mu_intro'] = 'شما می‌توانید چندین فایل را با یک حرکت ارسال کنید. روی دکمه‌ی «بچر» کلیک کنید و فایل‌ها را به صف ارسال اضافه نمایید. سپس دکمه‌ی «ارسال» را فشار دهید. '; -$lang['mu_gridname'] = 'نام فایل'; -$lang['mu_gridsize'] = 'اندازه'; -$lang['mu_gridstat'] = 'وضعیت'; -$lang['mu_namespace'] = 'فضای‌نام'; -$lang['mu_browse'] = 'بچر'; -$lang['mu_toobig'] = 'خیلی بزرگ'; -$lang['mu_ready'] = 'آماده‌ی ارسال'; -$lang['mu_done'] = 'کامل'; -$lang['mu_fail'] = 'شکست خورد'; -$lang['mu_authfail'] = 'سشن به پایان رسید'; -$lang['mu_progress'] = '@PCT@% ارسال شد'; -$lang['mu_filetypes'] = 'توسعه‌های مجاز'; -$lang['mu_info'] = 'فایل ارسال گردید'; -$lang['mu_lasterr'] = 'آخرین خطا:'; $lang['recent_global'] = 'شما هم‌اکنون تغییرات فضای‌نام %s را مشاهده می‌کنید. شما هم‌چنین می‌توانید تغییرات اخیر در کل ویکی را مشاهده نمایید.'; $lang['years'] = '%d سال پیش'; $lang['months'] = '%d ماه پیش'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 3477f15a3..eb2f57b0e 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -279,21 +279,6 @@ $lang['i_pol1'] = 'Julkinen Wiki (luku kaikilla, kirjoitus ja tie $lang['i_pol2'] = 'Suljettu Wiki (luku, kirjoitus ja tiedostojen lähetys vain rekisteröityneillä käyttäjillä)'; $lang['i_retry'] = 'Yritä uudelleen'; $lang['i_license'] = 'Valitse lisenssi, jonka alle haluat sisältösi laittaa:'; -$lang['mu_intro'] = 'Täällä voit lähettää useampia tiedostoja kerralla. Klikkaa Selaa-nappia lisätäksesi ne jonoon. Paina lähetä, kun olet valmis.'; -$lang['mu_gridname'] = 'Tiedoston nimi'; -$lang['mu_gridsize'] = 'Koko'; -$lang['mu_gridstat'] = 'Tilanne'; -$lang['mu_namespace'] = 'Nimiavaruus'; -$lang['mu_browse'] = 'Selaa'; -$lang['mu_toobig'] = 'liian iso'; -$lang['mu_ready'] = 'valmis lähetettäväksi'; -$lang['mu_done'] = 'valmis'; -$lang['mu_fail'] = 'epäonnistui'; -$lang['mu_authfail'] = 'istunto on vanhentunut'; -$lang['mu_progress'] = '@PCT@% lähetetty'; -$lang['mu_filetypes'] = 'Sallitut tyypit'; -$lang['mu_info'] = 'tiedostoa ladattu.'; -$lang['mu_lasterr'] = 'Edellinen virhe:'; $lang['recent_global'] = 'Seuraat tällä hetkellä muutoksia nimiavaruuden %s sisällä. Voit myös katsoa muutoksia koko wikissä'; $lang['years'] = '%d vuotta sitten'; $lang['months'] = '%d kuukautta sitten'; diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index f92ea92d9..309ac22e3 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -292,21 +292,6 @@ $lang['i_pol1'] = 'Wiki public (lecture pour tout le monde, écri $lang['i_pol2'] = 'Wiki fermé (lecture, écriture, envoi de fichiers pour les utilisateurs enregistrés uniquement)'; $lang['i_retry'] = 'Réessayer'; $lang['i_license'] = 'Veuillez choisir la licence sous laquelle placer votre contenu :'; -$lang['mu_intro'] = 'Ici vous pouvez envoyer plusieurs fichiers en même temps. Cliquez sur le bouton parcourir pour les ajouter. Cliquez sur envoyer lorsque c\'est prêt. '; -$lang['mu_gridname'] = 'Nom du fichier'; -$lang['mu_gridsize'] = 'Taille'; -$lang['mu_gridstat'] = 'État'; -$lang['mu_namespace'] = 'Catégorie'; -$lang['mu_browse'] = 'Parcourir'; -$lang['mu_toobig'] = 'Trop gros'; -$lang['mu_ready'] = 'Prêt à envoyer'; -$lang['mu_done'] = 'Terminé'; -$lang['mu_fail'] = 'Échoué'; -$lang['mu_authfail'] = 'Session expirée'; -$lang['mu_progress'] = '@PCT@% envoyé'; -$lang['mu_filetypes'] = 'Types de fichiers acceptés'; -$lang['mu_info'] = 'fichiers envoyés.'; -$lang['mu_lasterr'] = 'Dernière erreur : '; $lang['recent_global'] = 'Vous êtes actuellement en train de regarder les modifications au sein de la catégorie %s. Vous pouvez aussi voir les récentes modifications sur tout le wiki.'; $lang['years'] = 'il y a %d ans'; $lang['months'] = 'il y a %d mois'; diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index a4c218510..329820333 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -280,21 +280,6 @@ $lang['i_pol1'] = 'Wiki Público (lectura para todas as persoas, $lang['i_pol2'] = 'Wiki Fechado (lectura, escritura, subida de arquivos só para usuarios rexistrados)'; $lang['i_retry'] = 'Tentar de novo'; $lang['i_license'] = 'Por favor escolla a licenza para o contido:'; -$lang['mu_intro'] = 'Aquí podes subir varios arquivos de vez. Preme o botón Navegar para engadilos á cola. Preme en Subir cando remates.'; -$lang['mu_gridname'] = 'Nome de Arquivo'; -$lang['mu_gridsize'] = 'Tamaño'; -$lang['mu_gridstat'] = 'Estado'; -$lang['mu_namespace'] = 'Nome de Espazo'; -$lang['mu_browse'] = 'Navegar'; -$lang['mu_toobig'] = 'grande de máis'; -$lang['mu_ready'] = 'disposto para subir'; -$lang['mu_done'] = 'feito'; -$lang['mu_fail'] = 'fallou'; -$lang['mu_authfail'] = 'sesión expirada'; -$lang['mu_progress'] = '@PCT@% subido'; -$lang['mu_filetypes'] = 'Tipos de arquivo Permitidos'; -$lang['mu_info'] = 'arquivos subidos.'; -$lang['mu_lasterr'] = 'Último erro:'; $lang['recent_global'] = 'Agora mesmo estás a ver os trocos no nome de espazo %s. Tamén podes ver os trocos recentes no Wiki enteiro.'; $lang['years'] = 'hai %d anos'; $lang['months'] = 'hai %d meses'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index f295e44a9..1c0c82212 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -259,21 +259,6 @@ $lang['i_pol1'] = ' ויקי ציבורי (קריאה לכולם, $lang['i_pol2'] = 'ויקי סגור (קריאה, כתיבה והעלאה למשתמשים רשומים בלבד)'; $lang['i_retry'] = 'ניסיון נוסף'; $lang['i_license'] = 'נא לבחור את הרישיון שיחול על התוכן שבוויקי שלך:'; -$lang['mu_intro'] = 'דרך כאן ניתן להעלות מספר קבצים בבת אחת. יש ללחוץ על לחצן החיפוש להוסיף אותם למחסנית. ניתן ללחוץ על העלאה לסיום.'; -$lang['mu_gridname'] = 'שם הקובץ'; -$lang['mu_gridsize'] = 'גודל'; -$lang['mu_gridstat'] = 'מצב'; -$lang['mu_namespace'] = 'מרחב שם'; -$lang['mu_browse'] = 'חיפוש'; -$lang['mu_toobig'] = 'גדול מדי'; -$lang['mu_ready'] = 'בהמתנה להעלאה'; -$lang['mu_done'] = 'הסתיים'; -$lang['mu_fail'] = 'נכשל'; -$lang['mu_authfail'] = 'תוקף ההפעלה פג'; -$lang['mu_progress'] = '@PCT@% הועלה'; -$lang['mu_filetypes'] = 'סוגי קבצים מורשים'; -$lang['mu_info'] = 'הקבצים הועלו'; -$lang['mu_lasterr'] = 'שגיאה אחרונה:'; $lang['recent_global'] = 'נכון לעכשיו מתנהל על ידיך מעקב אחר מרחב השם %s. כמו כן, באפשרותך לצפות בשינויים האחרונים בוויקי כולו.'; $lang['years'] = 'לפני %d שנים'; $lang['months'] = 'לפני %d חודשים'; diff --git a/inc/lang/hi/lang.php b/inc/lang/hi/lang.php index 00e5589d8..2a9e20a9e 100644 --- a/inc/lang/hi/lang.php +++ b/inc/lang/hi/lang.php @@ -116,10 +116,3 @@ $lang['i_installer'] = 'डोकुविकी इंस्टॉल $lang['i_wikiname'] = 'विकी का नाम'; $lang['i_superuser'] = 'महाउपयोगकर्ता'; $lang['i_retry'] = 'पुनःप्रयास'; -$lang['mu_gridsize'] = 'आकार'; -$lang['mu_gridstat'] = 'स्थिति'; -$lang['mu_browse'] = 'ब्राउज़'; -$lang['mu_toobig'] = 'बहुत बड़ा'; -$lang['mu_ready'] = 'अपलोड करने के लिए तैयार'; -$lang['mu_done'] = 'पूर्ण'; -$lang['mu_fail'] = 'असफल'; diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php index ef10d7720..79a6cc3b0 100644 --- a/inc/lang/hr/lang.php +++ b/inc/lang/hr/lang.php @@ -257,21 +257,6 @@ $lang['i_pol1'] = 'Javni Wiki (čitanje za sve, pisanje i učitav $lang['i_pol2'] = 'Zatvoreni Wiki (čitanje, pisanje, učitavanje samo za registrirane korisnike)'; $lang['i_retry'] = 'Pokušaj ponovo'; $lang['i_license'] = 'Molim odaberite licencu pod kojom želite postavljati vaš sadržaj:'; -$lang['mu_intro'] = 'Ovdje možeš učitati više datoteka odjednom. Klikni gumb pregled te ih dodajte u red. Pritisnite učitaj kad ste gotovi.'; -$lang['mu_gridname'] = 'Naziv datoteke'; -$lang['mu_gridsize'] = 'Veličina'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Imenski prostor'; -$lang['mu_browse'] = 'Pregled'; -$lang['mu_toobig'] = 'prevelik'; -$lang['mu_ready'] = 'spremno za učitavanje'; -$lang['mu_done'] = 'gotovo'; -$lang['mu_fail'] = 'nije uspio'; -$lang['mu_authfail'] = 'sjednica istekla'; -$lang['mu_progress'] = '@PCT@% učitan'; -$lang['mu_filetypes'] = 'Dozvoljeni tipovi datoteka'; -$lang['mu_info'] = 'datoteke učitane.'; -$lang['mu_lasterr'] = 'Posljednja greška:'; $lang['recent_global'] = 'Trenutno gledate promjene unutar %s imenskog prostora. Također možete vidjeti zadnje promjene cijelog wiki-a'; $lang['years'] = '%d godina prije'; $lang['months'] = '%d mjeseci prije'; diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php index 23419a2bd..a44fd9317 100644 --- a/inc/lang/hu/lang.php +++ b/inc/lang/hu/lang.php @@ -262,21 +262,6 @@ $lang['i_pol1'] = 'Publikus Wiki (mindenki olvashatja, de csak re $lang['i_pol2'] = 'Zárt Wiki (csak regisztrált felhasználók olvashatják, írhatják és tölthetnek fel fájlokat)'; $lang['i_retry'] = 'Újra'; $lang['i_license'] = 'Kérlek válassz licenszt a feltöltött tartalomhoz:'; -$lang['mu_intro'] = 'Itt több fájlt is fel tudsz tölteni egyszerre. Kattints a "Kiválaszt" gombra és add hozzá a listához. Nyomd meg a Feltöltés gombot, amikor elkészültél.'; -$lang['mu_gridname'] = 'Fájlnév'; -$lang['mu_gridsize'] = 'Méret'; -$lang['mu_gridstat'] = 'Állapot'; -$lang['mu_namespace'] = 'Névtér'; -$lang['mu_browse'] = 'Kiválaszt'; -$lang['mu_toobig'] = 'túl nagy'; -$lang['mu_ready'] = 'feltöltésre kész'; -$lang['mu_done'] = 'kész'; -$lang['mu_fail'] = 'hibás'; -$lang['mu_authfail'] = 'session lejárt'; -$lang['mu_progress'] = '@PCT@% feltöltve'; -$lang['mu_filetypes'] = 'Megengedett fájltípusok'; -$lang['mu_info'] = 'Fájlok feltöltve.'; -$lang['mu_lasterr'] = 'Utolsó hiba:'; $lang['recent_global'] = 'Jelenleg csak a %s névtér friss változásai látszanak. Megtekinthetők a teljes wiki friss változásai is.'; $lang['years'] = '%d évvel ezelőtt'; $lang['months'] = '%d hónappal ezelőtt'; diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index 8398f29f0..c336d8541 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -257,21 +257,6 @@ $lang['i_pol0'] = 'Wiki aperte (lectura, scriptura, incargamento $lang['i_pol1'] = 'Wiki public (lectura pro omnes, scriptura e incargamento pro usatores registrate)'; $lang['i_pol2'] = 'Wiki claudite (lectura, scriptura e incargamento solmente pro usatores registrate)'; $lang['i_retry'] = 'Reprobar'; -$lang['mu_intro'] = 'Hic tu pote incargar plure files insimul. Clicca super le button Navigar pro adder los al cauda. Preme Incargar quando tu ha finite.'; -$lang['mu_gridname'] = 'Nomine de file'; -$lang['mu_gridsize'] = 'Dimension'; -$lang['mu_gridstat'] = 'Stato'; -$lang['mu_namespace'] = 'Spatio de nomines'; -$lang['mu_browse'] = 'Navigar'; -$lang['mu_toobig'] = 'troppo grande'; -$lang['mu_ready'] = 'preste pro incargamento'; -$lang['mu_done'] = 'complete'; -$lang['mu_fail'] = 'fallite'; -$lang['mu_authfail'] = 'session expirate'; -$lang['mu_progress'] = '@PCT@% incargate'; -$lang['mu_filetypes'] = 'Typos de file permittite'; -$lang['mu_info'] = 'files incargate.'; -$lang['mu_lasterr'] = 'Ultime error:'; $lang['recent_global'] = 'Tu observa actualmente le modificationes intra le spatio de nomines %s. Tu pote etiam vider le modificationes recente de tote le wiki.'; $lang['years'] = '%d annos retro'; $lang['months'] = '%d menses retro'; diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index e8026acee..9df252225 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -197,14 +197,3 @@ $lang['i_pol0'] = 'Wiki Terbuka (baca, tulis, upload untuk semua $lang['i_pol1'] = 'Wiki Publik (baca untuk semua orang, tulis dan upload untuk pengguna terdaftar)'; $lang['i_pol2'] = 'Wiki Privat (baca, tulis dan upload hanya untuk pengguna terdaftar)'; $lang['i_retry'] = 'Coba Lagi'; -$lang['mu_gridname'] = 'Nama file'; -$lang['mu_gridsize'] = 'Ukuran'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namaspace'; -$lang['mu_browse'] = 'Jelajah'; -$lang['mu_ready'] = 'Siap untuk uplod'; -$lang['mu_done'] = 'Selesai'; -$lang['mu_fail'] = 'Gagal'; -$lang['mu_authfail'] = 'sesi habis'; -$lang['mu_progress'] = '@PCT@% uploaded'; -$lang['mu_filetypes'] = 'Izinkan tipe file'; diff --git a/inc/lang/is/lang.php b/inc/lang/is/lang.php index 0e281e58d..caf098ee6 100644 --- a/inc/lang/is/lang.php +++ b/inc/lang/is/lang.php @@ -185,10 +185,3 @@ $lang['img_format'] = 'Forsnið'; $lang['img_camera'] = 'Myndavél'; $lang['img_keywords'] = 'Lykilorðir'; $lang['i_retry'] = 'Reyna aftur'; -$lang['mu_gridsize'] = 'Stærð'; -$lang['mu_toobig'] = 'of stór'; -$lang['mu_ready'] = 'tilbúin til upphleðslu'; -$lang['mu_done'] = 'lokið'; -$lang['mu_fail'] = 'mistókst'; -$lang['mu_info'] = 'Skrár innhlaðnar.'; -$lang['mu_lasterr'] = 'Síðasta villa:'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index ebbe983de..dfe7818e9 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -262,21 +262,6 @@ $lang['i_pol1'] = 'Wiki Pubblico (lettura per tutti, scrittura e $lang['i_pol2'] = 'Wiki Chiuso (lettura, scrittura, caricamento file solamente per gli utenti registrati)'; $lang['i_retry'] = 'Riprova'; $lang['i_license'] = 'Per favore scegli la licenza sotto cui vuoi rilasciare il contenuto:'; -$lang['mu_intro'] = 'Qui si possono caricare più di un file alla volta. Scegliere "Sfoglia..." per aggiungere file alla coda. Alla fine, fai click su "Invia file".'; -$lang['mu_gridname'] = 'Nome file'; -$lang['mu_gridsize'] = 'Dimensione'; -$lang['mu_gridstat'] = 'Stato'; -$lang['mu_namespace'] = 'Categoria'; -$lang['mu_browse'] = 'Sfoglia'; -$lang['mu_toobig'] = 'troppo grande'; -$lang['mu_ready'] = 'pronto per caricare'; -$lang['mu_done'] = 'completo'; -$lang['mu_fail'] = 'fallito'; -$lang['mu_authfail'] = 'sessione scaduta'; -$lang['mu_progress'] = '@PCT@% caricato'; -$lang['mu_filetypes'] = 'Tipi di file permessi'; -$lang['mu_info'] = 'file caricati.'; -$lang['mu_lasterr'] = 'Ultimo errore:'; $lang['recent_global'] = 'Stai attualmente vedendo le modifiche effettuate nell\'area %s. Puoi anche vedere le modifiche recenti dell\'intero wiki.'; $lang['years'] = '%d anni fa'; $lang['months'] = '%d mesi fa'; diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 15c1e7dd6..0c428ad64 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -279,21 +279,6 @@ $lang['i_pol1'] = 'パブリック Wiki(閲覧は全ての人 $lang['i_pol2'] = 'クローズド Wiki (登録ユーザーにのみ使用を許可)'; $lang['i_retry'] = '再試行'; $lang['i_license'] = 'あなたが作成したコンテンツが属するライセンスを選択してください:'; -$lang['mu_intro'] = '複数のファイルを一度にアップロードできます。ブラウズボタンをクリックしてファイルを追加してください。追加したら、アップロードボタンをクリックしてください。'; -$lang['mu_gridname'] = 'ファイル名'; -$lang['mu_gridsize'] = 'サイズ'; -$lang['mu_gridstat'] = 'ステータス'; -$lang['mu_namespace'] = '名前空間'; -$lang['mu_browse'] = 'ブラウズ'; -$lang['mu_toobig'] = '大きすぎます'; -$lang['mu_ready'] = 'アップロードできます'; -$lang['mu_done'] = '完了'; -$lang['mu_fail'] = '失敗'; -$lang['mu_authfail'] = 'セッション期限切れ'; -$lang['mu_progress'] = '@PCT@% アップロード完了'; -$lang['mu_filetypes'] = '使用できるファイル形式'; -$lang['mu_info'] = 'ファイルアップロード完了'; -$lang['mu_lasterr'] = '直近のエラー:'; $lang['recent_global'] = '現在、%s 名前空間内の変更点を閲覧中です。Wiki全体の最近の変更点を確認することも可能です。'; $lang['years'] = '%d年前'; $lang['months'] = '%dカ月前'; diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index 91825c797..b0664e7f4 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -262,21 +262,6 @@ $lang['i_pol1'] = '공개형 위키 (누구나 읽을 수 있지 $lang['i_pol2'] = '폐쇄형 위키 (등록된 사용자만 읽기/쓰기/업로드가 가능합니다.)'; $lang['i_retry'] = '다시 시도'; $lang['i_license'] = '내용의 배포를 위한 라이센스를 선택하세요.'; -$lang['mu_intro'] = '여러 파일을 한번에 업로드할 수 있습니다. 파일 목록에 추가하려면 "찾기" 버튼을 클릭합니다. 파일 목록 추가 작업이 끝나면 "업로드" 버튼을 클릭하기 바랍니다. '; -$lang['mu_gridname'] = '파일명'; -$lang['mu_gridsize'] = '크기'; -$lang['mu_gridstat'] = '상태'; -$lang['mu_namespace'] = '네임스페이스'; -$lang['mu_browse'] = '찾기'; -$lang['mu_toobig'] = '업로드 가능 크기를 초과했습니다.'; -$lang['mu_ready'] = '업로드가 가능합니다.'; -$lang['mu_done'] = '업로드가 완료되었습니다.'; -$lang['mu_fail'] = '업로드가 실패했습니다.'; -$lang['mu_authfail'] = '세션 기간이 종료되었습니다.'; -$lang['mu_progress'] = '@PCT@% 업로드되었습니다.'; -$lang['mu_filetypes'] = '허용된 파일타입'; -$lang['mu_info'] = '업로드 되었습니다.'; -$lang['mu_lasterr'] = '마지막 에러:'; $lang['recent_global'] = '%s 네임스페이스를 구독중입니다. 전체위키 변경사항 도 보실수 있습니다.'; $lang['years'] = '%d 년 전'; $lang['months'] = '%d 개월 전'; diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php index e8d79a997..25102d583 100644 --- a/inc/lang/la/lang.php +++ b/inc/lang/la/lang.php @@ -256,21 +256,6 @@ $lang['i_pol1'] = 'Publicus uicis (omnes legere, Sodales scribere $lang['i_pol2'] = 'Clausus uicis (Soli Sodales legere scribere et onerare poccunt)'; $lang['i_retry'] = 'Rursum temptas'; $lang['i_license'] = 'Elige facultatem sub qua tuus uicis est:'; -$lang['mu_intro'] = 'Plura documenta uno tempore onerare potes.'; -$lang['mu_gridname'] = 'Documenti nomen'; -$lang['mu_gridsize'] = 'Pondus'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Genus'; -$lang['mu_browse'] = 'Euoluere'; -$lang['mu_toobig'] = 'Ponderosius'; -$lang['mu_ready'] = 'Aptus ad onerandum'; -$lang['mu_done'] = 'Perfectum'; -$lang['mu_fail'] = 'Error'; -$lang['mu_authfail'] = 'Sessio exit'; -$lang['mu_progress'] = '@PCT@% oneratum'; -$lang['mu_filetypes'] = 'Genera documenti apta facere'; -$lang['mu_info'] = 'Documenta onerare'; -$lang['mu_lasterr'] = 'Extremus error:'; $lang['recent_global'] = 'Mutatione in hoc genere uides. Recentiores mutationes quoque uidere potes'; $lang['years'] = 'ab annis %d'; $lang['months'] = 'a mensibus %d'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index 00692f48e..d16d1a0c3 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -189,21 +189,6 @@ $lang['i_pol0'] = 'Oppene Wiki (liese, schreiwen an eroplueden fi $lang['i_pol1'] = 'Ëffentleche Wiki (liesen fir jidfereen, schreiwen an eroplueden fir registréiert Benotzer)'; $lang['i_pol2'] = 'Zouene Wiki (liesen, schreiwen, eroplueden nëmme fir registréiert Benotzer)'; $lang['i_retry'] = 'Nach eng Kéier probéieren'; -$lang['mu_intro'] = 'Hei kanns de méi Dateie mateneen eroplueden. Klick op den Duerchsiche-Knäppchen fir se an d\'Schlaang ze setzen. Dréck op Eroplueden wanns de fäerdeg bass.'; -$lang['mu_gridname'] = 'Dateinumm'; -$lang['mu_gridsize'] = 'Gréisst'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Duerchsichen'; -$lang['mu_toobig'] = 'ze grouss'; -$lang['mu_ready'] = 'prett fir eropzelueden'; -$lang['mu_done'] = 'fäerdeg'; -$lang['mu_fail'] = 'feelgeschloen'; -$lang['mu_authfail'] = 'Sessioun ofgelaf'; -$lang['mu_progress'] = '@PCT@% eropgelueden'; -$lang['mu_filetypes'] = 'Erlaabten Dateitypen'; -$lang['mu_info'] = 'Dateien eropgelueden.'; -$lang['mu_lasterr'] = 'Leschte Feeler:'; $lang['recent_global'] = 'Du kucks am Moment d\'Ännerungen innerhalb vum %s Namespace. Du kanns och d\'Kierzilech Ännerungen vum ganze Wiki kucken.'; $lang['years'] = 'virun %d Joer'; $lang['months'] = 'virun %d Méint'; diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php index d14a0695a..50fb3194b 100644 --- a/inc/lang/lt/lang.php +++ b/inc/lang/lt/lang.php @@ -190,14 +190,3 @@ $lang['i_wikiname'] = 'Wiki vardas'; $lang['i_enableacl'] = 'Įjungti ACL (rekomenduojama)'; $lang['i_superuser'] = 'Supervartotojas'; $lang['i_problems'] = 'Instaliavimo metu buvo klaidų, kurios pateiktos žemiau. Tęsti negalima, kol nebus pašalintos priežastys.'; -$lang['mu_gridname'] = 'Failo vardas'; -$lang['mu_gridsize'] = 'Dydis'; -$lang['mu_gridstat'] = 'Statusas'; -$lang['mu_namespace'] = 'Vardų sritis'; -$lang['mu_browse'] = 'Browse'; -$lang['mu_toobig'] = 'perdidelis'; -$lang['mu_ready'] = 'paruošta įkrovimui'; -$lang['mu_done'] = 'užbaigta'; -$lang['mu_fail'] = 'nepavyko'; -$lang['mu_authfail'] = 'sesija nutraukta'; -$lang['mu_filetypes'] = 'Leidžiami failų tipai'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 37a0bf6a9..f88302f2f 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -274,21 +274,6 @@ $lang['i_pol1'] = 'Publisks Wiki (lasa ikviens, raksta un augšup $lang['i_pol2'] = 'Slēgts Wiki (raksta, lasa un augšupielādē tikai reģistrēti lietotāji)'; $lang['i_retry'] = 'Atkārtot'; $lang['i_license'] = 'Ar kādu licenci saturs tiks publicēts:'; -$lang['mu_intro'] = 'Šeit var augšupielādēt uzreiz vairāku failus. Uzklikšķini Pārlūkot pogai, lai tos ieliktu rindā. Nospied Augšupielādēt, kad rinda sastādīta.'; -$lang['mu_gridname'] = 'Faila vārds'; -$lang['mu_gridsize'] = 'Izmērs'; -$lang['mu_gridstat'] = 'Statuss'; -$lang['mu_namespace'] = 'Nodaļa'; -$lang['mu_browse'] = 'Pārlūkot'; -$lang['mu_toobig'] = 'par lielu'; -$lang['mu_ready'] = 'gatavs augšupielādei'; -$lang['mu_done'] = 'pabeigts'; -$lang['mu_fail'] = 'neizdevās'; -$lang['mu_authfail'] = 'sesijas laiks iztecējis'; -$lang['mu_progress'] = '@PCT@% augšupielādēts'; -$lang['mu_filetypes'] = 'Atļautie failu tipi'; -$lang['mu_info'] = 'faili ir augšupielādēti.'; -$lang['mu_lasterr'] = 'Pēdējā ķļūda.'; $lang['recent_global'] = 'Tu skati izmaiņas nodaļā %s. Ir iespējams skatīt jaunākos grozījums visā viki. '; $lang['years'] = 'pirms %d gadiem'; $lang['months'] = 'pirms %d mēnešiem'; diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php index ca4a746cd..6614444d0 100644 --- a/inc/lang/mk/lang.php +++ b/inc/lang/mk/lang.php @@ -223,20 +223,6 @@ $lang['i_pol0'] = 'Отвори вики (читај, запиш $lang['i_pol1'] = 'Јавно вики (читај за сите, запиши и качи за регистрирани корисници)'; $lang['i_pol2'] = 'Затворено вики (читај, запиши, качи само за регистрирани корисници)'; $lang['i_retry'] = 'Пробај повторно'; -$lang['mu_intro'] = 'Овде можете да прикачите повеќе датотеки од еднаш. Кликнете на копчето за пребарување за да ги додадете во редица. Притиснете на качи кога е готово.'; -$lang['mu_gridname'] = 'Име на датотека'; -$lang['mu_gridsize'] = 'Големина'; -$lang['mu_gridstat'] = 'Состојба'; -$lang['mu_browse'] = 'Пребарај'; -$lang['mu_toobig'] = 'премногу голема'; -$lang['mu_ready'] = 'спремна за качување'; -$lang['mu_done'] = 'комплетно'; -$lang['mu_fail'] = 'неуспешно'; -$lang['mu_authfail'] = 'сесијата истече'; -$lang['mu_progress'] = '@PCT@% качено'; -$lang['mu_filetypes'] = 'Дозволено типови на датотеки'; -$lang['mu_info'] = 'качени датотеки.'; -$lang['mu_lasterr'] = 'Последна грешка: '; $lang['years'] = 'пред %d години'; $lang['months'] = 'пред %d месеци'; $lang['weeks'] = 'пред %d недели'; diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index 63fda3e5a..314a319cd 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -209,17 +209,4 @@ $lang['i_pol0'] = 'मुक्त विकी ( सर्वा $lang['i_pol1'] = 'सार्वजनिक विकी ( सर्वांना वाचण्याची मुभा , लेखन व अपलोडची परवानगी फक्त नोंदणीकृत सदस्यांना )'; $lang['i_pol2'] = 'बंदिस्त विकी ( वाचन , लेखन व अपलोडची परवानगी फक्त नोंदणीकृत सदस्यांना ) '; $lang['i_retry'] = 'पुन्हा प्रयत्न'; -$lang['mu_intro'] = 'इथे तुम्ही एकापेक्षा अधिक फाइल अपलोड करू शकता. ब्राउझ च्या बटणावर क्लिक करून त्याना लिस्ट मधे टाका. सगळ्या टाकुन झाल्यावर अपलोड च्या बटणावर क्लिक करा.'; -$lang['mu_gridname'] = 'फाइल नाम'; -$lang['mu_gridsize'] = 'साइज'; -$lang['mu_gridstat'] = 'स्थिति'; -$lang['mu_namespace'] = 'नेमस्पेस'; -$lang['mu_browse'] = 'ब्राउझ'; -$lang['mu_toobig'] = 'अति मोठे'; -$lang['mu_ready'] = 'अपलोडसाठी तयार'; -$lang['mu_done'] = 'पूर्ण'; -$lang['mu_fail'] = 'अयशस्वी'; -$lang['mu_authfail'] = 'सेशन संपला'; -$lang['mu_progress'] = '@PCT@% अपलोड झाले'; -$lang['mu_filetypes'] = 'मान्य फाइल टाइप'; $lang['recent_global'] = 'तुम्ही सध्या %s या नेमस्पेस मधील बदल पाहात आहात.तुम्ही पूर्ण विकी मधले बदल सुद्धा पाहू शकता.'; diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php index 97e2dde5c..21f979753 100644 --- a/inc/lang/ne/lang.php +++ b/inc/lang/ne/lang.php @@ -200,17 +200,4 @@ $lang['i_pol0'] = 'खुल्ला विकि (पठन, $lang['i_pol1'] = 'Public विकि (पठन सवैका लागि,लेखन र अपलोड दर्ता गरिएका प्रयपगकर्ताका लागि ) '; $lang['i_pol2'] = 'बन्द विकि (पठन , लेखन, अपलोड ) दर्ता भएका प्रयोगकर्ताका लागि मात्र ।'; $lang['i_retry'] = 'पुन: प्रयास गर्नुहोस् '; -$lang['mu_intro'] = 'तपाईले धेरै वटा फाइलहरु एकै पटक अपलोड गर्न सक्नुहुन्छ । browse थिच्नुहोस् अनि सुचीमा थप्नुहोस् । सकिएपछि अपलोड थिछ्चुहोस् ।'; -$lang['mu_gridname'] = 'फाइलनाम '; -$lang['mu_gridsize'] = 'आकार'; -$lang['mu_gridstat'] = 'स्थिति'; -$lang['mu_namespace'] = 'नेमस्पेस'; -$lang['mu_browse'] = 'Browse'; -$lang['mu_toobig'] = 'धेरै ठूलो'; -$lang['mu_ready'] = 'अपलोडको लागि तयार'; -$lang['mu_done'] = 'पूरा'; -$lang['mu_fail'] = 'असफल'; -$lang['mu_authfail'] = 'सत्र सकियो '; -$lang['mu_progress'] = '@PCT@% अपलोड भयो '; -$lang['mu_filetypes'] = 'समर्थित फाइल प्रकार'; $lang['recent_global'] = 'तपाई अहिले %s नेमस्पेस भित्र भएका परिवर्तन हेर्दैहुनुहुन्छ। तपाई पुरै विकिमा भएको परिवर्तन हेर्न सक्नुहुन्छ.'; diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 542b99c93..64d7d89f7 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -287,21 +287,6 @@ $lang['i_pol1'] = 'Publieke wiki (lezen voor iedereen, schrijven $lang['i_pol2'] = 'Besloten wiki (lezen, schrijven en uploaden alleen voor geregistreerde gebruikers)'; $lang['i_retry'] = 'Opnieuw'; $lang['i_license'] = 'Kies a.u.b. een licentie die u voor uw inhoud wilt gebruiken:'; -$lang['mu_intro'] = 'Hiier kun je meerdere bestanden tegelijk uploaden. Klik de blader-knop om ze aan de lijst toe te voegen. Klik Upload als je klaar bent.'; -$lang['mu_gridname'] = 'Bestandsnaam'; -$lang['mu_gridsize'] = 'Grootte'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Blader'; -$lang['mu_toobig'] = 'te groot'; -$lang['mu_ready'] = 'Klaar om te uploaden'; -$lang['mu_done'] = 'klaar'; -$lang['mu_fail'] = 'mislukt'; -$lang['mu_authfail'] = 'sessie beëindigd'; -$lang['mu_progress'] = '@PCT@% geüpload'; -$lang['mu_filetypes'] = 'Toegestane bestandstypes'; -$lang['mu_info'] = 'bestanden geüpload.'; -$lang['mu_lasterr'] = 'Laatste foutmelding:'; $lang['recent_global'] = 'Je bekijkt momenteel de wijzigingen binnen de %s namespace. Je kunt ook de recente wijzigingen van de hele wiki bekijken.'; $lang['years'] = '%d jaar geleden'; $lang['months'] = '%d maand geleden'; diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 76b59d9b8..5dd5f6ea7 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -293,21 +293,6 @@ $lang['i_pol1'] = 'Offentlig Wiki (les for alle, skriving og oppl $lang['i_pol2'] = 'Lukket Wiki (les, skriv og opplasting bare for registrerte brukere)'; $lang['i_retry'] = 'Prøv igjen'; $lang['i_license'] = 'Velg lisens som du vil legge ut innholdet under:'; -$lang['mu_intro'] = 'Her kan du laste opp flere filer samtidig. Klikk på utforsk-knappen for å legge dem til i køen. Klikk på "last opp" når du er ferdig med å velge filene. '; -$lang['mu_gridname'] = 'Filnavn'; -$lang['mu_gridsize'] = 'Størrelse'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Navnerom'; -$lang['mu_browse'] = 'Utforsk'; -$lang['mu_toobig'] = 'for stor'; -$lang['mu_ready'] = 'klar for opplasting'; -$lang['mu_done'] = 'ferdig'; -$lang['mu_fail'] = 'feilet'; -$lang['mu_authfail'] = 'sesjonen har utløpt'; -$lang['mu_progress'] = '@PCT@% lastet opp'; -$lang['mu_filetypes'] = 'Tillatte filtyper'; -$lang['mu_info'] = 'filer lastet opp.'; -$lang['mu_lasterr'] = 'Siste feilen:'; $lang['recent_global'] = 'Du ser nå på endringene i navnerommet %s. Du kan ogsåse på nylig foretatte endringer for hele wikien.'; $lang['years'] = '%d år siden'; $lang['months'] = '%d måneder siden'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 37d842c44..26e1bd5f5 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -285,21 +285,6 @@ $lang['i_pol1'] = 'Publiczne Wiki (odczyt dla wszystkich, zapis i $lang['i_pol2'] = 'Zamknięte Wiki (odczyt, zapis i dodawanie plików tylko dla zarejestrowanych użytkowników)'; $lang['i_retry'] = 'Spróbuj ponownie'; $lang['i_license'] = 'Wybierz licencję, na warunkach której chcesz udostępniać treści:'; -$lang['mu_intro'] = 'Możesz tutaj wysłać wiele plików na raz. Kliknij przycisk "Przeglądaj" aby dodać je do kolejki. Kliknij "Wyślij" gdy skończysz.'; -$lang['mu_gridname'] = 'Nazwa pliku'; -$lang['mu_gridsize'] = 'Rozmiar'; -$lang['mu_gridstat'] = 'Stan'; -$lang['mu_namespace'] = 'Katalog'; -$lang['mu_browse'] = 'Przeglądaj'; -$lang['mu_toobig'] = 'za duży'; -$lang['mu_ready'] = 'gotowy do wysłania'; -$lang['mu_done'] = 'zakończono'; -$lang['mu_fail'] = 'nie powiodło się'; -$lang['mu_authfail'] = 'sesja wygasła'; -$lang['mu_progress'] = '@PCT@% wysłano'; -$lang['mu_filetypes'] = 'Dozwolone typy plików'; -$lang['mu_info'] = 'wysłanych plików.'; -$lang['mu_lasterr'] = 'Ostatni błąd:'; $lang['recent_global'] = 'W tej chwili przeglądasz zmiany w katalogu %s. Możesz przejrzeć także zmiany w całym wiki.'; $lang['years'] = '%d lat temu'; $lang['months'] = '%d miesięcy temu'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index 373590b76..e4dc50ddc 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -271,21 +271,6 @@ $lang['i_pol1'] = 'Wiki público (leitura por todos, escrita e en $lang['i_pol2'] = 'Wiki fechado (leitura, escrita e envio de arquivos somente por usuários registrados)'; $lang['i_retry'] = 'Tentar novamente'; $lang['i_license'] = 'Por favor escolha a licença que voce deseja utilizar para seu conteúdo:'; -$lang['mu_intro'] = 'Aqui você pode enviar vários arquivos de uma só vez. Clique no botão de navegação e adicione-os à fila. Pressione Enviar quando estiver pronto.'; -$lang['mu_gridname'] = 'Nome do arquivo'; -$lang['mu_gridsize'] = 'Tamanho'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Espaço de nomes'; -$lang['mu_browse'] = 'Navegar'; -$lang['mu_toobig'] = 'muito grande'; -$lang['mu_ready'] = 'pronto para enviar'; -$lang['mu_done'] = 'completo'; -$lang['mu_fail'] = 'falhou'; -$lang['mu_authfail'] = 'a sessão expirou'; -$lang['mu_progress'] = '@PCT@% enviado'; -$lang['mu_filetypes'] = 'Tipos de arquivo permitidos'; -$lang['mu_info'] = 'arquivos enviados.'; -$lang['mu_lasterr'] = 'Erro mais recente:'; $lang['recent_global'] = 'Você está observando as alterações dentro do espaço de nomes %s. Também é possível ver as modificações recentes no wiki inteiro.'; $lang['years'] = '%d anos atrás'; $lang['months'] = '%d meses atrás'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 2fa8a1ab4..a96598fc3 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -278,21 +278,6 @@ $lang['i_pol1'] = 'Wiki Público (ler para todos, escrever e carr $lang['i_pol2'] = 'Wiki Fechado (ler, escrever e carregar somente para utilizadores inscritos)'; $lang['i_retry'] = 'Repetir'; $lang['i_license'] = 'Por favor escolha a licença sob a qual quer colocar o seu conteúdo:'; -$lang['mu_intro'] = 'Aqui podes enviar múltiplos ficheiros de uma vez. Clique no botão de navegação para adicioná-los na fila. Premir upload quando pronto.'; -$lang['mu_gridname'] = 'Nome do ficheiro'; -$lang['mu_gridsize'] = 'Tamanho'; -$lang['mu_gridstat'] = 'Estado'; -$lang['mu_namespace'] = 'Espaço de Nomes'; -$lang['mu_browse'] = 'Navegar'; -$lang['mu_toobig'] = 'demasiado grande'; -$lang['mu_ready'] = 'pronto para upload'; -$lang['mu_done'] = 'completo'; -$lang['mu_fail'] = 'falhou'; -$lang['mu_authfail'] = 'sessão expirada'; -$lang['mu_progress'] = '@PCT@% transferido'; -$lang['mu_filetypes'] = 'Tipos de Ficheiros Permitidos'; -$lang['mu_info'] = 'Ficheiros carregados.'; -$lang['mu_lasterr'] = 'Último erro:'; $lang['recent_global'] = 'Você está a observar as alterações dentro do espaço de nomes %s. Também é possível ver as modificações recentes no wiki inteiro.'; $lang['years'] = '%d anos atrás'; $lang['months'] = '%d meses atrás'; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 91f8ebb97..0275b30f3 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -280,21 +280,6 @@ $lang['i_pol1'] = 'Wiki Deschisă (citeste oricine, scrie şi în $lang['i_pol2'] = 'Wiki Închisă (citeşte, scrie şi încarcă doar utilizatorul înregistrat)'; $lang['i_retry'] = 'Încearcă din nou'; $lang['i_license'] = 'Vă rugăm alegeţi licenţa sub care doriţi să vă licenţiaţi materialul:'; -$lang['mu_intro'] = 'Aici poţi încărca mai multe fişiere simultan. Apasă butonul Răsfoieşte pentru a le adăuga. Apasă Încarcă când ai terminat.'; -$lang['mu_gridname'] = 'Numele fişierului'; -$lang['mu_gridsize'] = 'Mărime'; -$lang['mu_gridstat'] = 'Stare'; -$lang['mu_namespace'] = 'Spaţiu de nume'; -$lang['mu_browse'] = 'Răsfoieşte'; -$lang['mu_toobig'] = 'prea mare'; -$lang['mu_ready'] = 'pregătit pentru încărcare'; -$lang['mu_done'] = 'complet'; -$lang['mu_fail'] = 'eşuat'; -$lang['mu_authfail'] = 'sesiunea a expirat'; -$lang['mu_progress'] = '@PCT@% încărcat'; -$lang['mu_filetypes'] = 'Tipuri de fişiere permise'; -$lang['mu_info'] = 'fişiere încărcate'; -$lang['mu_lasterr'] = 'Ultima eroare:'; $lang['recent_global'] = 'Acum vizualizaţi modificările în interiorul numelui de spaţiu %s. De asemenea puteţi vizualiza modificările recente ale întregului wiki.'; $lang['years'] = 'acum %d ani'; $lang['months'] = 'acum %d luni'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index eda838451..10fca5477 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -315,22 +315,6 @@ $lang['i_pol2'] = 'Закрытая вики (чтение, за $lang['i_retry'] = 'Повторить попытку'; $lang['i_license'] = 'Пожалуйста, выберите тип лицензии для своей вики:'; -$lang['mu_intro'] = 'Здесь вы можете загрузить несколько файлов сразу. Кликните на «обзор», чтобы добавить их в список. Нажмите «загрузить», когда будете готовы.'; -$lang['mu_gridname'] = 'Имя файла'; -$lang['mu_gridsize'] = 'Размер'; -$lang['mu_gridstat'] = 'Статус'; -$lang['mu_namespace'] = 'Пространство имён'; -$lang['mu_browse'] = 'Обзор'; -$lang['mu_toobig'] = 'слишком большой'; -$lang['mu_ready'] = 'готово к загрузке'; -$lang['mu_done'] = 'завершено'; -$lang['mu_fail'] = 'провалено'; -$lang['mu_authfail'] = 'истекло время сессии'; -$lang['mu_progress'] = '@PCT@% загружено'; -$lang['mu_filetypes'] = 'Допустимые типы файлов'; -$lang['mu_info'] = 'файлов загружено.'; -$lang['mu_lasterr'] = 'Последняя ошибка:'; - $lang['recent_global'] = 'Вы просматриваете изменения в пространстве имён %s. Вы можете также просмотреть недавние изменения во всей вики.'; $lang['years'] = '%d лет назад'; $lang['months'] = '%d месяц(ев) назад'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index c0d45da58..a14024191 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -278,21 +278,6 @@ $lang['i_pol1'] = 'Verejná Wiki (čítanie pre každého, zápis $lang['i_pol2'] = 'Uzatvorená Wiki (čítanie, zápis a nahrávanie len pre registrovaných užívateľov)'; $lang['i_retry'] = 'Skúsiť znovu'; $lang['i_license'] = 'Vyberte licenciu, pod ktorou chcete uložiť váš obsah:'; -$lang['mu_intro'] = 'Na tomto mieste môžete nahrávať viac súborov súčasne. Tlačidlom Prehľadávať pridáte súbory do zoznamu. Tlačidlom Nahrať vykonáte prenos súborov.'; -$lang['mu_gridname'] = 'Názov súboru'; -$lang['mu_gridsize'] = 'Veľkosť'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Menný priestor'; -$lang['mu_browse'] = 'Prehľadávať'; -$lang['mu_toobig'] = 'príliš veľký'; -$lang['mu_ready'] = 'pripravený na nahratie'; -$lang['mu_done'] = 'dokončený'; -$lang['mu_fail'] = 'neúspešný'; -$lang['mu_authfail'] = 'spojenie stratilo platnosť'; -$lang['mu_progress'] = '@PCT@% nahraných'; -$lang['mu_filetypes'] = 'Povolené typy súborov'; -$lang['mu_info'] = 'nahraných súborov.'; -$lang['mu_lasterr'] = 'Posledná chyba:'; $lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore %s. Môžete si tiež pozrieť aktuálne zmeny celej wiki.'; $lang['years'] = 'pred %d rokmi'; $lang['months'] = 'pred %d mesiacmi'; diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index 9acf13504..d802aa8f0 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -254,21 +254,6 @@ $lang['i_pol1'] = 'Javni Wiki (branje za vse, zapis in nalaganje $lang['i_pol2'] = 'Zaprt Wiki (berejo in urejajo lahko le prijavljeni uporabniki)'; $lang['i_retry'] = 'Ponovni poskus'; $lang['i_license'] = 'Izbor dovoljenja objave vsebine:'; -$lang['mu_intro'] = 'Naložiti je mogoče več datotek hkrati. S klikom na gumb "Prebrskaj", jih je mogoče dodati v vrsto. S klikom na povezavo "naloži" bodo datoteke poslane na strežnik.'; -$lang['mu_gridname'] = 'Ime datoteke'; -$lang['mu_gridsize'] = 'Velikost'; -$lang['mu_gridstat'] = 'Stanje'; -$lang['mu_namespace'] = 'Imenski prostor'; -$lang['mu_browse'] = 'Prebrskaj'; -$lang['mu_toobig'] = 'prevelika datoteka'; -$lang['mu_ready'] = 'pripravljena na pošiljanje'; -$lang['mu_done'] = 'končano'; -$lang['mu_fail'] = 'ni uspelo'; -$lang['mu_authfail'] = 'seja je potekla'; -$lang['mu_progress'] = '@PCT@% je poslano'; -$lang['mu_filetypes'] = 'Dovoljene vrste datotek'; -$lang['mu_info'] = 'poslanih datotek.'; -$lang['mu_lasterr'] = 'Zadnja napaka:'; $lang['recent_global'] = 'Trenutno so prikazane spremembe znotraj imenskega prostora %s. Mogoče si je ogledati tudi spremembe celotnega sistema Wiki.'; $lang['years'] = '%d let nazaj'; $lang['months'] = '%d mesecev nazaj'; diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php index 87d0f30b5..569256b52 100644 --- a/inc/lang/sq/lang.php +++ b/inc/lang/sq/lang.php @@ -232,21 +232,6 @@ $lang['i_pol0'] = 'Wiki i Hapur (lexim, shkrim, ngarkim për këd $lang['i_pol1'] = 'Wiki Publike (lexim për këdo, shkrim dhe ngarkim për përdoruesit e regjistruar)'; $lang['i_pol2'] = 'Wiki e Mbyllur (lexim, shkrim, ngarkim vetëm për përdoruesit e regjistruar)'; $lang['i_retry'] = 'Provo Përsëri'; -$lang['mu_intro'] = 'Këtu mund të ngarkoni disa skedarë njëkohësisht. Klikoni butonin e shfletuesit për t\'i shtuar ata në radhë. Klikoni Ngarko kur të keni mbaruar.'; -$lang['mu_gridname'] = 'Emri Skedari'; -$lang['mu_gridsize'] = 'Madhësia'; -$lang['mu_gridstat'] = 'Statusi'; -$lang['mu_namespace'] = 'Hapësira Emrit'; -$lang['mu_browse'] = 'Shfleto'; -$lang['mu_toobig'] = 'shumë i/e madhe'; -$lang['mu_ready'] = 'gati për ngarkim'; -$lang['mu_done'] = 'përfundoi'; -$lang['mu_fail'] = 'dështoi'; -$lang['mu_authfail'] = 'sesioni skadoi'; -$lang['mu_progress'] = '@PCT@% u ngarkua'; -$lang['mu_filetypes'] = 'Tipet e Skedarëve të Lejuar'; -$lang['mu_info'] = 'skedarët e ngarkuar'; -$lang['mu_lasterr'] = 'Gabimi i fundit:'; $lang['recent_global'] = 'Momentalisht jeni duke parë ndryshimet brenda hapësirës së emrit %s. Gjithashtu mund të shihni ndryshimet më të fundit në të gjithë wiki-n.'; $lang['years'] = '%d vite më parë'; $lang['months'] = '%d muaj më parë'; diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 22bcf4e33..3b2d2939c 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -254,21 +254,6 @@ $lang['i_pol1'] = 'Јавни вики (читање за све, $lang['i_pol2'] = 'Затворени вики (читање, писање и слање датотека само за регистроване кориснике)'; $lang['i_retry'] = 'Понови'; $lang['i_license'] = 'Молимо вас, одаберите лиценцу под коју желите да ставите свој садржај:'; -$lang['mu_intro'] = 'Одавде можете послати више датотека одједном. Кликните на дугме Тражи да бисте додали датотеке на листу. Када завршите са одабирањем кликните на Пошаљи.'; -$lang['mu_gridname'] = 'Назив датотеке'; -$lang['mu_gridsize'] = 'Величина'; -$lang['mu_gridstat'] = 'Статус'; -$lang['mu_namespace'] = 'Именски простор'; -$lang['mu_browse'] = 'Тражи'; -$lang['mu_toobig'] = 'превелико'; -$lang['mu_ready'] = 'спремно за слање'; -$lang['mu_done'] = 'завршено'; -$lang['mu_fail'] = 'није успело'; -$lang['mu_authfail'] = 'сесија је истекла'; -$lang['mu_progress'] = '@PCT@% послато'; -$lang['mu_filetypes'] = 'Дозвољени типови датотека'; -$lang['mu_info'] = 'Фајлови послати'; -$lang['mu_lasterr'] = 'Последња грешка:'; $lang['recent_global'] = 'Тренутно пратите промене у именском простору %s. Такође, можете пратити прмене на целом викију.'; $lang['years'] = 'Пре %d година'; $lang['months'] = 'Пре %d месеци'; diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php index 943509fed..8601829d2 100644 --- a/inc/lang/sv/lang.php +++ b/inc/lang/sv/lang.php @@ -256,21 +256,6 @@ $lang['i_pol0'] = 'Öppen wiki (alla får läsa, skriva och ladda $lang['i_pol1'] = 'Publik wiki (alla får läsa, registrerade användare för skriva och ladda upp filer)'; $lang['i_pol2'] = 'Sluten wiki (endast registrerade användare får läsa, skriva och ladda upp filer)'; $lang['i_retry'] = 'Försök igen'; -$lang['mu_intro'] = 'Här kan du ladda upp flera filer på en gång. Klicka på bläddra-knappen för att lägga till dem i kön. Tryck på ladda upp när du är klar.'; -$lang['mu_gridname'] = 'Filnamn'; -$lang['mu_gridsize'] = 'Storlek'; -$lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Namnrymd'; -$lang['mu_browse'] = 'Bläddra'; -$lang['mu_toobig'] = 'för stor'; -$lang['mu_ready'] = 'redo att ladda upp'; -$lang['mu_done'] = 'komplett'; -$lang['mu_fail'] = 'misslyckades'; -$lang['mu_authfail'] = 'sessionen över tid'; -$lang['mu_progress'] = '@PCT@% uppladdade'; -$lang['mu_filetypes'] = 'Tillåtna filtyper'; -$lang['mu_info'] = 'filerna uppladdade.'; -$lang['mu_lasterr'] = 'Senaste fel:'; $lang['recent_global'] = 'Du bevakar ändringar i namnrymden %s. Du kan också titta på senaste ändringar för hela wikin.'; $lang['years'] = '%d år sedan'; $lang['months'] = '%d månader sedan'; diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php index 0d0613961..4ac6d7247 100644 --- a/inc/lang/th/lang.php +++ b/inc/lang/th/lang.php @@ -221,21 +221,6 @@ $lang['i_pol0'] = 'วิกิเปิดกว้าง (ใ $lang['i_pol1'] = 'วิกิสาธารณะ (ทุกคนอ่านได้, เขียน และ อัพโหลดเฉพาะผู้ใช้ที่ลงทะเบียนแล้ว)'; $lang['i_pol2'] = 'วิกิภายใน (อ่าน, เขียน, อัพโหลด สำหรับผู้ใช้ที่ลงทะเบียนแล้วเท่านั้น)'; $lang['i_retry'] = 'ลองใหม่'; -$lang['mu_intro'] = 'ที่นี่คุณสามารถอัพโหลดหลายๆไฟล์ได้พร้อมๆกัน คลิ๊กปุ่มบราวซ์เพื่อเพิ่มมันเข้าไปในคิว กดปุ่มอัพโหลดเมื่อเสร็จแล้ว'; -$lang['mu_gridname'] = 'ชื่อไฟล์'; -$lang['mu_gridsize'] = 'ขนาด'; -$lang['mu_gridstat'] = 'สถานะ'; -$lang['mu_namespace'] = 'เนมสเปซ'; -$lang['mu_browse'] = 'เรียกดู'; -$lang['mu_toobig'] = 'ใหญ่ไป'; -$lang['mu_ready'] = 'พร้อมอัปโหลด'; -$lang['mu_done'] = 'เสร็จสิ้น'; -$lang['mu_fail'] = 'ล้มเหลว'; -$lang['mu_authfail'] = 'วาระหมดอายุ'; -$lang['mu_progress'] = '@PCT@% อัปโหลดแล้ว'; -$lang['mu_filetypes'] = 'ชนิดแฟ้มที่อนุญาต'; -$lang['mu_info'] = 'แฟ้มอัปโหลดแล้ว'; -$lang['mu_lasterr'] = 'ผิดพลาดล่าสุด:'; $lang['years'] = '%d ปีก่อน'; $lang['months'] = '%d เดือนก่อน'; $lang['weeks'] = '%d สัปดาห์ก่อน'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 94b1c951a..cbadde849 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -234,17 +234,4 @@ $lang['i_pol0'] = 'Tamamen Açık Wiki (herkes okuyabilir, yazabi $lang['i_pol1'] = 'Açık Wiki (herkes okuyabilir, ancak sadece üye olanlar yazabilir ve dosya yükleyebilir)'; $lang['i_pol2'] = 'Kapalı Wiki (sadece üye olanlar okuyabilir, yazabilir ve dosya yükleyebilir)'; $lang['i_retry'] = 'Tekrar Dene'; -$lang['mu_intro'] = 'Burada birden fazla dosyayı bir seferde yükleyebilirsiniz. Sıraya eklemek için Gözat butonuna tıklayın. Bitince yükleye tıklayın'; -$lang['mu_gridname'] = 'Dosya Adı'; -$lang['mu_gridsize'] = 'Boyutu'; -$lang['mu_gridstat'] = 'Durumu'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Gözat'; -$lang['mu_toobig'] = 'çok büyük'; -$lang['mu_ready'] = 'yüklenmeye hazır'; -$lang['mu_done'] = 'tamamlandı'; -$lang['mu_fail'] = 'başarısız'; -$lang['mu_authfail'] = 'oturum zaman aşımına uğradı'; -$lang['mu_progress'] = '@PCT@% yüklendi'; -$lang['mu_filetypes'] = 'İzin verilen Dosya Türleri'; $lang['recent_global'] = '%s namespace\'i içerisinde yapılan değişiklikleri görüntülemektesiniz. Wiki\'deki tüm değişiklikleri de bu adresten görebilirsiniz. '; diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php index 22d61c9bf..18bee589d 100644 --- a/inc/lang/uk/lang.php +++ b/inc/lang/uk/lang.php @@ -263,21 +263,6 @@ $lang['i_pol1'] = 'Публічна Вікі (читання дл $lang['i_pol2'] = 'Закрита Вікі (читання, запис та завантаження тільки для зареєстрованих користувачів)'; $lang['i_retry'] = 'Повторити'; $lang['i_license'] = 'Будь ласка, виберіть тип ліцензії, під якою Ві бажаєте опублікувати матеріал:'; -$lang['mu_intro'] = 'Тут ви можете завантажити одночасно кілька файлів. Натисніть кнопку "Вибрати", щоб додати файли в чергу. Після закінчення натисніть кнопку "Завантажити"'; -$lang['mu_gridname'] = 'Ім’я файлу'; -$lang['mu_gridsize'] = 'Розмір'; -$lang['mu_gridstat'] = 'Статус'; -$lang['mu_namespace'] = 'Простір імен'; -$lang['mu_browse'] = 'Вибрати'; -$lang['mu_toobig'] = 'надто великий'; -$lang['mu_ready'] = 'готовий до завантаження'; -$lang['mu_done'] = 'закінчено'; -$lang['mu_fail'] = 'невдале'; -$lang['mu_authfail'] = 'закінчено термін дії сесії'; -$lang['mu_progress'] = 'Завантаження @PCT@%'; -$lang['mu_filetypes'] = 'Дозволені типи файлів'; -$lang['mu_info'] = 'Файли завантажено'; -$lang['mu_lasterr'] = 'Остання помилка:'; $lang['recent_global'] = 'Ви переглядаєте зміни в межах простору імен %s. Також можна переглянути зміни в межах усієї Вікі.'; $lang['years'] = '%d років тому'; $lang['months'] = '%d місяців тому'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index a144767f4..3a126105b 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -282,21 +282,6 @@ $lang['i_pol1'] = '公開的維基 (任何人可讀取,註冊 $lang['i_pol2'] = '封閉的維基 (只有註冊使用者可讀取、寫入、上傳)'; $lang['i_retry'] = '重試'; $lang['i_license'] = '請選擇您想要的內容發布許可協議:'; -$lang['mu_intro'] = '您可以在這裡一次上傳多個檔案。按下瀏覽按鈕加入檔案,然後按上傳按鈕開始上傳。'; -$lang['mu_gridname'] = '檔案名稱'; -$lang['mu_gridsize'] = '檔案大小'; -$lang['mu_gridstat'] = '狀態'; -$lang['mu_namespace'] = '命名空間'; -$lang['mu_browse'] = '瀏覽'; -$lang['mu_toobig'] = '太大'; -$lang['mu_ready'] = '準備上傳'; -$lang['mu_done'] = '完成'; -$lang['mu_fail'] = '失敗'; -$lang['mu_authfail'] = '作業階段逾時'; -$lang['mu_progress'] = '@PCT@% 已上傳'; -$lang['mu_filetypes'] = '接受的檔案類型'; -$lang['mu_info'] = '檔案已上傳。'; -$lang['mu_lasterr'] = '最新一筆錯誤紀錄:'; $lang['recent_global'] = '您正在閱讀命名空間: %s 中的變更。您亦可觀看整個維基的最近更新。'; $lang['years'] = '%d 年前'; $lang['months'] = '%d 個月前'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 95d1bc2c5..8fffc5ed2 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -290,21 +290,7 @@ $lang['i_pol1'] = '公共的维基(任何人都有读的权限 $lang['i_pol2'] = '关闭的维基(只有注册用户才有读、写、上传的权限)'; $lang['i_retry'] = '重试'; $lang['i_license'] = '请选择您希望的内容发布许可协议:'; -$lang['mu_intro'] = '您可以在此一次上传多个文件。点按浏览按钮添加文件到上传队列中,先好后按上传钮。'; -$lang['mu_gridname'] = '文件名'; -$lang['mu_gridsize'] = '大小'; -$lang['mu_gridstat'] = '状态'; -$lang['mu_namespace'] = '名称空间'; -$lang['mu_browse'] = '浏览'; -$lang['mu_toobig'] = '过大'; -$lang['mu_ready'] = '准备好上传'; -$lang['mu_done'] = '完成'; -$lang['mu_fail'] = '失败'; -$lang['mu_authfail'] = '会话过期'; -$lang['mu_progress'] = '@PCT@% 上传完成'; -$lang['mu_filetypes'] = '允许的文件类型'; -$lang['mu_info'] = '文件已上传。'; -$lang['mu_lasterr'] = '最后一个错误:'; + $lang['recent_global'] = '您当前看到的是%s 名称空间的变动。你还可以在查看整个维基的近期变动。'; $lang['years'] = '%d年前'; $lang['months'] = '%d月前'; -- cgit v1.2.3 From e3b5f536dca655d5373e5ec24b258a359f22876d Mon Sep 17 00:00:00 2001 From: Martin Michalek Date: Fri, 13 Jan 2012 21:38:26 +0100 Subject: Slovak language update --- inc/lang/sk/lang.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index c0d45da58..a70cf0400 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -38,7 +38,7 @@ $lang['btn_update'] = 'Aktualizovať'; $lang['btn_delete'] = 'Zmazať'; $lang['btn_back'] = 'Späť'; $lang['btn_backlink'] = 'Spätné odkazy'; -$lang['btn_backtomedia'] = 'Späť na výber média'; +$lang['btn_backtomedia'] = 'Späť na výber súboru'; $lang['btn_subscribe'] = 'Sledovať zmeny'; $lang['btn_profile'] = 'Aktualizovať profil'; $lang['btn_reset'] = 'Zrušiť'; @@ -139,8 +139,8 @@ $lang['js']['media_cancel'] = 'odstrániť'; $lang['js']['media_overwrt'] = 'Prepísať existujúce súbory'; $lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: '; $lang['nothingfound'] = 'Nič nenájdené.'; -$lang['mediaselect'] = 'Výber dokumentu'; -$lang['fileupload'] = 'Nahrávanie dokumentu'; +$lang['mediaselect'] = 'Výber súboru'; +$lang['fileupload'] = 'Nahrávanie súboru'; $lang['uploadsucc'] = 'Prenos prebehol v poriadku'; $lang['uploadfail'] = 'Chyba pri nahrávaní. Možno kvôli zle nastaveným právam?'; $lang['uploadwrong'] = 'Prenos súboru s takouto príponou nie je dovolený.'; @@ -193,7 +193,7 @@ $lang['mail_new_user'] = 'nový užívateľ:'; $lang['mail_upload'] = 'nahraný súbor:'; $lang['changes_type'] = 'Prehľad zmien'; $lang['pages_changes'] = 'Stránok'; -$lang['media_changes'] = 'Média súborov'; +$lang['media_changes'] = 'Súbory'; $lang['both_changes'] = 'Stránok spolu s média súbormi'; $lang['qb_bold'] = 'Tučné'; $lang['qb_italic'] = 'Kurzíva'; -- cgit v1.2.3 From 4725165754f92ab9a0e81ee7c69109b0a2f9f35d Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sun, 15 Jan 2012 10:55:02 +0100 Subject: Make Sitemapper functions static as they were used as static functions All calls to the Sitemapper were static function calls, this caused notices because they weren't static, with this commit they are marked as static. Furthermore two FIXME comments were removed as dbglog now checks if debugging is enabled. --- inc/Sitemapper.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/Sitemapper.php b/inc/Sitemapper.php index bbe1caf26..4689b04a6 100644 --- a/inc/Sitemapper.php +++ b/inc/Sitemapper.php @@ -25,7 +25,7 @@ class Sitemapper { * @link https://www.google.com/webmasters/sitemaps/docs/en/about.html * @link http://www.sitemaps.org/ */ - public function generate(){ + public static function generate(){ global $conf; if($conf['sitemap'] < 1 || !is_numeric($conf['sitemap'])) return false; @@ -39,11 +39,11 @@ class Sitemapper { if(@filesize($sitemap) && @filemtime($sitemap) > (time()-($conf['sitemap']*86400))){ // 60*60*24=86400 - dbglog('Sitemapper::generate(): Sitemap up to date'); // FIXME: only in debug mode + dbglog('Sitemapper::generate(): Sitemap up to date'); return false; } - dbglog("Sitemapper::generate(): using $sitemap"); // FIXME: Only in debug mode + dbglog("Sitemapper::generate(): using $sitemap"); $pages = idx_get_indexer()->getPages(); dbglog('Sitemapper::generate(): creating sitemap using '.count($pages).' pages'); @@ -77,7 +77,7 @@ class Sitemapper { * @return string The sitemap XML. * @author Michael Hamann */ - private function getXML($items) { + private static function getXML($items) { ob_start(); echo ''.NL; echo ''.NL; @@ -96,7 +96,7 @@ class Sitemapper { * @return The path to the sitemap file. * @author Michael Hamann */ - public function getFilePath() { + public static function getFilePath() { global $conf; $sitemap = $conf['cachedir'].'/sitemap.xml'; @@ -113,7 +113,7 @@ class Sitemapper { * * @author Michael Hamann */ - public function pingSearchEngines() { + public static function pingSearchEngines() { //ping search engines... $http = new DokuHTTPClient(); $http->timeout = 8; -- cgit v1.2.3 From 4fcd684a8a5eb25a7c51dfcb55838fbfc523858f Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sun, 15 Jan 2012 11:30:38 +0100 Subject: Disable E_STRICT error reporting This change disables the reporting of strict standard errors in PHP 5.4, in PHP versions prior to 5.4 E_STRICT wasn't part of E_ALL so for these versions this doesn't cause any change (however E_STRICT is available in all versions of PHP 5 so this doesn't cause any problems). See also FS#2427. --- inc/init.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/init.php b/inc/init.php index b3acf2e33..14660b8d0 100644 --- a/inc/init.php +++ b/inc/init.php @@ -30,8 +30,8 @@ if (!defined('DOKU_E_LEVEL') && @file_exists(DOKU_CONF.'report_e_all')) { define('DOKU_E_LEVEL', E_ALL); } if (!defined('DOKU_E_LEVEL')) { - if(defined('E_DEPRECATED')){ // since php 5.3 - error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); + if(defined('E_DEPRECATED')){ // since php 5.3, since php 5.4 E_STRICT is part of E_ALL + error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT); }else{ error_reporting(E_ALL ^ E_NOTICE); } -- cgit v1.2.3 From e96b69da63a04f9397c4a7d03253207f6ccff056 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Thu, 19 Jan 2012 09:39:57 +0000 Subject: corrected old mediaupload introduction text --- inc/lang/de-informal/lang.php | 2 +- inc/lang/de/lang.php | 2 +- inc/lang/en/lang.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index 56751629c..eca04bbc4 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -168,7 +168,7 @@ $lang['accessdenied'] = 'Du hast keinen Zugriff auf diese Seite'; $lang['mediausage'] = 'Syntax zum Verwenden dieser Datei:'; $lang['mediaview'] = 'Originaldatei öffnen'; $lang['mediaroot'] = 'Wurzel'; -$lang['mediaupload'] = 'Lade hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stelle diese dem Dateinamen im Feld "Hochladen als" durch Doppelpunkt getrennt voran.'; +$lang['mediaupload'] = 'Lade hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stelle diese dem Dateinamen durch Doppelpunkt getrennt voran, nachdem Du die Datei ausgewählt hast.'; $lang['mediaextchange'] = 'Dateiendung vom .%s nach .%s geändert!'; $lang['reference'] = 'Verwendung von'; $lang['ref_inuse'] = 'Diese Datei kann nicht gelöscht werden, da sie noch von folgenden Seiten benutzt wird:'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 4e7e6abbb..08e72fec2 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -170,7 +170,7 @@ $lang['accessdenied'] = 'Es ist Ihnen nicht gestattet, diese Seite zu s $lang['mediausage'] = 'Syntax zum Verwenden dieser Datei:'; $lang['mediaview'] = 'Originaldatei öffnen'; $lang['mediaroot'] = 'Wurzel'; -$lang['mediaupload'] = 'Laden Sie hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stellen Sie diese dem Dateinamen im Feld "Hochladen als" durch Doppelpunkt getrennt voran.'; +$lang['mediaupload'] = 'Laden Sie hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stellen Sie diese dem Dateinamen durch Doppelpunkt getrennt voran, nachdem Sie die Datei ausgewählt haben.'; $lang['mediaextchange'] = 'Dateiendung vom .%s nach .%s geändert!'; $lang['reference'] = 'Verwendung von'; $lang['ref_inuse'] = 'Diese Datei kann nicht gelöscht werden, da sie noch von folgenden Seiten benutzt wird:'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 1bfff2897..3f74a8d9c 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -166,7 +166,7 @@ $lang['accessdenied'] = 'You are not allowed to view this page.'; $lang['mediausage'] = 'Use the following syntax to reference this file:'; $lang['mediaview'] = 'View original file'; $lang['mediaroot'] = 'root'; -$lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your "Upload as" filename separated by colons. Files also can be selected by drag and drop.'; +$lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your filename separated by colons after you selected the files. Files can also be selected by drag and drop.'; $lang['mediaextchange'] = 'Filextension changed from .%s to .%s!'; $lang['reference'] = 'References for'; $lang['ref_inuse'] = 'The file can\'t be deleted, because it\'s still used by the following pages:'; -- cgit v1.2.3 From 200ff6b799de7ba300488ec4cb4833c0092761e5 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 22 Jan 2012 11:58:39 +0100 Subject: removed unused class --- inc/remote.php | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 8c505911c..0a507e95d 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -6,18 +6,6 @@ require_once(DOKU_INC.'inc/RemoteAPICore.php'); class RemoteException extends Exception {} class RemoteAccessDeniedException extends RemoteException {} -abstract class RemoteDataType { - private $value; - - function __construct($value) { - $this->value = $value; - } - - function getValue() { - return $this->value; - } -} - /** * This class provides information about remote access to the wiki. * -- cgit v1.2.3 From 59f3611b2f11fe1652befff8189787a1181a2f66 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 22 Jan 2012 16:39:01 +0000 Subject: removed 'view original' button from new media manager again (was added in b8a84c03) and made a link around the image instead, as that is a more minor change (as it should be during the RC phase) and is what was originally planned --- inc/media.php | 4 ++++ inc/template.php | 14 +++----------- 2 files changed, 7 insertions(+), 11 deletions(-) (limited to 'inc') diff --git a/inc/media.php b/inc/media.php index 8ff0a7d14..c53e1f5fc 100644 --- a/inc/media.php +++ b/inc/media.php @@ -832,6 +832,7 @@ function media_preview($image, $auth, $rev=false, $meta=false) { $size = media_image_preview_size($image, $rev, $meta); if ($size) { + global $lang; echo '
    '; $more = array(); @@ -845,7 +846,10 @@ function media_preview($image, $auth, $rev=false, $meta=false) { $more['w'] = $size[0]; $more['h'] = $size[1]; $src = ml($image, $more); + + echo ''; echo ''; + echo ''; echo '
    '.NL; } diff --git a/inc/template.php b/inc/template.php index 9d1609fd3..024bf985c 100644 --- a/inc/template.php +++ b/inc/template.php @@ -970,9 +970,10 @@ function tpl_img($maxwidth=0,$maxheight=0,$link=true,$params=null){ * Default action for TPL_IMG_DISPLAY */ function _tpl_img_action($data, $param=NULL) { + global $lang; $p = buildAttributes($data['params']); - if($data['url']) print ''; + if($data['url']) print ''; print ''; if($data['url']) print ''; return true; @@ -1202,16 +1203,7 @@ function tpl_mediaFileDetails($image, $rev){ media_tabs_details($image, $opened_tab); - echo '
    '; - - // view button - if($opened_tab === 'view'){ - $link = ml($image,array('rev'=>$rev),true); - echo ' '; - } - - echo '

    '; + echo '

    '; list($ext,$mime,$dl) = mimetype($image,false); $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext); $class = 'select mediafile mf_'.$class; -- cgit v1.2.3 From 6d06b26afab712379b6d070a816f0c71cc76753b Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Tue, 24 Jan 2012 14:30:34 +0100 Subject: added INIT_LANG_LOAD event --- inc/init.php | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'inc') diff --git a/inc/init.php b/inc/init.php index 14660b8d0..130746f20 100644 --- a/inc/init.php +++ b/inc/init.php @@ -69,16 +69,6 @@ foreach (array('default','local','protected') as $config_group) { } } -//prepare language array -global $lang; -$lang = array(); - -//load the language files -require_once(DOKU_INC.'inc/lang/en/lang.php'); -if ( $conf['lang'] && $conf['lang'] != 'en' ) { - require_once(DOKU_INC.'inc/lang/'.$conf['lang'].'/lang.php'); -} - //prepare license array() global $license; $license = array(); @@ -214,6 +204,10 @@ $plugin_controller = new $plugin_controller_class(); global $EVENT_HANDLER; $EVENT_HANDLER = new Doku_Event_Handler(); +$local = $conf['lang']; +trigger_event('INIT_LANG_LOAD', $local, 'init_lang', true); + + // setup authentication system if (!defined('NOSESSION')) { auth_setup(); @@ -256,6 +250,20 @@ function init_paths(){ $conf['media_changelog'] = $conf['metadir'].'/_media.changes'; } +function init_lang($langCode) { + //prepare language array + global $lang; + $lang = array(); + + //load the language files + require_once(DOKU_INC.'inc/lang/en/lang.php'); + if ($langCode && $langCode != 'en') { + if (file_exists(DOKU_INC."inc/lang/$langCode/lang.php")) { + require_once(DOKU_INC."inc/lang/$langCode/lang.php"); + } + } +} + /** * Checks the existance of certain files and creates them if missing. */ -- cgit v1.2.3 From c2790ba28b0df3773b54f78e37ac8ce0ada61cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel-Emeric=20Andra=C8=99i?= Date: Wed, 25 Jan 2012 20:03:56 +0100 Subject: Romanian language update --- inc/lang/ro/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'inc') diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 0275b30f3..96a3d7970 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -8,6 +8,7 @@ * @author Emanuel-Emeric Andrași * @author Emanuel-Emeric Andraşi * @author Marius OLAR + * @author Emanuel-Emeric Andrași */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -- cgit v1.2.3 From 61917024a6e927db44aff03e4d7ea5a64bd3ec08 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 29 Jan 2012 18:25:52 +0000 Subject: added 5 new language strings for action tools and skip link (needs translations) This is in preparation for the new default template. This also updates the tpl_actiondropdown() to use most of them. --- inc/lang/de/lang.php | 5 +++++ inc/lang/en/lang.php | 5 +++++ inc/template.php | 6 +++--- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 08e72fec2..f36c9949c 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -198,6 +198,11 @@ $lang['external_edit'] = 'Externe Bearbeitung'; $lang['summary'] = 'Zusammenfassung'; $lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Inhalt anzuzeigen.'; $lang['download'] = 'Schnipsel herunterladen'; +$lang['tools'] = 'Werkzeuge'; +$lang['user_tools'] = 'Benutzer-Werkzeuge'; +$lang['site_tools'] = 'Webseiten-Werkzeuge'; +$lang['page_tools'] = 'Seiten-Werkzeuge'; +$lang['skip_to_content'] = 'zum Inhalt springen'; $lang['mail_newpage'] = 'Neue Seite:'; $lang['mail_changed'] = 'Seite geändert:'; $lang['mail_subscribe_list'] = 'Geänderte Seiten im Namensraum:'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 3f74a8d9c..24974ea5e 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -195,6 +195,11 @@ $lang['external_edit'] = 'external edit'; $lang['summary'] = 'Edit summary'; $lang['noflash'] = 'The Adobe Flash Plugin is needed to display this content.'; $lang['download'] = 'Download Snippet'; +$lang['tools'] = 'Tools'; +$lang['user_tools'] = 'User Tools'; +$lang['site_tools'] = 'Site Tools'; +$lang['page_tools'] = 'Page Tools'; +$lang['skip_to_content'] = 'skip to content'; $lang['mail_newpage'] = 'page added:'; $lang['mail_changed'] = 'page changed:'; diff --git a/inc/template.php b/inc/template.php index 024bf985c..ca4b6327d 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1270,7 +1270,7 @@ function tpl_actiondropdown($empty='',$button='>'){ echo ''; if($REV) echo ''; echo ''; @@ -1274,20 +1275,26 @@ function tpl_actiondropdown($empty='',$button='>'){ $act = tpl_get_action('edit'); if($act) echo ''; - $act = tpl_get_action('revisions'); + $act = tpl_get_action('revert'); if($act) echo ''; - $act = tpl_get_action('revert'); + $act = tpl_get_action('revisions'); if($act) echo ''; $act = tpl_get_action('backlink'); if($act) echo ''; - echo ''; + + $act = tpl_get_action('subscribe'); + if($act) echo ''; + echo ''; echo ''; $act = tpl_get_action('recent'); if($act) echo ''; + $act = tpl_get_action('media'); + if($act) echo ''; + $act = tpl_get_action('index'); if($act) echo ''; echo ''; @@ -1296,10 +1303,10 @@ function tpl_actiondropdown($empty='',$button='>'){ $act = tpl_get_action('login'); if($act) echo ''; - $act = tpl_get_action('profile'); + $act = tpl_get_action('register'); if($act) echo ''; - $act = tpl_get_action('subscribe'); + $act = tpl_get_action('profile'); if($act) echo ''; $act = tpl_get_action('admin'); @@ -1308,6 +1315,7 @@ function tpl_actiondropdown($empty='',$button='>'){ echo ''; echo ''; + echo '

    '; echo ''; } -- cgit v1.2.3 From 27833958afc4d9d54460bd5273a6a56d94c1923f Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 29 Jan 2012 20:03:50 +0000 Subject: added tpl_getMediaFile() to replace tpl_getFavicon() The function tpl_getFavicon() was doing more than its name was implying. Therefore the new tpl_getMediaFile() was introduced (which is doing nearly exactly the same) and tpl_getFavicon() was deprecated. tpl_favicon() can still be used, though. --- inc/template.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index d6b7af1e8..f7a49f002 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1458,16 +1458,15 @@ function tpl_flush(){ flush(); } - /** - * Returns icon from data/media root directory if it exists, otherwise - * the one in the template's image directory. + * Returns link to media file from data/media root directory if it exists, + * otherwise the one in the template's image directory. * - * @param bool $abs - if to use absolute URL * @param string $fileName - file name of icon + * @param bool $abs - if to use absolute URL * @author Anika Henke */ -function tpl_getFavicon($abs=false, $fileName='favicon.ico') { +function tpl_getMediaFile($fileName, $abs=false) { if (file_exists(mediaFN($fileName))) { return ml($fileName, '', true, '', $abs); } @@ -1478,6 +1477,17 @@ function tpl_getFavicon($abs=false, $fileName='favicon.ico') { return DOKU_TPL.'images/'.$fileName; } +/** + * Returns icon from data/media root directory if it exists, otherwise + * the one in the template's image directory. + * + * @deprecated Use tpl_getMediaFile() instead + * @author Anika Henke + */ +function tpl_getFavicon($abs=false, $fileName='favicon.ico') { + return tpl_getMediaFile($fileName, $abs); +} + /** * Returns tag for various icon types (favicon|mobile|generic) * @@ -1491,14 +1501,14 @@ function tpl_favicon($types=array('favicon')) { foreach ($types as $type) { switch($type) { case 'favicon': - $return .= ''.NL; + $return .= ''.NL; break; case 'mobile': - $return .= ''.NL; + $return .= ''.NL; break; case 'generic': // ideal world solution, which doesn't work in any browser yet - $return .= ''.NL; + $return .= ''.NL; break; } } -- cgit v1.2.3 From 378325f948e677b0253c6dc5e268aa753d3a10f1 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 30 Jan 2012 19:08:25 +0100 Subject: made the tpl_getMediaFile() function more flexible --- inc/template.php | 56 +++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 15 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index f7a49f002..b338d2ce9 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1459,22 +1459,44 @@ function tpl_flush(){ } /** - * Returns link to media file from data/media root directory if it exists, - * otherwise the one in the template's image directory. + * Tries to find a ressource file in the given locations. * - * @param string $fileName - file name of icon - * @param bool $abs - if to use absolute URL - * @author Anika Henke + * If a given location starts with a colon it is assumed to be a media + * file, otherwise it is assumed to be relative to the current template + * + * @param array $search locations to look at + * @param bool $abs if to use absolute URL + * @param arrayref $imginfo filled with getimagesize() + * @author Andreas Gohr */ -function tpl_getMediaFile($fileName, $abs=false) { - if (file_exists(mediaFN($fileName))) { - return ml($fileName, '', true, '', $abs); +function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ + // loop through candidates until a match was found: + foreach($search as $img){ + if(substr($img,0,1) == ':'){ + $file = mediaFN($img); + $ismedia = true; + }else{ + $file = DOKU_TPLINC.$img; + $ismedia = false; + } + + if(file_exists($file)) break; } - if($abs) { - return DOKU_URL.substr(DOKU_TPL.'images/'.$fileName, strlen(DOKU_REL)); + // fetch image data if requested + if(!is_null($imginfo)){ + $imginfo = getimagesize($file); } - return DOKU_TPL.'images/'.$fileName; + + // build URL + if($ismedia){ + $url = ml($img, '', true, '', $abs); + }else{ + $url = DOKU_TPL.$img; + if($abs) $url = DOKU_URL.substr($url, strlen(DOKU_REL)); + } + + return $url; } /** @@ -1485,7 +1507,8 @@ function tpl_getMediaFile($fileName, $abs=false) { * @author Anika Henke */ function tpl_getFavicon($abs=false, $fileName='favicon.ico') { - return tpl_getMediaFile($fileName, $abs); + $look = array(":wiki:$fileName", ":$fileName", "images/$fileName"); + return tpl_getMediaFile($look, $abs); } /** @@ -1501,14 +1524,17 @@ function tpl_favicon($types=array('favicon')) { foreach ($types as $type) { switch($type) { case 'favicon': - $return .= ''.NL; + $look = array(':wiki:favicon.ico', ':favicon.ico', 'images/favicon.ico'); + $return .= ''.NL; break; case 'mobile': - $return .= ''.NL; + $look = array(':wiki:apple-touch-icon.png', ':apple-touch-icon.png', 'images/apple-touch-icon.ico'); + $return .= ''.NL; break; case 'generic': // ideal world solution, which doesn't work in any browser yet - $return .= ''.NL; + $look = array(':wiki:favicon.svg', ':favicon.svg', 'images/favicon.svg'); + $return .= ''.NL; break; } } -- cgit v1.2.3 From c4766956646b53ab644ec6ddbd17d9cba07cf872 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 30 Jan 2012 20:38:41 +0100 Subject: DOKU_TPL* considered harmful Some plugins want to dynamically switch the template based on users, namspaces or the phase of the moon. Having fixed paths in a unchangable constant prevents this. This changes deprecates the DOKU_TPL* constants in favor of two new tpl_* functions that return the correct paths based on the $conf variables which can be changed from the DOKUWIKI_STARTED event. --- inc/init.php | 4 ++-- inc/template.php | 31 +++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/init.php b/inc/init.php index 14660b8d0..3aab0587b 100644 --- a/inc/init.php +++ b/inc/init.php @@ -118,11 +118,11 @@ if (!defined('DOKU_COOKIE')) define('DOKU_COOKIE', 'DW'.md5(DOKU_REL.(($conf['se // define main script if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','doku.php'); -// define Template baseURL +// DEPRECATED, use tpl_basedir() instead if(!defined('DOKU_TPL')) define('DOKU_TPL', DOKU_BASE.'lib/tpl/'.$conf['template'].'/'); -// define real Template directory +// DEPRECATED, use tpl_incdir() instead if(!defined('DOKU_TPLINC')) define('DOKU_TPLINC', DOKU_INC.'lib/tpl/'.$conf['template'].'/'); diff --git a/inc/template.php b/inc/template.php index b338d2ce9..28a6a387e 100644 --- a/inc/template.php +++ b/inc/template.php @@ -23,6 +23,29 @@ function template($tpl){ return DOKU_INC.'lib/tpl/default/'.$tpl; } + +/** + * Convenience function to access template dir from local FS + * + * This replaces the deprecated DOKU_TPLINC constant + * + * @author Andreas Gohr + */ +function tpl_incdir(){ + return DOKU_INC.'lib/tpl/'.$conf['template'].'/'; +} + +/** + * Convenience function to access template dir from web + * + * This replaces the deprecated DOKU_TPL constant + * + * @author Andreas Gohr + */ +function tpl_basedir(){ + return DOKU_BASE.'lib/tpl/'.$conf['template'].'/'; +} + /** * Print the content * @@ -1034,7 +1057,7 @@ function tpl_getConf($id){ */ function tpl_loadConfig(){ - $file = DOKU_TPLINC.'/conf/default.php'; + $file = tpl_incdir().'/conf/default.php'; $conf = array(); if (!@file_exists($file)) return false; @@ -1055,7 +1078,7 @@ function tpl_getLang($id){ static $lang = array(); if (count($lang) === 0){ - $path = DOKU_TPLINC.'lang/'; + $path = tpl_incdir().'lang/'; $lang = array(); @@ -1476,7 +1499,7 @@ function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ $file = mediaFN($img); $ismedia = true; }else{ - $file = DOKU_TPLINC.$img; + $file = tpl_incdir().$img; $ismedia = false; } @@ -1492,7 +1515,7 @@ function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ if($ismedia){ $url = ml($img, '', true, '', $abs); }else{ - $url = DOKU_TPL.$img; + $url = tpl_basedir().$img; if($abs) $url = DOKU_URL.substr($url, strlen(DOKU_REL)); } -- cgit v1.2.3 From 75b14482064ceb8495221b07b8991b787f520dad Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 30 Jan 2012 20:42:59 +0100 Subject: added missing global statements tss.. --- inc/template.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index 28a6a387e..c23fd14c1 100644 --- a/inc/template.php +++ b/inc/template.php @@ -32,6 +32,7 @@ function template($tpl){ * @author Andreas Gohr */ function tpl_incdir(){ + global $conf; return DOKU_INC.'lib/tpl/'.$conf['template'].'/'; } @@ -43,6 +44,7 @@ function tpl_incdir(){ * @author Andreas Gohr */ function tpl_basedir(){ + global $conf; return DOKU_BASE.'lib/tpl/'.$conf['template'].'/'; } -- cgit v1.2.3 From c4dda6afdfe780288bffaebcde485b32b91731d6 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Tue, 31 Jan 2012 00:21:07 +0000 Subject: fixed .curid to always highlight the current ID of the main/viewed page --- inc/parser/xhtml.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index bfa22d066..8d1eb24c1 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -566,6 +566,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { function internallink($id, $name = NULL, $search=NULL,$returnonly=false,$linktype='content') { global $conf; global $ID; + global $INFO; $params = ''; $parts = explode('?', $id, 2); @@ -610,7 +611,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $link['pre'] = ''; $link['suf'] = ''; // highlight link to current page - if ($id == $ID) { + if ($id == $INFO['id']) { $link['pre'] = ''; $link['suf'] = ''; } -- cgit v1.2.3 From 40d429f51adcff41f289a7961b5d298d2190f3ef Mon Sep 17 00:00:00 2001 From: Begina Felicysym Date: Thu, 2 Feb 2012 20:48:01 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'inc') diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 26e1bd5f5..42af3d3c4 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -192,6 +192,11 @@ $lang['external_edit'] = 'edycja zewnętrzna'; $lang['summary'] = 'Opis zmian'; $lang['noflash'] = 'Plugin Adobe Flash Plugin jest niezbędny do obejrzenia tej zawartości.'; $lang['download'] = 'Pobierz zrzut'; +$lang['tools'] = 'Narzędzia'; +$lang['user_tools'] = 'Narzędzia użytkownika'; +$lang['site_tools'] = 'Narzędzia witryny'; +$lang['page_tools'] = 'Narzędzia strony'; +$lang['skip_to_content'] = 'przejście do zawartości'; $lang['mail_newpage'] = 'Strona dodana:'; $lang['mail_changed'] = 'Strona zmieniona:'; $lang['mail_subscribe_list'] = 'Zmienione strony w katalogu:'; -- cgit v1.2.3 From ae6cce187876439c77b53ebd2ae61976274f4a11 Mon Sep 17 00:00:00 2001 From: Matej Urban Date: Thu, 2 Feb 2012 20:49:20 +0100 Subject: Slovak language update --- inc/lang/sl/lang.php | 59 +++++++++++++++++++++++++++++++++++++++++++---- inc/lang/sl/locked.txt | 2 +- inc/lang/sl/stopwords.txt | 6 ++--- 3 files changed, 59 insertions(+), 8 deletions(-) (limited to 'inc') diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index d802aa8f0..00a349af6 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -48,6 +48,9 @@ $lang['btn_draft'] = 'Uredi osnutek'; $lang['btn_recover'] = 'Obnovi osnutek'; $lang['btn_draftdel'] = 'Izbriši osnutek'; $lang['btn_revert'] = 'Povrni'; +$lang['btn_register'] = 'Prijava'; +$lang['btn_apply'] = 'Uveljavi'; +$lang['btn_media'] = 'Urejevalnik predstavnih vsebin'; $lang['loggedinas'] = 'Prijava kot'; $lang['user'] = 'Uporabniško ime'; $lang['pass'] = 'Geslo'; @@ -57,7 +60,6 @@ $lang['passchk'] = 'Ponovi novo geslo'; $lang['remember'] = 'Zapomni si me'; $lang['fullname'] = 'Pravo ime'; $lang['email'] = 'Elektronski naslov'; -$lang['register'] = 'Vpis računa'; $lang['profile'] = 'Uporabniški profil'; $lang['badlogin'] = 'Uporabniško ime ali geslo je napačno.'; $lang['minoredit'] = 'Manjše spremembe'; @@ -72,12 +74,12 @@ $lang['regbadmail'] = 'Videti je, da je naveden elektronski naslov ne $lang['regbadpass'] = 'Gesli nista enaki. Poskusite znova.'; $lang['regpwmail'] = 'Geslo za DokuWiki'; $lang['reghere'] = 'Nimate še računa? Vpišite se za nov račun.'; -$lang['profna'] = 'Wiki ne podpira spreminjanja profila.'; +$lang['profna'] = 'DokuWiki ne podpira spreminjanja profila.'; $lang['profnochange'] = 'Brez sprememb.'; $lang['profnoempty'] = 'Prazno polje elektronskega naslova ali imena ni dovoljeno.'; $lang['profchanged'] = 'Uporabniški profil je uspešno posodobljen.'; $lang['pwdforget'] = 'Ali ste pozabili geslo? Pridobite si novo geslo.'; -$lang['resendna'] = 'Wiki ne podpira možnosti ponovnega pošiljanja gesel.'; +$lang['resendna'] = 'DokuWiki ne podpira možnosti ponovnega pošiljanja gesel.'; $lang['resendpwd'] = 'Pošlji novo geslo za'; $lang['resendpwdmissing'] = 'Izpolniti je treba vsa polja.'; $lang['resendpwdnouser'] = 'Podanega uporabniškega imena v podatkovni zbirki ni mogoče najti.'; @@ -93,7 +95,7 @@ $lang['txt_filename'] = 'Pošlji z imenom (izborno)'; $lang['txt_overwrt'] = 'Prepiši obstoječo datoteko'; $lang['lockedby'] = 'Trenutno je zaklenjeno s strani'; $lang['lockexpire'] = 'Zaklep preteče ob'; -$lang['js']['willexpire'] = 'Zaklep za urejevanje bo pretekel čez eno minuto.\nV izogib sporom, uporabite predogled, da se merilnik časa za zaklep ponastavi.'; +$lang['js']['willexpire'] = 'Zaklep za urejevanje bo pretekel čez eno minuto.\nV izogib sporom, uporabite predogled, da se merilnik časa za zaklep ponastavi.'; $lang['js']['notsavedyet'] = 'Neshranjene spremembe bodo izgubljene.'; $lang['js']['searchmedia'] = 'Poišči datoteke'; $lang['js']['keepopen'] = 'Od izbiri ohrani okno odprto'; @@ -123,6 +125,16 @@ $lang['js']['nosmblinks'] = 'Povezovanje do souporabnih datotek sistema Win $lang['js']['linkwiz'] = 'Čarovnik za povezave'; $lang['js']['linkto'] = 'Poveži na:'; $lang['js']['del_confirm'] = 'Ali naj se res izbrišejo izbrani predmeti?'; +$lang['js']['restore_confirm'] = 'Ali naj se koda obnovi na to različico?'; +$lang['js']['media_diff'] = 'Razlike:'; +$lang['js']['media_diff_both'] = 'Eno ob drugem'; +$lang['js']['media_diff_opacity'] = 'Prosojno'; +$lang['js']['media_select'] = 'Izbor datotek ...'; +$lang['js']['media_upload_btn'] = 'Naloži'; +$lang['js']['media_done_btn'] = 'Končano'; +$lang['js']['media_drop'] = 'Spusti datoteke za nalaganje.'; +$lang['js']['media_cancel'] = 'odstrani'; +$lang['js']['media_overwrt'] = 'Prepiši obstoječe datoteke'; $lang['rssfailed'] = 'Prišlo je do napake med pridobivanjem vira: '; $lang['nothingfound'] = 'Ni najdenih predmetov.'; $lang['mediaselect'] = 'Predstavne datoteke'; @@ -157,6 +169,9 @@ $lang['yours'] = 'Vaša različica'; $lang['diff'] = 'Pokaži razlike s trenutno različico'; $lang['diff2'] = 'Pokaži razlike med izbranimi različicami.'; $lang['difflink'] = 'Poveži s tem pogledom primerjave.'; +$lang['diff_type'] = 'Razlike:'; +$lang['diff_inline'] = 'V besedilu'; +$lang['diff_side'] = 'Eno ob drugem'; $lang['line'] = 'Vrstica'; $lang['breadcrumb'] = 'Sled'; $lang['youarehere'] = 'Trenutno dejavna stran'; @@ -169,11 +184,20 @@ $lang['external_edit'] = 'urejanje v zunanjem urejevalniku'; $lang['summary'] = 'Povzetek urejanja'; $lang['noflash'] = 'Za prikaz vsebine je treba namestiti Adobe Flash Plugin'; $lang['download'] = 'Naloži izrezek'; +$lang['tools'] = 'Orodja'; +$lang['user_tools'] = 'Uporabniška orodja'; +$lang['site_tools'] = 'Orodja spletišča'; +$lang['page_tools'] = 'Orodja strani'; +$lang['skip_to_content'] = 'preskoči na vsebino'; $lang['mail_newpage'] = '[DokuWiki] stran dodana:'; $lang['mail_changed'] = '[DokuWiki] stran spremenjena:'; $lang['mail_subscribe_list'] = 'strani s spremenjenim imenom:'; $lang['mail_new_user'] = 'nov uporabnik:'; $lang['mail_upload'] = 'naložena datoteka:'; +$lang['changes_type'] = 'Poglej spremembe'; +$lang['pages_changes'] = 'Strani'; +$lang['media_changes'] = 'Predstavne datoteke'; +$lang['both_changes'] = 'Strani in predstavne datoteke'; $lang['qb_bold'] = 'Krepko besedilo'; $lang['qb_italic'] = 'Ležeče besedilo'; $lang['qb_underl'] = 'Podčrtano besedilo'; @@ -214,6 +238,9 @@ $lang['img_copyr'] = 'Avtorska pravica'; $lang['img_format'] = 'Zapis'; $lang['img_camera'] = 'Fotoaparat'; $lang['img_keywords'] = 'Ključne besede'; +$lang['img_width'] = 'Širina'; +$lang['img_height'] = 'Višina'; +$lang['img_manager'] = 'Poglej v urejevalniku predstavnih vsebin'; $lang['subscr_subscribe_success'] = 'Uporabniški račun %s je dodan na seznam naročnin na %s'; $lang['subscr_subscribe_error'] = 'Napaka med dodajanjem %s na seznam naročnin na %s'; $lang['subscr_subscribe_noaddress'] = 'S trenutnimi prijavnimi podatki ni povezanega elektronskega naslova, zato uporabniškega računa ni mogoče dodati na seznam naročnikov.'; @@ -263,3 +290,27 @@ $lang['hours'] = '%d ur nazaj'; $lang['minutes'] = '%d minut nazaj'; $lang['seconds'] = '%d sekund nazaj'; $lang['wordblock'] = 'Spremembe niso shranjene, ker je v vsebini navedeno neželeno besedilo (spam).'; +$lang['media_uploadtab'] = 'Naloži'; +$lang['media_searchtab'] = 'Poišči'; +$lang['media_file'] = 'Datoteka'; +$lang['media_viewtab'] = 'Pogled'; +$lang['media_edittab'] = 'Uredi'; +$lang['media_historytab'] = 'Zgodovina'; +$lang['media_list_thumbs'] = 'Sličice'; +$lang['media_list_rows'] = 'Vrstice'; +$lang['media_sort_name'] = 'Ime'; +$lang['media_sort_date'] = 'Datum'; +$lang['media_namespaces'] = 'Izbor imenskega prostora'; +$lang['media_files'] = 'Datoteke v %s'; +$lang['media_upload'] = 'Naloži v %s'; +$lang['media_search'] = 'Poišči v %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s pri %s'; +$lang['media_edit'] = 'Uredi %s'; +$lang['media_history'] = 'Zgodovina %s'; +$lang['media_meta_edited'] = 'metapodatki so urejeni'; +$lang['media_perm_read'] = 'Ni ustreznih dovoljenj za branje datotek.'; +$lang['media_perm_upload'] = 'Ni ustreznih dovoljenj za nalaganje datotek.'; +$lang['media_update'] = 'Naloži novo različico'; +$lang['media_restore'] = 'Obnovi to različico'; +$lang['plugin_install_err'] = 'Vstavek ni pravilno nameščen. Preimenujte mapo vstavka\'%s\' v \'%s\'.'; diff --git a/inc/lang/sl/locked.txt b/inc/lang/sl/locked.txt index d51e940b7..cc693d3fa 100644 --- a/inc/lang/sl/locked.txt +++ b/inc/lang/sl/locked.txt @@ -1,3 +1,3 @@ ====== Stran je zaklenjena ====== -Stran je zaklenjenjena za urejanje. Počakati je treba, da zaklep strani poteče. +Stran je zaklenjena za urejanje. Počakati je treba, da zaklep strani poteče. diff --git a/inc/lang/sl/stopwords.txt b/inc/lang/sl/stopwords.txt index 5d61539e7..8eed2daa6 100644 --- a/inc/lang/sl/stopwords.txt +++ b/inc/lang/sl/stopwords.txt @@ -1,7 +1,7 @@ # To je seznam besed, ki jih ustvarjalnik kazala prezre. Seznam je sestavljen iz -# besede, ki so zapisane vsaka v svoji vrstici. Datoteka mora biti zapisana s konnim -# UNIX znakom vrstice. Besede kraje od treh znakov so iz kazala izloene samodejno -# zaradi preglednosti. Seznam se s bo s asom spreminjal in dopolnjeval. +# besede, ki so zapisane vsaka v svoji vrstici. Datoteka mora biti zapisana s končnim +# UNIX znakom vrstice. Besede krajše od treh znakov so iz kazala izločene samodejno +# zaradi preglednosti. Seznam se s bo s časom spreminjal in dopolnjeval. moja moje moji -- cgit v1.2.3 From c7b28ffda48d3e6e225940a74b00ee5011f45b4b Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 4 Feb 2012 13:26:50 +0000 Subject: added div.table around non-editable content as well (FS#1980) --- inc/html.php | 2 ++ inc/media.php | 2 ++ 2 files changed, 4 insertions(+) (limited to 'inc') diff --git a/inc/html.php b/inc/html.php index 1a2d7daef..ece26d136 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1176,6 +1176,7 @@ function html_diff($text='',$intro=true,$type=null){ ptln('

    '); } ?> +
    format($df)?>
    > @@ -1187,6 +1188,7 @@ function html_diff($text='',$intro=true,$type=null){
    +
    +
    @@ -1183,6 +1184,7 @@ function media_file_diff($image, $l_rev, $r_rev, $ns, $auth, $fromajax){ echo ''.NL; echo '
    '.NL; + echo '
    '.NL; if ($is_img && !$fromajax) echo '
    '; } -- cgit v1.2.3 From 750a55de568a82aaa40ca384a17a64804e94f2b9 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 5 Feb 2012 12:33:35 +0100 Subject: corrected comment --- inc/remote.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 0a507e95d..82a0d3c08 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -23,7 +23,8 @@ class RemoteAccessDeniedException extends RemoteException {} * ) * 'name' => 'method name in class', * 'return' => 'type', -* ['doc' = 'method documentation'], + * 'public' => 1/0 - method bypass default group check (used by login) + * ['doc' = 'method documentation'], * ) * ) * -- cgit v1.2.3 From 03d7247e047c21d2733f837148a1499f56784ae3 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Sun, 5 Feb 2012 12:36:19 +0100 Subject: moved plugin and core method calls to seperate function --- inc/remote.php | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 82a0d3c08..105969f8b 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -82,23 +82,31 @@ class RemoteAPI { } list($type, $pluginName, $call) = explode('.', $method, 3); if ($type === 'plugin') { - $plugin = plugin_load('remote', $pluginName); - $methods = $this->getPluginMethods(); - if (!$plugin) { - throw new RemoteException('Method dose not exists'); - } - $this->checkAccess($methods[$method]); - $name = $this->getMethodName($methods, $method); - return call_user_func_array(array($plugin, $name), $args); + return $this->callPlugin($pluginName, $method, $args); } else { - $coreMethods = $this->getCoreMethods(); - $this->checkAccess($coreMethods[$method]); - if (!isset($coreMethods[$method])) { - throw new RemoteException('Method dose not exists'); - } - $this->checkArgumentLength($coreMethods[$method], $args); - return call_user_func_array(array($this->coreMethods, $this->getMethodName($coreMethods, $method)), $args); + return $this->callCoreMethod($method, $args); + } + } + + private function callPlugin($pluginName, $method, $args) { + $plugin = plugin_load('remote', $pluginName); + $methods = $this->getPluginMethods(); + if (!$plugin) { + throw new RemoteException('Method dose not exists'); + } + $this->checkAccess($methods[$method]); + $name = $this->getMethodName($methods, $method); + return call_user_func_array(array($plugin, $name), $args); + } + + private function callCoreMethod($method, $args) { + $coreMethods = $this->getCoreMethods(); + $this->checkAccess($coreMethods[$method]); + if (!isset($coreMethods[$method])) { + throw new RemoteException('Method dose not exists'); } + $this->checkArgumentLength($coreMethods[$method], $args); + return call_user_func_array(array($this->coreMethods, $this->getMethodName($coreMethods, $method)), $args); } private function checkAccess($methodMeta) { -- cgit v1.2.3 From 5c0c6845e9d948437a54eb986c9f339dfc4b2c62 Mon Sep 17 00:00:00 2001 From: PCPA Date: Mon, 6 Feb 2012 23:39:40 +0100 Subject: Russian language update --- inc/lang/ru/lang.php | 103 ++++++++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 58 deletions(-) (limited to 'inc') diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 10fca5477..0b1af234c 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -19,15 +19,15 @@ * @author Aleksandr Selivanov * @author Ladyko Andrey * @author Eugene + * @author Johnny Utah */ $lang['encoding'] = ' utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '«'; //“ -$lang['doublequoteclosing'] = '»'; //” -$lang['singlequoteopening'] = '„'; //‘ -$lang['singlequoteclosing'] = '“'; //’ -$lang['apostrophe'] = '’'; //’ - +$lang['doublequoteopening'] = '«'; +$lang['doublequoteclosing'] = '»'; +$lang['singlequoteopening'] = '„'; +$lang['singlequoteclosing'] = '“'; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Править страницу'; $lang['btn_source'] = 'Показать исходный текст'; $lang['btn_show'] = 'Показать страницу'; @@ -63,7 +63,6 @@ $lang['btn_revert'] = 'Восстановить'; $lang['btn_register'] = 'Зарегистрироваться'; $lang['btn_apply'] = 'Применить'; $lang['btn_media'] = 'Media Manager'; - $lang['loggedinas'] = 'Зашли как'; $lang['user'] = 'Логин'; $lang['pass'] = 'Пароль'; @@ -78,7 +77,6 @@ $lang['badlogin'] = 'Извините, неверное имя по $lang['minoredit'] = 'Небольшие изменения'; $lang['draftdate'] = 'Черновик сохранён'; $lang['nosecedit'] = 'За это время страница была изменена и информация о секции устарела. Загружена полная версия страницы.'; - $lang['regmissing'] = 'Извините, вам следует заполнить все поля.'; $lang['reguexists'] = 'Извините, пользователь с таким логином уже существует.'; $lang['regsuccess'] = 'Пользователь создан, пароль выслан на адрес электронной почты.'; @@ -88,12 +86,10 @@ $lang['regbadmail'] = 'Данный вами адрес электр $lang['regbadpass'] = 'Два введённых пароля не идентичны. Пожалуйста, попробуйте ещё раз.'; $lang['regpwmail'] = 'Ваш пароль для системы «ДокуВики»'; $lang['reghere'] = 'У вас ещё нет аккаунта? Зарегистрируйтесь'; - $lang['profna'] = 'Данная вики не поддерживает изменение профиля'; $lang['profnochange'] = 'Изменений не было внесено, профиль не обновлён.'; $lang['profnoempty'] = 'Логин и адрес электронной почты не могут быть пустыми.'; $lang['profchanged'] = 'Профиль пользователя успешно обновлён.'; - $lang['pwdforget'] = 'Забыли пароль? Получите новый'; $lang['resendna'] = 'Данная вики не поддерживает повторную отправку пароля.'; $lang['resendpwd'] = 'Выслать пароль для'; @@ -102,10 +98,8 @@ $lang['resendpwdnouser'] = 'Пользователь с таким лог $lang['resendpwdbadauth'] = 'Извините, неверный код авторизации. Убедитесь, что вы полностью скопировали ссылку. '; $lang['resendpwdconfirm'] = 'Ссылка для подтверждения пароля была выслана по электронной почте. '; $lang['resendpwdsuccess'] = 'Ваш новый пароль был выслан по электронной почте.'; - $lang['license'] = 'За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:'; $lang['licenseok'] = 'Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии:'; - $lang['searchmedia'] = 'Поиск по имени файла:'; $lang['searchmedia_in'] = 'Поиск в %s'; $lang['txt_upload'] = 'Выберите файл для загрузки'; @@ -113,7 +107,7 @@ $lang['txt_filename'] = 'Введите имя файла в вики ( $lang['txt_overwrt'] = 'Перезаписать существующий файл'; $lang['lockedby'] = 'В данный момент заблокирован'; $lang['lockexpire'] = 'Блокировка истекает в'; -$lang['js']['willexpire'] = 'Ваша блокировка редактирования этой страницы истекает в течение минуты.\nЧтобы избежать конфликтов и сбросить таймер блокировки, нажмите кнопку просмотра.'; +$lang['js']['willexpire'] = 'Ваша блокировка этой страницы на редактирование истекает в течении минуты.\nЧтобы предотвратить конфликты используйте кнопку "Просмотр" для сброса таймера блокировки.'; $lang['js']['notsavedyet'] = 'Несохранённые изменения будут потеряны. Вы действительно хотите продолжить?'; $lang['js']['searchmedia'] = 'Поиск файлов'; $lang['js']['keepopen'] = 'Не закрывать окно после выбора'; @@ -143,22 +137,19 @@ $lang['js']['nosmblinks'] = 'Ссылка на сетевые катало $lang['js']['linkwiz'] = 'Мастер ссылок'; $lang['js']['linkto'] = 'Ссылка на:'; $lang['js']['del_confirm'] = 'Вы на самом деле желаете удалить выбранное?'; -$lang['js']['willexpire'] = 'Ваша блокировка этой страницы на редактирование истекает в течении минуты.\nЧтобы предотвратить конфликты используйте кнопку "Просмотр" для сброса таймера блокировки.'; -$lang['js']['restore_confirm'] = 'Действительно восстановить эту версию?'; -$lang['js']['media_diff'] = 'Просмотр отличий:'; -$lang['js']['media_diff_both'] = 'Рядом'; -$lang['js']['media_diff_opacity'] = 'Наложением'; +$lang['js']['restore_confirm'] = 'Действительно восстановить эту версию?'; +$lang['js']['media_diff'] = 'Просмотр отличий:'; +$lang['js']['media_diff_both'] = 'Рядом'; +$lang['js']['media_diff_opacity'] = 'Наложением'; $lang['js']['media_diff_portions'] = 'Частями'; -$lang['js']['media_select'] = 'Выбрать файлы…'; -$lang['js']['media_upload_btn'] = 'Загрузить'; -$lang['js']['media_done_btn'] = 'Готово'; -$lang['js']['media_drop'] = 'Переместите файлы сюда для загрузки'; -$lang['js']['media_cancel'] = 'отменить'; -$lang['js']['media_overwrt'] = 'Перезаписать существующие файлы'; - +$lang['js']['media_select'] = 'Выбрать файлы…'; +$lang['js']['media_upload_btn'] = 'Загрузить'; +$lang['js']['media_done_btn'] = 'Готово'; +$lang['js']['media_drop'] = 'Переместите файлы сюда для загрузки'; +$lang['js']['media_cancel'] = 'отменить'; +$lang['js']['media_overwrt'] = 'Перезаписать существующие файлы'; $lang['rssfailed'] = 'Произошла ошибка при получении следующей новостной ленты: '; $lang['nothingfound'] = 'Ничего не найдено.'; - $lang['mediaselect'] = 'Выбор медиафайла'; $lang['fileupload'] = 'Загрузка медиафайла'; $lang['uploadsucc'] = 'Загрузка произведена успешно'; @@ -183,7 +174,6 @@ $lang['mediaextchange'] = 'Расширение изменилось: с $lang['reference'] = 'Ссылки для'; $lang['ref_inuse'] = 'Этот файл не может быть удалён, так как он используется на следующих страницах:'; $lang['ref_hidden'] = 'Некоторые ссылки находятся на страницах, на чтение которых у вас нет прав доступа'; - $lang['hits'] = 'соответствий'; $lang['quickhits'] = 'Соответствия в названиях страниц'; $lang['toc'] = 'Содержание'; @@ -207,18 +197,20 @@ $lang['external_edit'] = 'внешнее изменение'; $lang['summary'] = 'Сводка изменений'; $lang['noflash'] = 'Для просмотра этого содержимого требуется Adobe Flash Plugin.'; $lang['download'] = 'Скачать код'; - +$lang['tools'] = 'Инструменты'; +$lang['user_tools'] = 'Инструменты пользователя'; +$lang['site_tools'] = 'Инструменты сайта'; +$lang['page_tools'] = 'Инструменты страницы'; +$lang['skip_to_content'] = 'Перейти к содержанию'; $lang['mail_newpage'] = 'страница добавлена:'; $lang['mail_changed'] = 'страница изменена:'; $lang['mail_subscribe_list'] = 'изменились страницы в пространстве имён:'; $lang['mail_new_user'] = 'новый пользователь:'; $lang['mail_upload'] = 'файл закачан:'; - $lang['changes_type'] = 'Посмотреть изменения'; $lang['pages_changes'] = 'Страниц'; $lang['media_changes'] = 'Медиа файлов'; $lang['both_changes'] = 'И страниц и медиа файлов'; - $lang['qb_bold'] = 'Полужирный'; $lang['qb_italic'] = 'Курсив'; $lang['qb_underl'] = 'Подчёркнутый'; @@ -243,11 +235,8 @@ $lang['qb_media'] = 'Добавить изображения или $lang['qb_sig'] = 'Вставить подпись'; $lang['qb_smileys'] = 'Смайлики'; $lang['qb_chars'] = 'Специальные символы'; - $lang['upperns'] = 'Перейти в родительское пространство имён'; - $lang['admin_register'] = 'Добавить пользователя'; - $lang['metaedit'] = 'Править метаданные'; $lang['metasaveerr'] = 'Ошибка записи метаданных'; $lang['metasaveok'] = 'Метаданные сохранены'; @@ -265,30 +254,24 @@ $lang['img_keywords'] = 'Ключевые слова'; $lang['img_width'] = 'Ширина'; $lang['img_height'] = 'Высота'; $lang['img_manager'] = 'Просмотр в media manager'; - -$lang['subscr_subscribe_success'] = 'Добавлен %s в подписку на %s'; -$lang['subscr_subscribe_error'] = 'Невозможно добавить %s в подписку на %s'; +$lang['subscr_subscribe_success'] = 'Добавлен %s в подписку на %s'; +$lang['subscr_subscribe_error'] = 'Невозможно добавить %s в подписку на %s'; $lang['subscr_subscribe_noaddress'] = 'Нет адреса электронной почты, сопоставленного с вашей учётной записью. Вы не можете подписаться на рассылку'; $lang['subscr_unsubscribe_success'] = 'Удалён %s из подписки на %s'; -$lang['subscr_unsubscribe_error'] = 'Ошибка удаления %s из подписки на %s'; -$lang['subscr_already_subscribed'] = '%s уже подписан на %s'; -$lang['subscr_not_subscribed'] = '%s не подписан на %s'; -// Manage page for subscriptions -$lang['subscr_m_not_subscribed'] = 'Вы не подписаны на текущую страницу или пространство имён.'; -$lang['subscr_m_new_header'] = 'Добавить подписку'; -$lang['subscr_m_current_header'] = 'Текущие подписки'; -$lang['subscr_m_unsubscribe'] = 'Отменить подписку'; -$lang['subscr_m_subscribe'] = 'Подписаться'; -$lang['subscr_m_receive'] = 'Получить'; -$lang['subscr_style_every'] = 'уведомлять о каждом изменении'; -$lang['subscr_style_digest'] = 'сводка изменений по каждой странице'; -$lang['subscr_style_list'] = 'перечислять изменившиеся страницы с прошлого уведомления'; - -/* auth.class language support */ +$lang['subscr_unsubscribe_error'] = 'Ошибка удаления %s из подписки на %s'; +$lang['subscr_already_subscribed'] = '%s уже подписан на %s'; +$lang['subscr_not_subscribed'] = '%s не подписан на %s'; +$lang['subscr_m_not_subscribed'] = 'Вы не подписаны на текущую страницу или пространство имён.'; +$lang['subscr_m_new_header'] = 'Добавить подписку'; +$lang['subscr_m_current_header'] = 'Текущие подписки'; +$lang['subscr_m_unsubscribe'] = 'Отменить подписку'; +$lang['subscr_m_subscribe'] = 'Подписаться'; +$lang['subscr_m_receive'] = 'Получить'; +$lang['subscr_style_every'] = 'уведомлять о каждом изменении'; +$lang['subscr_style_digest'] = 'сводка изменений по каждой странице'; +$lang['subscr_style_list'] = 'перечислять изменившиеся страницы с прошлого уведомления'; $lang['authmodfailed'] = 'Неправильная конфигурация аутентификации пользователя. Пожалуйста, сообщите об этом своему администратору вики.'; $lang['authtempfail'] = 'Аутентификация пользователей временно недоступна. Если проблема продолжается какое-то время, пожалуйста, сообщите об этом своему администратору вики.'; - -/* installer strings */ $lang['i_chooselang'] = 'Выберите свой язык/Choose your language'; $lang['i_installer'] = 'Установка «ДокуВики»'; $lang['i_wikiname'] = 'Название вики'; @@ -314,7 +297,6 @@ $lang['i_pol1'] = 'Общедоступная вики (чтен $lang['i_pol2'] = 'Закрытая вики (чтение, запись и загрузка файлов только для зарегистрированных пользователей)'; $lang['i_retry'] = 'Повторить попытку'; $lang['i_license'] = 'Пожалуйста, выберите тип лицензии для своей вики:'; - $lang['recent_global'] = 'Вы просматриваете изменения в пространстве имён %s. Вы можете также просмотреть недавние изменения во всей вики.'; $lang['years'] = '%d лет назад'; $lang['months'] = '%d месяц(ев) назад'; @@ -323,24 +305,29 @@ $lang['days'] = '%d дней назад'; $lang['hours'] = '%d час(ов) назад'; $lang['minutes'] = '%d минут назад'; $lang['seconds'] = '%d секунд назад'; - $lang['wordblock'] = 'Ваши изменения не сохранены, поскольку они содержат блокируемые слова (спам).'; - $lang['media_uploadtab'] = 'Загрузка'; $lang['media_searchtab'] = 'Поиск'; +$lang['media_file'] = 'Файл'; $lang['media_viewtab'] = 'Просмотр'; $lang['media_edittab'] = 'Правка'; $lang['media_historytab'] = 'История'; +$lang['media_list_thumbs'] = 'Миниатюры'; +$lang['media_list_rows'] = 'Строки'; $lang['media_sort_name'] = 'Сортировка по имени'; $lang['media_sort_date'] = 'Сортировка по дате'; +$lang['media_namespaces'] = 'Выберите каталог'; +$lang['media_files'] = 'Файлы в %s'; $lang['media_upload'] = 'Загрузка в пространство имён %s.'; $lang['media_search'] = 'Поиск в пространстве имён %s.'; $lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s в %s +'; $lang['media_edit'] = 'Правка %s'; +$lang['media_history'] = 'История %s'; $lang['media_meta_edited'] = 'метаданные изменены'; $lang['media_perm_read'] = 'Извините, у Вас недостаточно прав для чтения файлов.'; $lang['media_perm_upload'] = 'Извините, у Вас недостаточно прав для загрузки файлов.'; $lang['media_update'] = 'Загрузить новую версию'; $lang['media_restore'] = 'Восстановить эту версию'; - -$lang['plugin_install_err'] = "Плагин установлен некорректно. Переименуйте папку плагина из '%s' в '%s'."; +$lang['plugin_install_err'] = 'Плагин установлен некорректно. Переименуйте папку плагина из \'%s\' в \'%s\'.'; -- cgit v1.2.3 From b2a1a44c2b1170a6fdbec637fa077c1469631511 Mon Sep 17 00:00:00 2001 From: Marius Olar Date: Tue, 7 Feb 2012 19:46:28 +0100 Subject: Romanian language update --- inc/lang/ro/lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 96a3d7970..2159c8c53 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -8,7 +8,7 @@ * @author Emanuel-Emeric Andrași * @author Emanuel-Emeric Andraşi * @author Marius OLAR - * @author Emanuel-Emeric Andrași + * @author Marius Olar */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -- cgit v1.2.3 From a699035c4f7aa040cc4170401b2f9c48966eba5b Mon Sep 17 00:00:00 2001 From: Erial Krale Date: Wed, 15 Feb 2012 23:30:22 +0100 Subject: Korean language update --- inc/lang/ko/lang.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index b0664e7f4..bcf2dbbf9 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -8,6 +8,7 @@ * @author dongnak@gmail.com * @author Song Younghwan * @author Seung-Chul Yoo + * @author erial2@gmail.com */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -49,7 +50,9 @@ $lang['btn_recover'] = '문서초안 복구'; $lang['btn_draftdel'] = '문서초안 삭제'; $lang['btn_revert'] = '복원'; $lang['btn_register'] = '등록'; -$lang['loggedinas'] = '다음 사용자로 로그인'; +$lang['btn_apply'] = '적용'; +$lang['btn_media'] = '미디어 관리'; +$lang['loggedinas'] = '다른 사용자로 로그인'; $lang['user'] = '사용자'; $lang['pass'] = '패스워드'; $lang['newpass'] = '새로운 패스워드'; @@ -93,7 +96,7 @@ $lang['txt_filename'] = '업로드 파일 이름을 입력합니다.( $lang['txt_overwrt'] = '새로운 파일로 이전 파일을 교체합니다.'; $lang['lockedby'] = '현재 잠금 사용자'; $lang['lockexpire'] = '잠금 해제 시간'; -$lang['js']['willexpire'] = '잠시 후 편집 잠금이 해제됩니다.\n편집 충돌을 피하려면 미리보기를 눌러 잠금 시간을 다시 설정하기 바랍니다.'; +$lang['js']['willexpire'] = '잠시 후 편집 잠금이 해제됩니다.\n편집 충돌을 피하려면 미리보기를 눌러 잠금 시간을 다시 설정하기 바랍니다.'; $lang['js']['notsavedyet'] = '저장하지 않은 변경은 지워집니다. 계속하시겠습니까?'; $lang['js']['searchmedia'] = '파일 찾기'; @@ -125,6 +128,17 @@ $lang['js']['nosmblinks'] = '윈도우 공유 파일과의 연결은 MS 인 $lang['js']['linkwiz'] = '링크 마법사'; $lang['js']['linkto'] = '다음으로 연결:'; $lang['js']['del_confirm'] = '정말로 선택된 항목(들)을 삭제하시겠습니까?'; +$lang['js']['restore_confirm'] = '정말 이 버전으로 되돌리시겠습니까?'; +$lang['js']['media_diff'] = '차이점 보기 :'; +$lang['js']['media_diff_both'] = '나란히 보기'; +$lang['js']['media_diff_opacity'] = '겹쳐 보기'; +$lang['js']['media_diff_portions'] = '쪼개 보기'; +$lang['js']['media_select'] = '파일 선택'; +$lang['js']['media_upload_btn'] = '업로드'; +$lang['js']['media_done_btn'] = '완료'; +$lang['js']['media_drop'] = '업로드할 파일을 끌어넣으세요'; +$lang['js']['media_cancel'] = '삭제'; +$lang['js']['media_overwrt'] = '이미있는 파일 덮어쓰기'; $lang['rssfailed'] = 'feed 가져오기 실패: '; $lang['nothingfound'] = '아무 것도 없습니다.'; $lang['mediaselect'] = '미디어 파일 선택'; @@ -174,11 +188,20 @@ $lang['external_edit'] = '외부 편집기'; $lang['summary'] = '편집 요약'; $lang['noflash'] = '이 컨텐츠를 표시하기 위해서 Adobe Flash Plugin이 필요합니다.'; $lang['download'] = '조각 다운로드'; +$lang['tools'] = '도구'; +$lang['user_tools'] = '사용자 도구'; +$lang['site_tools'] = '사이트 도구'; +$lang['page_tools'] = '페이지 도구'; +$lang['skip_to_content'] = '컨텐츠 넘기기'; $lang['mail_newpage'] = '페이지 추가:'; $lang['mail_changed'] = '페이지 변경:'; $lang['mail_subscribe_list'] = '네임스페이스에서 변경된 페이지:'; $lang['mail_new_user'] = '새로운 사용자:'; $lang['mail_upload'] = '파일 첨부:'; +$lang['changes_type'] = '차이점 보기'; +$lang['pages_changes'] = '페이지'; +$lang['media_changes'] = '미디어 파일'; +$lang['both_changes'] = '미디어 파일과 페이지 양쪽'; $lang['qb_bold'] = '굵은 글'; $lang['qb_italic'] = '이탤릭체 글'; $lang['qb_underl'] = '밑줄 그어진 글'; @@ -219,6 +242,9 @@ $lang['img_copyr'] = '저작권'; $lang['img_format'] = '포맷'; $lang['img_camera'] = '카메라'; $lang['img_keywords'] = '키워드'; +$lang['img_width'] = '너비'; +$lang['img_height'] = '높이'; +$lang['img_manager'] = '미디어 관리자에서 보기'; $lang['subscr_subscribe_success'] = '%s을(를) 구독목록 %s에 추가하였습니다'; $lang['subscr_subscribe_error'] = '%s을(를) 구독목록 %s에 추가하는데 실패했습니다'; $lang['subscr_subscribe_noaddress'] = '등록된 주소가 없기 때문에 구독목록에 등록되지 않았습니다'; @@ -271,3 +297,27 @@ $lang['hours'] = '%d 시간 전'; $lang['minutes'] = '%d 분 전'; $lang['seconds'] = '%d 초 전'; $lang['wordblock'] = '스팸 문구를 포함하고 있어서 저장되지 않았습니다.'; +$lang['media_uploadtab'] = '업로드'; +$lang['media_searchtab'] = '검색'; +$lang['media_file'] = '파일'; +$lang['media_viewtab'] = '보기'; +$lang['media_edittab'] = '수정'; +$lang['media_historytab'] = '변경사항'; +$lang['media_list_thumbs'] = '썸네일'; +$lang['media_list_rows'] = '목록'; +$lang['media_sort_name'] = '이름'; +$lang['media_sort_date'] = '날짜'; +$lang['media_namespaces'] = '네임스페이스 선택'; +$lang['media_files'] = '%s 의 파일'; +$lang['media_upload'] = '%s 에 업로드'; +$lang['media_search'] = '%s 를 검색'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s 의 %s'; +$lang['media_edit'] = '%s 수정'; +$lang['media_history'] = '%s 변경사항'; +$lang['media_meta_edited'] = '메타데이터 수정됨'; +$lang['media_perm_read'] = '죄송합니다, 이 파일을 읽을 권한이 없습니다.'; +$lang['media_perm_upload'] = '죄송합니다. 파일을 업로드할 권한이 없습니다.'; +$lang['media_update'] = '새 버전 올리기'; +$lang['media_restore'] = '이 버전으로 되돌리기'; +$lang['plugin_install_err'] = '플러그인 설치가 비정상적으로 이뤄졌습니다. 플러그인 디렉토리 \'%s\'를 \'%s\'로 변경하십시오.'; -- cgit v1.2.3 From 69995a164f9dbb51adfe17f09901e0200ea8dc7a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Feb 2012 13:39:38 +0100 Subject: do not hardcode profile link in AD pass expire message Changing passwords might not be available. --- inc/auth/ad.class.php | 8 +++++++- inc/lang/de/lang.php | 2 +- inc/lang/en/lang.php | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index cb59c5a48..dc1fef17a 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -149,6 +149,7 @@ class auth_ad extends auth_basic { function getUserData($user){ global $conf; global $lang; + global $ID; if(!$this->_init()) return false; if($user == '') return array(); @@ -206,7 +207,12 @@ class auth_ad extends auth_basic { // if this is the current user, warn him if( ($_SERVER['REMOTE_USER'] == $user) && ($timeleft <= $this->cnf['expirywarn'])){ - msg(sprintf($lang['authpwdexpire'],$timeleft)); + $msg = sprintf($lang['authpwdexpire'],$timeleft); + if($this->canDo('modPass')){ + $url = wl($ID,array('do'=>'profile')); + $msg .= ' '.$lang['btn_profile'].''; + } + msg($msg); } } diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 8fdffd66e..c7b2d7893 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -268,7 +268,7 @@ $lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede ver $lang['subscr_style_list'] = 'Liste der geänderten Seiten (Alle %.2f Tage)'; $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; -$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab. Sie sollten es ändern.'; +$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab, Sie sollten es bald ändern.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; $lang['i_installer'] = 'DokuWiki Installation'; $lang['i_wikiname'] = 'Wiki-Name'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 9250d119a..5c8628da5 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -275,7 +275,7 @@ $lang['subscr_style_list'] = 'list of changed pages since last email (e /* auth.class language support */ $lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.'; $lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.'; -$lang['authpwdexpire'] = 'Your password will expire in %d days. You should change it.'; +$lang['authpwdexpire'] = 'Your password will expire in %d days, you should change it soon.'; /* installer strings */ $lang['i_chooselang'] = 'Choose your language'; -- cgit v1.2.3 From 1e5105f90f56d0f57111eff37a535480115920c5 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Feb 2012 13:42:39 +0100 Subject: make sure AD pass expiry message is never shown twice --- inc/auth/ad.class.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index dc1fef17a..cc080dc93 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -46,6 +46,7 @@ class auth_ad extends auth_basic { var $opts = null; var $adldap = null; var $users = null; + var $msgshown = false; /** * Constructor @@ -205,14 +206,18 @@ class auth_ad extends auth_basic { $timeleft = round($timeleft/(24*60*60)); $info['expiresin'] = $timeleft; - // if this is the current user, warn him - if( ($_SERVER['REMOTE_USER'] == $user) && ($timeleft <= $this->cnf['expirywarn'])){ + // if this is the current user, warn him (once per request only) + if( ($_SERVER['REMOTE_USER'] == $user) && + ($timeleft <= $this->cnf['expirywarn']) && + !$this->msgshown + ){ $msg = sprintf($lang['authpwdexpire'],$timeleft); if($this->canDo('modPass')){ $url = wl($ID,array('do'=>'profile')); $msg .= ' '.$lang['btn_profile'].''; } msg($msg); + $this->msgshown = true; } } -- cgit v1.2.3 From 7cb9c0e3233fdc295a05e410a1d7a731301bc2da Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Feb 2012 14:06:34 +0100 Subject: removed outdated language string. it has to be retranslated --- inc/lang/af/lang.php | 2 -- inc/lang/ar/lang.php | 2 -- inc/lang/az/lang.php | 2 -- inc/lang/bg/lang.php | 2 -- inc/lang/ca-valencia/lang.php | 2 -- inc/lang/ca/lang.php | 2 -- inc/lang/cs/lang.php | 2 -- inc/lang/da/lang.php | 2 -- inc/lang/el/lang.php | 2 -- inc/lang/eo/lang.php | 2 -- inc/lang/es/lang.php | 2 -- inc/lang/et/lang.php | 2 -- inc/lang/eu/lang.php | 2 -- inc/lang/fa/lang.php | 2 -- inc/lang/fi/lang.php | 2 -- inc/lang/fo/lang.php | 2 -- inc/lang/fr/lang.php | 2 -- inc/lang/gl/lang.php | 2 -- inc/lang/he/lang.php | 2 -- inc/lang/hi/lang.php | 1 - inc/lang/hr/lang.php | 2 -- inc/lang/hu/lang.php | 2 -- inc/lang/ia/lang.php | 2 -- inc/lang/id-ni/lang.php | 2 -- inc/lang/id/lang.php | 2 -- inc/lang/is/lang.php | 2 -- inc/lang/it/lang.php | 2 -- inc/lang/ja/lang.php | 2 -- inc/lang/kk/lang.php | 2 -- inc/lang/km/lang.php | 2 -- inc/lang/ko/lang.php | 2 -- inc/lang/la/lang.php | 2 -- inc/lang/lb/lang.php | 2 -- inc/lang/lt/lang.php | 2 -- inc/lang/lv/lang.php | 2 -- inc/lang/mk/lang.php | 2 -- inc/lang/mr/lang.php | 2 -- inc/lang/ne/lang.php | 2 -- inc/lang/nl/lang.php | 2 -- inc/lang/no/lang.php | 2 -- inc/lang/pl/lang.php | 2 -- inc/lang/pt-br/lang.php | 2 -- inc/lang/pt/lang.php | 2 -- inc/lang/ro/lang.php | 2 -- inc/lang/ru/lang.php | 2 -- inc/lang/sk/lang.php | 2 -- inc/lang/sl/lang.php | 2 -- inc/lang/sq/lang.php | 2 -- inc/lang/sr/lang.php | 2 -- inc/lang/sv/lang.php | 2 -- inc/lang/th/lang.php | 2 -- inc/lang/tr/lang.php | 2 -- inc/lang/uk/lang.php | 2 -- inc/lang/zh-tw/lang.php | 2 -- inc/lang/zh/lang.php | 2 -- 55 files changed, 109 deletions(-) (limited to 'inc') diff --git a/inc/lang/af/lang.php b/inc/lang/af/lang.php index 6665196f4..54e5cfc9d 100644 --- a/inc/lang/af/lang.php +++ b/inc/lang/af/lang.php @@ -25,7 +25,6 @@ $lang['btn_back'] = 'Terug'; $lang['btn_backlink'] = 'Wat skakel hierheen'; $lang['btn_subscribe'] = 'Hou bladsy dop'; $lang['btn_unsubscribe'] = 'Verwyder van bladsy dophoulys'; -$lang['btn_resendpwd'] = 'E-pos nuwe wagwoord'; $lang['btn_register'] = 'Skep gerus \'n rekening'; $lang['loggedinas'] = 'Ingeteken as'; $lang['user'] = 'Gebruikernaam'; @@ -43,7 +42,6 @@ $lang['regsuccess2'] = 'Rekening geskep'; $lang['regbadpass'] = 'Die ingetikte wagwoorde is nie dieselfde nie.'; $lang['regpwmail'] = 'Jo DokuWiki wagwoord'; $lang['profnoempty'] = 'Jy moet \'n name en a e-posadres in sit'; -$lang['resendpwd'] = 'Stuir vir a niwe wagwoord'; $lang['resendpwdmissing'] = 'Jammer, jy moet ales in fil'; $lang['resendpwdconfirm'] = '\'n Bevestigingpos is gestuur na die gekose e-posadres.'; $lang['resendpwdsuccess'] = 'Jou nuive wagwoord was deur e-pos gesteur'; diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 02a62fe94..fe1f043b0 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -42,7 +42,6 @@ $lang['btn_backtomedia'] = 'ارجع إلى اختيار ملف الوسا $lang['btn_subscribe'] = 'ادر الاشتراكات'; $lang['btn_profile'] = 'حدث الملف الشخصي'; $lang['btn_reset'] = 'صفّر'; -$lang['btn_resendpwd'] = 'ارسل كلمة سر جديدة'; $lang['btn_draft'] = 'حرر المسودة'; $lang['btn_recover'] = 'استرجع المسودة'; $lang['btn_draftdel'] = 'احذف المسوّدة'; @@ -77,7 +76,6 @@ $lang['profnoempty'] = 'غير مسموح باسم مستخدم أو $lang['profchanged'] = 'حُدث الملف الشخصي للمستخدم بنجاح.'; $lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة'; $lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.'; -$lang['resendpwd'] = 'إرسال كلمة مرور'; $lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ كل الحقول.'; $lang['resendpwdnouser'] = 'عذراً، لم نجد المستخدم هذا في قاعدة بياناتنا.'; $lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد من استخدامك كامل وصلة التأكيد.'; diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php index 13ba7b3c3..a1f9c172b 100644 --- a/inc/lang/az/lang.php +++ b/inc/lang/az/lang.php @@ -40,7 +40,6 @@ $lang['btn_subscribe'] = 'Abunə ol (bütün dəyişiklər)'; $lang['btn_unsubscribe'] = 'Abunəlikdən çıx (bütün dəyişiklər)'; $lang['btn_profile'] = 'Profil'; $lang['btn_reset'] = 'Boşalt'; -$lang['btn_resendpwd'] = 'Yeni şifrəni göndər'; $lang['btn_draft'] = 'Qaralamada düzəliş etmək'; $lang['btn_recover'] = 'Qaralamanı qaytar'; $lang['btn_draftdel'] = 'Qaralamanı sil'; @@ -75,7 +74,6 @@ $lang['profnoempty'] = 'istifadəci adı və e-mail ünvanı boş ola $lang['profchanged'] = 'İstifadəçi profili uğurla yeniləndi.'; $lang['pwdforget'] = 'Şifrəni yaddan çıxartmısız? Buyurun yenisini əldə edin'; $lang['resendna'] = 'Bu wiki şifrəni yenidən göndərməyi dəstəkləmir.'; -$lang['resendpwd'] = 'Yeni şifrəni göndər:'; $lang['resendpwdmissing'] = 'Formanın bütün xanəlırini doldurun.'; $lang['resendpwdnouser'] = 'Verilənlər bazasında bu ad ilə istifadəçi tapılmadı.'; $lang['resendpwdbadauth'] = 'Ativləşdirmə kodu səhvdir. Link-i tam olaraq köçürdüyünüzü yoxlayın. '; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 8985e20e5..fee3505a0 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -41,7 +41,6 @@ $lang['btn_backtomedia'] = 'Назад към избора на файл'; $lang['btn_subscribe'] = 'Абонаменти'; $lang['btn_profile'] = 'Профил'; $lang['btn_reset'] = 'Изчистване'; -$lang['btn_resendpwd'] = 'Пращане на нова парола'; $lang['btn_draft'] = 'Редактиране на чернова'; $lang['btn_recover'] = 'Възстановяване на чернова'; $lang['btn_draftdel'] = 'Изтриване на чернова'; @@ -78,7 +77,6 @@ $lang['profnoempty'] = 'Въвеждането на име и ел. п $lang['profchanged'] = 'Потребителският профил е обновен успешно.'; $lang['pwdforget'] = 'Забравили сте паролата си? Получете нова'; $lang['resendna'] = 'Wiki-то не поддържа повторно пращане на паролата.'; -$lang['resendpwd'] = 'Изпращане на нова парола за'; $lang['resendpwdmissing'] = 'Моля, попълнете всички полета.'; $lang['resendpwdnouser'] = 'Потребителят не е намерен в базата от данни.'; $lang['resendpwdbadauth'] = 'Кодът за потвърждение е невалиден. Проверете дали сте използвали целия линк за потвърждение.'; diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php index eac9fc8d1..e7b653bab 100644 --- a/inc/lang/ca-valencia/lang.php +++ b/inc/lang/ca-valencia/lang.php @@ -41,7 +41,6 @@ $lang['btn_subscribe'] = 'Subscriure\'s a la pàgina'; $lang['btn_unsubscribe'] = 'Desubscriure\'s de la pàgina'; $lang['btn_profile'] = 'Actualisar perfil'; $lang['btn_reset'] = 'Reiniciar'; -$lang['btn_resendpwd'] = 'Enviar contrasenya nova'; $lang['btn_draft'] = 'Editar borrador'; $lang['btn_recover'] = 'Recuperar borrador'; $lang['btn_draftdel'] = 'Borrar borrador'; @@ -76,7 +75,6 @@ $lang['profnoempty'] = 'No es permet deixar el nom o la direcció de c $lang['profchanged'] = 'Perfil de l\'usuari actualisat.'; $lang['pwdforget'] = '¿Ha oblidat la contrasenya? Demane\'n una nova'; $lang['resendna'] = 'Este wiki no permet reenviar la contrasenya.'; -$lang['resendpwd'] = 'Enviar contrasenya nova per a'; $lang['resendpwdmissing'] = 'Disculpe, pero deu omplir tots els camps.'; $lang['resendpwdnouser'] = 'Disculpe, pero no trobem ad est usuari en la base de senyes.'; $lang['resendpwdbadauth'] = 'Disculpe, pero este còdic d\'autenticació no es vàlit. Verifique que haja utilisat el víncul de confirmació sancer.'; diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php index 7094df5b4..a689316b6 100644 --- a/inc/lang/ca/lang.php +++ b/inc/lang/ca/lang.php @@ -41,7 +41,6 @@ $lang['btn_subscribe'] = 'Subscripció a canvis d\'aquesta pàgina'; $lang['btn_unsubscribe'] = 'Cancel·la subscripció a pàgina'; $lang['btn_profile'] = 'Actualització del perfil'; $lang['btn_reset'] = 'Reinicia'; -$lang['btn_resendpwd'] = 'Envia nova contrasenya'; $lang['btn_draft'] = 'Edita esborrany'; $lang['btn_recover'] = 'Recupera esborrany'; $lang['btn_draftdel'] = 'Suprimeix esborrany'; @@ -76,7 +75,6 @@ $lang['profnoempty'] = 'No es pot deixar en blanc el nom o l\'adreça $lang['profchanged'] = 'El perfil d\'usuari s\'ha actualitzat correctament.'; $lang['pwdforget'] = 'Heu oblidat la contrasenya? Podeu obtenir-ne una de nova.'; $lang['resendna'] = 'Aquest wiki no permet tornar a enviar la contrasenya.'; -$lang['resendpwd'] = 'Enviament d\'una nova contrasenya per a'; $lang['resendpwdmissing'] = 'Heu d\'emplenar tots els camps.'; $lang['resendpwdnouser'] = 'No s\'ha pogut trobar aquest usuari a la base de dades.'; $lang['resendpwdbadauth'] = 'Aquest codi d\'autenticació no és vàlid. Assegureu-vos d\'utilitzar l\'enllaç de confirmació complet.'; diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 292c2c42e..ac95c1456 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'Zpět do Výběru dokumentu'; $lang['btn_subscribe'] = 'Odebírat emailem změny stránky'; $lang['btn_profile'] = 'Upravit profil'; $lang['btn_reset'] = 'Reset'; -$lang['btn_resendpwd'] = 'Zaslat nové heslo'; $lang['btn_draft'] = 'Upravit koncept'; $lang['btn_recover'] = 'Obnovit koncept'; $lang['btn_draftdel'] = 'Vymazat koncept'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'Nelze zadat prázdné jméno nebo mailová adr $lang['profchanged'] = 'Uživatelský profil změněn.'; $lang['pwdforget'] = 'Zapomněli jste heslo? Nechte si zaslat nové'; $lang['resendna'] = 'Tato wiki neumožňuje zasílání nových hesel.'; -$lang['resendpwd'] = 'Odeslat nové heslo pro uživatele'; $lang['resendpwdmissing'] = 'Musíte vyplnit všechny položky.'; $lang['resendpwdnouser'] = 'Bohužel takový uživatel v systému není.'; $lang['resendpwdbadauth'] = 'Autorizační kód není platný. Zadali jste opravdu celý odkaz na potvrzovací stránku?'; diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 0b6961921..582687293 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -48,7 +48,6 @@ $lang['btn_backtomedia'] = 'Tilbage til valg af mediefil'; $lang['btn_subscribe'] = 'Abonnér på ændringer'; $lang['btn_profile'] = 'Opdatér profil'; $lang['btn_reset'] = 'Nulstil'; -$lang['btn_resendpwd'] = 'Send ny adgangskode'; $lang['btn_draft'] = 'Redigér kladde'; $lang['btn_recover'] = 'Gendan kladde'; $lang['btn_draftdel'] = 'Slet kladde'; @@ -83,7 +82,6 @@ $lang['profnoempty'] = 'Tomt navn eller e-mail adresse er ikke tilladt $lang['profchanged'] = 'Brugerprofil opdateret korrekt.'; $lang['pwdforget'] = 'Har du glemt dit adgangskode? Få et nyt'; $lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af nyt adgangskode.'; -$lang['resendpwd'] = 'Send nyt adgangskode for'; $lang['resendpwdmissing'] = 'Du skal udfylde alle felter.'; $lang['resendpwdnouser'] = 'Vi kan ikke finde denne bruger i vores database.'; $lang['resendpwdbadauth'] = 'Beklager, denne autoriseringskode er ikke gyldig. Kontroller venligst at du benyttede det fulde link til bekræftelse.'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 4c334c1de..855c581d0 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Επιστροφή στην επιλογή α $lang['btn_subscribe'] = 'Εγγραφή σε λήψη ενημερώσεων σελίδας'; $lang['btn_profile'] = 'Επεξεργασία προφίλ'; $lang['btn_reset'] = 'Ακύρωση'; -$lang['btn_resendpwd'] = 'Αποστολή νέου κωδικού'; $lang['btn_draft'] = 'Επεξεργασία αυτόματα αποθηκευμένης σελίδας'; $lang['btn_recover'] = 'Επαναφορά αυτόματα αποθηκευμένης σελίδας'; $lang['btn_draftdel'] = 'Διαγραφή αυτόματα αποθηκευμένης σελίδας'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'Δεν επιτρέπεται κενό όνο $lang['profchanged'] = 'Το προφίλ χρήστη τροποποιήθηκε επιτυχώς.'; $lang['pwdforget'] = 'Ξεχάσατε το κωδικό σας; Αποκτήστε νέο.'; $lang['resendna'] = 'Αυτό το wiki δεν υποστηρίζει την εκ\' νέου αποστολή κωδικών.'; -$lang['resendpwd'] = 'Αποστολή νέων κωδικών για τον χρήστη'; $lang['resendpwdmissing'] = 'Πρέπει να συμπληρώσετε όλα τα πεδία.'; $lang['resendpwdnouser'] = 'Αυτός ο χρήστης δεν υπάρχει στα αρχεία μας.'; $lang['resendpwdbadauth'] = 'Αυτός ο κωδικός ενεργοποίησης δεν είναι έγκυρος.'; diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 8a15981ee..84f96448d 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'Retroiri al elekto de dosiero'; $lang['btn_subscribe'] = 'Aliĝi al paĝaj modifoj'; $lang['btn_profile'] = 'Ĝisdatigi profilon'; $lang['btn_reset'] = 'Rekomenci'; -$lang['btn_resendpwd'] = 'Sendi novan pasvorton'; $lang['btn_draft'] = 'Redakti skizon'; $lang['btn_recover'] = 'Restarigi skizon'; $lang['btn_draftdel'] = 'Forigi skizon'; @@ -82,7 +81,6 @@ $lang['profnoempty'] = 'Malplena nomo aŭ retadreso ne estas permesata $lang['profchanged'] = 'La profilo de la uzanto estas sukcese ĝisdatigita.'; $lang['pwdforget'] = 'Ĉu vi forgesis vian pasvorton? Prenu novan'; $lang['resendna'] = 'Tiu ĉi vikio ne ebligas resendon de la pasvortoj.'; -$lang['resendpwd'] = 'Sendi novan pasvorton al'; $lang['resendpwdmissing'] = 'Pardonu, vi devas plenigi ĉiujn kampojn.'; $lang['resendpwdnouser'] = 'Pardonu, ni ne trovas tiun uzanton en nia datenbazo.'; $lang['resendpwdbadauth'] = 'Pardonu, tiu aŭtentiga kodo ne validas. Certiĝu, ke vi uzis la kompletan konfirmigan ligilon.'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 5164c3243..97e6827c0 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -61,7 +61,6 @@ $lang['btn_backtomedia'] = 'Volver a la selección de archivos multimedia' $lang['btn_subscribe'] = 'Suscribirse a cambios de la página'; $lang['btn_profile'] = 'Actualizar perfil'; $lang['btn_reset'] = 'Restablecer'; -$lang['btn_resendpwd'] = 'Enviar nueva contraseña'; $lang['btn_draft'] = 'Editar borrador'; $lang['btn_recover'] = 'Recuperar borrador'; $lang['btn_draftdel'] = 'Eliminar borrador'; @@ -98,7 +97,6 @@ $lang['profnoempty'] = 'No se permite que el nombre o la dirección de $lang['profchanged'] = 'Se actualizó correctamente el perfil del usuario.'; $lang['pwdforget'] = '¿Has olvidado tu contraseña? Consigue una nueva'; $lang['resendna'] = 'Este wiki no brinda la posibilidad de reenvío de contraseña.'; -$lang['resendpwd'] = 'Enviar una nueva contraseña para'; $lang['resendpwdmissing'] = 'Lo siento, debes completar todos los campos.'; $lang['resendpwdnouser'] = 'Lo siento, no se encuentra este usuario en nuestra base de datos.'; $lang['resendpwdbadauth'] = 'Lo siento, este código de autenticación no es válido. Asegúrate de haber usado el enlace de confirmación entero.'; diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php index 6cd2f437d..6716e14ba 100644 --- a/inc/lang/et/lang.php +++ b/inc/lang/et/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Tagasi faili valikusse'; $lang['btn_subscribe'] = 'Jälgi seda lehte (teated meilile)'; $lang['btn_profile'] = 'Minu info'; $lang['btn_reset'] = 'Taasta'; -$lang['btn_resendpwd'] = 'Saada uus parool'; $lang['btn_draft'] = 'Toimeta mustandit'; $lang['btn_recover'] = 'Taata mustand'; $lang['btn_draftdel'] = 'Kustuta mustand'; @@ -79,7 +78,6 @@ $lang['profnoempty'] = 'Tühi nimi ega meiliaadress pole lubatud.'; $lang['profchanged'] = 'Kasutaja info edukalt muudetud'; $lang['pwdforget'] = 'Unustasid parooli? Tee uus'; $lang['resendna'] = 'See wiki ei toeta parooli taassaatmist.'; -$lang['resendpwd'] = 'Saada uus parool'; $lang['resendpwdmissing'] = 'Khmm... Sa pead täitma kõik väljad.'; $lang['resendpwdnouser'] = 'Aga sellist kasutajat ei ole.'; $lang['resendpwdbadauth'] = 'See autentimiskood ei ole õige. Kontrolli, et kopeerisid terve lingi.'; diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index d02f281c3..4b1ab32ad 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -40,7 +40,6 @@ $lang['btn_backtomedia'] = 'Atzera Multimedia Fitxategiaren Aukeraketara'; $lang['btn_subscribe'] = 'Harpidetu Orri Aldaketetara'; $lang['btn_profile'] = 'Eguneratu Profila '; $lang['btn_reset'] = 'Aldaketak Desegin'; -$lang['btn_resendpwd'] = 'Pasahitz berria bidali'; $lang['btn_draft'] = 'Editatu zirriborroa'; $lang['btn_recover'] = 'Berreskuratu zirriborroa'; $lang['btn_draftdel'] = 'Ezabatu zirriborroa'; @@ -75,7 +74,6 @@ $lang['profnoempty'] = 'Izen edota e-posta hutsa ez dago onartua.'; $lang['profchanged'] = 'Erabiltzaile profila arrakastaz eguneratua.'; $lang['pwdforget'] = 'Pasahitza ahaztu duzu? Eskuratu berri bat'; $lang['resendna'] = 'Wiki honek ez du pasahitz berbidalketa onartzen.'; -$lang['resendpwd'] = 'Bidali pasahitz berria honentzat:'; $lang['resendpwdmissing'] = 'Barkatu, eremu guztiak bete behar dituzu.'; $lang['resendpwdnouser'] = 'Barkatu, ez dugu erabiltzaile hori datu-basean aurkitzen'; $lang['resendpwdbadauth'] = 'Barkatu, kautotze kodea ez da baliozkoa. Ziurtatu baieztapen esteka osoa erabili duzula.'; diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index ac14ce07a..b4643a0ba 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -47,7 +47,6 @@ $lang['btn_backtomedia'] = 'بازگشت به انتخاب فایل'; $lang['btn_subscribe'] = 'عضویت در تغییرات صفحه'; $lang['btn_profile'] = 'به روز رسانی پروفایل'; $lang['btn_reset'] = 'بازنشاندن'; -$lang['btn_resendpwd'] = 'یک گذرواژه‌ی جدید برای شما فرستاده شود'; $lang['btn_draft'] = 'ویرایش پیش‌نویس'; $lang['btn_recover'] = 'بازیابی پیش‌نویس'; $lang['btn_draftdel'] = 'حذف پیش‌نویس'; @@ -82,7 +81,6 @@ $lang['profnoempty'] = 'نام و آدرس ایمیل باید پر ش $lang['profchanged'] = 'پروفایل کاربر با موفقیت به روز شد'; $lang['pwdforget'] = 'گذرواژه‌ی خود را فراموش کرده‌اید؟ جدید دریافت کنید'; $lang['resendna'] = 'این ویکی ارسال مجدد گذرواژه را پشتیبانی نمی‌کند'; -$lang['resendpwd'] = 'گذرواژه‌ی جدید ارسال شد'; $lang['resendpwdmissing'] = 'متاسفم، شما باید تمام قسمت‌ها را پر کنید'; $lang['resendpwdnouser'] = 'متاسفم، ما نتوانستیم این نام کاربری را در بانک خود پیدا کنیم'; $lang['resendpwdbadauth'] = 'متاسفم، کد شناسایی معتبر نیست. از صحت لینک تاییدیه اطمینان حاصل کنید.'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 8d671a4cb..a33095ee4 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Takaisin mediatiedostojen valintaan'; $lang['btn_subscribe'] = 'Tilaa muutokset'; $lang['btn_profile'] = 'Päivitä profiili'; $lang['btn_reset'] = 'Tyhjennä'; -$lang['btn_resendpwd'] = 'Lähetä uusi salasana'; $lang['btn_draft'] = 'Muokkaa luonnosta'; $lang['btn_recover'] = 'Palauta luonnos'; $lang['btn_draftdel'] = 'Poista luonnos'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'Tyhjä nimi tai sähköpostiosoite ei ole sall $lang['profchanged'] = 'Käyttäjän profiilin päivitys onnistui.'; $lang['pwdforget'] = 'Unohtuiko salasana? Hanki uusi'; $lang['resendna'] = 'Tämä wiki ei tue salasanan uudelleenlähettämistä.'; -$lang['resendpwd'] = 'Lähetä uusi salasana käyttäjälle'; $lang['resendpwdmissing'] = 'Kaikki kentät on täytettävä.'; $lang['resendpwdnouser'] = 'Käyttäjää ei löydy tietokannastamme.'; $lang['resendpwdbadauth'] = 'Tunnistuskoodi on virheellinen. Varmista, että käytit koko varmistuslinkkiä.'; diff --git a/inc/lang/fo/lang.php b/inc/lang/fo/lang.php index 4cb895f72..14ec8c56b 100644 --- a/inc/lang/fo/lang.php +++ b/inc/lang/fo/lang.php @@ -40,7 +40,6 @@ $lang['btn_backtomedia'] = 'Aftur til val av miðlafílu'; $lang['btn_subscribe'] = 'Tilmelda broytingar'; $lang['btn_profile'] = 'Dagføra vangamynd'; $lang['btn_reset'] = 'Nullstilla'; -$lang['btn_resendpwd'] = 'Send nýtt loyniorð'; $lang['btn_draft'] = 'Broyt kladdu'; $lang['btn_recover'] = 'Endurbygg kladdu'; $lang['btn_draftdel'] = 'Sletta'; @@ -75,7 +74,6 @@ $lang['profnoempty'] = 'Tómt navn ella t-post adressa er ikki loyvt.' $lang['profchanged'] = 'Brúkara vangamynd dagført rætt.'; $lang['pwdforget'] = 'Gloymt títt loyniorð? Fá eitt nýtt'; $lang['resendna'] = 'Tað er ikki møguligt at fá sent nýtt loyniorð við hesu wiki.'; -$lang['resendpwd'] = 'Send nýtt loyniorð til'; $lang['resendpwdmissing'] = 'Tú skal filla út øll økir.'; $lang['resendpwdnouser'] = 'Vit kunna ikki finna hendan brúkara í okkara dátagrunni.'; $lang['resendpwdbadauth'] = 'Hald til góðar, hendan góðkenningar kodan er ikki gildug. Kanna eftir at tú nýtti tað fulfíggjaðu góðkenningarleinkjuna'; diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index a0bc6aff7..6c7123e13 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -57,7 +57,6 @@ $lang['btn_backtomedia'] = 'Retour à la sélection du fichier média'; $lang['btn_subscribe'] = 'S\'abonner à la page'; $lang['btn_profile'] = 'Mettre à jour le profil'; $lang['btn_reset'] = 'Réinitialiser'; -$lang['btn_resendpwd'] = 'Envoyer le mot de passe'; $lang['btn_draft'] = 'Modifier le brouillon'; $lang['btn_recover'] = 'Récupérer le brouillon'; $lang['btn_draftdel'] = 'Effacer le brouillon'; @@ -94,7 +93,6 @@ $lang['profnoempty'] = 'Un nom ou une adresse de courriel vide n\'est $lang['profchanged'] = 'Mise à jour du profil réussie.'; $lang['pwdforget'] = 'Mot de passe oublié ? Faites-vous envoyer votre mot de passe '; $lang['resendna'] = 'Ce wiki ne permet pas le renvoi de mot de passe.'; -$lang['resendpwd'] = 'Renvoyer le mot de passe de'; $lang['resendpwdmissing'] = 'Désolé, vous devez remplir tous les champs.'; $lang['resendpwdnouser'] = 'Désolé, cet utilisateur est introuvable dans notre base.'; $lang['resendpwdbadauth'] = 'Désolé, ce code d\'authentification est invalide. Assurez-vous d\'avoir utilisé le lien de confirmation.'; diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 01938b3a0..d09cb097f 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -39,7 +39,6 @@ $lang['btn_backtomedia'] = 'Volver á Selección de Arquivos-Media'; $lang['btn_subscribe'] = 'Avísame dos trocos na páxina'; $lang['btn_profile'] = 'Actualizar Perfil'; $lang['btn_reset'] = 'Reiniciar'; -$lang['btn_resendpwd'] = 'Envíame un novo contrasinal'; $lang['btn_draft'] = 'Editar borrador'; $lang['btn_recover'] = 'Recuperar borrador'; $lang['btn_draftdel'] = 'Eliminar borrador'; @@ -74,7 +73,6 @@ $lang['profnoempty'] = 'Non se permite un nome ou un enderezo de corre $lang['profchanged'] = 'Perfil de usuario actualizado correctamente.'; $lang['pwdforget'] = 'Esqueceches o teu contrasinal? Consegue un novo'; $lang['resendna'] = 'Este wiki non permite o reenvío de contrasinais.'; -$lang['resendpwd'] = 'Enviar novo contrasinal para'; $lang['resendpwdmissing'] = 'Sentímolo, tes que cubrir todos os campos.'; $lang['resendpwdnouser'] = 'Sentímolo, non atopamos este usuario no noso banco de datos.'; $lang['resendpwdbadauth'] = 'Sentímolo, mais este código de autorización non é válido. Asegúrate de que usaches a ligazón completa de confirmación.'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index f295e44a9..6ff429695 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'חזרה לבחירת קובץ מדיה'; $lang['btn_subscribe'] = 'מעקב אחרי שינוים'; $lang['btn_profile'] = 'עדכון הפרופיל'; $lang['btn_reset'] = 'איפוס'; -$lang['btn_resendpwd'] = 'שליחת ססמה חדשה'; $lang['btn_draft'] = 'עריכת טיוטה'; $lang['btn_recover'] = 'שחזור טיוטה'; $lang['btn_draftdel'] = 'מחיקת טיוטה'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'השם וכתובת הדוא״ל לא יכול $lang['profchanged'] = 'הפרופיל עודכן בהצלחה'; $lang['pwdforget'] = 'שכחת את הססמה שלך? ניתן לקבל חדשה'; $lang['resendna'] = 'הוויקי הזה אינו תומך בחידוש ססמה'; -$lang['resendpwd'] = 'שליחת ססמה חדשה עבור'; $lang['resendpwdmissing'] = 'עליך למלא את כל השדות, עמך הסליחה.'; $lang['resendpwdnouser'] = 'משתמש בשם זה לא נמצא במסד הנתונים, עמך הסליחה.'; $lang['resendpwdbadauth'] = 'קוד אימות זה אינו תקף. יש לוודא כי נעשה שימוש בקישור האימות המלא, עמך הסליחה.'; diff --git a/inc/lang/hi/lang.php b/inc/lang/hi/lang.php index 00e5589d8..a11220087 100644 --- a/inc/lang/hi/lang.php +++ b/inc/lang/hi/lang.php @@ -59,7 +59,6 @@ $lang['regpwmail'] = 'आपकी डोकुविकी का $lang['reghere'] = 'आपके पास अभी तक कोई खाता नहीं है? बस एक लें |'; $lang['profna'] = 'यह विकी प्रोफ़ाइल संशोधन का समर्थन नहीं करता |'; $lang['profnochange'] = 'कोई परिवर्तन नहीं, कुछ नहीं करना |'; -$lang['resendpwd'] = 'नवगुप्तशब्द भेजें'; $lang['resendpwdmissing'] = 'छमा करें, आपको सारे रिक्त स्थान भरने पड़ेंगे |'; $lang['resendpwdsuccess'] = 'आपका नवगुप्तशब्द ईमेल द्वारा सम्प्रेषित कर दिया गया है |'; $lang['txt_upload'] = 'अपलोड करने के लिए फ़ाइल चुनें'; diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php index ef10d7720..79a181f1d 100644 --- a/inc/lang/hr/lang.php +++ b/inc/lang/hr/lang.php @@ -42,7 +42,6 @@ $lang['btn_backtomedia'] = 'Povratak na Mediafile izbornik'; $lang['btn_subscribe'] = 'Pretplati se na promjene dokumenta'; $lang['btn_profile'] = 'Ažuriraj profil'; $lang['btn_reset'] = 'Poništi promjene'; -$lang['btn_resendpwd'] = 'Pošalji novu lozinku'; $lang['btn_draft'] = 'Uredi nacrt dokumenta'; $lang['btn_recover'] = 'Vrati prijašnji nacrt dokumenta'; $lang['btn_draftdel'] = 'Obriši nacrt dokumenta'; @@ -77,7 +76,6 @@ $lang['profnoempty'] = 'Prazno korisničko ime ili email nisu dopušte $lang['profchanged'] = 'Korisnički profil je uspješno izmijenjen.'; $lang['pwdforget'] = 'Izgubili ste lozinku? Zatražite novu'; $lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke emailom.'; -$lang['resendpwd'] = 'Poslati novu lozinku za'; $lang['resendpwdmissing'] = 'Ispunite sva polja.'; $lang['resendpwdnouser'] = 'Nije moguće pronaći korisnika.'; $lang['resendpwdbadauth'] = 'Neispravan autorizacijski kod. Provjerite da li ste koristili potpun potvrdni link.'; diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php index 23419a2bd..fd148aa65 100644 --- a/inc/lang/hu/lang.php +++ b/inc/lang/hu/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'Vissza a médiafájlok kezeléséhez'; $lang['btn_subscribe'] = 'Oldalváltozások-hírlevél feliratkozás'; $lang['btn_profile'] = 'Személyes beállítások'; $lang['btn_reset'] = 'Alaphelyzet'; -$lang['btn_resendpwd'] = 'Új jelszó küldése'; $lang['btn_draft'] = 'Piszkozat szerkesztése'; $lang['btn_recover'] = 'Piszkozat folytatása'; $lang['btn_draftdel'] = 'Piszkozat törlése'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'A név és e-mail mező nem maradhat üresen!' $lang['profchanged'] = 'A személyes beállítások változtatása megtörtént.'; $lang['pwdforget'] = 'Elfelejtetted a jelszavad? Itt kérhetsz újat'; $lang['resendna'] = 'Ez a wiki nem támogatja a jelszó újraküldést.'; -$lang['resendpwd'] = 'Új jelszó kiküldése ennek a felhasználónak'; $lang['resendpwdmissing'] = 'Sajnáljuk, az összes mezőt ki kell töltened.'; $lang['resendpwdnouser'] = 'Sajnáljuk, ilyen azonosítójú felhasználónk nem létezik.'; $lang['resendpwdbadauth'] = 'Sajnáljuk, ez a megerősítő kód nem helyes. Biztos, hogy a teljes megerősítés linket beírtad pontosan?'; diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index 8398f29f0..52fec80f0 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'Retornar al selection de files multimedia'; $lang['btn_subscribe'] = 'Gerer subscriptiones'; $lang['btn_profile'] = 'Actualisar profilo'; $lang['btn_reset'] = 'Reinitialisar'; -$lang['btn_resendpwd'] = 'Inviar nove contrasigno'; $lang['btn_draft'] = 'Modificar version provisori'; $lang['btn_recover'] = 'Recuperar version provisori'; $lang['btn_draftdel'] = 'Deler version provisori'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'Un nomine o adresse de e-mail vacue non es per $lang['profchanged'] = 'Actualisation del profilo de usator succedite.'; $lang['pwdforget'] = 'Contrasigno oblidate? Obtene un altere'; $lang['resendna'] = 'Iste wiki non supporta le invio de un nove contrasigno.'; -$lang['resendpwd'] = 'Inviar nove contrasigno pro'; $lang['resendpwdmissing'] = 'Es necessari completar tote le campos.'; $lang['resendpwdnouser'] = 'Iste usator non ha essite trovate in le base de datos.'; $lang['resendpwdbadauth'] = 'Iste codice de authentication non es valide. Assecura te que tu ha usate le ligamine de confirmation complete.'; diff --git a/inc/lang/id-ni/lang.php b/inc/lang/id-ni/lang.php index 9c04f0259..1a4d03498 100644 --- a/inc/lang/id-ni/lang.php +++ b/inc/lang/id-ni/lang.php @@ -38,7 +38,6 @@ $lang['btn_backlink'] = 'Link fangawuli'; $lang['btn_backtomedia'] = 'Angawuli ba filianö Mediafile'; $lang['btn_profile'] = 'Famohouni pörofile'; $lang['btn_reset'] = 'Fawu\'a'; -$lang['btn_resendpwd'] = 'Fa\'ohe\'ö kode sibohou'; $lang['btn_draft'] = 'Fawu\'a wanura'; $lang['btn_draftdel'] = 'Heta zura'; $lang['btn_register'] = 'Fasura\'ö'; @@ -69,7 +68,6 @@ $lang['profnoempty'] = 'Lö tetehegö na lö hadöi töi ma imele.'; $lang['profchanged'] = 'Pörofile zangoguna\'ö no tebohouni.'; $lang['pwdforget'] = 'Hadia olifu\'ö kode? Fuli halö kode'; $lang['resendna'] = 'Lö tetehegi ba wiki da\'a wama\'ohe\'ö kode dua kali.'; -$lang['resendpwd'] = 'Tefa\'ohe\'ö kode sibahou khö'; $lang['resendpwdmissing'] = 'Bologö dödöu, si lö tola lö\'ö öfo\'ösi fefu nahia si tohöna.'; $lang['resendpwdnouser'] = 'Bologö dödöu, lö masöndra zangoguna da\'a ba database.'; $lang['resendpwdconfirm'] = 'No tefaohe\'ö link famaduhu\'ö ba imele.'; diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index e8026acee..b1f0e4f26 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -42,7 +42,6 @@ $lang['btn_subscribe'] = 'Ikuti Perubahan'; $lang['btn_unsubscribe'] = 'Berhenti Ikuti Perubahan'; $lang['btn_profile'] = 'Ubah Profil'; $lang['btn_reset'] = 'Reset'; -$lang['btn_resendpwd'] = 'Kirim password baru'; $lang['btn_draft'] = 'Edit draft'; $lang['btn_draftdel'] = 'Hapus draft'; $lang['btn_register'] = 'Daftar'; @@ -74,7 +73,6 @@ $lang['profnoempty'] = 'Mohon mengisikan nama atau alamat email.'; $lang['profchanged'] = 'Profil User berhasil diubah.'; $lang['pwdforget'] = 'Lupa Password? Dapatkan yang baru'; $lang['resendna'] = 'Wiki ini tidak mendukung pengiriman ulang password.'; -$lang['resendpwd'] = 'Kirim password baru untuk'; $lang['resendpwdmissing'] = 'Maaf, Anda harus mengisikan semua field.'; $lang['resendpwdnouser'] = 'Maaf, user ini tidak ditemukan.'; $lang['resendpwdbadauth'] = 'Maaf, kode autentikasi tidak valid. Pastikan Anda menggunakan keseluruhan link konfirmasi.'; diff --git a/inc/lang/is/lang.php b/inc/lang/is/lang.php index 0e281e58d..be8ed059f 100644 --- a/inc/lang/is/lang.php +++ b/inc/lang/is/lang.php @@ -47,7 +47,6 @@ $lang['btn_subscribe'] = 'Vakta'; $lang['btn_unsubscribe'] = 'Afvakta'; $lang['btn_profile'] = 'Uppfæra notanda'; $lang['btn_reset'] = 'Endurstilla'; -$lang['btn_resendpwd'] = 'Senda nýtt aðgangsorð með tölvupósti'; $lang['btn_draft'] = 'Breyta uppkasti'; $lang['btn_recover'] = 'Endurheimta uppkast'; $lang['btn_draftdel'] = 'Eyða uppkasti'; @@ -82,7 +81,6 @@ $lang['profnoempty'] = 'Það er ekki leyfilegt að skilja nafn og pó $lang['profchanged'] = 'Notendaupplýsingum breytt'; $lang['pwdforget'] = 'Gleymt aðgangsorð? Fáðu nýtt'; $lang['resendna'] = 'Þessi wiki styður ekki endursendingar aðgangsorðs'; -$lang['resendpwd'] = 'Senda nýtt aðgangsorð fyrir'; $lang['resendpwdmissing'] = 'Afsakið, þú verður að út eyðublaðið allt'; $lang['resendpwdnouser'] = 'Afsakið, notandi finnst ekki.'; $lang['resendpwdbadauth'] = 'Afsakið, þessi sannvottunorð er ekki gild. Gakktu úr skugga um að þú notaðir að ljúka staðfesting hlekkur.'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 9f4d42004..f5538b166 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -48,7 +48,6 @@ $lang['btn_backtomedia'] = 'Torna alla selezione file'; $lang['btn_subscribe'] = 'Sottoscrivi modifiche'; $lang['btn_profile'] = 'Aggiorna profilo'; $lang['btn_reset'] = 'Annulla'; -$lang['btn_resendpwd'] = 'Invia nuova password'; $lang['btn_draft'] = 'Modifica bozza'; $lang['btn_recover'] = 'Ripristina bozza'; $lang['btn_draftdel'] = 'Elimina bozza'; @@ -83,7 +82,6 @@ $lang['profnoempty'] = 'Nome o indirizzo email vuoti non sono consenti $lang['profchanged'] = 'Aggiornamento del profilo utente riuscito.'; $lang['pwdforget'] = 'Hai dimenticato la password? Richiedine una nuova'; $lang['resendna'] = 'Questo wiki non supporta l\'invio di nuove password.'; -$lang['resendpwd'] = 'Invia nuova password per'; $lang['resendpwdmissing'] = 'Devi riempire tutti i campi.'; $lang['resendpwdnouser'] = 'Impossibile trovare questo utente nel database.'; $lang['resendpwdbadauth'] = 'Spiacenti, questo codice di autorizzazione non è valido. Assicurati di aver usato il link completo di conferma.'; diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 1eeb6bb73..5a43e7414 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -42,7 +42,6 @@ $lang['btn_backtomedia'] = 'メディアファイル選択に戻る'; $lang['btn_subscribe'] = '変更履歴配信の登録'; $lang['btn_profile'] = 'ユーザー情報の更新'; $lang['btn_reset'] = 'リセット'; -$lang['btn_resendpwd'] = 'パスワード再発行'; $lang['btn_draft'] = 'ドラフトを編集'; $lang['btn_recover'] = 'ドラフトを復元'; $lang['btn_draftdel'] = 'ドラフトを削除'; @@ -77,7 +76,6 @@ $lang['profnoempty'] = 'ユーザー名とメールアドレスを入 $lang['profchanged'] = 'ユーザー情報は更新されました。'; $lang['pwdforget'] = 'パスワードをお忘れですか?パスワード再発行'; $lang['resendna'] = 'パスワードの再発行は出来ません。'; -$lang['resendpwd'] = '新しいパスワードを送信します:'; $lang['resendpwdmissing'] = '全ての項目を入力して下さい。'; $lang['resendpwdnouser'] = '入力されたユーザーが見つかりませんでした。'; $lang['resendpwdbadauth'] = '申し訳ありません。この確認コードは有効ではありません。メール内に記載されたリンクを確認してください。'; diff --git a/inc/lang/kk/lang.php b/inc/lang/kk/lang.php index f9ea0bced..685759f82 100644 --- a/inc/lang/kk/lang.php +++ b/inc/lang/kk/lang.php @@ -38,7 +38,6 @@ $lang['btn_backtomedia'] = 'Медиафайлды таңдауға қай $lang['btn_subscribe'] = 'Жазылуларды басқару'; $lang['btn_profile'] = 'Профильді жаңарту'; $lang['btn_reset'] = 'Түсіру'; -$lang['btn_resendpwd'] = 'Жаңа құпиясөзді жіберу'; $lang['btn_draft'] = 'Шимайды өңдеу'; $lang['btn_recover'] = 'Шимайды қайтару'; $lang['btn_draftdel'] = 'Шимайды өшіру'; @@ -73,7 +72,6 @@ $lang['profnoempty'] = 'Бос есім не email рұқсат еті $lang['profchanged'] = 'Пайдаланушы профилі сәтті жаңартылған.'; $lang['pwdforget'] = 'Құпиясөзіңізді ұмыттыңызба? Жаңадан біреуін алыңыз'; $lang['resendna'] = 'Бұл wiki құпиясөзді қайта жіберуді қолдамайды.'; -$lang['resendpwd'] = 'Келесіге жаңа құпиясөзді жіберу '; $lang['resendpwdmissing'] = 'Кешіріңіз, барлық тармақтары толтыруыңыз керек.'; $lang['resendpwdnouser'] = 'Кешіріңіз, бұл пайдаланушыны дерекқорымызда тапқан жоқпыз.'; $lang['resendpwdbadauth'] = 'Кешіріңіз, бұл түпнұсқалық коды бұрыс. Толық растау сілтемені пайдалануыңызды тексеріңіз.'; diff --git a/inc/lang/km/lang.php b/inc/lang/km/lang.php index 68587e90f..6a5fa223f 100644 --- a/inc/lang/km/lang.php +++ b/inc/lang/km/lang.php @@ -39,7 +39,6 @@ $lang['btn_subscribe'] = 'ដាក់ដំណឹងផ្លស់ប្ត $lang['btn_unsubscribe'] = 'ដកដំណឹងផ្លស់ប្តូរ'; $lang['btn_profile'] = 'កែប្រវត្តិរូប'; $lang['btn_reset'] = 'កមណត់ឡើងរិញ'; -$lang['btn_resendpwd'] = 'ផ្ញើពាក្សសម្ងាត់'; $lang['btn_draft'] = 'កែគំរោង'; $lang['btn_recover'] = 'ស្រោះគំរោងឡើង'; $lang['btn_draftdel'] = 'លុបគំរោង'; @@ -76,7 +75,6 @@ $lang['profchanged'] = 'ប្រវត្តិរូបអ្នកប្រ $lang['pwdforget'] = 'ភ្លិចពាក្សសម្ងាត់ យកមួយទាត។'; $lang['resendna'] = 'វីគីនេះមិនឧបរំផ្ញើពាក្សសម្ងាតម្ដងទៀតទេ។'; -$lang['resendpwd'] = 'ផ្ញើពាក្សសម្ងាតឲ្យ'; $lang['resendpwdmissing'] = 'សុំអាទោស​ អ្នកត្រវបំពេញវាល។'; $lang['resendpwdnouser'] = 'សុំអាទោស​ យាងរកអ្នកប្រើមិនឃើងទេ។'; $lang['resendpwdbadauth'] = 'សុំអាទោស​ រហស្សលេខអនុញ្ញាតពំអាចប្រើបានទេ។ ខ្សែបន្ត'; diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index 91825c797..a9a0bee9f 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = '미디어 파일 선택으로 돌아가기'; $lang['btn_subscribe'] = '구독 신청'; $lang['btn_profile'] = '개인정보 변경'; $lang['btn_reset'] = '초기화'; -$lang['btn_resendpwd'] = '새 패스워드 보내기'; $lang['btn_draft'] = '문서초안 편집'; $lang['btn_recover'] = '문서초안 복구'; $lang['btn_draftdel'] = '문서초안 삭제'; @@ -78,7 +77,6 @@ $lang['profnoempty'] = '이름이나 이메일 주소가 비었습니 $lang['profchanged'] = '개인정보 변경이 성공했습니다.'; $lang['pwdforget'] = '패스워드를 잊어버린 경우 새로 발급받을 수 있습니다.'; $lang['resendna'] = '이 위키는 패스워드 재발급을 지원하지 않습니다.'; -$lang['resendpwd'] = '새로운 패스워드를 보냅니다.'; $lang['resendpwdmissing'] = '새로운 패스워드를 입력해야햡니다.'; $lang['resendpwdnouser'] = '등록된 사용자가 아닙니다. 다시 확인 바랍니다.'; $lang['resendpwdbadauth'] = '인증 코드가 틀립니다. 잘못된 링크인지 확인 바랍니다.'; diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php index fd34a4ef8..a37548d3b 100644 --- a/inc/lang/la/lang.php +++ b/inc/lang/la/lang.php @@ -44,7 +44,6 @@ $lang['btn_backtomedia'] = 'Ad media redire'; $lang['btn_subscribe'] = 'Custodire'; $lang['btn_profile'] = 'Tabellam nouare'; $lang['btn_reset'] = 'Abrogare'; -$lang['btn_resendpwd'] = 'Tesseram nouam cursu interretiali petere'; $lang['btn_draft'] = 'Propositum recensere'; $lang['btn_recover'] = 'Propositum reficere'; $lang['btn_draftdel'] = 'Propositum delere'; @@ -79,7 +78,6 @@ $lang['profnoempty'] = 'Omnes campi complendi sunt.'; $lang['profchanged'] = 'Tabella Sodalis feliciter nouatur'; $lang['pwdforget'] = 'Tesseram amisistine? Nouam petere'; $lang['resendna'] = 'Tesseram non mutare potest.'; -$lang['resendpwd'] = 'Tesseram mitte'; $lang['resendpwdmissing'] = 'Omnes campi complendi sunt.'; $lang['resendpwdnouser'] = 'In tabellis Sodalium nomen non inuentum est.'; $lang['resendpwdbadauth'] = 'Tesseram non legitima est.'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index 191a9bab5..8af1de4cc 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -37,7 +37,6 @@ $lang['btn_backlink'] = 'Linker zeréck'; $lang['btn_backtomedia'] = 'Zeréck bei d\'Auswiel vun de Mediadateien'; $lang['btn_profile'] = 'Profil aktualiséieren'; $lang['btn_reset'] = 'Zerécksetzen'; -$lang['btn_resendpwd'] = 'Nei Passwuert schécken'; $lang['btn_draft'] = 'Entworf änneren'; $lang['btn_recover'] = 'Entworf zeréckhuelen'; $lang['btn_draftdel'] = 'Entworf läschen'; @@ -71,7 +70,6 @@ $lang['profnoempty'] = 'En eidele Numm oder Emailadress ass net erlaab $lang['profchanged'] = 'Benotzerprofil erfollegräicht aktualiséiert.'; $lang['pwdforget'] = 'Passwuert vergiess? Fro der e Neit'; $lang['resendna'] = 'Dëse Wiki ënnerstëtzt net d\'Neiverschécke vu Passwieder.'; -$lang['resendpwd'] = 'Nei Passwuert schécke fir'; $lang['resendpwdmissing'] = 'Du muss all Felder ausfëllen.'; $lang['resendpwdnouser'] = 'Kann dëse Benotzer net an der Datebank fannen.'; $lang['resendpwdbadauth'] = 'Den "Auth"-Code ass ongëlteg. Kuck no obs de dee ganze Konfirmationslink benotzt hues.'; diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php index d14a0695a..c4495bdb8 100644 --- a/inc/lang/lt/lang.php +++ b/inc/lang/lt/lang.php @@ -43,7 +43,6 @@ $lang['btn_subscribe'] = 'Užsisakyti keitimų prenumeratą'; $lang['btn_unsubscribe'] = 'Atsisakyti keitimų prenumeratos'; $lang['btn_profile'] = 'Atnaujinti profilį'; $lang['btn_reset'] = 'Atstata'; -$lang['btn_resendpwd'] = 'Išsiųsti naują slaptažodį'; $lang['btn_draft'] = 'Redaguoti juodraštį'; $lang['btn_recover'] = 'Atkurti juodraštį'; $lang['btn_draftdel'] = 'Šalinti juodraštį'; @@ -77,7 +76,6 @@ $lang['profnoempty'] = 'Tuščias vardo arba el. pašto adreso laukas $lang['profchanged'] = 'Vartotojo profilis sėkmingai atnaujintas.'; $lang['pwdforget'] = 'Pamiršote slaptažodį? Gaukite naują'; $lang['resendna'] = 'Ši vikisvetainė neleidžia persiųsti slaptažodžių.'; -$lang['resendpwd'] = 'Atsiųsti naują slaptažodį'; $lang['resendpwdmissing'] = 'Jūs turite užpildyti visus laukus.'; $lang['resendpwdnouser'] = 'Tokio vartotojo nėra duomenų bazėje.'; $lang['resendpwdbadauth'] = 'Atsiprašome, bet šis tapatybės nustatymo kodas netinkamas. Įsitikinkite, kad panaudojote pilną patvirtinimo nuorodą.'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 205d2e56d..21f3494a0 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -39,7 +39,6 @@ $lang['btn_backtomedia'] = 'Atpakaļ uz mēdiju failu izvēli'; $lang['btn_subscribe'] = 'Abonēt izmaiņu paziņojumus'; $lang['btn_profile'] = 'Labot savu profilu'; $lang['btn_reset'] = 'Atsaukt izmaiņas'; -$lang['btn_resendpwd'] = 'Nosūtīt jaunu paroli'; $lang['btn_draft'] = 'Labot melnrakstu'; $lang['btn_recover'] = 'Atjaunot melnrakstu'; $lang['btn_draftdel'] = 'Dzēst melnrakstu'; @@ -76,7 +75,6 @@ $lang['profnoempty'] = 'Bez vārda vai e-pasta adreses nevar.'; $lang['profchanged'] = 'Profils veiksmīgi izlabots.'; $lang['pwdforget'] = 'Aizmirsi paroli? Saņem jaunu'; $lang['resendna'] = 'Paroļu izsūtīšanu nepiedāvāju.'; -$lang['resendpwd'] = 'Nosūtīt jaunu paroli lietotājam'; $lang['resendpwdmissing'] = 'Atvaino, jāizpilda visas ailes.'; $lang['resendpwdnouser'] = 'Atvaino, tāda lietotāja nav.'; $lang['resendpwdbadauth'] = 'Atvaino, šis autorizācijas kods nav derīgs. Pārliecinies, ka lietoji pilnu apstiprināšanas adresi.'; diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php index ca4a746cd..8a137ce71 100644 --- a/inc/lang/mk/lang.php +++ b/inc/lang/mk/lang.php @@ -42,7 +42,6 @@ $lang['btn_backtomedia'] = 'Назад до изборот за медиа $lang['btn_subscribe'] = 'Менаџирај претплати'; $lang['btn_profile'] = 'Ажурирај профил'; $lang['btn_reset'] = 'Ресет'; -$lang['btn_resendpwd'] = 'Испрати нов пасворд'; $lang['btn_draft'] = 'Уреди скица'; $lang['btn_recover'] = 'Поврати скица'; $lang['btn_draftdel'] = 'Избриши скица'; @@ -77,7 +76,6 @@ $lang['profnoempty'] = 'Празно име или адреса за $lang['profchanged'] = 'Корисничкиот профил е успешно ажуриран.'; $lang['pwdforget'] = 'Ја заборавивте лозинката? Добијте нова'; $lang['resendna'] = 'Ова вики не поддржува повторно испраќање на лозинка.'; -$lang['resendpwd'] = 'Испрати нова лозинка за'; $lang['resendpwdmissing'] = 'Жалам, морате да ги пополните сите полиња.'; $lang['resendpwdnouser'] = 'Жалам, таков корисник не постои во нашата база со податоци.'; $lang['resendpwdbadauth'] = 'Жалам, овај код за валидација не е валиден. Проверете повторно дали ја искористивте целосната врска за потврда.'; diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index 63fda3e5a..4e5001342 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -47,7 +47,6 @@ $lang['btn_subscribe'] = 'पृष्ठाच्या बदलां $lang['btn_unsubscribe'] = 'पृष्ठाच्या बदलांची पुरवणी (फीड) बंद करा'; $lang['btn_profile'] = 'प्रोफाइल अद्ययावत करा'; $lang['btn_reset'] = 'रिसेट'; -$lang['btn_resendpwd'] = 'कृपया परवलीचा नवीन शब्द माझ्या इमेल पत्त्यावर पाठविणे.'; $lang['btn_draft'] = 'प्रत संपादन'; $lang['btn_recover'] = 'प्रत परत मिळवा'; $lang['btn_draftdel'] = 'प्रत रद्द'; @@ -82,7 +81,6 @@ $lang['profchanged'] = 'सदस्याची प्रोफाइ $lang['pwdforget'] = 'परवलीचा शब्द विसरला आहे का? नविन मागवा.'; $lang['resendna'] = 'ह्या विकी मधे परवलीचा शब्द परत पाथाव्न्याची सुविधा नाही.'; $lang['resendpwd'] = 'नविन परवली इच्छुक'; -$lang['resendpwdmissing'] = 'कृपया सर्व रकाने भरा.'; $lang['resendpwdnouser'] = 'माफ़ करा, हा सदस्य आमच्या माहितिसंग्रहात सापडला नाही.'; $lang['resendpwdbadauth'] = 'माफ़ करा, हा अधिकार कोड बरोबर नाही. कृपया आपण पूर्ण शिकामोर्तबाची लिंक वापरल्याची खात्री करा.'; $lang['resendpwdconfirm'] = 'शिक्कामोर्तबाची लिंक ईमेल द्वारा पाठवली आहे.'; diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php index 97e2dde5c..8f593267e 100644 --- a/inc/lang/ne/lang.php +++ b/inc/lang/ne/lang.php @@ -40,7 +40,6 @@ $lang['btn_subscribe'] = 'पृष्ठ परिवर्तन ग $lang['btn_unsubscribe'] = 'पृष्ठ परिवर्तन अग्राह्य गर्नुहोस्'; $lang['btn_profile'] = 'प्रोफाइल अध्यावधिक गर्नुहोस् '; $lang['btn_reset'] = 'पूर्वरुपमा फर्काउनुहोस'; -$lang['btn_resendpwd'] = 'नयाँ प्रवेश शव्द(पासवर्ड) पठाउनुहोस् '; $lang['btn_draft'] = ' ड्राफ्ट सम्पादन गर्नुहोस् '; $lang['btn_recover'] = 'पहिलेको ड्राफ्ट हासिल गर्नुहोस '; $lang['btn_draftdel'] = ' ड्राफ्ट मेटाउनुहोस् '; @@ -75,7 +74,6 @@ $lang['profchanged'] = 'प्रयोगकर्ताको प् $lang['pwdforget'] = 'आफ्नो पासवर्ड भुल्नु भयो ? नयाँ हासिल गर्नुहोस् '; $lang['resendna'] = 'यो विकिबाट प्रवेशशव्द पठाउन समर्थित छैन ।'; $lang['resendpwd'] = 'नयाँ प्रवेशशव्द पठाउनुहोस् '; -$lang['resendpwdmissing'] = 'माफ गर्नुहोस् , तपाईले सबै ठाउ भर्नुपर्छ। '; $lang['resendpwdnouser'] = 'माफ गर्नुहोस्, हाम्रो डेटावेसमा यो प्रयोगकर्ता भेटिएन ।'; $lang['resendpwdbadauth'] = 'माफ गर्नुहोस् , यो अनुमति चिन्ह गलत छ। तपाईले पूरै जानकारी लिङ्क प्रयोग गर्नु पर्नेछ। '; $lang['resendpwdconfirm'] = 'तपाईको इमेलमा कन्फरमेशन लिङ्क पठाइएको छ। '; diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 62d23b0d2..705aaf134 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -50,7 +50,6 @@ $lang['btn_backtomedia'] = 'Terug naar Bestandsselectie'; $lang['btn_subscribe'] = 'Inschrijven wijzigingen'; $lang['btn_profile'] = 'Profiel aanpassen'; $lang['btn_reset'] = 'Wissen'; -$lang['btn_resendpwd'] = 'Stuur een nieuw wachtwoord'; $lang['btn_draft'] = 'Bewerk concept'; $lang['btn_recover'] = 'Herstel concept'; $lang['btn_draftdel'] = 'Verwijder concept'; @@ -87,7 +86,6 @@ $lang['profnoempty'] = 'Een lege gebruikersnaam of e-mailadres is niet $lang['profchanged'] = 'Gebruikersprofiel succesvol aangepast'; $lang['pwdforget'] = 'Je wachtwoord vergeten? Vraag een nieuw wachtwoord aan'; $lang['resendna'] = 'Deze wiki ondersteunt het verzenden van wachtwoorden niet'; -$lang['resendpwd'] = 'Stuur een nieuw wachtwoord voor'; $lang['resendpwdmissing'] = 'Sorry, je moet alle velden invullen.'; $lang['resendpwdnouser'] = 'Sorry, we kunnen deze gebruikersnaam niet vinden in onze database.'; $lang['resendpwdbadauth'] = 'Sorry, deze authentiecatiecode is niet geldig. Controleer of je de volledige bevestigings-link hebt gebruikt.'; diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 88d21b536..3bf15fffa 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -52,7 +52,6 @@ $lang['btn_backtomedia'] = 'Tilbake til valg av mediafil'; $lang['btn_subscribe'] = 'Abonner på endringer'; $lang['btn_profile'] = 'Oppdater profil'; $lang['btn_reset'] = 'Tilbakestill'; -$lang['btn_resendpwd'] = 'Send nytt passord'; $lang['btn_draft'] = 'Rediger kladd'; $lang['btn_recover'] = 'Gjennvinn kladd'; $lang['btn_draftdel'] = 'Slett kladd'; @@ -89,7 +88,6 @@ $lang['profnoempty'] = 'Tomt navn- eller e-postfelt er ikke tillatt.'; $lang['profchanged'] = 'Brukerprofil ble vellykket oppdatert.'; $lang['pwdforget'] = 'Glemt ditt passord? Få deg et nytt'; $lang['resendna'] = 'Denne wikien støtter ikke nyutsending.'; -$lang['resendpwd'] = 'Send nytt passord for'; $lang['resendpwdmissing'] = 'Beklager, du må fylle inn alle felt.'; $lang['resendpwdnouser'] = 'Beklager, vi kan ikke finne denne brukeren i vår database.'; $lang['resendpwdbadauth'] = 'Beklager, denne autorisasjonskoden er ikke gyldig. Sjekk at du brukte hele bekreftelseslenken.'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index a6fc3d52e..1aafe3eae 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -47,7 +47,6 @@ $lang['btn_backtomedia'] = 'Powrót do wyboru pliku'; $lang['btn_subscribe'] = 'Subskrybuj zmiany'; $lang['btn_profile'] = 'Aktualizuj profil'; $lang['btn_reset'] = 'Resetuj'; -$lang['btn_resendpwd'] = 'Prześlij nowe hasło'; $lang['btn_draft'] = 'Edytuj szkic'; $lang['btn_recover'] = 'Przywróć szkic'; $lang['btn_draftdel'] = 'Usuń szkic'; @@ -82,7 +81,6 @@ $lang['profnoempty'] = 'Pusta nazwa lub adres e-mail nie dozwolone.'; $lang['profchanged'] = 'Zaktualizowano profil użytkownika.'; $lang['pwdforget'] = 'Nie pamiętasz hasła? Zdobądź nowe!'; $lang['resendna'] = 'To wiki nie pozwala na powtórne przesyłanie hasła.'; -$lang['resendpwd'] = 'Prześlij nowe hasło dla'; $lang['resendpwdmissing'] = 'Wypełnij wszystkie pola.'; $lang['resendpwdnouser'] = 'Nie można znaleźć tego użytkownika w bazie danych.'; $lang['resendpwdbadauth'] = 'Błędny kod autoryzacji! Upewnij się, że użyłeś(aś) właściwego odnośnika.'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index 066b3acaa..3721465be 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -54,7 +54,6 @@ $lang['btn_backtomedia'] = 'Voltar à seleção do arquivo de mídia'; $lang['btn_subscribe'] = 'Monitorar alterações'; $lang['btn_profile'] = 'Atualizar o perfil'; $lang['btn_reset'] = 'Limpar'; -$lang['btn_resendpwd'] = 'Envie-me uma nova senha'; $lang['btn_draft'] = 'Editar o rascunho'; $lang['btn_recover'] = 'Recuperar o rascunho'; $lang['btn_draftdel'] = 'Excluir o rascunho'; @@ -89,7 +88,6 @@ $lang['profnoempty'] = 'Não são permitidos nomes ou endereços de e- $lang['profchanged'] = 'O perfil do usuário foi atualizado com sucesso.'; $lang['pwdforget'] = 'Esqueceu sua senha? Solicite outra'; $lang['resendna'] = 'Esse wiki não tem suporte para o reenvio de senhas.'; -$lang['resendpwd'] = 'Enviar a nova senha para'; $lang['resendpwdmissing'] = 'Desculpe, você deve preencher todos os campos.'; $lang['resendpwdnouser'] = 'Desculpe, não foi possível encontrar esse usuário no nosso banco de dados.'; $lang['resendpwdbadauth'] = 'Desculpe, esse código de autorização é inválido. Certifique-se de que você usou o link de confirmação inteiro.'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 3c3a8d9da..96a157da5 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = 'Voltar à Selecção de Media'; $lang['btn_subscribe'] = 'Subscrever Alterações'; $lang['btn_profile'] = 'Actualizar Perfil'; $lang['btn_reset'] = 'Limpar'; -$lang['btn_resendpwd'] = 'Enviar nova senha'; $lang['btn_draft'] = 'Editar rascunho'; $lang['btn_recover'] = 'Recuperar rascunho'; $lang['btn_draftdel'] = 'Apagar rascunho'; @@ -86,7 +85,6 @@ $lang['profchanged'] = 'Perfil do utilizador actualizado com sucesso.' $lang['pwdforget'] = 'Esqueceu a sua senha? Pedir nova senha'; $lang['resendna'] = 'Este wiki não suporta reenvio de senhas.'; -$lang['resendpwd'] = 'Enviar nova senha para'; $lang['resendpwdmissing'] = 'É preciso preencher todos os campos.'; $lang['resendpwdnouser'] = 'Não foi possível encontrar este utilizador.'; $lang['resendpwdbadauth'] = 'O código de autenticação não é válido. Por favor, assegure-se de que o link de confirmação está completo.'; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 91f8ebb97..b88905385 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Înapoi la Selecţia Mediafile'; $lang['btn_subscribe'] = 'Subscrie Modificarea Paginii'; $lang['btn_profile'] = 'Actualizează Profil'; $lang['btn_reset'] = 'Resetează'; -$lang['btn_resendpwd'] = 'Trimite parola nouă'; $lang['btn_draft'] = 'Editează schiţă'; $lang['btn_recover'] = 'Recuperează schiţă'; $lang['btn_draftdel'] = 'Şterge schiţă'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = 'Nu sunt admise numele sau adresa de email neco $lang['profchanged'] = 'Profilul de utilizator a fost actualizat succes.'; $lang['pwdforget'] = 'Parola uitată? Luaţi una nouă'; $lang['resendna'] = 'Această wiki nu suportă retrimiterea parolei.'; -$lang['resendpwd'] = 'Trimite parola nouă pentru'; $lang['resendpwdmissing'] = 'Ne pare rău, trebuie completate toate câmpurile.'; $lang['resendpwdnouser'] = 'Ne pare rău, acest utilizator nu poate fi găsit în baza de date.'; $lang['resendpwdbadauth'] = 'Ne pare rău, acest cod de autorizare nu este corect. Verificaţi dacă aţi folosit tot link-ul de confirmare.'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index eda838451..863e75f8f 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -55,7 +55,6 @@ $lang['btn_backtomedia'] = 'Вернуться к выбору медиа $lang['btn_subscribe'] = 'Подписаться (все правки)'; $lang['btn_profile'] = 'Профиль'; $lang['btn_reset'] = 'Сброс'; -$lang['btn_resendpwd'] = 'Выслать новый пароль'; $lang['btn_draft'] = 'Править черновик'; $lang['btn_recover'] = 'Восстановить черновик'; $lang['btn_draftdel'] = 'Удалить черновик'; @@ -96,7 +95,6 @@ $lang['profchanged'] = 'Профиль пользователя усп $lang['pwdforget'] = 'Забыли пароль? Получите новый'; $lang['resendna'] = 'Данная вики не поддерживает повторную отправку пароля.'; -$lang['resendpwd'] = 'Выслать пароль для'; $lang['resendpwdmissing'] = 'Вы должны заполнить все поля формы.'; $lang['resendpwdnouser'] = 'Пользователь с таким логином не обнаружен в нашей базе данных.'; $lang['resendpwdbadauth'] = 'Извините, неверный код авторизации. Убедитесь, что вы полностью скопировали ссылку. '; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index c0d45da58..a8ea546d3 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -42,7 +42,6 @@ $lang['btn_backtomedia'] = 'Späť na výber média'; $lang['btn_subscribe'] = 'Sledovať zmeny'; $lang['btn_profile'] = 'Aktualizovať profil'; $lang['btn_reset'] = 'Zrušiť'; -$lang['btn_resendpwd'] = 'Poslať nové heslo'; $lang['btn_draft'] = 'Upraviť koncept'; $lang['btn_recover'] = 'Obnoviť koncept'; $lang['btn_draftdel'] = 'Zmazať koncept'; @@ -79,7 +78,6 @@ $lang['profnoempty'] = 'Prázdne meno alebo mailová adresa nie sú po $lang['profchanged'] = 'Užívateľský účet úspešne zmenený.'; $lang['pwdforget'] = 'Zabudli ste heslo? Získajte nové!'; $lang['resendna'] = 'Táto wiki nepodporuje opätovné zasielanie hesla.'; -$lang['resendpwd'] = 'Pošli nové heslo pre'; $lang['resendpwdmissing'] = 'Prepáčte, musíte vyplniť všetky polia.'; $lang['resendpwdnouser'] = 'Prepáčte, nemôžeme nájsť zadaného užívateľa v databáze.'; $lang['resendpwdbadauth'] = 'Prepáčte, tento autorizačný kód nie je platný. Uistite sa, či ste použili celý autorizačný odkaz.'; diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index 9acf13504..75eac8c96 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Nazaj na izbiro predstavnih datotek'; $lang['btn_subscribe'] = 'Urejanje naročnin'; $lang['btn_profile'] = 'Posodobi profil'; $lang['btn_reset'] = 'Ponastavi'; -$lang['btn_resendpwd'] = 'Pošlji novo geslo'; $lang['btn_draft'] = 'Uredi osnutek'; $lang['btn_recover'] = 'Obnovi osnutek'; $lang['btn_draftdel'] = 'Izbriši osnutek'; @@ -78,7 +77,6 @@ $lang['profnoempty'] = 'Prazno polje elektronskega naslova ali imena n $lang['profchanged'] = 'Uporabniški profil je uspešno posodobljen.'; $lang['pwdforget'] = 'Ali ste pozabili geslo? Pridobite si novo geslo.'; $lang['resendna'] = 'Wiki ne podpira možnosti ponovnega pošiljanja gesel.'; -$lang['resendpwd'] = 'Pošlji novo geslo za'; $lang['resendpwdmissing'] = 'Izpolniti je treba vsa polja.'; $lang['resendpwdnouser'] = 'Podanega uporabniškega imena v podatkovni zbirki ni mogoče najti.'; $lang['resendpwdbadauth'] = 'Koda za overitev ni prava. Prepričajte se, da ste uporabili celotno povezavo za potrditev.'; diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php index 87d0f30b5..788e21d36 100644 --- a/inc/lang/sq/lang.php +++ b/inc/lang/sq/lang.php @@ -44,7 +44,6 @@ $lang['btn_backtomedia'] = 'Mbrapa tek Përzgjedhja e Media-ve'; $lang['btn_subscribe'] = 'Menaxho Abonimet'; $lang['btn_profile'] = 'Përditëso Profilin'; $lang['btn_reset'] = 'Rivendos'; -$lang['btn_resendpwd'] = 'Dërgo fjalëkalim të ri'; $lang['btn_draft'] = 'Redakto skicën'; $lang['btn_recover'] = 'Rekupero skicën'; $lang['btn_draftdel'] = 'Fshi skicën'; @@ -79,7 +78,6 @@ $lang['profnoempty'] = 'Një emër bosh ose adresë email-i bosh nuk l $lang['profchanged'] = 'Profili i përdoruesit u përditësua me sukses.'; $lang['pwdforget'] = 'E harruat fjalëkalimin? Merni një të ri'; $lang['resendna'] = 'Ky wiki nuk e lejon ridërgimin e fjalëkalimeve.'; -$lang['resendpwd'] = 'Dërgo një fjalëkalim të ri për'; $lang['resendpwdmissing'] = 'Na vjen keq, duhet t\'i plotësoni të gjitha fushat.'; $lang['resendpwdnouser'] = 'Na vjen keq, nuk mund ta gjejmë këtë përdorues në bazën tonë të të dhënave.'; $lang['resendpwdbadauth'] = 'Na vjen keq, ky kod autorizimi nuk është i vlefshëm. Sigurohuni që përdoret linkun e plotë të konfirmimit.'; diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 22bcf4e33..50f486924 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -41,7 +41,6 @@ $lang['btn_backtomedia'] = 'Врати се на избор медијск $lang['btn_subscribe'] = 'Пријави се на измене'; $lang['btn_profile'] = 'Ажурирај профил'; $lang['btn_reset'] = 'Поништи'; -$lang['btn_resendpwd'] = 'Пошаљи нову лозинку'; $lang['btn_draft'] = 'Измени нацрт'; $lang['btn_recover'] = 'Опорави нацрт'; $lang['btn_draftdel'] = 'Обриши нацрт'; @@ -76,7 +75,6 @@ $lang['profnoempty'] = 'Није дозвољено оставити $lang['profchanged'] = 'Кориснички профил је ажуриран.'; $lang['pwdforget'] = 'Заборавили сте лозинку? Направите нову'; $lang['resendna'] = 'Овај вики не дозвољава слање лозинки.'; -$lang['resendpwd'] = 'Пошаљи нову лозинку за'; $lang['resendpwdmissing'] = 'Жао ми је, сва поља морају бити попуњена.'; $lang['resendpwdnouser'] = 'Жао ми је, овај корисник не постоји у нашој бази.'; $lang['resendpwdbadauth'] = 'Жао ми је, потврдни код није исправан. Проверите да ли сте користили комплетан потврдни линк.'; diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php index 943509fed..28cc10f6c 100644 --- a/inc/lang/sv/lang.php +++ b/inc/lang/sv/lang.php @@ -52,7 +52,6 @@ $lang['btn_backtomedia'] = 'Tillbaka till val av Mediafil'; $lang['btn_subscribe'] = 'Prenumerera på ändringar'; $lang['btn_profile'] = 'Uppdatera profil'; $lang['btn_reset'] = 'Återställ'; -$lang['btn_resendpwd'] = 'Skicka nytt lösenord'; $lang['btn_draft'] = 'Redigera utkast'; $lang['btn_recover'] = 'Återskapa utkast'; $lang['btn_draftdel'] = 'Radera utkast'; @@ -87,7 +86,6 @@ $lang['profnoempty'] = 'Namn och e-postadress måste fyllas i.'; $lang['profchanged'] = 'Användarprofilen uppdaterad.'; $lang['pwdforget'] = 'Glömt ditt lösenord? Ordna ett nytt'; $lang['resendna'] = 'Den här wikin stödjer inte utskick av lösenord.'; -$lang['resendpwd'] = 'Skicka nytt lösenord för'; $lang['resendpwdmissing'] = 'Du måste fylla i alla fält.'; $lang['resendpwdnouser'] = 'Den här användaren hittas inte i databasen.'; $lang['resendpwdbadauth'] = 'Den här verifieringskoden är inte giltig. Kontrollera att du använde hela verifieringslänken.'; diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php index 0d0613961..337fccf85 100644 --- a/inc/lang/th/lang.php +++ b/inc/lang/th/lang.php @@ -48,7 +48,6 @@ $lang['btn_subscribe'] = 'เฝ้าดู'; $lang['btn_unsubscribe'] = 'เลิกเฝ้าดู'; $lang['btn_profile'] = 'แก้ข้อมูลผู้ใช้'; $lang['btn_reset'] = 'เริ่มใหม่'; -$lang['btn_resendpwd'] = 'ลืมรหัส ส่งให้ใหม่ทางอีเมล'; $lang['btn_draft'] = 'แก้ไขเอกสารฉบับร่าง'; $lang['btn_recover'] = 'กู้คืนเอกสารฉบับร่าง'; $lang['btn_draftdel'] = 'ลบเอกสารฉบับร่าง'; @@ -83,7 +82,6 @@ $lang['profnoempty'] = 'ไม่อนุญาติให้เว $lang['profchanged'] = 'ปรับปรุงข้อมูลส่วนตัวผู้ใช้สำเร็จ'; $lang['pwdforget'] = 'ลืมรหัสผ่านหรือ? เอาอันใหม่สิ'; $lang['resendna'] = 'วิกินี้ไม่รองรับการส่งรหัสผ่านซ้ำ'; -$lang['resendpwd'] = 'ส่งรหัสผ่านใหม่ให้กับ'; $lang['resendpwdmissing'] = 'ขออภัย, คุณต้องกรอกทุกช่อง'; $lang['resendpwdnouser'] = 'ขออภัย, เราไม่พบผู้ใช้คนนี้ในฐานข้อมูลของเรา'; $lang['resendpwdbadauth'] = 'ขออภัย, รหัสนี้ยังใช้ไม่ได้ กรุณาตรวจสอบว่าคุณกดลิ้งค์ยืนยันแล้ว'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 94b1c951a..b867a5201 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -43,7 +43,6 @@ $lang['btn_backtomedia'] = 'Çokluortam dosyası seçimine dön'; $lang['btn_subscribe'] = 'Sayfa Değişikliklerini Bildir'; $lang['btn_profile'] = 'Kullanıcı Bilgilerini Güncelle'; $lang['btn_reset'] = 'Sıfırla'; -$lang['btn_resendpwd'] = 'Yeni parola gönder'; $lang['btn_draft'] = 'Taslağı düzenle'; $lang['btn_recover'] = 'Taslağı geri yükle'; $lang['btn_draftdel'] = 'Taslağı sil'; @@ -78,7 +77,6 @@ $lang['profnoempty'] = 'Boş isim veya e-posta adresine izin verilmiyo $lang['profchanged'] = 'Kullanıcı bilgileri başarıyla değiştirildi.'; $lang['pwdforget'] = 'Parolanızı mı unuttunuz? Yeni bir parola alın'; $lang['resendna'] = 'Bu wiki parolayı tekrar göndermeyi desteklememektedir.'; -$lang['resendpwd'] = 'Yeni parolayı gönder:'; $lang['resendpwdmissing'] = 'Üzgünüz, tüm alanları doldurmalısınız.'; $lang['resendpwdnouser'] = 'Üzgünüz, veritabanımızda bu kullanıcıyı bulamadık.'; $lang['resendpwdbadauth'] = 'Üzgünüz, bu doğrulama kodu doğru değil. Doğrulama linkini tam olarak kullandığınıza emin olun.'; diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php index 22d61c9bf..bd68ecb81 100644 --- a/inc/lang/uk/lang.php +++ b/inc/lang/uk/lang.php @@ -44,7 +44,6 @@ $lang['btn_backtomedia'] = 'Назад до вибору медіа-фай $lang['btn_subscribe'] = 'Підписатися'; $lang['btn_profile'] = 'Оновити профіль'; $lang['btn_reset'] = 'Очистити'; -$lang['btn_resendpwd'] = 'Надіслати новий пароль'; $lang['btn_draft'] = 'Редагувати чернетку'; $lang['btn_recover'] = 'Відновити чернетку'; $lang['btn_draftdel'] = 'Знищити чернетку'; @@ -79,7 +78,6 @@ $lang['profnoempty'] = 'Ім’я або e-mail не можуть бу $lang['profchanged'] = 'Профіль успішно змінено.'; $lang['pwdforget'] = 'Забули пароль? Отримайте новий'; $lang['resendna'] = 'Ця Вікі не підтримує повторне відправлення пароля.'; -$lang['resendpwd'] = 'Надіслати пароль для'; $lang['resendpwdmissing'] = 'Необхідно заповнити усі поля.'; $lang['resendpwdnouser'] = 'Такий користувач не існує.'; $lang['resendpwdbadauth'] = 'Код автентифікації невірний. Перевірте, чи ви використали повне посилання для підтвердження.'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index a46869d6c..fd12c00ad 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -45,7 +45,6 @@ $lang['btn_backtomedia'] = '重新選擇圖檔'; $lang['btn_subscribe'] = '訂閱更動通知'; $lang['btn_profile'] = '更新個人資料'; $lang['btn_reset'] = '資料重設'; -$lang['btn_resendpwd'] = '寄新密碼'; $lang['btn_draft'] = '編輯草稿'; $lang['btn_recover'] = '復原草稿'; $lang['btn_draftdel'] = '捨棄草稿'; @@ -80,7 +79,6 @@ $lang['profnoempty'] = '帳號或 email 地址不可空白!'; $lang['profchanged'] = '個人資料已成功更新囉。'; $lang['pwdforget'] = '忘記密碼了?索取新密碼!'; $lang['resendna'] = '本維基不開放重寄密碼'; -$lang['resendpwd'] = '寄新密碼給'; $lang['resendpwdmissing'] = '抱歉,您必須填寫所有欄位。'; $lang['resendpwdnouser'] = '抱歉,資料庫內找不到這個使用者'; $lang['resendpwdbadauth'] = '抱歉,認證碼無效。請確認您使用了完整的確認連結。'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 6e6dff6f4..0d89a1e5d 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -49,7 +49,6 @@ $lang['btn_backtomedia'] = '返回到媒体文件选择工具'; $lang['btn_subscribe'] = '订阅本页更改'; $lang['btn_profile'] = '更新个人信息'; $lang['btn_reset'] = '重设'; -$lang['btn_resendpwd'] = '发送新密码'; $lang['btn_draft'] = '编辑草稿'; $lang['btn_recover'] = '恢复草稿'; $lang['btn_draftdel'] = '删除草稿'; @@ -86,7 +85,6 @@ $lang['profnoempty'] = '不允许使用空的用户名或邮件地址 $lang['profchanged'] = '用户信息更新成功。'; $lang['pwdforget'] = '忘记密码?立即获取新密码'; $lang['resendna'] = '本维基不支持二次发送密码。'; -$lang['resendpwd'] = '发送新密码给'; $lang['resendpwdmissing'] = '对不起,您必须填写所有的区域。'; $lang['resendpwdnouser'] = '对不起,在我们的用户数据中找不到该用户。'; $lang['resendpwdbadauth'] = '对不起,该认证码错误。请使用完整的确认链接。'; -- cgit v1.2.3 From 451e1b4dc1985d10b3aeaeeaf23d5498ce87032b Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Feb 2012 14:10:10 +0100 Subject: use correct lang string for password mismatch --- inc/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/auth.php b/inc/auth.php index 740a75a5c..437a82a82 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -872,7 +872,7 @@ function act_resendpwd(){ // password given correctly? if(!isset($_REQUEST['pass']) || $_REQUEST['pass'] == '') return false; if($_REQUEST['pass'] != $_REQUEST['passchk']){ - msg('password mismatch',-1); #FIXME localize + msg($lang['regbadpass'],-1); return false; } $pass = $_REQUEST['pass']; -- cgit v1.2.3 From 4d3ea096062ffd40303a0499aee5b7f757e00948 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Feb 2012 21:48:02 +0100 Subject: removed commented line --- inc/html.php | 1 - 1 file changed, 1 deletion(-) (limited to 'inc') diff --git a/inc/html.php b/inc/html.php index dea9ac6ab..50989f236 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1677,7 +1677,6 @@ function html_resendpwd() { $form->startFieldset($lang['btn_resendpwd']); $form->addHidden('token', $token); $form->addHidden('do', 'resendpwd'); - //$form->addElement(form_makeTag('br')); $form->addElement(form_makePasswordField('pass', $lang['pass'], '', 'block', array('size'=>'50'))); $form->addElement(form_makePasswordField('passchk', $lang['passchk'], '', 'block', array('size'=>'50'))); -- cgit v1.2.3 From 8a9735e34dc99c24355e0aee74a3cd49aa3b1492 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 19 Feb 2012 13:38:31 +0100 Subject: added a timelimit for password reset tokens passwords now need to be reset within 3 days of requesting the password change mail --- inc/auth.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'inc') diff --git a/inc/auth.php b/inc/auth.php index 437a82a82..4e11288e1 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -860,6 +860,14 @@ function act_resendpwd(){ unset($_REQUEST['pwauth']); return false; } + // token is only valid for 3 days + if( (time() - filemtime($tfile)) > (3*60*60*24) ){ + msg($lang['resendpwdbadauth'],-1); + unset($_REQUEST['pwauth']); + @unlink($tfile); + return false; + } + $user = io_readfile($tfile); $userinfo = $auth->getUserData($user); if(!$userinfo['mail']) { -- cgit v1.2.3 From 361171a4e89a313fae8aa823c2279b32ec0c08bc Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 22 Feb 2012 17:34:53 +0100 Subject: simpler/more robust header parsing in HTTPClient The previous regexp approach failed for empty headers. --- inc/HTTPClient.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'inc') diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 641950348..f0470e736 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -580,13 +580,14 @@ class HTTPClient { */ function _parseHeaders($string){ $headers = array(); - if (!preg_match_all('/^\s*([\w-]+)\s*:\s*([\S \t]+)\s*$/m', $string, - $matches, PREG_SET_ORDER)) { - return $headers; - } - foreach($matches as $match){ - list(, $key, $val) = $match; + $lines = explode("\n",$string); + array_shift($lines); //skip first line (status) + foreach($lines as $line){ + list($key, $val) = explode(':',$line,2); + $key = trim($key); + $val = trim($val); $key = strtolower($key); + if(!$key) continue; if(isset($headers[$key])){ if(is_array($headers[$key])){ $headers[$key][] = $val; -- cgit v1.2.3 From 20f04039e631c2cfd34d22e124d2b9d9b94a19d6 Mon Sep 17 00:00:00 2001 From: Danny Date: Thu, 1 Mar 2012 20:54:28 +0800 Subject: Fix a stupid typo --- inc/parser/metadata.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index 9b4c6b8da..8bfdc3b9c 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -459,7 +459,7 @@ class Doku_Renderer_metadata extends Doku_Renderer { if($title['title']) return '['.$title['title'].']'; } else if (is_null($title) || trim($title)==''){ if (useHeading('content') && $id){ - $heading = p_get_first_heading($id,METADATA_DONT_RENDER)); + $heading = p_get_first_heading($id,METADATA_DONT_RENDER); if ($heading) return $heading; } return $default; -- cgit v1.2.3 From 1d901ab2e0bb93fd121685d355782e3672c0d96d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 2 Mar 2012 07:53:45 +0100 Subject: fixed media only RSS feed when the SKIP_DELETED flag was set, no recent changes where returned for media only queries, becuase file checks where done on page files instead of media files --- inc/changelog.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/changelog.php b/inc/changelog.php index 60f9b8657..24583b341 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -188,7 +188,7 @@ function getRecents($first,$num,$ns='',$flags=0){ // handle lines while ($lines_position >= 0 || (($flags & RECENTS_MEDIA_PAGES_MIXED) && $media_lines_position >=0)) { if (empty($rec) && $lines_position >= 0) { - $rec = _handleRecent(@$lines[$lines_position], $ns, $flags & ~RECENTS_MEDIA_CHANGES, $seen); + $rec = _handleRecent(@$lines[$lines_position], $ns, $flags, $seen); if (!$rec) { $lines_position --; continue; @@ -197,8 +197,8 @@ function getRecents($first,$num,$ns='',$flags=0){ if (($flags & RECENTS_MEDIA_PAGES_MIXED) && empty($media_rec) && $media_lines_position >= 0) { $media_rec = _handleRecent(@$media_lines[$media_lines_position], $ns, $flags | RECENTS_MEDIA_CHANGES, $seen); if (!$media_rec) { - $media_lines_position --; - continue; + $media_lines_position --; + continue; } } if (($flags & RECENTS_MEDIA_PAGES_MIXED) && @$media_rec['date'] >= @$rec['date']) { @@ -320,8 +320,10 @@ function _handleRecent($line,$ns,$flags,&$seen){ if ($recent['perms'] < AUTH_READ) return false; // check existance - $fn = (($flags & RECENTS_MEDIA_CHANGES) ? mediaFN($recent['id']) : wikiFN($recent['id'])); - if((!@file_exists($fn)) && ($flags & RECENTS_SKIP_DELETED)) return false; + if($flags & RECENTS_SKIP_DELETED){ + $fn = (($flags & RECENTS_MEDIA_CHANGES) ? mediaFN($recent['id']) : wikiFN($recent['id'])); + if(!@file_exists($fn)) return false; + } return $recent; } -- cgit v1.2.3 From 44dae8a743d9c3d83f22e6f38a1685c8326a3b62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bohum=C3=ADr=20Z=C3=A1me=C4=8Dn=C3=ADk?= Date: Sun, 4 Mar 2012 17:49:09 +0100 Subject: Czech language update --- inc/lang/cs/lang.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'inc') diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index badd57ac5..55e891863 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -11,6 +11,7 @@ * @author Lefty * @author Vojta Beran * @author zbynek.krivka@seznam.cz + * @author Bohumir Zamecnik */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -190,6 +191,11 @@ $lang['external_edit'] = 'upraveno mimo DokuWiki'; $lang['summary'] = 'Komentář k úpravám'; $lang['noflash'] = 'Pro přehrání obsahu potřebujete Adobe Flash Plugin.'; $lang['download'] = 'Stáhnout snippet'; +$lang['tools'] = 'Nástroje'; +$lang['user_tools'] = 'Uživatelské nástroje'; +$lang['site_tools'] = 'Nástroje pro tento web'; +$lang['page_tools'] = 'Nástroje pro stránku'; +$lang['skip_to_content'] = 'jít k obsahu'; $lang['mail_newpage'] = 'nová stránka:'; $lang['mail_changed'] = 'změna stránky:'; $lang['mail_subscribe_list'] = 'stránky změněné ve jmenném prostoru:'; -- cgit v1.2.3 From bfdeb23f1844dffca054cb9c17c31a2151d3d9ea Mon Sep 17 00:00:00 2001 From: lupo49 Date: Wed, 7 Mar 2012 19:58:33 +0100 Subject: Parser: Allow parser to fully recognize windows share links with a hyphen character in it (Currently, the clickable link stops before a hyphen character) --- inc/parser/parser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/parser/parser.php b/inc/parser/parser.php index 68d4e4569..cf132ce97 100644 --- a/inc/parser/parser.php +++ b/inc/parser/parser.php @@ -929,7 +929,7 @@ class Doku_Parser_Mode_windowssharelink extends Doku_Parser_Mode { var $pattern; function preConnect() { - $this->pattern = "\\\\\\\\\w+?(?:\\\\[\w$]+)+"; + $this->pattern = "\\\\\\\\\w+?(?:\\\\[\w-$]+)+"; } function connectTo($mode) { -- cgit v1.2.3 From 7980e1acf1a671646747e5b924f2c8e208280a2e Mon Sep 17 00:00:00 2001 From: Guy Brand Date: Wed, 7 Mar 2012 20:19:29 +0100 Subject: Add link to view non images files in media manager (FS#2439) --- inc/template.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index c23fd14c1..d9a2042ad 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1232,7 +1232,7 @@ function tpl_mediaFileDetails($image, $rev){ list($ext,$mime,$dl) = mimetype($image,false); $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext); $class = 'select mediafile mf_'.$class; - $tabTitle = ''.$image.''; + $tabTitle = ''.$image.''.''; if ($opened_tab === 'view' && $rev) { printf($lang['media_viewold'], $tabTitle, dformat($rev)); } else { -- cgit v1.2.3 From 80083a41ce7a4ccf3132621757c333c535179dbe Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 10 Mar 2012 17:25:02 +0100 Subject: made tpl_license a bit more flexible This way there's less custom code for the footer buttons needed --- inc/template.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index c23fd14c1..02e039b2d 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1350,8 +1350,9 @@ function tpl_actiondropdown($empty='',$button='>'){ * @author Andreas Gohr * @param string $img - print image? (|button|badge) * @param bool $return - when true don't print, but return HTML + * @param bool $wrap - wrap in div with class="license"? */ -function tpl_license($img='badge',$imgonly=false,$return=false){ +function tpl_license($img='badge',$imgonly=false,$return=false,$wrap=true){ global $license; global $conf; global $lang; @@ -1359,22 +1360,29 @@ function tpl_license($img='badge',$imgonly=false,$return=false){ if(!is_array($license[$conf['license']])) return ''; $lic = $license[$conf['license']]; - $out = '
    '; + $out = ''; + if($wrap) $out .= '
    '; if($img){ $src = license_img($img); if($src){ + if(!$imgonly){ + $left = 'medialeft'; + }else{ + $left = ''; + } + $out .= ' '; + $out .= '>'.$lic['name'].' '; } } if(!$imgonly) { $out .= $lang['license']; - $out .= ' '; } - $out .= '
    '; + if($wrap) $out .= '
    '; if($return) return $out; echo $out; -- cgit v1.2.3 From 53e15c8ba5cc2fd8ac7ed5a7f8dd4df684dba28a Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 10 Mar 2012 20:58:38 +0000 Subject: improved tpl_license() (removed unnecessary class, fixed space issues) --- inc/template.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index 02e039b2d..37848b59a 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1359,27 +1359,21 @@ function tpl_license($img='badge',$imgonly=false,$return=false,$wrap=true){ if(!$conf['license']) return ''; if(!is_array($license[$conf['license']])) return ''; $lic = $license[$conf['license']]; + $target = ($conf['target']['extern']) ? ' target="'.$conf['target']['extern'].'"' : ''; $out = ''; if($wrap) $out .= '
    '; if($img){ $src = license_img($img); if($src){ - if(!$imgonly){ - $left = 'medialeft'; - }else{ - $left = ''; - } - - $out .= ' '; + $out .= ''; + if(!$imgonly) $out .= ' '; } } if(!$imgonly) { - $out .= $lang['license']; - $out .= ''; } if($wrap) $out .= '
    '; -- cgit v1.2.3 From 7651b376ab78457d123e1c3513a6a4b8b0d5a7e7 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 13 Mar 2012 19:21:17 +0100 Subject: pass the correct clean parameter when reading wiki pages DokuWiki's page loading is intended to be filesystem agnostic. DOS line endings in pages are supposed to be self healing. This behaviour was broken in a change in 2006. As long as you edited pages through DokuWiki only you never noticed the bug though. --- inc/io.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/io.php b/inc/io.php index 034ac650e..c76d2f44c 100644 --- a/inc/io.php +++ b/inc/io.php @@ -63,7 +63,7 @@ function io_sweepNS($id,$basedir='datadir'){ */ function io_readWikiPage($file, $id, $rev=false) { if (empty($rev)) { $rev = false; } - $data = array(array($file, false), getNS($id), noNS($id), $rev); + $data = array(array($file, true), getNS($id), noNS($id), $rev); return trigger_event('IO_WIKIPAGE_READ', $data, '_io_readWikiPage_action', false); } -- cgit v1.2.3 From a23ac4d7df6b3952d2d1b76686d3b439fc0a6759 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Thu, 15 Mar 2012 14:21:42 +0100 Subject: Indexer: Check for deleted pages first FS#2469 This move the check if the page doesn't exist anymore but is still in the index before the check if the index needs to be updated as otherwise deleted pages won't be deleted from the index. --- inc/indexer.php | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'inc') diff --git a/inc/indexer.php b/inc/indexer.php index 9d8d6f99b..3f56e5fe5 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -1174,18 +1174,8 @@ function & idx_get_stopwords() { * @author Tom N Harris */ function idx_addPage($page, $verbose=false, $force=false) { - // check if indexing needed $idxtag = metaFN($page,'.indexed'); - if(!$force && @file_exists($idxtag)){ - if(trim(io_readFile($idxtag)) == idx_get_version()){ - $last = @filemtime($idxtag); - if($last > @filemtime(wikiFN($page))){ - if ($verbose) print("Indexer: index for $page up to date".DOKU_LF); - return false; - } - } - } - + // check if page was deleted but is still in the index if (!page_exists($page)) { if (!@file_exists($idxtag)) { if ($verbose) print("Indexer: $page does not exist, ignoring".DOKU_LF); @@ -1200,6 +1190,18 @@ function idx_addPage($page, $verbose=false, $force=false) { @unlink($idxtag); return $result; } + + // check if indexing needed + if(!$force && @file_exists($idxtag)){ + if(trim(io_readFile($idxtag)) == idx_get_version()){ + $last = @filemtime($idxtag); + if($last > @filemtime(wikiFN($page))){ + if ($verbose) print("Indexer: index for $page up to date".DOKU_LF); + return false; + } + } + } + $indexenabled = p_get_metadata($page, 'internal index', METADATA_RENDER_UNLIMITED); if ($indexenabled === false) { $result = false; -- cgit v1.2.3 From 8d1fa7573a9c92901a1fef0e77f6543f0b3fcf62 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Thu, 15 Mar 2012 14:55:32 +0100 Subject: Display the indexer web bug for deleted pages This executes the indexer for deleted pages. This is necessary for the search index to be able to deleted deleted pages from the search index. --- inc/template.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index d9a2042ad..5733972f7 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1012,8 +1012,6 @@ function _tpl_img_action($data, $param=NULL) { */ function tpl_indexerWebBug(){ global $ID; - global $INFO; - if(!$INFO['exists']) return false; $p = array(); $p['src'] = DOKU_BASE.'lib/exe/indexer.php?id='.rawurlencode($ID). -- cgit v1.2.3 From c55c59e3d67b1481e86b41e4b49083c99d3659c5 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Thu, 15 Mar 2012 14:56:48 +0100 Subject: Fix page deletion in the indexer This fixes page deletion in the indexer and fixes a but where empty lines were added to the _i.idx file of metadata for which no value was set (harmless, and wasn't executed anyway). --- inc/indexer.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/indexer.php b/inc/indexer.php index 3f56e5fe5..6766bec25 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -351,7 +351,7 @@ class Doku_Indexer { return "locked"; // load known documents - $pid = $this->getIndexKey('page', '', $page); + $pid = $this->addIndexKey('page', '', $page); if ($pid === false) { $this->unlock(); return false; @@ -389,6 +389,7 @@ class Doku_Indexer { $val_idx = explode(':', $this->getIndexKey($metaname.'_p', '', $pid)); $meta_idx = $this->getIndex($metaname.'_i', ''); foreach ($val_idx as $id) { + if ($id === '') continue; $meta_idx[$id] = $this->updateTuple($meta_idx[$id], $pid, 0); } $this->saveIndex($metaname.'_i', '', $meta_idx); -- cgit v1.2.3 From 7883d066bc903bdea41cfdb920c949ec1ebdf206 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 16 Mar 2012 10:41:12 +0100 Subject: use dformat in toolbar build of the signature string --- inc/toolbar.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/toolbar.php b/inc/toolbar.php index 02172510e..b588d4477 100644 --- a/inc/toolbar.php +++ b/inc/toolbar.php @@ -243,7 +243,7 @@ function toolbar_signature(){ global $INFO; $sig = $conf['signature']; - $sig = strftime($sig); + $sig = dformat(null,$sig); $sig = str_replace('@USER@',$_SERVER['REMOTE_USER'],$sig); $sig = str_replace('@NAME@',$INFO['userinfo']['name'],$sig); $sig = str_replace('@MAIL@',$INFO['userinfo']['mail'],$sig); -- cgit v1.2.3 From d4dca43453a7a9e798c208cbb89ee09616381dde Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 16 Mar 2012 11:11:15 +0100 Subject: fixed error in bcrypt password method --- inc/PassHash.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index 2558f37c6..0521ee305 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -427,7 +427,7 @@ class PassHash { $this->gen_salt(22); } - return crypt($password, $salt); + return crypt($clear, $salt); } } -- cgit v1.2.3 From 63703ba5bd81f50c43bc45f8bf79c514afa3ee49 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 16 Mar 2012 12:09:30 +0100 Subject: coding style updates --- inc/DifferenceEngine.php | 10 +- inc/HTTPClient.php | 4 +- inc/PassHash.class.php | 4 +- inc/SafeFN.class.php | 23 +- inc/Sitemapper.php | 26 +- inc/TarLib.class.php | 4 +- inc/auth.php | 7 +- inc/auth/ad.class.php | 40 +- inc/auth/basic.class.php | 728 ++++++++++++++++---------------- inc/auth/ldap.class.php | 5 +- inc/auth/mysql.class.php | 932 +++++++++++++++++++++-------------------- inc/auth/pgsql.class.php | 417 +++++++++--------- inc/auth/plain.class.php | 282 ++++++------- inc/cliopts.php | 10 +- inc/common.php | 18 +- inc/config_cascade.php | 2 +- inc/html.php | 5 - inc/indexer.php | 1 - inc/mail.php | 6 +- inc/media.php | 8 +- inc/pageutils.php | 8 +- inc/plugincontroller.class.php | 1 + inc/template.php | 2 +- inc/utf8.php | 2 +- 24 files changed, 1277 insertions(+), 1268 deletions(-) (limited to 'inc') diff --git a/inc/DifferenceEngine.php b/inc/DifferenceEngine.php index 6e1d07382..01926b20c 100644 --- a/inc/DifferenceEngine.php +++ b/inc/DifferenceEngine.php @@ -29,7 +29,7 @@ class _DiffOp { class _DiffOp_Copy extends _DiffOp { var $type = 'copy'; - + function __construct($orig, $closing = false) { if (!is_array($closing)) $closing = $orig; @@ -44,7 +44,7 @@ class _DiffOp_Copy extends _DiffOp { class _DiffOp_Delete extends _DiffOp { var $type = 'delete'; - + function __construct($lines) { $this->orig = $lines; $this->closing = false; @@ -57,7 +57,7 @@ class _DiffOp_Delete extends _DiffOp { class _DiffOp_Add extends _DiffOp { var $type = 'add'; - + function __construct($lines) { $this->closing = $lines; $this->orig = false; @@ -70,7 +70,7 @@ class _DiffOp_Add extends _DiffOp { class _DiffOp_Change extends _DiffOp { var $type = 'change'; - + function __construct($orig, $closing) { $this->orig = $orig; $this->closing = $closing; @@ -924,7 +924,7 @@ class WordLevelDiff extends MappedDiff { } class InlineWordLevelDiff extends MappedDiff { - + function __construct($orig_lines, $closing_lines) { list ($orig_words, $orig_stripped) = $this->_split($orig_lines); list ($closing_words, $closing_stripped) = $this->_split($closing_lines); diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index f0470e736..62c3fde2f 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -22,7 +22,7 @@ class DokuHTTPClient extends HTTPClient { * * @author Andreas Gohr */ - function DokuHTTPClient(){ + function __construct(){ global $conf; // call parent constructor @@ -121,7 +121,7 @@ class HTTPClient { * * @author Andreas Gohr */ - function HTTPClient(){ + function __construct(){ $this->agent = 'Mozilla/4.0 (compatible; DokuWiki HTTP Client; '.PHP_OS.')'; $this->timeout = 15; $this->cookies = array(); diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index 0521ee305..3fb1349d2 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -88,7 +88,9 @@ class PassHash { public function gen_salt($len=32){ $salt = ''; $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; - for($i=0;$i<$len;$i++) $salt .= $chars[mt_rand(0,61)]; + for($i=0; $i<$len; $i++){ + $salt .= $chars[mt_rand(0,61)]; + } return $salt; } diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php index 43b19e9ab..ab05b9eae 100644 --- a/inc/SafeFN.class.php +++ b/inc/SafeFN.class.php @@ -1,17 +1,17 @@ + * @date 2010-04-02 */ class SafeFN { @@ -133,14 +133,15 @@ class SafeFN { $converted = false; foreach ($split as $sub) { + $len = strlen($sub); if ($sub[0] != self::$pre_indicator) { // plain (unconverted) characters, optionally starting with a post_indicator // set initial value to skip any post_indicator - for ($i=($converted?1:0); $i < strlen($sub); $i++) { + for ($i=($converted?1:0); $i < $len; $i++) { $unicode[] = ord($sub[$i]); } $converted = false; - } else if (strlen($sub)==1) { + } else if ($len==1) { // a pre_indicator character in the real data $unicode[] = ord($sub); $converted = true; diff --git a/inc/Sitemapper.php b/inc/Sitemapper.php index 4689b04a6..bbea73b52 100644 --- a/inc/Sitemapper.php +++ b/inc/Sitemapper.php @@ -10,7 +10,7 @@ if(!defined('DOKU_INC')) die('meh.'); /** * A class for building sitemaps and pinging search engines with the sitemap URL. - * + * * @author Michael Hamann */ class Sitemapper { @@ -55,7 +55,7 @@ class Sitemapper { if(isHiddenPage($id)) continue; if(auth_aclcheck($id,'','') < AUTH_READ) continue; $item = SitemapItem::createFromID($id); - if ($item !== NULL) + if ($item !== null) $items[] = $item; } @@ -72,7 +72,7 @@ class Sitemapper { /** * Builds the sitemap XML string from the given array auf SitemapItems. - * + * * @param $items array The SitemapItems that shall be included in the sitemap. * @return string The sitemap XML. * @author Michael Hamann @@ -92,7 +92,7 @@ class Sitemapper { /** * Helper function for getting the path to the sitemap file. - * + * * @return The path to the sitemap file. * @author Michael Hamann */ @@ -108,9 +108,9 @@ class Sitemapper { } /** - * Pings search engines with the sitemap url. Plugins can add or remove + * Pings search engines with the sitemap url. Plugins can add or remove * urls to ping using the SITEMAP_PING event. - * + * * @author Michael Hamann */ public static function pingSearchEngines() { @@ -145,7 +145,7 @@ class Sitemapper { /** * An item of a sitemap. - * + * * @author Michael Hamann */ class SitemapItem { @@ -156,7 +156,7 @@ class SitemapItem { /** * Create a new item. - * + * * @param $url string The url of the item * @param $lastmod int Timestamp of the last modification * @param $changefreq string How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never. @@ -171,7 +171,7 @@ class SitemapItem { /** * Helper function for creating an item for a wikipage id. - * + * * @param $id string A wikipage id. * @param $changefreq string How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never. * @param $priority float|string The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0. @@ -180,22 +180,22 @@ class SitemapItem { public static function createFromID($id, $changefreq = null, $priority = null) { $id = trim($id); $date = @filemtime(wikiFN($id)); - if(!$date) return NULL; + if(!$date) return null; return new SitemapItem(wl($id, '', true), $date, $changefreq, $priority); } /** * Get the XML representation of the sitemap item. - * + * * @return The XML representation. */ public function toXML() { $result = ' '.NL .' '.hsc($this->url).''.NL .' '.date_iso8601($this->lastmod).''.NL; - if ($this->changefreq !== NULL) + if ($this->changefreq !== null) $result .= ' '.hsc($this->changefreq).''.NL; - if ($this->priority !== NULL) + if ($this->priority !== null) $result .= ' '.hsc($this->priority).''.NL; $result .= ' '.NL; return $result; diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php index 12418c48d..36c1fee83 100644 --- a/inc/TarLib.class.php +++ b/inc/TarLib.class.php @@ -108,7 +108,7 @@ class TarLib { * represent the GZIP or BZIP compression level. 1 produce fast compression, * and 9 produce smaller files. See the RFC 1952 for more infos. */ - function tarlib($p_filen = TarLib::ARCHIVE_DYNAMIC , $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) { + function __construct($p_filen = TarLib::ARCHIVE_DYNAMIC , $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) { $this->_initerror = 0; $this->_nomf = $p_filen; $flag=0; @@ -127,7 +127,7 @@ class TarLib { } switch($p_comptype) { - case TarLib::COMPRESS_GZIP: + case TarLib::COMPRESS_GZIP: if(!extension_loaded('zlib')) $this->_initerror = -1; $this->_comptype = TarLib::COMPRESS_GZIP; break; diff --git a/inc/auth.php b/inc/auth.php index 78d98a99e..cd0f612aa 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -677,7 +677,7 @@ function auth_sendPassword($user,$password){ if(empty($conf['mailprefix'])) { $subject = $lang['regpwmail']; - } else { + } else { $subject = '['.$conf['mailprefix'].'] '.$lang['regpwmail']; } @@ -883,7 +883,6 @@ function act_resendpwd(){ return false; } - if(!$conf['autopasswd']){ // we let the user choose a password // password given correctly? if(!isset($_REQUEST['pass']) || $_REQUEST['pass'] == '') return false; @@ -950,10 +949,10 @@ function act_resendpwd(){ if(empty($conf['mailprefix'])) { $subject = $lang['regpwmail']; - } else { + } else { $subject = '['.$conf['mailprefix'].'] '.$lang['regpwmail']; } - + if(mail_send($userinfo['name'].' <'.$userinfo['mail'].'>', $subject, $text, diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index cc080dc93..bc4168527 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -33,10 +33,10 @@ * // add a list of comma separated ldap contact fields. * $conf['auth']['ad']['additional'] = 'field1,field2'; * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author James Van Lommel - * @link http://www.nosq.com/blog/2005/08/ldap-activedirectory-and-dokuwiki/ - * @author Andreas Gohr + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author James Van Lommel + * @link http://www.nosq.com/blog/2005/08/ldap-activedirectory-and-dokuwiki/ + * @author Andreas Gohr */ require_once(DOKU_INC.'inc/adLDAP.php'); @@ -51,11 +51,10 @@ class auth_ad extends auth_basic { /** * Constructor */ - function auth_ad() { + function __construct() { global $conf; $this->cnf = $conf['auth']['ad']; - // additional information fields if (isset($this->cnf['additional'])) { $this->cnf['additional'] = str_replace(' ', '', $this->cnf['additional']); @@ -72,21 +71,21 @@ class auth_ad extends auth_basic { // Prepare SSO if($_SERVER['REMOTE_USER'] && $this->cnf['sso']){ - // remove possible NTLM domain - list($dom,$usr) = explode('\\',$_SERVER['REMOTE_USER'],2); - if(!$usr) $usr = $dom; + // remove possible NTLM domain + list($dom,$usr) = explode('\\',$_SERVER['REMOTE_USER'],2); + if(!$usr) $usr = $dom; - // remove possible Kerberos domain - list($usr,$dom) = explode('@',$usr); + // remove possible Kerberos domain + list($usr,$dom) = explode('@',$usr); - $dom = strtolower($dom); - $_SERVER['REMOTE_USER'] = $usr; + $dom = strtolower($dom); + $_SERVER['REMOTE_USER'] = $usr; - // we need to simulate a login - if(empty($_COOKIE[DOKU_COOKIE])){ - $_REQUEST['u'] = $_SERVER['REMOTE_USER']; - $_REQUEST['p'] = 'sso_only'; - } + // we need to simulate a login + if(empty($_COOKIE[DOKU_COOKIE])){ + $_REQUEST['u'] = $_SERVER['REMOTE_USER']; + $_REQUEST['p'] = 'sso_only'; + } } // prepare adLDAP standard configuration @@ -147,7 +146,7 @@ class auth_ad extends auth_basic { * * @author James Van Lommel */ - function getUserData($user){ + function getUserData($user){ global $conf; global $lang; global $ID; @@ -297,7 +296,7 @@ class auth_ad extends auth_basic { * @param $user nick of the user to be changed * @param $changes array of field/value pairs to be changed * @return bool - */ + */ function modifyUser($user, $changes) { $return = true; @@ -380,7 +379,6 @@ class auth_ad extends auth_basic { function _constructPattern($filter) { $this->_pattern = array(); foreach ($filter as $item => $pattern) { -// $this->_pattern[$item] = '/'.preg_quote($pattern,"/").'/i'; // don't allow regex characters $this->_pattern[$item] = '/'.str_replace('/','\/',$pattern).'/i'; // allow regex characters } } diff --git a/inc/auth/basic.class.php b/inc/auth/basic.class.php index c7e7031bf..7c0a5f2c9 100644 --- a/inc/auth/basic.class.php +++ b/inc/auth/basic.class.php @@ -9,395 +9,393 @@ */ class auth_basic { + var $success = true; - var $success = true; - - - /** - * Posible things an auth backend module may be able to - * do. The things a backend can do need to be set to true - * in the constructor. - */ - var $cando = array ( - 'addUser' => false, // can Users be created? - 'delUser' => false, // can Users be deleted? - 'modLogin' => false, // can login names be changed? - 'modPass' => false, // can passwords be changed? - 'modName' => false, // can real names be changed? - 'modMail' => false, // can emails be changed? - 'modGroups' => false, // can groups be changed? - 'getUsers' => false, // can a (filtered) list of users be retrieved? - 'getUserCount'=> false, // can the number of users be retrieved? - 'getGroups' => false, // can a list of available groups be retrieved? - 'external' => false, // does the module do external auth checking? - 'logout' => true, // can the user logout again? (eg. not possible with HTTP auth) - ); + /** + * Posible things an auth backend module may be able to + * do. The things a backend can do need to be set to true + * in the constructor. + */ + var $cando = array ( + 'addUser' => false, // can Users be created? + 'delUser' => false, // can Users be deleted? + 'modLogin' => false, // can login names be changed? + 'modPass' => false, // can passwords be changed? + 'modName' => false, // can real names be changed? + 'modMail' => false, // can emails be changed? + 'modGroups' => false, // can groups be changed? + 'getUsers' => false, // can a (filtered) list of users be retrieved? + 'getUserCount'=> false, // can the number of users be retrieved? + 'getGroups' => false, // can a list of available groups be retrieved? + 'external' => false, // does the module do external auth checking? + 'logout' => true, // can the user logout again? (eg. not possible with HTTP auth) + ); + /** + * Constructor. + * + * Carry out sanity checks to ensure the object is + * able to operate. Set capabilities in $this->cando + * array here + * + * Set $this->success to false if checks fail + * + * @author Christopher Smith + */ + function __construct() { + // the base class constructor does nothing, derived class + // constructors do the real work + } - /** - * Constructor. - * - * Carry out sanity checks to ensure the object is - * able to operate. Set capabilities in $this->cando - * array here - * - * Set $this->success to false if checks fail - * - * @author Christopher Smith - */ - function auth_basic() { - // the base class constructor does nothing, derived class - // constructors do the real work - } + /** + * Capability check. [ DO NOT OVERRIDE ] + * + * Checks the capabilities set in the $this->cando array and + * some pseudo capabilities (shortcutting access to multiple + * ones) + * + * ususal capabilities start with lowercase letter + * shortcut capabilities start with uppercase letter + * + * @author Andreas Gohr + * @return bool + */ + function canDo($cap) { + switch($cap){ + case 'Profile': + // can at least one of the user's properties be changed? + return ( $this->cando['modPass'] || + $this->cando['modName'] || + $this->cando['modMail'] ); + break; + case 'UserMod': + // can at least anything be changed? + return ( $this->cando['modPass'] || + $this->cando['modName'] || + $this->cando['modMail'] || + $this->cando['modLogin'] || + $this->cando['modGroups'] || + $this->cando['modMail'] ); + break; + default: + // print a helping message for developers + if(!isset($this->cando[$cap])){ + msg("Check for unknown capability '$cap' - Do you use an outdated Plugin?",-1); + } + return $this->cando[$cap]; + } + } - /** - * Capability check. [ DO NOT OVERRIDE ] - * - * Checks the capabilities set in the $this->cando array and - * some pseudo capabilities (shortcutting access to multiple - * ones) - * - * ususal capabilities start with lowercase letter - * shortcut capabilities start with uppercase letter - * - * @author Andreas Gohr - * @return bool - */ - function canDo($cap) { - switch($cap){ - case 'Profile': - // can at least one of the user's properties be changed? - return ( $this->cando['modPass'] || - $this->cando['modName'] || - $this->cando['modMail'] ); - break; - case 'UserMod': - // can at least anything be changed? - return ( $this->cando['modPass'] || - $this->cando['modName'] || - $this->cando['modMail'] || - $this->cando['modLogin'] || - $this->cando['modGroups'] || - $this->cando['modMail'] ); - break; - default: - // print a helping message for developers - if(!isset($this->cando[$cap])){ - msg("Check for unknown capability '$cap' - Do you use an outdated Plugin?",-1); + /** + * Trigger the AUTH_USERDATA_CHANGE event and call the modification function. [ DO NOT OVERRIDE ] + * + * You should use this function instead of calling createUser, modifyUser or + * deleteUsers directly. The event handlers can prevent the modification, for + * example for enforcing a user name schema. + * + * @author Gabriel Birke + * @param string $type Modification type ('create', 'modify', 'delete') + * @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type + * @return mixed Result from the modification function or false if an event handler has canceled the action + */ + function triggerUserMod($type, $params) { + $validTypes = array( + 'create' => 'createUser', + 'modify' => 'modifyUser', + 'delete' => 'deleteUsers' + ); + if(empty($validTypes[$type])) + return false; + $eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null); + $evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata); + if ($evt->advise_before(true)) { + $result = call_user_func_array(array($this, $validTypes[$type]), $params); + $evt->data['modification_result'] = $result; } - return $this->cando[$cap]; + $evt->advise_after(); + unset($evt); + return $result; } - } - /** - * Trigger the AUTH_USERDATA_CHANGE event and call the modification function. [ DO NOT OVERRIDE ] - * - * You should use this function instead of calling createUser, modifyUser or - * deleteUsers directly. The event handlers can prevent the modification, for - * example for enforcing a user name schema. - * - * @author Gabriel Birke - * @param string $type Modification type ('create', 'modify', 'delete') - * @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type - * @return mixed Result from the modification function or false if an event handler has canceled the action - */ - function triggerUserMod($type, $params) - { - $validTypes = array( - 'create' => 'createUser', - 'modify' => 'modifyUser', - 'delete' => 'deleteUsers' - ); - if(empty($validTypes[$type])) - return false; - $eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null); - $evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata); - if ($evt->advise_before(true)) { - $result = call_user_func_array(array($this, $validTypes[$type]), $params); - $evt->data['modification_result'] = $result; + /** + * Log off the current user [ OPTIONAL ] + * + * Is run in addition to the ususal logoff method. Should + * only be needed when trustExternal is implemented. + * + * @see auth_logoff() + * @author Andreas Gohr + */ + function logOff(){ } - $evt->advise_after(); - unset($evt); - return $result; - } - /** - * Log off the current user [ OPTIONAL ] - * - * Is run in addition to the ususal logoff method. Should - * only be needed when trustExternal is implemented. - * - * @see auth_logoff() - * @author Andreas Gohr - */ - function logOff(){ - } + /** + * Do all authentication [ OPTIONAL ] + * + * Set $this->cando['external'] = true when implemented + * + * If this function is implemented it will be used to + * authenticate a user - all other DokuWiki internals + * will not be used for authenticating, thus + * implementing the checkPass() function is not needed + * anymore. + * + * The function can be used to authenticate against third + * party cookies or Apache auth mechanisms and replaces + * the auth_login() function + * + * The function will be called with or without a set + * username. If the Username is given it was called + * from the login form and the given credentials might + * need to be checked. If no username was given it + * the function needs to check if the user is logged in + * by other means (cookie, environment). + * + * The function needs to set some globals needed by + * DokuWiki like auth_login() does. + * + * @see auth_login() + * @author Andreas Gohr + * + * @param string $user Username + * @param string $pass Cleartext Password + * @param bool $sticky Cookie should not expire + * @return bool true on successful auth + */ + function trustExternal($user,$pass,$sticky=false){ + /* some example: + + global $USERINFO; + global $conf; + $sticky ? $sticky = true : $sticky = false; //sanity check + + // do the checking here - /** - * Do all authentication [ OPTIONAL ] - * - * Set $this->cando['external'] = true when implemented - * - * If this function is implemented it will be used to - * authenticate a user - all other DokuWiki internals - * will not be used for authenticating, thus - * implementing the checkPass() function is not needed - * anymore. - * - * The function can be used to authenticate against third - * party cookies or Apache auth mechanisms and replaces - * the auth_login() function - * - * The function will be called with or without a set - * username. If the Username is given it was called - * from the login form and the given credentials might - * need to be checked. If no username was given it - * the function needs to check if the user is logged in - * by other means (cookie, environment). - * - * The function needs to set some globals needed by - * DokuWiki like auth_login() does. - * - * @see auth_login() - * @author Andreas Gohr - * - * @param string $user Username - * @param string $pass Cleartext Password - * @param bool $sticky Cookie should not expire - * @return bool true on successful auth - */ - function trustExternal($user,$pass,$sticky=false){ -# // some example: -# -# global $USERINFO; -# global $conf; -# $sticky ? $sticky = true : $sticky = false; //sanity check -# -# // do the checking here -# -# // set the globals if authed -# $USERINFO['name'] = 'FIXME'; -# $USERINFO['mail'] = 'FIXME'; -# $USERINFO['grps'] = array('FIXME'); -# $_SERVER['REMOTE_USER'] = $user; -# $_SESSION[DOKU_COOKIE]['auth']['user'] = $user; -# $_SESSION[DOKU_COOKIE]['auth']['pass'] = $pass; -# $_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO; -# return true; - } + // set the globals if authed + $USERINFO['name'] = 'FIXME'; + $USERINFO['mail'] = 'FIXME'; + $USERINFO['grps'] = array('FIXME'); + $_SERVER['REMOTE_USER'] = $user; + $_SESSION[DOKU_COOKIE]['auth']['user'] = $user; + $_SESSION[DOKU_COOKIE]['auth']['pass'] = $pass; + $_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO; + return true; - /** - * Check user+password [ MUST BE OVERRIDDEN ] - * - * Checks if the given user exists and the given - * plaintext password is correct - * - * May be ommited if trustExternal is used. - * - * @author Andreas Gohr - * @return bool - */ - function checkPass($user,$pass){ - msg("no valid authorisation system in use", -1); - return false; - } + */ + } + + /** + * Check user+password [ MUST BE OVERRIDDEN ] + * + * Checks if the given user exists and the given + * plaintext password is correct + * + * May be ommited if trustExternal is used. + * + * @author Andreas Gohr + * @return bool + */ + function checkPass($user,$pass){ + msg("no valid authorisation system in use", -1); + return false; + } - /** - * Return user info [ MUST BE OVERRIDDEN ] - * - * Returns info about the given user needs to contain - * at least these fields: - * - * name string full name of the user - * mail string email addres of the user - * grps array list of groups the user is in - * - * @author Andreas Gohr - * @return array containing user data or false - */ - function getUserData($user) { - if(!$this->cando['external']) msg("no valid authorisation system in use", -1); - return false; - } + /** + * Return user info [ MUST BE OVERRIDDEN ] + * + * Returns info about the given user needs to contain + * at least these fields: + * + * name string full name of the user + * mail string email addres of the user + * grps array list of groups the user is in + * + * @author Andreas Gohr + * @return array containing user data or false + */ + function getUserData($user) { + if(!$this->cando['external']) msg("no valid authorisation system in use", -1); + return false; + } - /** - * Create a new User [implement only where required/possible] - * - * Returns false if the user already exists, null when an error - * occurred and true if everything went well. - * - * The new user HAS TO be added to the default group by this - * function! - * - * Set addUser capability when implemented - * - * @author Andreas Gohr - */ - function createUser($user,$pass,$name,$mail,$grps=null){ - msg("authorisation method does not allow creation of new users", -1); - return null; - } + /** + * Create a new User [implement only where required/possible] + * + * Returns false if the user already exists, null when an error + * occurred and true if everything went well. + * + * The new user HAS TO be added to the default group by this + * function! + * + * Set addUser capability when implemented + * + * @author Andreas Gohr + */ + function createUser($user,$pass,$name,$mail,$grps=null){ + msg("authorisation method does not allow creation of new users", -1); + return null; + } - /** - * Modify user data [implement only where required/possible] - * - * Set the mod* capabilities according to the implemented features - * - * @author Chris Smith - * @param $user nick of the user to be changed - * @param $changes array of field/value pairs to be changed (password will be clear text) - * @return bool - */ - function modifyUser($user, $changes) { - msg("authorisation method does not allow modifying of user data", -1); - return false; - } + /** + * Modify user data [implement only where required/possible] + * + * Set the mod* capabilities according to the implemented features + * + * @author Chris Smith + * @param $user nick of the user to be changed + * @param $changes array of field/value pairs to be changed (password will be clear text) + * @return bool + */ + function modifyUser($user, $changes) { + msg("authorisation method does not allow modifying of user data", -1); + return false; + } - /** - * Delete one or more users [implement only where required/possible] - * - * Set delUser capability when implemented - * - * @author Chris Smith - * @param array $users - * @return int number of users deleted - */ - function deleteUsers($users) { - msg("authorisation method does not allow deleting of users", -1); - return false; - } + /** + * Delete one or more users [implement only where required/possible] + * + * Set delUser capability when implemented + * + * @author Chris Smith + * @param array $users + * @return int number of users deleted + */ + function deleteUsers($users) { + msg("authorisation method does not allow deleting of users", -1); + return false; + } - /** - * Return a count of the number of user which meet $filter criteria - * [should be implemented whenever retrieveUsers is implemented] - * - * Set getUserCount capability when implemented - * - * @author Chris Smith - */ - function getUserCount($filter=array()) { - msg("authorisation method does not provide user counts", -1); - return 0; - } + /** + * Return a count of the number of user which meet $filter criteria + * [should be implemented whenever retrieveUsers is implemented] + * + * Set getUserCount capability when implemented + * + * @author Chris Smith + */ + function getUserCount($filter=array()) { + msg("authorisation method does not provide user counts", -1); + return 0; + } - /** - * Bulk retrieval of user data [implement only where required/possible] - * - * Set getUsers capability when implemented - * - * @author Chris Smith - * @param start index of first user to be returned - * @param limit max number of users to be returned - * @param filter array of field/pattern pairs, null for no filter - * @return array of userinfo (refer getUserData for internal userinfo details) - */ - function retrieveUsers($start=0,$limit=-1,$filter=null) { - msg("authorisation method does not support mass retrieval of user data", -1); - return array(); - } + /** + * Bulk retrieval of user data [implement only where required/possible] + * + * Set getUsers capability when implemented + * + * @author Chris Smith + * @param start index of first user to be returned + * @param limit max number of users to be returned + * @param filter array of field/pattern pairs, null for no filter + * @return array of userinfo (refer getUserData for internal userinfo details) + */ + function retrieveUsers($start=0,$limit=-1,$filter=null) { + msg("authorisation method does not support mass retrieval of user data", -1); + return array(); + } - /** - * Define a group [implement only where required/possible] - * - * Set addGroup capability when implemented - * - * @author Chris Smith - * @return bool - */ - function addGroup($group) { - msg("authorisation method does not support independent group creation", -1); - return false; - } + /** + * Define a group [implement only where required/possible] + * + * Set addGroup capability when implemented + * + * @author Chris Smith + * @return bool + */ + function addGroup($group) { + msg("authorisation method does not support independent group creation", -1); + return false; + } - /** - * Retrieve groups [implement only where required/possible] - * - * Set getGroups capability when implemented - * - * @author Chris Smith - * @return array - */ - function retrieveGroups($start=0,$limit=0) { - msg("authorisation method does not support group list retrieval", -1); - return array(); - } + /** + * Retrieve groups [implement only where required/possible] + * + * Set getGroups capability when implemented + * + * @author Chris Smith + * @return array + */ + function retrieveGroups($start=0,$limit=0) { + msg("authorisation method does not support group list retrieval", -1); + return array(); + } - /** - * Return case sensitivity of the backend [OPTIONAL] - * - * When your backend is caseinsensitive (eg. you can login with USER and - * user) then you need to overwrite this method and return false - */ - function isCaseSensitive(){ - return true; - } + /** + * Return case sensitivity of the backend [OPTIONAL] + * + * When your backend is caseinsensitive (eg. you can login with USER and + * user) then you need to overwrite this method and return false + */ + function isCaseSensitive(){ + return true; + } - /** - * Sanitize a given username [OPTIONAL] - * - * This function is applied to any user name that is given to - * the backend and should also be applied to any user name within - * the backend before returning it somewhere. - * - * This should be used to enforce username restrictions. - * - * @author Andreas Gohr - * @param string $user - username - * @param string - the cleaned username - */ - function cleanUser($user){ - return $user; - } + /** + * Sanitize a given username [OPTIONAL] + * + * This function is applied to any user name that is given to + * the backend and should also be applied to any user name within + * the backend before returning it somewhere. + * + * This should be used to enforce username restrictions. + * + * @author Andreas Gohr + * @param string $user - username + * @param string - the cleaned username + */ + function cleanUser($user){ + return $user; + } - /** - * Sanitize a given groupname [OPTIONAL] - * - * This function is applied to any groupname that is given to - * the backend and should also be applied to any groupname within - * the backend before returning it somewhere. - * - * This should be used to enforce groupname restrictions. - * - * Groupnames are to be passed without a leading '@' here. - * - * @author Andreas Gohr - * @param string $group - groupname - * @param string - the cleaned groupname - */ - function cleanGroup($group){ - return $group; - } + /** + * Sanitize a given groupname [OPTIONAL] + * + * This function is applied to any groupname that is given to + * the backend and should also be applied to any groupname within + * the backend before returning it somewhere. + * + * This should be used to enforce groupname restrictions. + * + * Groupnames are to be passed without a leading '@' here. + * + * @author Andreas Gohr + * @param string $group - groupname + * @param string - the cleaned groupname + */ + function cleanGroup($group){ + return $group; + } - /** - * Check Session Cache validity [implement only where required/possible] - * - * DokuWiki caches user info in the user's session for the timespan defined - * in $conf['auth_security_timeout']. - * - * This makes sure slow authentication backends do not slow down DokuWiki. - * This also means that changes to the user database will not be reflected - * on currently logged in users. - * - * To accommodate for this, the user manager plugin will touch a reference - * file whenever a change is submitted. This function compares the filetime - * of this reference file with the time stored in the session. - * - * This reference file mechanism does not reflect changes done directly in - * the backend's database through other means than the user manager plugin. - * - * Fast backends might want to return always false, to force rechecks on - * each page load. Others might want to use their own checking here. If - * unsure, do not override. - * - * @param string $user - The username - * @author Andreas Gohr - * @return bool - */ - function useSessionCache($user){ - global $conf; - return ($_SESSION[DOKU_COOKIE]['auth']['time'] >= @filemtime($conf['cachedir'].'/sessionpurge')); - } + /** + * Check Session Cache validity [implement only where required/possible] + * + * DokuWiki caches user info in the user's session for the timespan defined + * in $conf['auth_security_timeout']. + * + * This makes sure slow authentication backends do not slow down DokuWiki. + * This also means that changes to the user database will not be reflected + * on currently logged in users. + * + * To accommodate for this, the user manager plugin will touch a reference + * file whenever a change is submitted. This function compares the filetime + * of this reference file with the time stored in the session. + * + * This reference file mechanism does not reflect changes done directly in + * the backend's database through other means than the user manager plugin. + * + * Fast backends might want to return always false, to force rechecks on + * each page load. Others might want to use their own checking here. If + * unsure, do not override. + * + * @param string $user - The username + * @author Andreas Gohr + * @return bool + */ + function useSessionCache($user){ + global $conf; + return ($_SESSION[DOKU_COOKIE]['auth']['time'] >= @filemtime($conf['cachedir'].'/sessionpurge')); + } } //Setup VIM: ex: et ts=2 : diff --git a/inc/auth/ldap.class.php b/inc/auth/ldap.class.php index 8eb411995..a6a15ee3d 100644 --- a/inc/auth/ldap.class.php +++ b/inc/auth/ldap.class.php @@ -15,7 +15,7 @@ class auth_ldap extends auth_basic { /** * Constructor */ - function auth_ldap(){ + function __construct(){ global $conf; $this->cnf = $conf['auth']['ldap']; @@ -307,8 +307,6 @@ class auth_ldap extends auth_basic { } } return $result; - - } /** @@ -360,7 +358,6 @@ class auth_ldap extends auth_basic { function _constructPattern($filter) { $this->_pattern = array(); foreach ($filter as $item => $pattern) { -// $this->_pattern[$item] = '/'.preg_quote($pattern,"/").'/i'; // don't allow regex characters $this->_pattern[$item] = '/'.str_replace('/','\/',$pattern).'/i'; // allow regex characters } } diff --git a/inc/auth/mysql.class.php b/inc/auth/mysql.class.php index 653c725a3..9dcf82a87 100644 --- a/inc/auth/mysql.class.php +++ b/inc/auth/mysql.class.php @@ -6,7 +6,7 @@ * @author Andreas Gohr * @author Chris Smith * @author Matthias Grimm -*/ + */ class auth_mysql extends auth_basic { @@ -25,65 +25,74 @@ class auth_mysql extends auth_basic { * * @author Matthias Grimm */ - function auth_mysql() { - global $conf; - $this->cnf = $conf['auth']['mysql']; - - if (method_exists($this, 'auth_basic')) - parent::auth_basic(); - - if(!function_exists('mysql_connect')) { - if ($this->cnf['debug']) - msg("MySQL err: PHP MySQL extension not found.",-1,__LINE__,__FILE__); - $this->success = false; - return; - } - - // default to UTF-8, you rarely want something else - if(!isset($this->cnf['charset'])) $this->cnf['charset'] = 'utf8'; - - $this->defaultgroup = $conf['defaultgroup']; - - // set capabilities based upon config strings set - if (empty($this->cnf['server']) || empty($this->cnf['user']) || - !isset($this->cnf['password']) || empty($this->cnf['database'])){ - if ($this->cnf['debug']) - msg("MySQL err: insufficient configuration.",-1,__LINE__,__FILE__); - $this->success = false; - return; - } - - $this->cando['addUser'] = $this->_chkcnf(array('getUserInfo', - 'getGroups', - 'addUser', - 'getUserID', - 'getGroupID', - 'addGroup', - 'addUserGroup'),true); - $this->cando['delUser'] = $this->_chkcnf(array('getUserID', - 'delUser', - 'delUserRefs'),true); - $this->cando['modLogin'] = $this->_chkcnf(array('getUserID', - 'updateUser', - 'UpdateTarget'),true); - $this->cando['modPass'] = $this->cando['modLogin']; - $this->cando['modName'] = $this->cando['modLogin']; - $this->cando['modMail'] = $this->cando['modLogin']; - $this->cando['modGroups'] = $this->_chkcnf(array('getUserID', - 'getGroups', - 'getGroupID', - 'addGroup', - 'addUserGroup', - 'delGroup', - 'getGroupID', - 'delUserGroup'),true); - /* getGroups is not yet supported - $this->cando['getGroups'] = $this->_chkcnf(array('getGroups', - 'getGroupID'),false); */ - $this->cando['getUsers'] = $this->_chkcnf(array('getUsers', - 'getUserInfo', - 'getGroups'),false); - $this->cando['getUserCount'] = $this->_chkcnf(array('getUsers'),false); + function __construct() { + global $conf; + $this->cnf = $conf['auth']['mysql']; + + if (method_exists($this, 'auth_basic')){ + parent::__construct(); + } + + if(!function_exists('mysql_connect')) { + if ($this->cnf['debug']){ + msg("MySQL err: PHP MySQL extension not found.",-1,__LINE__,__FILE__); + } + $this->success = false; + return; + } + + // default to UTF-8, you rarely want something else + if(!isset($this->cnf['charset'])) $this->cnf['charset'] = 'utf8'; + + $this->defaultgroup = $conf['defaultgroup']; + + // set capabilities based upon config strings set + if (empty($this->cnf['server']) || empty($this->cnf['user']) || + !isset($this->cnf['password']) || empty($this->cnf['database'])){ + + if ($this->cnf['debug']){ + msg("MySQL err: insufficient configuration.",-1,__LINE__,__FILE__); + } + $this->success = false; + return; + } + + $this->cando['addUser'] = $this->_chkcnf(array( + 'getUserInfo', + 'getGroups', + 'addUser', + 'getUserID', + 'getGroupID', + 'addGroup', + 'addUserGroup'),true); + $this->cando['delUser'] = $this->_chkcnf(array( + 'getUserID', + 'delUser', + 'delUserRefs'),true); + $this->cando['modLogin'] = $this->_chkcnf(array( + 'getUserID', + 'updateUser', + 'UpdateTarget'),true); + $this->cando['modPass'] = $this->cando['modLogin']; + $this->cando['modName'] = $this->cando['modLogin']; + $this->cando['modMail'] = $this->cando['modLogin']; + $this->cando['modGroups'] = $this->_chkcnf(array( + 'getUserID', + 'getGroups', + 'getGroupID', + 'addGroup', + 'addUserGroup', + 'delGroup', + 'getGroupID', + 'delUserGroup'),true); + /* getGroups is not yet supported + $this->cando['getGroups'] = $this->_chkcnf(array('getGroups', + 'getGroupID'),false); */ + $this->cando['getUsers'] = $this->_chkcnf(array( + 'getUsers', + 'getUserInfo', + 'getGroups'),false); + $this->cando['getUserCount'] = $this->_chkcnf(array('getUsers'),false); } /** @@ -93,17 +102,17 @@ class auth_mysql extends auth_basic { * @return bool */ function _chkcnf($keys, $wop=false){ - foreach ($keys as $key){ - if (empty($this->cnf[$key])) return false; - } + foreach ($keys as $key){ + if (empty($this->cnf[$key])) return false; + } - /* write operation and lock array filled with tables names? */ - if ($wop && (!is_array($this->cnf['TablesToLock']) || - !count($this->cnf['TablesToLock']))){ - return false; - } + /* write operation and lock array filled with tables names? */ + if ($wop && (!is_array($this->cnf['TablesToLock']) || + !count($this->cnf['TablesToLock']))){ + return false; + } - return true; + return true; } /** @@ -122,23 +131,23 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function checkPass($user,$pass){ - $rc = false; - - if($this->_openDB()) { - $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['checkPass']); - $sql = str_replace('%{pass}',$this->_escape($pass),$sql); - $sql = str_replace('%{dgroup}',$this->_escape($this->defaultgroup),$sql); - $result = $this->_queryDB($sql); - - if($result !== false && count($result) == 1) { - if($this->cnf['forwardClearPass'] == 1) - $rc = true; - else - $rc = auth_verifyPassword($pass,$result[0]['pass']); + $rc = false; + + if($this->_openDB()) { + $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['checkPass']); + $sql = str_replace('%{pass}',$this->_escape($pass),$sql); + $sql = str_replace('%{dgroup}',$this->_escape($this->defaultgroup),$sql); + $result = $this->_queryDB($sql); + + if($result !== false && count($result) == 1) { + if($this->cnf['forwardClearPass'] == 1) + $rc = true; + else + $rc = auth_verifyPassword($pass,$result[0]['pass']); + } + $this->_closeDB(); } - $this->_closeDB(); - } - return $rc; + return $rc; } /** @@ -156,14 +165,14 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function getUserData($user){ - if($this->_openDB()) { - $this->_lockTables("READ"); - $info = $this->_getUserInfo($user); - $this->_unlockTables(); - $this->_closeDB(); - } else - $info = false; - return $info; + if($this->_openDB()) { + $this->_lockTables("READ"); + $info = $this->_getUserInfo($user); + $this->_unlockTables(); + $this->_closeDB(); + } else + $info = false; + return $info; } /** @@ -186,22 +195,22 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function createUser($user,$pwd,$name,$mail,$grps=null){ - if($this->_openDB()) { - if (($info = $this->_getUserInfo($user)) !== false) - return false; // user already exists - - // set defaultgroup if no groups were given - if ($grps == null) - $grps = array($this->defaultgroup); - - $this->_lockTables("WRITE"); - $pwd = $this->cnf['forwardClearPass'] ? $pwd : auth_cryptPassword($pwd); - $rc = $this->_addUser($user,$pwd,$name,$mail,$grps); - $this->_unlockTables(); - $this->_closeDB(); - if ($rc) return true; - } - return null; // return error + if($this->_openDB()) { + if (($info = $this->_getUserInfo($user)) !== false) + return false; // user already exists + + // set defaultgroup if no groups were given + if ($grps == null) + $grps = array($this->defaultgroup); + + $this->_lockTables("WRITE"); + $pwd = $this->cnf['forwardClearPass'] ? $pwd : auth_cryptPassword($pwd); + $rc = $this->_addUser($user,$pwd,$name,$mail,$grps); + $this->_unlockTables(); + $this->_closeDB(); + if ($rc) return true; + } + return null; // return error } /** @@ -233,36 +242,36 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function modifyUser($user, $changes) { - $rc = false; + $rc = false; - if (!is_array($changes) || !count($changes)) - return true; // nothing to change + if (!is_array($changes) || !count($changes)) + return true; // nothing to change - if($this->_openDB()) { - $this->_lockTables("WRITE"); + if($this->_openDB()) { + $this->_lockTables("WRITE"); - if (($uid = $this->_getUserID($user))) { - $rc = $this->_updateUserInfo($changes, $uid); + if (($uid = $this->_getUserID($user))) { + $rc = $this->_updateUserInfo($changes, $uid); - if ($rc && isset($changes['grps']) && $this->cando['modGroups']) { - $groups = $this->_getGroups($user); - $grpadd = array_diff($changes['grps'], $groups); - $grpdel = array_diff($groups, $changes['grps']); + if ($rc && isset($changes['grps']) && $this->cando['modGroups']) { + $groups = $this->_getGroups($user); + $grpadd = array_diff($changes['grps'], $groups); + $grpdel = array_diff($groups, $changes['grps']); - foreach($grpadd as $group) - if (($this->_addUserToGroup($user, $group, 1)) == false) - $rc = false; + foreach($grpadd as $group) + if (($this->_addUserToGroup($user, $group, 1)) == false) + $rc = false; - foreach($grpdel as $group) - if (($this->_delUserFromGroup($user, $group)) == false) - $rc = false; - } - } + foreach($grpdel as $group) + if (($this->_delUserFromGroup($user, $group)) == false) + $rc = false; + } + } - $this->_unlockTables(); - $this->_closeDB(); - } - return $rc; + $this->_unlockTables(); + $this->_closeDB(); + } + return $rc; } /** @@ -277,20 +286,20 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function deleteUsers($users) { - $count = 0; - - if($this->_openDB()) { - if (is_array($users) && count($users)) { - $this->_lockTables("WRITE"); - foreach ($users as $user) { - if ($this->_delUser($user)) - $count++; - } - $this->_unlockTables(); - } - $this->_closeDB(); - } - return $count; + $count = 0; + + if($this->_openDB()) { + if (is_array($users) && count($users)) { + $this->_lockTables("WRITE"); + foreach ($users as $user) { + if ($this->_delUser($user)) + $count++; + } + $this->_unlockTables(); + } + $this->_closeDB(); + } + return $count; } /** @@ -304,23 +313,23 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function getUserCount($filter=array()) { - $rc = 0; - - if($this->_openDB()) { - $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); - - if ($this->dbver >= 4) { - $sql = substr($sql, 6); /* remove 'SELECT' or 'select' */ - $sql = "SELECT SQL_CALC_FOUND_ROWS".$sql." LIMIT 1"; - $this->_queryDB($sql); - $result = $this->_queryDB("SELECT FOUND_ROWS()"); - $rc = $result[0]['FOUND_ROWS()']; - } else if (($result = $this->_queryDB($sql))) - $rc = count($result); - - $this->_closeDB(); - } - return $rc; + $rc = 0; + + if($this->_openDB()) { + $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); + + if ($this->dbver >= 4) { + $sql = substr($sql, 6); /* remove 'SELECT' or 'select' */ + $sql = "SELECT SQL_CALC_FOUND_ROWS".$sql." LIMIT 1"; + $this->_queryDB($sql); + $result = $this->_queryDB("SELECT FOUND_ROWS()"); + $rc = $result[0]['FOUND_ROWS()']; + } else if (($result = $this->_queryDB($sql))) + $rc = count($result); + + $this->_closeDB(); + } + return $rc; } /** @@ -334,24 +343,24 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function retrieveUsers($first=0,$limit=10,$filter=array()) { - $out = array(); - - if($this->_openDB()) { - $this->_lockTables("READ"); - $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); - $sql .= " ".$this->cnf['SortOrder']." LIMIT $first, $limit"; - $result = $this->_queryDB($sql); + $out = array(); + + if($this->_openDB()) { + $this->_lockTables("READ"); + $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); + $sql .= " ".$this->cnf['SortOrder']." LIMIT $first, $limit"; + $result = $this->_queryDB($sql); + + if (!empty($result)) { + foreach ($result as $user) + if (($info = $this->_getUserInfo($user['user']))) + $out[$user['user']] = $info; + } - if (!empty($result)) { - foreach ($result as $user) - if (($info = $this->_getUserInfo($user['user']))) - $out[$user['user']] = $info; + $this->_unlockTables(); + $this->_closeDB(); } - - $this->_unlockTables(); - $this->_closeDB(); - } - return $out; + return $out; } /** @@ -364,15 +373,15 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function joinGroup($user, $group) { - $rc = false; - - if ($this->_openDB()) { - $this->_lockTables("WRITE"); - $rc = $this->_addUserToGroup($user, $group); - $this->_unlockTables(); - $this->_closeDB(); - } - return $rc; + $rc = false; + + if ($this->_openDB()) { + $this->_lockTables("WRITE"); + $rc = $this->_addUserToGroup($user, $group); + $this->_unlockTables(); + $this->_closeDB(); + } + return $rc; } /** @@ -385,16 +394,16 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function leaveGroup($user, $group) { - $rc = false; - - if ($this->_openDB()) { - $this->_lockTables("WRITE"); - $uid = $this->_getUserID($user); - $rc = $this->_delUserFromGroup($user, $group); - $this->_unlockTables(); - $this->_closeDB(); - } - return $rc; + $rc = false; + + if ($this->_openDB()) { + $this->_lockTables("WRITE"); + $uid = $this->_getUserID($user); + $rc = $this->_delUserFromGroup($user, $group); + $this->_unlockTables(); + $this->_closeDB(); + } + return $rc; } /** @@ -422,36 +431,36 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _addUserToGroup($user, $group, $force=0) { - $newgroup = 0; - - if (($this->dbcon) && ($user)) { - $gid = $this->_getGroupID($group); - if (!$gid) { - if ($force) { // create missing groups - $sql = str_replace('%{group}',$this->_escape($group),$this->cnf['addGroup']); - $gid = $this->_modifyDB($sql); - $newgroup = 1; // group newly created - } - if (!$gid) return false; // group didn't exist and can't be created - } - - $sql = $this->cnf['addUserGroup']; - if(strpos($sql,'%{uid}') !== false){ - $uid = $this->_getUserID($user); - $sql = str_replace('%{uid}', $this->_escape($uid),$sql); - } - $sql = str_replace('%{user}', $this->_escape($user),$sql); - $sql = str_replace('%{gid}', $this->_escape($gid),$sql); - $sql = str_replace('%{group}',$this->_escape($group),$sql); - if ($this->_modifyDB($sql) !== false) return true; + $newgroup = 0; + + if (($this->dbcon) && ($user)) { + $gid = $this->_getGroupID($group); + if (!$gid) { + if ($force) { // create missing groups + $sql = str_replace('%{group}',$this->_escape($group),$this->cnf['addGroup']); + $gid = $this->_modifyDB($sql); + $newgroup = 1; // group newly created + } + if (!$gid) return false; // group didn't exist and can't be created + } - if ($newgroup) { // remove previously created group on error - $sql = str_replace('%{gid}', $this->_escape($gid),$this->cnf['delGroup']); - $sql = str_replace('%{group}',$this->_escape($group),$sql); - $this->_modifyDB($sql); + $sql = $this->cnf['addUserGroup']; + if(strpos($sql,'%{uid}') !== false){ + $uid = $this->_getUserID($user); + $sql = str_replace('%{uid}', $this->_escape($uid),$sql); + } + $sql = str_replace('%{user}', $this->_escape($user),$sql); + $sql = str_replace('%{gid}', $this->_escape($gid),$sql); + $sql = str_replace('%{group}',$this->_escape($group),$sql); + if ($this->_modifyDB($sql) !== false) return true; + + if ($newgroup) { // remove previously created group on error + $sql = str_replace('%{gid}', $this->_escape($gid),$this->cnf['delGroup']); + $sql = str_replace('%{group}',$this->_escape($group),$sql); + $this->_modifyDB($sql); + } } - } - return false; + return false; } /** @@ -464,24 +473,23 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _delUserFromGroup($user, $group) { - $rc = false; + $rc = false; - - if (($this->dbcon) && ($user)) { - $sql = $this->cnf['delUserGroup']; - if(strpos($sql,'%{uid}') !== false){ - $uid = $this->_getUserID($user); - $sql = str_replace('%{uid}', $this->_escape($uid),$sql); - } - $gid = $this->_getGroupID($group); - if ($gid) { - $sql = str_replace('%{user}', $this->_escape($user),$sql); - $sql = str_replace('%{gid}', $this->_escape($gid),$sql); - $sql = str_replace('%{group}',$this->_escape($group),$sql); - $rc = $this->_modifyDB($sql) == 0 ? true : false; + if (($this->dbcon) && ($user)) { + $sql = $this->cnf['delUserGroup']; + if(strpos($sql,'%{uid}') !== false){ + $uid = $this->_getUserID($user); + $sql = str_replace('%{uid}', $this->_escape($uid),$sql); + } + $gid = $this->_getGroupID($group); + if ($gid) { + $sql = str_replace('%{user}', $this->_escape($user),$sql); + $sql = str_replace('%{gid}', $this->_escape($gid),$sql); + $sql = str_replace('%{group}',$this->_escape($group),$sql); + $rc = $this->_modifyDB($sql) == 0 ? true : false; + } } - } - return $rc; + return $rc; } /** @@ -498,19 +506,19 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _getGroups($user) { - $groups = array(); + $groups = array(); - if($this->dbcon) { - $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getGroups']); - $result = $this->_queryDB($sql); + if($this->dbcon) { + $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getGroups']); + $result = $this->_queryDB($sql); - if($result !== false && count($result)) { - foreach($result as $row) - $groups[] = $row['group']; + if($result !== false && count($result)) { + foreach($result as $row) + $groups[] = $row['group']; + } + return $groups; } - return $groups; - } - return false; + return false; } /** @@ -526,12 +534,12 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _getUserID($user) { - if($this->dbcon) { - $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getUserID']); - $result = $this->_queryDB($sql); - return $result === false ? false : $result[0]['id']; - } - return false; + if($this->dbcon) { + $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getUserID']); + $result = $this->_queryDB($sql); + return $result === false ? false : $result[0]['id']; + } + return false; } /** @@ -553,33 +561,33 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _addUser($user,$pwd,$name,$mail,$grps){ - if($this->dbcon && is_array($grps)) { - $sql = str_replace('%{user}', $this->_escape($user),$this->cnf['addUser']); - $sql = str_replace('%{pass}', $this->_escape($pwd),$sql); - $sql = str_replace('%{name}', $this->_escape($name),$sql); - $sql = str_replace('%{email}',$this->_escape($mail),$sql); - $uid = $this->_modifyDB($sql); - - if ($uid) { - foreach($grps as $group) { - $gid = $this->_addUserToGroup($user, $group, 1); - if ($gid === false) break; - } - - if ($gid) return true; - else { - /* remove the new user and all group relations if a group can't - * be assigned. Newly created groups will remain in the database - * and won't be removed. This might create orphaned groups but - * is not a big issue so we ignore this problem here. - */ - $this->_delUser($user); - if ($this->cnf['debug']) - msg ("MySQL err: Adding user '$user' to group '$group' failed.",-1,__LINE__,__FILE__); - } + if($this->dbcon && is_array($grps)) { + $sql = str_replace('%{user}', $this->_escape($user),$this->cnf['addUser']); + $sql = str_replace('%{pass}', $this->_escape($pwd),$sql); + $sql = str_replace('%{name}', $this->_escape($name),$sql); + $sql = str_replace('%{email}',$this->_escape($mail),$sql); + $uid = $this->_modifyDB($sql); + + if ($uid) { + foreach($grps as $group) { + $gid = $this->_addUserToGroup($user, $group, 1); + if ($gid === false) break; + } + + if ($gid) return true; + else { + /* remove the new user and all group relations if a group can't + * be assigned. Newly created groups will remain in the database + * and won't be removed. This might create orphaned groups but + * is not a big issue so we ignore this problem here. + */ + $this->_delUser($user); + if ($this->cnf['debug']) + msg ("MySQL err: Adding user '$user' to group '$group' failed.",-1,__LINE__,__FILE__); + } + } } - } - return false; + return false; } /** @@ -595,18 +603,18 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _delUser($user) { - if($this->dbcon) { - $uid = $this->_getUserID($user); - if ($uid) { - $sql = str_replace('%{uid}',$this->_escape($uid),$this->cnf['delUserRefs']); - $this->_modifyDB($sql); - $sql = str_replace('%{uid}',$this->_escape($uid),$this->cnf['delUser']); - $sql = str_replace('%{user}', $this->_escape($user),$sql); - $this->_modifyDB($sql); - return true; - } - } - return false; + if($this->dbcon) { + $uid = $this->_getUserID($user); + if ($uid) { + $sql = str_replace('%{uid}',$this->_escape($uid),$this->cnf['delUserRefs']); + $this->_modifyDB($sql); + $sql = str_replace('%{uid}',$this->_escape($uid),$this->cnf['delUser']); + $sql = str_replace('%{user}', $this->_escape($user),$sql); + $this->_modifyDB($sql); + return true; + } + } + return false; } /** @@ -623,14 +631,14 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _getUserInfo($user){ - $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getUserInfo']); - $result = $this->_queryDB($sql); - if($result !== false && count($result)) { - $info = $result[0]; - $info['grps'] = $this->_getGroups($user); - return $info; - } - return false; + $sql = str_replace('%{user}',$this->_escape($user),$this->cnf['getUserInfo']); + $result = $this->_queryDB($sql); + if($result !== false && count($result)) { + $info = $result[0]; + $info['grps'] = $this->_getGroups($user); + return $info; + } + return false; } /** @@ -653,43 +661,43 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _updateUserInfo($changes, $uid) { - $sql = $this->cnf['updateUser']." "; - $cnt = 0; - $err = 0; - - if($this->dbcon) { - foreach ($changes as $item => $value) { - if ($item == 'user') { - if (($this->_getUserID($changes['user']))) { - $err = 1; /* new username already exists */ - break; /* abort update */ + $sql = $this->cnf['updateUser']." "; + $cnt = 0; + $err = 0; + + if($this->dbcon) { + foreach ($changes as $item => $value) { + if ($item == 'user') { + if (($this->_getUserID($changes['user']))) { + $err = 1; /* new username already exists */ + break; /* abort update */ + } + if ($cnt++ > 0) $sql .= ", "; + $sql .= str_replace('%{user}',$value,$this->cnf['UpdateLogin']); + } else if ($item == 'name') { + if ($cnt++ > 0) $sql .= ", "; + $sql .= str_replace('%{name}',$value,$this->cnf['UpdateName']); + } else if ($item == 'pass') { + if (!$this->cnf['forwardClearPass']) + $value = auth_cryptPassword($value); + if ($cnt++ > 0) $sql .= ", "; + $sql .= str_replace('%{pass}',$value,$this->cnf['UpdatePass']); + } else if ($item == 'mail') { + if ($cnt++ > 0) $sql .= ", "; + $sql .= str_replace('%{email}',$value,$this->cnf['UpdateEmail']); + } } - if ($cnt++ > 0) $sql .= ", "; - $sql .= str_replace('%{user}',$value,$this->cnf['UpdateLogin']); - } else if ($item == 'name') { - if ($cnt++ > 0) $sql .= ", "; - $sql .= str_replace('%{name}',$value,$this->cnf['UpdateName']); - } else if ($item == 'pass') { - if (!$this->cnf['forwardClearPass']) - $value = auth_cryptPassword($value); - if ($cnt++ > 0) $sql .= ", "; - $sql .= str_replace('%{pass}',$value,$this->cnf['UpdatePass']); - } else if ($item == 'mail') { - if ($cnt++ > 0) $sql .= ", "; - $sql .= str_replace('%{email}',$value,$this->cnf['UpdateEmail']); - } - } - - if ($err == 0) { - if ($cnt > 0) { - $sql .= " ".str_replace('%{uid}', $uid, $this->cnf['UpdateTarget']); - if(get_class($this) == 'auth_mysql') $sql .= " LIMIT 1"; //some PgSQL inheritance comp. - $this->_modifyDB($sql); - } - return true; - } - } - return false; + + if ($err == 0) { + if ($cnt > 0) { + $sql .= " ".str_replace('%{uid}', $uid, $this->cnf['UpdateTarget']); + if(get_class($this) == 'auth_mysql') $sql .= " LIMIT 1"; //some PgSQL inheritance comp. + $this->_modifyDB($sql); + } + return true; + } + } + return false; } /** @@ -705,12 +713,12 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _getGroupID($group) { - if($this->dbcon) { - $sql = str_replace('%{group}',$this->_escape($group),$this->cnf['getGroupID']); - $result = $this->_queryDB($sql); - return $result === false ? false : $result[0]['id']; - } - return false; + if($this->dbcon) { + $sql = str_replace('%{group}',$this->_escape($group),$this->cnf['getGroupID']); + $result = $this->_queryDB($sql); + return $result === false ? false : $result[0]['id']; + } + return false; } /** @@ -723,32 +731,32 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _openDB() { - if (!$this->dbcon) { - $con = @mysql_connect ($this->cnf['server'], $this->cnf['user'], $this->cnf['password']); - if ($con) { - if ((mysql_select_db($this->cnf['database'], $con))) { - if ((preg_match("/^(\d+)\.(\d+)\.(\d+).*/", mysql_get_server_info ($con), $result)) == 1) { - $this->dbver = $result[1]; - $this->dbrev = $result[2]; - $this->dbsub = $result[3]; - } - $this->dbcon = $con; - if(!empty($this->cnf['charset'])){ - mysql_query('SET CHARACTER SET "' . $this->cnf['charset'] . '"', $con); - } - return true; // connection and database successfully opened - } else { - mysql_close ($con); - if ($this->cnf['debug']) - msg("MySQL err: No access to database {$this->cnf['database']}.",-1,__LINE__,__FILE__); - } - } else if ($this->cnf['debug']) - msg ("MySQL err: Connection to {$this->cnf['user']}@{$this->cnf['server']} not possible.", - -1,__LINE__,__FILE__); - - return false; // connection failed - } - return true; // connection already open + if (!$this->dbcon) { + $con = @mysql_connect ($this->cnf['server'], $this->cnf['user'], $this->cnf['password']); + if ($con) { + if ((mysql_select_db($this->cnf['database'], $con))) { + if ((preg_match("/^(\d+)\.(\d+)\.(\d+).*/", mysql_get_server_info ($con), $result)) == 1) { + $this->dbver = $result[1]; + $this->dbrev = $result[2]; + $this->dbsub = $result[3]; + } + $this->dbcon = $con; + if(!empty($this->cnf['charset'])){ + mysql_query('SET CHARACTER SET "' . $this->cnf['charset'] . '"', $con); + } + return true; // connection and database successfully opened + } else { + mysql_close ($con); + if ($this->cnf['debug']) + msg("MySQL err: No access to database {$this->cnf['database']}.",-1,__LINE__,__FILE__); + } + } else if ($this->cnf['debug']) + msg ("MySQL err: Connection to {$this->cnf['user']}@{$this->cnf['server']} not possible.", + -1,__LINE__,__FILE__); + + return false; // connection failed + } + return true; // connection already open } /** @@ -757,10 +765,10 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _closeDB() { - if ($this->dbcon) { - mysql_close ($this->dbcon); - $this->dbcon = 0; - } + if ($this->dbcon) { + mysql_close ($this->dbcon); + $this->dbcon = 0; + } } /** @@ -776,23 +784,23 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _queryDB($query) { - if($this->cnf['debug'] >= 2){ - msg('MySQL query: '.hsc($query),0,__LINE__,__FILE__); - } - - $resultarray = array(); - if ($this->dbcon) { - $result = @mysql_query($query,$this->dbcon); - if ($result) { - while (($t = mysql_fetch_assoc($result)) !== false) - $resultarray[]=$t; - mysql_free_result ($result); - return $resultarray; - } - if ($this->cnf['debug']) - msg('MySQL err: '.mysql_error($this->dbcon),-1,__LINE__,__FILE__); - } - return false; + if($this->cnf['debug'] >= 2){ + msg('MySQL query: '.hsc($query),0,__LINE__,__FILE__); + } + + $resultarray = array(); + if ($this->dbcon) { + $result = @mysql_query($query,$this->dbcon); + if ($result) { + while (($t = mysql_fetch_assoc($result)) !== false) + $resultarray[]=$t; + mysql_free_result ($result); + return $resultarray; + } + if ($this->cnf['debug']) + msg('MySQL err: '.mysql_error($this->dbcon),-1,__LINE__,__FILE__); + } + return false; } /** @@ -807,16 +815,16 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _modifyDB($query) { - if ($this->dbcon) { - $result = @mysql_query($query,$this->dbcon); - if ($result) { - $rc = mysql_insert_id($this->dbcon); //give back ID on insert - if ($rc !== false) return $rc; - } - if ($this->cnf['debug']) - msg('MySQL err: '.mysql_error($this->dbcon),-1,__LINE__,__FILE__); - } - return false; + if ($this->dbcon) { + $result = @mysql_query($query,$this->dbcon); + if ($result) { + $rc = mysql_insert_id($this->dbcon); //give back ID on insert + if ($rc !== false) return $rc; + } + if ($this->cnf['debug']) + msg('MySQL err: '.mysql_error($this->dbcon),-1,__LINE__,__FILE__); + } + return false; } /** @@ -838,21 +846,21 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _lockTables($mode) { - if ($this->dbcon) { - if (is_array($this->cnf['TablesToLock']) && !empty($this->cnf['TablesToLock'])) { - if ($mode == "READ" || $mode == "WRITE") { - $sql = "LOCK TABLES "; - $cnt = 0; - foreach ($this->cnf['TablesToLock'] as $table) { - if ($cnt++ != 0) $sql .= ", "; - $sql .= "$table $mode"; + if ($this->dbcon) { + if (is_array($this->cnf['TablesToLock']) && !empty($this->cnf['TablesToLock'])) { + if ($mode == "READ" || $mode == "WRITE") { + $sql = "LOCK TABLES "; + $cnt = 0; + foreach ($this->cnf['TablesToLock'] as $table) { + if ($cnt++ != 0) $sql .= ", "; + $sql .= "$table $mode"; + } + $this->_modifyDB($sql); + return true; + } } - $this->_modifyDB($sql); - return true; - } } - } - return false; + return false; } /** @@ -862,11 +870,11 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _unlockTables() { - if ($this->dbcon) { - $this->_modifyDB("UNLOCK TABLES"); - return true; - } - return false; + if ($this->dbcon) { + $this->_modifyDB("UNLOCK TABLES"); + return true; + } + return false; } /** @@ -882,38 +890,38 @@ class auth_mysql extends auth_basic { * @author Matthias Grimm */ function _createSQLFilter($sql, $filter) { - $SQLfilter = ""; - $cnt = 0; - - if ($this->dbcon) { - foreach ($filter as $item => $pattern) { - $tmp = '%'.$this->_escape($pattern).'%'; - if ($item == 'user') { - if ($cnt++ > 0) $SQLfilter .= " AND "; - $SQLfilter .= str_replace('%{user}',$tmp,$this->cnf['FilterLogin']); - } else if ($item == 'name') { - if ($cnt++ > 0) $SQLfilter .= " AND "; - $SQLfilter .= str_replace('%{name}',$tmp,$this->cnf['FilterName']); - } else if ($item == 'mail') { - if ($cnt++ > 0) $SQLfilter .= " AND "; - $SQLfilter .= str_replace('%{email}',$tmp,$this->cnf['FilterEmail']); - } else if ($item == 'grps') { - if ($cnt++ > 0) $SQLfilter .= " AND "; - $SQLfilter .= str_replace('%{group}',$tmp,$this->cnf['FilterGroup']); - } - } - - // we have to check SQLfilter here and must not use $cnt because if - // any of cnf['Filter????'] is not defined, a malformed SQL string - // would be generated. - - if (strlen($SQLfilter)) { - $glue = strpos(strtolower($sql),"where") ? " AND " : " WHERE "; - $sql = $sql.$glue.$SQLfilter; - } - } - - return $sql; + $SQLfilter = ""; + $cnt = 0; + + if ($this->dbcon) { + foreach ($filter as $item => $pattern) { + $tmp = '%'.$this->_escape($pattern).'%'; + if ($item == 'user') { + if ($cnt++ > 0) $SQLfilter .= " AND "; + $SQLfilter .= str_replace('%{user}',$tmp,$this->cnf['FilterLogin']); + } else if ($item == 'name') { + if ($cnt++ > 0) $SQLfilter .= " AND "; + $SQLfilter .= str_replace('%{name}',$tmp,$this->cnf['FilterName']); + } else if ($item == 'mail') { + if ($cnt++ > 0) $SQLfilter .= " AND "; + $SQLfilter .= str_replace('%{email}',$tmp,$this->cnf['FilterEmail']); + } else if ($item == 'grps') { + if ($cnt++ > 0) $SQLfilter .= " AND "; + $SQLfilter .= str_replace('%{group}',$tmp,$this->cnf['FilterGroup']); + } + } + + // we have to check SQLfilter here and must not use $cnt because if + // any of cnf['Filter????'] is not defined, a malformed SQL string + // would be generated. + + if (strlen($SQLfilter)) { + $glue = strpos(strtolower($sql),"where") ? " AND " : " WHERE "; + $sql = $sql.$glue.$SQLfilter; + } + } + + return $sql; } /** @@ -924,15 +932,15 @@ class auth_mysql extends auth_basic { * @param boolean $like Escape wildcard chars as well? */ function _escape($string,$like=false){ - if($this->dbcon){ - $string = mysql_real_escape_string($string, $this->dbcon); - }else{ - $string = addslashes($string); - } - if($like){ - $string = addcslashes($string,'%_'); - } - return $string; + if($this->dbcon){ + $string = mysql_real_escape_string($string, $this->dbcon); + }else{ + $string = addslashes($string); + } + if($like){ + $string = addcslashes($string,'%_'); + } + return $string; } } diff --git a/inc/auth/pgsql.class.php b/inc/auth/pgsql.class.php index cf8bf7600..b422b100d 100644 --- a/inc/auth/pgsql.class.php +++ b/inc/auth/pgsql.class.php @@ -9,7 +9,7 @@ * @author Andreas Gohr * @author Chris Smith * @author Matthias Grimm -*/ + */ require_once(DOKU_INC.'inc/auth/mysql.class.php'); @@ -24,63 +24,72 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm * @author Andreas Gohr */ - function auth_pgsql() { - global $conf; - $this->cnf = $conf['auth']['pgsql']; - if(!$this->cnf['port']) $this->cnf['port'] = 5432; - - if (method_exists($this, 'auth_basic')) - parent::auth_basic(); - - if(!function_exists('pg_connect')) { - if ($this->cnf['debug']) - msg("PgSQL err: PHP Postgres extension not found.",-1); - $this->success = false; - return; - } - - $this->defaultgroup = $conf['defaultgroup']; - - // set capabilities based upon config strings set - if (empty($this->cnf['user']) || - empty($this->cnf['password']) || empty($this->cnf['database'])){ - if ($this->cnf['debug']) - msg("PgSQL err: insufficient configuration.",-1,__LINE__,__FILE__); - $this->success = false; - return; - } - - $this->cando['addUser'] = $this->_chkcnf(array('getUserInfo', - 'getGroups', - 'addUser', - 'getUserID', - 'getGroupID', - 'addGroup', - 'addUserGroup')); - $this->cando['delUser'] = $this->_chkcnf(array('getUserID', - 'delUser', - 'delUserRefs')); - $this->cando['modLogin'] = $this->_chkcnf(array('getUserID', - 'updateUser', - 'UpdateTarget')); - $this->cando['modPass'] = $this->cando['modLogin']; - $this->cando['modName'] = $this->cando['modLogin']; - $this->cando['modMail'] = $this->cando['modLogin']; - $this->cando['modGroups'] = $this->_chkcnf(array('getUserID', - 'getGroups', - 'getGroupID', - 'addGroup', - 'addUserGroup', - 'delGroup', - 'getGroupID', - 'delUserGroup')); - /* getGroups is not yet supported - $this->cando['getGroups'] = $this->_chkcnf(array('getGroups', - 'getGroupID')); */ - $this->cando['getUsers'] = $this->_chkcnf(array('getUsers', - 'getUserInfo', - 'getGroups')); - $this->cando['getUserCount'] = $this->_chkcnf(array('getUsers')); + function __construct() { + global $conf; + $this->cnf = $conf['auth']['pgsql']; + if(!$this->cnf['port']){ + $this->cnf['port'] = 5432; + } + + if (method_exists($this, 'auth_basic')){ + parent::auth_basic(); + } + + if(!function_exists('pg_connect')) { + if ($this->cnf['debug']) + msg("PgSQL err: PHP Postgres extension not found.",-1); + $this->success = false; + return; + } + + $this->defaultgroup = $conf['defaultgroup']; + + // set capabilities based upon config strings set + if (empty($this->cnf['user']) || + empty($this->cnf['password']) || empty($this->cnf['database'])){ + if ($this->cnf['debug']){ + msg("PgSQL err: insufficient configuration.",-1,__LINE__,__FILE__); + } + $this->success = false; + return; + } + + $this->cando['addUser'] = $this->_chkcnf(array( + 'getUserInfo', + 'getGroups', + 'addUser', + 'getUserID', + 'getGroupID', + 'addGroup', + 'addUserGroup')); + $this->cando['delUser'] = $this->_chkcnf(array( + 'getUserID', + 'delUser', + 'delUserRefs')); + $this->cando['modLogin'] = $this->_chkcnf(array( + 'getUserID', + 'updateUser', + 'UpdateTarget')); + $this->cando['modPass'] = $this->cando['modLogin']; + $this->cando['modName'] = $this->cando['modLogin']; + $this->cando['modMail'] = $this->cando['modLogin']; + $this->cando['modGroups'] = $this->_chkcnf(array( + 'getUserID', + 'getGroups', + 'getGroupID', + 'addGroup', + 'addUserGroup', + 'delGroup', + 'getGroupID', + 'delUserGroup')); + /* getGroups is not yet supported + $this->cando['getGroups'] = $this->_chkcnf(array('getGroups', + 'getGroupID')); */ + $this->cando['getUsers'] = $this->_chkcnf(array( + 'getUsers', + 'getUserInfo', + 'getGroups')); + $this->cando['getUserCount'] = $this->_chkcnf(array('getUsers')); } /** @@ -90,10 +99,10 @@ class auth_pgsql extends auth_mysql { * @return bool */ function _chkcnf($keys, $wop=false){ - foreach ($keys as $key){ - if (empty($this->cnf[$key])) return false; - } - return true; + foreach ($keys as $key){ + if (empty($this->cnf[$key])) return false; + } + return true; } // @inherit function checkPass($user,$pass) @@ -114,18 +123,18 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function getUserCount($filter=array()) { - $rc = 0; + $rc = 0; - if($this->_openDB()) { - $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); + if($this->_openDB()) { + $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); - // no equivalent of SQL_CALC_FOUND_ROWS in pgsql? - if (($result = $this->_queryDB($sql))){ - $rc = count($result); + // no equivalent of SQL_CALC_FOUND_ROWS in pgsql? + if (($result = $this->_queryDB($sql))){ + $rc = count($result); + } + $this->_closeDB(); } - $this->_closeDB(); - } - return $rc; + return $rc; } /** @@ -139,22 +148,22 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function retrieveUsers($first=0,$limit=10,$filter=array()) { - $out = array(); - - if($this->_openDB()) { - $this->_lockTables("READ"); - $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); - $sql .= " ".$this->cnf['SortOrder']." LIMIT $limit OFFSET $first"; - $result = $this->_queryDB($sql); - - foreach ($result as $user) - if (($info = $this->_getUserInfo($user['user']))) - $out[$user['user']] = $info; - - $this->_unlockTables(); - $this->_closeDB(); - } - return $out; + $out = array(); + + if($this->_openDB()) { + $this->_lockTables("READ"); + $sql = $this->_createSQLFilter($this->cnf['getUsers'], $filter); + $sql .= " ".$this->cnf['SortOrder']." LIMIT $limit OFFSET $first"; + $result = $this->_queryDB($sql); + + foreach ($result as $user) + if (($info = $this->_getUserInfo($user['user']))) + $out[$user['user']] = $info; + + $this->_unlockTables(); + $this->_closeDB(); + } + return $out; } // @inherit function joinGroup($user, $group) @@ -177,38 +186,38 @@ class auth_pgsql extends auth_mysql { * @author Andreas Gohr */ function _addUserToGroup($user, $group, $force=0) { - $newgroup = 0; - - if (($this->dbcon) && ($user)) { - $gid = $this->_getGroupID($group); - if (!$gid) { - if ($force) { // create missing groups - $sql = str_replace('%{group}',addslashes($group),$this->cnf['addGroup']); - $this->_modifyDB($sql); - //group should now exists try again to fetch it - $gid = $this->_getGroupID($group); - $newgroup = 1; // group newly created - } - } - if (!$gid) return false; // group didn't exist and can't be created + $newgroup = 0; - $sql = $this->cnf['addUserGroup']; - if(strpos($sql,'%{uid}') !== false){ - $uid = $this->_getUserID($user); - $sql = str_replace('%{uid}', addslashes($uid), $sql); - } - $sql = str_replace('%{user}', addslashes($user),$sql); - $sql = str_replace('%{gid}', addslashes($gid),$sql); - $sql = str_replace('%{group}',addslashes($group),$sql); - if ($this->_modifyDB($sql) !== false) return true; - - if ($newgroup) { // remove previously created group on error - $sql = str_replace('%{gid}', addslashes($gid),$this->cnf['delGroup']); - $sql = str_replace('%{group}',addslashes($group),$sql); - $this->_modifyDB($sql); + if (($this->dbcon) && ($user)) { + $gid = $this->_getGroupID($group); + if (!$gid) { + if ($force) { // create missing groups + $sql = str_replace('%{group}',addslashes($group),$this->cnf['addGroup']); + $this->_modifyDB($sql); + //group should now exists try again to fetch it + $gid = $this->_getGroupID($group); + $newgroup = 1; // group newly created + } + } + if (!$gid) return false; // group didn't exist and can't be created + + $sql = $this->cnf['addUserGroup']; + if(strpos($sql,'%{uid}') !== false){ + $uid = $this->_getUserID($user); + $sql = str_replace('%{uid}', addslashes($uid), $sql); + } + $sql = str_replace('%{user}', addslashes($user),$sql); + $sql = str_replace('%{gid}', addslashes($gid),$sql); + $sql = str_replace('%{group}',addslashes($group),$sql); + if ($this->_modifyDB($sql) !== false) return true; + + if ($newgroup) { // remove previously created group on error + $sql = str_replace('%{gid}', addslashes($gid),$this->cnf['delGroup']); + $sql = str_replace('%{group}',addslashes($group),$sql); + $this->_modifyDB($sql); + } } - } - return false; + return false; } // @inherit function _delUserFromGroup($user $group) @@ -234,37 +243,37 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _addUser($user,$pwd,$name,$mail,$grps){ - if($this->dbcon && is_array($grps)) { - $sql = str_replace('%{user}', addslashes($user),$this->cnf['addUser']); - $sql = str_replace('%{pass}', addslashes($pwd),$sql); - $sql = str_replace('%{name}', addslashes($name),$sql); - $sql = str_replace('%{email}',addslashes($mail),$sql); - if($this->_modifyDB($sql)){ - $uid = $this->_getUserID($user); - }else{ - return false; + if($this->dbcon && is_array($grps)) { + $sql = str_replace('%{user}', addslashes($user),$this->cnf['addUser']); + $sql = str_replace('%{pass}', addslashes($pwd),$sql); + $sql = str_replace('%{name}', addslashes($name),$sql); + $sql = str_replace('%{email}',addslashes($mail),$sql); + if($this->_modifyDB($sql)){ + $uid = $this->_getUserID($user); + }else{ + return false; + } + + if ($uid) { + foreach($grps as $group) { + $gid = $this->_addUserToGroup($user, $group, 1); + if ($gid === false) break; + } + + if ($gid) return true; + else { + /* remove the new user and all group relations if a group can't + * be assigned. Newly created groups will remain in the database + * and won't be removed. This might create orphaned groups but + * is not a big issue so we ignore this problem here. + */ + $this->_delUser($user); + if ($this->cnf['debug']) + msg("PgSQL err: Adding user '$user' to group '$group' failed.",-1,__LINE__,__FILE__); + } + } } - - if ($uid) { - foreach($grps as $group) { - $gid = $this->_addUserToGroup($user, $group, 1); - if ($gid === false) break; - } - - if ($gid) return true; - else { - /* remove the new user and all group relations if a group can't - * be assigned. Newly created groups will remain in the database - * and won't be removed. This might create orphaned groups but - * is not a big issue so we ignore this problem here. - */ - $this->_delUser($user); - if ($this->cnf['debug']) - msg("PgSQL err: Adding user '$user' to group '$group' failed.",-1,__LINE__,__FILE__); - } - } - } - return false; + return false; } // @inherit function _delUser($user) @@ -282,24 +291,24 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _openDB() { - if (!$this->dbcon) { - $dsn = $this->cnf['server'] ? 'host='.$this->cnf['server'] : ''; - $dsn .= ' port='.$this->cnf['port']; - $dsn .= ' dbname='.$this->cnf['database']; - $dsn .= ' user='.$this->cnf['user']; - $dsn .= ' password='.$this->cnf['password']; - - $con = @pg_connect($dsn); - if ($con) { - $this->dbcon = $con; - return true; // connection and database successfully opened - } else if ($this->cnf['debug']){ - msg ("PgSQL err: Connection to {$this->cnf['user']}@{$this->cnf['server']} not possible.", - -1,__LINE__,__FILE__); + if (!$this->dbcon) { + $dsn = $this->cnf['server'] ? 'host='.$this->cnf['server'] : ''; + $dsn .= ' port='.$this->cnf['port']; + $dsn .= ' dbname='.$this->cnf['database']; + $dsn .= ' user='.$this->cnf['user']; + $dsn .= ' password='.$this->cnf['password']; + + $con = @pg_connect($dsn); + if ($con) { + $this->dbcon = $con; + return true; // connection and database successfully opened + } else if ($this->cnf['debug']){ + msg ("PgSQL err: Connection to {$this->cnf['user']}@{$this->cnf['server']} not possible.", + -1,__LINE__,__FILE__); + } + return false; // connection failed } - return false; // connection failed - } - return true; // connection already open + return true; // connection already open } /** @@ -308,10 +317,10 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _closeDB() { - if ($this->dbcon) { - pg_close ($this->dbcon); - $this->dbcon = 0; - } + if ($this->dbcon) { + pg_close ($this->dbcon); + $this->dbcon = 0; + } } /** @@ -327,17 +336,17 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _queryDB($query) { - if ($this->dbcon) { - $result = @pg_query($this->dbcon,$query); - if ($result) { - while (($t = pg_fetch_assoc($result)) !== false) - $resultarray[]=$t; - pg_free_result ($result); - return $resultarray; - }elseif ($this->cnf['debug']) - msg('PgSQL err: '.pg_last_error($this->dbcon),-1,__LINE__,__FILE__); - } - return false; + if ($this->dbcon) { + $result = @pg_query($this->dbcon,$query); + if ($result) { + while (($t = pg_fetch_assoc($result)) !== false) + $resultarray[]=$t; + pg_free_result ($result); + return $resultarray; + }elseif ($this->cnf['debug']) + msg('PgSQL err: '.pg_last_error($this->dbcon),-1,__LINE__,__FILE__); + } + return false; } /** @@ -347,17 +356,17 @@ class auth_pgsql extends auth_mysql { * @author Andreas Gohr */ function _modifyDB($query) { - if ($this->dbcon) { - $result = @pg_query($this->dbcon,$query); - if ($result) { - pg_free_result ($result); - return true; - } - if ($this->cnf['debug']){ - msg('PgSQL err: '.pg_last_error($this->dbcon),-1,__LINE__,__FILE__); + if ($this->dbcon) { + $result = @pg_query($this->dbcon,$query); + if ($result) { + pg_free_result ($result); + return true; + } + if ($this->cnf['debug']){ + msg('PgSQL err: '.pg_last_error($this->dbcon),-1,__LINE__,__FILE__); + } } - } - return false; + return false; } /** @@ -367,11 +376,11 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _lockTables($mode) { - if ($this->dbcon) { - $this->_modifyDB('BEGIN'); - return true; - } - return false; + if ($this->dbcon) { + $this->_modifyDB('BEGIN'); + return true; + } + return false; } /** @@ -380,11 +389,11 @@ class auth_pgsql extends auth_mysql { * @author Matthias Grimm */ function _unlockTables() { - if ($this->dbcon) { - $this->_modifyDB('COMMIT'); - return true; - } - return false; + if ($this->dbcon) { + $this->_modifyDB('COMMIT'); + return true; + } + return false; } // @inherit function _createSQLFilter($sql, $filter) @@ -398,11 +407,11 @@ class auth_pgsql extends auth_mysql { * @param boolean $like Escape wildcard chars as well? */ function _escape($string,$like=false){ - $string = pg_escape_string($string); - if($like){ - $string = addcslashes($string,'%_'); - } - return $string; + $string = pg_escape_string($string); + if($like){ + $string = addcslashes($string,'%_'); + } + return $string; } } diff --git a/inc/auth/plain.class.php b/inc/auth/plain.class.php index 3941190e9..e682d2522 100644 --- a/inc/auth/plain.class.php +++ b/inc/auth/plain.class.php @@ -20,24 +20,24 @@ class auth_plain extends auth_basic { * * @author Christopher Smith */ - function auth_plain() { - global $config_cascade; - - if (!@is_readable($config_cascade['plainauth.users']['default'])){ - $this->success = false; - }else{ - if(@is_writable($config_cascade['plainauth.users']['default'])){ - $this->cando['addUser'] = true; - $this->cando['delUser'] = true; - $this->cando['modLogin'] = true; - $this->cando['modPass'] = true; - $this->cando['modName'] = true; - $this->cando['modMail'] = true; - $this->cando['modGroups'] = true; + function __construct() { + global $config_cascade; + + if (!@is_readable($config_cascade['plainauth.users']['default'])){ + $this->success = false; + }else{ + if(@is_writable($config_cascade['plainauth.users']['default'])){ + $this->cando['addUser'] = true; + $this->cando['delUser'] = true; + $this->cando['modLogin'] = true; + $this->cando['modPass'] = true; + $this->cando['modName'] = true; + $this->cando['modMail'] = true; + $this->cando['modGroups'] = true; + } + $this->cando['getUsers'] = true; + $this->cando['getUserCount'] = true; } - $this->cando['getUsers'] = true; - $this->cando['getUserCount'] = true; - } } /** @@ -51,10 +51,10 @@ class auth_plain extends auth_basic { */ function checkPass($user,$pass){ - $userinfo = $this->getUserData($user); - if ($userinfo === false) return false; + $userinfo = $this->getUserData($user); + if ($userinfo === false) return false; - return auth_verifyPassword($pass,$this->users[$user]['pass']); + return auth_verifyPassword($pass,$this->users[$user]['pass']); } /** @@ -71,8 +71,8 @@ class auth_plain extends auth_basic { */ function getUserData($user){ - if($this->users === null) $this->_loadUserData(); - return isset($this->users[$user]) ? $this->users[$user] : false; + if($this->users === null) $this->_loadUserData(); + return isset($this->users[$user]) ? $this->users[$user] : false; } /** @@ -88,29 +88,29 @@ class auth_plain extends auth_basic { * @author Chris Smith */ function createUser($user,$pwd,$name,$mail,$grps=null){ - global $conf; - global $config_cascade; + global $conf; + global $config_cascade; - // user mustn't already exist - if ($this->getUserData($user) !== false) return false; + // user mustn't already exist + if ($this->getUserData($user) !== false) return false; - $pass = auth_cryptPassword($pwd); + $pass = auth_cryptPassword($pwd); - // set default group if no groups specified - if (!is_array($grps)) $grps = array($conf['defaultgroup']); + // set default group if no groups specified + if (!is_array($grps)) $grps = array($conf['defaultgroup']); - // prepare user line - $groups = join(',',$grps); - $userline = join(':',array($user,$pass,$name,$mail,$groups))."\n"; + // prepare user line + $groups = join(',',$grps); + $userline = join(':',array($user,$pass,$name,$mail,$groups))."\n"; - if (io_saveFile($config_cascade['plainauth.users']['default'],$userline,true)) { - $this->users[$user] = compact('pass','name','mail','grps'); - return $pwd; - } + if (io_saveFile($config_cascade['plainauth.users']['default'],$userline,true)) { + $this->users[$user] = compact('pass','name','mail','grps'); + return $pwd; + } - msg('The '.$config_cascade['plainauth.users']['default']. - ' file is not writable. Please inform the Wiki-Admin',-1); - return null; + msg('The '.$config_cascade['plainauth.users']['default']. + ' file is not writable. Please inform the Wiki-Admin',-1); + return null; } /** @@ -122,78 +122,78 @@ class auth_plain extends auth_basic { * @return bool */ function modifyUser($user, $changes) { - global $conf; - global $ACT; - global $INFO; - global $config_cascade; - - // sanity checks, user must already exist and there must be something to change - if (($userinfo = $this->getUserData($user)) === false) return false; - if (!is_array($changes) || !count($changes)) return true; - - // update userinfo with new data, remembering to encrypt any password - $newuser = $user; - foreach ($changes as $field => $value) { - if ($field == 'user') { - $newuser = $value; - continue; + global $conf; + global $ACT; + global $INFO; + global $config_cascade; + + // sanity checks, user must already exist and there must be something to change + if (($userinfo = $this->getUserData($user)) === false) return false; + if (!is_array($changes) || !count($changes)) return true; + + // update userinfo with new data, remembering to encrypt any password + $newuser = $user; + foreach ($changes as $field => $value) { + if ($field == 'user') { + $newuser = $value; + continue; + } + if ($field == 'pass') $value = auth_cryptPassword($value); + $userinfo[$field] = $value; + } + + $groups = join(',',$userinfo['grps']); + $userline = join(':',array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; + + if (!$this->deleteUsers(array($user))) { + msg('Unable to modify user data. Please inform the Wiki-Admin',-1); + return false; + } + + if (!io_saveFile($config_cascade['plainauth.users']['default'],$userline,true)) { + msg('There was an error modifying your user data. You should register again.',-1); + // FIXME, user has been deleted but not recreated, should force a logout and redirect to login page + $ACT == 'register'; + return false; } - if ($field == 'pass') $value = auth_cryptPassword($value); - $userinfo[$field] = $value; - } - - $groups = join(',',$userinfo['grps']); - $userline = join(':',array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; - - if (!$this->deleteUsers(array($user))) { - msg('Unable to modify user data. Please inform the Wiki-Admin',-1); - return false; - } - - if (!io_saveFile($config_cascade['plainauth.users']['default'],$userline,true)) { - msg('There was an error modifying your user data. You should register again.',-1); - // FIXME, user has been deleted but not recreated, should force a logout and redirect to login page - $ACT == 'register'; - return false; - } - - $this->users[$newuser] = $userinfo; - return true; + + $this->users[$newuser] = $userinfo; + return true; } /** - * Remove one or more users from the list of registered users + * Remove one or more users from the list of registered users * - * @author Christopher Smith - * @param array $users array of users to be deleted - * @return int the number of users deleted + * @author Christopher Smith + * @param array $users array of users to be deleted + * @return int the number of users deleted */ function deleteUsers($users) { - global $config_cascade; + global $config_cascade; - if (!is_array($users) || empty($users)) return 0; + if (!is_array($users) || empty($users)) return 0; - if ($this->users === null) $this->_loadUserData(); + if ($this->users === null) $this->_loadUserData(); - $deleted = array(); - foreach ($users as $user) { - if (isset($this->users[$user])) $deleted[] = preg_quote($user,'/'); - } + $deleted = array(); + foreach ($users as $user) { + if (isset($this->users[$user])) $deleted[] = preg_quote($user,'/'); + } - if (empty($deleted)) return 0; + if (empty($deleted)) return 0; - $pattern = '/^('.join('|',$deleted).'):/'; + $pattern = '/^('.join('|',$deleted).'):/'; - if (io_deleteFromFile($config_cascade['plainauth.users']['default'],$pattern,true)) { - foreach ($deleted as $user) unset($this->users[$user]); - return count($deleted); - } + if (io_deleteFromFile($config_cascade['plainauth.users']['default'],$pattern,true)) { + foreach ($deleted as $user) unset($this->users[$user]); + return count($deleted); + } - // problem deleting, reload the user list and count the difference - $count = count($this->users); - $this->_loadUserData(); - $count -= count($this->users); - return $count; + // problem deleting, reload the user list and count the difference + $count = count($this->users); + $this->_loadUserData(); + $count -= count($this->users); + return $count; } /** @@ -203,18 +203,18 @@ class auth_plain extends auth_basic { */ function getUserCount($filter=array()) { - if($this->users === null) $this->_loadUserData(); + if($this->users === null) $this->_loadUserData(); - if (!count($filter)) return count($this->users); + if (!count($filter)) return count($this->users); - $count = 0; - $this->_constructPattern($filter); + $count = 0; + $this->_constructPattern($filter); - foreach ($this->users as $user => $info) { - $count += $this->_filter($user, $info); - } + foreach ($this->users as $user => $info) { + $count += $this->_filter($user, $info); + } - return $count; + return $count; } /** @@ -228,27 +228,27 @@ class auth_plain extends auth_basic { */ function retrieveUsers($start=0,$limit=0,$filter=array()) { - if ($this->users === null) $this->_loadUserData(); + if ($this->users === null) $this->_loadUserData(); - ksort($this->users); + ksort($this->users); - $i = 0; - $count = 0; - $out = array(); - $this->_constructPattern($filter); + $i = 0; + $count = 0; + $out = array(); + $this->_constructPattern($filter); - foreach ($this->users as $user => $info) { - if ($this->_filter($user, $info)) { - if ($i >= $start) { - $out[$user] = $info; - $count++; - if (($limit > 0) && ($count >= $limit)) break; - } - $i++; + foreach ($this->users as $user => $info) { + if ($this->_filter($user, $info)) { + if ($i >= $start) { + $out[$user] = $info; + $count++; + if (($limit > 0) && ($count >= $limit)) break; + } + $i++; + } } - } - return $out; + return $out; } /** @@ -275,26 +275,26 @@ class auth_plain extends auth_basic { * @author Andreas Gohr */ function _loadUserData(){ - global $config_cascade; + global $config_cascade; - $this->users = array(); + $this->users = array(); - if(!@file_exists($config_cascade['plainauth.users']['default'])) return; + if(!@file_exists($config_cascade['plainauth.users']['default'])) return; - $lines = file($config_cascade['plainauth.users']['default']); - foreach($lines as $line){ - $line = preg_replace('/#.*$/','',$line); //ignore comments - $line = trim($line); - if(empty($line)) continue; + $lines = file($config_cascade['plainauth.users']['default']); + foreach($lines as $line){ + $line = preg_replace('/#.*$/','',$line); //ignore comments + $line = trim($line); + if(empty($line)) continue; - $row = explode(":",$line,5); - $groups = array_values(array_filter(explode(",",$row[4]))); + $row = explode(":",$line,5); + $groups = array_values(array_filter(explode(",",$row[4]))); - $this->users[$row[0]]['pass'] = $row[1]; - $this->users[$row[0]]['name'] = urldecode($row[2]); - $this->users[$row[0]]['mail'] = $row[3]; - $this->users[$row[0]]['grps'] = $groups; - } + $this->users[$row[0]]['pass'] = $row[1]; + $this->users[$row[0]]['name'] = urldecode($row[2]); + $this->users[$row[0]]['mail'] = $row[3]; + $this->users[$row[0]]['grps'] = $groups; + } } /** @@ -317,11 +317,11 @@ class auth_plain extends auth_basic { } function _constructPattern($filter) { - $this->_pattern = array(); - foreach ($filter as $item => $pattern) { -// $this->_pattern[$item] = '/'.preg_quote($pattern,"/").'/i'; // don't allow regex characters - $this->_pattern[$item] = '/'.str_replace('/','\/',$pattern).'/i'; // allow regex characters - } + $this->_pattern = array(); + foreach ($filter as $item => $pattern) { + // $this->_pattern[$item] = '/'.preg_quote($pattern,"/").'/i'; // don't allow regex characters + $this->_pattern[$item] = '/'.str_replace('/','\/',$pattern).'/i'; // allow regex characters + } } } diff --git a/inc/cliopts.php b/inc/cliopts.php index 588f0bc6d..9cea686a2 100644 --- a/inc/cliopts.php +++ b/inc/cliopts.php @@ -6,7 +6,7 @@ * * Copyright (c) 1997-2004 The PHP Group * - * LICENSE: This source file is subject to the New BSD license that is + * LICENSE: This source file is subject to the New BSD license that is * available through the world-wide-web at the following URI: * http://www.opensource.org/licenses/bsd-license.php. If you did not receive * a copy of the New BSD License and are unable to obtain it through the web, @@ -297,9 +297,8 @@ class Doku_Cli_Opts { * @access private * @return bool */ - function _isShortOpt($arg) - { - return strlen($arg) == 2 && $arg[0] == '-' + function _isShortOpt($arg){ + return strlen($arg) == 2 && $arg[0] == '-' && preg_match('/[a-zA-Z]/', $arg[1]); } @@ -311,8 +310,7 @@ class Doku_Cli_Opts { * @access private * @return bool */ - function _isLongOpt($arg) - { + function _isLongOpt($arg){ return strlen($arg) > 2 && $arg[0] == '-' && $arg[1] == '-' && preg_match('/[a-zA-Z]+$/', substr($arg, 2)); } diff --git a/inc/common.php b/inc/common.php index 0c769c50d..0a75f2eab 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1290,14 +1290,14 @@ function dformat($dt=null,$format=''){ * * @author * @link http://www.php.net/manual/en/function.date.php#54072 + * @param int $int_date: current date in UNIX timestamp */ function date_iso8601($int_date) { - //$int_date: current date in UNIX timestamp - $date_mod = date('Y-m-d\TH:i:s', $int_date); - $pre_timezone = date('O', $int_date); - $time_zone = substr($pre_timezone, 0, 3).":".substr($pre_timezone, 3, 2); - $date_mod .= $time_zone; - return $date_mod; + $date_mod = date('Y-m-d\TH:i:s', $int_date); + $pre_timezone = date('O', $int_date); + $time_zone = substr($pre_timezone, 0, 3).":".substr($pre_timezone, 3, 2); + $date_mod .= $time_zone; + return $date_mod; } /** @@ -1558,10 +1558,14 @@ function valid_input_set($param, $valid_values, $array, $exc = '') { } } +/** + * Read a preference from the DokuWiki cookie + */ function get_doku_pref($pref, $default) { if (strpos($_COOKIE['DOKU_PREFS'], $pref) !== false) { $parts = explode('#', $_COOKIE['DOKU_PREFS']); - for ($i = 0; $i < count($parts); $i+=2){ + $cnt = count($parts); + for ($i = 0; $i < $cnt; $i+=2){ if ($parts[$i] == $pref) { return $parts[$i+1]; } diff --git a/inc/config_cascade.php b/inc/config_cascade.php index 443114f52..79567fc56 100644 --- a/inc/config_cascade.php +++ b/inc/config_cascade.php @@ -64,7 +64,7 @@ $config_cascade = array_merge( 'plainauth.users' => array( 'default' => DOKU_CONF.'users.auth.php', ), - + 'plugins' => array( 'local' => array(DOKU_CONF.'plugins.local.php'), 'protected' => array( diff --git a/inc/html.php b/inc/html.php index ef95aa11f..b233e1d92 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1141,8 +1141,6 @@ function html_diff($text='',$intro=true,$type=null){ $tdf = new TableDiffFormatter(); } - - if($intro) print p_locale_xhtml('diff'); if (!$text) { @@ -1165,7 +1163,6 @@ function html_diff($text='',$intro=true,$type=null){ $form->addElement(form_makeButton('submit', 'diff','Go')); $form->printForm(); - $diffurl = wl($ID, array( 'do' => 'diff', 'rev2[0]' => $l_rev, @@ -1703,8 +1700,6 @@ function html_resendpwd() { html_form('resendpwd', $form); print '

    '.NL; } - - } /** diff --git a/inc/indexer.php b/inc/indexer.php index 6766bec25..80d2651c2 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -291,7 +291,6 @@ class Doku_Indexer { $val_idx = array(); } - foreach ($values as $val) { $val = (string)$val; if ($val !== "") { diff --git a/inc/mail.php b/inc/mail.php index 01b2895e1..bec0c5b10 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -106,7 +106,7 @@ function _mail_send_action($data) { // discard mail request if no recipients are available if(trim($to) === '' && trim($cc) === '' && trim($bcc) === '') return false; - + // end additional code to support event ... original mail_send() code from here if(defined('MAILHEADER_ASCIIONLY')){ @@ -208,9 +208,9 @@ function mail_encode_address($string,$header='',$names=true){ if(!utf8_isASCII($text)){ // put the quotes outside as in =?UTF-8?Q?"Elan Ruusam=C3=A4e"?= vs "=?UTF-8?Q?Elan Ruusam=C3=A4e?=" if (preg_match('/^"(.+)"$/', $text, $matches)) { - $text = '"=?UTF-8?Q?'.mail_quotedprintable_encode($matches[1], 0).'?="'; + $text = '"=?UTF-8?Q?'.mail_quotedprintable_encode($matches[1], 0).'?="'; } else { - $text = '=?UTF-8?Q?'.mail_quotedprintable_encode($text, 0).'?='; + $text = '=?UTF-8?Q?'.mail_quotedprintable_encode($text, 0).'?='; } // additionally the space character should be encoded as =20 (or each // word QP encoded separately). diff --git a/inc/media.php b/inc/media.php index 66c531452..dd0193fa0 100644 --- a/inc/media.php +++ b/inc/media.php @@ -175,10 +175,10 @@ define('DOKU_MEDIA_EMPTY_NS', 8); * * @author Andreas Gohr * @return int One of: 0, - DOKU_MEDIA_DELETED, - DOKU_MEDIA_DELETED | DOKU_MEDIA_EMPTY_NS, - DOKU_MEDIA_NOT_AUTH, - DOKU_MEDIA_INUSE + * DOKU_MEDIA_DELETED, + * DOKU_MEDIA_DELETED | DOKU_MEDIA_EMPTY_NS, + * DOKU_MEDIA_NOT_AUTH, + * DOKU_MEDIA_INUSE */ function media_delete($id,$auth){ global $lang; diff --git a/inc/pageutils.php b/inc/pageutils.php index 151fa5987..db00258e2 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -213,9 +213,9 @@ function sectionID($title,&$check) { if(is_array($check)){ // make sure tiles are unique if (!array_key_exists ($title,$check)) { - $check[$title] = 0; + $check[$title] = 0; } else { - $title .= ++ $check[$title]; + $title .= ++ $check[$title]; } } @@ -347,8 +347,8 @@ function mediaFN($id, $rev=''){ if(empty($rev)){ $fn = $conf['mediadir'].'/'.utf8_encodeFN($id); }else{ - $ext = mimetype($id); - $name = substr($id,0, -1*strlen($ext[0])-1); + $ext = mimetype($id); + $name = substr($id,0, -1*strlen($ext[0])-1); $fn = $conf['mediaolddir'].'/'.utf8_encodeFN($name .'.'.( (int) $rev ).'.'.$ext[0]); } return $fn; diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 734331c94..208d7dae9 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -137,6 +137,7 @@ class Doku_Plugin_Controller { // the plugin was disabled by rc2009-01-26 // disabling mechanism was changed back very soon again // to keep everything simple we just skip the plugin completely + continue; } elseif (@file_exists(DOKU_PLUGIN.$plugin.'/disabled')) { // treat this as a default disabled plugin(over-rideable by the plugin manager) // deprecated 2011-09-10 (usage of disabled files) diff --git a/inc/template.php b/inc/template.php index 5733972f7..8ca6defeb 100644 --- a/inc/template.php +++ b/inc/template.php @@ -994,7 +994,7 @@ function tpl_img($maxwidth=0,$maxheight=0,$link=true,$params=null){ /** * Default action for TPL_IMG_DISPLAY */ -function _tpl_img_action($data, $param=NULL) { +function _tpl_img_action($data, $param=null) { global $lang; $p = buildAttributes($data['params']); diff --git a/inc/utf8.php b/inc/utf8.php index 9d0d17f78..54986e14e 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -526,7 +526,7 @@ if(!function_exists('utf8_decode_numeric')){ if(!class_exists('utf8_entity_decoder')){ class utf8_entity_decoder { var $table; - function utf8_entity_decoder() { + function __construct() { $table = get_html_translation_table(HTML_ENTITIES); $table = array_flip($table); $this->table = array_map(array(&$this,'makeutf8'), $table); -- cgit v1.2.3 From 053d9e5dfd8af184722ff762028c824de4c7858c Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Sun, 18 Mar 2012 14:43:27 +0100 Subject: Fixed call to new constructor name --- inc/HTTPClient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 62c3fde2f..26bee52a7 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -26,7 +26,7 @@ class DokuHTTPClient extends HTTPClient { global $conf; // call parent constructor - $this->HTTPClient(); + parent::__construct(); // set some values from the config $this->proxy_host = $conf['proxy']['host']; -- cgit v1.2.3 From 4ea1d54936a1d1e9b919e06639632bc2ac65f6d3 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 11:01:38 +0100 Subject: typo fixes --- inc/remote.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index c8af76420..fb095f517 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -92,7 +92,7 @@ class RemoteAPI { $plugin = plugin_load('remote', $pluginName); $methods = $this->getPluginMethods(); if (!$plugin) { - throw new RemoteException('Method dose not exists', -32603); + throw new RemoteException('Method does not exist', -32603); } $this->checkAccess($methods[$method]); $name = $this->getMethodName($methods, $method); @@ -103,7 +103,7 @@ class RemoteAPI { $coreMethods = $this->getCoreMethods(); $this->checkAccess($coreMethods[$method]); if (!isset($coreMethods[$method])) { - throw new RemoteException('Method dose not exists', -32603); + throw new RemoteException('Method does not exist', -32603); } $this->checkArgumentLength($coreMethods[$method], $args); return call_user_func_array(array($this->coreMethods, $this->getMethodName($coreMethods, $method)), $args); @@ -121,7 +121,7 @@ class RemoteAPI { private function checkArgumentLength($method, $args) { if (count($method['args']) < count($args)) { - throw new RemoteException('Method dose not exists - wrong parameter count.', -32603); + throw new RemoteException('Method does not exist - wrong parameter count.', -32603); } } @@ -173,7 +173,7 @@ class RemoteAPI { foreach ($plugins as $pluginName) { $plugin = plugin_load('remote', $pluginName); if (!is_subclass_of($plugin, 'DokuWiki_Remote_Plugin')) { - throw new RemoteException("Plugin $pluginName dose not implement DokuWiki_Remote_Plugin"); + throw new RemoteException("Plugin $pluginName does not implement DokuWiki_Remote_Plugin"); } $methods = $plugin->_getMethods(); -- cgit v1.2.3 From c2eb026d070a5ba9ba1ee8754c3a862a026a7ea8 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 11:04:12 +0100 Subject: changed error code for unauthorized method calls. --- inc/remote.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index fb095f517..b4cc8e6cc 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -158,7 +158,7 @@ class RemoteAPI { */ public function forceAccess() { if (!$this->hasAccess()) { - throw new RemoteAccessDeniedException('server error. not authorized to call method', -32603); + throw new RemoteAccessDeniedException('server error. not authorized to call method', -32604); } } -- cgit v1.2.3 From 96946cc94d3ecb3832e2a1ce35c49743e25329e1 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 11:25:00 +0100 Subject: replaced $HTTP_RAW_POST_DATA with http_get_raw_post_data function --- inc/IXR_Library.php | 7 ++++--- inc/httputils.php | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index c8255e6d9..ce5a4d914 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -302,11 +302,12 @@ class IXR_Server { } function serve($data = false) { if (!$data) { - global $HTTP_RAW_POST_DATA; - if (!$HTTP_RAW_POST_DATA) { + + $postData = trim(http_get_raw_post_data()); + if (!$postData) { die('XML-RPC server accepts POST requests only.'); } - $data = $HTTP_RAW_POST_DATA; + $data = $postData; } $this->message = new IXR_Message($data); if (!$this->message->parse()) { diff --git a/inc/httputils.php b/inc/httputils.php index 0ad97a9a1..b815f3ca6 100644 --- a/inc/httputils.php +++ b/inc/httputils.php @@ -249,3 +249,11 @@ function http_cached_finish($file, $content) { print $content; } } + +function http_get_raw_post_data() { + static $postData = null; + if ($postData === null) { + $postData = file_get_contents('php://input'); + } + return $postData; +} -- cgit v1.2.3 From 7c35ac36c1dea2d6f26d8184dcbf1fe5afae59ac Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 13:15:18 +0100 Subject: added RPC_CALL_ADD event. This event enables plugins to register custom method names. --- inc/remote.php | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index b4cc8e6cc..089a5f7d4 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -35,8 +35,6 @@ class RemoteAccessDeniedException extends RemoteException {} * plugin methods are formed like 'plugin..'. * i.e.: plugin.clock.getTime or plugin.clock_gmt.getTime * - * - * * @throws RemoteException */ class RemoteAPI { @@ -52,6 +50,14 @@ class RemoteAPI { */ private $pluginMethods = null; + /** + * @var array contains custom calls to the api. Plugins can use the XML_CALL_REGISTER event. + * The data inside is 'custom.call.something' => array('plugin name', 'remote method name') + * + * The remote method name is the same as in the remote name returned by _getMethods(). + */ + private $pluginCustomCalls = null; + private $dateTransformation; private $fileTransformation; @@ -83,9 +89,34 @@ class RemoteAPI { list($type, $pluginName, $call) = explode('.', $method, 3); if ($type === 'plugin') { return $this->callPlugin($pluginName, $method, $args); - } else { + } + if ($this->coreMethodExist($method)) { return $this->callCoreMethod($method, $args); } + return $this->callCustomCallPlugin($method, $args); + } + + private function coreMethodExist($name) { + $coreMethods = $this->getCoreMethods(); + return array_key_exists($name, $coreMethods); + } + + private function callCustomCallPlugin($method, $args) { + $customCalls = $this->getCustomCallPlugins(); + if (!array_key_exists($method, $customCalls)) { + throw new RemoteException('Method does not exist', -32603); + } + $customCall = $customCalls[$method]; + return $this->callPlugin($customCall[0], $customCall[1], $args); + } + + private function getCustomCallPlugins() { + if ($this->pluginCustomCalls === null) { + $data = array(); + trigger_event('RPC_CALL_ADD', $data); + $this->pluginCustomCalls = $data; + } + return $this->pluginCustomCalls; } private function callPlugin($pluginName, $method, $args) { -- cgit v1.2.3 From 895122581107d99070522a1b5121f01e69d8a4de Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 13:33:00 +0100 Subject: added dokuwiki.getXMLRPCAPIVersion and wiki.getRPCVersionSupported --- inc/RemoteAPICore.php | 99 ++++++++++++++++++--------------------------------- 1 file changed, 35 insertions(+), 64 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index d525b17e0..38f7072ad 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -20,25 +20,17 @@ class RemoteAPICore { 'return' => 'string', 'doc' => 'Returns the running DokuWiki version.' ), 'dokuwiki.login' => array( - 'args' => array( - 'username' => 'string', - 'password' => 'string' - ), + 'args' => array('string', 'string'), 'return' => 'int', 'doc' => 'Tries to login with the given credentials and sets auth cookies.', 'public' => '1' ), 'dokuwiki.getPagelist' => array( - 'args' => array( - 'namespace' => 'string', - 'options' => 'array' - ), + 'args' => array('string', 'array'), 'return' => 'array', 'doc' => 'List all pages within the given namespace.', 'name' => 'readNamespace' ), 'dokuwiki.search' => array( - 'args' => array( - 'search' => 'string' - ), + 'args' => array('string'), 'return' => 'array', 'doc' => 'Perform a fulltext search and return a list of matching pages' ), 'dokuwiki.getTime' => array( @@ -46,7 +38,7 @@ class RemoteAPICore { 'return' => 'int', 'doc' => 'Returns the current time at the remote wiki server as Unix timestamp.', ), 'dokuwiki.setLocks' => array( - 'args' => array('lock' => 'array'), + 'args' => array('array'), 'return' => 'array', 'doc' => 'Lock or unlock pages.' ), 'dokuwiki.getTitle' => array( @@ -54,40 +46,26 @@ class RemoteAPICore { 'return' => 'string', 'doc' => 'Returns the wiki title.' ), 'dokuwiki.appendPage' => array( - 'args' => array( - 'pagename' => 'string', - 'rawWikiText' => 'string', - 'attrs' => 'array' - ), + 'args' => array('string', 'string', 'array'), 'return' => 'int', 'doc' => 'Append text to a wiki page.' ), 'wiki.getPage' => array( - 'args' => array( - 'id' => 'string' - ), + 'args' => array('string'), 'return' => 'string', 'doc' => 'Get the raw Wiki text of page, latest version.', 'name' => 'rawPage', ), 'wiki.getPageVersion' => array( - 'args' => array( - 'id' => 'string', - 'rev' => 'int', - ), + 'args' => array('string', 'int'), 'name' => 'rawPage', 'return' => 'string', 'doc' => 'Return a raw wiki page' ), 'wiki.getPageHTML' => array( - 'args' => array( - 'id' => 'string' - ), + 'args' => array('string'), 'return' => 'string', 'doc' => 'Return page in rendered HTML, latest version.', 'name' => 'htmlPage' ), 'wiki.getPageHTMLVersion' => array( - 'args' => array( - 'id' => 'string', - 'rev' => 'int' - ), + 'args' => array('string', 'int'), 'return' => 'string', 'doc' => 'Return page in rendered HTML.', 'name' => 'htmlPage' @@ -97,86 +75,79 @@ class RemoteAPICore { 'doc' => 'Returns a list of all pages. The result is an array of utf8 pagenames.', 'name' => 'listPages' ), 'wiki.getAttachments' => array( - 'args' => array( - 'namespace' => 'string', - 'options' => 'array' - ), + 'args' => array('string', 'array'), 'return' => 'array', 'doc' => 'Returns a list of all media files.', 'name' => 'listAttachments' ), 'wiki.getBackLinks' => array( - 'args' => array( - 'id' => 'string' - ), + 'args' => array('string'), 'return' => 'array', 'doc' => 'Returns the pages that link to this page.', 'name' => 'listBackLinks' ), 'wiki.getPageInfo' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'return' => 'array', 'doc' => 'Returns a struct with infos about the page.', 'name' => 'pageInfo' ), 'wiki.getPageInfoVersion' => array( - 'args' => array( - 'id' => 'string', - 'version' => 'int', - ), + 'args' => array('string', 'int'), 'return' => 'array', 'doc' => 'Returns a struct with infos about the page.', 'name' => 'pageInfo' ), 'wiki.getPageVersions' => array( - 'args' => array( - 'id' => 'string', - 'offset' => 'int' - ), + 'args' => array('string', 'int'), 'return' => 'array', 'doc' => 'Returns the available revisions of the page.', 'name' => 'pageVersions' ), 'wiki.putPage' => array( - 'args' => array( - 'id' => 'string', - 'rawText' => 'string', - 'attrs' => 'array' - ), + 'args' => array('string', 'string', 'array'), 'return' => 'int', 'doc' => 'Saves a wiki page.' ), 'wiki.listLinks' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'return' => 'array', 'doc' => 'Lists all links contained in a wiki page.' ), 'wiki.getRecentChanges' => array( - 'args' => array('timestamp' => 'int'), + 'args' => array('int'), 'return' => 'array', 'Returns a struct about all recent changes since given timestamp.' ), 'wiki.getRecentMediaChanges' => array( - 'args' => array('timestamp' => 'int'), + 'args' => array('int'), 'return' => 'array', 'Returns a struct about all recent media changes since given timestamp.' ), 'wiki.aclCheck' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'return' => 'int', 'doc' => 'Returns the permissions of a given wiki page.' ), 'wiki.putAttachment' => array( - 'args' => array( - 'id' => 'string', - 'data' => 'file', - 'params' => 'array' - ), + 'args' => array('string', 'file', 'array'), 'return' => 'array', 'doc' => 'Upload a file to the wiki.' ), 'wiki.deleteAttachment' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'return' => 'int', 'doc' => 'Delete a file from the wiki.' ), 'wiki.getAttachment' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'doc' => 'Return a media file', 'return' => 'file', 'name' => 'getAttachment', ), 'wiki.getAttachmentInfo' => array( - 'args' => array('id' => 'string'), + 'args' => array('string'), 'return' => 'array', 'doc' => 'Returns a struct with infos about the attachment.' + ), 'dokuwiki.getXMLRPCAPIVersion' => array( + 'args' => array(), + 'name' => 'getAPIVersion', + 'return' => 'int', + 'doc' => 'Returns the XMLRPC API version.', + 'public' => '1', + ), 'wiki.getRPCVersionSupported' => array( + 'args' => array(), + 'name' => 'wiki_RPCVersion', + 'return' => 'int', + 'doc' => 'Returns 2 with the supported RPC API version.', + 'public' => '1' ), ); -- cgit v1.2.3 From 418431a22a4a8f9d62e60e1d8eaa9bcf321377ce Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 21 Mar 2012 13:34:19 +0100 Subject: updated comment --- inc/remote.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/remote.php b/inc/remote.php index 089a5f7d4..0347bd900 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -19,7 +19,7 @@ class RemoteAccessDeniedException extends RemoteException {} * array( * 'method.remoteName' => array( * 'args' => array( - * 'name' => 'type eg. string|int|...|date|file', + * 'type eg. string|int|...|date|file', * ) * 'name' => 'method name in class', * 'return' => 'type', -- cgit v1.2.3 From 37e579189fae39899d3856598affa31dfd39328b Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 22 Mar 2012 12:04:56 +0100 Subject: removed require_once for autoloaded fulltext.php --- inc/RemoteAPICore.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 38f7072ad..450c6f39e 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -278,8 +278,6 @@ class RemoteAPICore { * List all pages in the given namespace (and below) */ function search($query){ - require_once(DOKU_INC.'inc/fulltext.php'); - $regex = ''; $data = ft_pageSearch($query,$regex); $pages = array(); -- cgit v1.2.3 From b967e5fc8fd93226eba7926c13b73b93878f182b Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 22 Mar 2012 12:11:31 +0100 Subject: removed requires, changed conf check in xmlrpc.php --- inc/load.php | 1 + inc/remote.php | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/load.php b/inc/load.php index 3f1f3429f..f3ab5bcdd 100644 --- a/inc/load.php +++ b/inc/load.php @@ -77,6 +77,7 @@ function load_autoload($name){ 'Sitemapper' => DOKU_INC.'inc/Sitemapper.php', 'PassHash' => DOKU_INC.'inc/PassHash.class.php', 'RemoteAPI' => DOKU_INC.'inc/remote.php', + 'RemoteAPICore' => DOKU_INC.'inc/RemoteAPICore.php', 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', diff --git a/inc/remote.php b/inc/remote.php index 0347bd900..2ef28afd2 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -1,7 +1,6 @@ Date: Fri, 23 Mar 2012 08:16:38 +0100 Subject: use correct call to parent constructor in IXR lib --- inc/IXR_Library.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index c8255e6d9..80b534b2e 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -501,7 +501,7 @@ class IXR_Client extends DokuHTTPClient { var $xmlerror = false; function IXR_Client($server, $path = false, $port = 80) { - $this->DokuHTTPClient(); + parent::__construct(); if (!$path) { // Assume we have been given a URL instead $this->posturl = $server; -- cgit v1.2.3 From 8ae0948568a6c6944e475c0d6133776d0256940f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 23 Mar 2012 10:48:38 +0100 Subject: fix for putAttachment --- inc/RemoteAPICore.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 450c6f39e..d8d4d5b7b 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -471,7 +471,7 @@ class RemoteAPICore { // save temporary file @unlink($ftmp); - io_saveFile($ftmp, $file->getValue()); + io_saveFile($ftmp, $file); $res = media_save(array('name' => $ftmp), $id, $params['ow'], $auth, 'rename'); if (is_array($res)) { -- cgit v1.2.3 From ee9b1ae4b3919f79050bb3c4478203d648810645 Mon Sep 17 00:00:00 2001 From: Taisuke Shimamoto Date: Fri, 23 Mar 2012 11:07:23 +0100 Subject: Japanese language update --- inc/lang/ja/lang.php | 8 ++++++++ inc/lang/ja/resetpwd.txt | 3 +++ 2 files changed, 11 insertions(+) create mode 100644 inc/lang/ja/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 94fa71f1b..057fa5a54 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -7,6 +7,7 @@ * @author Ikuo Obataya * @author Daniel Dupriest * @author Kazutaka Miyasaka + * @author Taisuke Shimamoto */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -42,6 +43,7 @@ $lang['btn_backtomedia'] = 'メディアファイル選択に戻る'; $lang['btn_subscribe'] = '変更履歴配信の登録'; $lang['btn_profile'] = 'ユーザー情報の更新'; $lang['btn_reset'] = 'リセット'; +$lang['btn_resendpwd'] = '新しいパスワードをセット'; $lang['btn_draft'] = 'ドラフトを編集'; $lang['btn_recover'] = 'ドラフトを復元'; $lang['btn_draftdel'] = 'ドラフトを削除'; @@ -78,6 +80,7 @@ $lang['profnoempty'] = 'ユーザー名とメールアドレスを入 $lang['profchanged'] = 'ユーザー情報は更新されました。'; $lang['pwdforget'] = 'パスワードをお忘れですか?パスワード再発行'; $lang['resendna'] = 'パスワードの再発行は出来ません。'; +$lang['resendpwd'] = '新しいパスワードをセット'; $lang['resendpwdmissing'] = '全ての項目を入力して下さい。'; $lang['resendpwdnouser'] = '入力されたユーザーが見つかりませんでした。'; $lang['resendpwdbadauth'] = '申し訳ありません。この確認コードは有効ではありません。メール内に記載されたリンクを確認してください。'; @@ -183,6 +186,11 @@ $lang['external_edit'] = '外部編集'; $lang['summary'] = '編集の概要'; $lang['noflash'] = 'この内容を表示するためには Adobe Flash Plugin が必要です。'; $lang['download'] = 'この部分をダウンロード'; +$lang['tools'] = 'ツール'; +$lang['user_tools'] = 'ユーザ用ツール'; +$lang['site_tools'] = 'サイト用ツール'; +$lang['page_tools'] = 'ページ用ツール'; +$lang['skip_to_content'] = '内容へ移動'; $lang['mail_newpage'] = '文書の追加:'; $lang['mail_changed'] = '文書の変更:'; $lang['mail_subscribe_list'] = '名前空間内でページが変更:'; diff --git a/inc/lang/ja/resetpwd.txt b/inc/lang/ja/resetpwd.txt new file mode 100644 index 000000000..a414af991 --- /dev/null +++ b/inc/lang/ja/resetpwd.txt @@ -0,0 +1,3 @@ +====== 新しいパスワードをセット ====== + +このWikiでの、あなたのアカウント用の新しいパスワードを入力して下さい \ No newline at end of file -- cgit v1.2.3 From 9d421a3d3c1411a47d49f43cfc1f798f6a96ab8c Mon Sep 17 00:00:00 2001 From: Erial Krale Date: Mon, 26 Mar 2012 20:44:07 +0200 Subject: Korean language update --- inc/lang/ko/lang.php | 3 +++ inc/lang/ko/resetpwd.txt | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 inc/lang/ko/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index 9be5df4b7..84fdb3c48 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -44,6 +44,7 @@ $lang['btn_backtomedia'] = '미디어 파일 선택으로 돌아가기'; $lang['btn_subscribe'] = '구독 신청'; $lang['btn_profile'] = '개인정보 변경'; $lang['btn_reset'] = '초기화'; +$lang['btn_resendpwd'] = '새 암호 설정'; $lang['btn_draft'] = '문서초안 편집'; $lang['btn_recover'] = '문서초안 복구'; $lang['btn_draftdel'] = '문서초안 삭제'; @@ -80,6 +81,7 @@ $lang['profnoempty'] = '이름이나 이메일 주소가 비었습니 $lang['profchanged'] = '개인정보 변경이 성공했습니다.'; $lang['pwdforget'] = '패스워드를 잊어버린 경우 새로 발급받을 수 있습니다.'; $lang['resendna'] = '이 위키는 패스워드 재발급을 지원하지 않습니다.'; +$lang['resendpwd'] = '새 암호 다음으로 전송 : '; $lang['resendpwdmissing'] = '새로운 패스워드를 입력해야햡니다.'; $lang['resendpwdnouser'] = '등록된 사용자가 아닙니다. 다시 확인 바랍니다.'; $lang['resendpwdbadauth'] = '인증 코드가 틀립니다. 잘못된 링크인지 확인 바랍니다.'; @@ -261,6 +263,7 @@ $lang['subscr_style_digest'] = '각 페이지의 변화를 요약 (매 %.2f $lang['subscr_style_list'] = '마지막 이메일 이후 변화된 페이지의 목록 (매 %.2f 일 마다)'; $lang['authmodfailed'] = '잘못된 사용자 인증 설정입니다. 관리자에게 문의하기 바랍니다.'; $lang['authtempfail'] = '사용자 인증이 일시적으로 불가능합니다. 만일 계속해서 문제가 발생하면 관리자에게 문의하기 바랍니다.'; +$lang['authpwdexpire'] = '현재 암호를 설정하신지 %d 일이 지났습니다. 새로 설정해주시기 바랍니다.'; $lang['i_chooselang'] = '사용하는 언어를 선택합니다.'; $lang['i_installer'] = 'DokuWiki 설치'; $lang['i_wikiname'] = '위키 이름'; diff --git a/inc/lang/ko/resetpwd.txt b/inc/lang/ko/resetpwd.txt new file mode 100644 index 000000000..b84674b82 --- /dev/null +++ b/inc/lang/ko/resetpwd.txt @@ -0,0 +1,3 @@ +====== 새 암호 설정 ====== + +이 위키의 계정의 새 암호를 입력해주세요. \ No newline at end of file -- cgit v1.2.3 From 51b120f658e9d28fa503e2adf78771e1abfc4d35 Mon Sep 17 00:00:00 2001 From: Kiril LastName Date: Tue, 3 Apr 2012 22:58:41 +0300 Subject: BG: language update --- inc/lang/bg/lang.php | 72 +++++++++++++++++++++++++++++++++++++----------- inc/lang/bg/resetpwd.txt | 4 +++ 2 files changed, 60 insertions(+), 16 deletions(-) create mode 100644 inc/lang/bg/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 04000d10e..7a246024d 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -9,11 +9,12 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '“'; -$lang['doublequoteclosing'] = '”'; -$lang['singlequoteopening'] = '‘'; -$lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '’'; +$lang['doublequoteopening'] = '“'; //“ +$lang['doublequoteclosing'] = '”'; //” +$lang['singlequoteopening'] = '‘'; //‘ +$lang['singlequoteclosing'] = '’'; //’ +$lang['apostrophe'] = '’'; //’ + $lang['btn_edit'] = 'Редактиране'; $lang['btn_source'] = 'Преглед на кода'; $lang['btn_show'] = 'Преглед на страницата'; @@ -41,13 +42,15 @@ $lang['btn_backtomedia'] = 'Назад към избора на файл'; $lang['btn_subscribe'] = 'Абонаменти'; $lang['btn_profile'] = 'Профил'; $lang['btn_reset'] = 'Изчистване'; -$lang['btn_draft'] = 'Редактиране на чернова'; -$lang['btn_recover'] = 'Възстановяване на чернова'; -$lang['btn_draftdel'] = 'Изтриване на чернова'; +$lang['btn_resendpwd'] = 'Задаване на нова парола'; +$lang['btn_draft'] = 'Редактиране на черновата'; +$lang['btn_recover'] = 'Възстановяване на черновата'; +$lang['btn_draftdel'] = 'Изтриване на черновата'; $lang['btn_revert'] = 'Възстановяване'; $lang['btn_register'] = 'Регистриране'; $lang['btn_apply'] = 'Прилагане'; $lang['btn_media'] = 'Диспечер на файлове'; + $lang['loggedinas'] = 'Вписани сте като'; $lang['user'] = 'Потребител'; $lang['pass'] = 'Парола'; @@ -59,9 +62,10 @@ $lang['fullname'] = 'Истинско име'; $lang['email'] = 'Електронна поща'; $lang['profile'] = 'Потребителски профил'; $lang['badlogin'] = 'Грешно потребителско име или парола.'; -$lang['minoredit'] = 'Незначителни промени'; -$lang['draftdate'] = 'Черновата е автоматично записана на'; +$lang['minoredit'] = 'Промените са незначителни'; +$lang['draftdate'] = 'Черновата е автоматично записана на'; // full dformat date will be added $lang['nosecedit'] = 'Страницата бе междувременно променена, презареждане на страницата поради неактуална информация.'; + $lang['regmissing'] = 'Моля, попълнете всички полета.'; $lang['reguexists'] = 'Вече съществува потребител с избраното име.'; $lang['regsuccess'] = 'Потребителят е създаден, а паролата е пратена по електронната поща.'; @@ -71,19 +75,24 @@ $lang['regbadmail'] = 'Въведеният адрес изглежд $lang['regbadpass'] = 'Двете въведени пароли не съвпадат, моля опитайте отново.'; $lang['regpwmail'] = 'Паролата ви за DokuWiki'; $lang['reghere'] = 'Все още нямате профил? Направете си'; + $lang['profna'] = 'Wiki-то не поддържа промяна на профила'; $lang['profnochange'] = 'Няма промени.'; $lang['profnoempty'] = 'Въвеждането на име и ел. поща е задължително'; $lang['profchanged'] = 'Потребителският профил е обновен успешно.'; + $lang['pwdforget'] = 'Забравили сте паролата си? Получете нова'; $lang['resendna'] = 'Wiki-то не поддържа повторно пращане на паролата.'; +$lang['resendpwd'] = 'Задаване на нова парола за'; $lang['resendpwdmissing'] = 'Моля, попълнете всички полета.'; $lang['resendpwdnouser'] = 'Потребителят не е намерен в базата от данни.'; $lang['resendpwdbadauth'] = 'Кодът за потвърждение е невалиден. Проверете дали сте използвали целия линк за потвърждение.'; $lang['resendpwdconfirm'] = 'Линк за потвърждение е пратен по електронната поща.'; $lang['resendpwdsuccess'] = 'Новата ви паролата е пратена по електронната поща.'; + $lang['license'] = 'Ако не е посочено друго, съдържанието на Wiki-то е лицензирано под следния лиценз:'; -$lang['licenseok'] = 'Бележка: Редактирайки страницата, вие се съгласявате да лицензирате промените (които сте направили) под следния лиценз:'; +$lang['licenseok'] = 'Бележка: Редактирайки страницата, Вие се съгласявате да лицензирате промените (които сте направили) под следния лиценз:'; + $lang['searchmedia'] = 'Търсене на файл: '; $lang['searchmedia_in'] = 'Търсене в %s'; $lang['txt_upload'] = 'Изберете файл за качване'; @@ -91,6 +100,7 @@ $lang['txt_filename'] = 'Качи като (незадължителн $lang['txt_overwrt'] = 'Презапиши съществуващите файлове'; $lang['lockedby'] = 'В момента е заключена от'; $lang['lockexpire'] = 'Ще бъде отключена на'; + $lang['js']['willexpire'] = 'Страницата ще бъде отключена за редактиране след минута.\nЗа предотвратяване на конфликти, ползвайте бутона "Преглед", за рестартиране на брояча за заключване.'; $lang['js']['notsavedyet'] = 'Незаписаните промени ще бъдат загубени. Желаете ли да продължите?'; $lang['js']['searchmedia'] = 'Търсене на файлове'; @@ -117,8 +127,7 @@ $lang['js']['medialeft'] = 'Подреди изображението от $lang['js']['mediaright'] = 'Подреди изображението отдясно.'; $lang['js']['mediacenter'] = 'Подреди изображението по средата.'; $lang['js']['medianoalign'] = 'Без подреждане.'; -$lang['js']['nosmblinks'] = 'Връзките към Windows shares работят само под Internet Explorer. -Можете да копирате и поставите връзката.'; +$lang['js']['nosmblinks'] = 'Връзките към Windows shares работят само под Internet Explorer.
    Можете да копирате и поставите връзката.'; $lang['js']['linkwiz'] = 'Помощник за препратки'; $lang['js']['linkto'] = 'Препратка към: '; $lang['js']['del_confirm'] = 'Да бъдат ли изтрити избраните елементи?'; @@ -133,8 +142,10 @@ $lang['js']['media_done_btn'] = 'Готово'; $lang['js']['media_drop'] = 'Влачете и пуснете файливе тук, за да бъдат качени'; $lang['js']['media_cancel'] = 'премахване'; $lang['js']['media_overwrt'] = 'Презапиши съществуващите файлове'; + $lang['rssfailed'] = 'Възникна грешка при получаването на емисията: '; $lang['nothingfound'] = 'Нищо не е открито.'; + $lang['mediaselect'] = 'Файлове'; $lang['fileupload'] = 'Качване на файлове'; $lang['uploadsucc'] = 'Качването е успешно'; @@ -159,6 +170,7 @@ $lang['mediaextchange'] = 'Разширението на файла е с $lang['reference'] = 'Връзки за'; $lang['ref_inuse'] = 'Файлът не може да бъде изтрит, защото все още се ползва от следните страници:'; $lang['ref_hidden'] = 'Някои връзки са към страници, които нямате права да четете'; + $lang['hits'] = 'Съвпадения'; $lang['quickhits'] = 'Съвпадащи имена на страници'; $lang['toc'] = 'Съдържание'; @@ -182,15 +194,23 @@ $lang['external_edit'] = 'външна редакция'; $lang['summary'] = 'Обобщение'; $lang['noflash'] = 'Необходим е Adobe Flash Plugin за изобразяване на съдържанието.'; $lang['download'] = 'Изтегляне на фрагмент'; +$lang['tools'] = 'Инструменти'; +$lang['user_tools'] = 'Инструменти за потребители'; +$lang['site_tools'] = 'Инструменти за сайта'; +$lang['page_tools'] = 'Инструменти за страници'; +$lang['skip_to_content'] = 'към съдържанието'; + $lang['mail_newpage'] = 'добавена страница: '; $lang['mail_changed'] = 'променена страница: '; $lang['mail_subscribe_list'] = 'променени страници в именно пространство: '; $lang['mail_new_user'] = 'нов потребител: '; $lang['mail_upload'] = 'качен файл: '; + $lang['changes_type'] = 'Преглед на променените'; $lang['pages_changes'] = 'Страници'; $lang['media_changes'] = 'Файлове'; $lang['both_changes'] = 'Страници и файлове'; + $lang['qb_bold'] = 'Удебелен текст'; $lang['qb_italic'] = 'Курсив текст'; $lang['qb_underl'] = 'Подчертан текст'; @@ -215,8 +235,11 @@ $lang['qb_media'] = 'Добавяне на изображения $lang['qb_sig'] = 'Вмъкване на подпис'; $lang['qb_smileys'] = 'Усмивчици'; $lang['qb_chars'] = 'Специални знаци'; + $lang['upperns'] = 'към майчиното именно пространство'; + $lang['admin_register'] = 'Добавяне на нов потребител'; + $lang['metaedit'] = 'Редактиране на метаданни'; $lang['metasaveerr'] = 'Записването на метаданните се провали'; $lang['metasaveok'] = 'Метаданните са запазени успешно'; @@ -234,6 +257,7 @@ $lang['img_keywords'] = 'Ключови думи'; $lang['img_width'] = 'Ширина'; $lang['img_height'] = 'Височина'; $lang['img_manager'] = 'Преглед в диспечера на файлове'; + $lang['subscr_subscribe_success'] = '%s е добавен към списъка с абониралите се за %s'; $lang['subscr_subscribe_error'] = 'Грешка при добавянето на %s към списъка с абониралите се за %s'; $lang['subscr_subscribe_noaddress'] = 'Добавянето ви към списъка с абонати не е възможно поради липсата на свързан адрес (на ел. поща) с профила ви.'; @@ -241,6 +265,7 @@ $lang['subscr_unsubscribe_success'] = '%s е премахнат от списъ $lang['subscr_unsubscribe_error'] = 'Грешка при премахването на %s от списъка с абониралите се за %s'; $lang['subscr_already_subscribed'] = '%s е вече абониран за %s'; $lang['subscr_not_subscribed'] = '%s не е абониран за %s'; +// Manage page for subscriptions $lang['subscr_m_not_subscribed'] = 'Не сте абониран за текущата страницата или именно пространство.'; $lang['subscr_m_new_header'] = 'Добави абонамент'; $lang['subscr_m_current_header'] = 'Текущи абонаменти'; @@ -250,15 +275,22 @@ $lang['subscr_m_receive'] = 'Получаване'; $lang['subscr_style_every'] = 'на ел. писмо при всяка промяна'; $lang['subscr_style_digest'] = 'на ел. писмо с обобщение на промените във всяка страница (всеки %.2f дни)'; $lang['subscr_style_list'] = 'на списък с променените страници от последното ел. писмо (всеки %.2f дни)'; + +/* auth.class language support */ $lang['authmodfailed'] = 'Лоша настройки за удостоверяване. Моля, уведомете администратора на Wiki страницата.'; $lang['authtempfail'] = 'Удостоверяването на потребители не е възможно за момента. Ако продължи дълго, моля уведомете администратора на Wiki страницата.'; +$lang['authpwdexpire'] = 'Срока на паролата ви ще изтече след %d дни. Препорачително е да я смените по-скоро.'; + +/* installer strings */ $lang['i_chooselang'] = 'Изберете вашия изик'; $lang['i_installer'] = 'Инсталатор на DokuWiki'; $lang['i_wikiname'] = 'Име на Wiki-то'; $lang['i_enableacl'] = 'Ползване на списък за достъп (ACL) [препоръчително]'; $lang['i_superuser'] = 'Супер потребител'; $lang['i_problems'] = 'Открити са проблеми, които възпрепятстват инсталирането. Ще можете да продължите след като отстраните долуизброените проблеми.'; -$lang['i_modified'] = 'Поради мерки за сигурност инсталаторът работи само с нови и непроменени инсталационни файлове. Трябва да разархивирате отново файловете от сваления архив или да се посъветвате с Инструкциите за инсталиране на Dokuwiki.'; +$lang['i_modified'] = 'Поради мерки за сигурност инсталаторът работи само с нови и непроменени инсталационни файлове. + Трябва да разархивирате отново файловете от сваления архив или да се посъветвате с Инструкциите за инсталиране на Dokuwiki.'; + $lang['i_funcna'] = 'PHP функцията %s не е достъпна. Може би е забранена от доставчика на хостинг.'; $lang['i_phpver'] = 'Инсталираната версия %s на PHP е по-стара от необходимата %s. Актуализирайте PHP инсталацията.'; $lang['i_permfail'] = '%s не е достъпна за писане от DokuWiki. Трябва да промените правата за достъп до директорията!'; @@ -267,13 +299,16 @@ $lang['i_writeerr'] = '%s не можа да бъде с $lang['i_badhash'] = 'Файлът dokuwiki.php не може да бъде разпознат или е променен (hash=%s)'; $lang['i_badval'] = '%s - непозволена или празна стойност'; $lang['i_success'] = 'Настройването приключи успешно. Вече можете да изтриете файла install.php. Продължете към Вашето ново DokuWiki.'; -$lang['i_failure'] = 'Възникнаха грешки при записването на файловете с настройки. Вероятно ще се наложи да ги поправите ръчно, за да можете да ползвате Вашето ново DokuWiki.'; + +$lang['i_failure'] = 'Възникнаха грешки при записването на файловете с настройки. Вероятно ще се наложи да ги поправите ръчно, + за да можете да ползвате Вашето ново DokuWiki.'; $lang['i_policy'] = 'Първоначална политика за достъп'; $lang['i_pol0'] = 'Отворено Wiki (всеки може да чете, пише и качва)'; $lang['i_pol1'] = 'Публично Wiki (всеки може да чете, само регистрирани пишат и качват)'; $lang['i_pol2'] = 'Затворено Wiki (само регистрирани четат, пишат и качват)'; $lang['i_retry'] = 'Повторен опит'; $lang['i_license'] = 'Моля, изберете лиценз под който желаете да публикувате съдържанието:'; + $lang['recent_global'] = 'В момента преглеждате промените в именно пространство %s. Може да прегледате и промените в цялото Wiki.'; $lang['years'] = 'преди %d години'; $lang['months'] = 'преди %d месеца'; @@ -282,7 +317,9 @@ $lang['days'] = 'преди %d дни'; $lang['hours'] = 'преди %d часа'; $lang['minutes'] = 'преди %d минути'; $lang['seconds'] = 'преди %d секунди'; -$lang['wordblock'] = 'Направените от вас промени не са съхранени, защото съдържат забранен текст (SPAM).'; + +$lang['wordblock'] = 'Направените от Вас промени не са съхранени, защото съдържат забранен текст (SPAM).'; + $lang['media_uploadtab'] = 'Качване'; $lang['media_searchtab'] = 'Търсене'; $lang['media_file'] = 'Файл'; @@ -306,4 +343,7 @@ $lang['media_perm_read'] = 'За съжаление нямате дост $lang['media_perm_upload'] = 'За съжаление нямате достатъчно права, за да можете да качите файла.'; $lang['media_update'] = 'Качване на нова версия'; $lang['media_restore'] = 'Възстановяване на тази версия'; + $lang['plugin_install_err'] = 'Неправилно инсталирана приставка. Моля, преименувайте директорията \'%s\' на \'%s\'.'; + +//Setup VIM: ex: et ts=2 : diff --git a/inc/lang/bg/resetpwd.txt b/inc/lang/bg/resetpwd.txt new file mode 100644 index 000000000..caa4adfdc --- /dev/null +++ b/inc/lang/bg/resetpwd.txt @@ -0,0 +1,4 @@ +====== Задаване на нова парола ====== + +Моля, въведете нова парола за вашия акаунт в Wiki страницата. + -- cgit v1.2.3 From 586bfa91f239ca0bd7d90be35d5d81fb4edaa5d1 Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Wed, 4 Apr 2012 21:49:26 +0200 Subject: Changed an error code in XML-RPC interface. This error hasn't anything to do with the rest of the -32600 errors. --- inc/IXR_Library.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index d1e877813..979dc4d16 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -440,7 +440,7 @@ EOD; $method = $call['methodName']; $params = $call['params']; if ($method == 'system.multicall') { - $result = new IXR_Error(-32600, 'Recursive calls to system.multicall are forbidden'); + $result = new IXR_Error(-32800, 'Recursive calls to system.multicall are forbidden'); } else { $result = $this->call($method, $params); } -- cgit v1.2.3 From 6e3f46e33d8bcba4e852940d321c8f3741bcc5e5 Mon Sep 17 00:00:00 2001 From: Tim Roes Date: Thu, 5 Apr 2012 17:56:44 +0200 Subject: Make getTitle method in remote interface public --- inc/RemoteAPICore.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'inc') diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index d8d4d5b7b..546832100 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -44,7 +44,8 @@ class RemoteAPICore { ), 'dokuwiki.getTitle' => array( 'args' => array(), 'return' => 'string', - 'doc' => 'Returns the wiki title.' + 'doc' => 'Returns the wiki title.', + 'public' => '1' ), 'dokuwiki.appendPage' => array( 'args' => array('string', 'string', 'array'), 'return' => 'int', -- cgit v1.2.3 From e5d4768d27336a3af2fc36af663d21a1a57d0ee1 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 7 Apr 2012 20:20:22 +0200 Subject: added tpl_includeFile() to core --- inc/template.php | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index 37848b59a..edf3ca3fb 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1526,6 +1526,42 @@ function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ return $url; } +/** + * PHP include a file + * + * either from the conf directory if it exists, otherwise use + * file in the template's root directory. + * + * The function honours config cascade settings and looks for the given + * file next to the ´main´ config files, in the order protected, local, + * default. + * + * Note: no escaping or sanity checking is done here. Never pass user input + * to this function! + * + * @author Anika Henke + * @author Andreas Gohr + */ +function tpl_includeFile($file){ + global $config_cascade; + foreach (array('protected','local','default') as $config_group) { + if (empty($config_cascade['main'][$config_group])) continue; + foreach ($config_cascade['main'][$config_group] as $conf_file) { + $dir = dirname($conf_file); + if(file_exists("$dir/$file")){ + // include("$dir/$file"); + return; + } + } + } + + // still here? try the template dir + $file = tpl_incdir().$file; + if(file_exists($file)){ + //include($file); + } +} + /** * Returns icon from data/media root directory if it exists, otherwise * the one in the template's image directory. -- cgit v1.2.3 From f3a1225fae9b5d3b72f691efd61a993c92c0d581 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 7 Apr 2012 22:12:29 +0100 Subject: removed comments from accidentally commented lines in tpl_includeFile() --- inc/template.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'inc') diff --git a/inc/template.php b/inc/template.php index edf3ca3fb..27163f076 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1549,7 +1549,7 @@ function tpl_includeFile($file){ foreach ($config_cascade['main'][$config_group] as $conf_file) { $dir = dirname($conf_file); if(file_exists("$dir/$file")){ - // include("$dir/$file"); + include("$dir/$file"); return; } } @@ -1558,7 +1558,7 @@ function tpl_includeFile($file){ // still here? try the template dir $file = tpl_incdir().$file; if(file_exists($file)){ - //include($file); + include($file); } } -- cgit v1.2.3 From bed6e6e5baa092db263210240784e7e640729579 Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Wed, 11 Apr 2012 23:02:09 +0200 Subject: Arabic Language Update --- inc/lang/ar/lang.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++- inc/lang/ar/resetpwd.txt | 3 +++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 inc/lang/ar/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index af92243c9..350e26695 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -42,11 +42,14 @@ $lang['btn_backtomedia'] = 'ارجع إلى اختيار ملف الوسا $lang['btn_subscribe'] = 'ادر الاشتراكات'; $lang['btn_profile'] = 'حدث الملف الشخصي'; $lang['btn_reset'] = 'صفّر'; +$lang['btn_resendpwd'] = 'اضبط كلمة سر جديدة'; $lang['btn_draft'] = 'حرر المسودة'; $lang['btn_recover'] = 'استرجع المسودة'; $lang['btn_draftdel'] = 'احذف المسوّدة'; $lang['btn_revert'] = 'استعد'; $lang['btn_register'] = 'سجّل'; +$lang['btn_apply'] = 'طبق'; +$lang['btn_media'] = 'مدير الوسائط'; $lang['loggedinas'] = 'داخل باسم'; $lang['user'] = 'اسم المستخدم'; $lang['pass'] = 'كلمة السر'; @@ -76,6 +79,7 @@ $lang['profnoempty'] = 'غير مسموح باسم مستخدم أو $lang['profchanged'] = 'حُدث الملف الشخصي للمستخدم بنجاح.'; $lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة'; $lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.'; +$lang['resendpwd'] = 'اضبط كلمة سر جديدة لـ'; $lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ كل الحقول.'; $lang['resendpwdnouser'] = 'عذراً، لم نجد المستخدم هذا في قاعدة بياناتنا.'; $lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد من استخدامك كامل وصلة التأكيد.'; @@ -90,7 +94,7 @@ $lang['txt_filename'] = 'رفع كـ (اختياري)'; $lang['txt_overwrt'] = 'اكتب على ملف موجود'; $lang['lockedby'] = 'مقفلة حاليا لـ'; $lang['lockexpire'] = 'ينتهي القفل في'; -$lang['js']['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.'; +$lang['js']['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.'; $lang['js']['notsavedyet'] = 'التعديلات غير المحفوظة ستفقد.'; $lang['js']['searchmedia'] = 'ابحث عن ملفات'; $lang['js']['keepopen'] = 'أبقي النافذة مفتوحة أثناء الاختيار'; @@ -121,6 +125,17 @@ $lang['js']['nosmblinks'] = 'الروابط لمجلدات مشاركة و $lang['js']['linkwiz'] = 'مرشد الروابط'; $lang['js']['linkto'] = 'الرابط إلى :'; $lang['js']['del_confirm'] = 'هل حقاً تريد حذف البنود المختارة؟'; +$lang['js']['restore_confirm'] = 'أمتأكد من استرجاع هذه النسخة؟'; +$lang['js']['media_diff'] = 'عرض الفروق:'; +$lang['js']['media_diff_both'] = 'جنبا إلى جنب'; +$lang['js']['media_diff_opacity'] = 'Shine-through'; +$lang['js']['media_diff_portions'] = 'Swipe'; +$lang['js']['media_select'] = 'اختر ملفا...'; +$lang['js']['media_upload_btn'] = 'ارفع'; +$lang['js']['media_done_btn'] = 'تم'; +$lang['js']['media_drop'] = 'اسقط الملف هنا لرفعه'; +$lang['js']['media_cancel'] = 'أزل'; +$lang['js']['media_overwrt'] = 'أكتب فوق الملفات الموجودة'; $lang['rssfailed'] = 'خطأ ما حدث أثناء جلب ملف التغذية:'; $lang['nothingfound'] = 'لا يوجد شيء'; $lang['mediaselect'] = 'ملفات الوسائط'; @@ -170,11 +185,20 @@ $lang['external_edit'] = 'تحرير خارجي'; $lang['summary'] = 'ملخص التحرير'; $lang['noflash'] = 'تحتاج إلىملحق فلاش أدوبي لعرض هذا المحتوى.'; $lang['download'] = 'نزل Snippet'; +$lang['tools'] = 'أدوات'; +$lang['user_tools'] = 'أدوات المستخدم'; +$lang['site_tools'] = 'أدوات الموقع'; +$lang['page_tools'] = 'أدوات الصفحة'; +$lang['skip_to_content'] = 'تجاوز إلى المحتوى'; $lang['mail_newpage'] = 'إضافة صفحة:'; $lang['mail_changed'] = 'تعديل صفحة:'; $lang['mail_subscribe_list'] = 'صفحات غيرت في النطاق:'; $lang['mail_new_user'] = 'مشترك جديد:'; $lang['mail_upload'] = 'رفع ملف:'; +$lang['changes_type'] = 'أظهر تغييرات الـ'; +$lang['pages_changes'] = 'صفحات'; +$lang['media_changes'] = 'ملفات الوسائط'; +$lang['both_changes'] = 'كلا من الصفحات وملفات الوسائط'; $lang['qb_bold'] = 'نص عريض'; $lang['qb_italic'] = 'نص مائل'; $lang['qb_underl'] = 'نص مسطر'; @@ -215,6 +239,9 @@ $lang['img_copyr'] = 'حقوق النسخ'; $lang['img_format'] = 'الهيئة'; $lang['img_camera'] = 'الكمرا'; $lang['img_keywords'] = 'كلمات مفتاحية'; +$lang['img_width'] = 'العرض'; +$lang['img_height'] = 'الإرتفاع'; +$lang['img_manager'] = 'اعرض في مدير الوسائط'; $lang['subscr_subscribe_success'] = 'اضيف %s لقائمة اشتراك %s'; $lang['subscr_subscribe_error'] = 'خطأ في إضافة %s لقائمة اشتراك %s'; $lang['subscr_subscribe_noaddress'] = 'ليس هناك عنوان مرتبط بولوجك، لا يمكن اضافتك لقائمة الاشتراك'; @@ -233,6 +260,7 @@ $lang['subscr_style_digest'] = 'بريد ملخص عن تغييرات كل ص $lang['subscr_style_list'] = 'قائمة بالصفحات المتغيرة منذ آخر بريد'; $lang['authmodfailed'] = 'إعدادات تصريح فاسدة، يرجى مراسلة المدير.'; $lang['authtempfail'] = 'تصريح المشترك غير متوفر مؤقتاً، إن استمرت هذه الحالة يرجى مراسلة المدير'; +$lang['authpwdexpire'] = 'ستنتهي صلاحية كلمة السر في %d . عليك بتغييرها سريعا.'; $lang['i_chooselang'] = 'اختر لغتك'; $lang['i_installer'] = 'برنامج تنصيب دوكو ويكي'; $lang['i_wikiname'] = 'اسم الويكي'; @@ -273,3 +301,27 @@ $lang['hours'] = '%d ساعة مضت'; $lang['minutes'] = '%d دقيقة مضت'; $lang['seconds'] = '%d ثانية مضت'; $lang['wordblock'] = 'لم تحفظ تغييراتك لاحتوائها على نص ممنوع )غثاء('; +$lang['media_uploadtab'] = 'ارفع'; +$lang['media_searchtab'] = 'ابحث'; +$lang['media_file'] = 'ملف'; +$lang['media_viewtab'] = 'عرض'; +$lang['media_edittab'] = 'تحرير'; +$lang['media_historytab'] = 'التاريخ'; +$lang['media_list_thumbs'] = 'المصغرات'; +$lang['media_list_rows'] = 'صفوف'; +$lang['media_sort_name'] = 'الاسم'; +$lang['media_sort_date'] = 'التاريخ'; +$lang['media_namespaces'] = 'اختر نطاقا'; +$lang['media_files'] = 'الملفات في %s'; +$lang['media_upload'] = 'ارفع إلى %s'; +$lang['media_search'] = 'ابحث في %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s في %s'; +$lang['media_edit'] = 'حرر %s'; +$lang['media_history'] = 'تاريخ %s'; +$lang['media_meta_edited'] = 'عُدلت الميتاداتا'; +$lang['media_perm_read'] = 'عفوا، لست مخولا بقراءة الملفات.'; +$lang['media_perm_upload'] = 'عفوا، لست مخولا برفع الملفات.'; +$lang['media_update'] = 'ارفع إصدارا أحدث'; +$lang['media_restore'] = 'استرجع هذه النسخة'; +$lang['plugin_install_err'] = 'ثبتت الإضافة بشكل خاطئ. أعد تسمية دليل الإضافة \'%s\' إلى \'%s\'.'; diff --git a/inc/lang/ar/resetpwd.txt b/inc/lang/ar/resetpwd.txt new file mode 100644 index 000000000..2bbd4a21a --- /dev/null +++ b/inc/lang/ar/resetpwd.txt @@ -0,0 +1,3 @@ +====== اضبط كلمة سر جديدة ====== + +أدخل كلمة سر جديدة لحسابك في هذه الويكي. -- cgit v1.2.3 From 389762f8976d87198af8a6aa178bc7026dde98f0 Mon Sep 17 00:00:00 2001 From: Padmanabh Kulkarni Date: Sun, 15 Apr 2012 12:46:42 +0200 Subject: Marathi language update --- inc/lang/mr/lang.php | 82 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 12 deletions(-) (limited to 'inc') diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index 96323394d..32781e6d4 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -44,13 +44,16 @@ $lang['btn_back'] = 'मागॆ'; $lang['btn_backlink'] = 'येथे काय जोडले आहे'; $lang['btn_backtomedia'] = 'परत माध्यम फाइल निवडीकड़े'; $lang['btn_subscribe'] = 'पृष्ठाच्या बदलांची पुरवणी (फीड) लावा '; -$lang['btn_unsubscribe'] = 'पृष्ठाच्या बदलांची पुरवणी (फीड) बंद करा'; $lang['btn_profile'] = 'प्रोफाइल अद्ययावत करा'; $lang['btn_reset'] = 'रिसेट'; +$lang['btn_resendpwd'] = 'नवीन पासवर्ड'; $lang['btn_draft'] = 'प्रत संपादन'; $lang['btn_recover'] = 'प्रत परत मिळवा'; $lang['btn_draftdel'] = 'प्रत रद्द'; +$lang['btn_revert'] = 'पुनर्स्थापन'; $lang['btn_register'] = 'नोंदणी'; +$lang['btn_apply'] = 'लागू'; +$lang['btn_media'] = 'मिडिया व्यवस्थापक'; $lang['loggedinas'] = 'लॉगिन नाव'; $lang['user'] = 'वापरकर्ता'; $lang['pass'] = 'परवलीचा शब्द'; @@ -81,19 +84,58 @@ $lang['profchanged'] = 'सदस्याची प्रोफाइ $lang['pwdforget'] = 'परवलीचा शब्द विसरला आहे का? नविन मागवा.'; $lang['resendna'] = 'ह्या विकी मधे परवलीचा शब्द परत पाथाव्न्याची सुविधा नाही.'; $lang['resendpwd'] = 'नविन परवली इच्छुक'; +$lang['resendpwdmissing'] = 'माफ करा, पण सर्व जागा भरल्या पाहिजेत.'; $lang['resendpwdnouser'] = 'माफ़ करा, हा सदस्य आमच्या माहितिसंग्रहात सापडला नाही.'; $lang['resendpwdbadauth'] = 'माफ़ करा, हा अधिकार कोड बरोबर नाही. कृपया आपण पूर्ण शिकामोर्तबाची लिंक वापरल्याची खात्री करा.'; $lang['resendpwdconfirm'] = 'शिक्कामोर्तबाची लिंक ईमेल द्वारा पाठवली आहे.'; $lang['resendpwdsuccess'] = 'शिक्कामोर्तबाची लिंक ईमेल द्वारा पाठवली आहे.'; $lang['license'] = 'विशिष्ठ नोंद केलि नसल्यास ह्या विकी वरील सर्व मजकूर खालील लायसन्स मधे मोडतो : '; $lang['licenseok'] = 'नोंद : हे पृष्ठ संपादित केल्यास तुम्ही तुमचे योगदान खालील लायसन्स अंतर्गत येइल : '; +$lang['searchmedia'] = 'फाईल शोधा:'; +$lang['searchmedia_in'] = '%s मधे शोधा'; $lang['txt_upload'] = 'अपलोड करण्याची फाइल निवडा'; $lang['txt_filename'] = 'अपलोड उर्फ़ ( वैकल्पिक )'; $lang['txt_overwrt'] = 'अस्तित्वात असलेल्या फाइलवरच सुरक्षित करा.'; $lang['lockedby'] = 'सध्या लॉक करणारा :'; $lang['lockexpire'] = 'सध्या लॉक करणारा :'; -$lang['js']['willexpire'] = 'हे पृष्ठ संपादित करण्यासाठी मिळालेले लॉक एखाद्या मिनिटात संपणार आहे.\n चुका होऊ नयेत म्हणुन कृपया प्रीव्यू बटन दाबुन लॉक ची वेळ पुन्हा चालू करा.'; -$lang['js']['notsavedyet'] = "सुरक्षित न केलेले बदल नष्ट होतील. नक्की करू का ?"; +$lang['js']['willexpire'] = 'हे पृष्ठ संपादित करण्यासाठी मिळालेले लॉक एखाद्या मिनिटात संपणार आहे.\n चुका होऊ नयेत म्हणुन कृपया प्रीव्यू बटन दाबुन लॉक ची वेळ पुन्हा चालू करा.'; +$lang['js']['notsavedyet'] = 'सुरक्षित न केलेले बदल नष्ट होतील. नक्की करू का ?'; +$lang['js']['searchmedia'] = 'फाईल्ससाठी शोधा'; +$lang['js']['keepopen'] = 'निवड केल्यावर विण्डो उघडी ठेवा'; +$lang['js']['hidedetails'] = 'सविस्तर मजकूर लपवा'; +$lang['js']['mediatitle'] = 'लिंक सेटिंग'; +$lang['js']['mediadisplay'] = 'लिंकचा प्रकार'; +$lang['js']['mediaalign'] = 'जुळवणी'; +$lang['js']['mediasize'] = 'प्रतिमेचा आकार'; +$lang['js']['mediatarget'] = 'लिंकचे लक्ष्य'; +$lang['js']['mediaclose'] = 'बंद'; +$lang['js']['mediadisplayimg'] = 'प्रतिमा दाखवा.'; +$lang['js']['mediadisplaylnk'] = 'फक्त लिंक दाखवा.'; +$lang['js']['mediasmall'] = 'लहान आवृत्ती'; +$lang['js']['mediamedium'] = 'माध्यम आवृत्ती'; +$lang['js']['medialarge'] = 'मोठी आवृत्ती'; +$lang['js']['mediaoriginal'] = 'मूळ आवृत्ती'; +$lang['js']['medialnk'] = 'सविस्तर माहितीकडेची लिंक'; +$lang['js']['mediadirect'] = 'मूळ मजकुराकडे थेट लिंक'; +$lang['js']['medianolnk'] = 'लिंक नको'; +$lang['js']['medianolink'] = 'प्रतिमा लिंक करू नका'; +$lang['js']['medialeft'] = 'प्रतिमा डाव्या बाजूला जुळवून घ्या.'; +$lang['js']['mediaright'] = 'प्रतिमा उजव्या बाजूला जुळवून घ्या.'; +$lang['js']['mediacenter'] = 'प्रतिमा मध्यभागी जुळवून घ्या.'; +$lang['js']['medianoalign'] = 'जुळवाजुळव वापरू नका.'; +$lang['js']['nosmblinks'] = 'विन्डोज़ शेअर ला लिंक केल्यास ते फक्त मायक्रोसॉफ़्ट इन्टरनेट एक्स्प्लोरर वरच चालते. तरी तुम्ही लिंक कॉपी करू शकता.'; +$lang['js']['linkwiz'] = 'लिंक जादूगार'; +$lang['js']['linkto'] = 'याला लिंक करा:'; +$lang['js']['del_confirm'] = 'निवडलेल्या गोष्टी नक्की नष्ट करू का ?'; +$lang['js']['restore_confirm'] = 'हि आवृत्ती खरोखर पुनर्स्थापित करू का?'; +$lang['js']['media_diff'] = 'फरक बघू:'; +$lang['js']['media_diff_both'] = 'बाजूबाजूला'; +$lang['js']['media_diff_portions'] = 'स्वाईप'; +$lang['js']['media_select'] = 'फाईल निवड...'; +$lang['js']['media_upload_btn'] = 'अपलोड'; +$lang['js']['media_done_btn'] = 'झालं'; +$lang['js']['media_drop'] = 'अपलोड करण्यासाठी इथे फाईल टाका'; +$lang['js']['media_cancel'] = 'काढा'; $lang['rssfailed'] = 'ही पुरवणी आणण्यात काही चूक झाली:'; $lang['nothingfound'] = 'काही सापडला नाही.'; $lang['mediaselect'] = 'दृकश्राव्य फाइल'; @@ -111,9 +153,7 @@ $lang['deletefail'] = '%s ही फाइल नष्ट करू $lang['mediainuse'] = '%s ही फाइल नष्ट केली नाही - ती अजुन वापरात आहे.'; $lang['namespaces'] = 'नेमस्पेस'; $lang['mediafiles'] = 'मध्ये उपलब्ध असलेल्या फाइल'; -$lang['js']['keepopen'] = 'निवड केल्यावर विण्डो उघडी ठेवा'; -$lang['js']['hidedetails'] = 'सविस्तर मजकूर लपवा'; -$lang['js']['nosmblinks'] = 'विन्डोज़ शेअर ला लिंक केल्यास ते फक्त मायक्रोसॉफ़्ट इन्टरनेट एक्स्प्लोरर वरच चालते. तरी तुम्ही लिंक कॉपी करू शकता.'; +$lang['accessdenied'] = 'तुम्हाला हे पान बघायची परवानगी नाही.'; $lang['mediausage'] = 'ह्या फाइलचा संदर्भ देण्यासाठी खालील सिन्टॅक्स वापरा :'; $lang['mediaview'] = 'मूळ फाइल बघू '; $lang['mediaroot'] = 'रूट'; @@ -129,6 +169,10 @@ $lang['current'] = 'चालू'; $lang['yours'] = 'तुमची आवृत्ति'; $lang['diff'] = 'सध्याच्या आवृत्तिंशी फरक दाखवा'; $lang['diff2'] = 'निवडलेल्या आवृत्तिंमधील फरक दाखवा'; +$lang['difflink'] = 'ह्या तुलना दृष्टीकोनाला लिंक करा'; +$lang['diff_type'] = 'फरक बघू:'; +$lang['diff_inline'] = 'एका ओळीत'; +$lang['diff_side'] = 'बाजूबाजूला'; $lang['line'] = 'ओळ'; $lang['breadcrumb'] = 'मागमूस'; $lang['youarehere'] = 'तुम्ही इथे आहात'; @@ -140,10 +184,21 @@ $lang['restored'] = 'जुनी आवृत्ति पुन $lang['external_edit'] = 'बाहेरून संपादित'; $lang['summary'] = 'सारांश बदला'; $lang['noflash'] = 'ही माहिती दाखवण्यासाठी अडोब फ्लॅश प्लेअर ची गरज आहे.'; +$lang['download'] = 'तुकडा डाउनलोड करा'; +$lang['tools'] = 'साधने'; +$lang['user_tools'] = 'युजरची साधने'; +$lang['site_tools'] = 'साईटची साधने'; +$lang['page_tools'] = 'पानाची साधने'; +$lang['skip_to_content'] = 'सरळ मजकुराकडे '; $lang['mail_newpage'] = 'पृष्ठ जोडले : '; $lang['mail_changed'] = 'पृष्ठ बदलले : '; +$lang['mail_subscribe_list'] = 'ह्या नेमस्पेस नाढे बदललेली पाने:'; $lang['mail_new_user'] = 'नवीन सदस्य : '; $lang['mail_upload'] = 'फाइल अपलोड केली : '; +$lang['changes_type'] = 'ह्याचे बदल बघू'; +$lang['pages_changes'] = 'पाने'; +$lang['media_changes'] = 'मिडिया फाईल'; +$lang['both_changes'] = 'पाने आणि मिडिया फाईल दोन्ही'; $lang['qb_bold'] = 'ठळक मजकूर'; $lang['qb_italic'] = 'तिरका मजकूर'; $lang['qb_underl'] = 'अधोरेखित मजकूर'; @@ -154,6 +209,11 @@ $lang['qb_h2'] = 'दुसर्या पातळीचे $lang['qb_h3'] = 'तिसर्या पातळीचे शीर्षक'; $lang['qb_h4'] = 'चवथ्या पातळीचे शीर्षक'; $lang['qb_h5'] = 'पाचव्या पातळीचे शीर्षक'; +$lang['qb_h'] = 'शीर्षक'; +$lang['qb_hs'] = 'शीर्षक निवड'; +$lang['qb_hplus'] = 'उंच शीर्षक'; +$lang['qb_hminus'] = 'खालचं शीर्षक'; +$lang['qb_hequal'] = 'समान लेवलचे शीर्षक'; $lang['qb_link'] = 'अंतर्गत लिंक'; $lang['qb_extlink'] = 'बाह्य लिंक'; $lang['qb_hr'] = 'आडवी पट्टी'; @@ -163,7 +223,7 @@ $lang['qb_media'] = 'प्रतिमा आणि इतर फ $lang['qb_sig'] = 'स्वाक्षरी टाका'; $lang['qb_smileys'] = 'स्माइली'; $lang['qb_chars'] = 'ख़ास चिन्ह'; -$lang['js']['del_confirm'] = 'निवडलेल्या गोष्टी नक्की नष्ट करू का ?'; +$lang['upperns'] = 'ह्यावरच्या नेमस्पेसकडे उडी मारा'; $lang['admin_register'] = 'नवीन सदस्य'; $lang['metaedit'] = 'मेटाडेटा बदला'; $lang['metasaveerr'] = 'मेटाडेटा सुरक्षित झाला नाही'; @@ -179,11 +239,9 @@ $lang['img_copyr'] = 'कॉपीराइट'; $lang['img_format'] = 'प्रकार'; $lang['img_camera'] = 'कॅमेरा'; $lang['img_keywords'] = 'मुख्य शब्द'; -$lang['subscribe_success'] = '%s ला %s च्या पुरवणिसाठि नोंदवले'; -$lang['subscribe_error'] = '%s ला %s च्या पुरवणिसाठि नोंदवताना चूक झाली'; -$lang['subscribe_noaddress'] = 'तुमच्या लॉगिनशी सम्बंधित कुठलाही पत्ता नाही , त्यामुळे पुरवणिसाठि नोंद केली जाऊ शकत नाही'; -$lang['unsubscribe_success'] = '%s ला %s च्या पुरवणी यादी मधून काढून टाकले'; -$lang['unsubscribe_error'] = '%s ला %s च्या पुरवणी यादी मधून काढून टाकण्यात चूक झाली'; +$lang['img_width'] = 'रुंदी'; +$lang['img_height'] = 'उंची'; +$lang['img_manager'] = 'मिडिया व्यवस्थापकात बघू'; $lang['authmodfailed'] = 'सदस्य अधिकृत करण्याची व्यवस्था चुकीची आहे. कृपया तुमच्या विकीच्या व्यवस्थापकाशी सम्पर्क साधा.'; $lang['authtempfail'] = 'सदस्य अधिकृत करण्याची सुविधा सध्या चालू नाही. सतत हा मजकूर दिसल्यास कृपया तुमच्या विकीच्या व्यवस्थापकाशी सम्पर्क साधा.'; $lang['i_chooselang'] = 'तुमची भाषा निवडा'; -- cgit v1.2.3 From 026b314868ee80aca644bf4107f78d8e8052b43e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel-Emeric=20Andra=C5=9Fi?= Date: Sun, 15 Apr 2012 12:47:43 +0200 Subject: Romanian language update --- inc/lang/ro/lang.php | 9 +++++++++ inc/lang/ro/resetpwd.txt | 3 +++ 2 files changed, 12 insertions(+) create mode 100644 inc/lang/ro/resetpwd.txt (limited to 'inc') diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 21a6ecef4..41727e521 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -9,6 +9,7 @@ * @author Emanuel-Emeric Andraşi * @author Marius OLAR * @author Marius Olar + * @author Emanuel-Emeric Andrași */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -44,6 +45,7 @@ $lang['btn_backtomedia'] = 'Înapoi la Selecţia Mediafile'; $lang['btn_subscribe'] = 'Subscrie Modificarea Paginii'; $lang['btn_profile'] = 'Actualizează Profil'; $lang['btn_reset'] = 'Resetează'; +$lang['btn_resendpwd'] = 'Setează o parolă nouă'; $lang['btn_draft'] = 'Editează schiţă'; $lang['btn_recover'] = 'Recuperează schiţă'; $lang['btn_draftdel'] = 'Şterge schiţă'; @@ -80,6 +82,7 @@ $lang['profnoempty'] = 'Nu sunt admise numele sau adresa de email neco $lang['profchanged'] = 'Profilul de utilizator a fost actualizat succes.'; $lang['pwdforget'] = 'Parola uitată? Luaţi una nouă'; $lang['resendna'] = 'Această wiki nu suportă retrimiterea parolei.'; +$lang['resendpwd'] = 'Setează o parolă nouă pentru'; $lang['resendpwdmissing'] = 'Ne pare rău, trebuie completate toate câmpurile.'; $lang['resendpwdnouser'] = 'Ne pare rău, acest utilizator nu poate fi găsit în baza de date.'; $lang['resendpwdbadauth'] = 'Ne pare rău, acest cod de autorizare nu este corect. Verificaţi dacă aţi folosit tot link-ul de confirmare.'; @@ -186,6 +189,11 @@ $lang['external_edit'] = 'editare externă'; $lang['summary'] = 'Editează sumarul'; $lang['noflash'] = 'Plugin-ul Adobe Flash Plugin este necesar pentru afişarea corectă a conţinutului.'; $lang['download'] = 'Bloc descărcări'; +$lang['tools'] = 'Unelte'; +$lang['user_tools'] = 'Unelte utilizator'; +$lang['site_tools'] = 'Unelte Site'; +$lang['page_tools'] = 'Unelte Pagină'; +$lang['skip_to_content'] = 'sari la conținut'; $lang['mail_newpage'] = 'pagina adăugată:'; $lang['mail_changed'] = 'page schimbată:'; $lang['mail_subscribe_list'] = 'pagini modificate în spaţiul de nume:'; @@ -256,6 +264,7 @@ $lang['subscr_style_digest'] = 'digerează email la schimbări pentru fiecare $lang['subscr_style_list'] = 'lista paginilor schimbate de la ultimul email (la fiecare %.2f zile)'; $lang['authmodfailed'] = 'Configuraţia autentificării utilizatorului este eronată. Anunţaţi Wiki Admin-ul.'; $lang['authtempfail'] = 'Autentificarea utilizatorului este temporar indisponibilă. Anunţaţi Wiki Admin-ul.'; +$lang['authpwdexpire'] = 'Parola vă va expira în %d zile, ar trebui să o schimbați curând.'; $lang['i_chooselang'] = 'Alegeţi limba'; $lang['i_installer'] = 'DokuWiki Installer'; $lang['i_wikiname'] = 'Numele Wiki'; diff --git a/inc/lang/ro/resetpwd.txt b/inc/lang/ro/resetpwd.txt new file mode 100644 index 000000000..2eb8052f1 --- /dev/null +++ b/inc/lang/ro/resetpwd.txt @@ -0,0 +1,3 @@ +====== Setează parolă nouă ====== + +Vă rugăm să introduceți o nouă parolă pentru contul dvs. pe acest wiki. \ No newline at end of file -- cgit v1.2.3