17 include_once 
'classes/class.ilSaxParser.php';
 
   18 include_once 
'Modules/File/classes/class.ilFileException.php';
 
   19 include_once 
'Services/Utilities/classes/class.ilFileUtils.php';
 
   89                 $this->result = 
false;
 
  100                 $this->importDirectory = $a_val;
 
  110                 return $this->importDirectory;
 
  120                 xml_set_object($a_xml_parser,$this);
 
  121                 xml_set_element_handler($a_xml_parser,
'handlerBeginTag',
'handlerEndTag');
 
  122                 xml_set_character_data_handler($a_xml_parser,
'handlerCharacterData');
 
  143                             if (isset($a_attribs[
"obj_id"]))
 
  146                                if ($this->obj_id != -1 && (
int) $read_obj_id != -1 && (
int) $this->obj_id != (
int) $read_obj_id)
 
  151                 if (isset($a_attribs[
"type"]))
 
  153                                         $this->file->setFileType($a_attribs[
"type"]);
 
  155                    $this->file->setVersion($this->file->getVersion() + 1);
 
  160                             $this->isReadingFile = 
true;
 
  161 #echo $a_attribs["mode"]; 
  162                             if (isset($a_attribs[
"mode"]))
 
  164                                 if($a_attribs[
"mode"] == 
"GZIP")
 
  166                         if (!function_exists(
"gzread"))
 
  171                                         elseif ($a_attribs[
"mode"] == 
"ZLIB")
 
  173                         if (!function_exists(
"gzuncompress"))
 
  178                                         elseif ($a_attribs[
"mode"] == 
"COPY")
 
  197             $this->cdata = trim($this->cdata);
 
  202                               $this->result = 
true;    
 
  205                             if (strlen($this->cdata) == 0)
 
  208                             $this->file->setFilename($this->cdata);
 
  209                             $this->file->setTitle($this->cdata);
 
  213                             $this->file->setTitle(trim($this->cdata));
 
  216                             $this->file->setDescription(trim($this->cdata));
 
  219                                 $this->isReadingFile = 
false;
 
  237                                                 unlink ($baseDecodedFilename);
 
  245                                                 unlink ($baseDecodedFilename);
 
  249                                                 $this->tmpFilename = $baseDecodedFilename;
 
  253                                 $this->file->setFileSize(filesize($this->tmpFilename)); 
 
  256                                 if(!$this->file->getFileType())
 
  260                                         #$ilLog->write(__METHOD__.': Trying to detect mime type...'); 
  261                                         include_once(
'./Services/Utilities/classes/class.ilFileUtils.php');
 
  285                         $handle = fopen ($this->tmpFilename, 
"a");
 
  286                                 fwrite ($handle, $a_data);
 
  289                                 $this->cdata .= $a_data;
 
  302                 #$ilLog->write(__METHOD__.' '.filesize($this->tmpFilename)); 
  304                 if (filesize ($this->tmpFilename) == 0) {
 
  308                 $filedir = $this->file->getDirectory($this->file->getVersion());
 
  309                 #$ilLog->write(__METHOD__.' '.$filedir); 
  311                 if (!is_dir($filedir))
 
  313                         $this->file->createDirectory();
 
  317                 $filename = $filedir.
"/".$this->file->getFileName();
 
  321                 return rename($this->tmpFilename, 
$filename);
 
  335                 require_once(
"classes/class.ilHistory.php");
 
  336                                 ilHistory::_createEntry($this->file->getId(), 
"replace", $this->file->getFilename().
",".$this->file->getVersion());
 
  337                                 $this->file->addNewsNotification(
"file_updated");       
 
  350             return $this->result > 0;