Файловый менеджер - Редактировать - /home/lmsyaran/public_html/components/com_phocacart/views/pos/view.html.php
Назад
<?php /* @package Joomla * @copyright Copyright (C) Open Source Matters. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * @extension Phoca Extension * @copyright Copyright (C) Jan Pavelka www.phoca.cz * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_JEXEC') or die(); jimport( 'joomla.application.component.view'); jimport( 'joomla.filesystem.folder' ); jimport( 'joomla.filesystem.file' ); class PhocaCartViewPos extends JViewLegacy { protected $category; protected $subcategories; protected $items; protected $t; protected $r; protected $p; protected $s; protected $cart; function display($tpl = null) { $app = JFactory::getApplication(); $document = JFactory::getDocument(); $this->p = $app->getParams(); $this->s = PhocacartRenderStyle::getStyles(); $uri = \Joomla\CMS\Uri\Uri::getInstance(); $model = $this->getModel(); $this->state = $this->get('State'); $this->t['action'] = $uri->toString(); $this->t['actionbase64'] = base64_encode($this->t['action']); // INPUTS $this->t['id'] = $app->input->get( 'id', 0, 'int' ); //$this->t['categoryid'] = $app->input->get( 'id', 0, 'int' );// optional $this->t['limitstart'] = $app->input->get( 'limitstart', 0, 'int' ); $this->t['search'] = $app->input->get( 'search', '', 'string' ); $this->t['sku'] = $app->input->get( 'sku', '', 'string' );//sku, ean, isbn, jan, ... $this->t['card'] = $app->input->get( 'card', '', 'string' );// loyalty customer card $this->t['page'] = $app->input->get( 'page', 'main.content.products', 'string' ); $this->t['category'] = $app->input->get('category', '', 'string');// list of active categories $this->t['linkcheckout'] = JRoute::_(PhocacartRoute::getCheckoutRoute(0)); $this->t['limitstarturl'] = $this->t['limitstart'] > 0 ? '&start='.$this->t['limitstart'] : ''; $this->t['currency_array'] = PhocacartCurrency::getCurrenciesArray(); $this->t['price'] = new PhocacartPrice(); $this->t['categoryarray'] = explode(',', $this->t['category']); $this->t['ajax'] = 0; $this->t['shippingedit'] = 0; $this->t['paymentedit'] = 0; $preferredSku = PhocacartPos::getPreferredSku(); $this->t['skutype'] = $preferredSku['name']; $this->t['skutypetxt'] = $preferredSku['title']; $this->t['user'] = array(); $this->t['vendor'] = array(); $this->t['ticket'] = array(); $this->t['unit'] = array(); $this->t['section'] = array(); $dUser = PhocacartUser::defineUser($this->t['user'], $this->t['vendor'], $this->t['ticket'], $this->t['unit'], $this->t['section']); // 1) CHECK - VENDOR LOGGED IN if (!isset($this->t['vendor']->id) || (isset($this->t['vendor']->id) && (int)$this->t['vendor']->id < 1 )) { //$this->t['infotext'] = JText::_('COM_PHOCACART_PLEASE_LOGIN_ACCESS_POS'); //$this->t['infotype'] = 'alert-error alert-danger'; //parent::display('info'); $returnUrl = 'index.php?option=com_users&view=login&return='.$this->t['actionbase64']; $app->redirect(JRoute::_($returnUrl, false), JText::_('COM_PHOCACART_PLEASE_LOGIN_ACCESS_POS')); return; } // PARAMS $this->t['display_new'] = $this->p->get( 'display_new', 0 ); $this->t['cart_metakey'] = $this->p->get( 'cart_metakey', '' ); $this->t['cart_metadesc'] = $this->p->get( 'cart_metadesc', '' ); $this->t['image_width_cat'] = $this->p->get( 'image_width_cat', '' ); $this->t['image_height_cat'] = $this->p->get( 'image_height_cat', '' ); $this->t['columns_pos'] = $this->p->get( 'columns_pos', 6 ); $this->t['display_addtocart_icon'] = $this->p->get( 'display_addtocart_icon', 0 ); $this->t['category_addtocart'] = $this->p->get( 'category_addtocart', 1 ); $this->t['dynamic_change_image'] = $this->p->get( 'dynamic_change_image', 0); $this->t['dynamic_change_price'] = $this->p->get( 'dynamic_change_price', 0 ); $this->t['dynamic_change_stock'] = $this->p->get( 'dynamic_change_stock', 0 ); $this->t['dynamic_change_id'] = $this->p->get( 'dynamic_change_id', 0 ); $this->t['display_price'] = true;//$this->p->get( 'hide_price', 0 ); $this->t['display_addtocart'] = true;//$this->p->get( 'hide_addtocart', 0 ); $this->t['can_display_price'] = true; $this->t['hide_add_to_cart_stock'] = $this->p->get( 'hide_add_to_cart_stock', 0 ); $this->t['display_star_rating'] = $this->p->get( 'display_star_rating', 0 ); $this->t['add_cart_method'] = $this->p->get( 'add_cart_method', 0 ); $this->t['pos_hide_attributes'] = $this->p->get( 'pos_hide_attributes', 1 ); $this->t['pos_display_stock_status']= $this->p->get( 'pos_display_stock_status', 0 ); $this->t['pos_payment_force'] = $this->p->get( 'pos_payment_force', 0 ); $this->t['pos_shipping_force'] = $this->p->get( 'pos_shipping_force', 0 ); $this->t['pos_input_autocomplete'] = $this->p->get( 'pos_input_autocomplete', 0 ); $this->t['pos_sku_input_type'] = $this->p->get( 'pos_sku_input_type', 'text' ); $this->t['pos_input_type'] = $this->p->get( 'pos_input_type', 'text' ); $this->t['display_shipping_desc'] = $this->p->get( 'display_shipping_desc', 0 ); $this->t['display_payment_desc'] = $this->p->get( 'display_payment_desc', 0 ); $this->t['zero_shipping_price'] = $this->p->get( 'zero_shipping_price', 1 ); $this->t['zero_payment_price'] = $this->p->get( 'zero_payment_price', 1 ); $this->t['zero_attribute_price'] = $this->p->get( 'zero_attribute_price', 1 ); $this->t['enable_coupons'] = $this->p->get( 'enable_coupons', 2 ); $this->t['enable_rewards'] = $this->p->get( 'enable_rewards', 1 ); $this->t['display_view_product_button'] = $this->p->get( 'display_view_product_button', 1 ); $this->t['product_name_link'] = $this->p->get( 'product_name_link', 0 ); $this->t['switch_image_category_items'] = $this->p->get( 'switch_image_category_items', 0 ); $this->t['pos_loyalty_card_number_input_type'] = $this->p->get( 'pos_loyalty_card_number_input_type', 'text' ); $this->t['lazy_load_category_items'] = $this->p->get( 'lazy_load_category_items', 0 ); $this->t['medium_image_width'] = $this->p->get( 'medium_image_width', 300 ); $this->t['medium_image_height'] = $this->p->get( 'medium_image_height', 200 ); $this->t['display_webp_images'] = $this->p->get( 'display_webp_images', 0 ); $this->t['pos_input_autocomplete_output'] = ''; if ($this->t['pos_input_autocomplete'] == 0) { $this->t['pos_input_autocomplete_output'] = ' autocomplete="off" '; } if ((int)$this->t['pos_payment_force'] > 0) { $this->t['pos_payment_force'] = PhocacartPayment::isPaymentMethodActive($this->t['pos_payment_force']) === true ? (int)$this->t['pos_payment_force'] : 0; } if ((int)$this->t['pos_shipping_force'] > 0) { $this->t['pos_shipping_force'] = PhocacartShipping::isShippingMethodActive($this->t['pos_shipping_force']) === true ? (int)$this->t['pos_shipping_force'] : 0; } // CATEGORIES $this->t['categories'] = PhocacartCategoryMultiple::getAllCategories(1, array(0,2)); // LAYOUT PhocacartPos::renderPosPage();// render the page (boxes) // MEDIA $media = PhocacartRenderMedia::getInstance('main'); $media->loadBase(); $media->loadBootstrap(); $media->loadChosen(); //$this->t['class-row-flex'] = $media->loadEqualHeights(); $this->t['class_thumbnail'] = 'ph-pos-thumbnail'; PhocacartRenderJs::renderAjaxAddToCart(); PhocacartRenderJs::renderAjaxUpdateCart(); // Moved to JS PhocacartRenderJs::renderSubmitPaginationTopForm($this->t['action'], '#phPosContentBox'); //- PhocacartRenderJspos::managePos($this->t['action']); //- PhocacartRenderJspos::printPos(JRoute::_( 'index.php?option=com_phocacart&view=order&tmpl=component&format=raw')); //- PhocacartRenderJspos::searchPosByType('#phPosSearch'); //- PhocacartRenderJspos::searchPosByCategory(); // Tendered //$currency = PhocacartCurrency::getCurrency(); - loaded before filter //PhocacartRenderJs::getPriceFormatJavascript($currency->price_decimals, $currency->price_dec_symbol, $currency->price_thousands_sep, $currency->price_currency_symbol, $currency->price_prefix, $currency->price_suffix, $currency->price_format); $media->loadPhocaAttribute(1); if ($this->t['pos_hide_attributes'] == 0) { $media->loadPhocaAttributeRequired(1); // Some of the attribute can be required and can be a image checkbox } /*if ($this->t['dynamic_change_price'] == 1) { // items == category -> this is why items has class: ph-category-price-box (to have the same styling) PhocacartRenderJs::renderAjaxChangeProductPriceByOptions(0, 'Pos', 'ph-category-price-box');// We need to load it here } if ($this->t['dynamic_change_stock'] == 1) { PhocacartRenderJs::renderAjaxChangeProductStockByOptions(0, 'Pos', 'ph-item-stock-box'); }*/ /*if ($this->t['dynamic_change_id'] == 1 || $this->t['dynamic_change_price'] == 1 || $this->t['dynamic_change_stock'] == 1) { PhocacartRenderJs::renderAjaxChangeProductDataByOptions(0, 'Pos', 'ph-item-data-box'); }*/ // 2) CHECK TICKET if ((int)$this->t['ticket']->id < 1) { $this->t['infotext'] = JText::_('COM_PHOCACART_TICKET_DOES_NOT_EXIST'); $this->t['infotype'] = 'alert-error alert-danger'; parent::display('info'); return true; } // 3) CHECK - SECTION EXISTS (if the asked not found, set the first existing) if (isset($this->t['section']->id)) { // Set in PhocacartUser::defineUser() -> PhocacartTicket::getTicket() } else { $this->t['section']->id = 0; } // 4) CHECK - UNIT EXISTS (if the asked not found, set the first existing but by the section if (isset($this->t['unit']->id)) { // Set in PhocacartUser::defineUser() -> PhocacartTicket::getTicket() } else { $this->t['unit']->id = 0; } $this->t['linkpos'] = JRoute::_(PhocacartRoute::getPosRoute($this->t['ticket']->id, $this->t['unit']->id, $this->t['section']->id)); // 5) CHECK - USER $this->t['userexists'] = false; $this->t['anonymoususerexists'] = false; if (isset($this->t['user']->id) && (int)$this->t['user']->id && isset($this->t['user']->name)) { $this->t['userexists'] = true; } else { // Try to find anonymous user (only loyalty card number added - which is not stored in our database // such can be used for different features without having it stored in our database $this->t['loyalty_card_number'] = PhocacartPos::getCardByVendorAndTicket($this->t['vendor']->id, $this->t['ticket']->id, $this->t['unit']->id, $this->t['section']->id, 0); if ($this->t['loyalty_card_number'] != '') { $this->t['anonymoususerexists'] = true; } } $this->t['shippingmethodexists'] = false; $this->t['paymentmethodexists'] = false; // CART $this->cart = new PhocacartCartRendercheckout(); $this->cart->setType(array(0,2)); $this->cart->setFullItems(); $this->t['shippingid'] = $this->cart->getShippingId(); if (isset($this->t['shippingid']) && (int)$this->t['shippingid'] > 0 && $this->t['shippingedit'] == 0) { $this->cart->addShippingCosts($this->t['shippingid']); $this->t['shippingmethodexists'] = true; } $this->t['paymentid'] = $this->cart->getPaymentId(); if (isset($this->t['paymentid']) && (int)$this->t['paymentid'] > 0 && $this->t['paymentedit'] == 0) { $this->cart->addPaymentCosts($this->t['paymentid']);// validity of payment will be checked $this->t['paymentmethodexists'] = true; } $this->cart->roundTotalAmount(); $this->t['total'] = $this->cart->getTotal(); //$this->t['paymentexists'] = false; //$this->t['plugin-pdf'] = PhocacartUtilsExtension::getExtensionInfo('phocacart', 'plugin', 'phocapdf'); //$this->t['component-pdf'] = PhocacartUtilsExtension::getExtensionInfo('com_phocapdf'); $this->items = $model->getItemList($this->t['user']->id, $this->t['vendor']->id, $this->t['ticket']->id, $this->t['unit']->id, $this->t['section']->id); $this->t['pagination'] = $model->getPagination(); $this->t['ordering'] = $model->getOrdering(); $this->_prepareDocument(); $this->t['pathcat'] = PhocacartPath::getPath('categoryimage'); $this->t['pathitem'] = PhocacartPath::getPath('productimage'); switch ($this->t['page']) { case 'section': // Prepare units (in fact we asked for tickets because of ticket information // and we need to sort them to units $sortedItems = array(); if (!empty($this->items)) { foreach($this->items as $k => $v) { $id = $v->id; $sortedItems[$id]['id'] = $v->id; $sortedItems[$id]['user_id'] = $v->user_id; $sortedItems[$id]['vendor_id'] = $v->vendor_id; //$sortedItems[$id]['ticket_id'] = $v->ticket_id; $sortedItems[$id]['unit_id'] = $v->unit_id; $sortedItems[$id]['section_id'] = $v->section_id; $sortedItems[$id]['title'] = $v->title; $sortedItems[$id]['tickets'][$k]['cart']= $v->cart; $sortedItems[$id]['tickets'][$k]['id'] = $v->ticket_id; } } $this->items = $sortedItems; // Change the url bar (only to not confuse when the ticketid will be changed to existing from not existing) $changeUrlParameter = array("sectionid" => (int)$this->t['section']->id); if (!empty($changeUrlParameter)) { $s[] = 'jQuery(document).ready(function(){'; foreach($changeUrlParameter as $k => $v) { $s[] = ' phUpdateUrlParameter("'.$k.'", '.(int)$v.');'; } $s[] = '})'; $s[] = ' '; JFactory::getDocument()->addScriptDeclaration(implode("\n", $s)); } parent::display('section'); break; default: // Scroll cart to bottom /* PhocacartRenderJspos::renderJsScrollToPos(); // Change the url bar (only to not confuse when the ticketid will be changed to existing from not existing) PhocacartRenderJspos::changeUrlParameter( array( "ticketid" => (int)$this->t['ticket']->id, "unitid" => (int)$this->t['unit']->id, "sectionid" => (int)$this->t['section']->id));*/ // Change the url bar (only to not confuse when the ticketid will be changed to existing from not existing) $changeUrlParameter = array( "ticketid" => (int)$this->t['ticket']->id, "unitid" => (int)$this->t['unit']->id, "sectionid" => (int)$this->t['section']->id); if (!empty($changeUrlParameter)) { $s[] = 'jQuery(document).ready(function(){'; foreach($changeUrlParameter as $k => $v) { $s[] = ' phUpdateUrlParameter("'.$k.'", '.(int)$v.');'; } $s[] = '})'; $s[] = ' '; JFactory::getDocument()->addScriptDeclaration(implode("\n", $s)); } parent::display($tpl); break; } } protected function _prepareDocument() { $category = false; if (isset($this->category[0]) && is_object($this->category[0])) { $category = $this->category[0]; } PhocacartRenderFront::prepareDocument($this->document, $this->p, $category); } } ?>
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.08 |
proxy
|
phpinfo
|
Настройка