ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilFileDataCourse Class Reference

This class handles all operations of archive files for the course object. More...

+ Inheritance diagram for ilFileDataCourse:
+ Collaboration diagram for ilFileDataCourse:

Public Member Functions

 ilFileDataCourse ($a_course_id)
 Constructor call base constructors checks if directory is writable and sets the optional obj_id.
 getArchiveFile ($a_rel_name)
 getMemberExportFiles ()
 Get all member export files.
 deleteMemberExportFile ($a_name)
 getMemberExportFile ($a_name)
 deleteArchive ($a_rel_name)
 deleteZipFile ($a_abs_name)
 deleteDirectory ($a_abs_name)
 deletePdf ($a_abs_name)
 copy ($a_from, $a_to)
 rCopy ($a_from, $a_to)
 addDirectory ($a_rel_name)
 writeToFile ($a_data, $a_rel_name)
 zipFile ($a_rel_name, $a_zip_name)
 getCoursePath ()
 get exercise path public
 createOnlineVersion ($a_rel_name)
 getOnlineLink ($a_rel_name)
 createImportFile ($a_tmp_name, $a_name)
 unpackImportFile ()
 validateImportFile ()
 getImportFile ()
 __checkPath ()
 __checkImportPath ()
 __checkReadWrite ()
 check if directory is writable overwritten method from base class private
 __initDirectory ()
 init directory overwritten method public
- Public Member Functions inherited from ilFileData
 ilFileData ()
 Constructor class bas constructor and read path of directory from ilias.ini setup an mail object public.
 checkPath ($a_path)
 check if path exists and is writable
 getPath ()
 get Path public
- Public Member Functions inherited from ilFile
 ilFile ()
 Constructor get ilias object public.
 deleteTrailingSlash ($a_path)
 delete trailing slash of path variables

Data Fields

 $course_path

Private Attributes

 $course_id

Detailed Description

This class handles all operations of archive files for the course object.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 34 of file class.ilFileDataCourse.php.

Member Function Documentation

ilFileDataCourse::__checkImportPath ( )

Definition at line 304 of file class.ilFileDataCourse.php.

References getCoursePath(), and ilUtil\makeDir().

Referenced by ilFileDataCourse().

{
if(!@file_exists($this->getCoursePath().'/import'))
{
ilUtil::makeDir($this->getCoursePath().'/import');
}
if(!is_writable($this->getCoursePath().'/import') or !is_readable($this->getCoursePath().'/import'))
{
$this->ilias->raiseError("Course import path is not readable/writable by webserver",$this->ilias->error_obj->FATAL);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilFileDataCourse::__checkPath ( )

Definition at line 287 of file class.ilFileDataCourse.php.

References __checkReadWrite(), getCoursePath(), and ilUtil\makeDir().

Referenced by ilFileDataCourse().

{
if(!@file_exists($this->getCoursePath()))
{
return false;
}
if(!@file_exists(CLIENT_WEB_DIR.'/courses'))
{
ilUtil::makeDir(CLIENT_WEB_DIR.'/courses');
}
$this->__checkReadWrite();
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilFileDataCourse::__checkReadWrite ( )

check if directory is writable overwritten method from base class private

Returns
bool

Definition at line 323 of file class.ilFileDataCourse.php.

Referenced by __checkPath().

{
if(is_writable($this->course_path) && is_readable($this->course_path))
{
return true;
}
else
{
$this->ilias->raiseError("Course directory is not readable/writable by webserver",$this->ilias->error_obj->FATAL);
}
}

+ Here is the caller graph for this function:

ilFileDataCourse::__initDirectory ( )

init directory overwritten method public

Returns
string path

Definition at line 340 of file class.ilFileDataCourse.php.

References ilFileData\getPath(), and ilUtil\makeDir().

Referenced by ilFileDataCourse().

{
if(is_writable($this->getPath()))
{
ilUtil::makeDir($this->getPath().'/'.COURSE_PATH);
$this->course_path = $this->getPath().'/'.COURSE_PATH;
return true;
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilFileDataCourse::addDirectory (   $a_rel_name)

Definition at line 193 of file class.ilFileDataCourse.php.

References getCoursePath(), and ilUtil\makeDir().

{
ilUtil::makeDir($this->getCoursePath().'/'.$a_rel_name);
return true;
}

+ Here is the call graph for this function:

ilFileDataCourse::copy (   $a_from,
  $a_to 
)

Definition at line 174 of file class.ilFileDataCourse.php.

References getCoursePath().

{
if(@file_exists($a_from))
{
@copy($a_from,$this->getCoursePath().'/'.$a_to);
return true;
}
return false;
}

+ Here is the call graph for this function:

ilFileDataCourse::createImportFile (   $a_tmp_name,
  $a_name 
)

Definition at line 245 of file class.ilFileDataCourse.php.

References getCoursePath(), ilUtil\makeDir(), and ilUtil\moveUploadedFile().

{
ilUtil::makeDir($this->getCoursePath().'/import/crs_'.$this->course_id);
$a_name,
$this->getCoursePath().'/import/crs_'.$this->course_id.'/'.$a_name);
$this->import_file_info = pathinfo($this->getCoursePath().'/import/crs_'.$this->course_id.'/'.$a_name);
}

+ Here is the call graph for this function:

ilFileDataCourse::createOnlineVersion (   $a_rel_name)

Definition at line 230 of file class.ilFileDataCourse.php.

References getCoursePath(), ilUtil\makeDir(), and rCopy().

{
ilUtil::makeDir(CLIENT_WEB_DIR.'/courses/'.$a_rel_name);
ilUtil::rCopy($this->getCoursePath().'/'.$a_rel_name,CLIENT_WEB_DIR.'/courses/'.$a_rel_name);
return true;
}

+ Here is the call graph for this function:

ilFileDataCourse::deleteArchive (   $a_rel_name)

Definition at line 134 of file class.ilFileDataCourse.php.

References deleteDirectory(), deletePdf(), and deleteZipFile().

{
$this->deleteZipFile($this->course_path.'/'.$a_rel_name.'.zip');
$this->deleteDirectory($this->course_path.'/'.$a_rel_name);
$this->deleteDirectory(CLIENT_WEB_DIR.'/courses/'.$a_rel_name);
$this->deletePdf($this->course_path.'/'.$a_rel_name.'.pdf');
return true;
}

+ Here is the call graph for this function:

ilFileDataCourse::deleteDirectory (   $a_abs_name)

Definition at line 153 of file class.ilFileDataCourse.php.

References ilUtil\delDir().

Referenced by deleteArchive().

{
if(file_exists($a_abs_name))
{
ilUtil::delDir($a_abs_name);
return true;
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilFileDataCourse::deleteMemberExportFile (   $a_name)

Definition at line 115 of file class.ilFileDataCourse.php.

{
$file_name = $this->course_path.'/'.$a_name;
if(@file_exists($file_name))
{
@unlink($file_name);
}
}
ilFileDataCourse::deletePdf (   $a_abs_name)

Definition at line 163 of file class.ilFileDataCourse.php.

Referenced by deleteArchive().

{
if(@file_exists($a_abs_name))
{
@unlink($a_abs_name);
return true;
}
return false;
}

+ Here is the caller graph for this function:

ilFileDataCourse::deleteZipFile (   $a_abs_name)

Definition at line 143 of file class.ilFileDataCourse.php.

Referenced by deleteArchive().

{
if(@file_exists($a_abs_name))
{
@unlink($a_abs_name);
return true;
}
return false;
}

+ Here is the caller graph for this function:

ilFileDataCourse::getArchiveFile (   $a_rel_name)

Definition at line 68 of file class.ilFileDataCourse.php.

{
if(@file_exists($this->course_path.'/'.$a_rel_name.'.zip'))
{
return $this->course_path.'/'.$a_rel_name.'.zip';
}
if(@file_exists($this->course_path.'/'.$a_rel_name.'.pdf'))
{
return $this->course_path.'/'.$a_rel_name.'.pdf';
}
return false;
}
ilFileDataCourse::getCoursePath ( )

get exercise path public

Returns
string path

Definition at line 225 of file class.ilFileDataCourse.php.

References $course_path.

Referenced by __checkImportPath(), __checkPath(), addDirectory(), copy(), createImportFile(), createOnlineVersion(), getImportFile(), rCopy(), unpackImportFile(), validateImportFile(), writeToFile(), and zipFile().

{
}

+ Here is the caller graph for this function:

ilFileDataCourse::getImportFile ( )

Definition at line 276 of file class.ilFileDataCourse.php.

References getCoursePath().

{
return $this->getCoursePath().'/import/crs_'.$this->course_id
.'/'.basename($this->import_file_info['basename'],'.zip')
.'/'.basename($this->import_file_info['basename'],'.zip').'.xml';
}

+ Here is the call graph for this function:

ilFileDataCourse::getMemberExportFile (   $a_name)

Definition at line 124 of file class.ilFileDataCourse.php.

{
$file_name = $this->course_path.'/'.$a_name;
if(@file_exists($file_name))
{
return file_get_contents($file_name);
}
}
ilFileDataCourse::getMemberExportFiles ( )

Get all member export files.

public

Definition at line 87 of file class.ilFileDataCourse.php.

References $file.

{
$files = array();
$dp = opendir($this->course_path);
while($file = readdir($dp))
{
if(is_dir($file))
{
continue;
}
if(preg_match("/^([0-9]{10})_[a-zA-Z]*_export_([a-z]+)_([0-9]+)\.[a-z]+$/",$file,$matches) and $matches[3] == $this->course_id)
{
$timest = $matches[1];
$file_info['name'] = $matches[0];
$file_info['timest'] = $matches[1];
$file_info['type'] = $matches[2];
$file_info['id'] = $matches[3];
$file_info['size'] = filesize($this->course_path.'/'.$file);
$files[$timest] = $file_info;
}
}
closedir($dp);
return $files ? $files : array();
}
ilFileDataCourse::getOnlineLink (   $a_rel_name)

Definition at line 238 of file class.ilFileDataCourse.php.

References ilUtil\getWebspaceDir().

{
return ilUtil::getWebspaceDir('filesystem').'/courses/'.$a_rel_name.'/index.html';
}

+ Here is the call graph for this function:

ilFileDataCourse::ilFileDataCourse (   $a_course_id)

Constructor call base constructors checks if directory is writable and sets the optional obj_id.

Parameters
integeregerobj_id public

Definition at line 52 of file class.ilFileDataCourse.php.

References __checkImportPath(), __checkPath(), __initDirectory(), ilFileData\getPath(), and ilFileData\ilFileData().

{
define('COURSE_PATH','course');
$this->course_path = parent::getPath()."/".COURSE_PATH;
$this->course_id = $a_course_id;
// IF DIRECTORY ISN'T CREATED CREATE IT
if(!$this->__checkPath())
{
$this->__initDirectory();
}
// Check import dir
}

+ Here is the call graph for this function:

ilFileDataCourse::rCopy (   $a_from,
  $a_to 
)

Definition at line 185 of file class.ilFileDataCourse.php.

References getCoursePath().

Referenced by createOnlineVersion().

{
ilUtil::rCopy($a_from,$this->getCoursePath().'/'.$a_to);
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilFileDataCourse::unpackImportFile ( )

Definition at line 256 of file class.ilFileDataCourse.php.

References getCoursePath(), and ilUtil\unzip().

{
return ilUtil::unzip($this->getCoursePath().'/import/crs_'.$this->course_id.'/'.$this->import_file_info['basename']);
}

+ Here is the call graph for this function:

ilFileDataCourse::validateImportFile ( )

Definition at line 261 of file class.ilFileDataCourse.php.

References getCoursePath().

{
if(!is_dir($this->getCoursePath().'/import/crs_'.$this->course_id).'/'.
basename($this->import_file_info['basename'],'.zip'))
{
return false;
}
if(!file_exists($this->getCoursePath().'/import/crs_'.$this->course_id
.'/'.basename($this->import_file_info['basename'],'.zip')
.'/'.basename($this->import_file_info['basename'],'.zip').'.xml'))
{
return false;
}
}

+ Here is the call graph for this function:

ilFileDataCourse::writeToFile (   $a_data,
  $a_rel_name 
)

Definition at line 200 of file class.ilFileDataCourse.php.

References getCoursePath().

{
if(!$fp = @fopen($this->getCoursePath().'/'.$a_rel_name,'w+'))
{
die("Cannot open file: ".$this->getCoursePath().'/'.$a_rel_name);
}
@fwrite($fp,$a_data);
return true;
}

+ Here is the call graph for this function:

ilFileDataCourse::zipFile (   $a_rel_name,
  $a_zip_name 
)

Definition at line 211 of file class.ilFileDataCourse.php.

References getCoursePath(), and ilUtil\zip().

{
ilUtil::zip($this->getCoursePath().'/'.$a_rel_name,$this->getCoursePath().'/'.$a_zip_name);
// RETURN filesize
return filesize($this->getCoursePath().'/'.$a_zip_name);
}

+ Here is the call graph for this function:

Field Documentation

ilFileDataCourse::$course_id
private

Definition at line 43 of file class.ilFileDataCourse.php.

ilFileDataCourse::$course_path

Definition at line 41 of file class.ilFileDataCourse.php.

Referenced by getCoursePath().


The documentation for this class was generated from the following file: