ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
InternalPGTStorageFile

Data Structures

class  PGTStorageFile
 The PGTStorageFile class is a class for PGT file storage. More...

Functions

 PGTStorageFile::getPath ()
 This method returns the name of the directory where PGT's should be stored on the filesystem.
 PGTStorageFile::getFormat ()
 This method returns the format to use when storing PGT's on the filesystem.
 PGTStorageFile::getStorageType ()
 This method returns an informational string giving the type of storage used by the object (used for debugging purposes).
 PGTStorageFile::getStorageInfo ()
 This method returns an informational string giving informations on the parameters of the storage.
 PGTStorageFile::PGTStorageFile ($cas_parent, $format, $path)
 The class constructor, called by CASClient::SetPGTStorageFile().
 PGTStorageFile::init ()
 This method is used to initialize the storage.
 PGTStorageFile::getPGTIouFilename ($pgt_iou)
 This method returns the filename corresponding to a PGT Iou.
 PGTStorageFile::write ($pgt, $pgt_iou)
 This method stores a PGT and its corresponding PGT Iou into a file.
 PGTStorageFile::read ($pgt_iou)
 This method reads a PGT corresponding to a PGT Iou and deletes the corresponding file.

Variables

 PGTStorageFile::$_path
 a string telling where PGT's should be stored on the filesystem.
 PGTStorageFile::$_format
 a string telling the format to use to store PGT's (plain or xml).

Detailed Description

Function Documentation

PGTStorageFile::getFormat ( )
private

This method returns the format to use when storing PGT's on the filesystem.

Returns
a string corresponding to the format used (plain or xml).

Definition at line 61 of file pgt-file.php.

References PGTStorageFile\$_format.

Referenced by PGTStorageFile\getPGTIouFilename().

{
}

+ Here is the caller graph for this function:

PGTStorageFile::getPath ( )
private

This method returns the name of the directory where PGT's should be stored on the filesystem.

Returns
the name of a directory (with leading and trailing '/')

Definition at line 41 of file pgt-file.php.

References PGTStorageFile\$_path.

Referenced by PGTStorageFile\getPGTIouFilename().

{
return $this->_path;
}

+ Here is the caller graph for this function:

PGTStorageFile::getPGTIouFilename (   $pgt_iou)
private

This method returns the filename corresponding to a PGT Iou.

Parameters
$pgt_iouthe PGT iou.
Returns
a filename

Definition at line 170 of file pgt-file.php.

References PGTStorageFile\getFormat(), and PGTStorageFile\getPath().

Referenced by PGTStorageFile\read(), and PGTStorageFile\write().

{
phpCAS::traceBegin();
return $this->getPath().$pgt_iou.'.'.$this->getFormat();
phpCAS::traceEnd();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PGTStorageFile::getStorageInfo ( )

This method returns an informational string giving informations on the parameters of the storage.

(used for debugging purposes).

Returns
an informational string.

Reimplemented from PGTStorage.

Definition at line 89 of file pgt-file.php.

{
return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
}
PGTStorageFile::getStorageType ( )

This method returns an informational string giving the type of storage used by the object (used for debugging purposes).

Returns
an informational string.

Reimplemented from PGTStorage.

Definition at line 77 of file pgt-file.php.

{
return "file";
}
PGTStorageFile::init ( )

This method is used to initialize the storage.

Halts on error.

Reimplemented from PGTStorage.

Definition at line 147 of file pgt-file.php.

References PGTStorage\isInitialized().

{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
phpCAS::traceEnd();
}

+ Here is the call graph for this function:

PGTStorageFile::PGTStorageFile (   $cas_parent,
  $format,
  $path 
)

The class constructor, called by CASClient::SetPGTStorageFile().

Parameters
$cas_parentthe CASClient instance that creates the object.
$formatthe format used to store the PGT's (`plain' and `xml' allowed).
$paththe path where the PGT's should be stored

Definition at line 107 of file pgt-file.php.

References CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT, CAS_PGT_STORAGE_FILE_DEFAULT_PATH, CAS_PGT_STORAGE_FILE_FORMAT_PLAIN, CAS_PGT_STORAGE_FILE_FORMAT_XML, and PGTStorage\PGTStorage().

{
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 ( $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) {
$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();
}

+ Here is the call graph for this function:

PGTStorageFile::read (   $pgt_iou)

This method reads a PGT corresponding to a PGT Iou and deletes the corresponding file.

Parameters
$pgt_iouthe PGT iou
Returns
the corresponding PGT, or FALSE on error

Reimplemented from PGTStorage.

Definition at line 211 of file pgt-file.php.

References PGTStorageFile\getPGTIouFilename().

{
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;
}

+ Here is the call graph for this function:

PGTStorageFile::write (   $pgt,
  $pgt_iou 
)

This method stores a PGT and its corresponding PGT Iou into a file.

Echoes a warning on error.

Parameters
$pgtthe PGT
$pgt_iouthe PGT iou

Reimplemented from PGTStorage.

Definition at line 186 of file pgt-file.php.

References PGTStorageFile\getPGTIouFilename().

{
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();
}

+ Here is the call graph for this function:

Variable Documentation

PGTStorageFile::$_format
private

a string telling the format to use to store PGT's (plain or xml).

Written by PGTStorageFile::PGTStorageFile(), read by getFormat().

Definition at line 52 of file pgt-file.php.

Referenced by PGTStorageFile\getFormat().

PGTStorageFile::$_path
private

a string telling where PGT's should be stored on the filesystem.

Written by PGTStorageFile::PGTStorageFile(), read by getPath().

Definition at line 31 of file pgt-file.php.

Referenced by PGTStorageFile\getPath().