/** * Random Display x products(s) */ function b_myshop_random_show($options) { // '10|0|0'; // Display 10 products from all categories or specify category id, this monthly only? global $xoopsConfig, $xoopsTpl; include XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; $products = $block = array(); $start = 0; $limit = $options[0]; $categoryId = $options[1]; $thisMonthOnly = intval($options[2]); $myshop_shelf_parameters->resetDefaultValues()->setProductsType('random')->setStart($start)->setLimit($limit)->setSort('RAND()')->setCategory($categoryId)->setThisMonthOnly($thisMonthOnly); $products = $myshop_shelf->getProducts($myshop_shelf_parameters); if (isset($products['lastTitle'])) { unset($products['lastTitle']); } if (count($products) > 0) { $url = MYSHOP_URL . 'include/myshop.css'; $block['nostock_msg'] = myshop_utils::getModuleOption('nostock_msg'); $block['block_products'] = $products; $xoopsTpl->assign("xoops_module_header", "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$url}\" />"); return $block; } else { return false; } }
function b_myshop_new_show($options) { // '10|0'; // Display 10 products from all categories or specify category id global $xoopsConfig, $xoopsTpl; include XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; $block = $products = array(); $start = 0; $limit = $options[0]; $categoryId = $options[1]; // $myshop_shelf_parameters->resetDefaultValues()->setProductsType('product_online')->setStart($start)->setLimit($limit)->setSort('product_submitted')->setOrder('DESC')->setCategory($categoryId); $myshop_shelf_parameters->resetDefaultValues()->setProductsType('recent')->setStart($start)->setLimit($limit)->setSort('product_submitted DESC, product_title')->setOrder('ASC')->setCategory($categoryId); $products = $myshop_shelf->getProducts($myshop_shelf_parameters); if (isset($products['lastTitle'])) { unset($products['lastTitle']); } if (count($products) > 0) { $url = MYSHOP_URL . 'include/myshop.css'; $block['nostock_msg'] = myshop_utils::getModuleOption('nostock_msg'); $block['block_products'] = $products; // $xoopsTpl->assign("xoops_module_header", "<link rel=\"stylesheet\" type=\"text/css\" href=\"$url\" />"); return $block; } else { return false; } }
function listCart() { global $xoopsTpl, $uid; $cartForTemplate = $discountsDescription = array(); $emptyCart = false; $shippingAmount = $commandAmount = $vatAmount = $commandAmountTTC = $discountsCount = 0; $goOn = ''; $reductions = new myshop_reductions(); $reductions->computeCart($cartForTemplate, $emptyCart, $shippingAmount, $commandAmount, $vatAmount, $goOn, $commandAmountTTC, $discountsDescription, $discountsCount); $myshop_Currency =& myshop_Currency::getInstance(); $xoopsTpl->assign('emptyCart', $emptyCart); // Empty $xoopsTpl->assign('caddieProducts', $cartForTemplate); // Products $xoopsTpl->assign('shippingAmount', $myshop_Currency->amountForDisplay($shippingAmount)); $xoopsTpl->assign('commandAmount', $myshop_Currency->amountForDisplay($commandAmount)); $xoopsTpl->assign('vatAmount', $myshop_Currency->amountForDisplay($vatAmount)); $xoopsTpl->assign('discountsCount', $discountsCount); $xoopsTpl->assign('goOn', $goOn); $xoopsTpl->assign('commandAmountTTC', $myshop_Currency->amountForDisplay($commandAmountTTC, 'l')); $xoopsTpl->assign('discountsDescription', $discountsDescription); $showOrderButton = true; if (xoops_trim(myshop_utils::getModuleOption('paypal_email')) == '' && myshop_utils::getModuleOption('offline_payment') == 0) { $showOrderButton = false; } $showRegistredOnly = false; if (myshop_utils::getModuleOption('restrict_orders', false) && $uid == 0) { $showRegistredOnly = true; $showOrderButton = false; } $xoopsTpl->assign('showRegistredOnly', $showRegistredOnly); $xoopsTpl->assign('showOrderButton', $showOrderButton); }
function __construct() { // Get the module's preferences $this->_decimalsCount = myshop_utils::getModuleOption('decimals_count'); $this->_thousandsSep = myshop_utils::getModuleOption('thousands_sep'); $this->_decimalSep = myshop_utils::getModuleOption('decimal_sep'); $this->_moneyFull = myshop_utils::getModuleOption('money_full'); $this->_moneyShort = myshop_utils::getModuleOption('money_short'); $this->_monnaiePlace = myshop_utils::getModuleOption('monnaie_place'); $this->_thousandsSep = str_replace('[space]', ' ', $this->_thousandsSep); $this->_decimalSep = str_replace('[space]', ' ', $this->_decimalSep); }
function b_myshop_new_show($options) { // '10|0'; // Display 10 products from all categories or specify category id global $xoopsConfig, $xoopsTpl; include XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; $tblLivres = $tblCategories = $tblTmp = $tbl_tmp_vat = $tbl_vat = $tbl_tmp_lang = $block = $tbl_books_id = array(); $tblLivres = $h_myshop_products->getRecentProducts(0, $options[0], $options[1]); if (count($tblLivres) > 0) { $url = MYSHOP_URL . 'myshop.css'; $block['nostock_msg'] = myshop_utils::getModuleOption('nostock_msg'); return $block; } else { return false; } }
function b_myshop_rated_show($options) { // '10|0'; // Display 10 products from all categories or specify category id global $xoopsConfig, $xoopsTpl; include XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; $products = $block = array(); $start = 0; $limit = $options[0]; $categoryId = $options[1]; $myshop_shelf_parameters->resetDefaultValues()->setProductsType('bestrated')->setStart($start)->setLimit($limit)->setSort('product_rating')->setOrder('DESC')->setCategory($categoryId); $products = $myshop_shelf->getProducts($myshop_shelf_parameters); if (isset($products['lastTitle'])) { unset($products['lastTitle']); } if (count($products) > 0) { $url = MYSHOP_URL . 'include/myshop.css'; $block['nostock_msg'] = myshop_utils::getModuleOption('nostock_msg'); $block['block_products'] = $products; return $block; } else { return false; } }
/** * block to display items in cart * * @param integer $options[0] Count of items to show (0 = no limit) * @return array Block's content */ function b_myshop_cart_show($options) { global $mod_pref, $xoopsConfig; include XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; $productsCount = intval($options[0]); $cartForTemplate = $block = array(); $emptyCart = false; $shippingAmount = $commandAmount = $vatAmount = $discountsCount = 0; $goOn = ''; $commandAmountTTC = 0; $discountsDescription = array(); // Calculate Amount $reductions = new myshop_reductions(); $reductions->computeCart($cartForTemplate, $emptyCart, $shippingAmount, $commandAmount, $vatAmount, $goOn, $commandAmountTTC, $discountsDescription, $discountsCount); $dec = myshop_utils::getModuleOption('decimals_count'); if ($emptyCart) { return ''; } $block['block_money_full'] = myshop_utils::getModuleOption('money_full'); $block['block_money_short'] = myshop_utils::getModuleOption('money_short'); $block['block_shippingAmount'] = sprintf("%0." . $dec . 'f', $shippingAmount); // Shipping $block['block_commandAmount'] = sprintf("%0." . $dec . 'f', $commandAmount); // Without Fee $block['block_vatAmount'] = sprintf("%0." . $dec . 'f', $vatAmount); // Vat $block['block_commandAmountTTC'] = sprintf("%0." . $dec . 'f', $commandAmountTTC); // ALL Fee $block['block_discountsDescription'] = $discountsDescription; // Discount if ($productsCount > 0 && count($cartForTemplate) > $productsCount) { array_slice($cartForTemplate, 0, $productsCount - 1); } $block['block_caddieProducts'] = $cartForTemplate; // Products in cart return $block; }
// VAT $vatArray = $h_myshop_vat->getAllVats(); // Products $xoopsTpl->assign('total_products_count', sprintf(_MYSHOP_THEREARE, $h_myshop_products->getTotalPublishedProductsCount())); if ($limit > 0) { $itemsCount = $h_myshop_products->getRecentProductsCount(); if ($itemsCount > $limit) { require_once XOOPS_ROOT_PATH . '/class/pagenav.php'; $pagenav = new XoopsPageNav($itemsCount, $limit, $start); $xoopsTpl->assign('pagenav', $pagenav->renderNav()); } $myshop_shelf_parameters->resetDefaultValues()->setProductsType('recent')->setStart($start)->setLimit($limit)->setSort('product_submitted DESC, product_title')->setWithXoopsUser(true)->setWithRelatedProducts(true); $products = $myshop_shelf->getProducts($myshop_shelf_parameters); if (isset($products['lastTitle'])) { $lastTitle = strip_tags($products['lastTitle']); unset($products['lastTitle']); } $xoopsTpl->assign('products', $products); } // Parent category $count = 1; $categories = $h_myshop_cat->getMotherCategories(); foreach ($categories as $category) { $tmp = $category->toArray(); $tmp['count'] = $count; $xoopsTpl->append('categories', $tmp); $count++; } myshop_utils::setCSS(); myshop_utils::setMetas($lastTitle . ' - ' . myshop_utils::getModuleName(), myshop_utils::getModuleName()); require_once XOOPS_ROOT_PATH . '/footer.php';
/** * Display Media Product */ require 'header.php'; $type = isset($_GET['type']) ? strtolower($_GET['type']) : 'picture'; $product_id = isset($_GET['product_id']) ? intval($_GET['product_id']) : 0; if ($product_id > 0) { $product = null; $product = $h_myshop_products->get($product_id); if (!is_object($product)) { exit(_MYSHOP_ERROR1); } if ($product->getVar('product_online') == 0) { exit(_MYSHOP_ERROR2); } if (myshop_utils::getModuleOption('show_unpublished') == 0 && $product->getVar('product_submitted') > time()) { exit(_MYSHOP_ERROR3); } } else { exit(_ERRORS); } switch ($type) { case 'attachment': $file_id = isset($_GET['file_id']) ? intval($_GET['file_id']) : 0; if ($file_id == 0) { exit(_MYSHOP_ERROR13); } $attachedFile = null; $attachedFile = $h_myshop_files->get($file_id); if (!is_object($attachedFile)) { exit(_MYSHOP_ERROR19);
} $msg = sprintf(_AM_MYSHOP_CONF_DEL_CATEG, $category->getVar('cat_title')); xoops_confirm(array('op' => 'categories', 'action' => 'confdelete', 'id' => $id), 'index.php', $msg); break; case 'confdelete': xoops_cp_header(); $id = isset($_POST['id']) ? intval($_POST['id']) : 0; if (empty($id)) { myshop_utils::redirect(_AM_MYSHOP_ERROR_1, $baseurl, 5); } $opRedirect = 'categories'; $cnt = $h_myshop_cat->getCategoryProductsCount($id); if ($cnt == 0) { $item = null; $item = $h_myshop_cat->get($id); if (is_object($item)) { $res = $h_myshop_cat->deleteCategory($item); if ($res) { myshop_utils::updateCache(); myshop_utils::redirect(_AM_MYSHOP_SAVE_OK, $baseurl . '?op=' . $opRedirect, 2); } else { myshop_utils::redirect(_AM_MYSHOP_SAVE_PB, $baseurl . '?op=' . $opRedirect, 5); } } else { myshop_utils::redirect(_AM_MYSHOP_NOT_FOUND, $baseurl . '?op=' . $opRedirect, 5); } } else { myshop_utils::redirect(_AM_MYSHOP_ERROR_4, $baseurl . '?op=' . $opRedirect, 5); } break; }
* but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * @copyright Hervé Thouzard of Instant Zero (http://www.instant-zero.com) * @license http://www.fsf.org/copyleft/gpl.html GNU public license * @package myshop * @author Hervé Thouzard of Instant Zero (http://www.instant-zero.com) * * Version : $Id: * **************************************************************************** */ /** * Paypal confirmation */ require 'header.php'; $GLOBALS['current_category'] = -1; require_once MYSHOP_PATH . 'class/myshop_paypal.php'; @error_reporting(0); $success = true; $datasPaypal = false; $success = true; $xoopsOption['template_main'] = 'myshop_thankyou.html'; require_once XOOPS_ROOT_PATH . '/header.php'; $h_myshop_caddy->emptyCart(); $xoopsTpl->assign('success', $success); $xoopsTpl->assign('global_advert', myshop_utils::getModuleOption('advertisement')); $xoopsTpl->assign('breadcrumb', myshop_utils::breadcrumb(array(MYSHOP_URL . basename(__FILE__) => _MYSHOP_PURCHASE_FINSISHED))); $title = _MYSHOP_PURCHASE_FINSISHED . ' - ' . myshop_utils::getModuleName(); myshop_utils::setMetas($title, $title); myshop_utils::setCSS(); require_once XOOPS_ROOT_PATH . '/footer.php';
<?php /** * Advanced Search */ if (!defined('XOOPS_ROOT_PATH')) { die('XOOPS root path not defined'); } require_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; $sform = new XoopsThemeForm(myshop_utils::getModuleName() . ' - ' . _MYSHOP_SEARCHFOR, 'productsSearchForm', MYSHOP_URL . 'search.php', 'post'); $sform->addElement(new XoopsFormText(_MYSHOP_TEXT, 'product_text', 50, 255, ''), false); $sform->addElement(new XoopsFormSelectMatchOption(_MYSHOP_TYPE, 'search_type', 3), false); // Select categories $categorySelect = new XoopsFormSelect(_MYSHOP_CATEGORY, 'product_category', 0); $mytree = new Myshop_XoopsObjectTree($categories, 'cat_cid', 'cat_pid'); $select_categ = $mytree->makeSelBox('cat_pid', 'cat_title', '-'); $select_categ = str_replace("<select id='cat_pid[]' name='cat_pid[]' size='5' multiple='multipe'>", '', $select_categ); $select_categ = str_replace('</select>', '', $select_categ); $select_categ = explode("</option>", $select_categ); $tblTmp = array(); //$tblTmp[0] = _MYSHOP_ALL_CATEGORIES; foreach ($select_categ as $item) { $array = array(); // TODO : Simplify preg_match("/<option value=\\'([0-9]*)\\'>/", $item, $array); // Get each category ID $label = preg_replace("/<option value=\\'([0-9]*)\\'>/", '', $item); // Keep label only if (isset($array[1])) { $catId = intval($array[1]); $tblTmp[$catId] = $label;
/** * Last cart of user * @return void */ function reloadPersistentCart() { global $xoopsUser, $h_myshop_persistent_cart; if (myshop_utils::getModuleOption('persistent_cart') == 0) { return false; } if (is_object($xoopsUser)) { $persistent_carts = array(); $persistent_carts = $h_myshop_persistent_cart->getUserProducts(); foreach ($persistent_carts as $persistent_cart) { $this->addProduct($persistent_cart->getVar('persistent_product_id'), $persistent_cart->getVar('persistent_qty')); } } }
foreach ($products as $item) { $content = $newsletterTemplate; $tblTmp = $tblTmp2 = array(); $criteria = new CriteriaCompo(); $criteria->add(new Criteria('pm_product_id', $item->getVar('product_id'), '=')); $tblTmp = $h_myshop_productsmanu->getObjects($criteria); foreach ($tblTmp as $productManufacturer) { $tblTmp2[] = $productManufacturer->getVar('pm_manu_id'); } $manufacturers = $h_myshop_manufacturer->getObjects(new Criteria('manu_id', '(' . implode(',', $tblTmp2) . ')', 'IN'), true); $tblTmp = array(); foreach ($manufacturers as $manufacturer) { $tblTmp[] = $manufacturer->getVar('manu_commercialname') . ' ' . $manufacturer->getVar('manu_name'); } $search = array('%title%', '%category%', '%author%', '%published%', '%price%', '%money%', '%hometext%', '%fulltext%', '%discountprice%', '%link%', '%product_sku%', '%product_extraid%', '%product_width%', '%product_date%', '%product_shipping_price%', '%product_stock%', '%product_unitmeasure1%', '%product_weight%', '%product_unitmeasure2%', '%product_download_url%', '%product_length%'); $replace = array($item->getVar('product_title'), $categories[$item->getVar('product_cid')]->getVar('cat_title'), implode(', ', $tblTmp), formatTimestamp($item->getVar('product_submitted'), 's'), myshop_utils::getTTC($item->getVar('product_price'), $vats[$item->getVar('product_vat_id')]->getVar('vat_rate')), myshop_utils::getModuleOption('money_full'), $item->getVar('product_summary'), $item->getVar('product_description'), myshop_utils::getTTC($item->getVar('product_discount_price'), $vats[$item->getVar('product_vat_id')]->getVar('vat_rate')), $item->getLink(), $item->getVar('product_sku'), $item->getVar('product_extraid'), $item->getVar('product_width'), $item->getVar('product_date'), $item->getVar('product_shipping_price'), $item->getVar('product_stock'), $item->getVar('product_unitmeasure1'), $item->getVar('product_weight'), $item->getVar('product_unitmeasure2'), $item->getVar('product_download_url'), $item->getVar('product_length')); $content = str_replace($search, $replace, $content); if ($removeBr) { $content = str_replace('<br />', "\r\n", $content); } if ($removeHtml) { $content = strip_tags($content); } fwrite($fp, $content); } if (xoops_trim($footer) != '') { fwrite($fp, $footer); } fclose($fp); $newsfile = MYSHOP_NEWSLETTER_URL; echo "<a href='{$newsfile}' target='_blank'>" . _AM_MYSHOP_NEWSLETTER_READY . "</a>";
<?php /** * conditions */ require 'header.php'; $GLOBALS['current_category'] = -1; $xoopsOption['template_main'] = 'myshop_cgv.html'; require_once XOOPS_ROOT_PATH . '/header.php'; require_once MYSHOP_PATH . 'class/registryfile.php'; $registry = new myshop_registryfile(); $xoopsTpl->assign('nostock_msg', myshop_utils::getModuleOption('nostock_msg')); $xoopsTpl->assign('mod_pref', $mod_pref); $xoopsTpl->assign('cgv_msg', $registry->getfile(MYSHOP_TEXTFILE2)); $xoopsTpl->assign('global_advert', myshop_utils::getModuleOption('advertisement')); $xoopsTpl->assign('breadcrumb', myshop_utils::breadcrumb(array(MYSHOP_URL . basename(__FILE__) => _MYSHOP_CGV))); myshop_utils::setCSS(); myshop_utils::setMetas(_MYSHOP_CGV . ' ' . myshop_utils::getModuleName(), _MYSHOP_CGV . ' ' . myshop_utils::getModuleName()); require_once XOOPS_ROOT_PATH . '/footer.php';
function myshop_search($queryarray, $andor, $limit, $offset, $userid) { global $xoopsDB; require XOOPS_ROOT_PATH . '/modules/myshop/include/common.php'; require_once XOOPS_ROOT_PATH . '/modules/myshop/class/myshop_products.php'; // Products Search $sql = 'SELECT product_id, product_title, product_submitted, product_submitter FROM ' . $xoopsDB->prefix('myshop_products') . ' WHERE (product_online = 1'; if (myshop_utils::getModuleOption('show_unpublished') == 0) { $sql .= ' AND product_submitted <= ' . time(); } if (myshop_utils::getModuleOption('nostock_display') == 0) { $sql .= ' AND product_stock > 0'; } if ($userid != 0) { $sql .= ' AND product_submitter = ' . $userid; } $sql .= ') '; $tmpObject = new myshop_products(); $datas = $tmpObject->getVars(); $tblFields = array(); $cnt = 0; foreach ($datas as $key => $value) { if ($value['data_type'] == XOBJ_DTYPE_TXTBOX || $value['data_type'] == XOBJ_DTYPE_TXTAREA) { if ($cnt == 0) { $tblFields[] = $key; } else { $tblFields[] = ' OR ' . $key; } $cnt++; } } $count = count($queryarray); $more = ''; if (is_array($queryarray) && $count > 0) { $cnt = 0; $sql .= ' AND ('; $more = ')'; foreach ($queryarray as $oneQuery) { $sql .= '('; $cond = " LIKE '%" . $oneQuery . "%' "; $sql .= implode($cond, $tblFields) . $cond . ')'; $cnt++; if ($cnt != $count) { $sql .= ' ' . $andor . ' '; } } } $sql .= $more . ' ORDER BY product_submitted DESC'; $i = 0; $ret = array(); $myts =& MyTextSanitizer::getInstance(); $result = $xoopsDB->query($sql, $limit, $offset); while ($myrow = $xoopsDB->fetchArray($result)) { $ret[$i]['image'] = 'images/product.png'; $ret[$i]['link'] = "product.php?product_id=" . $myrow['product_id']; $ret[$i]['title'] = $myts->htmlSpecialChars($myrow['product_title']); $ret[$i]['time'] = $myrow['product_submitted']; $ret[$i]['uid'] = $myrow['product_submitter']; $i++; } return $ret; }
echo "<tr>\n"; } $class = $class == 'even' ? 'odd' : 'even'; if (count($names) > 0) { echo "<tr class='{$class}'><td colspan='3' align='center'> </td><td align='center'><input type='hidden' name='names' id='names' value='" . implode('|', $names) . "' /><input type='submit' name='btngo' id='btngo' value='" . _AM_MYSHOP_UPDATE_QUANTITIES . "' /></td></tr>"; } echo '</table></form>'; if (isset($pagenav) && is_object($pagenav)) { echo "<div align='right'>" . $pagenav->renderNav() . '</div>'; } break; case 'updatequantities': $names = array(); if (isset($_POST['names'])) { $names = explode('|', $_POST['names']); foreach ($names as $item) { $name = 'qty_' . $item; if (isset($_POST[$name]) && xoops_trim($_POST[$name]) != '') { $quantity = intval($_POST[$name]); $product_id = intval($item); $product = null; $product = $h_myshop_products->get($product_id); if (is_object($product)) { $h_myshop_products->updateAll('product_stock', $quantity, new Criteria('product_id', $product_id, '='), true); } } } } myshop_utils::redirect(_AM_MYSHOP_SAVE_OK, $baseurl . '?op=lowstock', 2); break; }
$xoopsTpl->assign('bestwith', $tmp); } } } // Product vote if (myshop_utils::getModuleOption('rateproducts') == 1) { $canRate = true; if ($currentUser != 0) { $canRate = $h_myshop_votedata->hasUserAlreadyVoted($currentUser, $product->getVar('product_id')); } else { $canRate = $h_myshop_votedata->hasAnonymousAlreadyVoted('', $product->getVar('product_id')); } $xoopsTpl->assign('userCanRate', $canRate); } // Meta et CSS myshop_utils::setCSS(); if (myshop_utils::getModuleOption('manual_meta')) { $pageTitle = xoops_trim($product->getVar('product_metatitle')) == '' ? $title : $product->getVar('product_metatitle'); $metaDescription = xoops_trim($product->getVar('product_metadescription')) != '' ? $product->getVar('product_metadescription') : $title; $metaKeywords = xoops_trim($product->getVar('product_metakeywords')) != '' ? $product->getVar('product_metakeywords') : myshop_utils::createMetaKeywords($product->getVar('product_title') . ' ' . $product->getVar('product_summary') . ' ' . $product->getVar('product_description')); myshop_utils::setMetas($pageTitle, $metaDescription, $metaKeywords); } else { myshop_utils::setMetas($title, $title, myshop_utils::createMetaKeywords($product->getVar('product_title') . ' ' . $product->getVar('product_summary') . ' ' . $product->getVar('product_description'))); } if (!isset($_GET['op'])) { require_once XOOPS_ROOT_PATH . '/include/comment_view.php'; require_once XOOPS_ROOT_PATH . '/footer.php'; } elseif (isset($_GET['op']) && $_GET['op'] == 'print') { $xoopsTpl->display('db:myshop_product.html'); xoops_footer(); }
/** * Calculate cart order * Content of cart session : * * $datas['number'] = product ref. * $datas['id'] = product id. * $datas['qty'] = quantity * * Private var of $cart is similar + object 'myshop_products' in key 'product' * * @param array $cartForTemplate * @param boolean emptyCart * @param float $shippingAmount * @param float $commandAmount * @param float $vatAmount * @param string $goOn Link to last visited category * @param float $commandAmountTTC Amount with All Fee * @param array $discountsDescription * @param integer $discountsCount */ function computeCart(&$cartForTemplate, &$emptyCart, &$shippingAmount, &$commandAmount, &$vatAmount, &$goOn, &$commandAmountTTC, &$discountsDescription, &$discountsCount) { $emptyCart = false; $goOn = ''; $vats = array(); $cpt = 0; $discountsCount = 0; $this->cart = isset($_SESSION[MyshopMyshop_caddyHandler::CADDY_NAME]) ? $_SESSION[MyshopMyshop_caddyHandler::CADDY_NAME] : array(); $cartCount = count($this->cart); if ($cartCount < 0) { $emptyCart = true; return true; } // Initialize Private Data $this->initializePrivateData(); // Load related products and calculate categories quantity $this->loadProductsAssociatedToCart(); // VAT $vats = $this->handlers->h_myshop_vat->getAllVats(); $myshop_Currency =& myshop_Currency::getInstance(); $caddyCount = count($this->cart); // Initialize total of ht=without VAT, tva= VAT, and shipping $totalHT = $totalVAT = $totalShipping = 0; // Check each product and discount rule foreach ($this->cart as $cartProduct) { if ($cartProduct['product']->getVar('product_discount_price') > 0) { $ht = floatval($cartProduct['product']->getVar('product_discount_price')); } else { $ht = floatval($cartProduct['product']->getVar('product_price')); } $discountedPrice = $ht; $quantity = $cartProduct['qty']; if (myshop_utils::getModuleOption('shipping_quantity')) { $discountedShipping = $cartProduct['product']->getVar('product_shipping_price') * $quantity; } else { $discountedShipping = $cartProduct['product']->getVar('product_shipping_price'); } $totalPrice = 0; $reduction = ''; $cpt++; if ($cpt == $caddyCount) { $category = null; $category = $this->handlers->h_myshop_cat->get($cartProduct['product']->getVar('product_cid')); if (is_object($category)) { $goOn = $category->getLink(); } } // Check All Active Rules foreach ($this->allActiveRules as $rule) { $applyRule = false; if ($rule->disc_group != 0 && myshop_utils::isMemberOfGroup($rule->disc_group) || $rule->disc_group == 0) { if ($rule->disc_cat_cid != 0 && $cartProduct['product']->getVar('product_cid') == $rule->disc_cat_cid || $rule->disc_cat_cid == 0) { if ($rule->disc_store_id != 0 && $cartProduct['product']->getVar('disc_store_id') == $rule->disc_store_id || $rule->disc_store_id == 0) { if ($rule->disc_product_id != 0 && $cartProduct['product']->getVar('product_id') == $rule->disc_product_id || $rule->disc_product_id == 0) { // When to apply switch ($rule->disc_price_case) { case MYSHOP_DISCOUNT_PRICE_CASE_ALL: // All $applyRule = true; break; case MYSHOP_DISCOUNT_PRICE_CASE_FIRST_BUY: // Fist Order if ($this->handlers->h_myshop_commands->isFirstCommand()) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_CASE_PRODUCT_NEVER: // Firs time user buy the product if (!$this->handlers->h_myshop_commands->productAlreadyBought(0, $cartProduct['product']->getVar('product_id'))) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_CASE_QTY_IS: // if quantity of product is... switch ($rule->disc_price_case_qty_cond) { case MYSHOP_DISCOUNT_PRICE_QTY_COND1: // > if ($cartProduct['qty'] > $rule->disc_price_case_qty_value) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_QTY_COND2: // >= if ($cartProduct['qty'] >= $rule->disc_price_case_qty_value) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_QTY_COND3: // < if ($cartProduct['qty'] < $rule->disc_price_case_qty_value) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_QTY_COND4: // <= if ($cartProduct['qty'] <= $rule->disc_price_case_qty_value) { $applyRule = true; } break; case MYSHOP_DISCOUNT_PRICE_QTY_COND5: // == if ($cartProduct['qty'] == $rule->disc_price_case_qty_value) { $applyRule = true; } break; } } } } } } if ($applyRule) { // Apply rule // Calculate product price without fee switch ($rule->disc_price_type) { case MYSHOP_DISCOUNT_PRICE_TYPE1: // Amount related to quantity if ($quantity >= $rule->disc_price_degress_l1qty1 && $quantity <= $rule->disc_price_degress_l1qty2) { $discountedPrice = $rule->disc_price_degress_l1total; } if ($quantity >= $rule->disc_price_degress_l2qty1 && $quantity <= $rule->disc_price_degress_l2qty2) { $discountedPrice = $rule->disc_price_degress_l2total; } if ($quantity >= $rule->disc_price_degress_l3qty1 && $quantity <= $rule->disc_price_degress_l3qty2) { $discountedPrice = $rule->disc_price_degress_l3total; } if ($quantity >= $rule->disc_price_degress_l4qty1 && $quantity <= $rule->disc_price_degress_l4qty2) { $discountedPrice = $rule->disc_price_degress_l4total; } if ($quantity >= $rule->disc_price_degress_l5qty1 && $quantity <= $rule->disc_price_degress_l5qty2) { $discountedPrice = $rule->disc_price_degress_l5total; } $reduction = $rule->disc_description; $discountsCount++; break; case MYSHOP_DISCOUNT_PRICE_TYPE2: // Discount amount or percentage if ($rule->disc_price_amount_on == MYSHOP_DISCOUNT_PRICE_AMOUNT_ON_PRODUCT) { // Discount on product if ($rule->disc_price_amount_type == MYSHOP_DISCOUNT_PRICE_REDUCE_PERCENT) { // Discount percentage $discountedPrice = $this->getDiscountedPrice($discountedPrice, $rule->getVar('disc_price_amount_amount')); } elseif ($rule->disc_price_amount_type == MYSHOP_DISCOUNT_PRICE_REDUCE_MONEY) { // Discount amount $discountedPrice -= floatval($rule->getVar('disc_price_amount_amount')); } // No negative value if ($discountedPrice < 0) { $discountedPrice = 0; } $reduction = $rule->disc_description; $discountsCount++; } elseif ($rule->disc_price_amount_on == MYSHOP_DISCOUNT_PRICE_AMOUNT_ON_CART) { // Rule to apply to cart if (!isset($this->rulesForTheWhole[$rule->disc_id])) { $this->rulesForTheWhole[$rule->disc_id] = $rule; } } break; } // Shipping Fee switch ($rule->disc_shipping_type) { case MYSHOP_DISCOUNT_SHIPPING_TYPE1: // Fee break; case MYSHOP_DISCOUNT_SHIPPING_TYPE2: // Free if user order is more than X euros if ($this->totalAmountBeforeDiscounts > $rule->disc_shipping_free_morethan) { $discountedShipping = 0; } break; case MYSHOP_DISCOUNT_SHIPPING_TYPE3: // Discount on shipping fee of X euros if order is > x if ($this->totalAmountBeforeDiscounts > $rule->disc_shipping_reduce_cartamount) { $discountedShipping -= floatval($rule->disc_shipping_reduce_amount); } // No negative value if ($discountedShipping < 0) { $discountedShipping = 0; } break; case MYSHOP_DISCOUNT_SHIPPING_TYPE4: // Shipping fee degressive if ($quantity >= $rule->disc_shipping_degress_l1qty1 && $quantity <= $rule->disc_shipping_degress_l1qty2) { $discountedShipping = $rule->disc_shipping_degress_l1total; } if ($quantity >= $rule->disc_shipping_degress_l2qty1 && $quantity <= $rule->disc_shipping_degress_l2qty2) { $discountedShipping = $rule->disc_shipping_degress_l2total; } if ($quantity >= $rule->disc_shipping_degress_l3qty1 && $quantity <= $rule->disc_shipping_degress_l3qty2) { $discountedShipping = $rule->disc_shipping_degress_l3total; } if ($quantity >= $rule->disc_shipping_degress_l4qty1 && $quantity <= $rule->disc_shipping_degress_l4qty2) { $discountedShipping = $rule->disc_shipping_degress_l4total; } if ($quantity >= $rule->disc_shipping_degress_l5qty1 && $quantity <= $rule->disc_shipping_degress_l5qty2) { $discountedShipping = $rule->disc_shipping_degress_l5total; } break; } // Discount rule for shipping fee } // Apply discount rule } // Check discounts // Calculate product VAT $vatId = $cartProduct['product']->getVar('product_vat_id'); $vatRate = $vats[$vatId]->getVar('vat_rate'); $vatAmount = myshop_utils::getVAT($discountedPrice * $quantity, $vatRate); // Calculate product all fee ((ht * qte) + vat + shipping) $totalPrice = $discountedPrice * $quantity + $vatAmount + $discountedShipping; // Total $totalHT += $discountedPrice * $quantity; $totalVAT += $vatAmount; $totalShipping += $discountedShipping; // Product related $associatedStore = $associatedCategory = $associatedManufacturers = array(); $manufacturersJoinList = ''; // store if (isset($this->associatedStores[$cartProduct['product']->product_store_id])) { $associatedStore = $this->associatedStores[$cartProduct['product']->product_store_id]->toArray(); } // Catéegory if (isset($this->associatedCategories[$cartProduct['product']->product_cid])) { $associatedCategory = $this->associatedCategories[$cartProduct['product']->product_cid]->toArray(); } // Manufacturers $product_id = $cartProduct['product']->product_id; if (isset($this->associatedManufacturersPerProduct[$product_id])) { $manufacturers = $this->associatedManufacturersPerProduct[$product_id]; $manufacturersList = array(); foreach ($manufacturers as $manufacturer_id) { if (isset($this->associatedManufacturers[$manufacturer_id])) { $associatedManufacturers[] = $this->associatedManufacturers[$manufacturer_id]->toArray(); } $manufacturersList[] = $this->associatedManufacturers[$manufacturer_id]->manu_commercialname . ' ' . $this->associatedManufacturers[$manufacturer_id]->manu_name; } $manufacturersJoinList = implode(MYSHOP_STRING_TO_JOIN_MANUFACTURERS, $manufacturersList); } $productTemplate = array(); $productTemplate = $cartProduct['product']->toArray(); $productTemplate['number'] = $cartProduct['number']; $productTemplate['id'] = $cartProduct['id']; $productTemplate['product_qty'] = $cartProduct['qty']; $productTemplate['unitBasePrice'] = $ht; // Unity price HT (without vat) WITHOUT discount réduction $productTemplate['discountedPrice'] = $discountedPrice; // Unity price HT (without vat) WITH discount $productTemplate['discountedPriceWithQuantity'] = $discountedPrice * $quantity; // Price HT (without vat) WITH discount and quantity // Formated prices $productTemplate['unitBasePriceFormated'] = $myshop_Currency->amountForDisplay($ht); $productTemplate['discountedPriceFormated'] = $myshop_Currency->amountForDisplay($discountedPrice); $productTemplate['discountedPriceWithQuantityFormated'] = $myshop_Currency->amountForDisplay($discountedPrice * $quantity); $productTemplate['vatRate'] = $myshop_Currency->amountInCurrency($vatRate); $productTemplate['vatAmount'] = $vatAmount; $productTemplate['normalShipping'] = $cartProduct['product']->getVar('product_shipping_price'); $productTemplate['discountedShipping'] = $discountedShipping; $productTemplate['totalPrice'] = $totalPrice; $productTemplate['reduction'] = $reduction; $productTemplate['templateProduct'] = $cartProduct['product']->toArray(); $productTemplate['vatAmountFormated'] = $myshop_Currency->amountInCurrency($vatAmount); $productTemplate['normalShippingFormated'] = $myshop_Currency->amountForDisplay($cartProduct['product']->getVar('product_shipping_price')); $productTemplate['discountedShippingFormated'] = $myshop_Currency->amountForDisplay($discountedShipping); $productTemplate['totalPriceFormated'] = $myshop_Currency->amountForDisplay($totalPrice); $productTemplate['templateCategory'] = $associatedCategory; $productTemplate['templateStore'] = $associatedStore; $productTemplate['templateManufacturers'] = $associatedManufacturers; $productTemplate['manufacturersJoinList'] = $manufacturersJoinList; $this->cartForTemplate[] = $productTemplate; } // foreach product in cart // Rules if any if (count($this->rulesForTheWhole) > 0) { // $discountsDescription foreach ($this->rulesForTheWhole as $rule) { switch ($rule->disc_price_type) { case MYSHOP_DISCOUNT_PRICE_TYPE2: // Amount or percentage if ($rule->disc_price_amount_on == MYSHOP_DISCOUNT_PRICE_AMOUNT_ON_CART) { // Rule to apply to cart if ($rule->disc_price_amount_type == MYSHOP_DISCOUNT_PRICE_REDUCE_PERCENT) { // Discount pourcentage $totalHT = $this->getDiscountedPrice($totalHT, $rule->getVar('disc_price_amount_amount')); $totalVAT = $this->getDiscountedPrice($totalVAT, $rule->getVar('disc_price_amount_amount')); } elseif ($rule->disc_price_amount_type == MYSHOP_DISCOUNT_PRICE_REDUCE_MONEY) { // Discount amount $totalHT -= floatval($rule->getVar('disc_price_amount_amount')); $totalVAT -= floatval($rule->getVar('disc_price_amount_amount')); } // No negative value if ($totalHT < 0) { $totalHT = 0; } if ($totalVAT < 0) { $totalVAT = 0; } $discountsDescription[] = $rule->disc_description; $discountsCount++; } // Rule to apply to cart break; } // Switch } // Foreach } // if any global rule // return total $shippingAmount = $totalShipping; $commandAmount = $totalHT; $vatAmount = $totalVAT; $commandAmountTTC = $totalHT + $totalVAT + $totalShipping; $cartForTemplate = $this->cartForTemplate; $emptyCart = false; return true; }
/** * Retourne les produits d'un utilisateur * * @param integer $persistent_uid L'ID de l'utilisateur * @return array Tableaux d'objets de type myshop_persistent_cart */ function getUserProducts($persistent_uid = 0) { if (myshop_utils::getModuleOption('persistent_cart') == 0) { return false; } $persistent_uid = $persistent_uid == 0 ? myshop_utils::getCurrentUserID() : $persistent_uid; $criteria = new Criteria('persistent_uid', $persistent_uid, '='); return $this->getObjects($criteria); }
} $res = $h_myshop_files->insert($item); if ($res) { myshop_utils::updateCache(); myshop_utils::redirect(_AM_MYSHOP_SAVE_OK, $baseurl . '?op=' . $opRedirect, 2); } else { myshop_utils::redirect(_AM_MYSHOP_SAVE_PB, $baseurl . '?op=' . $opRedirect, 5); } break; case 'delete': xoops_cp_header(); $id = isset($_GET['id']) ? intval($_GET['id']) : 0; if (empty($id)) { myshop_utils::redirect(_AM_MYSHOP_ERROR_1, $baseurl, 5); } $opRedirect = 'files'; $item = null; $item = $h_myshop_files->get($id); if (is_object($item)) { $res = $h_myshop_files->deleteAttachedFile($item); if ($res) { myshop_utils::updateCache(); myshop_utils::redirect(_AM_MYSHOP_SAVE_OK, $baseurl . '?op=' . $opRedirect, 2); } else { myshop_utils::redirect(_AM_MYSHOP_SAVE_PB, $baseurl . '?op=' . $opRedirect, 5); } } else { myshop_utils::redirect(_AM_MYSHOP_NOT_FOUND, $baseurl . '?op=' . $opRedirect, 5); } break; }
/** * Renturn tag <a> * * @return string */ function getHrefTitle() { return myshop_utils::makeHrefTitle($this->getVar('cat_title')); }
} else { myshop_utils::redirect(_AM_MYSHOP_SAVE_PB, $baseurl . '?op=' . $opRedirect, 5); } } else { myshop_utils::redirect(_AM_MYSHOP_NOT_FOUND, $baseurl . '?op=' . $opRedirect, 5); } break; case 'export': xoops_cp_header(); myshop_adminMenu(6); myshop_utils::htitle(_MI_MYSHOP_ADMENU5, 4); $orderType = intval($_POST['cmdtype']); $exportFilter = $_POST['exportfilter']; $exportFilename = MYSHOP_PATH . 'admin/exports/' . $exportFilter . '.php'; if (file_exists($exportFilename)) { require_once MYSHOP_PATH . 'admin/exports/export.php'; require_once $exportFilename; $className = 'myshop_' . $exportFilter . '_export'; if (class_exists($className)) { $export = new $className(); $export->setOrderType($orderType); $result = $export->export(); if ($result === true) { echo "<a href='" . $export->getDownloadUrl() . "'>" . _AM_MYSHOP_EXPORT_READY . '</a>'; } } } else { myshop_utils::redirect(_AM_MYSHOP_ERROR_11); } break; }
$categoryTitle = $category->getVar('cat_title'); } } $sitename = htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES); $email = checkEmail($xoopsConfig['adminmail'], true); $slogan = htmlspecialchars($xoopsConfig['slogan'], ENT_QUOTES); $limit = myshop_utils::getModuleOption('perpage'); $tpl->assign('charset', $charset); $tpl->assign('channel_title', xoops_utf8_encode($sitename)); $tpl->assign('channel_link', XOOPS_URL . '/'); $tpl->assign('channel_desc', xoops_utf8_encode($slogan)); $tpl->assign('channel_lastbuild', formatTimestamp(time(), 'rss')); $tpl->assign('channel_webmaster', xoops_utf8_encode($email)); $tpl->assign('channel_editor', xoops_utf8_encode($email)); $tpl->assign('channel_category', xoops_utf8_encode($categoryTitle)); $tpl->assign('channel_generator', xoops_utf8_encode(myshop_utils::getModuleName())); $tpl->assign('channel_language', _LANGCODE); $tpl->assign('image_url', XOOPS_URL . '/images/logo.gif'); $dimention = getimagesize(XOOPS_ROOT_PATH . '/images/logo.gif'); if (empty($dimention[0])) { $width = 88; } else { $width = $dimention[0] > 144 ? 144 : $dimention[0]; } if (empty($dimention[1])) { $height = 31; } else { $height = $dimention[1] > 400 ? 400 : $dimention[1]; } $tpl->assign('image_width', $width); $tpl->assign('image_height', $height);
/** * Informe le propriétaire du site qu'une commande à échoué (le paiement) * * @param object $order La commande en question * @return void */ function notifyOrderCanceled(myshop_commands $order) { $msg = array(); $msg['NUM_COMMANDE'] = $order->getVar('cmd_id'); myshop_utils::sendEmailFromTpl('command_shop_cancel.tpl', myshop_utils::getEmailsFromGroup(myshop_utils::getModuleOption('grp_sold')), _MYSHOP_ORDER_CANCELED, $msg); myshop_utils::sendEmailFromTpl('command_client_cancel.tpl', $order->getVar('cmd_email'), _MYSHOP_ORDER_CANCELED, $msg); }
/** * Calculate Product price with discount and no Fee * * @param integer $produtId * @param float $prixHT Price without Fee * @param array $discountsDescription * @param integer $productQty */ function applyDiscountOnEachProduct($productId, &$prixHT, &$discountsDescription, $productQty) { global $h_myshop_commands; $rules = array(); $rules = $this->getRulesOnEachProduct(); // Return objects Discounts if (count($rules) > 0) { $uid = myshop_utils::getCurrentUserID(); foreach ($rules as $rule) { switch ($rule->getVar('disc_when')) { case MYSHOP_DISCOUNT_WHEN1: // All if ($rule->getVar('disc_percent_monney') == MYSHOP_DISCOUNT_TYPE1) { // Discount x pourcent $prixHT = $this->getDiscountedPrice($prixHT, $rule->getVar('disc_amount')); if ($prixHT < 0) { $prixHT = 0; } } else { // Discount x euros $prixHT -= $rule->getVar('disc_amount'); if ($prixHT < 0) { $prixHT = 0; } } $discountsDescription[] = $rule->getVar('disc_description'); break; case MYSHOP_DISCOUNT_WHEN2: // if first order if ($h_myshop_commands->isFirstCommand($uid)) { if ($rule->getVar('disc_percent_monney') == MYSHOP_DISCOUNT_TYPE1) { // Discount x percent $prixHT = $this->getDiscountedPrice($prixHT, $rule->getVar('disc_amount')); if ($prixHT < 0) { $prixHT = 0; } } else { // Discount x euros $prixHT -= $rule->getVar('disc_amount'); if ($prixHT < 0) { $prixHT = 0; } } $discountsDescription[] = $rule->getVar('disc_description'); } break; case MYSHOP_DISCOUNT_WHEN3: // first sale of product if (!$h_myshop_commands->productAlreadyBought($uid, $productId)) { if ($rule->getVar('disc_percent_monney') == MYSHOP_DISCOUNT_TYPE1) { // Discount x percent $prixHT = $this->getDiscountedPrice($prixHT, $rule->getVar('disc_amount')); if ($prixHT < 0) { $prixHT = 0; } } else { // Discount x euros $prixHT -= $rule->getVar('disc_amount'); if ($prixHT < 0) { $prixHT = 0; } } $discountsDescription[] = $rule->getVar('disc_description'); } break; case MYSHOP_DISCOUNT_WHEN4: // if quantity is =, >, >=, <, <= to ... $qtyDiscount = false; switch ($rule->getVar('disc_qty_criteria')) { case 0: // = if ($productQty == $rule->getVar('disc_qty_value')) { $qtyDiscount = true; } break; case 1: // > if ($productQty > $rule->getVar('disc_qty_value')) { $qtyDiscount = true; } break; case 2: // >= if ($productQty >= $rule->getVar('disc_qty_value')) { $qtyDiscount = true; } break; case 3: // < if ($productQty < $rule->getVar('disc_qty_value')) { $qtyDiscount = true; } break; case 4: // <= if ($productQty <= $rule->getVar('disc_qty_value')) { $qtyDiscount = true; } break; } if ($qtyDiscount) { if ($rule->getVar('disc_percent_monney') == MYSHOP_DISCOUNT_TYPE1) { // Discount x percent $prixHT = $this->getDiscountedPrice($prixHT, $rule->getVar('disc_amount')); if ($prixHT < 0) { $prixHT = 0; } } else { // Discount x euros $prixHT -= $rule->getVar('disc_amount'); if ($prixHT < 0) { $prixHT = 0; } } $discountsDescription[] = $rule->getVar('disc_description'); } break; } } } }
/** * Categories map */ require 'header.php'; $GLOBALS['current_category'] = -1; $xoopsOption['template_main'] = 'myshop_map.html'; require_once XOOPS_ROOT_PATH . '/header.php'; require_once MYSHOP_PATH . 'class/tree.php'; $xoopsTpl->assign('mod_pref', $mod_pref); $categories = array(); $categories = $h_myshop_cat->getAllCategories(); $mytree = new Myshop_XoopsObjectTree($categories, 'cat_cid', 'cat_pid'); $tree = $mytree->makeTreeAsArray('cat_title', '-'); foreach ($tree as $key => $value) { if (isset($categories[$key])) { $category = $categories[$key]; $xoopsTpl->append('categories', array('cat_url_rewrited' => $category->getLink(), 'cat_href_title' => $category->getHrefTitle(), 'cat_title' => $value)); } } myshop_utils::setCSS(); if (file_exists(MYSHOP_PATH . 'language/' . $xoopsConfig['language'] . '/modinfo.php')) { require_once MYSHOP_PATH . 'language/' . $xoopsConfig['language'] . '/modinfo.php'; } else { require_once MYSHOP_PATH . 'language/english/modinfo.php'; } $xoopsTpl->assign('global_advert', myshop_utils::getModuleOption('advertisement')); $xoopsTpl->assign('breadcrumb', myshop_utils::breadcrumb(array(MYSHOP_URL . basename(__FILE__) => _MI_MYSHOP_SMNAME4))); $title = _MI_MYSHOP_SMNAME4 . ' - ' . myshop_utils::getModuleName(); myshop_utils::setMetas($title, $title); require_once XOOPS_ROOT_PATH . '/footer.php';
/** * Crée un vote pour un produit * * @param integer $vote_product_id L'identifiant du produit * @param integer $vote_uid L'identifiant de l'utilisateur * @param integer $vote_rating Le vote * @return le résultat de la création du vote */ function createRating($vote_product_id, $vote_uid, $vote_rating) { $product = $this->create(true); $product->setVar('vote_product_id', $vote_product_id); $product->setVar('vote_uid', $vote_uid); $product->setVar('vote_rating', $vote_rating); $product->setVar('vote_ratinghostname', myshop_utils::IP()); $product->setVar('vote_ratingtimestamp', time()); return $this->insert($product); }
$errstr = ''; $fp = fsockopen($url, 80, $errno, $errstr, 30); if ($fp) { fputs($fp, "{$header}{$req}"); while (!feof($fp)) { $res = fgets($fp, 1024); if (strcmp($res, "VERIFIED") == 0) { $log .= "VERIFIED\t"; $paypalok = true; if (strtoupper($_POST['payment_status']) != 'COMPLETED') { $paypalok = false; } if (strtoupper($_POST['receiver_email']) != strtoupper(myshop_utils::getModuleOption('paypal_email'))) { $paypalok = false; } if (strtoupper($_POST['mc_currency']) != strtoupper(myshop_utils::getModuleOption('paypal_money'))) { $paypalok = false; } if (!$_POST['custom']) { $paypalok = false; } $montant = $_POST['mc_gross']; if ($paypalok) { $ref = intval($_POST['custom']); // Order n° $commande = null; $commande = $h_myshop_commands->get($ref); if (is_object($commande)) { if ($montant == $commande->getVar('cmd_total')) { // Order checked $h_myshop_commands->validateOrder($commande);
mkdir(MYSHOP_CACHE_PATH, 0777); file_put_contents(MYSHOP_CACHE_PATH . '/index.html', '<script>history.go(-1);</script>'); } $destname = ''; define("MYSHOP_ADMIN", true); $controler = MYSHOP_ADMIN_PATH . 'actions/' . $op . '.php'; if (file_exists($controler)) { require $controler; } // Main switch ($op) { case 'maintain': xoops_cp_header(); myshop_adminMenu(); require_once '../xoops_version.php'; $tables = array(); foreach ($modversion['tables'] as $table) { $tables[] = $xoopsDB->prefix($table); } if (count($tables) > 0) { $list = implode(',', $tables); $xoopsDB->queryF('CHECK TABLE ' . $list); $xoopsDB->queryF('ANALYZE TABLE ' . $list); $xoopsDB->queryF('OPTIMIZE TABLE ' . $list); } myshop_utils::updateCache(); $h_myshop_products->forceCacheClean(); myshop_utils::redirect(_AM_MYSHOP_SAVE_OK, $baseurl, 2); break; } xoops_cp_footer();