function display($tpl = null) { // Load the helper(s) $this->addHelperPath(VMPATH_ADMIN . DS . 'helpers'); if (!class_exists('vmPSPlugin')) { require VMPATH_PLUGINLIBS . DS . 'vmpsplugin.php'; } if (!class_exists('VmHTML')) { require VMPATH_ADMIN . DS . 'helpers' . DS . 'html.php'; } $model = VmModel::getModel(); $layoutName = vRequest::getCmd('layout', 'default'); $this->SetViewTitle(); $layoutName = vRequest::getCmd('layout', 'default'); if ($layoutName == 'edit') { VmConfig::loadJLang('plg_vmpsplugin', false); JForm::addFieldPath(VMPATH_ADMIN . DS . 'fields'); $shipment = $model->getShipment(); // Get the payment XML. $formFile = vRequest::filterPath(VMPATH_ROOT . DS . 'plugins' . DS . 'vmshipment' . DS . $shipment->shipment_element . DS . $shipment->shipment_element . '.xml'); if (file_exists($formFile)) { $shipment->form = JForm::getInstance($shipment->shipment_element, $formFile, array(), false, '//vmconfig | //config[not(//vmconfig)]'); $shipment->params = new stdClass(); $varsToPush = vmPlugin::getVarsToPushFromForm($shipment->form); VmTable::bindParameterableToSubField($shipment, $varsToPush); $shipment->form->bind($shipment->getProperties()); } else { $shipment->form = null; } if (!class_exists('VmImage')) { require VMPATH_ADMIN . DS . 'helpers' . DS . 'image.php'; } if (!class_exists('VirtueMartModelVendor')) { require VMPATH_ADMIN . DS . 'models' . DS . 'vendor.php'; } $vendor_id = 1; $currency = VirtueMartModelVendor::getVendorCurrency($vendor_id); $this->assignRef('vendor_currency', $currency->currency_symbol); if (Vmconfig::get('multix', 'none') !== 'none') { $vendorList = ShopFunctions::renderVendorList($shipment->virtuemart_vendor_id); $this->assignRef('vendorList', $vendorList); } $this->pluginList = self::renderInstalledShipmentPlugins($shipment->shipment_jplugin_id); $this->assignRef('shipment', $shipment); $this->shopperGroupList = ShopFunctions::renderShopperGroupList($shipment->virtuemart_shoppergroup_ids, true); $this->addStandardEditViewCommands($shipment->virtuemart_shipmentmethod_id); } else { JToolBarHelper::custom('cloneshipment', 'copy', 'copy', vmText::_('COM_VIRTUEMART_SHIPMENT_CLONE'), true); $this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($model); $this->shipments = $model->getShipments(); VmConfig::loadJLang('com_virtuemart_shoppers', TRUE); foreach ($this->shipments as &$data) { // Write the first 5 shoppergroups in the list $data->shipmentShoppersList = shopfunctions::renderGuiList($data->virtuemart_shoppergroup_ids, 'shoppergroups', 'shopper_group_name', 'shopper'); } $this->pagination = $model->getPagination(); } parent::display($tpl); }
function display($tpl = null) { // Load the helper(s) $this->addHelperPath(JPATH_VM_ADMINISTRATOR . DS . 'helpers'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } if (!class_exists('VmHTML')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'html.php'; } if (!class_exists('vmPlugin')) { require JPATH_VM_PLUGINS . DS . 'vmplugin.php'; } $this->assignRef('perms', Permissions::getInstance()); $model = VmModel::getModel('paymentmethod'); //@todo should be depended by loggedVendor // $vendorId=1; // $this->assignRef('vendorId', $vendorId); // TODO logo $this->SetViewTitle(); $layoutName = JRequest::getWord('layout', 'default'); $vendorModel = VmModel::getModel('vendor'); $vendorModel->setId(1); $vendor = $vendorModel->getVendor(); $currencyModel = VmModel::getModel('currency'); $currencyModel = $currencyModel->getCurrency($vendor->vendor_currency); $this->assignRef('vendor_currency', $currencyModel->currency_symbol); if ($layoutName == 'edit') { // Load the helper(s) if (!class_exists('VmImage')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php'; } if (!class_exists('vmParameters')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'parameterparser.php'; } $payment = $model->getPayment(); $this->assignRef('payment', $payment); $this->assignRef('vmPPaymentList', self::renderInstalledPaymentPlugins($payment->payment_jplugin_id)); // $this->assignRef('PaymentTypeList',self::renderPaymentRadioList($paym->payment_type)); // $this->assignRef('creditCardList',self::renderCreditCardRadioList($paym->payment_creditcards)); // echo 'humpf <pre>'.print_r($paym).'</pre>' ; //$this->assignRef('creditCardList',ShopFunctions::renderCreditCardList($paym->payment_creditcards,true)); $this->assignRef('shopperGroupList', ShopFunctions::renderShopperGroupList($payment->virtuemart_shoppergroup_ids, true)); if (Vmconfig::get('multix', 'none') !== 'none') { $vendorList = ShopFunctions::renderVendorList($payment->virtuemart_vendor_id); $this->assignRef('vendorList', $vendorList); } $this->addStandardEditViewCommands($payment->virtuemart_paymentmethod_id); } else { $this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($model); $payments = $model->getPayments(); $this->assignRef('payments', $payments); $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); } parent::display($tpl); }
function display($tpl = null) { $this->loadHelper('html'); $model = VmModel::getModel(); $layoutName = $this->getLayout(); if ($layoutName == 'edit') { $category = $model->getCategory('', false); if (isset($category->category_name)) { $name = $category->category_name; } else { $name = ''; } $this->SetViewTitle('CATEGORY', $name); $model->addImages($category); if ($category->virtuemart_category_id > 1) { $relationInfo = $model->getRelationInfo($category->virtuemart_category_id); $this->assignRef('relationInfo', $relationInfo); } $parent = $model->getParentCategory($category->virtuemart_category_id); $this->assignRef('parent', $parent); if (!class_exists('ShopFunctions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'shopfunctions.php'; } $templateList = ShopFunctions::renderTemplateList(JText::_('COM_VIRTUEMART_CATEGORY_TEMPLATE_DEFAULT')); $this->assignRef('jTemplateList', $templateList); if (!class_exists('VirtueMartModelConfig')) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'config.php'; } $categoryLayoutList = VirtueMartModelConfig::getLayoutList('category'); $this->assignRef('categoryLayouts', $categoryLayoutList); $productLayouts = VirtueMartModelConfig::getLayoutList('productdetails'); $this->assignRef('productLayouts', $productLayouts); //Nice fix by Joe, the 4. param prevents setting an category itself as child $categorylist = ShopFunctions::categoryListTree(array($parent->virtuemart_category_id), 0, 0, (array) $category->virtuemart_category_id); $this->loadHelper('permissions'); $perms = Permissions::getInstance(); $this->assignRef('perms', $perms); if (Vmconfig::get('multix', 'none') !== 'none') { $vendorList = ShopFunctions::renderVendorList($category->virtuemart_vendor_id, false); $this->assignRef('vendorList', $vendorList); } $this->assignRef('category', $category); $this->assignRef('categorylist', $categorylist); $this->addStandardEditViewCommands($category->virtuemart_category_id, $category); } else { $this->SetViewTitle('CATEGORY_S'); $keyWord = ''; $this->assignRef('model', $model); $this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($model, 'category_name'); $categories = $model->getCategoryTree(0, 0, false, $this->lists['search']); $this->assignRef('categories', $categories); $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); } parent::display($tpl); }
/** * constructs a VmModel * setMainTable defines the maintable of the model * * @author Max Milbers */ function __construct() { parent::__construct(); //Todo multivendor nasty hack, to get vendor with id 1 if (Vmconfig::get('multix', 'none') == 'none') { $this->setId(1); } $this->setMainTable('vendors'); }
function display($tpl = null) { // Load the helper(s) $this->loadHelper('permissions'); $this->loadHelper('html'); if (!class_exists('vmPlugin')) { require JPATH_VM_PLUGINS . DS . 'vmplugin.php'; } $this->perms = Permissions::getInstance(); $model = VmModel::getModel('paymentmethod'); //@todo should be depended by loggedVendor // $vendorId=1; // $this->assignRef('vendorId', $vendorId); $vendorModel = VmModel::getModel('vendor'); $vendorModel->setId(1); $vendor = $vendorModel->getVendor(); $currencyModel = VmModel::getModel('currency'); $currencyModel->setId($vendor->vendor_currency); $currency = $currencyModel->getData(); $this->vendor_currency = $currency->currency_symbol; $layoutName = JRequest::getWord('layout', 'default'); if ($layoutName == 'edit') { // Load the helper(s) $this->loadHelper('image'); // jimport('joomla.html.pane'); $this->payment = $model->getPayment(); // $this->vmPPaymentList = self::InstalledPaymentPlgSelectList($payment->payment_jplugin_id); // $this->assignRef('PaymentTypeList',self::renderPaymentRadioList($paym->payment_type)); // $this->assignRef('creditCardList',self::renderCreditCardRadioList($paym->payment_creditcards)); // echo 'humpf <pre>'.print_r($paym).'</pre>' ; //$this->assignRef('creditCardList',ShopFunctions::renderCreditCardList($paym->payment_creditcards,true)); $this->shopperGroupList = ShopFunctions::renderShopperGroupList($this->payment->virtuemart_shoppergroup_ids, true); if (Vmconfig::get('multix', 'none') !== 'none') { $this->vendorList = ShopFunctions::renderVendorList($this->payment->virtuemart_vendor_id); } // TODO logo $this->SetViewTitle('', $this->payment->payment_name); $this->addStandardEditViewCommands($this->payment->virtuemart_paymentmethod_id); } else { if (JRequest::getWord('format', '') === 'raw') { $tpl = 'results'; } else { $this->SetViewTitle(); $this->addStandardDefaultViewCommands(); // know payment list $this->installedPayments = $this->PaymentPlgList(); } $this->addStandardDefaultViewLists($model); $this->payments = $model->getPayments(); $this->pagination = $model->getPagination(); } parent::display($tpl); if ($tpl === 'results') { echo $this->AjaxScripts(); } }
function display($tpl = null) { $this->loadHelper('html'); $this->loadHelper('permissions'); //@todo should be depended by loggedVendor $this->vendorId = 1; $titleMsg = ''; $model = VmModel::getModel(); $this->perms = Permissions::getInstance(); // to add in vmview ? $multivendor = Vmconfig::get('multix', 'none'); $this->multiX = $multivendor !== 'none' && $multivendor != '' ? true : false; $layoutName = JRequest::getWord('layout', 'default'); if ($layoutName == 'edit') { $this->media = $model->getFile(); $this->addStandardEditViewCommands(); } else { $this->cat_id = 0; if ($this->product_id = JRequest::getInt('virtuemart_product_id', 0)) { $product = VmModel::getModel('product')->getProductSingle($this->product_id, false, false); $this->link = $this->editLink($this->product_id, '<i class="icon-edit"></i> ' . $product->product_name, 'virtuemart_product_id', array('class' => 'hasTooltip btn btn-inverse', 'title' => JText::_('COM_VIRTUEMART_EDIT') . ' ' . $product->product_name), 'product'); $titleMsg = $product->product_name; } else { if ($this->cat_id = JRequest::getInt('virtuemart_category_id', 0)) { $category = VmModel::getModel('category')->getCategory($this->cat_id, false); $this->link = $this->editLink($this->cat_id, '<i class="icon-edit"></i> ' . $category->category_name, 'virtuemart_category_id', array('class' => 'hasTooltip btn btn-inverse', 'title' => JText::_('COM_VIRTUEMART_EDIT') . ' ' . $category->category_name), 'category'); $titleMsg = $category->category_name; } } // RAW render if (JRequest::getWord('format', '') === 'raw') { $tpl = 'results'; } else { if ($this->adminVendor == 1) { JToolBarHelper::custom('synchronizeMedia', 'new', 'new', JText::_('COM_VIRTUEMART_TOOLS_SYNC_MEDIA_FILES'), false); if ($this->multiX) { JToolBarHelper::custom('toggle.shared.1', 'ok', 'yes', JText::_('COM_VIRTUEMART_SHARED'), true); JToolBarHelper::custom('toggle.shared.0', 'cancel', 'no', JText::_('COM_VIRTUEMART_SHARED'), true); } } $this->addStandardDefaultViewCommands(); } $this->addStandardDefaultViewLists($model, null, null, 'searchMedia'); $options = array('' => '- ' . JText::_('COM_VIRTUEMART_TYPE') . ' -', 'product' => JText::_('COM_VIRTUEMART_PRODUCT'), 'category' => JText::_('COM_VIRTUEMART_CATEGORY'), 'manufacturer' => JText::_('COM_VIRTUEMART_MANUFACTURER'), 'vendor' => JText::_('COM_VIRTUEMART_VENDOR')); $this->lists['search_type'] = VmHTML::selectList('search_type', JRequest::getVar('search_type'), $options, 1, '', 'onchange="Joomla.ajaxSearch(this); return false;"'); $options = array('' => JText::_('COM_VIRTUEMART_LIST_ALL_ROLES'), 'file_is_displayable' => JText::_('COM_VIRTUEMART_FORM_MEDIA_DISPLAYABLE'), 'file_is_downloadable' => JText::_('COM_VIRTUEMART_FORM_MEDIA_DOWNLOADABLE'), 'file_is_forSale' => JText::_('COM_VIRTUEMART_FORM_MEDIA_SET_FORSALE')); $this->lists['search_role'] = VmHTML::selectList('search_role', JRequest::getVar('search_role'), $options, 1, '', 'onchange="this.form.submit();"'); $this->files = $model->getFiles(false, false, $this->product_id, $this->cat_id); $this->pagination = $model->getPagination(); } // TODO add icon for media view $this->SetViewTitle('', $titleMsg); parent::display($tpl); }
function display($tpl = null) { // Load the helper(s) $this->addHelperPath(JPATH_VM_ADMINISTRATOR . DS . 'helpers'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } if (!class_exists('vmPSPlugin')) { require JPATH_VM_PLUGINS . DS . 'vmpsplugin.php'; } if (!class_exists('VmHTML')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'html.php'; } $model = VmModel::getModel(); $layoutName = JRequest::getWord('layout', 'default'); $this->SetViewTitle(); $layoutName = JRequest::getWord('layout', 'default'); if ($layoutName == 'edit') { $shipment = $model->getShipment(); if (!class_exists('VmImage')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php'; } if (!class_exists('vmParameters')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'parameterparser.php'; } if (!class_exists('VirtueMartModelVendor')) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'vendor.php'; } $vendor_id = 1; $currency = VirtueMartModelVendor::getVendorCurrency($vendor_id); $this->assignRef('vendor_currency', $currency->currency_symbol); if (Vmconfig::get('multix', 'none') !== 'none') { $vendorList = ShopFunctions::renderVendorList($shipment->virtuemart_vendor_id); $this->assignRef('vendorList', $vendorList); } $this->assignRef('pluginList', self::renderInstalledShipmentPlugins($shipment->shipment_jplugin_id)); $this->assignRef('shipment', $shipment); $this->assignRef('shopperGroupList', ShopFunctions::renderShopperGroupList($shipment->virtuemart_shoppergroup_ids, true)); $this->addStandardEditViewCommands($shipment->virtuemart_shipmentmethod_id); } else { JToolBarHelper::custom('cloneshipment', 'copy', 'copy', JText::_('COM_VIRTUEMART_SHIPMENT_CLONE'), true); $this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($model); $shipments = $model->getShipments(); $this->assignRef('shipments', $shipments); $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); } parent::display($tpl); }
function display($tpl = null) { // Load the helper(s) $this->addHelperPath(JPATH_VM_ADMINISTRATOR . '/helpers'); $this->loadHelper('permissions'); $this->loadHelper('vmpsplugin'); $this->loadHelper('html'); $model = VmModel::getModel(); $layoutName = JRequest::getWord('layout', 'default'); $layoutName = JRequest::getWord('layout', 'default'); if ($layoutName == 'edit') { $shipment = $model->getShipment(); $this->loadHelper('image'); // $this->loadHelper('html'); // $this->loadHelper('parameterparser'); // jimport('joomla.html.pane'); if (!class_exists('VirtueMartModelVendor')) { require JPATH_VM_ADMINISTRATOR . '/models' . DS . 'vendor.php'; } $vendor_id = 1; $currency = VirtueMartModelVendor::getVendorCurrency($vendor_id); $this->vendor_currency = $currency->currency_symbol; if (Vmconfig::get('multix', 'none') !== 'none') { $this->vendorList = ShopFunctions::renderVendorList($shipment->virtuemart_vendor_id); } $this->pluginList = self::renderInstalledShipmentPlugins($shipment->shipment_jplugin_id); $this->shipment = $shipment; $this->shopperGroupList = ShopFunctions::renderShopperGroupList($shipment->virtuemart_shoppergroup_ids, true); $this->SetViewTitle('', $shipment->shipment_name); $this->addStandardEditViewCommands($shipment->virtuemart_shipmentmethod_id); } else { if (JRequest::getWord('format', '') === 'raw') { $tpl = 'results'; } else { $this->SetViewTitle(); JToolBarHelper::custom('cloneshipment', 'copy', 'copy', JText::_('COM_VIRTUEMART_SHIPMENT_CLONE'), true); $this->addStandardDefaultViewCommands(); $this->installedShipments = $this->shipmentsPlgList(); } $this->addStandardDefaultViewLists($model); $this->shipments = $model->getShipments(); $this->pagination = $model->getPagination(); } parent::display($tpl); if ($tpl === 'results') { echo $this->AjaxScripts(); } }
/** * We want to allow html so we need to overwrite some request data * * @author Max Milbers */ function save($data = 0) { if ($data === 0) { $data = JRequest::get('post'); } $data['product_desc'] = $this->filterText('product_desc'); $data['product_s_desc'] = $this->filterText('product_s_desc'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } if (Permissions::getInstance()->isSuperVendor() != 1) { $multix = Vmconfig::get('multix', 'none'); if ($multix != 'none') { unset($data['childs']); } } return parent::save($data); }
function getVendorAcceptedCurrrenciesList($vendorId = 0) { static $currencies = array(); if ($vendorId === 0) { $multix = Vmconfig::get('multix', 'none'); if (strpos($multix, 'payment') !== FALSE) { if (!class_exists('VirtueMartModelVendor')) { require VMPATH_ADMIN . DS . 'models' . DS . 'vendor.php'; } $vendorId = VirtueMartModelVendor::getLoggedVendor(); } else { $vendorId = 1; } } if (!isset($currencies[$vendorId])) { $db = JFactory::getDbo(); $q = 'SELECT `vendor_accepted_currencies`, `vendor_currency` FROM `#__virtuemart_vendors` WHERE `virtuemart_vendor_id`=' . $vendorId; $db->setQuery($q); $vendor_currency = $db->loadAssoc(); if (!$vendor_currency['vendor_accepted_currencies']) { $vendor_currency['vendor_accepted_currencies'] = $vendor_currency['vendor_currency']; vmWarn('No accepted currencies defined'); if (empty($vendor_currency['vendor_accepted_currencies'])) { $uri = JFactory::getURI(); $link = $uri->root() . 'administrator/index.php?option=com_virtuemart&view=user&task=editshop'; vmWarn(vmText::sprintf('COM_VIRTUEMART_CONF_WARN_NO_CURRENCY_DEFINED', '<a href="' . $link . '">' . $link . '</a>')); $currencies[$vendorId] = false; return $currencies[$vendorId]; } } $q = 'SELECT `virtuemart_currency_id`,CONCAT_WS(" ",`currency_name`,`currency_symbol`) as currency_txt FROM `#__virtuemart_currencies` WHERE `virtuemart_currency_id` IN (' . $vendor_currency['vendor_accepted_currencies'] . ')'; if ($vendorId != 1) { $q .= ' AND (`virtuemart_vendor_id` = "' . $vendorId . '" OR `shared`="1")'; } $q .= ' AND published = "1" ORDER BY `ordering`,`currency_name`'; $db->setQuery($q); $currencies[$vendorId] = $db->loadObjectList(); } return $currencies[$vendorId]; }
function display($tpl = null) { // Load the helper(s) $this->addHelperPath(JPATH_VM_ADMINISTRATOR . DS . 'helpers'); $this->loadHelper('permissions'); $this->loadHelper('vmpsplugin'); $this->loadHelper('html'); $model = VmModel::getModel(); $layoutName = JRequest::getWord('layout', 'default'); $this->SetViewTitle(); $layoutName = JRequest::getWord('layout', 'default'); if ($layoutName == 'edit') { $shipment = $model->getShipment(); $this->loadHelper('image'); // $this->loadHelper('html'); $this->loadHelper('parameterparser'); // jimport('joomla.html.pane'); if (!class_exists('VirtueMartModelVendor')) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'vendor.php'; } $vendor_id = 1; $currency = VirtueMartModelVendor::getVendorCurrency($vendor_id); $this->assignRef('vendor_currency', $currency->currency_symbol); if (Vmconfig::get('multix', 'none') !== 'none') { $vendorList = ShopFunctions::renderVendorList($shipment->virtuemart_vendor_id); $this->assignRef('vendorList', $vendorList); } $this->assignRef('pluginList', self::renderInstalledShipmentPlugins($shipment->shipment_jplugin_id)); $this->assignRef('shipment', $shipment); $this->assignRef('shopperGroupList', ShopFunctions::renderShopperGroupList($shipment->virtuemart_shoppergroup_ids, true)); $this->addStandardEditViewCommands($shipment->virtuemart_shipmentmethod_id); } else { $this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($model); $shipments = $model->getShipments(); $this->assignRef('shipments', $shipments); $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); } parent::display($tpl); }
/** * We want to allow html so we need to overwrite some request data * * @author Max Milbers */ function save($data = 0) { $data = vRequest::getRequest(); $user = JFactory::getUser(); if (!($user->authorise('core.admin', 'com_virtuemart') or $user->authorise('core.manage', 'com_virtuemart'))) { $data['product_desc'] = vRequest::get('product_desc', ''); $data['product_s_desc'] = vRequest::get('product_s_desc', ''); $data['customtitle'] = vRequest::get('customtitle', ''); } else { $data['product_desc'] = vRequest::getHtml('product_desc', ''); //Why we have this? $multix = Vmconfig::get('multix', 'none'); if ($multix != 'none') { //in fact this shoudl be used, when the mode is administrated and the system is so that //every product must be approved by an admin. unset($data['published']); //unset($data['childs']); } } parent::save($data); }
private function checkVmUserVendor() { $db = JFactory::getDBO(); $multix = Vmconfig::get('multix', 'none'); $q = 'select virtuemart_user_id,virtuemart_vendor_id from #__virtuemart_vmusers where user_is_vendor = 1'; // and virtuemart_vendor_id '.$vendorWhere.' limit 1'; $db->setQuery($q); $r = $db->loadAssocList(); if (empty($r)) { vmWarn('Your Virtuemart installation contains an error: No user as marked as vendor. Please update all users to be associated with virtuemart_vendor_id 1.'); } else { if ($multix == 'none' and count($r) != 1) { vmWarn('You are using single vendor mode, but it seems more than one user is set as vendor'); } foreach ($r as $entry) { if (empty($entry['virtuemart_vendor_id'])) { vmWarn('The user with virtuemart_user_id = ' . $entry['virtuemart_user_id'] . ' is set as vendor, but has no referencing vendorId.'); } } } }
/** * We want to allow html so we need to overwrite some request data * * @author Max Milbers */ function save($data = 0){ if($data===0)$data = vRequest::getRequest(); $user = JFactory::getUser(); if($user->authorise('core.admin','com_virtuemart') or $user->authorise('core.manage','com_virtuemart')){ $data['product_desc'] = vRequest::get('product_desc',''); $data['product_s_desc'] = vRequest::get('product_s_desc',''); $data['customtitle'] = vRequest::get('customtitle',''); if(isset($data['field'])){ $data['field'] = vRequest::get('field'); } if(isset($data['childs'])){ foreach($data['childs'] as $k=>$v){ $data['childs'][$k]['product_name'] = vRequest::get('product_name','',FILTER_UNSAFE_RAW,FILTER_FLAG_NO_ENCODE,$data['childs'][$k]); } } } else { $data['product_desc'] = vRequest::getHtml('product_desc',''); $data['product_s_desc'] = vRequest::getHtml('product_s_desc',''); $data['customtitle'] = vRequest::getHtml('customtitle',''); if(isset($data['field'])){ $data['field'] = vRequest::getHtml('field'); } //Why we have this? $multix = Vmconfig::get('multix','none'); if( $multix != 'none' ){ //in fact this shoudl be used, when the mode is administrated and the system is so that //every product must be approved by an admin. unset($data['published']); //unset($data['childs']); } } parent::save($data); }
function display($tpl = null) { // Load the helper(s) $this->loadHelper('html'); $model = VmModel::getModel(); $layoutName = $this->getLayout(); $this->task = JRequest::getWord('task', $layoutName); if ($layoutName == 'edit') { $this->perms = Permissions::getInstance(); VmConfig::loadJLang('com_virtuemart_config'); $shoppergroup = $model->getShopperGroup(); $this->SetViewTitle('SHOPPERGROUP', $shoppergroup->shopper_group_name); if (Vmconfig::get('multix', 'none') !== 'none') { $this->vendorList = ShopFunctions::renderVendorList($shoppergroup->virtuemart_vendor_id, false); } $this->shoppergroup = $shoppergroup; $this->addStandardEditViewCommands(); } else { if (JRequest::getWord('format', '') === 'raw') { $tpl = 'results'; } else { $this->SetViewTitle(); JToolBarHelper::makeDefault(); $this->addStandardDefaultViewCommands(); } $this->addStandardDefaultViewLists($model); $this->loadHelper('permissions'); $this->showVendors = Permissions::getInstance()->check('admin'); $this->shoppergroups = $model->getShopperGroups(false, true); $this->pagination = $model->getPagination(); } parent::display($tpl); if ($tpl === 'results') { echo $this->AjaxScripts(); } }
/** * We want to allow html so we need to overwrite some request data * * @author Max Milbers */ function save($data = 0) { $data = JRequest::get('post'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } if (Permissions::getInstance()->check('admin')) { $data['product_desc'] = JRequest::getVar('product_desc', '', 'post', 'STRING', 2); $data['product_s_desc'] = JRequest::getVar('product_s_desc', '', 'post', 'STRING', 2); $data['customtitle'] = JRequest::getVar('customtitle', '', 'post', 'STRING', 2); } else { $data['product_desc'] = JRequest::getVar('product_desc', '', 'post', 'STRING', 2); $data['product_desc'] = JComponentHelper::filterText($data['product_desc']); //Why we have this? $multix = Vmconfig::get('multix', 'none'); if ($multix != 'none') { //in fact this shoudl be used, when the mode is administrated and the sysetm is so that //every product must be approved by an admin. unset($data['published']); //unset($data['childs']); } } parent::save($data); }
/** * Creates a Drop Down list of available Vendors * * @author Max Milbers * @access public * @param int $virtuemart_shoppergroup_id the shopper group to pre-select * @param bool $multiple if the select list should allow multiple selections * @return string HTML select option list */ public static function renderVendorList($vendorId, $multiple = FALSE) { $db = JFactory::getDBO(); if (Vmconfig::get('multix', 'none') == 'none') { $vendorId = 1; $q = 'SELECT `vendor_name` FROM `#__virtuemart_vendors` WHERE `virtuemart_vendor_id` = "' . (int) $vendorId . '" '; $db->setQuery($q); $vendor = $db->loadResult(); $html = '<input type="text" size="14" name="vendor_name" class="inputbox" value="' . $vendor . '" readonly="">'; } else { if (!JFactory::getUser()->authorise('core.admin', 'com_virtuemart')) { if (empty($vendorId)) { $vendorId = 1; //Dont delete this message, we need it later for multivendor //vmWarn('renderVendorList $vendorId is empty, please correct your used model to automatically set the virtuemart_vendor_id to the logged Vendor'); } $q = 'SELECT `vendor_name` FROM `#__virtuemart_vendors` WHERE `virtuemart_vendor_id` = "' . (int) $vendorId . '" '; $db->setQuery($q); $vendor = $db->loadResult(); $html = '<input type="text" size="14" name="vendor_name" class="inputbox" value="' . $vendor . '" readonly="">'; // $html .='<input type="hidden" value="'.$vendorId.'" name="virtuemart_vendor_id">'; return $html; } else { return self::renderVendorFullVendorList($vendorId); } } }
/** * @author Max Milbers * @param */ function check() { if (!empty($this->_slugAutoName)) { $slugAutoName = $this->_slugAutoName; $slugName = $this->_slugName; if (in_array($slugAutoName, $this->_translatableFields)) { $checkTable = $this->_tbl . '_' . VMLANG; } else { $checkTable = $this->_tbl; } if (empty($this->{$slugName})) { // vmdebug('table check use _slugAutoName '.$slugAutoName.' '.$slugName); if (!empty($this->{$slugAutoName})) { $this->{$slugName} = $this->{$slugAutoName}; } else { vmError('VmTable ' . $checkTable . ' Check not passed. Neither slug nor obligatory value at ' . $slugAutoName . ' for auto slug creation is given'); return false; } } //if (!class_exists('VmMediaHandler')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'mediahandler.php'); //vmdebug('check $slug before stringURLSafe',$this->$slugName); //$this->$slugName = vmFile::makeSafe( $this->$slugName ); //$lang = JFactory::getLanguage(); //$this->$slugName = $lang->transliterate($this->$slugName); if (JVM_VERSION === 1) { $this->{$slugName} = JFilterOutput::stringURLSafe($this->{$slugName}); } else { $this->{$slugName} = JApplication::stringURLSafe($this->{$slugName}); } $valid = $this->checkCreateUnique($checkTable, $slugName); if (!$valid) { return false; } } foreach ($this->_obkeys as $obkeys => $error) { if (empty($this->{$obkeys})) { if (empty($error)) { $error = 'Serious error cant save ' . $this->_tbl . ' without ' . $obkeys; } else { // $error = get_class($this).' '.JText::_($error); $error = get_class($this) . ' ' . $error; } $this->setError($error); vmError($error); return false; } } if ($this->_unique) { if (empty($this->_db)) { $this->_db = JFactory::getDBO(); } foreach ($this->_unique_name as $obkeys => $error) { if (empty($this->{$obkeys})) { // vmError(JText::sprintf('COM_VIRTUEMART_NON_UNIQUE_KEY',$this->$obkeys)); $this->setError($error); vmError('Non unique ' . $this->_unique_name . ' ' . $error); return false; } else { $valid = $this->checkCreateUnique($this->_tbl, $obkeys); if (!$valid) { return false; } } } } if (isset($this->virtuemart_vendor_id)) { $multix = Vmconfig::get('multix', 'none'); //Lets check if the user is admin or the mainvendor if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } $virtuemart_vendor_id = false; if ($multix == 'none' and get_class($this) !== 'TableVmusers') { $this->virtuemart_vendor_id = 1; } else { $loggedVendorId = Permissions::getInstance()->isSuperVendor(); $admin = Permissions::getInstance()->check('admin'); $tbl_key = $this->_tbl_key; if (get_class($this) !== 'TableVmusers') { $q = 'SELECT `virtuemart_vendor_id` FROM `' . $this->_tbl . '` WHERE `' . $this->_tbl_key . '`=' . $this->{$tbl_key}; $this->_db->setQuery($q); $virtuemart_vendor_id = $this->_db->loadResult(); } else { $q = 'SELECT `virtuemart_vendor_id`,`user_is_vendor` FROM `' . $this->_tbl . '` WHERE `' . $this->_tbl_key . '`=' . $this->{$tbl_key}; $this->_db->setQuery($q); $vmuser = $this->_db->loadRow(); if ($vmuser and count($vmuser) === 2) { $virtuemart_vendor_id = $vmuser[0]; $user_is_vendor = $vmuser[1]; if ($multix == 'none') { if (empty($user_is_vendor)) { $this->virtuemart_vendor_id = 0; } else { $this->virtuemart_vendor_id = 1; } return true; } else { if (!$admin) { $this->virtuemart_vendor_id = $loggedVendorId; return true; } } } } if (!$admin and !empty($virtuemart_vendor_id) and !empty($loggedVendorId) and $loggedVendorId != $virtuemart_vendor_id) { //vmWarn('COM_VIRTUEMART_NOT_SAME_VENDOR',$loggedVendorId,$virtuemart_vendor_id //vmWarn('Stop try to hack this store, you got logged'); vmdebug('Hacking attempt stopped, logged vendor ' . $loggedVendorId . ' but data belongs to ' . $virtuemart_vendor_id); return false; } else { if (!$admin) { if ($virtuemart_vendor_id) { $this->virtuemart_vendor_id = $virtuemart_vendor_id; vmdebug('Non admin is storing using loaded vendor_id'); } else { //No id is stored, even users are allowed to use for the storage and vendorId, no change } } else { if (!empty($virtuemart_vendor_id) and $loggedVendorId != $virtuemart_vendor_id) { vmInfo('Admin with vendor id ' . $loggedVendorId . ' is using for storing vendor id ' . $this->virtuemart_vendor_id); vmdebug('Admin with vendor id ' . $loggedVendorId . ' is using for storing vendor id ' . $this->virtuemart_vendor_id); $this->virtuemart_vendor_id = $virtuemart_vendor_id; } } } } //tables to consider for multivendor //if(get_class($this)!== 'TableOrders' and get_class($this)!== 'TableInvoices' and get_class($this)!== 'TableOrder_items'){ } return true; }
* @author Max Milbers * @link http://www.virtuemart.net * @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * VirtueMart is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * @version $Id: default.php 6475 2012-09-21 11:54:21Z Milbo $ */ // Added modal for adding NEW payment. THe customer have to preselect a payment now to add a new one. // this permit to load directly the config XML and not to save 2 time the paymentmethod form // Check to ensure this file is included in Joomla! defined('_JEXEC') or die; //if($virtuemart_vendor_id==1 || $perm->check( 'admin' )){ $multiX = Vmconfig::get('multix', 'none') !== 'none' ? true : false; $cols = $multiX ? 10 : 9; ?> <form action="index.php" method="post" name="adminForm" id="adminForm"> <?php AdminUIHelper::startAdminArea(); ?> <div class="clearfix"> </div> <div id="results"> <?php // split to use ajax search echo $this->loadTemplate('results'); ?> </div>
?> <?php //echo VmHTML::row('booleanlist','COM_VIRTUEMART_VISIBLE_FOR_SHOPPER','calc_shopper_published',$this->calc->calc_shopper_published); ?> <?php //echo VmHTML::row('booleanlist','COM_VIRTUEMART_VISIBLE_FOR_VENDOR','calc_vendor_published',$this->calc->calc_vendor_published); ?> <?php echo VmHTML::row('raw', 'COM_VIRTUEMART_START_DATE', vmJsApi::jDate($this->calc->publish_up, 'publish_up')); ?> <?php echo VmHTML::row('raw', 'COM_VIRTUEMART_END_DATE', vmJsApi::jDate($this->calc->publish_down, 'publish_down')); ?> <?php if (Vmconfig::get('multix', 'none') !== 'none' and $this->perms->check('admin')) { echo VmHTML::row('raw', 'COM_VIRTUEMART_VENDOR', $this->vendorList); } ?> </table></fieldset> <?php if (!class_exists('vmCalculationPlugin')) { require JPATH_VM_PLUGINS . DS . 'vmcalculationplugin.php'; } JPluginHelper::importPlugin('vmcalculation'); $dispatcher = JDispatcher::getInstance(); $html = ''; $returnValues = $dispatcher->trigger('plgVmOnDisplayEdit', array(&$this->calc, &$html)); echo $html; ?>
/** * Creates a Drop Down list of available Vendors * * @author Max Milbers * @access public * @param int $virtuemart_shoppergroup_id the shopper group to pre-select * @param bool $multiple if the select list should allow multiple selections * @return string HTML select option list */ public static function renderVendorList($vendorId, $multiple = FALSE) { $db = JFactory::getDBO(); if (Vmconfig::get('multix', 'none') == 'none') { $vendorId = 1; $q = 'SELECT `vendor_name` FROM #__virtuemart_vendors WHERE `virtuemart_vendor_id` = "' . (int) $vendorId . '" '; $db->setQuery($q); $vendor = $db->loadResult(); $html = '<input type="text" size="14" name="vendor_name" class="inputbox" value="' . $vendor . '" readonly="">'; } else { if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } if (!Permissions::getInstance()->check('admin')) { if (empty($vendorId)) { $vendorId = 1; //Dont delete this message, we need it later for multivendor //JError::raiseWarning(1,'renderVendorList $vendorId is empty, please correct your used model to automatically set the virtuemart_vendor_id to the logged Vendor'); } $q = 'SELECT `vendor_name` FROM #__virtuemart_vendors WHERE `virtuemart_vendor_id` = "' . (int) $vendorId . '" '; $db->setQuery($q); $vendor = $db->loadResult(); $html = '<input type="text" size="14" name="vendor_name" class="inputbox" value="' . $vendor . '" readonly="">'; // $html .='<input type="hidden" value="'.$vendorId.'" name="virtuemart_vendor_id">'; return $html; } else { $q = 'SELECT `virtuemart_vendor_id`,`vendor_name` FROM #__virtuemart_vendors'; $db->setQuery($q); $vendors = $db->loadAssocList(); $attrs = ''; $name = 'vendor_name'; $idA = $id = 'virtuemart_vendor_id'; if ($multiple) { $attrs = ' multiple="multiple" '; $idA .= '[]'; } else { $emptyOption = JHTML::_('select.option', '', JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'), $id, $name); array_unshift($vendors, $emptyOption); } $listHTML = JHTML::_('select.genericlist', $vendors, $idA, $attrs, $id, $name, $vendorId); return $listHTML; } } }
function display($tpl = null) { VmConfig::loadJLang('com_virtuemart_shoppers', TRUE); $option = vRequest::getCmd('option'); $mainframe = JFactory::getApplication(); if (!class_exists('VmHTML')) { require VMPATH_ADMIN . DS . 'helpers' . DS . 'html.php'; } $layoutName = vRequest::getCmd('layout', 'default'); $model = VmModel::getModel(); // The list of fields which can't be toggled //$lists['coreFields']= array( 'name','username', 'email', 'password', 'password2' ); $lists['coreFields'] = $model->getCoreFields(); if ($layoutName == 'edit') { $this->editor = JFactory::getEditor(); $this->userField = $model->getUserfield(); //vmdebug('user plugin $this->userField',$this->userField); $this->SetViewTitle('USERFIELD', $this->userField->name); $this->assignRef('viewName', $viewName); $userFieldPlugin = ''; if (!class_exists('ShopFunctions')) { require VMPATH_ADMIN . DS . 'helpers' . DS . 'shopfunctions.php'; } $this->ordering = ShopFunctions::renderOrderingList('userfields', 'name', $this->userField->ordering); if ($this->userField->virtuemart_userfield_id < 1) { // Insert new userfield $userFieldValues = array(); $attribs = ''; $lists['type'] = JHtml::_('select.genericlist', $this->_getTypes(), 'type', $attribs, 'type', 'text', $this->userField->type); } else { // Update existing userfield // Ordering dropdown $userFieldValues = $model->getUserfieldValues(); $lists['type'] = $this->_getTypes($this->userField->type) . '<input id="type" type="hidden" name="type" value="' . $this->userField->type . '" />'; if (strpos($this->userField->type, 'plugin') !== false) { $userFieldPlugin = self::renderUserfieldPlugin(substr($this->userField->type, 6), $this->userField); } } $this->assignRef('userFieldPlugin', $userFieldPlugin); JToolBarHelper::divider(); JToolBarHelper::save(); JToolBarHelper::apply(); JToolBarHelper::cancel(); $notoggle = ''; // (in_array($this->userField->name, $lists['coreFields']) ? 'class="readonly"' : ''); // Vendor selection if (Vmconfig::get('multix', 'none') !== 'none') { $lists['vendors'] = ShopFunctions::renderVendorList($this->userField->virtuemart_vendor_id); } // Shopper groups for EU VAT Id $shoppergroup_model = VmModel::getModel('shoppergroup'); $shoppergroup_list = $shoppergroup_model->getShopperGroups(true); array_unshift($shoppergroup_list, '0'); $lists['shoppergroups'] = JHtml::_('select.genericlist', $shoppergroup_list, 'virtuemart_shoppergroup_id', '', 'virtuemart_shoppergroup_id', 'shopper_group_name', $this->userField->get('virtuemart_shoppergroup_id')); // Minimum age select $ages = array(); for ($i = 13; $i <= 25; $i++) { $ages[] = array('key' => $i, 'value' => $i . ' ' . vmText::_('COM_VIRTUEMART_YEAR_S')); } $lists['minimum_age'] = JHtml::_('select.genericlist', $ages, 'minimum_age', '', 'key', 'value', $this->userField->get('minimum_age', 18)); // Web address types $webaddress_types = array(array('key' => 0, 'value' => vmText::_('COM_VIRTUEMART_USERFIELDS_URL_ONLY')), array('key' => 2, 'value' => vmText::_('COM_VIRTUEMART_USERFIELDS_HYPERTEXT_URL'))); $lists['webaddresstypes'] = JHtml::_('select.genericlist', $webaddress_types, 'webaddresstype', '', 'key', 'value', $this->userField->get('webaddresstype')); // Userfield values if (($n = count($userFieldValues)) < 1) { $lists['userfield_values'] = '<tr>' . '<td><input type="text" value="" name="vValues[0]" /></td>' . '<td><input type="text" size="50" value="" name="vNames[0]" /></td>' . '</tr>'; $i = 1; } else { $lists['userfield_values'] = ''; $lang = JFactory::getLanguage(); for ($i = 0; $i < $n; $i++) { $translate = $lang->hasKey($userFieldValues[$i]->fieldtitle) ? " (" . vmText::_($userFieldValues[$i]->fieldtitle) . ")" : ""; $lists['userfield_values'] .= '<tr>' . '<td><input type="text" value="' . $userFieldValues[$i]->fieldvalue . '" name="vValues[' . $i . ']" /></td>' . '<td><input type="text" size="50" value="' . $userFieldValues[$i]->fieldtitle . '" name="vNames[' . $i . ']" />' . $translate . '<input type="button" class="button deleteRow" value=" - " /></td>' . '</tr>'; } } $this->valueCount = --$i; $userFieldTable = $model->getTable(); $this->existingFields = '"' . implode('","', $userFieldTable->showFullColumns(0, 'Field')) . '"'; // Toggles $lists['required'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_FIELDMANAGER_REQUIRED', 'required', $this->userField->required, $notoggle); $lists['published'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_PUBLISHED', 'published', $this->userField->published, $notoggle); $lists['cart'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_ON_CART', 'cart', $this->userField->cart, $notoggle); $lists['shipment'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_ON_SHIPPING', 'shipment', $this->userField->shipment, $notoggle); $lists['account'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_ON_ACCOUNT', 'account', $this->userField->account, $notoggle); $lists['readonly'] = VmHTML::row('booleanlist', 'COM_VIRTUEMART_USERFIELDS_READONLY', 'readonly', $this->userField->readonly, $notoggle); $this->assignRef('lists', $lists); $this->assignRef('userFieldValues', $userFieldValues); } else { JToolBarHelper::title(vmText::_('COM_VIRTUEMART_MANAGE_USER_FIELDS'), 'vm_user_48 head'); JToolBarHelper::addNew(); JToolBarHelper::editList(); JToolBarHelper::divider(); JToolBarHelper::custom('toggle.required.1', 'publish', '', 'COM_VIRTUEMART_FIELDMANAGER_REQUIRE'); JToolBarHelper::custom('toggle.required.0', 'unpublish', '', 'COM_VIRTUEMART_FIELDMANAGER_UNREQUIRE'); JToolBarHelper::publishList(); JToolBarHelper::unpublishList(); JToolBarHelper::divider(); $barText = vmText::_('COM_VIRTUEMART_FIELDMANAGER_SHOW_HIDE'); $bar = JToolBar::getInstance('toolbar'); $bar->appendButton('Separator', '"><span class="bartext">' . $barText . '</span><hr style="display: none;'); //$bar->appendButton( 'publish', 'upload', $alt, '', 550, 400 ); JToolBarHelper::custom('toggle.registration.1', 'publish', '', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_REGISTRATION'); JToolBarHelper::custom('toggle.registration.0', 'unpublish', '', 'COM_VIRTUEMART_FIELDMANAGER_HIDE_REGISTRATION'); JToolBarHelper::custom('toggle.shipment.1', 'publish', '', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_SHIPPING'); JToolBarHelper::custom('toggle.shipment.0', 'unpublish', '', 'COM_VIRTUEMART_FIELDMANAGER_HIDE_SHIPPING'); JToolBarHelper::custom('toggle.account.1', 'publish', '', 'COM_VIRTUEMART_FIELDMANAGER_SHOW_ACCOUNT'); JToolBarHelper::custom('toggle.account.0', 'unpublish', '', 'COM_VIRTUEMART_FIELDMANAGER_HIDE_ACCOUNT'); JToolBarHelper::divider(); JToolBarHelper::deleteList(); $this->addStandardDefaultViewLists($model, 'ordering', 'ASC'); $this->userfieldsList = $model->getUserfieldsList(); $this->pagination = $model->getPagination(); // search filter $search = $mainframe->getUserStateFromRequest($option . 'search', 'search', '', 'string'); $search = JString::strtolower($search); $this->lists['search'] = $search; } $this->lists['coreFields'] = $lists['coreFields']; parent::display($tpl); }
function display($tpl = null) { // Get the task $task = JRequest::getWord('task', $this->getLayout()); $this->assignRef('task', $task); // Load helpers if (!class_exists('CurrencyDisplay')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'currencydisplay.php'; } if (!class_exists('VmHTML')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'html.php'; } if (!class_exists('VmImage')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php'; } $model = VmModel::getModel(); // Handle any publish/unpublish switch ($task) { case 'add': case 'edit': //this was in the controller for the edit tasks, we need this for the access by FE $this->addTemplatePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'views' . DS . 'product' . DS . 'tmpl'); VmConfig::loadJLang('com_virtuemart_orders', TRUE); VmConfig::loadJLang('com_virtuemart_shoppers', TRUE); $virtuemart_product_id = JRequest::getVar('virtuemart_product_id', array()); if (is_array($virtuemart_product_id) && count($virtuemart_product_id) > 0) { $virtuemart_product_id = (int) $virtuemart_product_id[0]; } else { $virtuemart_product_id = (int) $virtuemart_product_id; } $product = $model->getProductSingle($virtuemart_product_id, false); //$product_parent= $model->getProductParent($product->product_parent_id); $product_parent = false; if (!empty($product->product_parent_id)) { $product_parent = $model->getProductSingle($product->product_parent_id, false); } $mf_model = VmModel::getModel('manufacturer'); $manufacturers = $mf_model->getManufacturerDropdown($product->virtuemart_manufacturer_id); $this->assignRef('manufacturers', $manufacturers); // Get the category tree if (isset($product->categories)) { $category_tree = ShopFunctions::categoryListTree($product->categories); } else { $category_tree = ShopFunctions::categoryListTree(); } $this->assignRef('category_tree', $category_tree); //Fallback for categories inherited by parent to correctly calculate the prices if (empty($product->categories) and !empty($product_parent->categories)) { $product->categories = $product_parent->categories; } //Get the shoppergoup list - Cleanshooter Custom Shopper Visibility if (isset($product->shoppergroups)) { $shoppergroupList = ShopFunctions::renderShopperGroupList($product->shoppergroups); } $this->assignRef('shoppergroupList', $shoppergroupList); // Load the product price if (!class_exists('calculationHelper')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php'; } $product_childIds = $model->getProductChildIds($virtuemart_product_id); $product_childs = array(); $childs = 0; $maxChilds = 30; foreach ($product_childIds as $id) { if ($childs++ > $maxChilds) { break; } $product_childs[] = $model->getProductSingle($id, false); } $this->assignRef('product_childs', $product_childs); if (!class_exists('VirtueMartModelConfig')) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'config.php'; } $productLayouts = VirtueMartModelConfig::getLayoutList('productdetails'); $this->assignRef('productLayouts', $productLayouts); // Load Images $model->addImages($product); if (!class_exists('shopFunctionsF')) { require JPATH_VM_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php'; } $vmtemplate = shopFunctionsF::loadVmTemplateStyle(); if (is_Dir(JPATH_ROOT . DS . 'templates' . DS . $vmtemplate . DS . 'images' . DS . 'availability' . DS)) { $imagePath = '/templates/' . $vmtemplate . '/images/availability/'; } else { $imagePath = '/components/com_virtuemart/assets/images/availability/'; } $this->assignRef('imagePath', $imagePath); // Load the vendors $vendor_model = VmModel::getModel('vendor'); if (Vmconfig::get('multix', 'none') !== 'none') { $lists['vendors'] = Shopfunctions::renderVendorList($product->virtuemart_vendor_id); } // Load the currencies $currency_model = VmModel::getModel('currency'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } $vendor_model->setId(Permissions::getInstance()->isSuperVendor()); $vendor = $vendor_model->getVendor(); if (empty($product->product_currency)) { $product->product_currency = $vendor->vendor_currency; } //$currencies = JHTML::_('select.genericlist', $currency_model->getCurrencies(), 'product_currency', '', 'virtuemart_currency_id', 'currency_name', $product->product_currency); $currency = $currency_model->getCurrency($product->product_currency); $this->assignRef('product_currency', $currency->currency_symbol); $currency = $currency_model->getCurrency($vendor->vendor_currency); $this->assignRef('vendor_currency', $currency->currency_symbol); if (count($manufacturers) > 0) { $lists['manufacturers'] = JHTML::_('select.genericlist', $manufacturers, 'virtuemart_manufacturer_id', 'class="inputbox"', 'value', 'text', $product->virtuemart_manufacturer_id); } if (!empty($product->product_weight_uom)) { $product_weight_uom = $product->product_weight_uom; } else { if (!empty($product_parent)) { $product_weight_uom = $product_parent->product_weight_uom; } else { $product_weight_uom = VmConfig::get('weight_unit_default'); } } if (!empty($product->product_lwh_uom)) { $product_lwh_uom = $product->product_lwh_uom; } else { if (!empty($product_parent)) { $product_lwh_uom = $product_parent->product_lwh_uom; } else { $product_lwh_uom = VmConfig::get('lwh_unit_default'); } } if (!empty($product->product_unit)) { $product_unit = $product->product_unit; } else { if (!empty($product_parent)) { $product_unit = $product_parent->product_unit; } else { $product_unit = VmConfig::get('product_unit_default', 'KG'); } } $lists['product_weight_uom'] = ShopFunctions::renderWeightUnitList('product_weight_uom', $product_weight_uom); $lists['product_iso_uom'] = ShopFunctions::renderUnitIsoList('product_unit', $product_unit); $lists['product_lwh_uom'] = ShopFunctions::renderLWHUnitList('product_lwh_uom', $product_lwh_uom); if (empty($product->product_available_date)) { $product->product_available_date = date("Y-m-d"); } $waitinglistmodel = VmModel::getModel('waitinglist'); /* Load waiting list */ if ($product->virtuemart_product_id) { //$waitinglist = $this->get('waitingusers', 'waitinglist'); $waitinglist = $waitinglistmodel->getWaitingusers($product->virtuemart_product_id); $this->assignRef('waitinglist', $waitinglist); } $productShoppers = $model->getProductShoppersByStatus($product->virtuemart_product_id, array('S')); $this->assignRef('productShoppers', $productShoppers); $orderstatusModel = VmModel::getModel('orderstatus'); $lists['OrderStatus'] = $orderstatusModel->renderOSList(array(), 'order_status', TRUE); $field_model = VmModel::getModel('customfields'); $fieldTypes = $field_model->getField_types(); $this->assignRef('fieldTypes', $fieldTypes); // Add the virtuemart_shoppergroup_ids $cid = JFactory::getUser()->id; $this->activeShoppergroups = shopfunctions::renderGuiList('virtuemart_shoppergroup_id', '#__virtuemart_vmuser_shoppergroups', 'virtuemart_user_id', $cid, 'shopper_group_name', '#__virtuemart_shoppergroups', 'virtuemart_shoppergroup_id', 'category', 4, 0); if (!$this->activeShoppergroups or is_array($this->activeShoppergroups) and count($this->activeShoppergroups) == 0) { //vmdebug('$this->activeShoppergroups',$this->activeShoppergroups); $shoppergroupModel = VmModel::getModel('shoppergroup'); $this->activeShoppergroups = vmText::_($shoppergroupModel->getDefault(0)->shopper_group_name); } /* Load protocustom lists */ $customsList = $field_model->getCustomsList(); $attribs = 'style= "width: 300px;"'; $customlist = JHTML::_('select.genericlist', $customsList, 'customlist', $attribs); $this->assignRef('customsList', $customlist); $ChildCustomRelation = $field_model->getProductChildCustomRelation(); $this->assignRef('ChildCustomRelation', $ChildCustomRelation); if ($product->product_parent_id > 0) { $parentRelation = $field_model->getProductParentRelation($product->virtuemart_product_id); $this->assignRef('parentRelation', $parentRelation); // Set up labels $info_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_INFO_LBL'); $status_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_STATUS_LBL'); $dim_weight_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_DIM_WEIGHT_LBL'); $images_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_IMAGES_LBL'); $delete_message = JText::_('COM_VIRTUEMART_PRODUCT_FORM_DELETE_ITEM_MSG'); } else { if ($task == 'add') { $action = JText::_('COM_VIRTUEMART_PRODUCT_FORM_NEW_PRODUCT_LBL'); } else { $action = JText::_('COM_VIRTUEMART_PRODUCT_FORM_UPDATE_ITEM_LBL'); } $info_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_INFO_LBL'); $status_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_STATUS_LBL'); $dim_weight_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_DIM_WEIGHT_LBL'); $images_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_IMAGES_LBL'); $delete_message = JText::_('COM_VIRTUEMART_PRODUCT_FORM_DELETE_PRODUCT_MSG'); } $this->assignRef('product', $product); $product_empty_price = array('virtuemart_product_price_id' => 0, 'virtuemart_product_id' => $virtuemart_product_id, 'virtuemart_shoppergroup_id' => NULL, 'product_price' => NULL, 'override' => NULL, 'product_override_price' => NULL, 'product_tax_id' => NULL, 'product_discount_id' => NULL, 'product_currency' => $vendor->vendor_currency, 'product_price_publish_up' => NULL, 'product_price_publish_down' => NULL, 'price_quantity_start' => NULL, 'price_quantity_end' => NULL); $this->assignRef('product_empty_price', $product_empty_price); $this->assignRef('product_parent', $product_parent); /* Assign label values */ $this->assignRef('action', $action); $this->assignRef('info_label', $info_label); $this->assignRef('status_label', $status_label); $this->assignRef('dim_weight_label', $dim_weight_label); $this->assignRef('images_label', $images_label); $this->assignRef('delete_message', $delete_message); $this->assignRef('lists', $lists); // Toolbar if ($product->product_sku) { $sku = ' (' . $product->product_sku . ')'; } else { $sku = ""; } if (!empty($product->canonCatLink)) { $canonLink = '&virtuemart_category_id=' . $product->canonCatLink; } else { $canonLink = ''; } if (!empty($product->virtuemart_product_id)) { if (!class_exists('shopFunctionsF')) { require JPATH_VM_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php'; } $menuItemID = shopFunctionsF::getMenuItemId(JFactory::getLanguage()->getTag()); $text = '<a href="' . juri::root() . 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . $canonLink . '&Itemid=' . $menuItemID . '" target="_blank" >' . $product->product_name . $sku . '<span class="vm2-modallink"></span></a>'; } else { $text = $product->product_name . $sku; } $this->SetViewTitle('PRODUCT', $text); $this->addStandardEditViewCommands($product->virtuemart_product_id); break; case 'massxref_cats': case 'massxref_cats_exe': $this->SetViewTitle('PRODUCT_MASSXREF'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } $showVendors = Permissions::getInstance()->check('admin'); $this->assignRef('showVendors', $showVendors); $keyWord = ''; $catmodel = VmModel::getModel('category'); $this->assignRef('catmodel', $catmodel); //$this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($catmodel, 'category_name'); $categories = $catmodel->getCategoryTree(0, 0, false, $this->lists['search']); $this->assignRef('categories', $categories); $catpagination = $catmodel->getPagination(); $this->assignRef('catpagination', $catpagination); //$this->addStandardDefaultViewCommands(); $this->setLayout('massxref'); JToolBarHelper::custom('massxref_cats_exe', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_CAT_EXE'), false); break; case 'massxref_sgrps': case 'massxref_sgrps_exe': $sgrpmodel = VmModel::getModel('shoppergroup'); $this->addStandardDefaultViewLists($sgrpmodel); $shoppergroups = $sgrpmodel->getShopperGroups(false, true); $this->assignRef('shoppergroups', $shoppergroups); $sgrppagination = $sgrpmodel->getPagination(); $this->assignRef('sgrppagination', $sgrppagination); $this->setLayout('massxref'); JToolBarHelper::custom('massxref_sgrps_exe', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_SGRPS_EXE'), false); break; default: if ($product_parent_id = JRequest::getInt('product_parent_id', false)) { $product_parent = $model->getProductSingle($product_parent_id, false); if ($product_parent) { $title = 'PRODUCT_CHILDREN_LIST'; $link_to_parent = JHTML::_('link', JRoute::_('index.php?view=product&task=edit&virtuemart_product_id=' . $product_parent->virtuemart_product_id . '&option=com_virtuemart'), $product_parent->product_name, array('title' => JText::_('COM_VIRTUEMART_EDIT_PARENT') . ' ' . $product_parent->product_name)); $msg = JText::_('COM_VIRTUEMART_PRODUCT_OF') . " " . $link_to_parent; } else { $title = 'PRODUCT_CHILDREN_LIST'; $msg = 'Parent with product_parent_id ' . $product_parent_id . ' not found'; } } else { $title = 'PRODUCT'; $msg = ""; } $this->db = JFactory::getDBO(); $this->SetViewTitle($title, $msg); $this->addStandardDefaultViewLists($model, 'created_on'); /* Get the list of products */ $productlist = $model->getProductListing(false, false, false, false, true); //The pagination must now always set AFTER the model load the listing $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); /* Get the category tree */ $categoryId = $model->virtuemart_category_id; //OSP switched to filter in model, was JRequest::getInt('virtuemart_category_id'); $category_tree = ShopFunctions::categoryListTree(array($categoryId)); $this->assignRef('category_tree', $category_tree); /* Load the product price */ if (!class_exists('calculationHelper')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php'; } $vendor_model = VmModel::getModel('vendor'); $productreviews = VmModel::getModel('ratings'); foreach ($productlist as $virtuemart_product_id => $product) { $product->mediaitems = count($product->virtuemart_media_id); $product->reviews = $productreviews->countReviewsForProduct($product->virtuemart_product_id); $vendor_model->setId($product->virtuemart_vendor_id); $vendor = $vendor_model->getVendor(); $currencyDisplay = CurrencyDisplay::getInstance($vendor->vendor_currency, $vendor->virtuemart_vendor_id); if (!empty($product->product_price) && !empty($product->product_currency)) { $product->product_price_display = $currencyDisplay->priceDisplay($product->product_price, (int) $product->product_currency, 1, true); } /* Write the first 5 categories in the list */ $product->categoriesList = shopfunctions::renderGuiList('virtuemart_category_id', '#__virtuemart_product_categories', 'virtuemart_product_id', $product->virtuemart_product_id, 'category_name', '#__virtuemart_categories', 'virtuemart_category_id', 'category'); } $mf_model = VmModel::getModel('manufacturer'); $manufacturers = $mf_model->getManufacturerDropdown(); $this->assignRef('manufacturers', $manufacturers); /* add Search filter in lists*/ /* Search type */ $options = array('' => JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'), 'parent' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_PARENT_PRODUCT'), 'product' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_PRODUCT'), 'price' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_PRICE'), 'withoutprice' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_WITHOUTPRICE')); $this->lists['search_type'] = VmHTML::selectList('search_type', JRequest::getVar('search_type'), $options); /* Search order */ $options = array('bf' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_BEFORE'), 'af' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_AFTER')); $this->lists['search_order'] = VmHTML::selectList('search_order', JRequest::getVar('search_order'), $options); // Toolbar JToolBarHelper::custom('massxref_cats', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_CAT'), true); JToolBarHelper::custom('massxref_sgrps', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_SGRPS'), true); JToolBarHelper::custom('createchild', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_CHILD'), true); JToolBarHelper::custom('cloneproduct', 'copy', 'copy', JText::_('COM_VIRTUEMART_PRODUCT_CLONE'), true); JToolBarHelper::custom('addrating', 'default', '', JText::_('COM_VIRTUEMART_ADD_RATING'), true); $this->addStandardDefaultViewCommands(); $this->assignRef('productlist', $productlist); $this->assignRef('virtuemart_category_id', $categoryId); $this->assignRef('model', $model); break; } parent::display($tpl); }
function display($tpl = null) { // Get the task $task = JRequest::getWord('task', $this->getLayout()); vmdebug('VirtuemartViewProduct ' . $task); $this->task = $task; // Load helpers $this->loadHelper('currencydisplay'); $this->loadHelper('html'); $this->loadHelper('image'); $model = VmModel::getModel(); // Handle any publish/unpublish switch ($task) { case 'add': case 'edit': VmConfig::loadJLang('com_virtuemart_orders', TRUE); VmConfig::loadJLang('com_virtuemart_shoppers', TRUE); $this->jsonPath = JFactory::getApplication()->isSite() ? juri::root() : ''; $virtuemart_product_id = JRequest::getVar('virtuemart_product_id', array()); if (is_array($virtuemart_product_id) && count($virtuemart_product_id) > 0) { $virtuemart_product_id = (int) $virtuemart_product_id[0]; } else { $virtuemart_product_id = (int) $virtuemart_product_id; } $product = $model->getProductSingle($virtuemart_product_id, false); $product_parent = $model->getProductParent($product->product_parent_id); $mf_model = VmModel::getModel('manufacturer'); $manufacturers = $mf_model->getManufacturerDropdown($product->virtuemart_manufacturer_id); $this->manufacturers = $manufacturers; // set category in front edit link if ($task == 'add') { if ($category_id = jRequest::getInt('virtuemart_category_id', 0)) { $product->categories = array($category_id); } } // Get the category tree if (isset($product->categories)) { $this->category_tree = ShopFunctions::categoryListTree($product->categories); } else { $this->category_tree = ShopFunctions::categoryListTree(); } //Get the shoppergoup list - Cleanshooter Custom Shopper Visibility if (isset($product->shoppergroups)) { $this->shoppergroupList = ShopFunctions::renderShopperGroupList($product->shoppergroups); } else { $this->shoppergroupList = ''; } // Load the product price $this->loadHelper('calculationh'); $product_childIds = $model->getProductChildIds($virtuemart_product_id); $product_childs = array(); foreach ($product_childIds as $id) { $product_childs[] = $model->getProductSingle($id, false); } $this->assignRef('product_childs', $product_childs); JLoader::register('VirtueMartModelConfig', JPATH_VM_ADMINISTRATOR . '/models/config.php'); $this->productLayouts = VirtueMartModelConfig::getLayoutList('productdetails', $product->layout); // Load Images $model->addImages($product); if (is_Dir(VmConfig::get('vmtemplate') . DS . 'images' . DS . 'availability' . DS)) { $imagePath = VmConfig::get('vmtemplate') . '/images/availability/'; } else { $imagePath = '/components/com_virtuemart/assets/images/availability/'; } $this->imagePath = $imagePath; // Load the vendors $vendor_model = VmModel::getModel('vendor'); if (Vmconfig::get('multix', 'none') !== 'none') { if ($task == 'add') { $vendor_id = $this->adminVendor; } else { $vendor_id = $product->virtuemart_vendor_id; } $lists['vendors'] = Shopfunctions::renderVendorList($vendor_id); } // Load the currencies $currency_model = VmModel::getModel('currency'); $this->loadHelper('permissions'); $vendor_model->setId(Permissions::getInstance()->isSuperVendor()); $vendor = $vendor_model->getVendor(); if (empty($product->product_currency)) { $product->product_currency = $vendor->vendor_currency; } //STUDIO42 fix for currency, old method set 2 time same currency symbol // TODO verify all others $currencyModel = VmModel::getModel('currency'); $currencyModel->setId($vendor->vendor_currency); $currency = $currencyModel->getData(); $this->vendor_currency = $currency->currency_symbol; $currencyModel->setId($product->product_currency); $currency = $currencyModel->getData(); $this->product_currency = $currency->currency_symbol; if (count($manufacturers) > 0) { $lists['manufacturers'] = JHTML::_('select.genericlist', $manufacturers, 'virtuemart_manufacturer_id', 'class="inputbox"', 'value', 'text', $product->virtuemart_manufacturer_id); } $lists['product_weight_uom'] = ShopFunctions::renderWeightUnitList('product_weight_uom', $task == 'add' ? VmConfig::get('weight_unit_default') : $product->product_weight_uom); $lists['product_iso_uom'] = ShopFunctions::renderUnitIsoList('product_unit', $task == 'add' ? VmConfig::get('weight_unit_default') : $product->product_unit); $lists['product_lwh_uom'] = ShopFunctions::renderLWHUnitList('product_lwh_uom', $task == 'add' ? VmConfig::get('lwh_unit_default') : $product->product_lwh_uom); if (empty($product->product_available_date)) { $product->product_available_date = date("Y-m-d"); } $waitinglistmodel = VmModel::getModel('waitinglist'); /* Load waiting list */ if ($product->virtuemart_product_id) { //$waitinglist = $this->get('waitingusers', 'waitinglist'); $waitinglist = $waitinglistmodel->getWaitingusers($product->virtuemart_product_id); $this->assignRef('waitinglist', $waitinglist); } $productShoppers = $model->getProductShoppersByStatus($product->virtuemart_product_id, array('S')); $this->assignRef('productShoppers', $productShoppers); $orderstatusModel = VmModel::getModel('orderstatus'); $lists['OrderStatus'] = $orderstatusModel->renderOSList(array(), 'order_status', TRUE); $field_model = VmModel::getModel('customfields'); $fieldTypes = $field_model->getField_types(); $this->assignRef('fieldTypes', $fieldTypes); /* Load product types lists */ if ($customsList = $field_model->getCustomsList()) { $emptyOption = JHTML::_('select.option', '', '- ' . JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION') . ' :', 'value', 'text'); array_unshift($customsList, $emptyOption); $customlist = JHTML::_('select.genericlist', $customsList, 'customlist'); if ($task == "add") { if ($customfieldsDefault = $this->getBLankCustomfields()) { $product->customfields = $customfieldsDefault; // var_dump( $customfieldsDefault);jexit(); } } } $this->assignRef('customsList', $customlist); $ChildCustomRelation = $field_model->getProductChildCustomRelation(); $this->assignRef('ChildCustomRelation', $ChildCustomRelation); if ($product->product_parent_id > 0) { $parentRelation = $field_model->getProductParentRelation($product->virtuemart_product_id); $this->assignRef('parentRelation', $parentRelation); // Set up labels $info_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_INFO_LBL'); $status_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_STATUS_LBL'); $dim_weight_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_DIM_WEIGHT_LBL'); $images_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_ITEM_IMAGES_LBL'); $delete_message = JText::_('COM_VIRTUEMART_PRODUCT_FORM_DELETE_ITEM_MSG'); } else { if ($task == 'add') { $action = JText::_('COM_VIRTUEMART_PRODUCT_FORM_NEW_PRODUCT_LBL'); } else { $action = JText::_('COM_VIRTUEMART_PRODUCT_FORM_UPDATE_ITEM_LBL'); } $info_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_INFO_LBL'); $status_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_STATUS_LBL'); $dim_weight_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_DIM_WEIGHT_LBL'); $images_label = JText::_('COM_VIRTUEMART_PRODUCT_FORM_PRODUCT_IMAGES_LBL'); $delete_message = JText::_('COM_VIRTUEMART_PRODUCT_FORM_DELETE_PRODUCT_MSG'); } $this->assignRef('product', $product); $product_empty_price = array('virtuemart_product_price_id' => 0, 'virtuemart_product_id' => $virtuemart_product_id, 'virtuemart_shoppergroup_id' => NULL, 'product_price' => NULL, 'override' => NULL, 'product_override_price' => NULL, 'product_tax_id' => NULL, 'product_discount_id' => NULL, 'product_currency' => $vendor->vendor_currency, 'product_price_publish_up' => NULL, 'product_price_publish_down' => NULL, 'price_quantity_start' => NULL, 'price_quantity_end' => NULL); $this->assignRef('product_empty_price', $product_empty_price); $this->assignRef('product_parent', $product_parent); /* Assign label values */ $this->assignRef('action', $action); $this->assignRef('info_label', $info_label); $this->assignRef('status_label', $status_label); $this->assignRef('dim_weight_label', $dim_weight_label); $this->assignRef('images_label', $images_label); $this->assignRef('delete_message', $delete_message); $this->assignRef('lists', $lists); // Toolbar if ($product->product_sku) { $sku = ' (' . $product->product_sku . ')'; } else { $sku = ""; } if (!empty($product->canonCatLink)) { $canonLink = '&virtuemart_category_id=' . $product->canonCatLink; } else { $canonLink = ''; } if (!empty($product->virtuemart_product_id)) { $text = '<a href="' . juri::root() . 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . $canonLink . '" target="_blank" >' . $product->product_name . $sku . '<span class="vm2-modallink"></span></a>'; } else { $text = $product->product_name . $sku; } $this->SetViewTitle('PRODUCT', $text); //JToolBarHelper::custom('sentproductemailtocustomer', 'email_32', 'email_32', 'COM_VIRTUEMART_PRODUCT_EMAILTOSHOPPER' ,false); $this->addStandardEditViewCommands($product->virtuemart_product_id); break; case 'massxref_cats': case 'massxref_cats_exe': //TODO test if path is ok addpath is now in the constructor $this->addTemplatePath(JPATH_VM_ADMINISTRATOR . '/views' . DS . 'category' . DS . 'tmpl'); $this->SetViewTitle('PRODUCT_MASSXREF'); // $this->setLayout('massxref'); $this->loadHelper('permissions'); $this->perms = Permissions::getInstance(); $this->showVendors = $this->perms->check('admin'); $keyWord = ''; $catmodel = VmModel::getModel('category'); $this->catmodel = $catmodel; //$this->addStandardDefaultViewCommands(); $this->addStandardDefaultViewLists($catmodel, 'category_name'); $this->categories = $catmodel->getCategoryTree(0, 0, false, $this->lists['search']); $this->pagination = $catmodel->getPagination(); // restore icon is good but not the word JToolBarHelper::custom('display', 'restore', 'restore', JText::_('JTOOLBAR_BACK'), false); JToolBarHelper::custom('massxref_cats_exe', 'assign', 'assign', JText::_('COM_VIRTUEMART_MASS_REPLACE'), false); JToolBarHelper::custom('massxref_cats_add', 'new', 'new', JText::_('COM_VIRTUEMART_MASS_ADD'), true); break; case 'massxref_sgrps': case 'massxref_sgrps_exe': $this->SetViewTitle('PRODUCT_MASSXREF'); //TODO test if path is ok addpath is now in the constructor $this->addTemplatePath(JPATH_VM_ADMINISTRATOR . '/views' . DS . 'shoppergroup' . DS . 'tmpl'); $this->loadHelper('permissions'); $this->perms = Permissions::getInstance(); $this->showVendors = $this->perms->check('admin'); $sgrpmodel = VmModel::getModel('shoppergroup'); $this->addStandardDefaultViewLists($sgrpmodel); $this->shoppergroups = $sgrpmodel->getShopperGroups(false, true); $this->pagination = $sgrpmodel->getPagination(); JToolBarHelper::custom('massxref_sgrps_exe', 'groups-add', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_SGRPS_EXE'), false); break; default: if ($product_parent_id = JRequest::getInt('product_parent_id', false)) { $product_parent = $model->getProductSingle($product_parent_id, false); if ($product_parent) { $title = 'PRODUCT_CHILDREN_LIST'; $link_to_parent = JHTML::_('link', JRoute::_('index.php?view=product&task=edit&virtuemart_product_id=' . $product_parent->virtuemart_product_id . '&option=com_virtuemart'), $product_parent->product_name, array('class' => 'hasTooltip', 'title' => JText::_('COM_VIRTUEMART_EDIT_PARENT') . ' ' . $product_parent->product_name)); $msg = JText::_('COM_VIRTUEMART_PRODUCT_OF') . " " . $link_to_parent; } else { $title = 'PRODUCT_CHILDREN_LIST'; $msg = 'Parent with product_parent_id ' . $product_parent_id . ' not found'; } } else { $title = 'PRODUCT'; $msg = ""; } $this->db = JFactory::getDBO(); $this->loadHelper('permissions'); $this->SetViewTitle($title, $msg); $this->addStandardDefaultViewLists($model, 'created_on', 'DESC', 'filter_product'); $vendor_id = $this->adminVendor; if ($vendor_id == 1) { $vendor_id = null; } // fix ??? $catid = JRequest::getInt('uctlist = ', 0); /* Get the list of products */ $productlist = $model->getProductListing(false, false, false, false, true, true, $catid, $vendor_id); //The pagination must now always set AFTER the model load the listing $this->pagination = $model->getPagination(); /* Get the category tree */ $categoryId = $model->virtuemart_category_id; //OSP switched to filter in model, was JRequest::getInt('virtuemart_category_id'); $this->category_tree = ShopFunctions::categoryListTree(array($categoryId)); /* Load the product price */ $this->loadHelper('calculationh'); $vendor_model = VmModel::getModel('vendor'); $productreviews = VmModel::getModel('ratings'); foreach ($productlist as $virtuemart_product_id => $product) { if (isset($product->virtuemart_media_id)) { $product->mediaitems = count($product->virtuemart_media_id); } else { $product->mediaitems = 'none'; } $product->reviews = $productreviews->countReviewsForProduct($product->virtuemart_product_id); $vendor_model->setId($product->virtuemart_vendor_id); $vendor = $vendor_model->getVendor(); $currencyDisplay = CurrencyDisplay::getInstance($vendor->vendor_currency, $vendor->virtuemart_vendor_id); if (!empty($product->product_price) && !empty($product->product_currency)) { $product->product_price_display = $currencyDisplay->priceDisplay($product->product_price, (int) $product->product_currency, 1, true); } /* Write the first 5 categories in the list */ $product->categoriesList = shopfunctions::renderGuiList('virtuemart_category_id', '#__virtuemart_product_categories', 'virtuemart_product_id', $product->virtuemart_product_id, 'category_name', '#__virtuemart_categories', 'virtuemart_category_id', 'category'); } $mf_model = VmModel::getModel('manufacturer'); $this->manufacturers = $mf_model->getManufacturerDropdown(); /* add Search filter in lists*/ /* Search type */ $options = array('' => JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'), 'parent' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_PARENT_PRODUCT'), 'product' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_PRODUCT'), 'price' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_PRICE'), 'withoutprice' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_TYPE_WITHOUTPRICE')); $this->lists['search_type'] = VmHTML::selectList('search_type', JRequest::getVar('search_type'), $options, 1, '', 'onchange="Joomla.ajaxSearch(this); return false;"', 'input-medium'); /* Search order */ $options = array('bf' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_BEFORE'), 'af' => JText::_('COM_VIRTUEMART_PRODUCT_LIST_SEARCH_BY_DATE_AFTER')); $this->lists['search_order'] = VmHTML::selectList('search_order', JRequest::getVar('search_order'), $options, 1, '', '', 'input-small'); // Toolbar //JToolBarHelper::save('sentproductemailtoshoppers', JText::_('COM_VIRTUEMART_PRODUCT_EMAILTOSHOPPERS')); JToolBarHelper::custom('massxref_cats', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_CAT'), true); JToolBarHelper::custom('massxref_sgrps', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_XREF_SGRPS'), true); JToolBarHelper::custom('createchild', 'new', 'new', JText::_('COM_VIRTUEMART_PRODUCT_CHILD'), true); JToolBarHelper::custom('cloneproduct', 'copy', 'copy', JText::_('COM_VIRTUEMART_PRODUCT_CLONE'), true); JToolBarHelper::custom('addrating', 'star-2', '', JText::_('COM_VIRTUEMART_ADD_RATING'), true); $this->addStandardDefaultViewCommands(); $this->productlist = $productlist; $this->virtuemart_category_id = $categoryId; $this->model = $model; break; } parent::display($tpl); }
function display($tpl = null) { // Load the helper(s) $this->loadHelper('html'); if (!class_exists('Permissions')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php'; } $perm = Permissions::getInstance(); $this->assignRef('perm', $perm); $model = VmModel::getModel(); $currentUser = JFactory::getUser(); $task = JRequest::getWord('task', 'edit'); if ($task == 'editshop') { if (Vmconfig::get('multix', 'none') !== 'none') { //Maybe we must check here if the user is vendor and if he has an own id and else map to mainvendor. $userId = 0; } else { if (!class_exists('VirtueMartModelVendor')) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'vendor.php'; } $userId = VirtueMartModelVendor::getUserIdByVendorId(1); } $this->SetViewTitle('STORE'); } else { if ($task == 'add') { $userId = 0; } else { $userId = JRequest::getVar('virtuemart_user_id', 0); if (is_array($userId)) { $userId = $userId[0]; } $this->SetViewTitle('USER'); } } $userId = $model->setId($userId); $layoutName = JRequest::getWord('layout', 'default'); $layoutName = $this->getLayout(); if ($layoutName == 'edit' || $layoutName == 'edit_shipto') { $editor = JFactory::getEditor(); // Get the required helpers $this->loadHelper('shoppergroup'); $this->loadHelper('image'); //$userFieldsModel = VmModel::getModel('userfields'); $userDetails = $model->getUser(); if ($task == 'editshop' && $userDetails->user_is_vendor) { // $model->setCurrent(); if (!empty($userDetails->vendor->vendor_store_name)) { $this->SetViewTitle('STORE', $userDetails->vendor->vendor_store_name); } else { $this->SetViewTitle('STORE', JText::_('COM_VIRTUEMART_NEW_VENDOR')); } $vendorid = $userDetails->virtuemart_vendor_id; } else { $vendorid = 0; $this->SetViewTitle('USER', $userDetails->JUser->get('name')); } $_new = $userDetails->JUser->get('id') < 1; $this->addStandardEditViewCommands($vendorid); // User details $_contactDetails = $model->getContactDetails(); $_groupList = $model->getGroupList(); if (!is_array($_groupList)) { $this->lists['gid'] = '<input type="hidden" name="gid" value="' . $userDetails->JUser->get('gid') . '" /><strong>' . JText::_($_groupList) . '</strong>'; } else { $this->lists['gid'] = JHTML::_('select.genericlist', $_groupList, 'gid', 'size="10"', 'value', 'text', $userDetails->JUser->get('gid')); } $this->lists['canBlock'] = $currentUser->authorize('com_users', 'block user') && $userDetails->JUser->get('id') != $currentUser->get('id'); // Can't block myself $this->lists['canSetMailopt'] = $currentUser->authorize('workflow', 'email_events'); $this->lists['block'] = JHTML::_('select.booleanlist', 'block', 'class="inputbox"', $userDetails->JUser->get('block'), 'COM_VIRTUEMART_YES', 'COM_VIRTUEMART_NO'); $this->lists['sendEmail'] = JHTML::_('select.booleanlist', 'sendEmail', 'class="inputbox"', $userDetails->JUser->get('sendEmail'), 'COM_VIRTUEMART_YES', 'COM_VIRTUEMART_NO'); $this->lists['params'] = $userDetails->JUser->getParameters(true); // Shopper info $this->lists['shoppergroups'] = ShopFunctions::renderShopperGroupList($userDetails->shopper_groups, true); $this->lists['vendors'] = ShopFunctions::renderVendorList($userDetails->virtuemart_vendor_id); $this->lists['custnumber'] = $model->getCustomerNumberById($userDetails->JUser->get('id')); // Shipment address(es) $this->lists['shipTo'] = ShopFunctions::generateStAddressList($this, $model, 'addST'); $new = false; if (JRequest::getInt('new', '0') === 1) { $new = true; } $virtuemart_userinfo_id_BT = $model->getBTuserinfo_id($userId); $userFieldsArray = $model->getUserInfoInUserFields($layoutName, 'BT', $virtuemart_userinfo_id_BT, false); $userFieldsBT = $userFieldsArray[$virtuemart_userinfo_id_BT]; //$this->lists['perms'] = JHTML::_('select.genericlist', Permissions::getUserGroups(), 'perms', '', 'group_name', 'group_name', $userDetails->perms); // Load the required scripts if (count($userFieldsBT['scripts']) > 0) { foreach ($userFieldsBT['scripts'] as $_script => $_path) { JHTML::script($_script, $_path); } } // Load the required stylesheets if (count($userFieldsBT['links']) > 0) { foreach ($userFieldsBT['links'] as $_link => $_path) { JHTML::stylesheet($_link, $_path); } } $this->assignRef('userFieldsBT', $userFieldsBT); $this->assignRef('userInfoID', $virtuemart_userinfo_id_BT); $virtuemart_userinfo_id = JRequest::getString('virtuemart_userinfo_id', '0', ''); $userFieldsArray = $model->getUserInfoInUserFields($layoutName, 'ST', $virtuemart_userinfo_id, false); if ($new) { $virtuemart_userinfo_id = 0; // $userFieldsST = $userFieldsArray[$virtuemart_userinfo_id]; } else { // $userFieldsST = $userFieldsArray[$virtuemart_userinfo_id]; // if(empty($virtuemart_userinfo_id)){ // $virtuemart_userinfo_id = $model->getBTuserinfo_id(); // } } $userFieldsST = $userFieldsArray[$virtuemart_userinfo_id]; $this->assignRef('shipToFields', $userFieldsST); $this->assignRef('shipToId', $virtuemart_userinfo_id); $this->assignRef('new', $new); if (!$_new) { // Check for existing orders for this user $orders = VmModel::getModel('orders'); $orderList = $orders->getOrdersList($userDetails->JUser->get('id'), true); } else { $orderList = null; } if (count($orderList) > 0 || !empty($userDetails->user_is_vendor)) { if (!class_exists('CurrencyDisplay')) { require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'currencydisplay.php'; } $currency = CurrencyDisplay::getInstance(); $this->assignRef('currency', $currency); } // vmdebug('user $userDetails ', $userDetails ); if (!empty($userDetails->user_is_vendor)) { $vendorModel = VmModel::getModel('vendor'); $vendorModel->setId($userDetails->virtuemart_vendor_id); $vendorModel->addImages($userDetails->vendor); $this->assignRef('vendor', $userDetails->vendor); $currencyModel = VmModel::getModel('currency'); $_currencies = $currencyModel->getCurrencies(); $this->assignRef('currencies', $_currencies); } $this->assignRef('userDetails', $userDetails); $this->assignRef('orderlist', $orderList); $this->assignRef('contactDetails', $_contactDetails); $this->assignRef('editor', $editor); } else { JToolBarHelper::divider(); JToolBarHelper::custom('toggle.user_is_vendor.1', 'publish', '', 'COM_VIRTUEMART_USER_ISVENDOR'); JToolBarHelper::custom('toggle.user_is_vendor.0', 'unpublish', '', 'COM_VIRTUEMART_USER_ISNOTVENDOR'); JToolBarHelper::divider(); JToolBarHelper::deleteList(); JToolBarHelper::editListX(); //This is intentionally, creating new user via BE is buggy and can be done by joomla //JToolBarHelper::addNewX(); $this->addStandardDefaultViewLists($model, 'ju.id'); $userList = $model->getUserList(); $this->assignRef('userList', $userList); $pagination = $model->getPagination(); $this->assignRef('pagination', $pagination); $shoppergroupmodel = VmModel::getModel('shopperGroup'); $defaultShopperGroup = $shoppergroupmodel->getDefault(0)->shopper_group_name; $this->assignRef('defaultShopperGroup', $defaultShopperGroup); } parent::display($tpl); }
public function storeVendorData($data) { if ($data['user_is_vendor']) { $vendorModel = VmModel::getModel('vendor'); //TODO Attention this is set now to virtuemart_vendor_id=1, because using a vendor with different id then 1 is not completly supported and can lead to bugs //So we disable the possibility to store vendors not with virtuemart_vendor_id = 1 if (Vmconfig::get('multix', 'none') == 'none') { $data['virtuemart_vendor_id'] = 1; vmdebug('no multivendor, set virtuemart_vendor_id = 1'); } $vendorModel->setId($data['virtuemart_vendor_id']); if (!$vendorModel->store($data)) { vmError('storeVendorData ' . $vendorModel->getError()); vmdebug('Error storing vendor', $vendorModel); return false; } } return true; }
/** * @author Max Milbers * @param */ function check() { if (!empty($this->_slugAutoName)) { $slugAutoName = $this->_slugAutoName; $slugName = $this->_slugName; if (in_array($slugAutoName, $this->_translatableFields)) { $checkTable = $this->_tbl . '_' . VmConfig::$vmlang; } else { $checkTable = $this->_tbl; } if (empty($this->{$slugName})) { // vmdebug('table check use _slugAutoName '.$slugAutoName.' '.$slugName); if (!empty($this->{$slugAutoName})) { $this->{$slugName} = $this->{$slugAutoName}; } else { vmError('VmTable ' . $checkTable . ' Check not passed. Neither slug nor obligatory value at ' . $slugAutoName . ' for auto slug creation is given'); return false; } } //if (JVM_VERSION === 1) $this->$slugName = JFilterOutput::stringURLSafe($this->$slugName); //else $this->$slugName = JApplication::stringURLSafe($this->$slugName); //pro+#'!"§$%&/()=?duct-w-| ||cu|st|omfield-|str<ing> //vmdebug('my slugName '.$slugName,$this->$slugName); $this->{$slugName} = str_replace('-', ' ', $this->{$slugName}); //$config =& JFactory::getConfig(); //$transliterate = $config->get('unicodeslugs'); $unicodeslugs = VmConfig::get('transliterateSlugs', false); if ($unicodeslugs) { $lang = JFactory::getLanguage(); $this->{$slugName} = $lang->transliterate($this->{$slugName}); } // Trim white spaces at beginning and end of alias and make lowercase $this->{$slugName} = trim(JString::strtolower($this->{$slugName})); $this->{$slugName} = str_replace(array('`', '´', "'"), '', $this->{$slugName}); $this->{$slugName} = vRequest::filterUword($this->{$slugName}, '-,_,|', '-'); while (strpos($this->{$slugName}, '--')) { $this->{$slugName} = str_replace('--', '-', $this->{$slugName}); } // Trim dashes at beginning and end of alias $this->{$slugName} = trim($this->{$slugName}, '-'); if ($unicodeslugs) { $this->{$slugName} = rawurlencode($this->{$slugName}); } $valid = $this->checkCreateUnique($checkTable, $slugName); //vmdebug('my Final slugName '.$slugName,$this->$slugName); if (!$valid) { return false; } } foreach ($this->_obkeys as $obkeys => $error) { if (empty($this->{$obkeys})) { if (empty($error)) { $error = 'Serious error cant save ' . $this->_tbl . ' without ' . $obkeys; } else { // $error = get_class($this).' '.vmText::_($error); $error = get_class($this) . ' ' . $error; } $this->setError($error); vmError($error); return false; } } if ($this->_unique) { if (empty($this->_db)) { $this->_db = JFactory::getDBO(); } foreach ($this->_unique_name as $obkeys => $error) { if (empty($this->{$obkeys})) { // vmError(vmText::sprintf('COM_VIRTUEMART_NON_UNIQUE_KEY',$this->$obkeys)); $this->setError($error); vmError('Non unique ' . $this->_unique_name . ' ' . $error); return false; } else { $valid = $this->checkCreateUnique($this->_tbl, $obkeys); if (!$valid) { return false; } } } } if (isset($this->virtuemart_vendor_id)) { $multix = Vmconfig::get('multix', 'none'); //Lets check if the user is admin or the mainvendor $virtuemart_vendor_id = false; if ($multix == 'none' and get_class($this) !== 'TableVmusers') { $this->virtuemart_vendor_id = 1; return true; } else { $loggedVendorId = Permissions::getInstance()->isSuperVendor(); $user = JFactory::getUser(); $admin = $user->authorise('core.admin', 'com_virtuemart'); $tbl_key = $this->_tbl_key; $className = get_class($this); if (strpos($this->_tbl, 'virtuemart_vmusers') === FALSE) { $q = 'SELECT `virtuemart_vendor_id` FROM `' . $this->_tbl . '` WHERE `' . $this->_tbl_key . '`="' . $this->{$tbl_key} . '" '; if (!isset(self::$_cache[md5($q)])) { $this->_db->setQuery($q); $virtuemart_vendor_id = $this->_db->loadResult(); } else { $virtuemart_vendor_id = self::$_cache[md5($q)]; } } else { $q = 'SELECT `virtuemart_vendor_id`,`user_is_vendor` FROM `' . $this->_tbl . '` WHERE `' . $this->_tbl_key . '`="' . $this->{$tbl_key} . '" '; if (!isset(self::$_cache[md5($q)])) { $this->_db->setQuery($q); $vmuser = $this->_db->loadRow(); } else { $vmuser = self::$_cache[md5($q)]; } if ($vmuser and count($vmuser) === 2) { $virtuemart_vendor_id = $vmuser[0]; $user_is_vendor = $vmuser[1]; if ($multix == 'none') { if (empty($user_is_vendor)) { $this->virtuemart_vendor_id = 0; } else { $this->virtuemart_vendor_id = 1; } return true; } else { if (!$admin) { $this->virtuemart_vendor_id = $loggedVendorId; return true; } } } else { //New User //vmInfo('We run in multivendor mode and you did not set any vendor for '.$className.' and '.$this->_tbl);//, Set to mainvendor '.$this->virtuemart_vendor_id } } if (!$admin and !empty($virtuemart_vendor_id) and !empty($loggedVendorId) and $loggedVendorId != $virtuemart_vendor_id) { //vmWarn('COM_VIRTUEMART_NOT_SAME_VENDOR',$loggedVendorId,$virtuemart_vendor_id //vmWarn('Stop try to hack this store, you got logged'); vmdebug('Hacking attempt stopped, logged vendor ' . $loggedVendorId . ' but data belongs to ' . $virtuemart_vendor_id); return false; } else { if (!$admin) { if ($virtuemart_vendor_id) { $this->virtuemart_vendor_id = $virtuemart_vendor_id; vmdebug('Non admin is storing using loaded vendor_id'); } else { //No id is stored, even users are allowed to use for the storage and vendorId, no change } } else { //Admins are allowed to do anything. We just trhow some messages if (!empty($virtuemart_vendor_id) and $loggedVendorId != $virtuemart_vendor_id) { vmdebug('Admin with vendor id ' . $loggedVendorId . ' is using for storing vendor id ' . $this->virtuemart_vendor_id); } else { if (empty($virtuemart_vendor_id)) { if (empty($this->virtuemart_vendor_id)) { if (strpos($this->_tbl, 'virtuemart_vendors') === FALSE and strpos($this->_tbl, 'virtuemart_vmusers') === FALSE) { vmInfo('We run in multivendor mode and you did not set any vendor for ' . $className . ' and ' . $this->_tbl); //$this->virtuemart_vendor_id = 1; } } } } } } } } return true; }
} else { echo JHtml::_('image', 'menu/icon-16-default.png', JText::_('COM_VIRTUEMART_SHOPPERGROUP_DEFAULT'), NULL, true); } } else { ?> <?php } ?> </td> <td><?php echo $published; ?> </td> <?php if (Vmconfig::get('multix', 'none') != 'none' && $this->showVendors) { ?> <td align="left"> <?php echo $row->virtuemart_vendor_id; ?> </td> <?php } ?> <td align="left"> <?php echo $row->virtuemart_shoppergroup_id; ?> </td>
<span class="hasTip" title="<?php echo vmText::_('COM_VIRTUEMART_SHOPPER_FORM_GROUP_PRODUCT_TIP'); ?> "> <?php echo vmText::_('COM_VIRTUEMART_SHOPPER_FORM_GROUP'); ?> </span> </td> <td> <?php echo $this->shoppergroupList; ?> </td> <?php if (Vmconfig::get('multix', 'none') !== 'none') { ?> <td> <?php echo vmText::_('COM_VIRTUEMART_VENDOR'); ?> </td> <td> <?php echo $this->lists['vendors']; ?> </td> <?php } else { echo '<td><td>'; }
<?php echo $cat->category_description; ?> </td> <td> <?php echo $this->catmodel->countProducts($cat->virtuemart_category_id);//ShopFunctions::countProductsByCategory($row->virtuemart_category_id);?> <a href="<?php echo $showProductsLink; ?>">[ <?php echo JText::_('COM_VIRTUEMART_SHOW');?> ]</a> </td> <td align="center" class="order"> <span><?php echo $this->catpagination->orderUpIcon( $i, ($cat->category_parent_id == 0 || $cat->category_parent_id == @$this->categories[$this->rowList[$i - 1]]->category_parent_id), 'orderUp', JText::_('COM_VIRTUEMART_MOVE_UP')); ?></span> <span><?php echo $this->catpagination->orderDownIcon( $i, $nrows, ($cat->category_parent_id == 0 || $cat->category_parent_id == @$this->categories[$this->rowList[$i + 1]]->category_parent_id), 'orderDown', JText::_('COM_VIRTUEMART_MOVE_DOWN')); ?></span> <input class="ordering" type="text" name="order[<?php echo $i?>]" id="order[<?php echo $i?>]" size="5" value="<?php echo $cat->ordering; ?>" style="text-align: center" /> </td> <td align="center"> <?php echo $published;?> </td> <?php if((Vmconfig::get('multix','none')!='none')) { ?><td align="center"> <?php echo $shared; ?> </td> <?php } ?> <td><?php echo $cat->virtuemart_category_id; // echo $product->vendor_name; ?></td> </tr> <?php $k = 1 - $k; } ?> </tbody> <tfoot> <tr>