Example #1
0
                echo PGV_JS_END;
            }
        }
        print $pgv_lang["update_successful"];
    }
}
// **** end action "newentry"
// **** begin action "update"
if ($action == "update") {
    if (empty($level)) {
        $level = 1;
    }
    //-- check if the file is used in more than one gedcom
    //-- do not allow it to be moved or renamed if it is
    $myFile = str_replace($MEDIA_DIRECTORY, "", $oldFolder . $oldFilename);
    $multi_gedcom = is_media_used_in_other_gedcom($myFile, PGV_GED_ID);
    $isExternal = isFileExternal($oldFilename) || isFileExternal($filename);
    $finalResult = true;
    // Handle Admin request to rename or move media file
    if (!$isExternal) {
        if ($filename != $oldFilename) {
            $parts = pathinfo_utf($filename);
            if (empty($parts["extension"]) || !in_array(strtolower($parts["extension"]), $MEDIATYPE)) {
                $parts = pathinfo_utf($oldFilename);
                $filename .= "." . $parts["extension"];
            }
        }
        if (!isset($folder) && isset($oldFolder)) {
            $folder = $oldFolder;
        }
        $folder = trim($folder);
Example #2
0
 } elseif (preg_match('/(\\.(php|pl|cgi|bash|sh|bat|exe|com|htm|html|shtml))$/i', $filename, $match)) {
     // Do not allow obvious script files.
     WT_FlashMessages::addMessage(WT_I18N::translate('Filenames are not allowed to have the extension “%s”.', $match[1]));
     $filename = '';
     break;
 } elseif (!$filename) {
     WT_FlashMessages::addMessage(WT_I18N::translate('No media file was provided.'));
     break;
 } else {
     $fileName = $filename;
 }
 $oldFilename = $media->getFilename();
 $newFilename = $folderName . $fileName;
 //-- check if the file is used in more than one gedcom
 //-- do not allow it to be moved or renamed if it is
 $multi_gedcom = !$media->isExternal() && is_media_used_in_other_gedcom($media->getFilename(), WT_GED_ID);
 if ($multi_gedcom) {
     WT_FlashMessages::addMessage(WT_I18N::translate('This file is linked to another genealogical database on this server.  It cannot be deleted, moved, or renamed until these links have been removed.'));
     break;
 }
 // Cannot rename local to external or vice-versa
 if (isFileExternal($oldFilename) != isFileExternal($filename)) {
     WT_FlashMessages::addMessage(WT_I18N::translate('Media file %1$s could not be renamed to %2$s.', '<span class="filename">' . $oldFilename . '</span>', '<span class="filename">' . $newFilename . '</span>'));
     break;
 }
 $messages = false;
 // Move files on disk (if we can) to reflect the change to the GEDCOM data
 if (!$media->isExternal()) {
     $oldServerFile = $media->getServerFilename('main');
     $oldServerThumb = $media->getServerFilename('thumb');
     $newmedia = new WT_Media("xxx", "0 @xxx@ OBJE\n1 FILE " . $newFilename, null, WT_GED_ID);