Public Member Functions | Data Fields | Private Attributes

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

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 <smeyer@databay.de>
Version:
Id:
class.ilFileDataCourse.php 13117 2007-01-29 10:57:25Z smeyer

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);

                ilUtil::moveUploadedFile($a_tmp_name,
                                                                 $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.

References $file_name.

        {
                $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.

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

        {
                return $this->course_path;
        }

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.

References $file_name.

        {
                $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, and $files.

        {
                $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:
integereger obj_id public

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

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

        {
                define('COURSE_PATH','course');
                parent::ilFileData();
                $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
                $this->__checkImportPath();
        }

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.


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