installed_plugin('reviews')) { oos_redirect(oos_href_link($aContents['home'])); } if (isset($_GET['products_id'])) { if (!isset($nProductsID)) $nProductsID = oos_get_product_id($_GET['products_id']); } elseif (isset($_POST['products_id'])) { if (!isset($nProductsID)) $nProductsID = oos_get_product_id($_POST['products_id']); } else { oos_redirect(oos_href_link($aContents['home'])); } require_once MYOOS_INCLUDE_PATH . '/includes/languages/' . $sLanguage . '/reviews_product_write.php'; // start the session if ( $session->hasStarted() === FALSE ) $session->start(); if (!isset($_SESSION['customer_id'])) { // navigation history if (!isset($_SESSION['navigation'])) { $_SESSION['navigation'] = new navigationHistory(); } $_SESSION['navigation']->set_snapshot(); $oMessage->add_session('login', $aLang['error_login_for_rating'], 'danger'); oos_redirect(oos_href_link($aContents['login'])); } $productstable = $oostable['products']; $products_descriptiontable = $oostable['products_description']; $sql = "SELECT p.products_id, pd.products_name, p.products_image FROM $productstable p, $products_descriptiontable pd WHERE p.products_id = '" . intval($nProductsID) . "' AND pd.products_id = p.products_id AND pd.products_languages_id = '" . intval($nLanguageID) . "' AND p.products_setting = '2'"; $product_result = $dbconn->Execute($sql); $valid_product = ($product_result->RecordCount() > 0); $product_info = $product_result->fields; if ( isset($_POST['action']) && ($_POST['action'] == 'reviews-write-process') && ( isset($_SESSION['formid']) && ($_SESSION['formid'] == $_POST['formid'])) && ( $valid_product == TRUE ) ) { $review = oos_prepare_input($_POST['review']); $rating = oos_prepare_input($_POST['rating']); $headline = oos_prepare_input($_POST['headline']); $bError = FALSE; if (strlen($review) < REVIEW_TEXT_MIN_LENGTH) { $oMessage->add('product_reviews_write', $aLang['review_text']); $bError = TRUE; } if (!isset($_POST['rating'])) { $oMessage->add('product_reviews_write', $aLang['review_rating']); $bError = TRUE; } if (strlen($headline) < 10) { $oMessage->add('product_reviews_write', $aLang['review_headline']); $bError = TRUE; } if ($bError === FALSE) { $customerstable = $oostable['customers']; $sql = "SELECT customers_firstname, customers_lastname FROM $customerstable WHERE customers_id = '" . intval($_SESSION['customer_id']) . "'"; $customer_info_result = $dbconn->Execute($sql); $customer_info = $customer_info_result->fields; $firstname = ltrim($customer_info['customers_firstname']); $firstname = substr($firstname, 0, 1); $lastname = ltrim($customer_info['customers_lastname']); $lastname = substr($lastname, 0, 1); $customers_name = $firstname . '. ' . $lastname . '. '; $orderstable = $oostable['orders']; $orders_productstable = $oostable['orders_products']; $query = "SELECT o.orders_id, op.products_id FROM $orderstable o, $orders_productstable op WHERE o.customers_id = '" . intval($_SESSION['customer_id']) . "' AND o.orders_id = op.orders_id AND op.products_id = '" . intval($nProductsId) . "'"; $orders_result = $dbconn->Execute($query); if ($orders_result->RecordCount()) { $nValidReviews = 1; } else { $nValidReviews = 0; } $date_now = date('Ymd'); $reviewstable = $oostable['reviews']; $dbconn->Execute("INSERT INTO $reviewstable (products_id, customers_id, customers_name, verified, reviews_rating, date_added, reviews_read, reviews_status) VALUES ('" . intval($nProductsID) . "', '" . intval($_SESSION['customer_id']) . "', '" . oos_db_input($customers_name) . "', '" . intval($nValidReviews) . "', '" . oos_db_input($rating) . "', now(), '0', '0')"); $insert_id = $dbconn->Insert_ID(); $reviews_descriptiontable = $oostable['reviews_description']; $dbconn->Execute("INSERT INTO $reviews_descriptiontable (reviews_id, reviews_languages_id, reviews_headline, reviews_text) VALUES ('" . intval($insert_id) . "', '" . intval($nLanguageID) . "', '" . oos_db_input($headline) . "', '" . oos_db_input($review) . "')"); $email_subject = 'Review: ' . $product_info['products_name']; $email_text = "\n"; $email_text .= "Firstname: ". $customer_values['customers_firstname'] . "\n"; $email_text .= "Lastname: ". $customer_values['customers_lastname'] . "\n"; $email_text .= "E-Mail: ". $customer_values['customers_email_address'] . "\n"; $email_text .= "\n"; $email_text .= "Text: ". $review . "\n"; oos_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $email_subject, nl2br($email_text), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, ''); // clear cache require_once MYOOS_INCLUDE_PATH . '/includes/classes/class_template.php'; $smarty = new myOOS_Smarty(); $smarty->clearCache(NULL, $sTheme.'|products|reviews'); $oMessage->add_session('reviews', $aLang['info_review_waiting'], 'success'); oos_redirect(oos_href_link($aContents['product_reviews'], 'products_id=' . intval($nProductsID))); } } $oBreadcrumb->add($aLang['navbar_title'], oos_href_link($aContents['product_reviews'], 'products_id=' . intval($nProductsID))); $sCanonical = oos_href_link($aContents['product_reviews_write'], 'products_id=' . intval($nProductsID), FALSE, TRUE); $customerstable = $oostable['customers']; $sql = "SELECT customers_firstname, customers_lastname FROM $customerstable WHERE customers_id = '" . intval($_SESSION['customer_id']) . "'"; $customer_info_result = $dbconn->Execute($sql); $customer_info = $customer_info_result->fields; $firstname = ltrim($customer_info['customers_firstname']); $firstname = substr($firstname, 0, 1); $lastname = ltrim($customer_info['customers_lastname']); $lastname = substr($lastname, 0, 1); $customers_name = $firstname . '. ' . $lastname . '. '; $aTemplate['page'] = $sTheme . '/page/product_reviews_write.html'; $aTemplate['javascript'] = $sTheme . '/js/product_reviews_write.html'; $nPageType = OOS_PAGE_TYPE_REVIEWS; $sPagetitle = $aLang['heading_title'] . ' ' . OOS_META_TITLE; if ($oMessage->size('product_reviews_write') > 0) { $aInfoMessage = array_merge ($aInfoMessage, $oMessage->output('product_reviews_write') ); } require_once MYOOS_INCLUDE_PATH . '/includes/system.php'; if (!isset($option)) { require_once MYOOS_INCLUDE_PATH . '/includes/message.php'; require_once MYOOS_INCLUDE_PATH . '/includes/blocks.php'; } $smarty->assign( array( 'breadcrumb' => $oBreadcrumb->trail(), 'heading_title' => $aLang['heading_title'], 'canonical' => $sCanonical, 'valid_product' => $valid_product, 'product_info' => $product_info, 'customers_name' => $customers_name ) ); $smarty->assign('javascript', $smarty->fetch($aTemplate['javascript'])); // display the template $smarty->display($aTemplate['page']);