function execute()
 {
     global $PHP_SELF, $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     $OSCOM_Language = Registry::get('Language');
     if (isset($_SESSION['customer_id'])) {
         // retreive the last x products purchased
         $Qorders = $OSCOM_Db->prepare('select distinct op.products_id from :table_orders o, :table_orders_products op, :table_products p where o.customers_id = :customers_id and o.orders_id = op.orders_id and op.products_id = p.products_id and p.products_status = 1 group by op.products_id order by o.date_purchased desc limit :limit');
         $Qorders->bindInt(':customers_id', $_SESSION['customer_id']);
         $Qorders->bindInt(':limit', MAX_DISPLAY_PRODUCTS_IN_ORDER_HISTORY_BOX);
         $Qorders->execute();
         if ($Qorders->fetch() !== false) {
             $product_ids = [];
             do {
                 $product_ids[] = $Qorders->valueInt('products_id');
             } while ($Qorders->fetch());
             $customer_orders_string = null;
             $Qproducts = $OSCOM_Db->prepare('select products_id, products_name from :table_products_description where products_id in (' . implode(', ', $product_ids) . ') and language_id = :language_id order by products_name');
             $Qproducts->bindInt(':language_id', $OSCOM_Language->getId());
             $Qproducts->execute();
             while ($Qproducts->fetch()) {
                 $customer_orders_string .= '<li><span class="pull-right"><a href="' . OSCOM::link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=cust_order&pid=' . $Qproducts->valueInt('products_id')) . '"><span class="fa fa-shopping-cart"></span></a></span><a href="' . OSCOM::link('product_info.php', 'products_id=' . $Qproducts->valueInt('products_id')) . '">' . $Qproducts->value('products_name') . '</a></li>';
             }
             ob_start();
             include 'includes/modules/boxes/templates/order_history.php';
             $data = ob_get_clean();
             $oscTemplate->addBlock($data, $this->group);
         }
     }
 }
    function getOutput()
    {
        global $lng;
        if (!isset($lng) || isset($lng) && !is_object($lng)) {
            $lng = new language();
        }
        foreach ($lng->catalog_languages as $lkey => $lvalue) {
            if ($lvalue['id'] == $_SESSION['languages_id']) {
                $language_code = $lkey;
                break;
            }
        }
        $output = '<div class="g-plusone" data-href="' . OSCOM::link('product_info.php', 'products_id=' . $_GET['products_id'], 'NONSSL', false) . '" data-size="' . strtolower(MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_ONE_SIZE) . '" data-annotation="' . strtolower(MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_ONE_ANNOTATION) . '"';
        if (MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_ONE_ANNOTATION == 'Inline') {
            $output .= ' data-width="' . (int) MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_ONE_WIDTH . '" data-align="' . strtolower(MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_ONE_ALIGN) . '"';
        }
        $output .= '></div>';
        $output .= '<script>
  if ( typeof window.___gcfg == "undefined" ) {
    window.___gcfg = { };
  }

  if ( typeof window.___gcfg.lang == "undefined" ) {
    window.___gcfg.lang = "' . tep_output_string_protected($language_code) . '";
  }

  (function() {
    var po = document.createElement(\'script\'); po.type = \'text/javascript\'; po.async = true;
    po.src = \'https://apis.google.com/js/plusone.js\';
    var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>';
        return $output;
    }
 function execute()
 {
     global $new_products_id_in_cart, $currencies, $oscTemplate;
     $cart_contents_string = '';
     if ($_SESSION['cart']->count_contents() > 0) {
         $cart_contents_string = NULL;
         $products = $_SESSION['cart']->get_products();
         for ($i = 0, $n = sizeof($products); $i < $n; $i++) {
             $cart_contents_string .= '<li';
             if (isset($_SESSION['new_products_id_in_cart']) && $new_products_id_in_cart == $products[$i]['id']) {
                 $cart_contents_string .= ' class="newItemInCart"';
             }
             $cart_contents_string .= '>';
             $cart_contents_string .= $products[$i]['quantity'] . '&nbsp;x&nbsp;';
             $cart_contents_string .= '<a href="' . OSCOM::link('product_info.php', 'products_id=' . $products[$i]['id']) . '">';
             $cart_contents_string .= $products[$i]['name'];
             $cart_contents_string .= '</a></li>';
             if (isset($_SESSION['new_products_id_in_cart']) && $new_products_id_in_cart == $products[$i]['id']) {
                 unset($_SESSION['new_products_id_in_cart']);
             }
         }
         $cart_contents_string .= '<li class="text-right"><hr>' . $currencies->format($_SESSION['cart']->show_total()) . '</li>';
     } else {
         $cart_contents_string .= '<p>' . OSCOM::getDef('module_boxes_shopping_cart_box_cart_empty') . '</p>';
     }
     ob_start();
     include 'includes/modules/boxes/templates/shopping_cart.php';
     $data = ob_get_clean();
     $oscTemplate->addBlock($data, $this->group);
 }
    function getOutput()
    {
        $button_height = (int) MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_HEIGHT;
        if (MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_ANNOTATION == 'Vertical-Bubble') {
            $button_height = 60;
        }
        $output = '<div class="g-plus" data-action="share" data-href="' . OSCOM::link('product_info.php', 'products_id=' . $_GET['products_id'], false) . '" data-annotation="' . strtolower(MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_ANNOTATION) . '"';
        if ((int) MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_WIDTH > 0) {
            $output .= ' data-width="' . (int) MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_WIDTH . '"';
        }
        $output .= ' data-height="' . $button_height . '" data-align="' . strtolower(MODULE_SOCIAL_BOOKMARKS_GOOGLE_PLUS_SHARE_ALIGN) . '"></div>';
        $output .= '<script>
  if ( typeof window.___gcfg == "undefined" ) {
    window.___gcfg = { };
  }

  if ( typeof window.___gcfg.lang == "undefined" ) {
    window.___gcfg.lang = "' . HTML::outputProtected($this->lang->get('code')) . '";
  }

  (function() {
    var po = document.createElement(\'script\'); po.type = \'text/javascript\'; po.async = true;
    po.src = \'https://apis.google.com/js/plusone.js\';
    var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>';
        return $output;
    }
 function execute()
 {
     global $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     $OSCOM_Language = Registry::get('Language');
     if (isset($_GET['products_id'])) {
         $Qmanufacturer = $OSCOM_Db->prepare('select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_url from :table_manufacturers m left join :table_manufacturers_info mi on (m.manufacturers_id = mi.manufacturers_id and mi.languages_id = :languages_id), :table_products p where p.products_id = :products_id and p.manufacturers_id = m.manufacturers_id');
         $Qmanufacturer->bindInt(':languages_id', $OSCOM_Language->getId());
         $Qmanufacturer->bindInt(':products_id', $_GET['products_id']);
         $Qmanufacturer->execute();
         if ($Qmanufacturer->fetch() !== false) {
             $manufacturer_info_string = null;
             if (!empty($Qmanufacturer->value('manufacturers_image'))) {
                 $manufacturer_info_string .= '<div>' . HTML::image(OSCOM::linkImage($Qmanufacturer->value('manufacturers_image')), $Qmanufacturer->value('manufacturers_name')) . '</div>';
             }
             if (!empty($Qmanufacturer->value('manufacturers_url'))) {
                 $manufacturer_info_string .= '<div class="text-center"><a href="' . OSCOM::link('redirect.php', 'action=manufacturer&manufacturers_id=' . $Qmanufacturer->valueInt('manufacturers_id')) . '" target="_blank">' . OSCOM::getDef('module_boxes_manufacturer_info_box_homepage', ['manufacturers_name' => $Qmanufacturer->value('manufacturers_name')]) . '</a></div>';
             }
             ob_start();
             include 'includes/modules/boxes/templates/manufacturer_info.php';
             $data = ob_get_clean();
             $oscTemplate->addBlock($data, $this->group);
         }
     }
 }
Example #6
0
 function getOutput()
 {
     $OSCOM_Db = Registry::get('Db');
     $OSCOM_Language = Registry::get('Language');
     $output = '<table class="table table-hover">
                <thead>
                  <tr class="info">
                    <th>' . OSCOM::getDef('module_admin_dashboard_orders_title') . '</th>
                    <th>' . OSCOM::getDef('module_admin_dashboard_orders_total') . '</th>
                    <th>' . OSCOM::getDef('module_admin_dashboard_orders_date') . '</th>
                    <th>' . OSCOM::getDef('module_admin_dashboard_orders_order_status') . '</th>
                  </tr>
                </thead>
                <tbody>';
     $Qorders = $OSCOM_Db->get(['orders o', 'orders_total ot', 'orders_status s'], ['o.orders_id', 'o.customers_name', 'greatest(o.date_purchased, ifnull(o.last_modified, 0)) as date_last_modified', 's.orders_status_name', 'ot.text as order_total'], ['o.orders_id' => ['rel' => 'ot.orders_id'], 'ot.class' => 'ot_total', 'o.orders_status' => ['rel' => 's.orders_status_id'], 's.language_id' => $OSCOM_Language->getId()], 'date_last_modified desc', 6);
     while ($Qorders->fetch()) {
         $output .= '    <tr>
                       <td><a href="' . OSCOM::link(FILENAME_ORDERS, 'oID=' . $Qorders->valueInt('orders_id') . '&action=edit') . '">' . $Qorders->valueProtected('customers_name') . '</a></td>
                       <td>' . strip_tags($Qorders->value('order_total')) . '</td>
                       <td>' . DateTime::toShort($Qorders->value('date_last_modified')) . '</td>
                       <td>' . $Qorders->value('orders_status_name') . '</td>
                     </tr>';
     }
     $output .= '  </tbody>
               </table>';
     return $output;
 }
 function __construct($module, $user_id = null, $user_name = null)
 {
     global $PHP_SELF;
     $this->lang = Registry::get('Language');
     $module = HTML::sanitize(str_replace(' ', '', $module));
     if (defined('MODULE_ACTION_RECORDER_INSTALLED') && tep_not_null(MODULE_ACTION_RECORDER_INSTALLED)) {
         if (tep_not_null($module) && in_array($module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1), explode(';', MODULE_ACTION_RECORDER_INSTALLED))) {
             if (!class_exists($module)) {
                 if (is_file(OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/action_recorder/' . $module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1))) {
                     $this->lang->loadDefinitions('Shop/modules/action_recorder/' . $module);
                     include OSCOM::getConfig('dir_root', 'Shop') . 'includes/modules/action_recorder/' . $module . '.' . substr($PHP_SELF, strrpos($PHP_SELF, '.') + 1);
                 } else {
                     return false;
                 }
             }
         } else {
             return false;
         }
     } else {
         return false;
     }
     $this->_module = $module;
     if (!empty($user_id) && is_numeric($user_id)) {
         $this->_user_id = $user_id;
     }
     if (!empty($user_name)) {
         $this->_user_name = $user_name;
     }
     $GLOBALS[$this->_module] = new $module();
     $GLOBALS[$this->_module]->setIdentifier();
 }
Example #8
0
 public function execute()
 {
     global $login_customer_id;
     $OSCOM_Db = Registry::get('Db');
     if (is_int($login_customer_id) && $login_customer_id > 0) {
         if (SESSION_RECREATE == 'True') {
             tep_session_recreate();
         }
         $Qcustomer = $OSCOM_Db->prepare('select c.customers_firstname, c.customers_default_address_id, ab.entry_country_id, ab.entry_zone_id from :table_customers c left join :table_address_book ab on (c.customers_id = ab.customers_id and c.customers_default_address_id = ab.address_book_id) where c.customers_id = :customers_id');
         $Qcustomer->bindInt(':customers_id', $login_customer_id);
         $Qcustomer->execute();
         $_SESSION['customer_id'] = $login_customer_id;
         $_SESSION['customer_default_address_id'] = $Qcustomer->valueInt('customers_default_address_id');
         $_SESSION['customer_first_name'] = $Qcustomer->value('customers_firstname');
         $_SESSION['customer_country_id'] = $Qcustomer->valueInt('entry_country_id');
         $_SESSION['customer_zone_id'] = $Qcustomer->valueInt('entry_zone_id');
         $Qupdate = $OSCOM_Db->prepare('update :table_customers_info set customers_info_date_of_last_logon = now(), customers_info_number_of_logons = customers_info_number_of_logons+1, password_reset_key = null, password_reset_date = null where customers_info_id = :customers_info_id');
         $Qupdate->bindInt(':customers_info_id', $_SESSION['customer_id']);
         $Qupdate->execute();
         // reset session token
         $_SESSION['sessiontoken'] = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand());
         // restore cart contents
         $_SESSION['cart']->restore_contents();
         if (count($_SESSION['navigation']->snapshot) > 0) {
             $origin_href = OSCOM::link($_SESSION['navigation']->snapshot['page'], tep_array_to_string($_SESSION['navigation']->snapshot['get'], array(session_name())), $_SESSION['navigation']->snapshot['mode']);
             $_SESSION['navigation']->clear_snapshot();
             HTTP::redirect($origin_href);
         }
         OSCOM::redirect('index.php');
     }
 }
Example #9
0
 function quote($method = '')
 {
     global $order, $shipping_weight, $shipping_num_boxes;
     if (MODULE_SHIPPING_TABLE_MODE == 'price') {
         $order_total = $this->getShippableTotal();
     } else {
         $order_total = $shipping_weight;
     }
     $table_cost = preg_split("/[:,]/", MODULE_SHIPPING_TABLE_COST);
     $size = sizeof($table_cost);
     for ($i = 0, $n = $size; $i < $n; $i += 2) {
         if ($order_total <= $table_cost[$i]) {
             $shipping = $table_cost[$i + 1];
             break;
         }
     }
     if (MODULE_SHIPPING_TABLE_MODE == 'weight') {
         $shipping = $shipping * $shipping_num_boxes;
     }
     $this->quotes = array('id' => $this->code, 'module' => OSCOM::getDef('module_shipping_table_text_title'), 'methods' => array(array('id' => $this->code, 'title' => OSCOM::getDef('module_shipping_table_text_way'), 'cost' => $shipping + MODULE_SHIPPING_TABLE_HANDLING)));
     if ($this->tax_class > 0) {
         $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
     }
     if (tep_not_null($this->icon)) {
         $this->quotes['icon'] = HTML::image($this->icon, $this->title);
     }
     return $this->quotes;
 }
Example #10
0
 public function __construct($site = null)
 {
     if (!isset($site)) {
         $site = OSCOM::getSite();
     }
     $this->site = basename($site);
 }
Example #11
0
 function getData()
 {
     global $request_type, $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     $data = '';
     $Qmanufacturers = $OSCOM_Db->query('select manufacturers_id, manufacturers_name from :table_manufacturers order by manufacturers_name');
     $manufacturers = $Qmanufacturers->fetchAll();
     if (!empty($manufacturers)) {
         if (count($manufacturers) <= MAX_DISPLAY_MANUFACTURERS_IN_A_LIST) {
             // Display a list
             $manufacturers_list = '<ul class="nav nav-pills nav-stacked">';
             foreach ($manufacturers as $m) {
                 $manufacturers_name = strlen($m['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN ? substr($m['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $m['manufacturers_name'];
                 if (isset($_GET['manufacturers_id']) && $_GET['manufacturers_id'] == $m['manufacturers_id']) {
                     $manufacturers_name = '<strong>' . $manufacturers_name . '</strong>';
                 }
                 $manufacturers_list .= '<li><a href="' . OSCOM::link('index.php', 'manufacturers_id=' . (int) $m['manufacturers_id']) . '">' . $manufacturers_name . '</a></li>';
             }
             $manufacturers_list .= '</ul>';
             $data = $manufacturers_list;
         } else {
             // Display a drop-down
             $manufacturers_array = array();
             if (MAX_MANUFACTURERS_LIST < 2) {
                 $manufacturers_array[] = array('id' => '', 'text' => PULL_DOWN_DEFAULT);
             }
             foreach ($manufacturers as $m) {
                 $manufacturers_name = strlen($m['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN ? substr($m['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $m['manufacturers_name'];
                 $manufacturers_array[] = array('id' => $m['manufacturers_id'], 'text' => $manufacturers_name);
             }
             $data = HTML::form('manufacturers', OSCOM::link('index.php', '', $request_type, false), 'get', null, ['session_id' => true]) . HTML::selectField('manufacturers_id', $manufacturers_array, isset($_GET['manufacturers_id']) ? $_GET['manufacturers_id'] : '', 'onchange="this.form.submit();" size="' . MAX_MANUFACTURERS_LIST . '"') . '</form>';
         }
     }
     return $data;
 }
 function execute()
 {
     global $PHP_SELF, $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     $OSCOM_Language = Registry::get('Language');
     if (basename($PHP_SELF) == 'index.php') {
         if (isset($_GET['manufacturers_id']) && is_numeric($_GET['manufacturers_id'])) {
             $Qmanufacturer = $OSCOM_Db->prepare('select
                                              m.manufacturers_name,
                                              mi.manufacturers_seo_title
                                            from
                                              :table_manufacturers m,
                                              :table_manufacturers_info mi
                                            where
                                              m.manufacturers_id = mi.manufacturers_id
                                              and m.manufacturers_id = :manufacturers_id
                                              and mi.languages_id = :languages_id');
             $Qmanufacturer->bindInt(':manufacturers_id', $_GET['manufacturers_id']);
             $Qmanufacturer->bindInt(':languages_id', $OSCOM_Language->getId());
             $Qmanufacturer->execute();
             if ($Qmanufacturer->fetch() !== false) {
                 if (tep_not_null($Qmanufacturer->value('manufacturers_seo_title')) && MODULE_HEADER_TAGS_MANUFACTURER_TITLE_SEO_TITLE_OVERRIDE == 'True') {
                     $oscTemplate->setTitle($Qmanufacturer->value('manufacturers_seo_title') . OSCOM::getDef('module_header_tags_manufacturer_seo_separator') . $oscTemplate->getTitle());
                 } else {
                     $oscTemplate->setTitle($Qmanufacturer->value('manufacturers_name') . OSCOM::getDef('module_header_tags_manufacturer_seo_separator') . $oscTemplate->getTitle());
                 }
             }
         }
     }
 }
 function execute()
 {
     global $current_category_id, $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     if (!isset($_GET['products_id'])) {
         if (isset($current_category_id) && $current_category_id > 0) {
             $sql = 'select distinct p.products_id, pd.products_name from :table_products p, :table_products_description pd, :table_products_to_categories p2c, :table_categories c where p.products_status = 1 and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = :language_id and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and :category_id in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit :limit';
         } else {
             $sql = 'select distinct p.products_id, pd.products_name from :table_products p, :table_products_description pd where p.products_status = 1 and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = :language_id order by p.products_ordered desc, pd.products_name limit :limit';
         }
         $Qbest = $OSCOM_Db->prepare($sql);
         $Qbest->bindInt(':language_id', $_SESSION['languages_id']);
         if (isset($current_category_id) && $current_category_id > 0) {
             $Qbest->bindInt(':category_id', $current_category_id);
         }
         $Qbest->bindInt(':limit', MAX_DISPLAY_BESTSELLERS);
         $Qbest->execute();
         $best = $Qbest->fetchAll();
         if (count($best) >= MIN_DISPLAY_BESTSELLERS) {
             $bestsellers_list = '';
             foreach ($best as $b) {
                 $bestsellers_list .= '<li><a href="' . OSCOM::link('product_info.php', 'products_id=' . $b['products_id']) . '">' . $b['products_name'] . '</a></li>';
             }
             ob_start();
             include 'includes/modules/boxes/templates/best_sellers.php';
             $data = ob_get_clean();
             $oscTemplate->addBlock($data, $this->group);
         }
     }
 }
Example #14
0
 public static function verify($plain, $hash)
 {
     $result = false;
     if (strlen($plain) > 0 && strlen($hash) > 0) {
         switch (static::getType($hash)) {
             case 'phpass':
                 if (!class_exists('PasswordHash', false)) {
                     include OSCOM::getConfig('dir_root', 'Shop') . 'includes/third_party/PasswordHash.php';
                 }
                 $hasher = new \PasswordHash(10, true);
                 $result = $hasher->CheckPassword($plain, $hash);
                 break;
             case 'salt':
                 // split apart the hash / salt
                 $stack = explode(':', $hash, 2);
                 if (count($stack) === 2) {
                     $result = md5($stack[1] . $plain) == $stack[0];
                 } else {
                     $result = false;
                 }
                 break;
             default:
                 $result = password_verify($plain, $hash);
                 break;
         }
     }
     return $result;
 }
Example #15
0
 function getOutput()
 {
     $OSCOM_Db = Registry::get('Db');
     $OSCOM_Language = Registry::get('Language');
     $output = '<table class="table table-hover">
                <thead>
                  <tr class="info">
                    <th>' . OSCOM::getDef('module_admin_dashboard_reviews_title') . '</th>
                    <th>' . OSCOM::getDef('module_admin_dashboard_reviews_date') . '</th>
                    <th>' . OSCOM::getDef('module_admin_dashboard_reviews_reviewer') . '</th>
                    <th class="text-right">' . OSCOM::getDef('module_admin_dashboard_reviews_rating') . '</th>
                    <th class="text-right">' . OSCOM::getDef('module_admin_dashboard_reviews_review_status') . '</th>
                  </tr>
                </thead>
                <tbody>';
     $Qreviews = $OSCOM_Db->get(['reviews r', 'products_description pd'], ['r.reviews_id', 'r.date_added', 'pd.products_name', 'r.customers_name', 'r.reviews_rating', 'r.reviews_status'], ['pd.products_id' => ['rel' => 'r.products_id'], 'pd.language_id' => $OSCOM_Language->getId()], 'r.date_added desc', 6);
     while ($Qreviews->fetch()) {
         $output .= '    <tr>
                       <td><a href="' . OSCOM::link(FILENAME_REVIEWS, 'rID=' . $Qreviews->valueInt('reviews_id') . '&action=edit') . '">' . $Qreviews->value('products_name') . '</a></td>
                       <td>' . DateTime::toShort($Qreviews->value('date_added')) . '</td>
                       <td>' . $Qreviews->valueProtected('customers_name') . '</td>
                       <td class="text-right">' . str_repeat('<i class="fa fa-star text-info"></i>', $Qreviews->valueInt('reviews_rating')) . str_repeat('<i class="fa fa-star-o"></i>', 5 - $Qreviews->valueInt('reviews_rating')) . '</td>
                       <td class="text-right"><i class="fa fa-circle ' . ($Qreviews->valueInt('reviews_status') === 1 ? 'text-success' : 'text-danger') . '"></i></td>
                     </tr>';
     }
     $output .= '  </tbody>
               </table>';
     return $output;
 }
Example #16
0
function tep_session_start()
{
    $sane_session_id = true;
    if (isset($_GET[session_name()])) {
        if (SESSION_FORCE_COOKIE_USE == 'True' || preg_match('/^[a-zA-Z0-9,-]+$/', $_GET[session_name()]) == false) {
            unset($_GET[session_name()]);
            $sane_session_id = false;
        }
    }
    if (isset($_POST[session_name()])) {
        if (SESSION_FORCE_COOKIE_USE == 'True' || preg_match('/^[a-zA-Z0-9,-]+$/', $_POST[session_name()]) == false) {
            unset($_POST[session_name()]);
            $sane_session_id = false;
        }
    }
    if (isset($_COOKIE[session_name()])) {
        if (preg_match('/^[a-zA-Z0-9,-]+$/', $_COOKIE[session_name()]) == false) {
            $session_data = session_get_cookie_params();
            setcookie(session_name(), '', time() - 42000, $session_data['path'], $session_data['domain']);
            unset($_COOKIE[session_name()]);
            $sane_session_id = false;
        }
    }
    if ($sane_session_id == false) {
        OSCOM::redirect('index.php', '', 'NONSSL', false);
    }
    register_shutdown_function('session_write_close');
    return session_start();
}
Example #17
0
 function getOutput()
 {
     $result = $this->_getContent();
     $output = null;
     if (is_array($result) && !empty($result)) {
         $output = '<table class="table table-hover">
                 <thead>
                   <tr class="info">
                     <th>' . OSCOM::getDef('module_admin_dashboard_partner_news_title') . '</th>
                   </tr>
                 </thead>
                 <tbody>';
         foreach ($result as $p) {
             $output .= '    <tr>
                         <td><a href="' . $p['url'] . '" target="_blank"><strong>' . $p['title'] . '</strong></a> <span class="label label-info">' . $p['category_title'] . '</span><br />' . $p['status_update'] . '</td>
                       </tr>';
         }
         $output .= '    <tr>
                       <td class="text-right"><a href="https://www.oscommerce.com/Services" target="_blank">' . OSCOM::getDef('module_admin_dashboard_partner_news_more_title') . '</a></td>
                     </tr>
                   </tbody>
                 </table>';
     }
     return $output;
 }
Example #18
0
 function execute()
 {
     global $login_customer_id, $messageStack, $oscTemplate;
     $OSCOM_Db = Registry::get('Db');
     $error = false;
     if (isset($_GET['action']) && $_GET['action'] == 'process' && isset($_POST['formid']) && $_POST['formid'] == $_SESSION['sessiontoken']) {
         $email_address = HTML::sanitize($_POST['email_address']);
         $password = HTML::sanitize($_POST['password']);
         // Check if email exists
         $Qcustomer = $OSCOM_Db->get('customers', ['customers_id', 'customers_password'], ['customers_email_address' => $email_address], null, 1);
         if ($Qcustomer->fetch() === false) {
             $error = true;
         } else {
             // Check that password is good
             if (!Hash::verify($password, $Qcustomer->value('customers_password'))) {
                 $error = true;
             } else {
                 // set $login_customer_id globally and perform post login code in catalog/login.php
                 $login_customer_id = $Qcustomer->valueInt('customers_id');
                 // migrate old hashed password to new php password_hash
                 if (Hash::needsRehash($Qcustomer->value('customers_password'))) {
                     $OSCOM_Db->save('customers', ['customers_password' => Hash::encrypt($password)], ['customers_id' => $login_customer_id]);
                 }
             }
         }
     }
     if ($error == true) {
         $messageStack->add('login', OSCOM::getDef('module_content_login_text_login_error'));
     }
     ob_start();
     include 'includes/modules/content/' . $this->group . '/templates/login_form.php';
     $template = ob_get_clean();
     $oscTemplate->addContent($template, $this->group);
 }
Example #19
0
 function confirm()
 {
     $OSCOM_Db = Registry::get('Db');
     $Qmail = $OSCOM_Db->get('customers', 'count(*) as count', ['customers_newsletter' => '1']);
     $confirm_string = '<table border="0" cellspacing="0" cellpadding="2">' . "\n" . '  <tr>' . "\n" . '    <td class="main"><font color="#ff0000"><strong>' . OSCOM::getDef('text_count_customers', ['count' => $Qmail->valueInt('count')]) . '</strong></font></td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td>&nbsp;</td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td class="main"><strong>' . $this->title . '</strong></td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td>&nbsp;</td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td class="main">' . "\n" . '      <ul class="nav nav-tabs" role="tablist">' . "\n" . '        <li role="presentation" class="active"><a href="#html_preview" aria-controls="html_preview" role="tab" data-toggle="tab">' . OSCOM::getDef('email_type_html') . '</a></li>' . "\n" . '        <li role="presentation"><a href="#plain_preview" aria-controls="plain_preview" role="tab" data-toggle="tab">' . OSCOM::getDef('email_type_plain') . '</a></li>' . "\n" . '      </ul>' . "\n" . '      <div class="tab-content">' . "\n" . '        <div role="tabpanel" class="tab-pane active" id="html_preview">' . "\n" . '          <iframe id="emailHtmlPreviewContent" style="width: 100%; height: 400px; border: 0;"></iframe>' . "\n" . '          <script id="emailHtmlPreview" type="x-tmpl-mustache">' . "\n" . '            ' . HTML::outputProtected($this->content_html) . "\n" . '          </script>' . "\n" . '          <script>' . "\n" . '            $(function() {' . "\n" . '              var content = $(\'<div />\').html($(\'#emailHtmlPreview\').html()).text();' . "\n" . '              $(\'#emailHtmlPreviewContent\').contents().find(\'html\').html(content);' . "\n" . '            });' . "\n" . '          </script>' . "\n" . '        </div>' . "\n" . '        <div role="tabpanel" class="tab-pane" id="plain_preview">' . "\n" . '          ' . nl2br(HTML::outputProtected($this->content)) . "\n" . '        </div>' . "\n" . '      </div>' . "\n" . '    </td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td>&nbsp;</td>' . "\n" . '  </tr>' . "\n" . '  <tr>' . "\n" . '    <td class="smallText" align="right">' . HTML::button(OSCOM::getDef('image_send'), 'fa fa-envelope', OSCOM::link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID'] . '&action=confirm_send')) . HTML::button(OSCOM::getDef('image_cancel'), 'fa fa-close', OSCOM::link(FILENAME_NEWSLETTERS, 'page=' . $_GET['page'] . '&nID=' . $_GET['nID'])) . '</td>' . "\n" . '  </tr>' . "\n" . '</table>';
     return $confirm_string;
 }
 function execute()
 {
     global $new_products_id_in_cart, $currencies, $oscTemplate;
     $cart_contents_string = '';
     if ($_SESSION['cart']->count_contents() > 0) {
         $cart_contents_string = '<ul class="list-unstyled">';
         $products = $_SESSION['cart']->get_products();
         for ($i = 0, $n = sizeof($products); $i < $n; $i++) {
             $cart_contents_string .= '<li';
             if (isset($_SESSION['new_products_id_in_cart']) && $new_products_id_in_cart == $products[$i]['id']) {
                 $cart_contents_string .= ' class="newItemInCart"';
             }
             $cart_contents_string .= '>';
             $cart_contents_string .= $products[$i]['quantity'] . '&nbsp;x&nbsp;';
             $cart_contents_string .= '<a href="' . OSCOM::link('product_info.php', 'products_id=' . $products[$i]['id']) . '">';
             $cart_contents_string .= $products[$i]['name'];
             $cart_contents_string .= '</a></li>';
             if (isset($_SESSION['new_products_id_in_cart']) && $new_products_id_in_cart == $products[$i]['id']) {
                 unset($_SESSION['new_products_id_in_cart']);
             }
         }
         $cart_contents_string .= '</ul>';
         $cart_footer_string = '<div class="panel-footer text-right">' . $currencies->format($_SESSION['cart']->show_total()) . '</div>';
     } else {
         $cart_contents_string .= '<p>' . MODULE_BOXES_SHOPPING_CART_BOX_CART_EMPTY . '</p>';
         $cart_footer_string = NULL;
     }
     ob_start();
     include 'includes/modules/boxes/templates/shopping_cart.php';
     $data = ob_get_clean();
     $oscTemplate->addBlock($data, $this->group);
 }
 function __construct()
 {
     $this->title = OSCOM::getDef('module_action_recorder_tell_a_friend_title');
     $this->description = OSCOM::getDef('module_action_recorder_tell_a_friend_description');
     if ($this->check()) {
         $this->minutes = (int) MODULE_ACTION_RECORDER_TELL_A_FRIEND_EMAIL_MINUTES;
     }
 }
Example #22
0
 function __construct()
 {
     $this->title = OSCOM::getDef('module_action_recorder_contact_us_title');
     $this->description = OSCOM::getDef('module_action_recorder_contact_us_description');
     if ($this->check()) {
         $this->minutes = (int) MODULE_ACTION_RECORDER_CONTACT_US_EMAIL_MINUTES;
     }
 }
Example #23
0
 function process()
 {
     global $order, $currencies;
     if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') {
         $pass = false;
         switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
             case 'national':
                 if ($order->delivery['country_id'] == STORE_COUNTRY) {
                     $pass = true;
                 }
                 break;
             case 'international':
                 if ($order->delivery['country_id'] != STORE_COUNTRY) {
                     $pass = true;
                 }
                 break;
             case 'both':
                 $pass = true;
                 break;
             default:
                 $pass = false;
                 break;
         }
         if ($pass == true && $order->info['total'] - $order->info['shipping_cost'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) {
             $order->info['shipping_method'] = OSCOM::getDef('free_shipping_title');
             $order->info['total'] -= $order->info['shipping_cost'];
             $order->info['shipping_cost'] = 0;
         }
     }
     if (strpos($_SESSION['shipping']['id'], '\\') !== false) {
         list($vendor, $app, $module) = explode('\\', $_SESSION['shipping']['id']);
         list($module, $method) = explode('_', $module);
         $module = $vendor . '\\' . $app . '\\' . $module;
         $code = 'Shipping_' . str_replace('\\', '_', $module);
         if (Registry::exists($code)) {
             $OSCOM_SM = Registry::get($code);
         }
     } else {
         list($module, $method) = explode('_', $_SESSION['shipping']['id']);
         if (is_object($GLOBALS[$module])) {
             $OSCOM_SM = $GLOBALS[$module];
         }
     }
     if (tep_not_null($order->info['shipping_method'])) {
         if ($OSCOM_SM->tax_class > 0) {
             $shipping_tax = tep_get_tax_rate($OSCOM_SM->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
             $shipping_tax_description = tep_get_tax_description($OSCOM_SM->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
             $order->info['tax'] += tep_calculate_tax($order->info['shipping_cost'], $shipping_tax);
             $order->info['tax_groups']["{$shipping_tax_description}"] += tep_calculate_tax($order->info['shipping_cost'], $shipping_tax);
             $order->info['total'] += tep_calculate_tax($order->info['shipping_cost'], $shipping_tax);
             if (DISPLAY_PRICE_WITH_TAX == 'true') {
                 $order->info['shipping_cost'] += tep_calculate_tax($order->info['shipping_cost'], $shipping_tax);
             }
         }
         $this->output[] = array('title' => $order->info['shipping_method'] . ':', 'text' => $currencies->format($order->info['shipping_cost'], true, $order->info['currency'], $order->info['currency_value']), 'value' => $order->info['shipping_cost']);
     }
 }
 function __construct()
 {
     $this->title = OSCOM::getDef('module_header_tags_table_click_jquery_title');
     $this->description = OSCOM::getDef('module_header_tags_table_click_jquery_description');
     if (defined('MODULE_HEADER_TAGS_TABLE_CLICK_JQUERY_STATUS')) {
         $this->sort_order = MODULE_HEADER_TAGS_TABLE_CLICK_JQUERY_SORT_ORDER;
         $this->enabled = MODULE_HEADER_TAGS_TABLE_CLICK_JQUERY_STATUS == 'True';
     }
 }
Example #25
0
 function __construct()
 {
     $this->code = 'ot_loworderfee';
     $this->title = OSCOM::getDef('module_order_total_loworderfee_title');
     $this->description = OSCOM::getDef('module_order_total_loworderfee_description');
     $this->enabled = defined('MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS') && MODULE_ORDER_TOTAL_LOWORDERFEE_STATUS == 'true' ? true : false;
     $this->sort_order = defined('MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER') && (int) MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER > 0 ? (int) MODULE_ORDER_TOTAL_LOWORDERFEE_SORT_ORDER : 0;
     $this->output = array();
 }
Example #26
0
 function getOutput()
 {
     $style = MODULE_SOCIAL_BOOKMARKS_FACEBOOK_LIKE_STYLE == 'Standard' ? 'standard' : 'button_count';
     $faces = MODULE_SOCIAL_BOOKMARKS_FACEBOOK_LIKE_FACES == 'True' ? 'true' : 'false';
     $width = MODULE_SOCIAL_BOOKMARKS_FACEBOOK_LIKE_WIDTH;
     $action = MODULE_SOCIAL_BOOKMARKS_FACEBOOK_LIKE_VERB == 'Like' ? 'like' : 'recommend';
     $scheme = MODULE_SOCIAL_BOOKMARKS_FACEBOOK_LIKE_SCHEME == 'Light' ? 'light' : 'dark';
     return '<iframe src="http://www.facebook.com/plugins/like.php?href=' . urlencode(OSCOM::link('product_info.php', 'products_id=' . $_GET['products_id'], 'NONSSL', false)) . '&amp;layout=' . $style . '&amp;show_faces=' . $faces . '&amp;width=' . $width . '&amp;action=' . $action . '&amp;colorscheme=' . $scheme . '&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:' . $width . 'px; height:35px;" allowTransparency="true"></iframe>';
 }
 function __construct()
 {
     $this->title = OSCOM::getDef('module_action_recorder_reset_password_title');
     $this->description = OSCOM::getDef('module_action_recorder_reset_password_description');
     if ($this->check()) {
         $this->minutes = (int) MODULE_ACTION_RECORDER_RESET_PASSWORD_MINUTES;
         $this->attempts = (int) MODULE_ACTION_RECORDER_RESET_PASSWORD_ATTEMPTS;
     }
 }
Example #28
0
 function __construct()
 {
     $this->title = OSCOM::getDef('module_header_tags_category_seo_title');
     $this->description = OSCOM::getDef('module_header_tags_category_seo_description');
     if (defined('MODULE_HEADER_TAGS_CATEGORY_SEO_STATUS')) {
         $this->sort_order = MODULE_HEADER_TAGS_CATEGORY_SEO_SORT_ORDER;
         $this->enabled = MODULE_HEADER_TAGS_CATEGORY_SEO_STATUS == 'True';
     }
 }
 function __construct()
 {
     $this->title = OSCOM::getDef('module_header_tags_google_analytics_title');
     $this->description = OSCOM::getDef('module_header_tags_google_analytics_description');
     if (defined('MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_STATUS')) {
         $this->sort_order = MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_SORT_ORDER;
         $this->enabled = MODULE_HEADER_TAGS_GOOGLE_ANALYTICS_STATUS == 'True';
     }
 }
 function __construct()
 {
     $this->title = OSCOM::getDef('module_header_tags_manufacturers_seo_title');
     $this->description = OSCOM::getDef('module_header_tags_manufacturers_seo_description');
     if (defined('MODULE_HEADER_TAGS_MANUFACTURERS_SEO_STATUS')) {
         $this->sort_order = MODULE_HEADER_TAGS_MANUFACTURERS_SEO_SORT_ORDER;
         $this->enabled = MODULE_HEADER_TAGS_MANUFACTURERS_SEO_STATUS == 'True';
     }
 }