function getObjectInfo($id, $language = null) { $info = new JCommentsObjectInfo(); $routerHelper = JPATH_ROOT . '/components/com_djcatalog2/helpers/route.php'; if (is_file($routerHelper)) { require_once $routerHelper; $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select('a.id, a.alias, a.name, a.created_by'); $query->from('#__djc2_items AS a'); $query->select('c.id AS category_id, c.alias AS category_alias'); $query->join('LEFT', '#__djc2_categories AS c ON c.id = a.cat_id'); $query->where('a.id = ' . (int) $id); $db->setQuery($query); $row = $db->loadObject(); if (!empty($row)) { $slug = $row->alias ? $row->id . ':' . $row->alias : $row->id; $catslug = $row->category_alias ? $row->category_id . ':' . $row->category_alias : $row->category_id; $info->title = $row->name; $info->category_id = $article->category_id; $info->userid = $row->created_by; $info->link = JRoute::_(DJCatalogHelperRoute::getItemRoute($slug, $catslug)); } } return $info; }
private static function makeList(&$html, &$root, $path, $expand, $cid, $level = 0, $show_count = false) { $children = $root->getChildren(); foreach ($children as $child) { $current = $child->id == $cid ? true : false; $parent = count($child->getChildren()) ? true : false; $active = $current || in_array($child->id, $path) ? true : false; $deeper = $parent && $expand ? true : false; $class = 'djc_catid-' . $child->id . ' level' . $level; $class .= $current ? ' current' : ''; $class .= $active ? ' active' : ''; $class .= $parent ? ' parent' : ''; $class .= $deeper ? ' deeper' : ''; $display_name = $child->name; if ($show_count) { if (($count = $child->getProductCount()) !== false) { $display_name = $child->name . ' <small class="djc_category_counter">[' . $count . ']</small>'; } } $html .= '<li class="' . $class . '"><a href="' . JRoute::_(DJCatalogHelperRoute::getCategoryRoute($child->id . ':' . $child->alias), true) . '">' . $display_name . '</a>'; if (($active || $expand) && count($child->getChildren())) { $html .= '<ul>'; $level++; self::makeList($html, $child, $path, $expand, $cid, $level, $show_count); $level--; $html .= '</ul>'; } $html .= '</li>'; } }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $this->params = Djcatalog2Helper::getParams(); $this->state = $this->get('State'); $this->item = $this->get('Item'); if (empty($this->item)) { return JError::raiseError(404, JText::_('COM_DJCATALOG2_ORDER_NOT_FOUND')); return; } if ($user->guest) { $return_url = base64_encode(DJCatalogHelperRoute::getOrderRoute($this->item->id)); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } if ($user->id != $this->item->user_id) { return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); } $this->items = $this->item->items; // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->_prepareDocument(); parent::display($tpl); }
function display($tpl = null) { $app = JFactory::getApplication(); if (JFactory::getUser()->guest) { $return_url = base64_encode(DJCatalogHelperRoute::getOrdersRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } $this->state = $this->get('State'); $this->items = $this->get('Items'); $this->params = Djcatalog2Helper::getParams(); $this->pagination = $this->get('Pagination'); $this->_prepareDocument(); parent::display($tpl); }
function getObjectInfo($id, $language = null) { $info = new JCommentsObjectInfo(); $routerHelper = JPATH_ROOT . '/components/com_djcatalog/helpers/route.php'; if (is_file($routerHelper)) { require_once $routerHelper; $db = JFactory::getDBO(); $db->setQuery('SELECT id, cat_id, name FROM #__djcat_items WHERE id = ' . $id); $row = $db->loadObject(); if (!empty($row)) { $info->title = $row->name; $info->link = JRoute::_(DJCatalogHelperRoute::getItemRoute($row->id, $row->cat_id)); } } return $info; }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $this->state = $this->get('State'); $this->item = $this->get('Item'); $this->form = $this->get('Form'); $this->params = Djcatalog2Helper::getParams(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $authorised = false; if (empty($this->item->id)) { $authorised = $user->authorise('core.create', 'com_djcatalog2'); } else { if ($user->authorise('core.edit', 'com_djcatalog2')) { $authorised = true; } else { $ownerId = (int) $this->item->created_by; if (!$user->guest && $ownerId == $user->id && $user->authorise('core.edit.own', 'com_djcatalog2')) { $authorised = true; } } } if ($authorised !== true) { if ((bool) $user->guest && empty($this->item->id)) { $return_url = base64_encode(DJCatalogHelperRoute::getMyItemsRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } else { JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR')); return false; } } $document = JFactory::getDocument(); JHTML::_('behavior.framework'); JHTML::_('behavior.calendar'); $document->addScriptDeclaration('var djc_joomla_base_url = \'' . JUri::base() . '\''); $document->addScript(JURI::base() . "components/com_djcatalog2/views/itemform/itemform.js"); $document->addScript(JURI::base() . "components/com_djcatalog2/assets/nicEdit/nicEdit.js"); $this->_prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $this->params = Djcatalog2Helper::getParams(); $this->model = $this->getModel(); if ($this->params->get('cart_query_enabled', '1') != '1') { throw new Exception(403, JText::_('JERROR_ALERTNOAUTHOR')); } $auth = $this->params->get('cart_query_registered', '1') == '1' && $user->guest ? false : true; if (!$auth) { $return_url = base64_encode(DJCatalogHelperRoute::getQueryRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } $cart_items = $app->getUserState('com_djcatalog2.cart.items', array()); $this->basket = Djcatalog2HelperCart::getInstance(); $this->items = $this->basket->getItems(); if (empty($this->items)) { $app->redirect(JUri::base(), JText::_('COM_DJCATALOG2_CART_IS_EMPTY')); return true; } $user_profile = Djcatalog2Helper::getUserProfile(); $user = Djcatalog2Helper::getUser(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->form = $this->get('Form'); $data = JArrayHelper::fromObject($user_profile, false); $post_data = (array) $app->getUserState('com_djcatalog2.query.data', array()); if (!empty($post_data)) { foreach ($post_data as $k => $v) { $data[$k] = $v; } } $this->user_valid = $this->model->validate($this->form, array('djcatalog2profile' => $data)); $this->user_profile = $user_profile; $this->user = $user; $this->total = $this->basket->getTotal(); $this->_prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); if ((bool) $user->guest) { $return_url = base64_encode(DJCatalogHelperRoute::getMyItemsRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } JModelLegacy::addIncludePath(JPATH_BASE . DS . 'components' . DS . 'com_djcatalog2' . DS . 'models', 'DJCatalog2Model'); $model = JModelLegacy::getInstance('Items', 'Djcatalog2Model', array('ignore_request' => true)); $this->state = $model->getState(); $this->params = Djcatalog2Helper::getParams(); //$model->setState('list.start', $app->input->get('limitstart', 0)); // TODO //$limitstart = $app->getUserStateFromRequest('com_djcatalog2.myitems.limitstart', 'limitstart', 0); $limitstart = $app->input->get('limitstart', 0); $model->setState('list.start', $limitstart); $model->setState('list.limit', 10); // state 0 means both published and unpublished $model->setState('filter.state', 0); $model->setState('filter.catalogue', false); if (!$user->authorise('core.edit', 'com_djcatalog2') || $this->params->get('fed_myitems_list', '0') == '0') { $model->setState('filter.owner', $user->id); } $ordering = $app->getUserStateFromRequest('com_djcatalog2.myitems.ordering', 'order', 'i.ordering'); $model->setState('list.ordering', $ordering); $order_dir = $app->getUserStateFromRequest('com_djcatalog2.myitems.order_dir', 'dir', 'asc'); $model->setState('list.direction', $order_dir); $search = urldecode($app->input->get('search', '', 'string')); $search = JString::strtolower($search); $model->setState('filter.search', $search); $this->items = $model->getItems(); $this->pagination = $model->getPagination(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->_prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $this->params = Djcatalog2Helper::getParams(); $price_auth = $this->params->get('price_restrict', '0') == '1' && $user->guest ? false : true; if (!$price_auth) { $return_url = base64_encode(DJCatalogHelperRoute::getCartRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } $cart_items = $app->getUserState('com_djcatalog2.cart.items', array()); $this->basket = Djcatalog2HelperCart::getInstance(); $this->items = $this->basket->getItems(); if (empty($this->items)) { $app->redirect(JUri::base(), JText::_('COM_DJCATALOG2_CART_IS_EMPTY')); return true; } $user_profile = Djcatalog2Helper::getUserProfile(); $user = Djcatalog2Helper::getUser(); if (empty($user_profile) || empty($user_profile->id)) { $return_url = base64_encode(DJCatalogHelperRoute::getCheckoutRoute()); $app->setUserState('com_users.edit.profile.redirect', DJCatalogHelperRoute::getCheckoutRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=profile&layout=edit&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_FILLIN_BILLING_DETAILS')); return true; } $this->user_profile = $user_profile; $this->user = $user; $this->total = $this->basket->getTotal(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->_prepareDocument(); parent::display($tpl); }
?> <a class="djc_prev_btn" href="<?php echo JRoute::_(DJCatalogHelperRoute::getItemRoute($this->navigation['prev']->slug, $this->navigation['prev']->catslug)); ?> "><span class="button btn"><?php echo JText::_('COM_DJCATALOG2_PREVIOUS'); ?> </span></a> <?php } ?> <?php if (!empty($this->navigation['next'])) { ?> <a class="djc_next_btn" href="<?php echo JRoute::_(DJCatalogHelperRoute::getItemRoute($this->navigation['next']->slug, $this->navigation['next']->catslug)); ?> "><span class="button btn"><?php echo JText::_('COM_DJCATALOG2_NEXT'); ?> </span></a> <?php } ?> </div> <?php } ?> <?php if (in_array('item', $this->params->get('social_code_views', array())) && $this->params->get('social_code_position', 'top') == 'aft_desc' && $this->params->get('social_code', '') != '') {
} ?> </div> <?php if ((int) $item->available == 1 && $this->params->get('items_show_cart_button', '1') == 1 && ($this->params->get('cart_enabled', false) || $this->params->get('cart_query_enabled', 1))) { echo $this->loadTemplate('addtocart'); } ?> <?php if ($this->params->get('showreadmore_item')) { ?> <div class="clear"></div> <div class="djc_readon"> <a class="btn button readmore" href="<?php echo JRoute::_(DJCatalogHelperRoute::getItemRoute($item->slug, !isset($this->item) || empty($this->item->catslug) ? $item->catslug : $this->item->catslug)); ?> " class="readmore"><?php echo JText::sprintf('COM_DJCATALOG2_READMORE'); ?> </a> </div> <?php } ?> </div> </div> <div class="djc_clear"></div> </div> <?php if ($newrow_close) {
function onContentSearch($text, $phrase = '', $ordering = '', $areas = null) { $app = JFactory::getApplication(); $db = JFactory::getDBO(); $searchText = $text; require_once JPATH_SITE . DS . 'components' . DS . 'com_djcatalog2' . DS . 'helpers' . DS . 'route.php'; if (is_array($areas)) { if (!array_intersect($areas, array_keys($this->onContentSearchAreas()))) { return array(); } } // load plugin params info $plugin = JPluginHelper::getPlugin('search', 'djcatalog2'); $pluginParams = $this->params; $limit = $pluginParams->def('search_limit', 50); $text = trim($text); if ($text == '') { return array(); } $query = $db->getQuery(true); $query->select('image.fullpath AS image, i.id AS id, i.alias as alias, i.name AS title, i.intro_desc AS intro, i.created as created, c.id AS catid, c.name AS category, c.alias as catalias, i.description as text, i.metakey as metakey, i.metadesc as metadesc, p.name as producer_name, "2" as browsernav'); $query->from('#__djc2_items AS i'); $where = ''; $textSearch = array(); switch ($phrase) { case 'exact': $textSearch[] = 'LOWER(i.name) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(i.description) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(i.intro_desc) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(i.metadesc) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(i.metakey) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(c.name) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $textSearch[] = 'LOWER(p.name) LIKE ' . $db->quote('%' . $db->escape($text, true) . '%', false); $optionsSearch = ' select i.id ' . ' from #__djc2_items as i ' . ' inner join #__djc2_items_extra_fields_values_int as efv on efv.item_id = i.id' . ' inner join #__djc2_items_extra_fields as ef on ef.id = efv.field_id and ef.searchable = 1 ' . ' inner join #__djc2_items_extra_fields_options as efo on efo.id = efv.value and lower(efo.value) like ' . $db->quote('%' . $db->escape($text, true) . '%', false) . ' union ' . 'select i.id ' . ' from #__djc2_items as i ' . ' inner join #__djc2_items_extra_fields_values_text as efv on efv.item_id = i.id' . ' inner join #__djc2_items_extra_fields as ef on ef.id = efv.field_id and ef.searchable = 1 and lower(efv.value) like ' . $db->quote('%' . $db->escape($text, true) . '%', false); $query->join('LEFT', '(' . $optionsSearch . ') AS customattribute_search ON customattribute_search.id = i.id'); $textSearch[] = 'i.id = customattribute_search.id'; $where = ' ( ' . implode(' OR ', $textSearch) . ' ) '; break; case 'all': case 'any': default: $words = explode(' ', $text); $textSearches = array(); foreach ($words as $k => $word) { $textSearch = array(); $textSearch[] = 'LOWER(i.name) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(i.description) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(i.intro_desc) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(i.metadesc) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(i.metakey) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(c.name) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $textSearch[] = 'LOWER(p.name) LIKE ' . $db->quote('%' . $db->escape($word, true) . '%', false); $optionsSearch = ' select i.id ' . ' from #__djc2_items as i ' . ' inner join #__djc2_items_extra_fields_values_int as efv on efv.item_id = i.id' . ' inner join #__djc2_items_extra_fields as ef on ef.id = efv.field_id and ef.searchable = 1 ' . ' inner join #__djc2_items_extra_fields_options as efo on efo.id = efv.value and lower(efo.value) like ' . $db->quote('%' . $db->escape($word, true) . '%', false) . ' union ' . 'select i.id ' . ' from #__djc2_items as i ' . ' inner join #__djc2_items_extra_fields_values_text as efv on efv.item_id = i.id' . ' inner join #__djc2_items_extra_fields as ef on ef.id = efv.field_id and ef.searchable = 1 and lower(efv.value) like ' . $db->quote('%' . $db->escape($word, true) . '%', false); $query->join('LEFT', '(' . $optionsSearch . ') AS customattribute_search_' . $k . ' ON customattribute_search_' . $k . '.id = i.id'); $textSearch[] = 'i.id = customattribute_search_' . $k . '.id'; $textSearches[] = implode(' OR ', $textSearch); } $where = '(' . implode($phrase == 'all' ? ') AND (' : ') OR (', $textSearches) . ')'; break; } $query->join('left', '#__djc2_categories AS c ON c.id = i.cat_id'); $query->join('left', '#__djc2_producers AS p ON p.id = i.producer_id'); $query->join('left', '#__djc2_images AS image ON image.item_id = i.id'); $lang = JFactory::getLanguage(); $query->where($where . " AND i.published=1 AND c.published=1 AND image.ordering = 1 AND i.language = '{$lang->getTag()}'"); $query->group('i.id'); switch ($ordering) { case 'alpha': $order = 'i.name ASC'; break; case 'category': case 'popular': case 'newest': case 'oldest': default: $order = 'i.name DESC'; } $query->order($order); $db->setQuery($query, 0, $limit); //echo str_replace('#_','jos',$query); $rows = $db->loadObjectList(); $count = count($rows); for ($i = 0; $i < $count; $i++) { $rows[$i]->href = JRoute::_(DJCatalogHelperRoute::getItemRoute($rows[$i]->id . ':' . $rows[$i]->alias, $rows[$i]->catid . ':' . $rows[$i]->catalias)); $rows[$i]->section = JText::_('PLG_SEARCH_DJCATALOG2_DJCATALOGITEMS') . ': ' . $rows[$i]->category; // because extra attributes are also taken into accout, we have to trick checkNoHTML function $rows[$i]->__term = $searchText; } $return = array(); foreach ($rows as $key => $section) { if (searchHelper::checkNoHTML($section, $searchText, array('title', 'text', 'intro', 'metadesc', 'metakey', 'producer_name', '__term'))) { $return[] = $section; } } return $return; }
?> </div> <?php } ?> <?php if ($this->params->get('show_producers_items_item', 1)) { ?> <a <?php if (JFactory::getApplication()->input->get('tmpl') == 'component') { echo 'target="_blank"'; } ?> class="djc_producer_items_link btn btn-mini button" href="<?php echo JRoute::_(DJCatalogHelperRoute::getCategoryRoute(0) . '&cm=0&pid=' . $this->item->id); ?> "><span><?php echo JText::_('COM_DJCATALOG2_SHOW_PRODUCERS_ITEMS'); ?> </span></a> <?php } ?> <div class="djc_description"> <?php if (JString::strlen(trim($this->item->description)) > 0) { ?> <div class="djc_fulltext"> <?php echo JHTML::_('content.prepare', $this->item->description, $this->params, 'com_djcatalog2.producer.description');
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $this->params = Djcatalog2Helper::getParams(); $model = JModelLegacy::getInstance('Order', 'Djcatalog2Model', array()); $this->setModel($model, true); $this->model = $this->getModel(); if ($this->params->get('cart_enabled', '1') != '1') { throw new Exception(JText::_('JERROR_ALERTNOAUTHOR'), 403); } $auth = $this->params->get('cart_registered', '1') == '1' && $user->guest ? false : true; if (!$auth) { $return_url = base64_encode(DJCatalogHelperRoute::getCheckoutRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } $cart_items = $app->getUserState('com_djcatalog2.cart.items', array()); $this->basket = Djcatalog2HelperCart::getInstance(); foreach ($this->basket->items as $item) { if ($item->_prices['base']['display'] == 0.0 || !$item->onstock || floatval($item->stock) == 0.0) { $app->redirect(JRoute::_(DJCatalogHelperRoute::getCartRoute(), false), JText::sprintf('COM_DJCATALOG2_CHECKOUT_EMPTY_PRICES', JRoute::_('index.php?option=com_djcatalog2&task=cart.clearfree'))); return true; } } $this->items = $this->basket->getItems(); if (empty($this->items)) { $app->redirect(JUri::base(), JText::_('COM_DJCATALOG2_CART_IS_EMPTY')); return true; } if (count($this->items)) { JModelLegacy::addIncludePath(JPATH_BASE . DS . 'components' . DS . 'com_djcatalog2' . DS . 'models', 'DJCatalog2Model'); $itemsModel = JModelLegacy::getInstance('Items', 'Djcatalog2Model', array('ignore_request' => true)); $parents = array(); foreach ($this->items as $item) { if ($item->parent_id > 0) { $parents[] = $item->parent_id; } } if (count($parents) > 0) { $state = $itemsModel->getState(); $itemsModel->setState('list.start', 0); $itemsModel->setState('list.limit', 0); $itemsModel->setState('filter.catalogue', false); $itemsModel->setState('list.ordering', 'i.name'); $itemsModel->setState('list.direction', 'asc'); $itemsModel->setState('filter.parent', '*'); $itemsModel->setState('filter.state', '3'); $itemsModel->setState('filter.item_ids', $parents); $parentItems = $itemsModel->getItems(); foreach ($this->items as $id => $item) { if ($item->parent_id > 0 && isset($parentItems[$item->parent_id])) { $this->items[$id]->parent = $parentItems[$item->parent_id]; } else { $this->items[$id]->parent = false; } } } } $user_profile = Djcatalog2Helper::getUserProfile(); $user = Djcatalog2Helper::getUser(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->form = $this->get('Form'); $data = JArrayHelper::fromObject($user_profile, false); $postOrder = (array) $app->getUserState('com_djcatalog2.order.data', array()); if (!empty($postOrder)) { foreach ($postOrder as $k => $v) { $data[$k] = $v; } } $this->user_valid = $this->model->validate($this->form, array('djcatalog2profile' => $data), 'djcatalog2profile'); $this->billing_valid = $this->model->validate($this->form, array('djcatalog2billing' => $data), 'djcatalog2billing'); $dispatcher = JEventDispatcher::getInstance(); JPluginHelper::importPlugin('djcatalog2payment'); JPluginHelper::importPlugin('djcatalog2delivery'); $deliveryMethods = $model->getDeliveryMethods(); $paymentMethods = $model->getPaymentMethods('*'); $deliveryRes = array(); $paymentRes = array(); foreach ($deliveryMethods as &$deliveryObject) { $params = new JRegistry(); $params->loadString($deliveryObject->params, 'JSON'); $deliveryObject->params = $params; $deliveryRes[$deliveryObject->id] = $dispatcher->trigger('onDJC2CheckoutDetailsDisplay', array('com_djcatalog2.checkout.delivery', $deliveryObject)); } unset($deliveryObject); foreach ($paymentMethods as &$paymentObject) { $params = new JRegistry(); $params->loadString($paymentObject->params, 'JSON'); $paymentObject->params = $params; $paymentRes[$paymentObject->id] = $dispatcher->trigger('onDJC2CheckoutDetailsDisplay', array('com_djcatalog2.checkout.payment', $paymentObject)); } unset($paymentObject); $this->delivery_info = $deliveryRes; $this->payment_info = $paymentRes; $this->user_profile = $user_profile; $this->user = $user; $this->total = $this->basket->getTotal(); $this->product_total = $this->basket->getProductTotal(); $this->_prepareDocument(); parent::display($tpl); }
} else { echo $item->intro_desc; } ?> </div> <?php } ?> </div> <div class="djc_clear"></div> <?php if ($params->get('showreadmore_item')) { ?> <p class="djc_readon"> <a class="btn readmore" href="<?php echo JRoute::_(DJCatalogHelperRoute::getItemRoute($item->slug, $item->catslug)); ?> "><?php echo JText::sprintf('MOD_DJC2_ITEM_READMORE'); ?> </a> </p> <?php } ?> </div> <?php } ?> </div>
public static function _findItem($needles = null) { $app = JFactory::getApplication(); $menus = $app->getMenu('site'); // Prepare the reverse lookup array. if (self::$lookup === null) { self::$lookup = array(); $component = JComponentHelper::getComponent('com_djcatalog2'); $items = $menus->getItems('component_id', $component->id); if (count($items)) { foreach ($items as $item) { if (isset($item->query) && isset($item->query['view'])) { $view = $item->query['view']; if (!isset(self::$lookup[$view])) { self::$lookup[$view] = array(); } if ($view == 'items') { $cid = 0; if (isset($item->query['cid'])) { $cid = $item->query['cid']; } $cid = isset($item->query['cid']) ? (int) $item->query['cid'] : 0; if (isset($item->query['pid']) && (int) $item->query['pid'] > 0) { $cid .= '-' . $item->query['pid']; } self::$lookup[$view][$cid] = $item->id; } else { if ($view == 'producer') { if (isset($item->query['pid'])) { self::$lookup[$view][$item->query['pid']] = $item->id; } } else { if ($view == 'item') { if (isset($item->query['id'])) { self::$lookup[$view][$item->query['id']] = $item->id; } } else { if ($view == 'myitems') { self::$lookup[$view][0] = $item->id; } else { if ($view == 'producers') { self::$lookup[$view][0] = $item->id; } else { self::$lookup[$view][0] = $item->id; } } } } } } } } } if ($needles) { foreach ($needles as $view => $ids) { if (isset(self::$lookup[$view])) { if (is_array($ids)) { foreach ($ids as $id) { if (isset(self::$lookup[$view][$id])) { return self::$lookup[$view][$id]; } } } else { if (isset(self::$lookup[$view][$ids])) { return self::$lookup[$view][$ids]; } } } } } //else { /*$active = $menus->getActive(); if ($active && $active->component == 'com_djcatalog2') { return $active->id; }*/ /*else { $default = $menus->getDefault(); return $default->id; }*/ //} return null; }
/*?> <div class="control-group"> <div class="control-label"> <label for="customer_note"><?php echo JText::_('COM_DJCATALOG2_QUERY_NOTES');?></label> </div> <div class="controls"> <textarea id="customer_note" rows="5" cols="40" name="customer_note" class="inputbox input input-large"></textarea> </div> </div> <?php */ ?> <div class="control-group"> <div class="controls"> <a class="button btn djc_back_to_cart_btn btn-primary" href="<?php echo JRoute::_(DJCatalogHelperRoute::getCartRoute()); ?> "><span><?php echo JText::_('COM_DJCATALOG2_BACK_TO_CART'); ?> </span></a> <input type="submit" value="<?php echo JText::_('COM_DJCATALOG2_CONFIRM_QUERY'); ?> " class="btn btn-success button validate" /> </div> </div> </fieldset>
<?php } ?> <?php } ?> <?php } ?> <?php if ($this->params->get('showreadmore_subcategory')) { ?> <div class="clear"></div> <div class="djc_readon"> <a class="btn button readmore" href="<?php echo JRoute::_(DJCatalogHelperRoute::getCategoryRoute($subcategory->id . ':' . $subcategory->alias)); ?> " class="readmore"><?php echo JText::_('COM_DJCATALOG2_BROWSE'); ?> </a> </div> <?php } ?> </div> </div> </div> <?php if ($newrow_close) { ?>
if ($app->input->get('cid', false, 'string') !== false) { $cid = $app->input->get('cid', false, 'string'); } else { if (isset($active->query['cid'])) { $cid = $active->query['cid']; } } } } } } JURI::reset(); $uri = null; $juri = JURI::getInstance(); if (!$catalogView) { $uri = JURI::getInstance(JRoute::_(DJCatalogHelperRoute::getCategoryRoute($cid) . '&cm=0')); } else { if ($active->id == $menu->getDefault()->id) { $uri = JURI::getInstance($juri->toString()); $temp_query = $uri->getQuery(true); $temp_query['cm'] = '0'; $temp_query['option'] = 'com_djcatalog2'; $temp_query['view'] = 'items'; $temp_query['cid'] = $cid; $temp_query['Itemid'] = $active->id; $uri->setQuery($temp_query); $uri = JURI::getInstance(JRoute::_('index.php?' . $uri->getQuery(false))); } else { $uri = JURI::getInstance($juri->toString()); } }
<?php /* ?> <form action="<?php echo JRoute::_(DJCatalogHelperRoute::getCheckoutRoute());?>" method="post"> <input type="submit" value="<?php echo JText::_('COM_DJCATALOG2_CONFIRM_CART');?>" class="btn button btn-success djc_checkout_btn" /> <input type="hidden" name="option" value="com_djcatalog2" /> <input type="hidden" name="task" value="cart.checkout" /> <?php echo JHtml::_( 'form.token' ); ?> </form> <?php */ ?> <?php if ($this->params->get('cart_query_enabled', '1') == '1') { ?> <form action="<?php echo JRoute::_(DJCatalogHelperRoute::getQueryRoute()); ?> " method="post"> <input type="submit" value="<?php echo JText::_('COM_DJCATALOG2_PROCEED_TO_CONTACT_FORM'); ?> " class="btn button btn-success djc_query_btn" /> <input type="hidden" name="option" value="com_djcatalog2" /> <input type="hidden" name="task" value="cart.query" /> <?php echo JHtml::_('form.token'); ?> </form> <?php } }
protected function _postSaveHook($model, $validData = array()) { $app = JFactory::getApplication(); $params = JComponentHelper::getParams('com_djcatalog2'); $user = JFactory::getUser(); if ((empty($validData['id']) || $validData['id'] == 0) && $user->guest) { $this->setRedirect(JRoute::_(DJCatalogHelperRoute::getCategoryRoute(0), false)); } if ((int) $params->get('fed_notify', 1) == 1 && (empty($validData['id']) || $validData['id'] == 0)) { $recordId = $model->getState($this->context . '.id'); $item = $model->getItem($recordId); $this->_sendEmail($item); } }
protected function _prepareDocument() { $app = JFactory::getApplication(); $menus = $app->getMenu(); $pathway = $app->getPathway(); $title = null; $heading = null; $menu = $menus->getActive(); $id = (int) @$menu->query['cid']; $pid = $app->input->get('pid', null, 'string'); $limitstart = $app->input->get('limitstart', 0, 'int'); if ($menu) { $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); } $title = $this->params->get('page_title', ''); $metakeys = null; $metadesc = null; if ($menu && ($menu->query['option'] != 'com_djcatalog2' || $menu->query['view'] != 'items' || $id != $this->item->id)) { if (!empty($this->item->metatitle)) { $title = $this->item->metatitle; } else { if ($this->item->name && $this->item->id > 0) { $title = $this->item->name; } } $path = array(); if ($this->item->id == 0) { //$path = array(array('title' => $title, 'link' => '')); } else { $path = array(array('title' => $this->item->name, 'link' => '')); } $category = $this->categories->get($this->item->parent_id); if ($category) { while (($menu->query['option'] != 'com_djcatalog2' || $menu->query['view'] == 'item' || $id != $category->id) && $category->id > 0) { $path[] = array('title' => $category->name, 'link' => DJCatalogHelperRoute::getCategoryRoute($category->catslug)); $category = $this->categories->get($category->parent_id); } } $path = array_reverse($path); foreach ($path as $item) { $pathway->addItem($item['title'], $item['link']); } } else { if (!empty($menu)) { if ($this->params->get('menu-meta_description')) { $metadesc = $this->params->get('menu-meta_description'); } if ($this->params->get('menu-meta_keywords')) { $metakeys = $this->params->get('menu-meta_keywords'); } } } if (empty($title)) { $title = $app->getCfg('sitename'); } elseif ($app->getCfg('sitename_pagetitles', 0)) { if ($app->getCfg('sitename_pagetitles', 0) == '2') { $title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename')); } else { $title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title); } } $this->document->setTitle($title); $uri = JFactory::getURI(); $vars = $uri->getQuery(true); unset($vars['order']); unset($vars['dir']); unset($vars['l']); $canonical = DJCatalogHelperRoute::getCategoryRoute($this->item->catslug, $pid); /*if ($limitstart > 0) { $canonical .= '&limitstart='.$limitstart; }*/ if (!empty($vars)) { $canonical .= '&' . $uri->buildQuery($vars); } foreach ($this->document->_links as $key => $headlink) { if ($headlink['relation'] == 'canonical') { unset($this->document->_links[$key]); } } $this->document->addHeadLink(JRoute::_($canonical), 'canonical'); if (!empty($this->item->metadesc)) { $this->document->setDescription($this->item->metadesc); } elseif (!empty($metadesc)) { $this->document->setDescription($metadesc); } if (!empty($this->item->metakey)) { $this->document->setMetadata('keywords', $this->item->metakey); } elseif (!empty($metakeys)) { $this->document->setMetadata('keywords', $metakeys); } if ($app->input->get('filtering', false)) { $this->document->setMetadata('robots', 'noindex, follow'); } else { if ($this->params->get('robots')) { $this->document->setMetadata('robots', $this->params->get('robots')); } } $this->document->addCustomTag('<meta property="og:title" content="' . trim($title) . '" />'); $this->document->addCustomTag('<meta property="og:url" content="' . JRoute::_(DJCatalogHelperRoute::getCategoryRoute($this->item->catslug)) . '" />'); if ($item_images = DJCatalog2ImageHelper::getImages('category', $this->item->id)) { if (isset($item_images[0])) { $this->document->addCustomTag('<meta property="og:image" content="' . $item_images[0]->large . '" />'); //$this->document->setMetadata('og:image', $item_images[0]->large); } } if ($this->params->get('rss_enabled', '1') == '1') { $this->feedlink = JRoute::_(DJCatalogHelperRoute::getCategoryRoute($this->item->catslug, $pid) . '&format=feed&type=rss&limitstart=0'); //$link = '&format=feed&limitstart='; $attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'); $this->document->addHeadLink(JRoute::_(DJCatalogHelperRoute::getCategoryRoute($this->item->catslug, $pid) . '&format=feed&type=rss'), 'alternate', 'rel', $attribs); $attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'); $this->document->addHeadLink(JRoute::_(DJCatalogHelperRoute::getCategoryRoute($this->item->catslug, $pid) . '&format=feed&type=atom'), 'alternate', 'rel', $attribs); } }
protected function allowQuery() { $app = JFactory::getApplication(); $user_profile = Djcatalog2Helper::getUserProfile(); $user = Djcatalog2Helper::getUser(); $params = JComponentHelper::getParams('com_djcatalog2'); if ($params->get('cart_query_enabled', '1') != '1') { throw new Exception(403, JText::_('JERROR_ALERTNOAUTHOR')); } $auth = $params->get('cart_query_registered', '1') == '1' && $user->guest ? false : true; if (!$auth) { $return_url = base64_encode(DJCatalogHelperRoute::getQueryRoute()); $app->redirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return false; } $basket = Djcatalog2HelperCart::getInstance(true); $basket->recalculate(); if (empty($basket) || !$basket->getItems()) { $app->redirect(JUri::base(), JText::_('COM_DJCATALOG2_CART_IS_EMPTY')); return false; } return true; }
protected function _prepareDocument() { $app = JFactory::getApplication(); $menus = $app->getMenu(); $pathway = $app->getPathway(); $title = null; $heading = null; $document = JFactory::getDocument(); $menu = $menus->getActive(); $id = (int) @$menu->query['id']; $cid = (int) @$menu->query['cid']; if ($menu) { $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); } $title = $this->params->get('page_title', ''); $metakeys = null; $metadesc = null; if ($menu && ($menu->query['option'] != 'com_djcatalog2' || $menu->query['view'] == 'items' || $id != $this->item->id)) { if ($this->item->metatitle) { $title = $this->item->metatitle; } else { if ($this->item->name) { $title = $this->item->name; } } $category = $this->categories->get($this->item->cat_id); $path = array(array('title' => $this->item->name, 'link' => '')); while (($menu->query['option'] != 'com_djcatalog2' || $menu->query['view'] == 'items' && $cid != $category->id) && $category->id > 0) { $path[] = array('title' => $category->name, 'link' => DJCatalogHelperRoute::getCategoryRoute($category->catslug)); $category = $this->categories->get($category->parent_id); } $path = array_reverse($path); foreach ($path as $item) { $pathway->addItem($item['title'], $item['link']); } } else { if (!empty($menu)) { if ($this->params->get('menu-meta_description')) { $metadesc = $this->params->get('menu-meta_description'); } if ($this->params->get('menu-meta_keywords')) { $metakeys = $this->params->get('menu-meta_keywords'); } } } if (empty($title)) { $title = $app->getCfg('sitename'); } elseif ($app->getCfg('sitename_pagetitles', 0)) { if ($app->getCfg('sitename_pagetitles', 0) == '2') { $title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename')); } else { $title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title); } } $this->document->setTitle($title); if (!empty($this->item->metadesc)) { $this->document->setDescription($this->item->metadesc); } elseif (!empty($metadesc)) { $this->document->setDescription($metadesc); } if (!empty($this->item->metakey)) { $this->document->setMetadata('keywords', $this->item->metakey); } elseif (!empty($metakeys)) { $this->document->setMetadata('keywords', $metakeys); } if ($this->params->get('robots')) { $this->document->setMetadata('robots', $this->params->get('robots')); } $this->document->addCustomTag('<meta property="og:title" content="' . trim($title) . '" />'); $this->document->addCustomTag('<meta property="twitter:title" content="' . trim($title) . '" />'); if ($metadesc) { $this->document->addCustomTag('<meta property="og:description" content="' . trim($metadesc) . '" />'); $this->document->addCustomTag('<meta property="twitter:description" content="' . trim($metadesc) . '" />'); } $this->document->addCustomTag('<meta property="og:url" content="' . JRoute::_(DJCatalogHelperRoute::getItemRoute($this->item->slug, $this->item->catslug), true, -1) . '" />'); if ($item_images = DJCatalog2ImageHelper::getImages('item', $this->item->id)) { if (isset($item_images[0])) { $this->document->addCustomTag('<meta property="og:image" content="' . $item_images[0]->large . '" />'); $this->document->addCustomTag('<meta property="twitter:image:src" content="' . $item_images[0]->large . '" />'); } } }
protected function _prepareDocument() { $app = JFactory::getApplication(); $menus = $app->getMenu(); $pathway = $app->getPathway(); $title = null; $heading = null; $menu = $menus->getActive(); $cid = (int) @$menu->query['cid']; $pid = (int) @$menu->query['pid']; if ($menu) { $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); } $title = $this->params->get('page_title', ''); $metakeys = null; $metadesc = null; if ($menu && ($menu->query['option'] != 'com_djcatalog2' || $menu->query['view'] != 'producer' || $pid != $this->item->id)) { if ($this->item->metatitle) { $title = $this->item->metatitle; } else { if ($this->item->name) { $title = $this->item->name; } } $path = array(array('title' => $this->item->name, 'link' => '')); foreach ($path as $item) { $pathway->addItem($item['title'], $item['link']); } } else { if (!empty($menu)) { if ($this->params->get('menu-meta_description')) { $metadesc = $this->params->get('menu-meta_description'); } if ($this->params->get('menu-meta_keywords')) { $metakeys = $this->params->get('menu-meta_keywords'); } } } if (empty($title)) { $title = $app->getCfg('sitename'); } elseif ($app->getCfg('sitename_pagetitles', 0)) { if ($app->getCfg('sitename_pagetitles', 0) == '2') { $title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename')); } else { $title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title); } } $this->document->setTitle($title); foreach ($this->document->_links as $key => $headlink) { if ($headlink['relation'] == 'canonical') { unset($this->document->_links[$key]); } } $this->document->addHeadLink(JRoute::_(DJCatalogHelperRoute::getProducerRoute($this->item->prodslug)), 'canonical'); if (!empty($this->item->metadesc)) { $this->document->setDescription($this->item->metadesc); } elseif (!empty($metadesc)) { $this->document->setDescription($metadesc); } if (!empty($this->item->metakey)) { $this->document->setMetadata('keywords', $this->item->metakey); } elseif (!empty($metakeys)) { $this->document->setMetadata('keywords', $metakeys); } if ($this->params->get('robots')) { $this->document->setMetadata('robots', $this->params->get('robots')); } $this->document->addCustomTag('<meta property="og:title" content="' . trim($title) . '" />'); $this->document->addCustomTag('<meta property="og:url" content="' . JRoute::_(DJCatalogHelperRoute::getProducerRoute($this->item->id . ':' . $this->item->alias)) . '" />'); if ($item_images = DJCatalog2ImageHelper::getImages('producer', $this->item->id)) { if (isset($item_images[0])) { $this->document->addCustomTag('<meta property="og:image" content="' . $item_images[0]->large . '" />'); } } }
} else { if ($this->params->get('show_producer_name') == 3 && $item->producer) { ?> <a class="modal" rel="{handler: 'iframe', size: {x: 800, y: 600}}" href="<?php echo JRoute::_(DJCatalogHelperRoute::getProducerRoute($item->prodslug) . '&tmpl=component'); ?> "><span class="djcat_producer"><?php echo $item->producer; ?> </span></a> <?php } else { if ($item->producer) { ?> <a href="<?php echo JRoute::_(DJCatalogHelperRoute::getProducerRoute($item->prodslug)); ?> "><span class="djcat_producer"><?php echo $item->producer; ?> </span></a> <?php } } } ?> <?php } ?> </td> <?php
function getXml() { $app = JFactory::getApplication(); $jinput = $app->input; $this->_cparams = $app->getParams('com_djcatalog2'); $moduleclass_sfx = $jinput->get('moduleclass_sfx', null, 'string'); $mid = (int) $jinput->get('moduleId', null, 'int'); $stitle = $jinput->get('stitle', '1', 'string'); $ltitle = $jinput->get('ltitle', '1', 'string'); $modal = $jinput->get('modal', 1, 'int'); $scattitle = $jinput->get('scattitle', null, 'string'); $sproducer = $jinput->get('sproducer', '0', 'string'); $sprice = $jinput->get('sprice', '0', 'string'); $spag = $jinput->get('spag', null, 'int'); //$orderby = $jinput->get( 'orderby', null, 'get', 'int', 0); //$orderdir = $jinput->get( 'orderdir', 0, 'get', 'int', 0); //$featured_only = $jinput->get( 'featured_only', 0, 'get', 'int', 0); //$featured_first = $jinput->get( 'featured_first', 0, 'get', 'int', 0); $cols = (int) $jinput->get('cols', null, 'int'); $rows = (int) $jinput->get('rows', null, 'int'); //$mainimage = $jinput->get( 'mainimg', 'large', 'get', 'string', 0); $trunc = (int) $jinput->get('trunc', '0', 'int'); $trunclimit = (int) $jinput->get('trunclimit', '0', 'int'); $showreadmore = (int) $jinput->get('showreadmore', '1', 'int'); $readmoretext = $jinput->get('readmoretext', '', 'string'); $readmoretext = $readmoretext != '' ? urldecode($readmoretext) : JText::_('COM_DJCATALOG2_READMORE'); $paginationStart = (int) $jinput->get('pagstart', null, 'int'); $categories = $jinput->get('categories', null, 'string'); $catsw = $jinput->get('catsw', 0, 'int'); $categories = explode('|', $categories); $largewidth = $jinput->get('largewidth', '400', 'int'); $largeheight = $jinput->get('largeheight', '240', 'int'); $largecrop = $jinput->get('largecrop', 1, 'int') ? true : false; $smallwidth = $jinput->get('smallwidth', '90', 'int'); $smallheight = $jinput->get('smallheight', '70', 'int'); $smallcrop = $jinput->get('smallcrop', 1, 'int') ? true : false; $Itemid = $jinput->get('Itemid', 0, 'int'); $path = JURI::base(); $itemsCount = $this->getTotal(); $itemsPerPage = $rows * $cols; $paginationBar = null; //if ($spag == 1) { $paginationBar = '<pagination><![CDATA['; if ($itemsCount > $itemsPerPage && $itemsPerPage > 0) { if ((int) $spag == 1) { for ($i = 0; $i < $itemsCount; $i = $i + $itemsPerPage) { $counter = (int) (($i + $itemsPerPage) / $itemsPerPage); if ($paginationStart == $i) { $active = ' active'; } else { $active = ''; } $paginationBar .= '<span class="btn' . $active . ' button" style="cursor: pointer;" onclick="DJFrontpage_' . $mid . '.loadPage(' . $i . '); return false;">' . $counter . '</span> '; } } else { $prevPage = $paginationStart - $itemsPerPage; $nextPage = $paginationStart + $itemsPerPage; $firstPage = 0; $lastPage = $itemsPerPage * (ceil($itemsCount / $itemsPerPage) - 1); if ($paginationStart == 0) { $prevPage = $lastPage; } if ($paginationStart == $lastPage) { $nextPage = $firstPage; } $paginationBar .= '<span class="djcf_prev_button" style="cursor: pointer;" onclick="DJFrontpage_' . $mid . '.loadPage(' . $prevPage . '); return false;"></span> '; $paginationBar .= '<span class="djcf_next_button" style="cursor: pointer;" onclick="DJFrontpage_' . $mid . '.loadPage(' . $nextPage . '); return false;"></span>'; } } $paginationBar .= ']]></pagination>'; //} $items = $this->getList($paginationStart, $itemsPerPage); $output = '<?xml version="1.0" encoding="utf-8" ?><contents>'; $gallery = ''; for ($i = 0; $i < count($items); $i++) { $title = ''; $readmore = JRoute::_(DJCatalogHelperRoute::getItemRoute($items[$i]->slug, $items[$i]->catslug)); if ($stitle == '1') { if ($ltitle) { $title = '<h3><a href="' . $readmore . '">' . $items[$i]->name . '</a></h3>'; } else { $title = '<h3>' . $items[$i]->name . '</h3>'; } } $cattitle = ''; if ($scattitle == 1) { $cattitle = '<h2>' . $items[$i]->category . '</h2>'; } $producer = ''; if ($sproducer == 1 && $items[$i]->producer) { $producer = '<div class="djc_producer">' . JText::_('COM_DJCATALOG2_PRODUCER') . ': ' . $items[$i]->producer . '</div>'; } $price = ''; if ($sprice == 1 && $items[$i]->price > 0) { if ($items[$i]->special_price) { $price = JText::_('COM_DJCATALOG2_PRICE') . ': <span class="djc_price_old">' . $items[$i]->price . '</span> <span class="djc_price_new">' . $items[$i]->special_price . '</span>'; } else { $price = JText::_('COM_DJCATALOG2_PRICE') . ': <span class="djc_price">' . $items[$i]->price . '</span>'; } $price = '<div class="djc_price">' . $price . '</div>'; } if ($trunc > 0 && $trunclimit > 0) { $items[$i]->intro_desc = DJCatalog2HtmlHelper::trimText($items[$i]->intro_desc, $trunclimit); } else { if ($trunc > 0 && $trunclimit == -1) { $items[$i]->intro_desc = ''; } } $items[$i]->intro_desc = $producer . $price . $items[$i]->intro_desc; $output .= '<content>'; if ($scattitle == 1) { $output .= '<category><![CDATA[' . $cattitle . ']]></category>'; } $output .= '<text><![CDATA[' . $title . '<div class="djf_desc">' . $items[$i]->intro_desc . '</div>'; if ($showreadmore == '1') { $output .= '<a class="btn btn-primary btn-large" href="' . $readmore . '">' . $readmoretext . '</a>'; } $output .= ']]></text>'; $output .= '<image><![CDATA[' . DJCatalog2ImageHelper::getProcessedImage($items[$i]->item_image, $largewidth, $largeheight, !$largecrop, $items[$i]->image_path) . ']]></image>'; if ($modal == 1) { $output .= '<src><![CDATA[' . DJCatalog2ImageHelper::getImageUrl($items[$i]->image_fullpath, 'fullscreen') . ']]></src>'; } else { $output .= '<src><![CDATA[' . $readmore . ']]></src>'; } $output .= '</content>'; if ($items[$i]->item_image) { $gallery .= '<thumb><![CDATA[<div class="djf_cell img-polaroid"><a href="' . $readmore . '" onclick="DJFrontpage_' . $mid . '.loadItem(' . $i . '); return false;"><img src="' . DJCatalog2ImageHelper::getProcessedImage($items[$i]->item_image, $smallwidth, $smallheight, !$smallcrop, $items[$i]->image_path) . '" alt="' . $items[$i]->image_caption . '" /></a></div>]]></thumb>'; } else { $gallery .= '<thumb><![CDATA[]]></thumb>'; } } $all = $output . $gallery . $paginationBar; $all .= '</contents>'; return $all; }
public function publish() { // Check for request forgeries JSession::checkToken('get') or die(JText::_('JINVALID_TOKEN')); $app = JFactory::getApplication(); // Get items to publish from the request. $id = JFactory::getApplication()->input->getInt('id', 0); $data = array('publish' => 1, 'unpublish' => 0); $task = $this->getTask(); $value = JArrayHelper::getValue($data, $task, 0, 'int'); if (!$id) { JLog::add(JText::_('COM_DJCATALOG2_NO_ITEM_SELECTED'), JLog::WARNING, 'jerror'); } else { // Get the model. $model = $this->getModel(); // Make sure the item ids are integers $cid = array($id); JArrayHelper::toInteger($cid); // Publish the items. if (!$model->publish($cid, $value)) { JLog::add($model->getError(), JLog::WARNING, 'jerror'); } else { if ($value == 1) { $ntext = 'COM_DJCATALOG2_ITEM_PUBLISHED'; } else { $ntext = 'COM_DJCATALOG2_ITEM_UNPUBLISHED'; } $this->setMessage(JText::_($ntext)); } } $this->setRedirect(JRoute::_(DJCatalogHelperRoute::getMyItemsRoute(), false)); }
/** * Should return everything - Full rating, list of reviews and add review form * * @param object $row DJ-Catalog2 Object * @param JRegistry $params * @param int $page * @return boolean|Ambigous <boolean, string> */ public function onAfterDJCatalog2DisplayContent(&$row, &$params, $page = 0, $context = 'item') { $app = JFactory::getApplication(); $view = $app->input->get('view'); if ($view != 'item') { return false; } $excluded_categories = $this->params->get('exclude_categories', array()); if (in_array($row->cat_id, $excluded_categories)) { return false; } $excluded_products = explode(',', $this->params->get('exclude_items', '')); if (in_array($row->id, $excluded_products)) { return false; } $group_id = $this->params->get('rating_group', false); if (!$group_id) { return false; } require_once JPath::clean(JPATH_ROOT . '/components/com_djreviews/lib/api.php'); require_once JPath::clean(JPATH_ROOT . '/components/com_djcatalog2/helpers/route.php'); $review = DJReviewsAPI::getInstance(array('group' => $group_id, 'type' => 'com_djcatalog2.item', 'name' => $row->name, 'link' => DJCatalogHelperRoute::getItemRoute($row->slug, $row->catslug), 'id' => $row->id)); return $review->getFullReview(); }
function DJCatalog2ParseRoute($segments) { $app = JFactory::getApplication(); $menu = $app->getMenu(); $activemenu = $menu->getActive(); $db = JFactory::getDBO(); $params = JComponentHelper::getParams('com_djcatalog2'); $catalogViews = array('item', 'items', 'producer', 'itemform', 'myitems', 'producers', 'cart', 'checkout', 'orders', 'order', 'query'); $component_views = array('items' => 'items', 'item' => 'item', 'producer' => 'producer', 'myitems' => 'myitems', 'itemform' => 'itemform', 'producers' => 'producers', 'cart' => 'cart', 'orders' => 'orders', 'order' => 'order', 'checkout' => 'checkout', 'query' => 'query'); foreach ($component_views as $view_name => $seotag) { $view_alias = $params->get('seo_' . $view_name . '_view', $view_name); $view_alias = JApplication::stringURLSafe(trim($view_alias)); if (count($segments)) { if ($segments[0] == $view_alias || str_replace(':', '-', $segments[0]) == $view_alias) { $segments[0] = $view_name; break; } } } $query = array(); if (count($segments)) { if (!in_array($segments[0], $catalogViews)) { if ($activemenu) { $temp = array(); $temp[0] = $activemenu->query['view']; switch ($temp[0]) { case 'item': $temp[1] = @$activemenu->query['id']; foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'items': $temp[1] = @$activemenu->query['cid']; foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'producer': $temp[1] = @$activemenu->query['pid']; foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'myitems': //$temp[1] = @$activemenu->query['id']; foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'producers': foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'itemform': foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; case 'cart': case 'checkout': case 'query': case 'orders': case 'order': foreach ($segments as $k => $v) { $temp[$k + 1] = $v; } break; } $segments = $temp; } } if (isset($segments[0])) { switch ($segments[0]) { case 'items': $query['view'] = 'items'; if (isset($segments[1])) { $query['cid'] = $segments[1] == 'all' ? 0 : DJCatalogHelperRoute::parseAlias($segments[1]); } break; case 'itemstable': $query['view'] = 'itemstable'; if (isset($segments[1])) { $query['cid'] = $segments[1] == 'all' ? 0 : DJCatalogHelperRoute::parseAlias($segments[1]); } break; case 'item': $query['view'] = 'item'; if (count($segments) > 2) { if (isset($segments[1])) { $query['cid'] = $segments[1] == 'all' ? 0 : DJCatalogHelperRoute::parseAlias($segments[1]); } if (isset($segments[2])) { $query['id'] = DJCatalogHelperRoute::parseAlias($segments[2]); } } else { if (isset($segments[1])) { $query['id'] = DJCatalogHelperRoute::parseAlias($segments[1]); if ($activemenu && $activemenu->query['option'] == 'com_djcatalog2' && $activemenu->query['view'] == 'items' && !empty($activemenu->query['cid'])) { $query['cid'] = $activemenu->query['cid']; } } } break; case 'producer': $query['view'] = 'producer'; if (isset($segments[1])) { $query['pid'] = $segments[1]; } break; case 'itemform': $query['view'] = 'itemform'; if (isset($segments[1])) { $query['id'] = $segments[1]; } break; case 'myitems': $query['view'] = 'myitems'; break; case 'producers': $query['view'] = 'producers'; break; case 'cart': $query['view'] = 'cart'; break; case 'orders': $query['view'] = 'orders'; break; case 'checkout': $query['view'] = 'checkout'; break; case 'query': $query['view'] = 'query'; break; case 'order': $query['view'] = 'order'; if (isset($segments[1])) { $query['oid'] = $segments[1]; } break; } } } return $query; }