Beispiel #1
0
 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);
 }
Beispiel #2
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);
 }
Beispiel #3
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);
 }
Beispiel #4
0
 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();
 }
Beispiel #5
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));
 }