public function edit($tpl = null) { // disable menu YRequest::setVar('hidemainmenu', 1); // get database $this->db = JFactory::getDBO(); // get request vars $cid = YRequest::getArray('cid.0', '', 'int'); $edit = $cid > 0; // get item if ($edit) { $this->submission = YTable::getInstance('submission')->get($cid); } else { $this->submission = new Submission(); $this->submission->application_id = $this->application->id; $this->submission->access = 1; } // set toolbar items $this->joomla->set('JComponentTitle', $this->application->getToolbarTitle(JText::_('Submission') . ': ' . $this->submission->name . ' <small><small>[ ' . ($edit ? JText::_('Edit') : JText::_('New')) . ' ]</small></small>')); JToolBarHelper::save(); JToolBarHelper::custom('saveandnew', 'saveandnew', 'saveandnew', 'Save & New', false); JToolBarHelper::apply(); JToolBarHelper::cancel('cancel', $edit ? 'Close' : 'Cancel'); ZooHelper::toolbarHelp(); // published select $this->lists['select_published'] = JHTML::_('select.booleanlist', 'state', null, $this->submission->state); // tooltip select $this->lists['select_tooltip'] = JHTML::_('select.booleanlist', 'params[show_tooltip]', null, $this->submission->showTooltip()); // type select $this->types = array(); foreach ($this->application->getTypes() as $type) { // list types with submission layouts only if (count(ZooHelper::getLayouts($this->application, $type->id, 'submission')) > 0) { $form = $this->submission->getForm($type->id); $this->types[$type->id]['name'] = $type->name; $options = array(JHTML::_('select.option', '', '- ' . JText::_('not submittable') . ' -')); $this->types[$type->id]['select_layouts'] = JHTML::_('zoo.layoutList', $this->application, $type->id, 'submission', $options, 'params[form][' . $type->id . '][layout]', '', 'value', 'text', $form->get('layout')); $options = array(JHTML::_('select.option', '', '- ' . JText::_('uncategorized') . ' -')); $this->types[$type->id]['select_categories'] = JHTML::_('zoo.categorylist', $this->application, $options, 'params[form][' . $type->id . '][category]', 'size="1"', 'value', 'text', $form->get('category')); } } // display view $this->getView()->setLayout('edit')->display(); }
public static function layoutList($application, $type_id, $layout_type, $options, $name, $attribs = null, $key = 'value', $text = 'text', $selected = NULL, $idtag = false, $translate = false) { // set options if (is_array($options)) { reset($options); } else { $options = array($options); } $layouts = ZooHelper::getLayouts($application, $type_id, $layout_type); foreach ($layouts as $layout => $metadata) { $options[] = JHTML::_('select.option', $layout, $metadata->get('name')); } return JHTML::_('select.genericlist', $options, $name, $attribs, $key, $text, $selected, $idtag, $translate); // create options foreach ($application->getTemplates() as $template) { $metadata = $template->getMetadata(); $options[] = JHTML::_('select.option', $template->name, $metadata['name']); } return JHTML::_('select.genericlist', $options, $name, $attribs, $key, $text, $selected, $idtag, $translate); }