private function upload_document_image($url, $filename, $img_num) { $file_dt = array(); $file_content = file_get_contents(html_entity_decode($url)); $extension = get_file_extension($url); if (strpos($extension, "c=files") !== FALSE) $extension = "jpg"; $name = $filename . "-img-$img_num.$extension"; $description = lang("this file is included in document", $filename); $tmp_name = ROOT . "/tmp/" . gen_id() . $extension; file_put_contents($tmp_name, $file_content); $file_dt['name'] = $name; $file_dt['size'] = strlen($file_content); $file_dt['type'] = Mime_Types::instance()->get_type($extension); $file_dt['tmp_name'] = $tmp_name; $file = ProjectFiles::getByFilename($name); if ($file) { $file->delete(); } $file = new ProjectFile(); $file->setIsVisible(true); $file->setFilename($name); $file->setDescription($description); $file->setArchivedById(logged_user()->getId()); $file->setArchivedOn(DateTimeValueLib::now()); $file->save(); $file->handleUploadedFile($file_dt, true, $description); //$FIXME file->addToWorkspace(active_or_personal_project()); ApplicationLogs::createLog($file, ApplicationLogs::ACTION_ADD); unlink($tmp_name); return $file->getId(); }