Esempio n. 1
0
 /**
  * Returns array('success'=>true) or array('error'=>'error message')
  */
 function handleUpload($uploadDirectory, $replaceOldFile = FALSE)
 {
     if (!is_writable($uploadDirectory)) {
         return array('error' => "Server error. Upload directory isn't writable.");
     }
     if (!$this->file) {
         return array('error' => 'No files were uploaded.');
     }
     $size = $this->file->getSize();
     if ($size == 0) {
         return array('error' => 'File is empty');
     }
     if ($size > $this->sizeLimit) {
         return array('error' => 'File is too large');
     }
     $pathinfo = pathinfo($this->file->getName());
     $filename = $pathinfo['filename'];
     //$filename = md5(uniqid());
     $ext = $pathinfo['extension'];
     if ($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)) {
         $these = implode(', ', $this->allowedExtensions);
         return array('error' => 'File has an invalid extension, it should be one of ' . $these . '.');
     }
     $artefact = \ArtefactModel::getById($this->envid);
     if ($this->file->save($uploadDirectory . $filename . '.' . $ext)) {
         $artefact->setData(file_get_contents($uploadDirectory . $filename . '.' . $ext), detectMimeType($filename . '.' . $ext));
         unlink($uploadDirectory . $filename . '.' . $ext);
         return array('success' => true, 'oid' => $artefact->getId());
     } else {
         return array('success' => false, 'oid' => $artefact->getId());
     }
 }
Esempio n. 2
0
 function importFolder($directory)
 {
     $xmlDoc = simplexml_load_file($directory . "/leap2A.xml");
     $author = $xmlDoc->author->name;
     $updated = $xmlDoc->updated;
     foreach ($xmlDoc->entry as $entry) {
         $fileUri = $directory . "/" . $entry->link['href'];
         $mimeType = detectMimeType($fileUri);
         $content = file_get_contents($fileUri, $mimeType);
         $name = $entry->title;
         $artefactType = $entry->category['type'];
         switch ($artefactType) {
             case "SCHOOL":
                 $artefact = ArtefactSchool::create($name);
             case "EMPLOYMENT":
                 $artefact = ArtefactEmployment::create($name);
             case "CERTIFICATE":
                 $artefact = ArtefactCertificate::create($name);
             default:
                 $artefact = ArtefactCertificate::create($name);
         }
         $artefact->setData($content, $mimeType);
         foreach ($entry->competence as $comp) {
             $artefact->addCompetenceString($comp->index, $comp->rating);
         }
         $updated = strtotime($entry->updated);
         $artefact->set_attribute("OBJ_LAST_MODIFIED", $updated);
         //"OBJ_MODIFICATION_TIME"?
         $published = strtotime($entry->published);
     }
 }