function store($new = false) { if (hikashop_getCID('user_id') != hikashop_loadUser()) { return false; } $app = JFactory::getApplication(); $class = hikashop_get('class.user'); $class->fields_whitelist = array('user_id', 'user_partner_activated', 'user_partner_email'); $config =& hikashop_config(); if ($config->get('allow_currency_selection')) { $class->fields_whitelist[] = 'user_currency_id'; } $status = $class->saveForm(); if ($status) { if (!HIKASHOP_J30) { $app->enqueueMessage(JText::_('HIKASHOP_SUCC_SAVED'), 'success'); } else { $app->enqueueMessage(JText::_('HIKASHOP_SUCC_SAVED')); } if (!$new) { JRequest::setVar('cid', $status); } else { JRequest::setVar('cid', 0); } JRequest::setVar('fail', null); } else { $app->enqueueMessage(JText::_('ERROR_SAVING'), 'error'); if (!empty($class->errors)) { foreach ($class->errors as $oneError) { $app->enqueueMessage($oneError, 'error'); } } } return $status; }
static function createCoupon($code, $card, $discountCurrencyId) { if (empty($code)) { return false; } $created = new JDate($card->created); $created = $created->toUnix(); $expires = new JDate($card->expires); $expires = $expires->toUnix(); $class = hikashop_get('class.discount'); $discount = new stdClass(); $discount->discount_id = hikashop_getCID('discount_id'); $discount->discount_start = $created; $discount->discount_end = $expires; $discount->discount_code = $code; $discount->discount_type = 'coupon'; $discount->discount_flat_amount = $card->amount_available; $discount->discount_minimum_order = $card->min_amount_total; $discount->discount_quota = 0; $discount->discount_used_times = 0; $discount->discount_published = 1; $discount->discount_currency_id = $discountCurrencyId; $discount->discount_category_childs = 0; $discount->discount_auto_load = 0; $discount->discount_access = 'all'; $discount->discount_tax_id = 0; $discount->discount_minimum_products = 0; $discount->discount_quota_per_user = 0; $discount->discount_affiliate = 0; $status = $class->save($discount); if ($status) { return self::getCouponData($code); } return false; }
function form() { $warehouse_id = hikashop_getCID('warehouse_id'); $class = hikashop_get('class.warehouse'); if (!empty($warehouse_id)) { $element = $class->get($warehouse_id, true); $task = 'edit'; } else { $element = new stdClass(); $element->warehouse_published = 1; $task = 'add'; } hikashop_setTitle(JText::_($this->nameForm), $this->icon, $this->ctrl . '&task=' . $task . '&warehouse=' . $warehouse_id); $this->toolbar = array('save', array('name' => 'save2new', 'display' => version_compare(JVERSION, '1.7', '>=')), 'apply', 'cancel', '|', array('name' => 'pophelp', 'target' => $this->ctrl . '-listing')); $editor = hikashop_get('helper.editor'); $editor->name = 'data[warehouse][warehouse_description]'; $editor->content = @$element->warehouse_description; $this->assignRef('editor', $editor); $this->assignRef('element', $element); $toggle = hikashop_get('helper.toggle'); $this->assignRef('toggle', $toggle); $warehouse = hikashop_get('type.warehouse'); $this->assignRef('warehouse', $warehouse); $popup = hikashop_get('helper.popup'); $this->assignRef('popup', $popup); }
function form() { $currency_id = hikashop_getCID('currency_id', false); $class = hikashop_get('class.currency'); if (!empty($currency_id)) { $element = $class->get($currency_id); $task = 'edit'; } else { $element = JRequest::getVar('fail'); if (empty($element)) { $element = new stdClass(); $element->currency_published = 1; $element->currency_format = '%i'; $element->currency_rate = 1.0; $element->currency_flat_fee = 0; $element->currency_percent_fee = 0; $class->checkLocale($element); } $task = 'add'; } hikashop_setTitle(JText::_($this->nameForm), $this->icon, $this->ctrl . '&task=' . $task . '¤cy_id=' . $currency_id); $this->toolbar = array('save', 'apply', 'cancel', '|', array('name' => 'pophelp', 'target' => $this->ctrl . '-form')); $this->assignRef('element', $element); $signpos = hikashop_get('type.signpos'); $this->assignRef('signpos', $signpos); }
function options(&$params) { $this->id = $params->get('id'); $this->name = str_replace('[]', '', $params->get('name')); $this->element = $params->get('value'); $this->pricetaxType = hikashop_get('type.pricetax'); $this->discountDisplayType = hikashop_get('type.discount_display'); $this->priceDisplayType = hikashop_get('type.priceDisplay'); $this->arr = array(JHTML::_('select.option', '-1', JText::_('HIKA_INHERIT')), JHTML::_('select.option', '1', JText::_('HIKASHOP_YES')), JHTML::_('select.option', '0', JText::_('HIKASHOP_NO'))); $this->arr[0]->class = 'btn-primary'; $this->arr[1]->class = 'btn-success'; $this->arr[2]->class = 'btn-danger'; $this->type = 'cart'; if (preg_match('/wishlist/', $this->name)) { $this->type = 'wishlist'; } $cid = JRequest::getInt('id', ''); if (empty($cid)) { $cid = hikashop_getCID(); } $modulesClass = hikashop_get('class.modules'); $module = $modulesClass->get($cid); if (empty($this->element)) { $this->element = $module->hikashop_params; } $config = hikashop_config(); $this->default_params = $config->get('default_params'); }
function saveForm() { $entry = new stdClass(); $entry->entry_id = hikashop_getCID('entry_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['entry'] as $column => $value) { hikashop_secureField($column); $entry->{$column} = $safeHtmlFilter->clean($value, 'string'); } $status = $this->save($entry); if (JRequest::getVar('tmpl', '') == 'component') { if ($status) { $url = hikashop_completeLink('order&task=edit&cid=' . $entry->order_id, false, true); echo '<html><head><script type="text/javascript">parent.window.location.href=\'' . $url . '\';</script></head><body></body></html>'; exit; } else { $app = JFactory::getApplication(); if (version_compare(JVERSION, '1.6', '<')) { $session =& JFactory::getSession(); $session->set('application.queue', $app->_messageQueue); } echo '<html><head><script type="text/javascript">javascript: history.go(-1);</script></head><body></body></html>'; exit; } } return $status; }
function apply_table() { if ($this->store()) { echo '<html><head><script type="text/javascript">parent.window.location.href=\'' . hikashop_completeLink('report&task=edit&cid[]=' . hikashop_getCID('widget_id'), false, true) . '\';</script></head><body></body></html>'; exit; } }
function fetchElement($name, $value, &$node, $control_name) { if (!(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_hikashop' . DS . 'helpers' . DS . 'helper.php')) { return 'This module can not work without the Hikashop Component'; } $config =& hikashop_config(); if (!hikashop_isAllowed($config->get('acl_modules_manage', 'all'))) { return 'Access to the HikaShop options of the modules is restricted'; } $id = hikashop_getCID('id'); if (!empty($id)) { $app = JFactory::getApplication(); if ($app->isAmdin()) { $link = JRoute::_('index.php?option=com_hikashop&ctrl=modules&task=edit&cid[]=' . $id); } else { $link = JURI::base() . 'administrator/index.php?option=com_hikashop&ctrl=modules&task=edit&cid[]=' . $id; } $text = '<a title="' . JText::_('HIKASHOP_OPTIONS') . '" href="' . $link . '" >' . JText::_('HIKASHOP_OPTIONS') . '</a>'; $config =& hikashop_config(); $level = $config->get('params_' . $id); } else { $text = JText::_('HIKASHOP_OPTIONS_EDIT'); } return $text; }
function saveForm() { $limit = new stdClass(); $limit->limit_id = hikashop_getCID('limit_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['limit'] as $column => $value) { hikashop_secureField($column); if (is_array($value)) { $value = implode(',', $value); } $limit->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } if (!empty($limit->limit_start)) { $limit->limit_start = hikashop_getTime($limit->limit_start); } if (!empty($limit->limit_end)) { $limit->limit_end = hikashop_getTime($limit->limit_end); } if (empty($limit->limit_id)) { $limit->limit_created = time(); } $limit->limit_modified = time(); $status = $this->save($limit); return $status; }
function saveForm() { $discount = new stdClass(); $discount->discount_id = hikashop_getCID('discount_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); $nameboxes = array('discount_product_id', 'discount_category_id', 'discount_zone_id'); foreach ($formData['discount'] as $column => $value) { hikashop_secureField($column); if (in_array($column, $nameboxes)) { if ($column == 'discount_zone_id') { $discount->{$column} = array(); foreach ($value as $i => $v) { $discount->{$column}[] = $safeHtmlFilter->clean(strip_tags($v), 'string'); } } else { JArrayHelper::toInteger($value); } $discount->{$column} = $value; } else { $discount->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } } foreach ($nameboxes as $namebox) { if (!isset($discount->{$namebox})) { $discount->{$namebox} = ''; } } if (!empty($discount->discount_category_id) && !empty($discount->discount_product_id)) { $app = JFactory::getApplication(); $app->enqueueMessage('If you set both categories and products in a discount/coupon, only the products will be taken into account.', 'error'); } if (!empty($discount->discount_start)) { $discount->discount_start = hikashop_getTime($discount->discount_start); } if (!empty($discount->discount_end)) { $discount->discount_end = hikashop_getTime($discount->discount_end); } if (!empty($discount->discount_id) && !empty($discount->discount_code)) { $query = 'SELECT discount_id FROM ' . hikashop_table('discount') . ' WHERE discount_code = ' . $this->database->Quote($discount->discount_code) . ' LIMIT 1'; $this->database->setQuery($query); $res = $this->database->loadResult(); if (!empty($res) && $res != $discount->discount_id) { $app = JFactory::getApplication(); $app->enqueueMessage(JText::_('DISCOUNT_CODE_ALREADY_USED'), 'error'); JRequest::setVar('fail', $discount); return false; } } $status = $this->save($discount); if (!$status) { JRequest::setVar('fail', $discount); $app = JFactory::getApplication(); $app->enqueueMessage(JText::_('DISCOUNT_CODE_ALREADY_USED')); } return $status; }
protected function getInput() { if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); } if (!function_exists('hikashop_config') && !(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_hikashop' . DS . 'helpers' . DS . 'helper.php')) { return 'This module can not work without the Hikashop Component'; } $config =& hikashop_config(); $id = JRequest::getInt('id'); if (HIKASHOP_J30 && !in_array(@$_REQUEST['option'], array('com_falang', 'com_joomfish'))) { if (preg_match('/hikashopmodule/', $this->name)) { $associated = false; $cid = JRequest::getVar('id', ''); if (empty($cid)) { $cid = hikashop_getCID(); } foreach ($config->values as $name => $values) { if (preg_match('#menu_[0-9]#', $name)) { $params = unserialize(base64_decode($values->config_value)); $modules = array(); if (isset($params['modules'])) { $modules = explode(',', $params['modules']); } if (in_array($cid, $modules)) { $associated = str_replace('menu_', '', $values->config_namekey); break; } } } if ($associated) { $app = JFactory::getApplication(); $app->enqueueMessage(JText::sprintf('USE_MENU_SETTINGS_INSTEAD_OF_ASSOCIATED_ONES', JRoute::_('index.php?option=com_menus&view=item&layout=edit&id=' . $associated))); } $layout = 'modules'; } else { $layout = 'cartmodules'; } $empty = ''; jimport('joomla.html.parameter'); $params = new HikaParameter($empty); $js = ''; $params->set('id', $this->id); $params->set('name', $this->name); $params->set('value', $this->value); $content = hikashop_getLayout($layout, 'options', $params, $js, true); $text = '</div></div>' . $content . '<div><div>'; } elseif (!empty($id)) { if (!hikashop_isAllowed($config->get('acl_modules_manage', 'all'))) { return 'Access to the HikaShop options of the modules is restricted'; } $text = '<a style="float:left;" title="' . JText::_('HIKASHOP_OPTIONS') . '" href="' . JRoute::_('index.php?option=com_hikashop&ctrl=modules&fromjoomla=1&task=edit&cid[]=' . $id) . '" >' . JText::_('HIKASHOP_OPTIONS') . '</a>'; } else { $text = JText::_('HIKASHOP_OPTIONS_EDIT'); } return $text; }
function saveForm() { $category_id = hikashop_getCID('category_id'); if (!empty($category_id)) { $oldCategory = $this->get($category_id); } $fieldsClass = hikashop_get('class.field'); $element = $fieldsClass->getInput('category', $oldCategory); if (empty($element)) { return false; } $main = JRequest::getVar('main_category', 0, '', 'int'); if ($main) { $element->category_parent_id = 0; } else { $element->category_type = ''; } $element->category_description = JRequest::getVar('category_description', '', '', 'string', JREQUEST_ALLOWRAW); $translationHelper = hikashop_get('helper.translation'); $translationHelper->getTranslations($element); $config =& hikashop_config(); if ($config->get('alias_auto_fill', 1) && empty($element->category_alias)) { $this->addAlias($element); if ($config->get('sef_remove_id', 0) && (int) $element->alias > 0) { $element->alias = $config->get('alias_prefix', 'p') . $element->alias; } $element->category_alias = $element->alias; unset($element->alias); } if (!empty($element->category_alias)) { $query = 'SELECT category_id FROM ' . hikashop_table('category') . ' WHERE category_alias=' . $this->database->Quote($element->category_alias); $this->database->setQuery($query); $element_with_same_alias = $this->database->loadResult(); if (!empty($element_with_same_alias) && (empty($element->category_id) || $element_with_same_alias != $element->category_id)) { $app = JFactory::getApplication(); $app->enqueueMessage(JText::_('ELEMENT_WITH_SAME_ALIAS_ALREADY_EXISTS'), 'error'); JRequest::setVar('fail', $element); return false; } } $autoKeyMeta = (int) $config->get('auto_keywords_and_metadescription_filling', 0); if ($autoKeyMeta) { $seoHelper = hikashop_get('helper.seo'); $seoHelper->autoFillKeywordMeta($element, 'category'); } $status = $this->save($element); if ($status) { $translationHelper->handleTranslations('category', $status, $element); $fileClass = hikashop_get('class.file'); $fileClass->storeFiles('category', $status); } else { JRequest::setVar('fail', $element); } return $status; }
function fetchElement($name, $value, &$node, $control_name) { if (!(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_hikashop' . DS . 'helpers' . DS . 'helper.php')) { return 'This plugin can not work without the Hikashop Component'; } $id = hikashop_getCID('id'); if (!empty($id)) { $text = '<a title="' . JText::_('Trigger') . '" href="' . JRoute::_('index.php?option=com_hikashop&ctrl=plugins&task=trigger&function=' . $value . '&cid=' . $id . '&' . hikashop_getFormToken() . '=1') . '" >' . JText::_('Trigger') . '</a>'; } return $text; }
function store($new = false) { $app = JFactory::getApplication(); $cartClass = hikashop_get('class.cart'); $data = JRequest::getVar('data', '0'); $cart_id = hikashop_getCID('cart_id'); $cart_type = $data['cart']['cart_type']; $cart_name = $data['cart']['cart_name']; $cart_user = 0; if (!empty($data['user']['user_id'])) { $cart_user = (int) $data['user']['user_id']; } $cart = new stdClass(); $cart->cart_id = $cart_id; if (!empty($cart_user)) { $userClass = hikashop_get('class.user'); $user = $userClass->get($cart_user); $cart->user_id = $user->user_cms_id; } $cart->cart_modified = time(); $cart->cart_type = $cart_type; $cart->cart_name = $cart_name; if (isset($data['cart']['cart_coupon'])) { $cart->cart_coupon = $data['cart']['cart_coupon']; } $status = $cartClass->save($cart); $formData = JRequest::getVar('item', array(), '', 'array'); if ($status) { if (!empty($formData)) { JRequest::setVar($cart_type . '_id', $cart_id); JRequest::setVar('cart_type', $cart_type); $cartClass->update($formData, 0, 0, 'item'); } } if ($status) { if (!HIKASHOP_J30) { $app->enqueueMessage(JText::_('HIKASHOP_SUCC_SAVED'), 'success'); } else { $app->enqueueMessage(JText::_('HIKASHOP_SUCC_SAVED')); } JRequest::setVar('cid', $status); JRequest::setVar('fail', null); } else { $app->enqueueMessage(JText::_('ERROR_SAVING'), 'error'); if (!empty($class->errors)) { foreach ($class->errors as $oneError) { $app->enqueueMessage($oneError, 'error'); } } } return $status; }
function save_translation() { $category_id = hikashop_getCID('category_id'); $class = hikashop_get('class.category'); $element = $class->get($category_id); if (!empty($element->category_id)) { $class = hikashop_get('helper.translation'); $class->getTranslations($element); $class->handleTranslations('category', $element->category_id, $element); } $document = JFactory::getDocument(); $document->addScriptDeclaration('window.top.hikashop.closeBox();'); }
function getInput() { if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); } if (!function_exists('hikashop_getCID') && !(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_hikashop' . DS . 'helpers' . DS . 'helper.php')) { return 'This plugin can not work without the Hikashop Component'; } $id = hikashop_getCID('extension_id'); if (!empty($id)) { $text = '<fieldset class="radio"><a id="' . $this->id . '" title="' . JText::_('Trigger') . '" href="' . JRoute::_('index.php?option=com_hikashop&ctrl=plugins&task=trigger&function=' . $this->value . '&cid=' . $id . '&' . hikashop_getFormToken() . '=1') . '" >' . JText::_('Trigger') . '</a></fieldset>'; } return $text; }
function saveForm() { $element = new stdClass(); $element->warehouse_id = hikashop_getCID('warehouse_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['warehouse'] as $column => $value) { hikashop_secureField($column); $element->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } $class = hikashop_get('helper.translation'); $class->getTranslations($element); $status = $this->save($element); return $status; }
function form() { $tabs = hikashop_get('helper.tabs'); $email_log_id = hikashop_getCID('email_log_id'); $email_logClass = hikashop_get('class.email_log'); if (!empty($email_log_id)) { $element = $email_logClass->get($email_log_id, true); $task = 'edit'; } hikashop_setTitle(JText::_($this->nameForm), $this->icon, $this->ctrl . '&task=' . $task . '&email_log=' . $email_log_id); $this->toolbar = array('cancel', '|', array('name' => 'pophelp', 'target' => $this->ctrl . '-listing')); $email_order_id = array('order_admin_notification', 'order_creation_notification', 'order_status_notification', 'order_notification', 'payment_notification', 'order_cancel'); $email_product_id = array('contact_request', 'new_comment'); $email_user_id = array('user_account', 'user_account_admin_notification'); if (in_array($element->email_log_name, $email_product_id)) { $productClass = hikashop_get('class.product'); $productClass->getProducts($element->email_log_ref_id); if (isset($productClass->products[$element->email_log_ref_id])) { $fullProduct = $productClass->products[$element->email_log_ref_id]; } elseif (isset($productClass->all_products[$element->email_log_ref_id]) && isset($productClass->all_products[$element->email_log_ref_id]->product_parent_id)) { $productClass->getProducts($productClass->all_products[$element->email_log_ref_id]->product_parent_id); $fullProduct = $productClass->products[$productClass->all_products[$element->email_log_ref_id]->product_parent_id]; } if (isset($fullProduct->product_name) && !empty($fullProduct->product_name)) { $this->assignRef('email_product_name', $fullProduct->product_name); } } if (in_array($element->email_log_name, $email_order_id)) { $orderClass = hikashop_get('class.order'); $fullOrder = $orderClass->get($element->email_log_ref_id); if (isset($fullOrder->order_number) && !empty($fullOrder->order_number)) { $this->assignRef('email_order_number', $fullOrder->order_number); } } if (in_array($element->email_log_name, $email_user_id)) { $userClass = hikashop_get('class.user'); $fullUser = $userClass->get($element->email_log_ref_id); if (isset($fullUser->name) && !empty($fullUser->name)) { $this->assignRef('email_user_name', $fullUser->name); } } $this->assignRef('email_order_id', $email_order_id); $this->assignRef('email_product_id', $email_product_id); $this->assignRef('email_user_id', $email_user_id); $this->assignRef('tabs', $tabs); $this->assignRef('element', $element); }
function saveForm() { $element = new stdClass(); $element->waitlist_id = hikashop_getCID('waitlist_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['waitlist'] as $column => $value) { hikashop_secureField($column); $element->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } if (!empty($element->date)) { $element->date = hikashop_getTime($element->date); } $result = $this->save($element); return $result; }
function edit() { if (JRequest::getInt('fromjoomla')) { $app = JFactory::getApplication(); $context = 'com_modules.edit.module'; $id = hikashop_getCID('id'); if ($id) { $values = (array) $app->getUserState($context . '.id'); $index = array_search((int) $id, $values, true); if (is_int($index)) { unset($values[$index]); $app->setUserState($context . '.id', $values); } } } return parent::edit(); }
function saveForm() { $element = new stdClass(); $element->massaction_id = hikashop_getCID('massaction_id'); $formData = JRequest::getVar('data', array(), '', 'array'); foreach ($formData['massaction'] as $column => $value) { hikashop_secureField($column); $element->{$column} = strip_tags($value); } $this->_retreiveData($element, 'trigger'); $this->_retreiveData($element, 'filter'); $this->_retreiveData($element, 'action'); $class = hikashop_get('helper.translation'); $class->getTranslations($element); $result = $this->save($element); if ($result) { $class->handleTranslations('massaction', $result, $element); JRequest::setVar('cid', $result); } return $result; }
function saveForm() { $element = new stdClass(); $element->banner_id = hikashop_getCID('banner_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['banner'] as $column => $value) { hikashop_secureField($column); $element->{$column} = $safeHtmlFilter->clean($value); if ($column != 'banner_comment') { $element->{$column} = strip_tags($element->{$column}); } } $class = hikashop_get('helper.translation'); $class->getTranslations($element); $result = $this->save($element); if ($result) { $class->handleTranslations('banner', $result, $element); } return $result; }
function saveForm() { $zone = new stdClass(); $zone->zone_id = hikashop_getCID('zone_id'); $formData = JRequest::getVar('data', array(), '', 'array'); $status = false; if (!empty($formData['zone'])) { jimport('joomla.filter.filterinput'); $safeHtmlFilter = JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['zone'] as $column => $value) { hikashop_secureField($column); $zone->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } $status = $this->save($zone); if (!$status) { JRequest::setVar('fail', $zone); $app =& JFactory::getApplication(); $app->enqueueMessage(JText::_('DUPLICATE_ZONE'), 'error'); } } return $status; }
function fetchElement($name, $value, &$node, $control_name) { if (!(include_once rtrim(JPATH_ADMINISTRATOR, DS) . DS . 'components' . DS . 'com_hikashop' . DS . 'helpers' . DS . 'helper.php')) { return 'This module can not work without the Hikashop Component'; } $id = hikashop_getCID('cid'); $plugins = hikashop_get('class.plugins'); $plugin = $plugins->get($id); $name = @$plugin->element; if (@$plugin->folder == 'hikashopshipping') { $group = 'shipping'; } elseif (@$plugin->folder == 'hikashop') { $group = 'plugin'; } else { $group = 'payment'; } $config =& hikashop_config(); if (!hikashop_isAllowed($config->get('acl_plugins_manage', 'all'))) { return 'Access to the HikaShop options of the plugins is restricted'; } $text = '<a style="float:left;" title="' . JText::_('HIKASHOP_OPTIONS') . '" href="' . JRoute::_('index.php?option=com_hikashop&ctrl=plugins&task=listing&name=' . $name . '&plugin_type=' . $group) . '" >' . JText::_('HIKASHOP_OPTIONS') . '</a>'; return $text; }
function saveForm() { $taxation = new stdClass(); $taxation->taxation_id = hikashop_getCID('taxation_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['taxation'] as $column => $value) { hikashop_secureField($column); if (in_array($column, array('zone_namekey', 'taxation_type'))) { if (is_array($value)) { $value = implode(',', $value); if ($column == 'taxation_type' && !empty($value)) { $value = ',' . $value . ','; } } } $taxation->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } if (!isset($taxation->taxation_type)) { $taxation->taxation_type = ''; } if (!isset($taxation->zone_namekey)) { $taxation->zone_namekey = ''; } if (!empty($taxation->taxation_date_start)) { $taxation->taxation_date_start = hikashop_getTime($taxation->taxation_date_start); } if (!empty($taxation->taxation_date_end)) { $taxation->taxation_date_end = hikashop_getTime($taxation->taxation_date_end); } if (!empty($taxation->taxation_site_id) && $taxation->taxation_site_id == '[unselected]') { $taxation->taxation_site_id = ''; } return $this->save($taxation); }
function saveForm() { $element = new stdClass(); $element->badge_id = hikashop_getCID('badge_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter = JFilterInput::getInstance(null, null, 1, 1); $nameboxes = array('badge_discount_id', 'badge_category_id', 'badge_product_id'); foreach ($formData['badge'] as $column => $value) { hikashop_secureField($column); if (in_array($column, $nameboxes)) { JArrayHelper::toInteger($value); $element->{$column} = ',' . implode(',', $value) . ','; } else { $element->{$column} = $safeHtmlFilter->clean(strip_tags($value), 'string'); } } foreach ($nameboxes as $namebox) { if (!isset($element->{$namebox})) { $element->{$namebox} = ''; } } if (!empty($element->badge_start)) { $element->badge_start = hikashop_getTime($element->badge_start); } if (!empty($element->badge_end)) { $element->badge_end = hikashop_getTime($element->badge_end); } $class = hikashop_get('class.file'); $element->badge_image = $class->saveFile(); if (empty($element->badge_image)) { unset($element->badge_image); } $status = $this->save($element); return $status; }
function saveForm() { $element = new stdClass(); $element->characteristic_id = hikashop_getCID('characteristic_id'); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['characteristic'] as $column => $value) { hikashop_secureField($column); $element->{$column} = $safeHtmlFilter->clean($value, 'string'); } $element->values = JRequest::getVar('characteristic', array(), '', 'array'); JArrayHelper::toInteger($element->values); $element->values_ordering = JRequest::getVar('characteristic_ordering', array(), '', 'array'); JArrayHelper::toInteger($element->values); JArrayHelper::toInteger($element->values_ordering); $status = $this->save($element); if (!$status) { JRequest::setVar('fail', $element); } elseif (@$element->characteristic_parent_id == 0) { $this->updateValues($element, $status); } return $status; }
function saveForm() { $app = JFactory::getApplication(); $filter = new stdClass(); $filter->filter_id = hikashop_getCID('filter_id'); $problem = false; $new = empty($filter->filter_id); $formData = JRequest::getVar('data', array(), '', 'array'); jimport('joomla.filter.filterinput'); $safeHtmlFilter =& JFilterInput::getInstance(null, null, 1, 1); foreach ($formData['filter'] as $column => $value) { hikashop_secureField($column); if (is_array($value)) { $value = implode(',', $value); } $filter->{$column} = $safeHtmlFilter->clean($value, 'string'); } if (empty($filter->filter_name)) { $app->enqueueMessage(JText::_('SPECIFY_A_NAME'), 'error'); $problem = true; } if (empty($filter->filter_id)) { $filter->filter_namekey = $filter->filter_name; $search = explode(",", "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u"); $replace = explode(",", "c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u"); $test = str_replace($search, $replace, $filter->filter_namekey); $filter->filter_namekey = preg_replace('#[^a-z0-9_-]#i', '', $test); if (empty($test)) { $filter->filter_namekey = 'filter'; } $query = 'SELECT MAX(`filter_id`) FROM ' . hikashop_table('filter'); $this->database->setQuery($query); $last_pid = (int) $this->database->loadResult() + 1; $filter->filter_namekey .= '_' . $last_pid; } if ($formData['filter']['filter_type'] == 'text') { $value = $safeHtmlFilter->clean(@$formData['filter']['filter_data_text'], 'array'); $filter->filter_data = serialize($value); } else { if ($formData['filter']['filter_type'] == 'cursor') { $value = $safeHtmlFilter->clean(@$formData['filter']['filter_data_cursor'], 'string'); $filter->filter_data = serialize($value); } else { $value = $safeHtmlFilter->clean(@$formData['filter']['filter_data'], 'string'); $filter->filter_data = serialize($value); } } if ($formData['filter']['filter_type'] == 'checkbox' && $formData['filter']['filter_data'] == 'sort') { $app->enqueueMessage(JText::sprintf('NOT_COMPAT_WITH_SORTING', JText::_('FIELD_CHECKBOX'), JText::_('FIELD_RADIO'))); $filter->filter_type = 'radio'; } if ($formData['filter']['filter_type'] == 'multipledropdown' && $formData['filter']['filter_data'] == 'sort') { $app->enqueueMessage(JText::sprintf('NOT_COMPAT_WITH_SORTING', JText::_('FIELD_MULTIPLEDROPDOWN'), JText::_('FIELD_SINGLEDROPDOWN'))); $filter->filter_type = 'singledropdown'; } if (($formData['filter']['filter_type'] == 'checkbox' || $formData['filter']['filter_type'] == 'radio' || $formData['filter']['filter_type'] == 'cursor') && @$formData['filter']['title_position'] == 'inside') { $app->enqueueMessage(JText::_('NO_TITLE_INSIDE')); $filter->filter_options['title_position'] = 'top'; } else { $filter->filter_options['title_position'] = $safeHtmlFilter->clean(@$formData['filter']['title_position'], 'string'); } if (empty($formData['filter']['filter_currencies']) && $formData['filter']['filter_data'] == 'price' && $formData['filter']['filter_type'] != 'text' && $formData['filter']['filter_type'] != 'cursor') { $app->enqueueMessage(JText::_('NO_CURRENCY_SELECTED')); $formData['filter']['filter_currencies'] = array(0 => 1); } if (empty($formData['filter']['filter_category_id'])) { $filter->filter_category_id = ''; } if ($formData['filter']['filter_data'] == 'custom_field') { $found = false; if (!empty($formData['filter']['custom_field'])) { $filters = ''; if (!empty($formData['filter']['filter_category_id'])) { if ($formData['filter']['filter_category_childs']) { $categories_filter = array(); $categoryClass = hikashop_get('class.category'); $childs = $categoryClass->getChildren($formData['filter']['filter_category_id'], true); foreach ($childs as $cat) { $categories_filter[] = 'field_categories LIKE \'%,' . $cat->category_id . ',%\''; } $filters = implode(' OR ', $categories_filter); } if (!is_array($formData['filter']['filter_category_id'])) { $formData['filter']['filter_category_id'] = array($formData['filter']['filter_category_id']); } foreach ($formData['filter']['filter_category_id'] as $category_id) { if (!empty($filters)) { $filters .= 'OR '; } $filters .= 'field_categories LIKE \'%,' . (int) $category_id . ',%\''; } } if (!empty($filters)) { $filters .= ' OR '; } $database = JFactory::getDBO(); $database->setQuery('SELECT * FROM ' . hikashop_table('field') . ' WHERE (' . $filters . 'field_categories LIKE "all") AND field_table IN ("product") AND field_published=1'); $fields = $database->loadObjectList('field_realname'); if (!empty($fields)) { foreach ($fields as $field) { if ($field->field_namekey == $formData['filter']['custom_field']) { $filter->filter_options['custom_field'] = $safeHtmlFilter->clean($formData['filter']['custom_field'], 'string'); $found = true; break; } } } } if (!$found) { $app->enqueueMessage(JText::_('CUSTOM_FIELD_NOT_AVAILABLE_FOR_CATEGORY')); if (!empty($fields)) { $fields = reset($fields); $filter->filter_options['custom_field'] = $fields->field_namekey; } else { $filter->filter_options['custom_field'] = ''; } } } $filterValues = JRequest::getVar('filter_values', array(), '', 'array'); if (!empty($filterValues)) { $filterValuesFinal = array(); foreach ($filterValues['value'] as $key => $value) { if (is_numeric($value)) { $filterValuesFinal[] = $safeHtmlFilter->clean($key, 'string') . '::' . $safeHtmlFilter->clean($value, 'string'); } } $filter->filter_value = implode("\n", $filterValuesFinal); } $filter->filter_options['column_width'] = $safeHtmlFilter->clean($formData['filter']['column_width'], 'string'); if (!empty($formData['filter']['filter_size'])) { $filter->filter_options['filter_size'] = $safeHtmlFilter->clean($formData['filter']['filter_size'], 'string'); } else { $filter->filter_options['filter_size'] = 1; } if ($formData['filter']['filter_type'] == 'cursor') { $filter->filter_options['cursor_number'] = $safeHtmlFilter->clean($formData['filter']['cursor_number'], 'string'); if (empty($formData['filter']['cursor_min'])) { $formData['filter']['cursor_min'] = '0'; } if (!strlen($formData['filter']['cursor_max']) || $formData['filter']['cursor_min'] == $formData['filter']['cursor_max']) { $app->enqueueMessage(JText::_('MIN_MAX_NOT_SET'), 'error'); $problem = true; } $filter->filter_options['cursor_min'] = $safeHtmlFilter->clean($formData['filter']['cursor_min'], 'string'); $filter->filter_options['cursor_max'] = $safeHtmlFilter->clean($formData['filter']['cursor_max'], 'string'); $filter->filter_options['cursor_step'] = $safeHtmlFilter->clean($formData['filter']['cursor_step'], 'string'); $filter->filter_options['cursor_effect'] = $safeHtmlFilter->clean($formData['filter']['cursor_effect'], 'string'); $filter->filter_options['cursor_width'] = $safeHtmlFilter->clean($formData['filter']['cursor_width'], 'string'); $filter->filter_options['cursor_width'] = $safeHtmlFilter->clean($formData['filter']['cursor_width'], 'string'); $filter->filter_options['title_position'] = $safeHtmlFilter->clean($formData['filter']['title_position_cursor'], 'string'); } if (!empty($formData['filter']['defined_limits'])) { $filter->filter_options['defined_limits'] = $safeHtmlFilter->clean(@$formData['filter']['defined_limits'], 'string'); } if ($formData['filter']['filter_data'] == 'price') { $filter->filter_options['currencies'] = $safeHtmlFilter->clean(@$formData['filter']['filter_currencies'], 'array'); } if ($formData['filter']['filter_type'] == 'text') { $filter->filter_options['max_char'] = $safeHtmlFilter->clean($formData['filter']['max_char'], 'string'); $filter->filter_options['textBoxSize'] = $safeHtmlFilter->clean($formData['filter']['textBoxSize'], 'string'); $filter->filter_options['searchProcessing'] = $safeHtmlFilter->clean($formData['filter']['searchProcessing'], 'string'); } if ($formData['filter']['filter_data'] == 'characteristic') { $filter->filter_options['filter_charac'] = $safeHtmlFilter->clean($formData['filter']['filter_charac'], 'string'); } if ($formData['filter']['filter_data'] == 'information' || $formData['filter']['filter_type'] == 'cursor') { if ($formData['filter']['product_information'] == 'weight' && $formData['filter']['filter_type'] != 'cursor' || $formData['filter']['filter_data_cursor'] == 'weight' && $formData['filter']['filter_type'] == 'cursor') { $filter->filter_options['information_unit'] = $safeHtmlFilter->clean($formData['filter']['weight_unit'], 'string'); } else { $filter->filter_options['information_unit'] = $safeHtmlFilter->clean($formData['filter']['dimension_unit'], 'string'); } } if ($formData['filter']['filter_type'] != 'cursor') { $filter->filter_options['product_information'] = $safeHtmlFilter->clean($formData['filter']['product_information'], 'string'); } else { $filter->filter_options['product_information'] = $safeHtmlFilter->clean($formData['filter']['filter_data'], 'string'); } $filter->filter_options['button_align'] = $safeHtmlFilter->clean($formData['filter']['button_align'], 'string'); if ($formData['filter']['filter_data'] == 'sort') { if (isset($formData['filter']['sort_by'])) { $filter->filter_options['sort_by'] = $safeHtmlFilter->clean($formData['filter']['sort_by'], 'array'); } else { $app->enqueueMessage(JText::_('CHOOSE_SORT_OPTIONS'), 'error'); $problem = true; } } $filter->filter_options['parent_category_id'] = $safeHtmlFilter->clean($formData['filter']['parent_category_id'], 'string'); unset($filter->column_width); unset($filter->title_position); unset($filter->filter_size); unset($filter->cursor_number); unset($filter->cursor_min); unset($filter->cursor_max); unset($filter->filter_currencies); unset($filter->max_char); unset($filter->defined_limits); unset($filter->filter_charac); unset($filter->sort_by); unset($filter->product_information); unset($filter->custom_field); unset($filter->filter_data_text); unset($filter->filter_data_cursor); unset($filter->button_align); unset($filter->dimension_unit); unset($filter->weight_unit); unset($filter->information_unit); unset($filter->parent_category_id); unset($filter->textBoxSize); unset($filter->cursor_step); unset($filter->cursor_effect); unset($filter->cursor_width); unset($filter->title_position_cursor); unset($filter->searchProcessing); if ($problem) { JRequest::setVar('fail', $filter); } else { $status = $this->save($filter); if ($new && $status) { $orderClass = hikashop_get('helper.order'); $orderClass->pkey = 'filter_id'; $orderClass->table = 'filter'; $orderClass->orderingMap = 'filter_ordering'; $orderClass->reOrder(); } JRequest::setVar('filter_id', $filter->filter_id); return $status; } return false; }
function &_order($type) { $order_id = hikashop_getCID('order_id'); $app = JFactory::getApplication(); if (empty($order_id)) { $order_id = $app->getUserState('com_hikashop.order_id'); } if (!empty($order_id)) { $class = hikashop_get('class.order'); $order = $class->loadFullOrder($order_id, $type == 'order' ? true : false); } if (empty($order)) { $app->redirect(hikashop_completeLink('order&task=listing', false, true)); } $config =& hikashop_config(); $this->assignRef('config', $config); $store = str_replace(array("\r\n", "\n", "\r"), array('<br/>', '<br/>', '<br/>'), $config->get('store_address', '')); if (JText::_($store) != $store) { $store = JText::_($store); } if (!empty($order->order_payment_id)) { $pluginsPayment = hikashop_get('type.plugins'); $pluginsPayment->type = 'payment'; $this->assignRef('payment', $pluginsPayment); } if (!empty($order->order_shipping_id)) { $pluginsShipping = hikashop_get('type.plugins'); $pluginsShipping->type = 'shipping'; $this->assignRef('shipping', $pluginsShipping); $shippingClass = hikashop_get('class.shipping'); $this->assignRef('shippingClass', $shippingClass); if (empty($order->order_shipping_method)) { $shippings_data = array(); $shipping_ids = explode(';', $order->order_shipping_id); foreach ($shipping_ids as $key) { $shipping_data = ''; list($k, $w) = explode('@', $key); $shipping_id = $k; if (isset($order->shippings[$shipping_id])) { $shipping = $order->shippings[$shipping_id]; $shipping_data = $shipping->shipping_name; } else { foreach ($order->products as $order_product) { if ($order_product->order_product_shipping_id == $key) { if (!is_numeric($order_product->order_product_shipping_id)) { $shipping_name = $this->getShippingName($order_product->order_product_shipping_method, $shipping_id); $shipping_data = $shipping_name; } else { $shipping_method_data = $this->shippingClass->get($shipping_id); $shipping_data = $shipping_method_data->shipping_name; } break; } } if (empty($shipping_data)) { $shipping_data = '[ ' . $key . ' ]'; } } $shippings_data[] = $shipping_data; } $order->order_shipping_method = $shippings_data; } } $this->assignRef('store_address', $store); $this->assignRef('element', $order); $this->assignRef('order', $order); $this->assignRef('invoice_type', $type); $display_type = 'frontcomp'; $this->assignRef('display_type', $display_type); $currencyClass = hikashop_get('class.currency'); $this->assignRef('currencyHelper', $currencyClass); $fieldsClass = hikashop_get('class.field'); $this->assignRef('fieldsClass', $fieldsClass); if (is_string($order->order_shipping_method)) { $currentShipping = hikashop_import('hikashopshipping', $order->order_shipping_method); } else { $currentShipping = hikashop_import('hikashopshipping', reset($order->order_shipping_method)); } $this->assignRef('currentShipping', $currentShipping); $fields = array(); if (hikashop_level(2)) { $null = null; $fields['entry'] = $fieldsClass->getFields('frontcomp', $null, 'entry'); $fields['item'] = $fieldsClass->getFields('frontcomp', $null, 'item'); $fields['order'] = $fieldsClass->getFields('', $null, 'order'); } $this->assignRef('fields', $fields); return $order; }
function form() { $app = JFactory::getApplication(); $doc = JFactory::getDocument(); $fieldid = hikashop_getCID('field_id'); $fieldsClass = hikashop_get('class.field'); if (!empty($fieldid)) { $field = $fieldsClass->getField($fieldid); $data = null; $allFields = $fieldsClass->getFields('', $data, $field->field_table); } else { $field = new stdClass(); if (hikashop_level(1)) { $field->field_table = $app->getUserStateFromRequest($this->paramBase . ".filter_table", 'filter_table', 'product', 'string'); } else { $field->field_table = 'address'; } $field->field_published = 1; $field->field_type = 'text'; $field->field_backend = 1; $allFields = null; } $this->assignRef('allFields', $allFields); $fieldTitle = ''; if (!empty($field->field_id)) { $fieldTitle = ' : ' . $field->field_namekey; } hikashop_setTitle(JText::_('FIELD') . $fieldTitle, 'field', 'field&task=edit&field_id=' . $fieldid); $jsDrop = ''; if (HIKASHOP_BACK_RESPONSIVE && $app->isAdmin()) { $jsDrop = 'jQuery(input3).chosen();'; } hikashop_loadJslib('jquery'); $script = ' function addLine() { window.hikashop.dupRow("hikashop_field_values_table_template", { "TITLE":"field_values[title][]", "VALUE":"field_values[value][]", "DISABLED":"field_values[disabled][]" }) } function setVisible(value){ if(value=="product" || value=="item" || value=="category"){ document.getElementById(\'category_field\').style.display = ""; }else{ document.getElementById(\'category_field\').style.display = \'none\'; } }'; $doc->addScriptDeclaration($script); $this->toolbar = array('save', 'apply', 'cancel', '|', array('name' => 'pophelp', 'target' => 'field-form')); $this->assignRef('field', $field); $this->assignRef('fieldsClass', $fieldsClass); $fieldType = hikashop_get('type.fields'); $this->assignRef('fieldtype', $fieldType); $zoneType = hikashop_get('type.zone'); $this->assignRef('zoneType', $zoneType); $allowType = hikashop_get('type.allow'); $this->assignRef('allowType', $allowType); $displayOptions = array(); $this->assignRef('displayOptions', $displayOptions); if (hikashop_level(1)) { $tabletype = hikashop_get('type.table'); $this->assignRef('tabletype', $tabletype); } if (hikashop_level(2)) { $limitParent = hikashop_get('type.limitparent'); $this->assignRef('limitParent', $limitParent); if (!empty($field->field_options['product_id'])) { $product = hikashop_get('class.product'); $element = $product->get($field->field_options['product_id']); $this->assignRef('element', $element); } } $categories = array(); if (isset($this->field->field_categories)) { $this->field->field_categories = $this->field->field_categories; $this->categories = explode(",", $this->field->field_categories); unset($this->categories[0]); unset($this->categories[count($this->categories)]); if (!empty($this->categories)) { foreach ($this->categories as $k => $cat) { if (!isset($categories[$k])) { $categories[$k] = new stdClass(); } $categories[$k]->category_id = $cat; } $db = JFactory::getDBO(); $db->setQuery('SELECT * FROM ' . hikashop_table('category') . ' WHERE category_id IN (' . implode(',', $this->categories) . ')'); $cats = $db->loadObjectList('category_id'); foreach ($this->categories as $k => $cat) { if (!empty($cats[$cat])) { $categories[$k]->category_name = $cats[$cat]->category_name; } else { $categories[$k]->category_name = JText::_('CATEGORY_NOT_FOUND'); } } } $this->categories = $categories; } JHTML::_('behavior.modal'); $popup = hikashop_get('helper.popup'); $this->assignRef('popup', $popup); $nameboxType = hikashop_get('type.namebox'); $this->assignRef('nameboxType', $nameboxType); JPluginHelper::importPlugin('hikashop'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onCustomfieldEdit', array(&$field, &$this)); }