[ Index ]
 

Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/includes/modules/pages/product_reviews_write/ -> header_php.php (source)

   1  <?php
   2  /**

   3   * reviews Write

   4   *

   5   * @package page

   6   * @copyright Copyright 2003-2006 Zen Cart Development Team

   7   * @copyright Portions Copyright 2003 osCommerce

   8   * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0

   9   * @version $Id: header_php.php 4274 2006-08-26 03:16:53Z drbyte $

  10   */
  11  /**

  12   * Header code file for product reviews "write" page

  13   *

  14   */
  15  
  16  // This should be first line of the script:

  17  $zco_notifier->notify('NOTIFY_HEADER_START_PRODUCT_REVIEWS_WRITE');
  18  
  19  if (!$_SESSION['customer_id']) {
  20    $_SESSION['navigation']->set_snapshot();
  21    zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL'));
  22  }
  23  
  24  require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
  25  
  26  $product_info_query = "SELECT p.products_id, p.products_model, p.products_image,
  27                                p.products_price, p.products_tax_class_id, pd.products_name
  28                         FROM " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
  29                         WHERE p.products_id = :productsID
  30                         AND p.products_status = '1'
  31                         AND p.products_id = pd.products_id
  32                         AND pd.language_id = :languagesID";
  33  
  34  $product_info_query = $db->bindVars($product_info_query, ':productsID', $_GET['products_id'], 'integer');
  35  $product_info_query = $db->bindVars($product_info_query, ':languagesID', $_SESSION['languages_id'], 'integer');
  36  $product_info = $db->Execute($product_info_query);
  37  
  38  if (!$product_info->RecordCount()) {
  39    zen_redirect(zen_href_link(FILENAME_PRODUCT_REVIEWS, zen_get_all_get_params(array('action'))));
  40  }
  41  
  42  $customer_query = "SELECT customers_firstname, customers_lastname, customers_email_address
  43                     FROM " . TABLE_CUSTOMERS . "
  44                     WHERE customers_id = :customersID";
  45  
  46  
  47  $customer_query = $db->bindVars($customer_query, ':customersID', $_SESSION['customer_id'], 'integer');
  48  $customer = $db->Execute($customer_query);
  49  
  50  if (isset($_GET['action']) && ($_GET['action'] == 'process')) {
  51    $rating = zen_db_prepare_input($_POST['rating']);
  52    $review_text = zen_db_prepare_input($_POST['review_text']);
  53  
  54    $error = false;
  55    if (strlen($review_text) < REVIEW_TEXT_MIN_LENGTH) {
  56      $error = true;
  57  
  58      $messageStack->add('review_text', JS_REVIEW_TEXT);
  59    }
  60  
  61    if (($rating < 1) || ($rating > 5)) {
  62      $error = true;
  63  
  64      $messageStack->add('review_text', JS_REVIEW_RATING);
  65    }
  66  
  67    if ($error == false) {
  68      if (REVIEWS_APPROVAL == '1') {
  69        $review_status = '0';
  70      } else {
  71        $review_status = '1';
  72      }
  73  
  74      $sql = "INSERT INTO " . TABLE_REVIEWS . " (products_id, customers_id, customers_name, reviews_rating, date_added, status)
  75              VALUES (:productsID, :customersID, :customersName, :rating, now(), " . $review_status . ")";
  76  
  77  
  78      $sql = $db->bindVars($sql, ':productsID', $_GET['products_id'], 'integer');
  79      $sql = $db->bindVars($sql, ':customersID', $_SESSION['customer_id'], 'integer');
  80      $sql = $db->bindVars($sql, ':customersName', $customer->fields['customers_firstname'] . ' ' . $customer->fields['customers_lastname'], 'string');
  81      $sql = $db->bindVars($sql, ':rating', $rating, 'string');
  82  
  83      $db->Execute($sql);
  84  
  85      $insert_id = $db->Insert_ID();
  86  
  87      $sql = "INSERT INTO " . TABLE_REVIEWS_DESCRIPTION . " (reviews_id, languages_id, reviews_text)
  88              VALUES (:insertID, :languagesID, :reviewText)";
  89  
  90      $sql = $db->bindVars($sql, ':insertID', $insert_id, 'integer');
  91      $sql = $db->bindVars($sql, ':languagesID', $_SESSION['languages_id'], 'integer');
  92      $sql = $db->bindVars($sql, ':reviewText', $review_text, 'string');
  93  
  94      $db->Execute($sql);
  95      // send review-notification email to admin

  96      if (REVIEWS_APPROVAL == '1' && SEND_EXTRA_REVIEW_NOTIFICATION_EMAILS_TO_STATUS == '1' and defined('SEND_EXTRA_REVIEW_NOTIFICATION_EMAILS_TO') and SEND_EXTRA_REVIEW_NOTIFICATION_EMAILS_TO !='') {
  97        $email_text  = sprintf(EMAIL_PRODUCT_REVIEW_CONTENT_INTRO, $product_info->fields['products_name']) . "\n\n" ;
  98        $email_text .= sprintf(EMAIL_PRODUCT_REVIEW_CONTENT_DETAILS, $review_text)."\n\n";
  99        $email_subject = sprintf(EMAIL_REVIEW_PENDING_SUBJECT,$product_info->fields['products_name']);
 100        $html_msg['EMAIL_SUBJECT'] = sprintf(EMAIL_REVIEW_PENDING_SUBJECT,$product_info->fields['products_name']);
 101        $html_msg['EMAIL_MESSAGE_HTML'] = str_replace('\n','',sprintf(EMAIL_PRODUCT_REVIEW_CONTENT_INTRO, $product_info->fields['products_name']));
 102        $html_msg['EMAIL_MESSAGE_HTML'] .= '<br />';
 103        $html_msg['EMAIL_MESSAGE_HTML'] .= str_replace('\n','',sprintf(EMAIL_PRODUCT_REVIEW_CONTENT_DETAILS, $review_text));
 104        $extra_info=email_collect_extra_info($name,$email_address, $customer->fields['customers_firstname'] . ' ' . $customer->fields['customers_lastname'] , $customer->fields['customers_email_address'] );
 105        $html_msg['EXTRA_INFO'] = $extra_info['HTML'];
 106        zen_mail('', SEND_EXTRA_REVIEW_NOTIFICATION_EMAILS_TO, $email_subject ,
 107        $email_text . $extra_info['TEXT'], STORE_NAME, EMAIL_FROM, $html_msg, 'reviews_extra');
 108      }
 109      // end send email

 110  
 111      zen_redirect(zen_href_link(FILENAME_PRODUCT_REVIEWS, zen_get_all_get_params(array('action'))));
 112    }
 113  }
 114  
 115  $products_price = zen_get_products_display_price($product_info->fields['products_id']);
 116  
 117  $products_name = $product_info->fields['products_name'];
 118  
 119  if ($product_info->fields['products_model'] != '') {
 120    $products_model = '<br /><span class="smallText">[' . $product_info->fields['products_model'] . ']</span>';
 121  } else {
 122    $products_model = '';
 123  }
 124  
 125  // set image

 126  //  $products_image = $product_info->fields['products_image'];

 127  if ($product_info->fields['products_image'] == '' and PRODUCTS_IMAGE_NO_IMAGE_STATUS == '1') {
 128    $products_image = PRODUCTS_IMAGE_NO_IMAGE;
 129  } else {
 130    $products_image = $product_info->fields['products_image'];
 131  }
 132  
 133  $breadcrumb->add(NAVBAR_TITLE);
 134  
 135  // This should be last line of the script:

 136  $zco_notifier->notify('NOTIFY_HEADER_END_PRODUCT_REVIEWS_WRITE');
 137  ?>


Généré le : Mon Nov 26 16:45:43 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics