Jump to content

Plaincart :: adding PDF Brochure upload


gi_canuck

Recommended Posts

Hello I've been playing around with the plaincart from http://www.phpwebcommerce.com/  and so far it works great.  I am currently just trying it out to display products / product info only.  I was wondering if anyone could show me how to add a function to upload a PDF Brochure for the product... I guess I could just modify the image upload script (minus the thumbnail), but so far I wasn't quite successful.  Basically I just need to change the "processProduct.php"

 

 

<?php

require_once '../../library/config.php';

require_once '../library/functions.php';

 

checkUser();

 

$action = isset($_GET['action']) ? $_GET['action'] : '';

 

switch ($action) {

 

case 'addProduct' :

addProduct();

break;

 

case 'modifyProduct' :

modifyProduct();

break;

 

case 'deleteProduct' :

deleteProduct();

break;

 

case 'deleteImage' :

deleteImage();

break;

   

 

default :

    // if action is not defined or unknown

// move to main product page

header('Location: index.php');

}

 

 

function addProduct()

{

    $catId      = $_POST['cboCategory'];

    $name        = $_POST['txtName'];

$description = $_POST['mtxDescription'];

$price      = str_replace(',', '', (double)$_POST['txtPrice']);

$qty        = (int)$_POST['txtQty'];

 

$images = uploadProductImage('fleImage', SRV_ROOT . 'images/product/');

 

$mainImage = $images['image'];

$thumbnail = $images['thumbnail'];

 

$sql  = "INSERT INTO tbl_product (cat_id, pd_name, pd_description, pd_price, pd_qty, pd_image, pd_thumbnail, pd_date)

          VALUES ('$catId', '$name', '$description', $price, $qty, '$mainImage', '$thumbnail', NOW())";

 

$result = dbQuery($sql);

 

header("Location: index.php?catId=$catId");

}

 

/*

Upload an image and return the uploaded image name

*/

function uploadProductImage($inputName, $uploadDir)

{

$image    = $_FILES[$inputName];

$imagePath = '';

$thumbnailPath = '';

 

// if a file is given

if (trim($image['tmp_name']) != '') {

$ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']];

 

// generate a random new file name to avoid name conflict

$imagePath = md5(rand() * time()) . ".$ext";

 

list($width, $height, $type, $attr) = getimagesize($image['tmp_name']);

 

// make sure the image width does not exceed the

// maximum allowed width

if (LIMIT_PRODUCT_WIDTH && $width > MAX_PRODUCT_IMAGE_WIDTH) {

$result    = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_PRODUCT_IMAGE_WIDTH);

$imagePath = $result;

} else {

$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);

}

 

if ($result) {

// create thumbnail

$thumbnailPath =  md5(rand() * time()) . ".$ext";

$result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH);

 

// create thumbnail failed, delete the image

if (!$result) {

unlink($uploadDir . $imagePath);

$imagePath = $thumbnailPath = '';

} else {

$thumbnailPath = $result;

}

} else {

// the product cannot be upload / resized

$imagePath = $thumbnailPath = '';

}

 

}

 

 

return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);

}

 

/*

Modify a product

*/

function modifyProduct()

{

$productId  = (int)$_GET['productId'];

    $catId      = $_POST['cboCategory'];

    $name        = $_POST['txtName'];

$description = $_POST['mtxDescription'];

$price      = str_replace(',', '', $_POST['txtPrice']);

$qty        = $_POST['txtQty'];

 

$images = uploadProductImage('fleImage', SRV_ROOT . 'images/product/');

 

$mainImage = $images['image'];

$thumbnail = $images['thumbnail'];

 

// if uploading a new image

// remove old image

if ($mainImage != '') {

_deleteImage($productId);

 

$mainImage = "'$mainImage'";

$thumbnail = "'$thumbnail'";

} else {

// if we're not updating the image

// make sure the old path remain the same

// in the database

$mainImage = 'pd_image';

$thumbnail = 'pd_thumbnail';

}

 

$sql  = "UPDATE tbl_product

          SET cat_id = $catId, pd_name = '$name', pd_description = '$description', pd_price = $price,

      pd_qty = $qty, pd_image = $mainImage, pd_thumbnail = $thumbnail

  WHERE pd_id = $productId"; 

 

$result = dbQuery($sql);

 

header('Location: index.php');  

}

 

/*

Remove a product

*/

function deleteProduct()

{

if (isset($_GET['productId']) && (int)$_GET['productId'] > 0) {

$productId = (int)$_GET['productId'];

} else {

header('Location: index.php');

}

 

// remove any references to this product from

// tbl_order_item and tbl_cart

$sql = "DELETE FROM tbl_order_item

        WHERE pd_id = $productId";

dbQuery($sql);

 

$sql = "DELETE FROM tbl_cart

        WHERE pd_id = $productId";

dbQuery($sql);

 

// get the image name and thumbnail

$sql = "SELECT pd_image, pd_thumbnail

        FROM tbl_product

WHERE pd_id = $productId";

 

$result = dbQuery($sql);

$row    = dbFetchAssoc($result);

 

// remove the product image and thumbnail

if ($row['pd_image']) {

unlink(SRV_ROOT . 'images/product/' . $row['pd_image']);

unlink(SRV_ROOT . 'images/product/' . $row['pd_thumbnail']);

}

 

// remove the product from database;

$sql = "DELETE FROM tbl_product

        WHERE pd_id = $productId";

dbQuery($sql);

 

header('Location: index.php?catId=' . $_GET['catId']);

}

 

 

/*

Remove a product image

*/

function deleteImage()

{

if (isset($_GET['productId']) && (int)$_GET['productId'] > 0) {

$productId = (int)$_GET['productId'];

} else {

header('Location: index.php');

}

 

$deleted = _deleteImage($productId);

 

// update the image and thumbnail name in the database

$sql = "UPDATE tbl_product

SET pd_image = '', pd_thumbnail = ''

WHERE pd_id = $productId";

dbQuery($sql);

 

header("Location: index.php?view=modify&productId=$productId");

}

 

function _deleteImage($productId)

{

// we will return the status

// whether the image deleted successfully

$deleted = false;

 

$sql = "SELECT pd_image, pd_thumbnail

        FROM tbl_product

WHERE pd_id = $productId";

$result = dbQuery($sql) or die('Cannot delete product image. ' . mysql_error());

 

if (dbNumRows($result)) {

$row = dbFetchAssoc($result);

extract($row);

 

if ($pd_image && $pd_thumbnail) {

// remove the image file

$deleted = @unlink(SRV_ROOT . "images/product/$pd_image");

$deleted = @unlink(SRV_ROOT . "images/product/$pd_thumbnail");

}

}

 

return $deleted;

}

 

 

 

 

?>

 

 

This is the processProduct.php script...  Any help will be greatly appreciated... Thank you very much!!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.