Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
commit
3262930ed4
|
@ -37,6 +37,15 @@ class Memcached_DataObject extends DB_DataObject
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for DB_DataObject's static lookup using memcached
|
||||
* as backing instead of an in-process cache array.
|
||||
*
|
||||
* @param string $cls classname of object type to load
|
||||
* @param mixed $k key field name, or value for primary key
|
||||
* @param mixed $v key field value, or leave out for primary key lookup
|
||||
* @return mixed Memcached_DataObject subtype or false
|
||||
*/
|
||||
function &staticGet($cls, $k, $v=null)
|
||||
{
|
||||
if (is_null($v)) {
|
||||
|
@ -53,6 +62,13 @@ class Memcached_DataObject extends DB_DataObject
|
|||
} else {
|
||||
$i = DB_DataObject::staticGet($cls, $k, $v);
|
||||
if ($i) {
|
||||
// DB_DataObject's in-process lookup cache interferes with GC
|
||||
// to cause massive memory leaks in long-running processes.
|
||||
if (php_sapi_name() == 'cli') {
|
||||
$i->_clear_cache();
|
||||
}
|
||||
|
||||
// Now store it into the shared memcached, if present...
|
||||
$i->encache();
|
||||
}
|
||||
return $i;
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:12+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:16+0000\n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ar\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:15+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:19+0000\n"
|
||||
"Language-Team: Egyptian Spoken Arabic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: arz\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:21+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:25+0000\n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ca\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -258,7 +258,9 @@ msgstr "No has escrit cap usuari receptor."
|
|||
|
||||
#: actions/apidirectmessagenew.php:150
|
||||
msgid "Can't send direct messages to users who aren't your friend."
|
||||
msgstr "No pots enviar missatges directes a usuaris que no siguin amics teus."
|
||||
msgstr ""
|
||||
"No es pot enviar missatges directes a usuaris que no siguin els vostres "
|
||||
"amics."
|
||||
|
||||
#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
|
||||
#: actions/apistatusesdestroy.php:113
|
||||
|
@ -571,9 +573,10 @@ msgid "Avatar"
|
|||
msgstr "Avatar"
|
||||
|
||||
#: actions/avatarsettings.php:78
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "You can upload your personal avatar. The maximum file size is %s."
|
||||
msgstr "Pots pujar el teu avatar personal."
|
||||
msgstr ""
|
||||
"Podeu pujar el vostre avatar personal. La mida màxima del fitxer és %s."
|
||||
|
||||
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
|
||||
#: actions/grouplogo.php:178 actions/remotesubscribe.php:191
|
||||
|
@ -1063,11 +1066,11 @@ msgstr "Cancel·la"
|
|||
|
||||
#: actions/emailsettings.php:121
|
||||
msgid "Email Address"
|
||||
msgstr "Direcció de correu electrònic"
|
||||
msgstr "Adreça electrònica"
|
||||
|
||||
#: actions/emailsettings.php:123
|
||||
msgid "Email address, like \"UserName@example.org\""
|
||||
msgstr "Correu electrònic, com Email address, like \"UserName@example.org\""
|
||||
msgstr "Adreça electrònica, com ara «nomusuari@example.org»"
|
||||
|
||||
#: actions/emailsettings.php:126 actions/imsettings.php:133
|
||||
#: actions/smssettings.php:145
|
||||
|
@ -1131,27 +1134,27 @@ msgstr "Publica una MicroID per al meu correu electrònic."
|
|||
#: actions/emailsettings.php:302 actions/imsettings.php:264
|
||||
#: actions/othersettings.php:180 actions/smssettings.php:284
|
||||
msgid "Preferences saved."
|
||||
msgstr "Preferències guardades."
|
||||
msgstr "S'han desat les preferències."
|
||||
|
||||
#: actions/emailsettings.php:320
|
||||
msgid "No email address."
|
||||
msgstr "No hi ha cap direcció de correu electrònic."
|
||||
msgstr "No hi ha cap adreça electrònica."
|
||||
|
||||
#: actions/emailsettings.php:327
|
||||
msgid "Cannot normalize that email address"
|
||||
msgstr "No es pot normalitzar aquesta direcció de correu electrònic"
|
||||
msgstr "No es pot normalitzar l'adreça electrònica."
|
||||
|
||||
#: actions/emailsettings.php:331 actions/siteadminpanel.php:158
|
||||
msgid "Not a valid email address"
|
||||
msgstr "No és una direcció de correu electrònic vàlida."
|
||||
msgstr "No és una adreça electrònica vàlida."
|
||||
|
||||
#: actions/emailsettings.php:334
|
||||
msgid "That is already your email address."
|
||||
msgstr "Aquest ja és el teu correu electrònic."
|
||||
msgstr "Ja és la vostra adreça electrònica."
|
||||
|
||||
#: actions/emailsettings.php:337
|
||||
msgid "That email address already belongs to another user."
|
||||
msgstr "Aquest correu electrònic pertany a un altre usuari."
|
||||
msgstr "L'adreça electrònica ja pertany a un altre usuari."
|
||||
|
||||
#: actions/emailsettings.php:353 actions/imsettings.php:317
|
||||
#: actions/smssettings.php:337
|
||||
|
@ -1514,7 +1517,7 @@ msgstr ""
|
|||
|
||||
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
|
||||
msgid "Create a new group"
|
||||
msgstr "Crear nou grup"
|
||||
msgstr "Crea un grup nou"
|
||||
|
||||
#: actions/groupsearch.php:52
|
||||
#, fuzzy, php-format
|
||||
|
@ -1558,7 +1561,7 @@ msgstr "L'usuari no està blocat del grup."
|
|||
|
||||
#: actions/groupunblock.php:128 actions/unblock.php:77
|
||||
msgid "Error removing the block."
|
||||
msgstr "Error al moure el block."
|
||||
msgstr "S'ha produït un error en suprimir el bloc."
|
||||
|
||||
#: actions/imsettings.php:59
|
||||
msgid "IM Settings"
|
||||
|
@ -1607,11 +1610,11 @@ msgstr ""
|
|||
|
||||
#: actions/imsettings.php:143
|
||||
msgid "Send me notices through Jabber/GTalk."
|
||||
msgstr "Enviar-me avisos per Jabber/GTalk."
|
||||
msgstr "Envia'm avisos per Jabber/GTalk."
|
||||
|
||||
#: actions/imsettings.php:148
|
||||
msgid "Post a notice when my Jabber/GTalk status changes."
|
||||
msgstr "Enviar un avís quan el meu estat Jabber/GTalk canvii."
|
||||
msgstr "Envia'm un avís quan el meu estat Jabber/GTalk canvii."
|
||||
|
||||
#: actions/imsettings.php:153
|
||||
msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
|
||||
|
@ -5296,9 +5299,8 @@ msgid "Popular"
|
|||
msgstr "Popular"
|
||||
|
||||
#: lib/repeatform.php:107 lib/repeatform.php:132
|
||||
#, fuzzy
|
||||
msgid "Repeat this notice"
|
||||
msgstr "respondre a aquesta nota"
|
||||
msgstr "Repeteix l'avís"
|
||||
|
||||
#: lib/repeatform.php:132
|
||||
#, fuzzy
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:24+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:28+0000\n"
|
||||
"Language-Team: Czech\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: cs\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -12,11 +12,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:27+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:31+0000\n"
|
||||
"Language-Team: German\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: de\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:29+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:34+0000\n"
|
||||
"Language-Team: Greek\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: el\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:32+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:37+0000\n"
|
||||
"Language-Team: British English\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: en-gb\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -826,19 +826,16 @@ msgid "Delete this notice"
|
|||
msgstr "Delete this notice"
|
||||
|
||||
#: actions/deletenotice.php:157
|
||||
#, fuzzy
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr "There was a problem with your session token. Try again, please."
|
||||
|
||||
#: actions/deleteuser.php:67
|
||||
#, fuzzy
|
||||
msgid "You cannot delete users."
|
||||
msgstr "Couldn't update user."
|
||||
msgstr "You cannot delete users."
|
||||
|
||||
#: actions/deleteuser.php:74
|
||||
#, fuzzy
|
||||
msgid "You can only delete local users."
|
||||
msgstr "You may not delete another user's status."
|
||||
msgstr "You can only delete local users."
|
||||
|
||||
#: actions/deleteuser.php:110 actions/deleteuser.php:133
|
||||
#, fuzzy
|
||||
|
@ -850,6 +847,8 @@ msgid ""
|
|||
"Are you sure you want to delete this user? This will clear all data about "
|
||||
"the user from the database, without a backup."
|
||||
msgstr ""
|
||||
"Are you sure you want to delete this user? This will clear all data about "
|
||||
"the user from the database, without a backup."
|
||||
|
||||
#: actions/deleteuser.php:148 lib/deleteuserform.php:77
|
||||
msgid "Delete this user"
|
||||
|
@ -858,11 +857,11 @@ msgstr "Delete this user"
|
|||
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
|
||||
#: lib/adminpanelaction.php:302 lib/groupnav.php:119
|
||||
msgid "Design"
|
||||
msgstr ""
|
||||
msgstr "Design"
|
||||
|
||||
#: actions/designadminpanel.php:73
|
||||
msgid "Design settings for this StatusNet site."
|
||||
msgstr ""
|
||||
msgstr "Design settings for this StausNet site."
|
||||
|
||||
#: actions/designadminpanel.php:275
|
||||
#, fuzzy
|
||||
|
@ -899,12 +898,12 @@ msgstr "Logout from the site"
|
|||
|
||||
#: actions/designadminpanel.php:417 lib/designsettings.php:101
|
||||
msgid "Change background image"
|
||||
msgstr ""
|
||||
msgstr "Change background image"
|
||||
|
||||
#: actions/designadminpanel.php:422 actions/designadminpanel.php:497
|
||||
#: lib/designsettings.php:178
|
||||
msgid "Background"
|
||||
msgstr ""
|
||||
msgstr "Background"
|
||||
|
||||
#: actions/designadminpanel.php:427
|
||||
#, fuzzy, php-format
|
||||
|
@ -915,19 +914,19 @@ msgstr "You can upload a logo image for your group."
|
|||
|
||||
#: actions/designadminpanel.php:457 lib/designsettings.php:139
|
||||
msgid "On"
|
||||
msgstr ""
|
||||
msgstr "On"
|
||||
|
||||
#: actions/designadminpanel.php:473 lib/designsettings.php:155
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
msgstr "Off"
|
||||
|
||||
#: actions/designadminpanel.php:474 lib/designsettings.php:156
|
||||
msgid "Turn background image on or off."
|
||||
msgstr ""
|
||||
msgstr "Turn background image on or off."
|
||||
|
||||
#: actions/designadminpanel.php:479 lib/designsettings.php:161
|
||||
msgid "Tile background image"
|
||||
msgstr ""
|
||||
msgstr "Tile background image"
|
||||
|
||||
#: actions/designadminpanel.php:488 lib/designsettings.php:170
|
||||
msgid "Change colours"
|
||||
|
@ -953,15 +952,15 @@ msgstr "Links"
|
|||
|
||||
#: actions/designadminpanel.php:577 lib/designsettings.php:247
|
||||
msgid "Use defaults"
|
||||
msgstr ""
|
||||
msgstr "Use defaults"
|
||||
|
||||
#: actions/designadminpanel.php:578 lib/designsettings.php:248
|
||||
msgid "Restore default designs"
|
||||
msgstr ""
|
||||
msgstr "Restore default designs"
|
||||
|
||||
#: actions/designadminpanel.php:584 lib/designsettings.php:254
|
||||
msgid "Reset back to default"
|
||||
msgstr ""
|
||||
msgstr "Reset back to default"
|
||||
|
||||
#: actions/designadminpanel.php:586 actions/emailsettings.php:195
|
||||
#: actions/imsettings.php:163 actions/othersettings.php:126
|
||||
|
@ -975,7 +974,7 @@ msgstr "Save"
|
|||
|
||||
#: actions/designadminpanel.php:587 lib/designsettings.php:257
|
||||
msgid "Save design"
|
||||
msgstr ""
|
||||
msgstr "Save design"
|
||||
|
||||
#: actions/disfavor.php:81
|
||||
msgid "This notice is not a favorite!"
|
||||
|
@ -1361,7 +1360,7 @@ msgstr "No profile specified."
|
|||
|
||||
#: actions/groupblock.php:91
|
||||
msgid "Only an admin can block group members."
|
||||
msgstr ""
|
||||
msgstr "Only an admin can block group members."
|
||||
|
||||
#: actions/groupblock.php:95
|
||||
msgid "User is already blocked from group."
|
||||
|
@ -1383,6 +1382,9 @@ msgid ""
|
|||
"be removed from the group, unable to post, and unable to subscribe to the "
|
||||
"group in the future."
|
||||
msgstr ""
|
||||
"Are you sure you want to block user \"%s\" from the group \"%s\"? They will "
|
||||
"be removed from the group, unable to post, and unable to subscribe to the "
|
||||
"group in the future."
|
||||
|
||||
#: actions/groupblock.php:178
|
||||
msgid "Do not block this user from this group"
|
||||
|
@ -1394,7 +1396,7 @@ msgstr "Block this user from this group"
|
|||
|
||||
#: actions/groupblock.php:196
|
||||
msgid "Database error blocking user from group."
|
||||
msgstr ""
|
||||
msgstr "Database error blocking user from group."
|
||||
|
||||
#: actions/groupbyid.php:74
|
||||
msgid "No ID"
|
||||
|
@ -1415,6 +1417,8 @@ msgid ""
|
|||
"Customize the way your group looks with a background image and a colour "
|
||||
"palette of your choice."
|
||||
msgstr ""
|
||||
"Customise the way your group looks with a background image and a colour "
|
||||
"palette of your choice."
|
||||
|
||||
#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
|
||||
#: lib/designsettings.php:391 lib/designsettings.php:413
|
||||
|
@ -1589,7 +1593,7 @@ msgid "Current confirmed Jabber/GTalk address."
|
|||
msgstr "Current confirmed Jabber/GTalk address."
|
||||
|
||||
#: actions/imsettings.php:114
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
|
||||
"message with further instructions. (Did you add %s to your buddy list?)"
|
||||
|
@ -2324,7 +2328,7 @@ msgstr "Invalid notice content"
|
|||
#: actions/postnotice.php:90
|
||||
#, php-format
|
||||
msgid "Notice license ‘%s’ is not compatible with site license ‘%s’."
|
||||
msgstr ""
|
||||
msgstr "Notice licence ‘%s’ is not compatible with site licence ‘%s’."
|
||||
|
||||
#: actions/profilesettings.php:60
|
||||
msgid "Profile settings"
|
||||
|
@ -2509,6 +2513,10 @@ msgid ""
|
|||
"tool. [Join now](%%action.register%%) to share notices about yourself with "
|
||||
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
|
||||
msgstr ""
|
||||
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
|
||||
"blogging) service based on the Free Software [StatusNet](http://status.net/) "
|
||||
"tool. [Join now](%%action.register%%) to share notices about yourself with "
|
||||
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
|
||||
|
||||
#: actions/public.php:238
|
||||
#, php-format
|
||||
|
@ -2870,9 +2878,8 @@ msgid "No notice specified."
|
|||
msgstr "No profile specified."
|
||||
|
||||
#: actions/repeat.php:76
|
||||
#, fuzzy
|
||||
msgid "You can't repeat your own notice."
|
||||
msgstr "You can't register if you don't agree to the licence."
|
||||
msgstr "You can't repeat your own notice."
|
||||
|
||||
#: actions/repeat.php:90
|
||||
#, fuzzy
|
||||
|
|
|
@ -12,11 +12,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:35+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:39+0000\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: es\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:38+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:42+0000\n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: fi\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -14,11 +14,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:44+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:48+0000\n"
|
||||
"Language-Team: French\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: fr\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -1279,9 +1279,9 @@ msgid "Featured users, page %d"
|
|||
msgstr "Utilisateurs en vedette - page %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Les utilisateurs à ne pas manquer dans %s"
|
||||
msgstr "Une sélection d'utilisateurs à ne pas manquer dans %s"
|
||||
|
||||
#: actions/file.php:34
|
||||
msgid "No notice ID."
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:47+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:51+0000\n"
|
||||
"Language-Team: Irish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ga\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -8,11 +8,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:50+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:54+0000\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: he\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:53+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:57+0000\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: hsb\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:57+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:38:59+0000\n"
|
||||
"Language-Team: Interlingua\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ia\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -1264,7 +1264,7 @@ msgid "Featured users, page %d"
|
|||
msgstr "Usatores in evidentia, pagina %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Un selection de usatores eminente in %s"
|
||||
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:17:59+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:02+0000\n"
|
||||
"Language-Team: Icelandic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: is\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:02+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:07+0000\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: it\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -1271,9 +1271,9 @@ msgid "Featured users, page %d"
|
|||
msgstr "Utenti in evidenza, pagina %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Una selezione dei migliori utenti su %s"
|
||||
msgstr "Una selezione di alcuni dei migliori utenti su %s"
|
||||
|
||||
#: actions/file.php:34
|
||||
msgid "No notice ID."
|
||||
|
|
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:05+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:10+0000\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ja\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -8,11 +8,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:10+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:12+0000\n"
|
||||
"Language-Team: Korean\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ko\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:15+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:15+0000\n"
|
||||
"Language-Team: Macedonian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: mk\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:18+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:18+0000\n"
|
||||
"Language-Team: Norwegian (bokmål)\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: no\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:24+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:24+0000\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: nl\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -1281,9 +1281,9 @@ msgid "Featured users, page %d"
|
|||
msgstr "Nieuwe gebruikers, pagina %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Een selectie van de actieve gebruikers op %s"
|
||||
msgstr "Een selectie van gewaardeerde gebruikers op %s"
|
||||
|
||||
#: actions/file.php:34
|
||||
msgid "No notice ID."
|
||||
|
|
|
@ -8,11 +8,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:20+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:21+0000\n"
|
||||
"Language-Team: Norwegian Nynorsk\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: nn\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:27+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:27+0000\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pl\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:30+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:30+0000\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pt\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:33+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:33+0000\n"
|
||||
"Language-Team: Brazilian Portuguese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pt-br\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:36+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:35+0000\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ru\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -446,14 +446,12 @@ msgid "No such notice."
|
|||
msgstr "Нет такой записи."
|
||||
|
||||
#: actions/apistatusesretweet.php:83
|
||||
#, fuzzy
|
||||
msgid "Cannot repeat your own notice."
|
||||
msgstr "Есть оповещение."
|
||||
msgstr "Невозможно повторить собственную запись."
|
||||
|
||||
#: actions/apistatusesretweet.php:91
|
||||
#, fuzzy
|
||||
msgid "Already repeated that notice."
|
||||
msgstr "Удалить эту запись"
|
||||
msgstr "Запись уже повторена."
|
||||
|
||||
#: actions/apistatusesshow.php:138
|
||||
msgid "Status deleted."
|
||||
|
@ -527,17 +525,17 @@ msgstr "Обновления %s от всех!"
|
|||
#: actions/apitimelineretweetedbyme.php:112
|
||||
#, php-format
|
||||
msgid "Repeated by %s"
|
||||
msgstr ""
|
||||
msgstr "Повторено %s"
|
||||
|
||||
#: actions/apitimelineretweetedtome.php:111
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Repeated to %s"
|
||||
msgstr "Ответы для %s"
|
||||
msgstr "Повторено для %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "Ответы для %s"
|
||||
msgstr "Повторы %s"
|
||||
|
||||
#: actions/apitimelinetag.php:102 actions/tag.php:66
|
||||
#, php-format
|
||||
|
@ -1280,29 +1278,25 @@ msgid "Featured users, page %d"
|
|||
msgstr "Особые пользователи, страница %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Список наиболее активных, знаменитых и уважаемых пользователей на %s"
|
||||
msgstr "Некоторые из известных пользователей на %s"
|
||||
|
||||
#: actions/file.php:34
|
||||
#, fuzzy
|
||||
msgid "No notice ID."
|
||||
msgstr "Запись отсутствует"
|
||||
msgstr "Нет ID записи."
|
||||
|
||||
#: actions/file.php:38
|
||||
#, fuzzy
|
||||
msgid "No notice."
|
||||
msgstr "Запись отсутствует"
|
||||
msgstr "Запись отсутствует."
|
||||
|
||||
#: actions/file.php:42
|
||||
#, fuzzy
|
||||
msgid "No attachments."
|
||||
msgstr "Нет вложений"
|
||||
msgstr "Нет вложений."
|
||||
|
||||
#: actions/file.php:51
|
||||
#, fuzzy
|
||||
msgid "No uploaded attachments."
|
||||
msgstr "Нет загруженных вложений"
|
||||
msgstr "Нет загруженных вложений."
|
||||
|
||||
#: actions/finishremotesubscribe.php:69
|
||||
msgid "Not expecting this response!"
|
||||
|
@ -2888,36 +2882,28 @@ msgid "Couldn’t get a request token."
|
|||
msgstr "Не удаётся получить получить ключ запроса."
|
||||
|
||||
#: actions/repeat.php:57
|
||||
#, fuzzy
|
||||
msgid "Only logged-in users can repeat notices."
|
||||
msgstr "Только сам пользователь может читать собственный почтовый ящик."
|
||||
msgstr "Повторять записи могут только вошедшие пользователи."
|
||||
|
||||
#: actions/repeat.php:64 actions/repeat.php:71
|
||||
#, fuzzy
|
||||
msgid "No notice specified."
|
||||
msgstr "Профиль не определен."
|
||||
msgstr "Не указана запись."
|
||||
|
||||
#: actions/repeat.php:76
|
||||
#, fuzzy
|
||||
msgid "You can't repeat your own notice."
|
||||
msgstr ""
|
||||
"Вы не можете зарегистрироваться, если Вы не подтверждаете лицензионного "
|
||||
"соглашения."
|
||||
msgstr "Вы не можете повторить собственную запись."
|
||||
|
||||
#: actions/repeat.php:90
|
||||
#, fuzzy
|
||||
msgid "You already repeated that notice."
|
||||
msgstr "Вы уже заблокировали этого пользователя."
|
||||
msgstr "Вы уже повторили эту запись."
|
||||
|
||||
#: actions/repeat.php:114 lib/noticelist.php:621
|
||||
#, fuzzy
|
||||
msgid "Repeated"
|
||||
msgstr "Создано"
|
||||
msgstr "Повторено"
|
||||
|
||||
#: actions/repeat.php:119
|
||||
#, fuzzy
|
||||
msgid "Repeated!"
|
||||
msgstr "Создано"
|
||||
msgstr "Повторено!"
|
||||
|
||||
#: actions/replies.php:125 actions/repliesrss.php:68
|
||||
#: lib/personalgroupnav.php:105
|
||||
|
@ -3256,9 +3242,9 @@ msgstr ""
|
|||
"net/)."
|
||||
|
||||
#: actions/showstream.php:313
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Repeat of %s"
|
||||
msgstr "Ответы для %s"
|
||||
msgstr "Повтор %s"
|
||||
|
||||
#: actions/silence.php:65 actions/unsilence.php:65
|
||||
msgid "You cannot silence users on this site."
|
||||
|
@ -3732,9 +3718,8 @@ msgid "Notice feed for tag %s (Atom)"
|
|||
msgstr "Лента записей для тега %s (Atom)"
|
||||
|
||||
#: actions/tagother.php:39
|
||||
#, fuzzy
|
||||
msgid "No ID argument."
|
||||
msgstr "Нет ID аргумента."
|
||||
msgstr "Нет аргумента ID."
|
||||
|
||||
#: actions/tagother.php:65
|
||||
#, php-format
|
||||
|
@ -4004,9 +3989,8 @@ msgid "Wrong image type for avatar URL ‘%s’."
|
|||
msgstr "Неверный тип изображения для URL аватары «%s»."
|
||||
|
||||
#: actions/userbyid.php:70
|
||||
#, fuzzy
|
||||
msgid "No ID."
|
||||
msgstr "Нет ID"
|
||||
msgstr "Нет ID."
|
||||
|
||||
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
|
||||
msgid "Profile design"
|
||||
|
@ -4117,9 +4101,9 @@ msgid "DB error inserting reply: %s"
|
|||
msgstr "Ошибка баз данных при вставке ответа для %s"
|
||||
|
||||
#: classes/Notice.php:1371
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
|
||||
#: classes/User.php:368
|
||||
#, php-format
|
||||
|
@ -4483,24 +4467,21 @@ msgid "Error sending direct message."
|
|||
msgstr "Ошибка при отправке прямого сообщения."
|
||||
|
||||
#: lib/command.php:422
|
||||
#, fuzzy
|
||||
msgid "Cannot repeat your own notice"
|
||||
msgstr "Есть оповещение."
|
||||
msgstr "Невозможно повторить собственную запись."
|
||||
|
||||
#: lib/command.php:427
|
||||
#, fuzzy
|
||||
msgid "Already repeated that notice"
|
||||
msgstr "Удалить эту запись"
|
||||
msgstr "Эта запись уже повторена"
|
||||
|
||||
#: lib/command.php:435
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Notice from %s repeated"
|
||||
msgstr "Запись опубликована"
|
||||
msgstr "Запись %s повторена"
|
||||
|
||||
#: lib/command.php:437
|
||||
#, fuzzy
|
||||
msgid "Error repeating notice."
|
||||
msgstr "Проблемы с сохранением записи."
|
||||
msgstr "Ошибка при повторении записи."
|
||||
|
||||
#: lib/command.php:491
|
||||
#, php-format
|
||||
|
@ -4602,7 +4583,6 @@ msgstr[1] "Вы являетесь участником следующих гр
|
|||
msgstr[2] "Вы являетесь участником следующих групп:"
|
||||
|
||||
#: lib/command.php:745
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Commands:\n"
|
||||
"on - turn on notifications\n"
|
||||
|
@ -4656,6 +4636,8 @@ msgstr ""
|
|||
"whois <nickname> — получить информацию из профиля пользователя\n"
|
||||
"fav <nickname> — добавить последнюю запись пользователя в число любимых\n"
|
||||
"fav #<notice_id> — добавить запись с заданным id в число любимых\n"
|
||||
"repeat #<notice_id> — повторить уведомление с заданным id\n"
|
||||
"repeat <nickname> — повторить последнее уведомление от пользователя\n"
|
||||
"reply #<notice_id> — ответить на запись с заданным id\n"
|
||||
"reply <nickname> — ответить на последнюю запись пользователя\n"
|
||||
"join <group> — присоединиться к группе\n"
|
||||
|
@ -5309,9 +5291,8 @@ msgid "in context"
|
|||
msgstr "в контексте"
|
||||
|
||||
#: lib/noticelist.php:548
|
||||
#, fuzzy
|
||||
msgid "Repeated by"
|
||||
msgstr "Создано"
|
||||
msgstr "Повторено"
|
||||
|
||||
#: lib/noticelist.php:577
|
||||
msgid "Reply to this notice"
|
||||
|
@ -5322,9 +5303,8 @@ msgid "Reply"
|
|||
msgstr "Ответить"
|
||||
|
||||
#: lib/noticelist.php:620
|
||||
#, fuzzy
|
||||
msgid "Notice repeated"
|
||||
msgstr "Запись удалена."
|
||||
msgstr "Запись повторена"
|
||||
|
||||
#: lib/nudgeform.php:116
|
||||
msgid "Nudge this user"
|
||||
|
@ -5424,14 +5404,12 @@ msgid "All groups"
|
|||
msgstr "Все группы"
|
||||
|
||||
#: lib/profileformaction.php:123
|
||||
#, fuzzy
|
||||
msgid "No return-to arguments."
|
||||
msgstr "Нет аргумента return-to"
|
||||
msgstr "Нет аргумента return-to."
|
||||
|
||||
#: lib/profileformaction.php:137
|
||||
#, fuzzy
|
||||
msgid "Unimplemented method."
|
||||
msgstr "нереализованный метод"
|
||||
msgstr "Нереализованный метод."
|
||||
|
||||
#: lib/publicgroupnav.php:78
|
||||
msgid "Public"
|
||||
|
@ -5454,14 +5432,12 @@ msgid "Popular"
|
|||
msgstr "Популярное"
|
||||
|
||||
#: lib/repeatform.php:107 lib/repeatform.php:132
|
||||
#, fuzzy
|
||||
msgid "Repeat this notice"
|
||||
msgstr "Ответить на эту запись"
|
||||
msgstr "Повторить эту запись"
|
||||
|
||||
#: lib/repeatform.php:132
|
||||
#, fuzzy
|
||||
msgid "Repeat"
|
||||
msgstr "Сбросить"
|
||||
msgstr "Повторить"
|
||||
|
||||
#: lib/sandboxform.php:67
|
||||
msgid "Sandbox"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"POT-Creation-Date: 2009-12-22 22:38+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:39+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:38+0000\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: sv\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:42+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:41+0000\n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: te\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -9,11 +9,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:45+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:44+0000\n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: tr\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -10,11 +10,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:48+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:47+0000\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: uk\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
@ -1262,9 +1262,9 @@ msgid "Featured users, page %d"
|
|||
msgstr "Користувачі варті уваги, сторінка %d"
|
||||
|
||||
#: actions/featured.php:99
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "A selection of some great users on %s"
|
||||
msgstr "Вибірка з деяких видатних користувачів на %s"
|
||||
msgstr "Список деяких видатних користувачів на %s"
|
||||
|
||||
#: actions/file.php:34
|
||||
msgid "No notice ID."
|
||||
|
|
|
@ -8,11 +8,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:52+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:50+0000\n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: vi\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -11,11 +11,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:55+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:53+0000\n"
|
||||
"Language-Team: Simplified Chinese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: zh-hans\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
|
@ -8,11 +8,11 @@ msgstr ""
|
|||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-12-21 21:17+0000\n"
|
||||
"PO-Revision-Date: 2009-12-21 21:18:57+0000\n"
|
||||
"PO-Revision-Date: 2009-12-22 22:39:56+0000\n"
|
||||
"Language-Team: Traditional Chinese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: zh-hant\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
|
|
134
plugins/CasAuthentication/CasAuthenticationPlugin.php
Normal file
134
plugins/CasAuthentication/CasAuthenticationPlugin.php
Normal file
|
@ -0,0 +1,134 @@
|
|||
<?php
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Plugin to enable Single Sign On via CAS (Central Authentication Service)
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* LICENCE: This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Plugin
|
||||
* @package StatusNet
|
||||
* @author Craig Andrews <candrews@integralblue.com>
|
||||
* @copyright 2009 Craig Andrews http://candrews.integralblue.com
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// We bundle the phpCAS library...
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/CAS');
|
||||
|
||||
class CasAuthenticationPlugin extends AuthenticationPlugin
|
||||
{
|
||||
public $server;
|
||||
public $port = 443;
|
||||
public $path = '';
|
||||
|
||||
function checkPassword($username, $password)
|
||||
{
|
||||
global $casTempPassword;
|
||||
return ($casTempPassword == $password);
|
||||
}
|
||||
|
||||
function onAutoload($cls)
|
||||
{
|
||||
switch ($cls)
|
||||
{
|
||||
case 'phpCAS':
|
||||
require_once(INSTALLDIR.'/plugins/CasAuthentication/extlib/CAS.php');
|
||||
return false;
|
||||
case 'CasloginAction':
|
||||
require_once(INSTALLDIR.'/plugins/CasAuthentication/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
|
||||
return false;
|
||||
default:
|
||||
return parent::onAutoload($cls);
|
||||
}
|
||||
}
|
||||
|
||||
function onStartInitializeRouter($m)
|
||||
{
|
||||
$m->connect('main/cas', array('action' => 'caslogin'));
|
||||
return true;
|
||||
}
|
||||
|
||||
function onEndLoginGroupNav(&$action)
|
||||
{
|
||||
$action_name = $action->trimmed('action');
|
||||
|
||||
$action->menuItem(common_local_url('caslogin'),
|
||||
_m('CAS'),
|
||||
_m('Login or register with CAS'),
|
||||
$action_name === 'caslogin');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function onEndShowPageNotice($action)
|
||||
{
|
||||
$name = $action->trimmed('action');
|
||||
|
||||
switch ($name)
|
||||
{
|
||||
case 'login':
|
||||
$instr = '(Have an account with CAS? ' .
|
||||
'Try our [CAS login]'.
|
||||
'(%%action.caslogin%%)!)';
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
||||
$output = common_markup_to_html($instr);
|
||||
$action->raw($output);
|
||||
return true;
|
||||
}
|
||||
|
||||
function onLoginAction($action, &$login)
|
||||
{
|
||||
switch ($action)
|
||||
{
|
||||
case 'caslogin':
|
||||
$login = true;
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function onInitializePlugin(){
|
||||
parent::onInitializePlugin();
|
||||
if(!isset($this->server)){
|
||||
throw new Exception("must specify a server");
|
||||
}
|
||||
if(!isset($this->port)){
|
||||
throw new Exception("must specify a port");
|
||||
}
|
||||
if(!isset($this->path)){
|
||||
throw new Exception("must specify a path");
|
||||
}
|
||||
//These values need to be accessible to a action object
|
||||
//I can't think of any other way than global variables
|
||||
//to allow the action instance to be able to see values :-(
|
||||
global $casSettings;
|
||||
$casSettings = array();
|
||||
$casSettings['server']=$this->server;
|
||||
$casSettings['port']=$this->port;
|
||||
$casSettings['path']=$this->path;
|
||||
}
|
||||
}
|
38
plugins/CasAuthentication/README
Normal file
38
plugins/CasAuthentication/README
Normal file
|
@ -0,0 +1,38 @@
|
|||
The CAS Authentication plugin allows for StatusNet to handle authentication
|
||||
through CAS (Central Authentication Service).
|
||||
|
||||
Installation
|
||||
============
|
||||
add "addPlugin('casAuthentication',
|
||||
array('setting'=>'value', 'setting2'=>'value2', ...);"
|
||||
to the bottom of your config.php
|
||||
|
||||
Settings
|
||||
========
|
||||
provider_name*: a unique name for this authentication provider.
|
||||
authoritative (false): Set to true if CAS's responses are authoritative
|
||||
(if authorative and CAS fails, no other password checking will be done).
|
||||
autoregistration (false): Set to true if users should be automatically created
|
||||
when they attempt to login.
|
||||
email_changeable (true): Are users allowed to change their email address?
|
||||
(true or false)
|
||||
password_changeable*: must be set to false. This plugin does not support changing passwords.
|
||||
|
||||
server*: CAS server to authentication against
|
||||
port (443): Port the CAS server listens on. Almost always 443
|
||||
path (): Path on the server to CAS. Usually blank.
|
||||
|
||||
* required
|
||||
default values are in (parenthesis)
|
||||
|
||||
Example
|
||||
=======
|
||||
addPlugin('casAuthentication', array(
|
||||
'provider_name'=>'Example',
|
||||
'authoritative'=>true,
|
||||
'autoregistration'=>true,
|
||||
'server'=>'sso-cas.univ-rennes1.fr',
|
||||
'port'=>443,
|
||||
'path'=>''
|
||||
));
|
||||
|
66
plugins/CasAuthentication/caslogin.php
Normal file
66
plugins/CasAuthentication/caslogin.php
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class CasloginAction extends Action
|
||||
{
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
if (common_is_real_login()) {
|
||||
$this->clientError(_m('Already logged in.'));
|
||||
} else {
|
||||
global $casSettings;
|
||||
phpCAS::client(CAS_VERSION_2_0,$casSettings['server'],$casSettings['port'],$casSettings['path']);
|
||||
phpCAS::setNoCasServerValidation();
|
||||
phpCAS::handleLogoutRequests();
|
||||
phpCAS::forceAuthentication();
|
||||
global $casTempPassword;
|
||||
$casTempPassword = common_good_rand(16);
|
||||
$user = common_check_user(phpCAS::getUser(), $casTempPassword);
|
||||
if (!$user) {
|
||||
$this->serverError(_('Incorrect username or password.'));
|
||||
return;
|
||||
}
|
||||
|
||||
// success!
|
||||
if (!common_set_user($user)) {
|
||||
$this->serverError(_('Error setting user. You are probably not authorized.'));
|
||||
return;
|
||||
}
|
||||
|
||||
common_real_login(true);
|
||||
|
||||
$url = common_get_returnto();
|
||||
|
||||
if ($url) {
|
||||
// We don't have to return to it again
|
||||
common_set_returnto(null);
|
||||
} else {
|
||||
$url = common_local_url('all',
|
||||
array('nickname' =>
|
||||
$user->nickname));
|
||||
}
|
||||
|
||||
common_redirect($url, 303);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
1471
plugins/CasAuthentication/extlib/CAS.php
Normal file
1471
plugins/CasAuthentication/extlib/CAS.php
Normal file
File diff suppressed because it is too large
Load Diff
190
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
Normal file
190
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
Normal file
|
@ -0,0 +1,190 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file CAS/PGTStorage/pgt-db.php
|
||||
* Basic class for PGT database storage
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class PGTStorageDB
|
||||
* The PGTStorageDB class is a class for PGT database storage. An instance of
|
||||
* this class is returned by CASClient::SetPGTStorageDB().
|
||||
*
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
*
|
||||
* @ingroup internalPGTStorageDB
|
||||
*/
|
||||
|
||||
class PGTStorageDB extends PGTStorage
|
||||
{
|
||||
/**
|
||||
* @addtogroup internalPGTStorageDB
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* a string representing a PEAR DB URL to connect to the database. Written by
|
||||
* PGTStorageDB::PGTStorageDB(), read by getURL().
|
||||
*
|
||||
* @hideinitializer
|
||||
* @private
|
||||
*/
|
||||
var $_url='';
|
||||
|
||||
/**
|
||||
* This method returns the PEAR DB URL to use to connect to the database.
|
||||
*
|
||||
* @return a PEAR DB URL
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
function getURL()
|
||||
{
|
||||
return $this->_url;
|
||||
}
|
||||
|
||||
/**
|
||||
* The handle of the connection to the database where PGT's are stored. Written by
|
||||
* PGTStorageDB::init(), read by getLink().
|
||||
*
|
||||
* @hideinitializer
|
||||
* @private
|
||||
*/
|
||||
var $_link = null;
|
||||
|
||||
/**
|
||||
* This method returns the handle of the connection to the database where PGT's are
|
||||
* stored.
|
||||
*
|
||||
* @return a handle of connection.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
function getLink()
|
||||
{
|
||||
return $this->_link;
|
||||
}
|
||||
|
||||
/**
|
||||
* The name of the table where PGT's are stored. Written by
|
||||
* PGTStorageDB::PGTStorageDB(), read by getTable().
|
||||
*
|
||||
* @hideinitializer
|
||||
* @private
|
||||
*/
|
||||
var $_table = '';
|
||||
|
||||
/**
|
||||
* This method returns the name of the table where PGT's are stored.
|
||||
*
|
||||
* @return the name of a table.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
function getTable()
|
||||
{
|
||||
return $this->_table;
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// DEBUGGING
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This method returns an informational string giving the type of storage
|
||||
* used by the object (used for debugging purposes).
|
||||
*
|
||||
* @return an informational string.
|
||||
* @public
|
||||
*/
|
||||
function getStorageType()
|
||||
{
|
||||
return "database";
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns an informational string giving informations on the
|
||||
* parameters of the storage.(used for debugging purposes).
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function getStorageInfo()
|
||||
{
|
||||
return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// CONSTRUCTOR
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* The class constructor, called by CASClient::SetPGTStorageDB().
|
||||
*
|
||||
* @param $cas_parent the CASClient instance that creates the object.
|
||||
* @param $user the user to access the data with
|
||||
* @param $password the user's password
|
||||
* @param $database_type the type of the database hosting the data
|
||||
* @param $hostname the server hosting the database
|
||||
* @param $port the port the server is listening on
|
||||
* @param $database the name of the database
|
||||
* @param $table the name of the table storing the data
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
|
||||
// call the ancestor's constructor
|
||||
$this->PGTStorage($cas_parent);
|
||||
|
||||
if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
|
||||
if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
|
||||
if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
|
||||
if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
|
||||
if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
|
||||
|
||||
// build and store the PEAR DB URL
|
||||
$this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
|
||||
|
||||
// XXX should use setURL and setTable
|
||||
phpCAS::traceEnd();
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// INITIALIZATION
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This method is used to initialize the storage. Halts on error.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
// if the storage has already been initialized, return immediatly
|
||||
if ( $this->isInitialized() )
|
||||
return;
|
||||
// call the ancestor's method (mark as initialized)
|
||||
parent::init();
|
||||
|
||||
//include phpDB library (the test was introduced in release 0.4.8 for
|
||||
//the integration into Tikiwiki).
|
||||
if (!class_exists('DB')) {
|
||||
include_once('DB.php');
|
||||
}
|
||||
|
||||
// try to connect to the database
|
||||
$this->_link = DB::connect($this->getURL());
|
||||
if ( DB::isError($this->_link) ) {
|
||||
phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
|
||||
}
|
||||
var_dump($this->_link);
|
||||
phpCAS::traceBEnd();
|
||||
}
|
||||
|
||||
/** @} */
|
||||
}
|
||||
|
||||
?>
|
249
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
Normal file
249
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
Normal file
|
@ -0,0 +1,249 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file CAS/PGTStorage/pgt-file.php
|
||||
* Basic class for PGT file storage
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class PGTStorageFile
|
||||
* The PGTStorageFile class is a class for PGT file storage. An instance of
|
||||
* this class is returned by CASClient::SetPGTStorageFile().
|
||||
*
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
*
|
||||
* @ingroup internalPGTStorageFile
|
||||
*/
|
||||
|
||||
class PGTStorageFile extends PGTStorage
|
||||
{
|
||||
/**
|
||||
* @addtogroup internalPGTStorageFile
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* a string telling where PGT's should be stored on the filesystem. Written by
|
||||
* PGTStorageFile::PGTStorageFile(), read by getPath().
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
var $_path;
|
||||
|
||||
/**
|
||||
* This method returns the name of the directory where PGT's should be stored
|
||||
* on the filesystem.
|
||||
*
|
||||
* @return the name of a directory (with leading and trailing '/')
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
function getPath()
|
||||
{
|
||||
return $this->_path;
|
||||
}
|
||||
|
||||
/**
|
||||
* a string telling the format to use to store PGT's (plain or xml). Written by
|
||||
* PGTStorageFile::PGTStorageFile(), read by getFormat().
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
var $_format;
|
||||
|
||||
/**
|
||||
* This method returns the format to use when storing PGT's on the filesystem.
|
||||
*
|
||||
* @return a string corresponding to the format used (plain or xml).
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
function getFormat()
|
||||
{
|
||||
return $this->_format;
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// DEBUGGING
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This method returns an informational string giving the type of storage
|
||||
* used by the object (used for debugging purposes).
|
||||
*
|
||||
* @return an informational string.
|
||||
* @public
|
||||
*/
|
||||
function getStorageType()
|
||||
{
|
||||
return "file";
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns an informational string giving informations on the
|
||||
* parameters of the storage.(used for debugging purposes).
|
||||
*
|
||||
* @return an informational string.
|
||||
* @public
|
||||
*/
|
||||
function getStorageInfo()
|
||||
{
|
||||
return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// CONSTRUCTOR
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* The class constructor, called by CASClient::SetPGTStorageFile().
|
||||
*
|
||||
* @param $cas_parent the CASClient instance that creates the object.
|
||||
* @param $format the format used to store the PGT's (`plain' and `xml' allowed).
|
||||
* @param $path the path where the PGT's should be stored
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function PGTStorageFile($cas_parent,$format,$path)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
// call the ancestor's constructor
|
||||
$this->PGTStorage($cas_parent);
|
||||
|
||||
if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
|
||||
if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
|
||||
|
||||
// check that the path is an absolute path
|
||||
if (getenv("OS")=="Windows_NT"){
|
||||
|
||||
if (!preg_match('`^[a-zA-Z]:`', $path)) {
|
||||
phpCAS::error('an absolute path is needed for PGT storage to file');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if ( $path[0] != '/' ) {
|
||||
phpCAS::error('an absolute path is needed for PGT storage to file');
|
||||
}
|
||||
|
||||
// store the path (with a leading and trailing '/')
|
||||
$path = preg_replace('|[/]*$|','/',$path);
|
||||
$path = preg_replace('|^[/]*|','/',$path);
|
||||
}
|
||||
|
||||
$this->_path = $path;
|
||||
// check the format and store it
|
||||
switch ($format) {
|
||||
case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
|
||||
case CAS_PGT_STORAGE_FILE_FORMAT_XML:
|
||||
$this->_format = $format;
|
||||
break;
|
||||
default:
|
||||
phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
|
||||
}
|
||||
phpCAS::traceEnd();
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// INITIALIZATION
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This method is used to initialize the storage. Halts on error.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
// if the storage has already been initialized, return immediatly
|
||||
if ( $this->isInitialized() )
|
||||
return;
|
||||
// call the ancestor's method (mark as initialized)
|
||||
parent::init();
|
||||
phpCAS::traceEnd();
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// PGT I/O
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This method returns the filename corresponding to a PGT Iou.
|
||||
*
|
||||
* @param $pgt_iou the PGT iou.
|
||||
*
|
||||
* @return a filename
|
||||
* @private
|
||||
*/
|
||||
function getPGTIouFilename($pgt_iou)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
$filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
|
||||
phpCAS::traceEnd($filename);
|
||||
return $filename;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
|
||||
* warning on error.
|
||||
*
|
||||
* @param $pgt the PGT
|
||||
* @param $pgt_iou the PGT iou
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function write($pgt,$pgt_iou)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
$fname = $this->getPGTIouFilename($pgt_iou);
|
||||
if ( $f=fopen($fname,"w") ) {
|
||||
if ( fputs($f,$pgt) === FALSE ) {
|
||||
phpCAS::error('could not write PGT to `'.$fname.'\'');
|
||||
}
|
||||
fclose($f);
|
||||
} else {
|
||||
phpCAS::error('could not open `'.$fname.'\'');
|
||||
}
|
||||
phpCAS::traceEnd();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method reads a PGT corresponding to a PGT Iou and deletes the
|
||||
* corresponding file.
|
||||
*
|
||||
* @param $pgt_iou the PGT iou
|
||||
*
|
||||
* @return the corresponding PGT, or FALSE on error
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function read($pgt_iou)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
$pgt = FALSE;
|
||||
$fname = $this->getPGTIouFilename($pgt_iou);
|
||||
if ( !($f=fopen($fname,"r")) ) {
|
||||
phpCAS::trace('could not open `'.$fname.'\'');
|
||||
} else {
|
||||
if ( ($pgt=fgets($f)) === FALSE ) {
|
||||
phpCAS::trace('could not read PGT from `'.$fname.'\'');
|
||||
}
|
||||
fclose($f);
|
||||
}
|
||||
|
||||
// delete the PGT file
|
||||
@unlink($fname);
|
||||
|
||||
phpCAS::traceEnd($pgt);
|
||||
return $pgt;
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
188
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
Normal file
188
plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
Normal file
|
@ -0,0 +1,188 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file CAS/PGTStorage/pgt-main.php
|
||||
* Basic class for PGT storage
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class PGTStorage
|
||||
* The PGTStorage class is a generic class for PGT storage. This class should
|
||||
* not be instanciated itself but inherited by specific PGT storage classes.
|
||||
*
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
*
|
||||
* @ingroup internalPGTStorage
|
||||
*/
|
||||
|
||||
class PGTStorage
|
||||
{
|
||||
/**
|
||||
* @addtogroup internalPGTStorage
|
||||
* @{
|
||||
*/
|
||||
|
||||
// ########################################################################
|
||||
// CONSTRUCTOR
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* The constructor of the class, should be called only by inherited classes.
|
||||
*
|
||||
* @param $cas_parent the CASclient instance that creates the current object.
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
function PGTStorage($cas_parent)
|
||||
{
|
||||
phpCAS::traceBegin();
|
||||
if ( !$cas_parent->isProxy() ) {
|
||||
phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
|
||||
}
|
||||
phpCAS::traceEnd();
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// DEBUGGING
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This virtual method returns an informational string giving the type of storage
|
||||
* used by the object (used for debugging purposes).
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function getStorageType()
|
||||
{
|
||||
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
|
||||
}
|
||||
|
||||
/**
|
||||
* This virtual method returns an informational string giving informations on the
|
||||
* parameters of the storage.(used for debugging purposes).
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function getStorageInfo()
|
||||
{
|
||||
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// ERROR HANDLING
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* string used to store an error message. Written by PGTStorage::setErrorMessage(),
|
||||
* read by PGTStorage::getErrorMessage().
|
||||
*
|
||||
* @hideinitializer
|
||||
* @private
|
||||
* @deprecated not used.
|
||||
*/
|
||||
var $_error_message=FALSE;
|
||||
|
||||
/**
|
||||
* This method sets en error message, which can be read later by
|
||||
* PGTStorage::getErrorMessage().
|
||||
*
|
||||
* @param $error_message an error message
|
||||
*
|
||||
* @protected
|
||||
* @deprecated not used.
|
||||
*/
|
||||
function setErrorMessage($error_message)
|
||||
{
|
||||
$this->_error_message = $error_message;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns an error message set by PGTStorage::setErrorMessage().
|
||||
*
|
||||
* @return an error message when set by PGTStorage::setErrorMessage(), FALSE
|
||||
* otherwise.
|
||||
*
|
||||
* @public
|
||||
* @deprecated not used.
|
||||
*/
|
||||
function getErrorMessage()
|
||||
{
|
||||
return $this->_error_message;
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// INITIALIZATION
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* a boolean telling if the storage has already been initialized. Written by
|
||||
* PGTStorage::init(), read by PGTStorage::isInitialized().
|
||||
*
|
||||
* @hideinitializer
|
||||
* @private
|
||||
*/
|
||||
var $_initialized = FALSE;
|
||||
|
||||
/**
|
||||
* This method tells if the storage has already been intialized.
|
||||
*
|
||||
* @return a boolean
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
function isInitialized()
|
||||
{
|
||||
return $this->_initialized;
|
||||
}
|
||||
|
||||
/**
|
||||
* This virtual method initializes the object.
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
$this->_initialized = TRUE;
|
||||
}
|
||||
|
||||
// ########################################################################
|
||||
// PGT I/O
|
||||
// ########################################################################
|
||||
|
||||
/**
|
||||
* This virtual method stores a PGT and its corresponding PGT Iuo.
|
||||
* @note Should never be called.
|
||||
*
|
||||
* @param $pgt the PGT
|
||||
* @param $pgt_iou the PGT iou
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
function write($pgt,$pgt_iou)
|
||||
{
|
||||
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
|
||||
}
|
||||
|
||||
/**
|
||||
* This virtual method reads a PGT corresponding to a PGT Iou and deletes
|
||||
* the corresponding storage entry.
|
||||
* @note Should never be called.
|
||||
*
|
||||
* @param $pgt_iou the PGT iou
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
function read($pgt_iou)
|
||||
{
|
||||
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
||||
}
|
||||
|
||||
// include specific PGT storage classes
|
||||
include_once(dirname(__FILE__).'/pgt-file.php');
|
||||
include_once(dirname(__FILE__).'/pgt-db.php');
|
||||
|
||||
?>
|
2297
plugins/CasAuthentication/extlib/CAS/client.php
Normal file
2297
plugins/CasAuthentication/extlib/CAS/client.php
Normal file
File diff suppressed because it is too large
Load Diff
277
plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
Normal file
277
plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
Normal file
|
@ -0,0 +1,277 @@
|
|||
<?php
|
||||
/**
|
||||
* @file domxml-php4-php5.php
|
||||
* Require PHP5, uses built-in DOM extension.
|
||||
* To be used in PHP4 scripts using DOMXML extension.
|
||||
* Allows PHP4/DOMXML scripts to run on PHP5/DOM.
|
||||
* (Requires PHP5/XSL extension for domxml_xslt functions)
|
||||
*
|
||||
* Typical use:
|
||||
* <pre>
|
||||
* {
|
||||
* if (version_compare(PHP_VERSION,'5','>='))
|
||||
* require_once('domxml-php4-to-php5.php');
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* Version 1.5.5, 2005-01-18, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
|
||||
*
|
||||
* ------------------------------------------------------------------<br>
|
||||
* Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
|
||||
*
|
||||
* Copyright 2004, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),
|
||||
* http://creativecommons.org/licenses/by-sa/2.0/fr/
|
||||
* http://alexandre.alapetite.net/divers/apropos/#by-sa
|
||||
* - Attribution. You must give the original author credit
|
||||
* - Share Alike. If you alter, transform, or build upon this work,
|
||||
* you may distribute the resulting work only under a license identical to this one
|
||||
* - The French law is authoritative
|
||||
* - Any of these conditions can be waived if you get permission from Alexandre Alapetite
|
||||
* - Please send to Alexandre Alapetite the modifications you make,
|
||||
* in order to improve this file for the benefit of everybody
|
||||
*
|
||||
* If you want to distribute this code, please do it as a link to:
|
||||
* http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
|
||||
*/
|
||||
|
||||
function domxml_new_doc($version) {return new php4DOMDocument('');}
|
||||
function domxml_open_file($filename) {return new php4DOMDocument($filename);}
|
||||
function domxml_open_mem($str)
|
||||
{
|
||||
$dom=new php4DOMDocument('');
|
||||
$dom->myDOMNode->loadXML($str);
|
||||
return $dom;
|
||||
}
|
||||
function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->query($eval_str,$contextnode);}
|
||||
function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
|
||||
|
||||
class php4DOMAttr extends php4DOMNode
|
||||
{
|
||||
function php4DOMAttr($aDOMAttr) {$this->myDOMNode=$aDOMAttr;}
|
||||
function Name() {return $this->myDOMNode->name;}
|
||||
function Specified() {return $this->myDOMNode->specified;}
|
||||
function Value() {return $this->myDOMNode->value;}
|
||||
}
|
||||
|
||||
class php4DOMDocument extends php4DOMNode
|
||||
{
|
||||
function php4DOMDocument($filename='')
|
||||
{
|
||||
$this->myDOMNode=new DOMDocument();
|
||||
if ($filename!='') $this->myDOMNode->load($filename);
|
||||
}
|
||||
function create_attribute($name,$value)
|
||||
{
|
||||
$myAttr=$this->myDOMNode->createAttribute($name);
|
||||
$myAttr->value=$value;
|
||||
return new php4DOMAttr($myAttr,$this);
|
||||
}
|
||||
function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
|
||||
function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
|
||||
function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
|
||||
function create_text_node($content) {return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);}
|
||||
function document_element() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
|
||||
function dump_file($filename,$compressionmode=false,$format=false) {return $this->myDOMNode->save($filename);}
|
||||
function dump_mem($format=false,$encoding=false) {return $this->myDOMNode->saveXML();}
|
||||
function get_element_by_id($id) {return new php4DOMElement($this->myDOMNode->getElementById($id),$this);}
|
||||
function get_elements_by_tagname($name)
|
||||
{
|
||||
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
|
||||
$nodeSet=array();
|
||||
$i=0;
|
||||
if (isset($myDOMNodeList))
|
||||
while ($node=$myDOMNodeList->item($i))
|
||||
{
|
||||
$nodeSet[]=new php4DOMElement($node,$this);
|
||||
$i++;
|
||||
}
|
||||
return $nodeSet;
|
||||
}
|
||||
function html_dump_mem() {return $this->myDOMNode->saveHTML();}
|
||||
function root() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
|
||||
}
|
||||
|
||||
class php4DOMElement extends php4DOMNode
|
||||
{
|
||||
function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
|
||||
function get_elements_by_tagname($name)
|
||||
{
|
||||
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
|
||||
$nodeSet=array();
|
||||
$i=0;
|
||||
if (isset($myDOMNodeList))
|
||||
while ($node=$myDOMNodeList->item($i))
|
||||
{
|
||||
$nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
|
||||
$i++;
|
||||
}
|
||||
return $nodeSet;
|
||||
}
|
||||
function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
|
||||
function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
|
||||
function set_attribute($name,$value) {return $this->myDOMNode->setAttribute($name,$value);}
|
||||
function tagname() {return $this->myDOMNode->tagName;}
|
||||
}
|
||||
|
||||
class php4DOMNode
|
||||
{
|
||||
var $myDOMNode;
|
||||
var $myOwnerDocument;
|
||||
function php4DOMNode($aDomNode,$aOwnerDocument)
|
||||
{
|
||||
$this->myDOMNode=$aDomNode;
|
||||
$this->myOwnerDocument=$aOwnerDocument;
|
||||
}
|
||||
function __get($name)
|
||||
{
|
||||
if ($name=='type') return $this->myDOMNode->nodeType;
|
||||
elseif ($name=='tagname') return $this->myDOMNode->tagName;
|
||||
elseif ($name=='content') return $this->myDOMNode->textContent;
|
||||
else
|
||||
{
|
||||
$myErrors=debug_backtrace();
|
||||
trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function append_child($newnode) {return new php4DOMElement($this->myDOMNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
|
||||
function append_sibling($newnode) {return new php4DOMElement($this->myDOMNode->parentNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
|
||||
function attributes()
|
||||
{
|
||||
$myDOMNodeList=$this->myDOMNode->attributes;
|
||||
$nodeSet=array();
|
||||
$i=0;
|
||||
if (isset($myDOMNodeList))
|
||||
while ($node=$myDOMNodeList->item($i))
|
||||
{
|
||||
$nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
|
||||
$i++;
|
||||
}
|
||||
return $nodeSet;
|
||||
}
|
||||
function child_nodes()
|
||||
{
|
||||
$myDOMNodeList=$this->myDOMNode->childNodes;
|
||||
$nodeSet=array();
|
||||
$i=0;
|
||||
if (isset($myDOMNodeList))
|
||||
while ($node=$myDOMNodeList->item($i))
|
||||
{
|
||||
$nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
|
||||
$i++;
|
||||
}
|
||||
return $nodeSet;
|
||||
}
|
||||
function children() {return $this->child_nodes();}
|
||||
function clone_node($deep=false) {return new php4DOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
|
||||
function first_child() {return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
|
||||
function get_content() {return $this->myDOMNode->textContent;}
|
||||
function has_attributes() {return $this->myDOMNode->hasAttributes();}
|
||||
function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
|
||||
function insert_before($newnode,$refnode) {return new php4DOMElement($this->myDOMNode->insertBefore($newnode->myDOMNode,$refnode->myDOMNode),$this->myOwnerDocument);}
|
||||
function is_blank_node()
|
||||
{
|
||||
$myDOMNodeList=$this->myDOMNode->childNodes;
|
||||
$i=0;
|
||||
if (isset($myDOMNodeList))
|
||||
while ($node=$myDOMNodeList->item($i))
|
||||
{
|
||||
if (($node->nodeType==XML_ELEMENT_NODE)||
|
||||
(($node->nodeType==XML_TEXT_NODE)&&!ereg('^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))
|
||||
return false;
|
||||
$i++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function last_child() {return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
|
||||
function new_child($name,$content)
|
||||
{
|
||||
$mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
|
||||
$mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));
|
||||
$this->myDOMNode->appendChild($mySubNode);
|
||||
return new php4DOMElement($mySubNode,$this->myOwnerDocument);
|
||||
}
|
||||
function next_sibling() {return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
|
||||
function node_name() {return $this->myDOMNode->localName;}
|
||||
function node_type() {return $this->myDOMNode->nodeType;}
|
||||
function node_value() {return $this->myDOMNode->nodeValue;}
|
||||
function owner_document() {return $this->myOwnerDocument;}
|
||||
function parent_node() {return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
|
||||
function prefix() {return $this->myDOMNode->prefix;}
|
||||
function previous_sibling() {return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
|
||||
function remove_child($oldchild) {return new php4DOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
|
||||
function replace_child($oldnode,$newnode) {return new php4DOMElement($this->myDOMNode->replaceChild($oldnode->myDOMNode,$newnode->myDOMNode),$this->myOwnerDocument);}
|
||||
function set_content($text)
|
||||
{
|
||||
if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))
|
||||
$this->myDOMNode->removeChild($this->myDOMNode->firstChild);
|
||||
return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));
|
||||
}
|
||||
}
|
||||
|
||||
class php4DOMNodelist
|
||||
{
|
||||
var $myDOMNodelist;
|
||||
var $nodeset;
|
||||
function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
|
||||
{
|
||||
$this->myDOMNodelist=$aDOMNodelist;
|
||||
$this->nodeset=array();
|
||||
$i=0;
|
||||
if (isset($this->myDOMNodelist))
|
||||
while ($node=$this->myDOMNodelist->item($i))
|
||||
{
|
||||
$this->nodeset[]=new php4DOMElement($node,$aOwnerDocument);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class php4DOMXPath
|
||||
{
|
||||
var $myDOMXPath;
|
||||
var $myOwnerDocument;
|
||||
function php4DOMXPath($dom_document)
|
||||
{
|
||||
$this->myOwnerDocument=$dom_document;
|
||||
$this->myDOMXPath=new DOMXPath($dom_document->myDOMNode);
|
||||
}
|
||||
function query($eval_str,$contextnode)
|
||||
{
|
||||
if (isset($contextnode)) return new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument);
|
||||
else return new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);
|
||||
}
|
||||
function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
|
||||
}
|
||||
|
||||
if (extension_loaded('xsl'))
|
||||
{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
|
||||
function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
|
||||
function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
|
||||
function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
|
||||
class php4DomXsltStylesheet
|
||||
{
|
||||
var $myxsltProcessor;
|
||||
function php4DomXsltStylesheet($dom_document)
|
||||
{
|
||||
$this->myxsltProcessor=new xsltProcessor();
|
||||
$this->myxsltProcessor->importStyleSheet($dom_document);
|
||||
}
|
||||
function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
|
||||
{
|
||||
foreach ($xslt_parameters as $param=>$value)
|
||||
$this->myxsltProcessor->setParameter('',$param,$value);
|
||||
$myphp4DOMDocument=new php4DOMDocument();
|
||||
$myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
|
||||
return $myphp4DOMDocument;
|
||||
}
|
||||
function result_dump_file($dom_document,$filename)
|
||||
{
|
||||
$html=$dom_document->myDOMNode->saveHTML();
|
||||
file_put_contents($filename,$html);
|
||||
return $html;
|
||||
}
|
||||
function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
|
||||
}
|
||||
}
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/catalan.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/catalan.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/spanish.php
|
||||
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'usant servidor',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'Autentificació CAS necessària!',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'Sortida de CAS necessària!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'Autentificació CAS fallida!',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/english.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/english.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/english.php
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'using server',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'CAS Authentication wanted!',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'CAS logout wanted!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'CAS Authentication failed!',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
28
plugins/CasAuthentication/extlib/CAS/languages/french.php
Normal file
28
plugins/CasAuthentication/extlib/CAS/languages/french.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/english.php
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'utilisant le serveur',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'Authentication CAS nécessaire !',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'Déconnexion demandée !',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'Vous auriez du etre redirigé(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'Authentification CAS infructueuse !',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>Vous n\'avez pas été authentifié(e).</p><p>Vous pouvez soumettre votre requete à nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problème persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
|
||||
|
||||
);
|
||||
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/german.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/german.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/german.php
|
||||
* @author Henrik Genssen <hg at mediafactory.de>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'via Server',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'CAS Authentifizierung erforderlich!',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'CAS Abmeldung!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'eigentlich häten Sie zum CAS Server weitergeleitet werden sollen. Drücken Sie <a href="%s">hier</a> um fortzufahren.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'CAS Anmeldung fehlgeschlagen!',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'Der Dienst `<b>%s</b>\' ist nicht verfügbar (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/greek.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/greek.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/greek.php
|
||||
* @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> '÷ñçóéìïðïéåßôáé ï åîõðçñåôçôÞò',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'Áðáéôåßôáé ç ôáõôïðïßçóç CAS!',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'Áðáéôåßôáé ç áðïóýíäåóç áðü CAS!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'Èá Ýðñåðå íá åß÷áôå áíáêáôåõèõíèåß óôïí åîõðçñåôçôÞ CAS. ÊÜíôå êëßê <a href="%s">åäþ</a> ãéá íá óõíå÷ßóåôå.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'Ç ôáõôïðïßçóç CAS áðÝôõ÷å!',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>Äåí ôáõôïðïéçèÞêáôå.</p><p>Ìðïñåßôå íá îáíáðñïóðáèÞóåôå, êÜíïíôáò êëßê <a href="%s">åäþ</a>.</p><p>Åáí ôï ðñüâëçìá åðéìåßíåé, åëÜôå óå åðáöÞ ìå ôïí <a href="mailto:%s">äéá÷åéñéóôÞ</a>.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'Ç õðçñåóßá `<b>%s</b>\' äåí åßíáé äéáèÝóéìç (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/japanese.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/japanese.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/japanese.php
|
||||
* @author fnorif (fnorif@yahoo.co.jp)
|
||||
*
|
||||
* Now Encoding is EUC-JP and LF
|
||||
**/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'using server',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> 'CASによる認証を行います',
|
||||
CAS_STR_LOGOUT
|
||||
=> 'CASからログアウトします!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'CASサーバに行く必要があります。自動的に転送されない場合は <a href="%s">こちら</a> をクリックして続行します。',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> 'CASによる認証に失敗しました',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>認証できませんでした.</p><p>もう一度リクエストを送信する場合は<a href="%s">こちら</a>をクリック.</p><p>問題が解決しない場合は <a href="mailto:%s">このサイトの管理者</a>に問い合わせてください.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'サービス `<b>%s</b>\' は利用できません (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
24
plugins/CasAuthentication/extlib/CAS/languages/languages.php
Normal file
24
plugins/CasAuthentication/extlib/CAS/languages/languages.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/languages.php
|
||||
* Internationalization constants
|
||||
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
//@{
|
||||
/**
|
||||
* a phpCAS string index
|
||||
*/
|
||||
define("CAS_STR_USING_SERVER", 1);
|
||||
define("CAS_STR_AUTHENTICATION_WANTED", 2);
|
||||
define("CAS_STR_LOGOUT", 3);
|
||||
define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
|
||||
define("CAS_STR_AUTHENTICATION_FAILED", 5);
|
||||
define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
|
||||
define("CAS_STR_SERVICE_UNAVAILABLE", 7);
|
||||
//@}
|
||||
|
||||
?>
|
27
plugins/CasAuthentication/extlib/CAS/languages/spanish.php
Normal file
27
plugins/CasAuthentication/extlib/CAS/languages/spanish.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file languages/spanish.php
|
||||
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
|
||||
* @sa @link internalLang Internationalization @endlink
|
||||
* @ingroup internalLang
|
||||
*/
|
||||
|
||||
$this->_strings = array(
|
||||
CAS_STR_USING_SERVER
|
||||
=> 'usando servidor',
|
||||
CAS_STR_AUTHENTICATION_WANTED
|
||||
=> '¡Autentificación CAS necesaria!',
|
||||
CAS_STR_LOGOUT
|
||||
=> '¡Salida CAS necesaria!',
|
||||
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
|
||||
=> 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
|
||||
CAS_STR_AUTHENTICATION_FAILED
|
||||
=> '¡Autentificación CAS fallida!',
|
||||
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
|
||||
=> '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
|
||||
CAS_STR_SERVICE_UNAVAILABLE
|
||||
=> 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
|
||||
);
|
||||
|
||||
?>
|
Loading…
Reference in New Issue
Block a user