+ t($_['errorCode']));?>: t($_['errorMessage'])); ?> +
++ + + +
+ diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/autoload.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/autoload.php new file mode 100644 index 0000000..164244c --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano'. $lang->getShouldHaveBeenRedirected(). '
', $cas_url); + $this->printHTMLFooter(); + phpCAS::traceExit(); + throw new CAS_GracefullTerminationException(); + } + + + /** + * This method is used to logout from CAS. + * + * @param array $params an array that contains the optional url and service + * parameters that will be passed to the CAS server + * + * @return void + */ + public function logout($params) + { + phpCAS::traceBegin(); + $cas_url = $this->getServerLogoutURL(); + $paramSeparator = '?'; + if (isset($params['url'])) { + $cas_url = $cas_url . $paramSeparator . "url=" + . urlencode($params['url']); + $paramSeparator = '&'; + } + if (isset($params['service'])) { + $cas_url = $cas_url . $paramSeparator . "service=" + . urlencode($params['service']); + } + header('Location: '.$cas_url); + phpCAS::trace("Prepare redirect to : ".$cas_url); + + phpCAS::trace("Destroying session : ".session_id()); + session_unset(); + session_destroy(); + if (session_status() === PHP_SESSION_NONE) { + phpCAS::trace("Session terminated"); + } else { + phpCAS::error("Session was not terminated"); + phpCAS::trace("Session was not terminated"); + } + $lang = $this->getLangObj(); + $this->printHTMLHeader($lang->getLogout()); + $this->printf(''.$lang->getShouldHaveBeenRedirected(). '
', $cas_url); + $this->printHTMLFooter(); + phpCAS::traceExit(); + throw new CAS_GracefullTerminationException(); + } + + /** + * Check of the current request is a logout request + * + * @return bool is logout request. + */ + private function _isLogoutRequest() + { + return !empty($_POST['logoutRequest']); + } + + /** + * This method handles logout requests. + * + * @param bool $check_client true to check the client bofore handling + * the request, false not to perform any access control. True by default. + * @param array $allowed_clients an array of host names allowed to send + * logout requests. + * + * @return void + */ + public function handleLogoutRequests($check_client=true, $allowed_clients=array()) + { + phpCAS::traceBegin(); + if (!$this->_isLogoutRequest()) { + phpCAS::trace("Not a logout request"); + phpCAS::traceEnd(); + return; + } + if (!$this->getChangeSessionID() + && is_null($this->_signoutCallbackFunction) + ) { + phpCAS::trace( + "phpCAS can't handle logout requests if it is not allowed to change session_id." + ); + } + phpCAS::trace("Logout requested"); + $decoded_logout_rq = urldecode($_POST['logoutRequest']); + phpCAS::trace("SAML REQUEST: ".$decoded_logout_rq); + $allowed = false; + if ($check_client) { + if ($allowed_clients === array()) { + $allowed_clients = array( $this->_getServerHostname() ); + } + $client_ip = $_SERVER['REMOTE_ADDR']; + $client = gethostbyaddr($client_ip); + phpCAS::trace("Client: ".$client."/".$client_ip); + foreach ($allowed_clients as $allowed_client) { + if (($client == $allowed_client) + || ($client_ip == $allowed_client) + ) { + phpCAS::trace( + "Allowed client '".$allowed_client + ."' matches, logout request is allowed" + ); + $allowed = true; + break; + } else { + phpCAS::trace( + "Allowed client '".$allowed_client."' does not match" + ); + } + } + } else { + phpCAS::trace("No access control set"); + $allowed = true; + } + // If Logout command is permitted proceed with the logout + if ($allowed) { + phpCAS::trace("Logout command allowed"); + // Rebroadcast the logout request + if ($this->_rebroadcast && !isset($_POST['rebroadcast'])) { + $this->_rebroadcast(self::LOGOUT); + } + // Extract the ticket from the SAML Request + preg_match( + "|Storing PGT `'.$pgtId.'\' (id=`'.$pgtIou.'\').
'; + $this->printHTMLFooter(); + phpCAS::traceExit("HTML response sent"); + } + phpCAS::traceExit("Successfull Callback"); + } else { + phpCAS::error('PGT format invalid' . $pgtId); + phpCAS::traceExit('PGT format invalid' . $pgtId); + } + } else { + phpCAS::error('PGTiou format invalid' . $pgtIou); + phpCAS::traceExit('PGTiou format invalid' . $pgtIou); + } + + // Flush the buffer to prevent from sending anything other then a 200 + // Success Status back to the CAS Server. The Exception would normally + // report as a 500 error. + flush(); + throw new CAS_GracefullTerminationException(); + } + + /** + * Check if application/xml or text/xml is pressent in HTTP_ACCEPT header values + * when return value is complex and contains attached q parameters. + * Example: HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9 + * @return bool + */ + private function isXmlResponse() + { + if (!array_key_exists('HTTP_ACCEPT', $_SERVER)) { + return false; + } + if (strpos($_SERVER['HTTP_ACCEPT'], 'application/xml') === false && strpos($_SERVER['HTTP_ACCEPT'], 'text/xml') === false) { + return false; + } + + return true; + } + + /** @} */ + + // ######################################################################## + // PGT STORAGE + // ######################################################################## + /** + * @addtogroup internalPGTStorage + * @{ + */ + + /** + * @var CAS_PGTStorage_AbstractStorage + * an instance of a class inheriting of PGTStorage, used to deal with PGT + * storage. Created by CAS_Client::setPGTStorageFile(), used + * by CAS_Client::setPGTStorageFile() and CAS_Client::_initPGTStorage(). + * + * @hideinitializer + */ + private $_pgt_storage = null; + + /** + * This method is used to initialize the storage of PGT's. + * Halts on error. + * + * @return void + */ + private function _initPGTStorage() + { + // if no SetPGTStorageXxx() has been used, default to file + if ( !is_object($this->_pgt_storage) ) { + $this->setPGTStorageFile(); + } + + // initializes the storage + $this->_pgt_storage->init(); + } + + /** + * This method stores a PGT. Halts on error. + * + * @param string $pgt the PGT to store + * @param string $pgt_iou its corresponding Iou + * + * @return void + */ + private function _storePGT($pgt,$pgt_iou) + { + // ensure that storage is initialized + $this->_initPGTStorage(); + // writes the PGT + $this->_pgt_storage->write($pgt, $pgt_iou); + } + + /** + * This method reads a PGT from its Iou and deletes the corresponding + * storage entry. + * + * @param string $pgt_iou the PGT Iou + * + * @return string mul The PGT corresponding to the Iou, false when not found. + */ + private function _loadPGT($pgt_iou) + { + // ensure that storage is initialized + $this->_initPGTStorage(); + // read the PGT + return $this->_pgt_storage->read($pgt_iou); + } + + /** + * This method can be used to set a custom PGT storage object. + * + * @param CAS_PGTStorage_AbstractStorage $storage a PGT storage object that + * inherits from the CAS_PGTStorage_AbstractStorage class + * + * @return void + */ + public function setPGTStorage($storage) + { + // Sequence validation + $this->ensureIsProxy(); + + // check that the storage has not already been set + if ( is_object($this->_pgt_storage) ) { + phpCAS::error('PGT storage already defined'); + } + + // check to make sure a valid storage object was specified + if ( !($storage instanceof CAS_PGTStorage_AbstractStorage) ) + throw new CAS_TypeMismatchException($storage, '$storage', 'CAS_PGTStorage_AbstractStorage object'); + + // store the PGTStorage object + $this->_pgt_storage = $storage; + } + + /** + * This method is used to tell phpCAS to store the response of the + * CAS server to PGT requests in a database. + * + * @param string|PDO $dsn_or_pdo a dsn string to use for creating a PDO + * object or a PDO object + * @param string $username the username to use when connecting to the + * database + * @param string $password the password to use when connecting to the + * database + * @param string $table the table to use for storing and retrieving + * PGTs + * @param string $driver_options any driver options to use when connecting + * to the database + * + * @return void + */ + public function setPGTStorageDb( + $dsn_or_pdo, $username='', $password='', $table='', $driver_options=null + ) { + // Sequence validation + $this->ensureIsProxy(); + + // Argument validation + if (!(is_object($dsn_or_pdo) && $dsn_or_pdo instanceof PDO) && !is_string($dsn_or_pdo)) + throw new CAS_TypeMismatchException($dsn_or_pdo, '$dsn_or_pdo', 'string or PDO object'); + if (gettype($username) != 'string') + throw new CAS_TypeMismatchException($username, '$username', 'string'); + if (gettype($password) != 'string') + throw new CAS_TypeMismatchException($password, '$password', 'string'); + if (gettype($table) != 'string') + throw new CAS_TypeMismatchException($table, '$password', 'string'); + + // create the storage object + $this->setPGTStorage( + new CAS_PGTStorage_Db( + $this, $dsn_or_pdo, $username, $password, $table, $driver_options + ) + ); + } + + /** + * This method is used to tell phpCAS to store the response of the + * CAS server to PGT requests onto the filesystem. + * + * @param string $path the path where the PGT's should be stored + * + * @return void + */ + public function setPGTStorageFile($path='') + { + // Sequence validation + $this->ensureIsProxy(); + + // Argument validation + if (gettype($path) != 'string') + throw new CAS_TypeMismatchException($path, '$path', 'string'); + + // create the storage object + $this->setPGTStorage(new CAS_PGTStorage_File($this, $path)); + } + + + // ######################################################################## + // PGT VALIDATION + // ######################################################################## + /** + * This method is used to validate a PGT; halt on failure. + * + * @param string &$validate_url the URL of the request to the CAS server. + * @param string $text_response the response of the CAS server, as is + * (XML text); result of + * CAS_Client::validateCAS10() or + * CAS_Client::validateCAS20(). + * @param DOMElement $tree_response the response of the CAS server, as a DOM XML + * tree; result of CAS_Client::validateCAS10() or CAS_Client::validateCAS20(). + * + * @return bool true when successfull and issue a CAS_AuthenticationException + * and false on an error + * + * @throws CAS_AuthenticationException + */ + private function _validatePGT(&$validate_url,$text_response,$tree_response) + { + phpCAS::traceBegin(); + if ( $tree_response->getElementsByTagName("proxyGrantingTicket")->length == 0) { + phpCAS::trace('No estàs autentificat.
Pots tornar a intentar-ho fent click aquí.
Si el problema persisteix hauría de contactar amb l\'administrador d\'aquest llocc.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'El servei `%s\' no està disponible (%s).'; + } +} diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/ChineseSimplified.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/ChineseSimplified.php new file mode 100644 index 0000000..5e33cb6 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/ChineseSimplified.php @@ -0,0 +1,114 @@ +, Phy25你没有成功登录。
你可以点击这里重新登录。
如果问题依然存在,请联系本站管理员。
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return '服务器 %s 不可用(%s)。'; + } +} diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/English.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/English.php new file mode 100644 index 0000000..cb13bde --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/English.php @@ -0,0 +1,114 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * English language class + * + * @class CAS_Languages_English + * @category Authentication + * @package PhpCAS + * @author Pascal AubryYou were not authenticated.
You may submit your request again by clicking here.
If the problem persists, you may contact the administrator of this site.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'The service `%s\' is not available (%s).'; + } +} diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/French.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/French.php new file mode 100644 index 0000000..14f65ab --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/French.php @@ -0,0 +1,116 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * French language class + * + * @class CAS_Languages_French + * @category Authentication + * @package PhpCAS + * @author Pascal AubryVous n\'avez pas été authentifié(e).
Vous pouvez soumettre votre requete à nouveau en cliquant ici.
Si le problème persiste, vous pouvez contacter l\'administrateur de ce site.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'Le service `%s\' est indisponible (%s)'; + } +} + +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Galego.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Galego.php new file mode 100644 index 0000000..d5bf404 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Galego.php @@ -0,0 +1,117 @@ +aquí para continuar'; + } + + /** + * Get authentication failed string + * + * @return string authentication failed + */ + public function getAuthenticationFailed() + { + return 'Autenticación CAS errada!'; + } + + /** + * Get the your were not authenticated string + * + * @return string not authenticated + */ + public function getYouWereNotAuthenticated() + { + return ' +Non estás autenticado
Podes volver tentalo facendo click aquí.
Se o problema persiste debería contactar con el administrador deste sitio.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'O servizo `%s\' non está dispoñible (%s).'; + } +} +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/German.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/German.php new file mode 100644 index 0000000..b718b14 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/German.php @@ -0,0 +1,116 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * German language class + * + * @class CAS_Languages_German + * @category Authentication + * @package PhpCAS + * @author Henrik GenssenSie wurden nicht angemeldet.
Um es erneut zu versuchen klicken Sie hier.
Wenn das Problem bestehen bleibt, kontaktieren Sie den Administrator dieser Seite.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'Der Dienst `%s\' ist nicht verfügbar (%s).'; + } +} + +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Greek.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Greek.php new file mode 100644 index 0000000..1cfb107 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Greek.php @@ -0,0 +1,115 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * Greek language class + * + * @class CAS_Languages_Greek + * @category Authentication + * @package PhpCAS + * @author Vangelis HaniotakisΔεν ταυτοποιηθήκατε.
Μπορείτε να ξαναπροσπαθήσετε, κάνοντας κλίκ εδώ.
Εαν το πρόβλημα επιμείνει, ελάτε σε επαφή με τον διαχειριστή.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'Η υπηρεσία `%s\' δεν είναι διαθέσιμη (%s).'; + } +} +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Japanese.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Japanese.php new file mode 100644 index 0000000..5681484 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Japanese.php @@ -0,0 +1,113 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * Japanese language class. Now Encoding is UTF-8. + * + * @class CAS_Languages_Japanese + * @category Authentication + * @package PhpCAS + * @author fnorif認証できませんでした。
もう一度リクエストを送信する場合はこちらをクリック。
問題が解決しない場合は このサイトの管理者に問い合わせてください。
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'サービス `%s\' は利用できません (%s)。'; + } +} +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/LanguageInterface.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/LanguageInterface.php new file mode 100644 index 0000000..dfb0ac5 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/LanguageInterface.php @@ -0,0 +1,96 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * Language Interface class for all internationalization files + * + * @class CAS_Languages_LanguageInterface + * @category Authentication + * @package PhpCAS + * @author Joachim FritschiVocê não foi autenticado.
Você pode enviar sua solicitação novamente clicando aqui.
Se o problema persistir, você pode entrar em contato com o administrador deste site.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'O serviço `%s\' não está disponível (%s).'; + } +} diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Spanish.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Spanish.php new file mode 100644 index 0000000..c6ea50e --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/Languages/Spanish.php @@ -0,0 +1,117 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * Spanish language class + * + * @class CAS_Languages_Spanish + * @category Authentication + * @package PhpCAS + * @author Iván-Benjamín García ToràNo estás autentificado.
Puedes volver a intentarlo haciendo click aquí.
Si el problema persiste debería contactar con el administrador de este sitio.
'; + } + + /** + * Get the service unavailable string + * + * @return string service unavailable + */ + public function getServiceUnavailable() + { + return 'El servicio `%s\' no está disponible (%s).'; + } +} +?> diff --git a/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeAuthenticationCallException.php b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeAuthenticationCallException.php new file mode 100644 index 0000000..d4d7680 --- /dev/null +++ b/services/50-nextcloud/volume/nine/envole/app/user_cas/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeAuthenticationCallException.php @@ -0,0 +1,56 @@ + + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 + * @link https://wiki.jasig.org/display/CASC/phpCAS + */ + +/** + * This class defines Exceptions that should be thrown when the sequence of + * operations is invalid. In this case it should be thrown when an + * authentication call has not yet happened. + * + * @class CAS_OutOfSequenceBeforeAuthenticationCallException + * @category Authentication + * @package PhpCAS + * @author Joachim Fritschi