if ($PERMALL || $REX_USER->isValueOf("rights", "media[" . $gf->getValue("category_id") . "]") && $REX_USER->isValueOf("rights", "media[{$rex_file_category}]")) { $FILESQL = new sql(); $FILESQL->setTable($REX['TABLE_PREFIX'] . "file"); $FILESQL->where("file_id='{$file_id}'"); $FILESQL->setValue("title", $ftitle); $FILESQL->setValue("description", $fdescription); $FILESQL->setValue("copyright", $fcopyright); $FILESQL->setValue("category_id", $rex_file_category); $msg = "Dateiinformationen wurden aktualisiert!"; $filename = $gf->getValue("filename"); $filetype = $gf->getValue("filetype"); if ($_FILES['file_new']['name'] != "" and $_FILES['file_new']['name'] != "none") { $ffilename = $_FILES['file_new']['tmp_name']; $ffiletype = $_FILES['file_new']['type']; $ffilesize = $_FILES['file_new']['size']; if ($ffiletype == $filetype || OOMedia::compareImageTypes($ffiletype, $filetype)) { // unlink($REX['MEDIAFOLDER']."/".$filename); $upload = false; if (!move_uploaded_file($ffilename, $REX['MEDIAFOLDER'] . "/{$filename}")) { if (!@copy($ffilename, $REX['MEDIAFOLDER'] . "/{$filename}")) { $msg .= "<br>" . $I18N->msg('pool_file_upload_error'); } else { $FILESQL->setValue("filetype", $ffiletype); $FILESQL->setValue("originalname", $ffilename); $FILESQL->setValue("filesize", $ffilesize); $uploaded = true; } } else { $FILESQL->setValue("filetype", $ffiletype); $FILESQL->setValue("originalname", $ffilename); $FILESQL->setValue("filesize", $ffilesize);
/** * Holt ein upgeloadetes File und legt es in den Medienpool * Dabei wird kontrolliert ob das File schon vorhanden ist und es * wird eventuell angepasst, weiterhin werden die Fileinformationen übergeben * * @param $FILE * @param $rex_file_category * @param $FILEINFOS * @param $userlogin */ function rex_mediapool_updateMedia($FILE, &$FILEINFOS, $userlogin = null) { global $REX, $I18N; $RETURN = array(); $FILESQL = rex_sql::factory(); // $FILESQL->debugsql = 1; $FILESQL->setTable($REX['TABLE_PREFIX'] . 'file'); $FILESQL->setWhere('file_id=' . $FILEINFOS["file_id"]); $FILESQL->setValue('title', $FILEINFOS["title"]); $FILESQL->setValue('category_id', $FILEINFOS["rex_file_category"]); $msg = ''; $updated = false; if ($_FILES['file_new']['name'] != '' && $_FILES['file_new']['name'] != 'none') { $ffilename = $_FILES['file_new']['tmp_name']; $ffiletype = $_FILES['file_new']['type']; $ffilesize = $_FILES['file_new']['size']; if ($ffiletype == $FILEINFOS["filetype"] || OOMedia::compareImageTypes($ffiletype, $FILEINFOS["filetype"])) { if (move_uploaded_file($ffilename, $REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"]) || copy($ffilename, $REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"])) { $RETURN["msg"] = $I18N->msg('pool_file_changed'); $FILEINFOS["filetype"] = $ffiletype; $FILEINFOS["filesize"] = $ffilesize; $FILESQL->setValue('filetype', $FILEINFOS["filetype"]); // $FILESQL->setValue('originalname',$ffilename); $FILESQL->setValue('filesize', $FILEINFOS["filesize"]); if ($size = @getimagesize($REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"])) { $FILESQL->setValue('width', $size[0]); $FILESQL->setValue('height', $size[1]); } @chmod($REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"], $REX['FILEPERM']); $updated = true; } else { $RETURN["msg"] = $I18N->msg('pool_file_upload_error'); } } else { $RETURN["msg"] = $I18N->msg('pool_file_upload_errortype'); } } // Aus BC gruenden hier mit int 1/0 $RETURN["ok"] = $updated ? 1 : 0; if (!isset($RETURN["msg"])) { $RETURN["msg"] = $I18N->msg('pool_file_infos_updated'); $RETURN["ok"] = 1; } if ($RETURN['ok'] == 1) { $RETURN["filename"] = $FILEINFOS["filename"]; $RETURN["filetype"] = $FILEINFOS["filetype"]; $RETURN["file_id"] = $FILEINFOS["file_id"]; } $FILESQL->addGlobalUpdateFields(); $FILESQL->update(); rex_deleteCacheMedia($FILEINFOS["filename"]); /* $RETURN['title'] = $FILEINFOS['title']; $RETURN['type'] = $FILETYPE; $RETURN['msg'] = $message; // Aus BC gruenden hier mit int 1/0 $RETURN['ok'] = $success ? 1 : 0; $RETURN['filename'] = $NFILENAME; $RETURN['old_filename'] = $FILENAME; */ return $RETURN; }