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;
}