# HG changeset patch # User Matti Hamalainen # Date 1416857715 -7200 # Node ID 41f7ab5eddc35f5127bc8ce2bfc44420b6b6b962 # Parent 95c3e0a1058ef784b3601d07c82e51c028a99f87 Add two new helper functions for file uploads, stAddFileEntry() and stSetFileEntryFilename(). diff -r 95c3e0a1058e -r 41f7ab5eddc3 msite.inc.php --- a/msite.inc.php Mon Nov 24 21:33:58 2014 +0200 +++ b/msite.inc.php Mon Nov 24 21:35:15 2014 +0200 @@ -1026,6 +1026,59 @@ } +// +// File table entry adding +// +function stAddFileEntry($filename, $size, $uploaderID, $type, $entryID, &$fileID) +{ + // Create new file entry + $sql = stPrepareSQL( + "INSERT INTO files (orig_filename,filesize,entry_id,uploader_id,utime) VALUES (%s,%d,%d,%d,%d)", + $filename, $size, $entryID, $uploaderID, time()); + + if (($fileID = stExecSQLInsert($sql)) === false) + return stError("Failed to add new file ".$type." entry for entry #".$entryID." '".$filename."'."); + + // Update entry's data + $sql = stPrepareSQL("UPDATE entries SET ".$type."_id=%d WHERE id=%d", + $fileID, $entry_id); + + if (stExecSQL($sql) === false) + return stError("Failed to update entry #".$entryID." ".$type." ID ... :S"); + + return TRUE; +} + + +function stSetFileEntryFilename($fileID, $type, $entry, $fext, $ftype) +{ + switch ($type) + { + case "preview": + $fname = sprintf("%03d-%s--%s_%s_(%03d).%s", + $entry["id"], + $entry["author"], $entry["name"], + $type, $fileID, $fext); + break; + + case "entry": + $fname = sprintf("%03d-%s--%s_(%03d).%s", + $entry["id"], + $entry["author"], $entry["name"], + $fileID, $fext); + break; + + default: + return FALSE; + } + + $sql = stPrepareSQL("UPDATE files SET filename=%s,filetype=%s WHERE id=%d", + $fname, $ftype, $fileID); + + return stExecSQL($sql) !== false; +} + + // Get link helper function function stGetMainPageLink($id, $name, $show = TRUE) {