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;
 }
Example #2
0
 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>';
     }
 }
Example #3
0
 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);
 }
Example #4
0
 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;
 }
Example #6
0
 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);
 }
Example #7
0
 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);
 }
Example #8
0
 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);
 }
Example #9
0
 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);
 }
Example #10
0
        ?>
						<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', '') != '') {
Example #11
0
    }
    ?>
            </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) {
Example #12
0
 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;
 }
Example #13
0
    ?>
		</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');
Example #14
0
 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);
 }
Example #15
0
        } 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>
Example #16
0
 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;
 }
Example #17
0
/*?>
		<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) {
        ?>
Example #19
0
                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());
    }
}
Example #20
0
	<?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 
    }
}
Example #21
0
 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);
     }
 }
Example #22
0
 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 .= '&amp;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);
     }
 }
Example #23
0
 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;
 }
Example #24
0
 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 . '" />');
         }
     }
 }
Example #25
0
 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 . '" />');
         }
     }
 }
Example #26
0
            } 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 
Example #27
0
 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>&nbsp;';
             }
         } 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>&nbsp;';
             $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>&nbsp;<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;
 }
Example #28
0
 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));
 }
Example #29
0
 /**
  * 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();
 }
Example #30
0
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;
}