Example #1
0
/**
 * 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;
    }
}
Example #2
0
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;
    }
}
Example #3
0
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);
}
Example #4
0
 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);
 }
Example #5
0
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;
    }
}
Example #6
0
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;
    }
}
Example #7
0
/**
 * 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;
}
Example #8
0
// 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';
Example #9
0
/**
 * 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);
Example #10
0
        }
        $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;
}
Example #11
0
 * 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';
Example #12
0
<?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;
Example #13
0
 /**
  * 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'));
         }
     }
 }
Example #14
0
 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>";
Example #15
0
File: cgv.php Project: naao/myshop
<?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';
Example #16
0
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;
}
Example #17
0
            echo "<tr>\n";
        }
        $class = $class == 'even' ? 'odd' : 'even';
        if (count($names) > 0) {
            echo "<tr class='{$class}'><td colspan='3' align='center'>&nbsp;</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;
}
Example #18
0
            $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();
}
Example #19
0
 /**
  * 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;
 }
Example #20
0
 /**
  * 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);
 }
Example #21
0
        }
        $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;
}
Example #22
0
 /**
  * Renturn tag <a> 
  *
  * @return string
  */
 function getHrefTitle()
 {
     return myshop_utils::makeHrefTitle($this->getVar('cat_title'));
 }
Example #23
0
            } 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;
}
Example #24
0
File: rss.php Project: naao/myshop
         $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);
Example #25
0
 /**
  * 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);
 }
Example #26
0
 /**
  * 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;
             }
         }
     }
 }
Example #27
0
/**
 * 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';
Example #28
0
 /**
  * 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);
 }
Example #29
0
$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);
Example #30
0
    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();