public function edit() { $input = JFactory::getApplication()->input; $id = $input->getInt('id'); $refid = $input->get('refid'); $adapter = JalangHelper::getHelperContent(); if ($adapter) { $linkEdit = $adapter->getEditLink($id); if (!$linkEdit) { JError::raise(E_WARNING, 300, $adapter->getError()); $this->setRedirect(JRoute::_('index.php?option=com_jalang&view=items', false)); return false; } /*$return = JRoute::_('index.php?option=com_jalang&view=items', false); $return = urlencode(base64_encode($return));*/ $linkEdit = JRoute::_($linkEdit . '&jaref=' . $adapter->table . '.' . $refid, false); if ($adapter->edit_context) { $app = JFactory::getApplication(); $this->holdEditId($adapter->edit_context, $id); $app->setUserState($adapter->edit_context . '.data', null); } $this->setRedirect($linkEdit); } else { JError::raise(E_ERROR, 500, JText::_('INVALID_REQUEST')); } }
public function getItem($pk = null) { $input = JFactory::getApplication()->input; $id = $input->getInt('id'); if (!$id) { return false; } $adapter = JalangHelper::getHelperContent(); if (!$adapter) { return false; } $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('*')->from('#__' . $adapter->table)->where($db->quoteName($adapter->primarykey) . '=' . $id); $db->setQuery($query); $row = $db->loadObject(); //get reference value if (count($adapter->reference_fields)) { foreach ($adapter->reference_fields as $field => $table) { $adapter2 = JalangHelperContent::getInstance($table); if ($adapter2) { $query = $db->getQuery(true); $query->select('*')->from('#__' . $adapter2->table)->where($db->quoteName($adapter2->primarykey) . '=' . $row->{$field}); $db->setQuery($query); $row2 = $db->loadObject(); if ($row2) { $row->{$field . '_ref'} = $row2->{$adapter2->title_field}; } } } } return $row; }
/** * Display the view * * @return void */ public function display($tpl = null) { $app = JFactory::getApplication(); $this->item = $this->get('Item'); $adapter = JalangHelper::getHelperContent(); if ($adapter) { $this->primarykey = $adapter->primarykey; $this->alias_field = $adapter->alias_field; $this->translate_fields = $adapter->translate_fields; $this->reference_fields = $adapter->reference_fields; } else { $this->primarykey = null; $this->alias_field = null; $this->translate_fields = array(); $this->reference_fields = array(); } parent::display($tpl); }
/** * Method to get a list of articles. * Overridden to add a check for access levels. * * @return mixed An array of data items on success, false on failure. * @since 1.6.1 */ public function getItems() { $items = parent::getItems(); $app = JFactory::getApplication(); $db = JFactory::getDbo(); $adapter = JalangHelper::getHelperContent(); $translator = new JalangHelperTranslator(); $params = JComponentHelper::getParams('com_jalang'); $language = $app->getUserState('com_jalang.mainlanguage', '*'); $languages = JHtml::_('contentlanguage.existing', true, true); if ($adapter->table_type == 'table') { if (!$language || $language == '*') { $language = JalangHelper::getDefaultLanguage(); } $translator->fromLangTag = $language; $from_table = $translator->getLangTable('#__' . $adapter->table, $language); $filterById = $db->quoteName('st') . '.' . $db->quoteName($adapter->primarykey) . '=%d'; } else { $translator->fromLangTag = $language; $from_table = '#__' . $adapter->table; $filterById = $db->quoteName('c') . '.' . $db->quoteName($adapter->primarykey) . '=%d'; $translator->loadAssociate($adapter->table, $adapter->primarykey, $adapter->associate_context, false); } for ($x = 0, $count = count($items); $x < $count; $x++) { $sourceid = $items[$x]->{$adapter->primarykey}; if ($adapter->table_type == 'table') { foreach ($languages as $cl) { if ($cl->value != $language) { $translator->toLangTag = $cl->value; $translator->loadAssociate($adapter->table, $adapter->primarykey, $adapter->associate_context, true, array(sprintf($filterById, $sourceid))); } } } $items[$x]->associations = isset($translator->aAssociation[$adapter->table][$sourceid]) ? $translator->aAssociation[$adapter->table][$sourceid] : array(); } return $items; }
/** * Returns an array of fields the table can be sorted by * * @return array Array containing the field name to sort by as the key and display text as value * * @since 3.0 */ protected function getSortFields() { $adapter = JalangHelper::getHelperContent(); if (!$adapter) { return array(); } return $adapter->getSortFields(); }