$g = $PAGEDATA->vars['online_stores_customers_usergroup']; if (!$user->isInGroup($g)) { $user->addToGroup($g); } } // } } unset($_REQUEST['action'], $_REQUEST['page']); if (count($errors)) { $c .= '<div class="errors"><em class="__" lang-context="core">' . join('</em><br /><em class="__" lang-context="core">', $errors) . '</em></div>'; } else { $total = OnlineStore_getFinalTotal(); // { save data $meta = array('shipping' => OnlineStore_getPostageAndPackaging($total, $_POST['Country'], 0)); $uid = isset($_SESSION['userdata']['id']) ? $_SESSION['userdata']['id'] : 0; dbQuery('insert into online_store_orders set' . ' form_vals="' . addslashes(json_encode($_REQUEST)) . '"' . ', total=' . OnlineStore_getFinalTotal() . ', items="' . addslashes(json_encode($_SESSION['online-store']['items'])) . '"' . ', date_created=now(), user_id=' . $uid . ', meta="' . addslashes(json_encode($meta)) . '"'); $id = dbOne('select last_insert_id() as id', 'id'); $_SESSION['online_store_last_order_id'] = $id; // } // { generate emails require_once SCRIPTBASE . 'ww.incs/vendor/Smarty-3.1.19/libs/Smarty.class.php'; $smarty = new Smarty(); $smarty->compile_dir = USERBASE . '/ww.cache/templates_c'; $smarty->left_delimiter = '{{'; $smarty->right_delimiter = '}}'; if (!file_exists(USERBASE . '/ww.cache/templates_c')) { mkdir(USERBASE . '/ww.cache/templates_c'); } foreach ($_REQUEST as $key => $val) { $smarty->assign($key, $val); }
/** * returns a HTML string to show the Online-Store basket * * @param array $vars parameters passed via Smarty * * @return string */ function OnlineStore_showBasketWidget($vars = null) { global $DBVARS; $slidedown = @$vars->slidedown; $slideup = (int) @$vars->slideup_delay; $html = '<div class="online-store-basket-widget' . ($slidedown ? ' slidedown' : '') . '">'; if ($slidedown) { $html .= '<div class="slidedown-header">' . __('Your Items') . '</div>' . '<div class="slidedown-wrapper" slidedown="' . @$vars->slidedown_animation . '" slideup="' . $slideup . '">'; WW_addCSS('/ww.plugins/online-store/basket.css'); } // { basket body if (!isset($_SESSION['online-store'])) { $_SESSION['online-store'] = array('items' => array(), 'total' => 0); } $cpage = Page::getInstance($_SESSION['onlinestore_checkout_page']); $cpage = $cpage->getRelativeUrl(); if (@$vars->template) { $t = $vars->template; $t = str_replace('{{ONLINESTORE_NUM_ITEMS}}', OnlineStore_getNumItems(), $t); if (!@$_SESSION['onlinestore_checkout_page']) { OnlineStore_setCheckoutPage(); } $total = OnlineStore_getFinalTotal(); if ($_SESSION['onlinestore_prices_shown_post_vat']) { $total *= (100 + $_SESSION['onlinestore_vat_percent']) / 100; } $t = str_replace('{{ONLINESTORE_FINAL_TOTAL}}', OnlineStore_numToPrice($total), $t); if (strpos($t, '{{ONLINESTORE_CHECKOUTURL}}') !== false) { $t = str_replace('{{ONLINESTORE_CHECKOUTURL}}', $cpage, $t); } $html .= $t; } else { if (isset($_SESSION['online-store']['items']) && count($_SESSION['online-store']['items'])) { $html .= '<table class="os_basket">'; $html .= '<tr class="os_basket_titles"><th>' . __('Price') . '</th><th>' . __('Amt') . '</th>' . '<th>' . __('Total') . '</th></tr>'; foreach ($_SESSION['online-store']['items'] as $md5 => $item) { // { name $html .= '<tr class="os_basket_itemTitle" product="' . $md5 . '">' . '<th colspan="3">'; if (isset($item['id']) && $item['id']) { $p = Product::getInstance($item['id']); if ($p) { $img = $p->getDefaultImage(); if ($img) { $html .= '<a href="/f/' . $img . '" target="popup" ' . 'class="online-store-thumb-wrapper">' . '<img src="/a/f=getImg/w=16/h=16/' . $img . '"/>' . '</a>'; } } } if ($item['url']) { $html .= '<a href="' . $item['url'] . '">'; } $html .= $item['short_desc']; if ($item['url']) { $html .= '</a>'; } $html .= '</th></tr>'; // } $html .= '<tr class="os_basket_itemDetails ' . $md5 . '" product="' . $md5 . '">'; // { cost $cost = $_SESSION['onlinestore_prices_shown_post_vat'] ? $item['cost'] * (100 + $_SESSION['onlinestore_vat_percent']) / 100 : $item['cost']; $html .= '<td>' . OnlineStore_numToPrice($cost) . '</td>'; // } // { amount $html .= '<td class="amt"><span class="' . $md5 . '-amt">' . $item['amt'] . '</span>' . ' [<a title="remove" class="amt-del" href="javascript:;">x</a>]' . '</td>'; // } // { price $price = $cost * $item['amt']; $html .= '<td class="' . $md5 . '-item-total total">' . OnlineStore_numToPrice($price) . '</td></tr>'; // } } $total = $_SESSION['online-store']['total']; if ($_SESSION['onlinestore_prices_shown_post_vat']) { $total *= (100 + $_SESSION['onlinestore_vat_percent']) / 100; } $html .= '<tr class="os_basket_totals"><th colspan="2">' . __('Total') . '</th>' . '<td class="total">' . OnlineStore_numToPrice($total) . '</td></tr>' . '</table>' . '<a class="online-store-checkout-link" href="' . $cpage . '">' . __('Proceed to Checkout') . '</a>'; } else { $html .= '<em class="os-basket empty">' . __('Empty') . '</em>'; } } if (@$_SESSION['userdata']['id']) { $html .= '<div id="onlinestore-lists"><span>' . __('Lists:') . ' </span>' . '<a href="javascript:;" class="onlinestore-load-list">' . __('Load') . '</a>'; if (count(@$_SESSION['online-store']['items'])) { $html .= ' | <a href="javascript:;" class="onlinestore-save-list">' . __('Save') . '</a>'; } $html .= '</div>'; } // } if ($slidedown) { $html .= '</div>'; } $html .= '</div>'; WW_addScript('online-store/j/basket.js'); return $html; }