requireLogin(); $page->header(); print "

Add a picture

\n"; processForm(); dispForm(); $user = getUser(); include_once 'mediaForms.php'; deleteMediaForm("pictures"); editMediaForm("pictures"); $page->bottom(); function processForm(){ profiler_beginSection(__METHOD__); $db = dil_connect(); GLOBAL $init; $initOrig = array( "id" => "", "title" => "", "caption" => "", "tags" => "", "categories" => "", "gravity" => "", "url_thumb" => "", // only used in editing existing entries "fileUrl" => "" // only used in editing existing entries ); $init = $initOrig; $prevData = $initOrig; $formName = ""; if(isset($_POST['formName']) && $_POST['formName'] != ""){ $formName = $_POST['formName']; } $mediaType = "pictures"; $singular = getSingular($mediaType); $singularCaps = ucfirst($singular); if($formName == "deletePicture"){ $user = getUser(); if($user->isAdmin()){ processDeleteMedia("pictures"); } } else if($formName == "startEdit$singularCaps"){ if(isset($_POST['editMe']) && $_POST['editMe']){ $id = $_POST['editMe']; $queryString = "SELECT * FROM $mediaType WHERE id=$id"; if($result = mysql_query($queryString,$db)){ if(($numRows = mysql_num_rows($result)) && ($numRows > 0)){ $cnt = 0; $init['id'] = $id; $init['title'] = mysql_result($result, $cnt, "title"); $init['caption'] = mysql_result($result, $cnt, "caption"); $init['tags'] = stringFromTags(getTags($mediaType, $id)); $init['categories'] = mysql_result($result, $cnt, "categories"); $init['gravity'] = mysql_result($result, $cnt, "logoGravity"); $init['thumbUrl'] = mysql_result($result, $cnt, "url_thumb"); $init['fileUrl'] = mysql_result($result, $cnt, "url_orig"); } } } } else if(($formName == "add$singularCaps") || ($formName == "edit$singularCaps")){ grabVal("id"); grabVal("title"); grabVal("caption"); grabVal("tags"); grabVal("categories"); grabVal("gravity"); $editMode = false; if($init['id'] != ""){ $editMode = true; $queryString = "SELECT * FROM $mediaType WHERE id=".$init['id']; if($result = mysql_query($queryString,$db)){ if(($numRows = mysql_num_rows($result)) && ($numRows > 0)){ $cnt = 0; $prevData['id'] = mysql_result($result, $cnt, "id"); $prevData['title'] = mysql_result($result, $cnt, "title"); $prevData['caption'] = mysql_result($result, $cnt, "caption"); $prevData['tags'] = stringFromTags(getTags($mediaType, $id)); $prevData['categories'] = mysql_result($result, $cnt, "categories"); $prevData['gravity'] = mysql_result($result, $cnt, "logoGravity"); $prevData['thumbUrl'] = mysql_result($result, $cnt, "url_thumb"); $prevData['fileUrl'] = mysql_result($result, $cnt, "url_orig"); } } } include 'fileupload-class.php'; $contentDirectory = "./content/$mediaType/"; $acceptable_file_types = ""; $default_extension = ""; $mode = 2; $postIndex = "fileName"; // the name used in the form $errString = ""; if($init['title'] == ""){ $errString.= "Please enter a title for the picture.
\n"; dispError($errString); } else { include_once 'fileupload-class.php'; $my_uploader = new uploader(); //$my_uploader->max_filesize(1594967295); //$my_uploader->max_image_size(2000, 2000); $fileName = ""; if ($my_uploader->upload("fileName", $acceptable_file_types, $default_extension)){ $my_uploader->save_file($contentDirectory, $mode); } if($my_uploader->error != ""){ if($editMode){ $fileName = $prevData['fileUrl']; } else { dispError("Error uploading: ".$my_uploader->error); } } else { $fileName = $contentDirectory.$my_uploader->file['name']; if($editMode && ($fileName != $prevData['fileUrl'])){ if(false === unlink($prevData['fileUrl'])){ logEvent("When editing $singular ".$init['id']." (".stripslashes($init['title']).") could not delete file".$prevData['fileUrl']); dispMsg("Unable to delete the old $singular from the server. This problem has been logged."); } else { if(false === unlink($prevData['thumbUrl'])){ logEvent("When editing $singular ".$init['id']." (".stripslashes($init['title']).") could not delete thumbnail ".$prevData['thumbUrl']); dispMsg("Unable to delete the old thumbnail from the server. This problem has been logged."); } } } } if($fileName != ""){ // Format the tags $tags = $init['tags']; if(strlen($tags) > 0){ $tags = preg_replace("/\s*,\s*/", ",", $tags); $tags = preg_replace("/,,/", ",", $tags); } $init['tags'] = $tags; // Format the categories $cats = $init['categories']; $categoryString = ","; for($cnt=0; $cntgetUsername(); $userId = $user->getId(); if($editMode){ $queryString = "UPDATE $mediaType SET url_orig='$fileName', url_thumb='$thumbName', logoGravity='$gravity', "; $queryString.= "title='".$init['title']."', caption='".$init['caption']."', "; $queryString.= "categories='$categoryString' WHERE id=".$prevData['id']; $tagId = $prevData['id']; } else { $queryString = "INSERT INTO $mediaType (submittedBy_username,submittedBy_id,url_orig,url_thumb,logoGravity,title,caption,categories,submittedOn) "; $queryString.= " VALUES ('$username', '$userId', '$fileName', '$thumbName', '$gravity', '".$init['title']."','".$init['caption']; $queryString.= "', '$categoryString', NOW())"; $tagId = -1; // get the id from the insert } if(mysql_query($queryString,$db)){ if($tagId == -1){ $tagId = mysql_insert_id($db); } setTags($mediaType, $tagId, tagsFromString($init['tags'])); $MAX_PIC_WIDTH = 500; $MAX_PIC_HEIGHT = 900; $THUMB_WIDTH = 100; $THUMB_HEIGHT = 100; // NOTE: Now the image is saved in tact (in case the name of the site changes or // we want to offer full-size pics for premium memberships, etc.. The scaling and watermarking is now done dynamically. // // Use ImageMagik to make a scaled version, then make a thumnail, then watermark the original. // //exec("mogrify -scale $MAX_PIC_WIDTH"."x$MAX_PIC_HEIGHT $fileName"); // scales original file if(($editMode === false) || ($prevData['fileUrl'] != $fileName)){ exec("convert -scale $THUMB_WIDTH"."x$THUMB_HEIGHT $fileName $thumbName"); // creates thumbnail } // //exec("composite -gravity $gravity $watermark $fileName $fileName"); // watermark the pic if($editMode){ dispSuccess("".stripslashes($init['title'])." updated."); } else { dispSuccess("".stripslashes($init['title'])." added to database."); if(false===mysql_query("UPDATE userStats SET picsPosted=picsPosted+1 WHERE user_id='".getUser()->getId()."'", $db)){ logEvent("Couldn't log the addition of a picture by $username

".mysql_error()); } } $init = $initOrig; } else { dispError(mysql_error()."

Query:
\n".$queryString); logEvent(mysql_error()."

Query:
\n".$queryString); } } } } else if($formName != ""){ dispError("Unrecognized form name: $formName"); } profiler_endSection(__METHOD__); } // end processForm() function grabVal($index){ GLOBAL $init; if(isset($_POST[$index])){ if(is_array($_POST[$index] )){ $init[$index] = $_POST[$index]; } else { $init[$index] = $_POST[$index]; } } } // end grabVal(...) function dispForm(){ profiler_beginSection(__METHOD__); $db = dil_connect(); GLOBAL $init; $mediaType = "pictures"; $singular = getSingular($mediaType); $singularCaps = ucfirst($singular); $thisForm = "add"; if(isset($init['id']) && ($init['id'] != "")){ $thisForm = "edit"; } $action = ""; print "
\n"; print "\n"; if($thisForm == "edit"){ print "\n"; } print "
\n"; if($thisForm == "add"){ print "\n"; } else { print "\n"; } print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; $queryString = "SELECT category FROM categories WHERE mediaType='$mediaType'"; if($result = mysql_query($queryString,$db)){ if(($numRows = mysql_num_rows($result)) && ($numRows > 0)){ print "\n"; } } print "\n"; print "
Add a picture to the database
Edit picture
Picture: "; if($thisForm == "edit"){ print "
(leave blank to
keep same pic)"; } print "
Title:
Tags: (comma separated)
Put logo:\n"; print "\n"; print "
Caption:
Categories: "; print "
\n"; print "

\n"; profiler_endSection(__METHOD__); } // end dispForm() ?>