changeset 817:41f7ab5eddc3

Add two new helper functions for file uploads, stAddFileEntry() and stSetFileEntryFilename().
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 24 Nov 2014 21:35:15 +0200
parents 95c3e0a1058e
children 5f20e5f1d589
files msite.inc.php
diffstat 1 files changed, 53 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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)
 {