Upgrade phpCAS
[piwik-CASLogin.git] / CAS / CAS / PGTStorage / pgt-file.php
diff --git a/CAS/CAS/PGTStorage/pgt-file.php b/CAS/CAS/PGTStorage/pgt-file.php
deleted file mode 100644 (file)
index e4190a8..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php\r
-/*\r
- * Copyright © 2003-2010, The ESUP-Portail consortium & the JA-SIG Collaborative.\r
- * All rights reserved.\r
- * \r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions are met:\r
- * \r
- *     * Redistributions of source code must retain the above copyright notice,\r
- *       this list of conditions and the following disclaimer.\r
- *     * Redistributions in binary form must reproduce the above copyright notice,\r
- *       this list of conditions and the following disclaimer in the documentation\r
- *       and/or other materials provided with the distribution.\r
- *     * Neither the name of the ESUP-Portail consortium & the JA-SIG\r
- *       Collaborative nor the names of its contributors may be used to endorse or\r
- *       promote products derived from this software without specific prior\r
- *       written permission.\r
-\r
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\r
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\r
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- */\r
-/**\r
- * @file CAS/PGTStorage/pgt-file.php\r
- * Basic class for PGT file storage\r
- */\r
-\r
-/**\r
- * @class PGTStorageFile\r
- * The PGTStorageFile class is a class for PGT file storage. An instance of \r
- * this class is returned by CASClient::SetPGTStorageFile().\r
- *\r
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>\r
- *\r
- * @ingroup internalPGTStorageFile\r
- */\r
-\r
-class PGTStorageFile extends PGTStorage\r
-{\r
-  /** \r
-   * @addtogroup internalPGTStorageFile \r
-   * @{ \r
-   */\r
-\r
-  /**\r
-   * a string telling where PGT's should be stored on the filesystem. Written by\r
-   * PGTStorageFile::PGTStorageFile(), read by getPath().\r
-   *\r
-   * @private\r
-   */\r
-  var $_path;\r
-\r
-  /**\r
-   * This method returns the name of the directory where PGT's should be stored \r
-   * on the filesystem.\r
-   *\r
-   * @return the name of a directory (with leading and trailing '/')\r
-   *\r
-   * @private\r
-   */\r
-  function getPath()\r
-    {\r
-      return $this->_path;\r
-    }\r
-\r
-  /**\r
-   * a string telling the format to use to store PGT's (plain or xml). Written by\r
-   * PGTStorageFile::PGTStorageFile(), read by getFormat().\r
-   *\r
-   * @private\r
-   */\r
-  var $_format;\r
-\r
-  /**\r
-   * This method returns the format to use when storing PGT's on the filesystem.\r
-   *\r
-   * @return a string corresponding to the format used (plain or xml).\r
-   *\r
-   * @private\r
-   */\r
-  function getFormat()\r
-    {\r
-      return $this->_format;\r
-    }\r
-\r
-  // ########################################################################\r
-  //  DEBUGGING\r
-  // ########################################################################\r
-  \r
-  /**\r
-   * This method returns an informational string giving the type of storage\r
-   * used by the object (used for debugging purposes).\r
-   *\r
-   * @return an informational string.\r
-   * @public\r
-   */\r
-  function getStorageType()\r
-    {\r
-      return "file";\r
-    }\r
-\r
-  /**\r
-   * This method returns an informational string giving informations on the\r
-   * parameters of the storage.(used for debugging purposes).\r
-   *\r
-   * @return an informational string.\r
-   * @public\r
-   */\r
-  function getStorageInfo()\r
-    {\r
-      return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';\r
-    }\r
-\r
-  // ########################################################################\r
-  //  CONSTRUCTOR\r
-  // ########################################################################\r
-  \r
-  /**\r
-   * The class constructor, called by CASClient::SetPGTStorageFile().\r
-   *\r
-   * @param $cas_parent the CASClient instance that creates the object.\r
-   * @param $format the format used to store the PGT's (`plain' and `xml' allowed).\r
-   * @param $path the path where the PGT's should be stored\r
-   *\r
-   * @public\r
-   */\r
-  function PGTStorageFile($cas_parent,$format,$path)\r
-    {\r
-      phpCAS::traceBegin();\r
-      // call the ancestor's constructor\r
-      $this->PGTStorage($cas_parent);\r
-\r
-      if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;\r
-      if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;\r
-\r
-      // check that the path is an absolute path\r
-      if (getenv("OS")=="Windows_NT"){\r
-       \r
-        if (!preg_match('`^[a-zA-Z]:`', $path)) {\r
-               phpCAS::error('an absolute path is needed for PGT storage to file');\r
-       }\r
-       \r
-      }\r
-      else\r
-      {\r
-      \r
-       if ( $path[0] != '/' ) {\r
-                       phpCAS::error('an absolute path is needed for PGT storage to file');\r
-       }\r
-\r
-       // store the path (with a leading and trailing '/')      \r
-       $path = preg_replace('|[/]*$|','/',$path);\r
-       $path = preg_replace('|^[/]*|','/',$path);\r
-      }\r
-      \r
-      $this->_path = $path;\r
-      // check the format and store it\r
-      switch ($format) {\r
-      case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:\r
-      case CAS_PGT_STORAGE_FILE_FORMAT_XML:\r
-       $this->_format = $format;\r
-       break;\r
-      default:\r
-       phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');\r
-      }\r
-      phpCAS::traceEnd();      \r
-    }\r
-\r
-  // ########################################################################\r
-  //  INITIALIZATION\r
-  // ########################################################################\r
-  \r
-  /**\r
-   * This method is used to initialize the storage. Halts on error.\r
-   *\r
-   * @public\r
-   */\r
-  function init()\r
-    {\r
-      phpCAS::traceBegin();\r
-      // if the storage has already been initialized, return immediatly\r
-      if ( $this->isInitialized() )\r
-       return;\r
-      // call the ancestor's method (mark as initialized)\r
-      parent::init();\r
-      phpCAS::traceEnd();      \r
-    }\r
-\r
-  // ########################################################################\r
-  //  PGT I/O\r
-  // ########################################################################\r
-\r
-  /**\r
-   * This method returns the filename corresponding to a PGT Iou.\r
-   *\r
-   * @param $pgt_iou the PGT iou.\r
-   *\r
-   * @return a filename\r
-   * @private\r
-   */\r
-  function getPGTIouFilename($pgt_iou)\r
-    {\r
-      phpCAS::traceBegin();\r
-      $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();\r
-      phpCAS::traceEnd($filename);\r
-      return $filename;\r
-    }\r
-  \r
-  /**\r
-   * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a\r
-   * warning on error.\r
-   *\r
-   * @param $pgt the PGT\r
-   * @param $pgt_iou the PGT iou\r
-   *\r
-   * @public\r
-   */\r
-  function write($pgt,$pgt_iou)\r
-         {\r
-         phpCAS::traceBegin();\r
-         $fname = $this->getPGTIouFilename($pgt_iou);\r
-         if(!file_exists($fname)){\r
-                 if ( $f=fopen($fname,"w") ) {\r
-                         if ( fputs($f,$pgt) === FALSE ) {\r
-                                 phpCAS::error('could not write PGT to `'.$fname.'\'');\r
-                         }\r
-                         fclose($f);\r
-                 } else {\r
-                         phpCAS::error('could not open `'.$fname.'\'');\r
-                 }\r
-         }else{\r
-                 phpCAS::error('File exists: `'.$fname.'\'');\r
-         }\r
-         phpCAS::traceEnd();      \r
-         }\r
-\r
-  /**\r
-   * This method reads a PGT corresponding to a PGT Iou and deletes the \r
-   * corresponding file.\r
-   *\r
-   * @param $pgt_iou the PGT iou\r
-   *\r
-   * @return the corresponding PGT, or FALSE on error\r
-   *\r
-   * @public\r
-   */\r
-  function read($pgt_iou)\r
-         {\r
-         phpCAS::traceBegin();\r
-         $pgt = FALSE;\r
-         $fname = $this->getPGTIouFilename($pgt_iou);\r
-         if (file_exists($fname)){\r
-                 if ( !($f=fopen($fname,"r")) ) {\r
-                         phpCAS::trace('could not open `'.$fname.'\'');\r
-                 } else {\r
-                         if ( ($pgt=fgets($f)) === FALSE ) {\r
-                                 phpCAS::trace('could not read PGT from `'.$fname.'\'');\r
-                         } \r
-                         fclose($f);\r
-                 }\r
-                 \r
-                 // delete the PGT file\r
-                 @unlink($fname);\r
-         }else{\r
-                 phpCAS::trace('No such file `'.$fname.'\'');\r
-         }\r
-         phpCAS::traceEnd($pgt);\r
-         return $pgt;\r
-         }\r
-  \r
-  /** @} */\r
-  \r
-}\r
-\r
-  \r
-?>
\ No newline at end of file