function display($cachable = true, $urlparams = null) { $app = JFactory::getApplication(); $view = $app->input->get('view'); $id = $app->input->getInt('id'); if ($view == 'itemform' && !$this->checkEditId('com_djcatalog2.edit.itemform', $id)) { $app->redirect(JRoute::_(DJCatalogHelperRoute::getMyItemsRoute(), false), JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id)); return true; } $noncachable = array('itemform', 'myitems', 'cart', 'order', 'orders', 'quote'); if (in_array($view, $noncachable)) { $cachable = false; } DJCatalog2ThemeHelper::setThemeAssets(); $urlparams = array('id' => 'STRING', 'cid' => 'STRING', 'pid' => 'STRING', 'aid' => 'STRING', 'search' => 'STRING', 'task' => 'STRING', 'order' => 'STRING', 'dir' => 'STRING', 'cm' => 'INT', 'l' => 'STRING', 'Itemid' => 'INT', 'limit' => 'UINT', 'limitstart' => 'UINT', 'start' => 'UINT', 'lang' => 'CMD', 'tmpl' => 'CMD', 'ind' => 'RAW', 'template' => 'STRING', 'price_from' => 'STRING', 'price_to' => 'STRING', 'type' => 'STRING', 'print' => 'INT', 'pdf' => 'INT', 'layout' => 'STRING', 'ms_unit' => 'STRING', 'ms_radius' => 'INT', 'mapsearch' => 'STRING', 'eid' => 'STRING', 'ecid' => 'STRING'); $db = JFactory::getDbo(); $db->setQuery('select alias from #__djc2_items_extra_fields where type=\'checkbox\' or type=\'radio\' or type=\'select\''); $extra_fields = $db->loadColumn(); if (count($extra_fields) > 0) { foreach ($extra_fields as $extra_field) { $urlparams['f_' . $extra_field] = 'RAW'; // stupid, stupid, stupid me $urlparams[str_replace('-', '_', 'f_' . $extra_field)] = 'RAW'; } } parent::display($cachable, $urlparams); }
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(); 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 add() { $user = JFactory::getUser(); if ((bool) $user->guest && !$this->allowAdd()) { $return_url = base64_encode(DJCatalogHelperRoute::getMyItemsRoute() . '&task=itemform.add'); $this->setRedirect(JRoute::_('index.php?option=com_users&view=login&return=' . $return_url, false), JText::_('COM_DJCATALOG2_PLEASE_LOGIN')); return true; } return parent::add(); }
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)); }