/** * @see parent::doStore() */ function doStore() { if (isset($_FILES['attachment'])) { $mail_id = CValue::post('mail_id'); $mail = new CUserMail(); $mail->load($mail_id); $files = array(); foreach ($_FILES['attachment']['error'] as $key => $file_error) { if (isset($_FILES['attachment']['name'][$key])) { $files[] = array('name' => $_FILES['attachment']['name'][$key], 'tmp_name' => $_FILES['attachment']['tmp_name'][$key], 'error' => $_FILES['attachment']['error'][$key], 'size' => $_FILES['attachment']['size'][$key]); } } foreach ($files as $_key => $_file) { if ($_file['error'] == UPLOAD_ERR_NO_FILE) { continue; } if ($_file['error'] != 0) { CAppUI::setMsg(CAppUI::tr("CFile-msg-upload-error-" . $_file["error"]), UI_MSG_ERROR); continue; } $attachment = new CMailAttachments(); $attachment->name = $_file['name']; $content_type = mime_content_type($_file['tmp_name']); $attachment->type = $attachment->getTypeInt($content_type); $attachment->bytes = $_file['size']; $attachment->mail_id = $mail_id; $content_type = explode('/', $content_type); $attachment->subtype = strtoupper($content_type[1]); $attachment->disposition = 'ATTACHMENT'; $attachment->extension = substr(strrchr($attachment->name, '.'), 1); $attachment->part = $mail->countBackRefs('mail_attachments') + 1; $attachment->store(); $file = new CFile(); $file->setObject($attachment); $file->author_id = CAppUI::$user->_id; $file->file_name = $attachment->name; $file->file_date = CMbDT::dateTime(); $file->fillFields(); $file->updateFormFields(); $file->doc_size = $attachment->bytes; $file->file_type = mime_content_type($_file['tmp_name']); $file->moveFile($_file, true); if ($msg = $file->store()) { CAppUI::setMsg(CAppUI::tr('CMailAttachments-error-upload-file') . ':' . CAppUI::tr($msg), UI_MSG_ERROR); CApp::rip(); } $attachment->file_id = $file->_id; if ($msg = $attachment->store()) { CAppUI::setMsg($msg, UI_MSG_ERROR); CApp::rip(); } } CAppUI::setMsg('CMailAttachments-msg-added', UI_MSG_OK); } else { parent::doStore(); } }
/** * Create a CFile attachment to given CMbObject * @return string store-like message, null if successful */ function addFile(CMbObject $object) { $user = CUser::get(); $this->saveFile(); $file = new CFile(); $file->object_id = $object->_id; $file->object_class = $object->_class; $file->file_name = "{$object->_guid}.xml"; $file->file_type = "text/xml"; $file->doc_size = filesize($this->documentfilename); $file->file_date = CMbDT::dateTime(); $file->file_real_filename = uniqid(rand()); $file->author_id = $user->_id; $file->private = 0; if (!$file->moveFile($this->documentfilename)) { return "error-CFile-move-file"; } return $file->store(); }
// store file with a unique name $obj->file_name = $upload['name']; $obj->file_type = $upload['type']; $obj->file_size = $upload['size']; $obj->file_date = str_replace("'", '', $db->DBTimeStamp(time())); $obj->file_real_filename = uniqid(rand()); $res = $obj->moveTemp($upload); if (!$res) { $AppUI->setMsg('File could not be written', UI_MSG_ERROR); $AppUI->redirect(); } } } // move the file on filesystem if the affiliated project was changed if ($file_id && $obj->file_project != $oldObj->file_project) { $res = $obj->moveFile($oldObj->file_project, $oldObj->file_real_filename); if (!$res) { $AppUI->setMsg('File could not be moved', UI_MSG_ERROR); $AppUI->redirect(); } } if (!$file_id) { $obj->file_owner = $AppUI->user_id; if (!$obj->file_version_id) { $q = new DBQuery(); $q->addTable('files'); $q->addQuery('file_version_id'); $q->addOrder('file_version_id DESC'); $q->setLimit(1); $sql = $q->prepare(); $q->clear();
$redirect = dPgetParam($_POST, 'redirect', ''); $bulk_file_project = dPgetParam($_POST, 'bulk_file_project', 'O'); $bulk_file_folder = dPgetParam($_POST, 'bulk_file_folder', 'O'); if (is_array($selected) && count($selected)) { $upd_file = new CFile(); foreach ($selected as $key => $val) { if ($key) { $upd_file->load($key); } if (isset($_POST['bulk_file_project']) && $bulk_file_project != '' && $bulk_file_project != 'O') { if ($upd_file->file_id) { // move the file on filesystem if the affiliated project was changed if ($upd_file->file_project != $bulk_file_project) { $oldProject = $upd_file->file_project; $upd_file->file_project = $bulk_file_project; $res = $upd_file->moveFile($oldProject, $upd_file->file_real_filename); if (!$res) { $AppUI->setMsg('At least one File could not be moved', UI_MSG_ERROR); } } $upd_file->store(); } } if (isset($_POST['bulk_file_folder']) && $bulk_file_folder != '' && $bulk_file_folder != 'O') { if ($upd_file->file_id) { $upd_file->file_folder = $bulk_file_folder; $upd_file->store(); } } echo db_error(); }
/** * $Id: do_select_supervision_picture.php 26555 2014-12-23 12:48:14Z flaviencrochard $ * * @category Patients * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 26555 $ * @link http://www.mediboard.org */ CCanDo::checkAdmin(); $path = str_replace("..", "", CValue::post("path")); $timed_picture_id = CValue::post("timed_picture_id"); if (is_file($path) && strpos(CSupervisionTimedPicture::PICTURES_ROOT, $path) !== 0) { $timed_picture = new CSupervisionTimedPicture(); $timed_picture->load($timed_picture_id); $file = new CFile(); $file->setObject($timed_picture); $file->fillFields(); $file->file_name = basename($path); $file->doc_size = filesize($path); $file->file_type = CMbPath::guessMimeType($path); $file->moveFile($path, false, true); if ($msg = $file->store()) { CAppUI::setMsg($msg, UI_MSG_WARNING); } else { CAppUI::setMsg("Image enregistrée"); } } echo CAppUI::getMsg(); CApp::rip();
// If there was a file that was attached to both the task, and the task // has moved projects, we need to move the file as well if ($move_files) { require_once $AppUI->getModuleClass('files'); $filehandler = new CFile(); $q = new DBQuery(); $q->addTable('files', 'f'); $q->addQuery('file_id'); $q->addWhere('file_task = ' . (int) $obj->task_id); $files = $q->loadColumn(); if (!empty($files)) { foreach ($files as $file) { $filehandler->load($file); $realname = $filehandler->file_real_filename; $filehandler->file_project = $obj->task_project; $filehandler->moveFile($move_files, $realname); $filehandler->store(); } } } $AppUI->setMsg($task_id ? 'Task updated' : 'Task added', UI_MSG_OK); } if (isset($hassign)) { $obj->updateAssigned($hassign, $hperc_assign_ar); } if (isset($hdependencies)) { // && !empty($hdependencies)) { // there are dependencies set! // backup initial start and end dates $tsd = new CDate($obj->task_start_date); $ted = new CDate($obj->task_end_date);