Example #1
0
 public static function getDefinitions()
 {
     if (is_null(self::$definitions)) {
         jimport('joomla.filesystem.file');
         $definitions = array();
         $types = self::getTypes();
         foreach ($types as $type) {
             $extraField = new K2ExtraFields(array('id' => null, 'type' => '', 'value' => ''));
             $extraField->type = $type;
             $definitions[$type] = $extraField->getDefinition();
         }
         self::$definitions = $definitions;
     }
     return self::$definitions;
 }
 public function render()
 {
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $input = JFactory::getApplication()->input;
     $scope = $input->get('scope', '', 'cmd');
     $resourceId = $input->get('resourceId', 0, 'int');
     $filterId = $input->get('filterId', 0, 'raw');
     if ($scope == 'item') {
         require_once JPATH_ADMINISTRATOR . '/components/com_k2/resources/items.php';
         $item = K2Items::getInstance($resourceId);
         $values = $item->extra_fields;
         $fields = K2HelperExtraFields::getItemExtraFieldsGroups((int) $filterId, $values);
     } else {
         if ($scope == 'category') {
             require_once JPATH_ADMINISTRATOR . '/components/com_k2/resources/categories.php';
             $category = K2Categories::getInstance($resourceId);
             $values = $category->extra_fields;
             $fields = K2HelperExtraFields::getCategoryExtraFieldsGroups($values);
         } else {
             if ($scope == 'user') {
                 require_once JPATH_ADMINISTRATOR . '/components/com_k2/resources/users.php';
                 $user = K2Users::getInstance($resourceId);
                 $values = $user->extra_fields;
                 $fields = K2HelperExtraFields::getUserExtraFieldsGroups($values);
             } else {
                 if ($scope == 'tag') {
                     require_once JPATH_ADMINISTRATOR . '/components/com_k2/resources/tags.php';
                     $tag = K2Tags::getInstance($resourceId);
                     $values = $tag->extra_fields;
                     $fields = K2HelperExtraFields::getTagExtraFieldsGroups($values);
                 }
             }
         }
     }
     echo json_encode($fields);
     return $this;
 }
Example #3
0
 protected function setFormFields(&$form, $row)
 {
     $form->state = K2HelperHTML::state('state', $row->state, false, false, 'radio', true);
     $form->group = K2HelperHTML::extraFieldsGroups('group', $row->group);
     $form->type = K2HelperHTML::extraFieldsTypes('type', $row->type, 'K2_SELECT_TYPE');
     $definitions = K2HelperExtraFields::getDefinitions();
     if ($row->id) {
         $definitions[$row->type] = $row->getDefinition();
     }
     $form->definitions = $definitions;
 }
Example #4
0
 protected function setFormFields(&$form, $row)
 {
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/html.php';
     $form->state = K2HelperHTML::state('state', $row->state, false, false, 'radio', true);
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $form->extraFields = K2HelperExtraFields::getTagExtraFieldsGroups($row->extra_fields);
 }
Example #5
0
 public function getExtraFieldsGroups()
 {
     $groups = array();
     if ($this->id) {
         $groups = K2HelperExtraFields::getCategoryExtraFieldsGroups($this->extra_fields);
     }
     return $groups;
 }
Example #6
0
 public function getExtraFieldsGroups()
 {
     $groups = array();
     if ($this->id) {
         $user = JFactory::getUser($this->id);
         $usergroups = $user->getAuthorisedGroups();
         $groups = K2HelperExtraFields::getUserExtraFieldsGroups($this->extra_fields);
     }
     return $groups;
 }
Example #7
0
 /**
  * Hook for children views to allow them attach fields to the form object.
  * Children views usually should override this method.
  *
  * @return void
  */
 protected function setFormFields(&$_form, $row)
 {
     $language = JFactory::getLanguage();
     $language->load('', JPATH_ADMINISTRATOR);
     $language->load('com_users', JPATH_ADMINISTRATOR);
     // Import JForm
     jimport('joomla.form.form');
     // Determine form name and path
     $formName = 'K2' . ucfirst($this->getName()) . 'Form';
     $formPath = JPATH_ADMINISTRATOR . '/components/com_users/models/forms/user.xml';
     // Convert JRegistry instances to plain object so JForm can bind them
     if ($row->id) {
         $row->params = $row->params->toObject();
     }
     // Get the form instance
     $form = JForm::getInstance($formName, $formPath);
     // Bind values
     $form->bind($row);
     $form->setValue('password', null);
     $form->setValue('password2', null);
     // Attach the JForm fields to the form
     foreach ($form->getFieldsets() as $fieldset) {
         $array = array();
         foreach ($form->getFieldset($fieldset->name) as $field) {
             $tmp = new stdClass();
             $tmp->label = $field->label;
             $tmp->input = $field->input;
             $array[$field->name] = $tmp;
         }
         $name = $fieldset->name;
         $_form->{$name} = $array;
     }
     JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_users/models');
     $model = JModelLegacy::getInstance('User', 'UsersModel');
     if ($row->id) {
         $assignedGroups = $model->getAssignedGroups($row->id);
     } else {
         $assignedGroups = null;
     }
     $_form->groups = JHtml::_('access.usergroups', 'groups', $assignedGroups, true);
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/html.php';
     $_form->gender = K2HelperHTML::gender('gender', $row->gender);
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $_form->extraFields = K2HelperExtraFields::getUserExtraFieldsGroups($row->extra_fields);
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/classes/editor.php';
     $config = JFactory::getConfig();
     $editor = K2Editor::getInstance($config->get('editor'));
     $_form->description = $editor->display('description', $row->description, '100%', '300', '40', '5');
 }
Example #8
0
 protected function setFormFields(&$form, $row)
 {
     $form->state = K2HelperHTML::state('state', $row->state, false, true, 'radio', true);
     $form->language = K2HelperHTML::language('language', $row->language);
     $form->access = JHtml::_('access.level', 'access', $row->access, '', false);
     $form->category = K2HelperHTML::categories('catid', $row->catid, 'K2_SELECT_CATEGORY');
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/classes/editor.php';
     $config = JFactory::getConfig();
     $editor = K2Editor::getInstance($config->get('editor'));
     $params = JComponentHelper::getParams('com_k2');
     if ($params->get('mergeEditors')) {
         $value = trim($row->fulltext) != '' ? $row->introtext . '<hr id="system-readmore" />' . $row->fulltext : $row->introtext;
         $form->text = $editor->display('text', $value, '100%', '300', '40', '5');
     } else {
         $form->introtext = $editor->display('introtext', $row->introtext, '100%', '300', '40', '5', array('readmore'));
         $form->fulltext = $editor->display('fulltext', $row->fulltext, '100%', '300', '40', '5', array('readmore'));
     }
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $form->extraFields = K2HelperExtraFields::getItemExtraFieldsGroups($row->catid, $row->extra_fields);
     $form->mediaProviders = K2HelperHtml::mediaProviders();
     // Associations
     $associations = new stdClass();
     $associations->enabled = JLanguageAssociations::isEnabled();
     $associations->languages = array();
     if ($associations->enabled) {
         $languages = JLanguageHelper::getLanguages('lang_code');
         foreach ($languages as $tag => $language) {
             if (empty($row->language) || $tag != $row->language) {
                 $lang = new stdClass();
                 $lang->title = $language->title;
                 $lang->code = $language->lang_code;
                 $lang->associated = new stdClass();
                 $lang->associated->title = '';
                 $lang->associated->id = '';
                 if (isset($row->associations) && is_array($row->associations) && isset($row->associations[$language->lang_code])) {
                     $associated = $row->associations[$language->lang_code];
                     $lang->associated->title = $associated->title;
                     $lang->associated->id = (int) $associated->id;
                 }
                 $associations->languages[] = $lang;
             }
         }
     }
     $form->associations = $associations;
 }
Example #9
0
 protected function setFormFields(&$form, $row)
 {
     $form->state = K2HelperHTML::state('state', $row->state, false, true, 'radio', true);
     $form->language = K2HelperHTML::language('language', $row->language);
     $form->access = JHtml::_('access.level', 'access', $row->access, '', false);
     $form->parent = K2HelperHTML::categories('parent_id', $row->parent_id, 'K2_NONE', $row->id);
     $form->inheritance = K2HelperHTML::categories('inheritance', $row->inheritance, 'K2_NONE', $row->id, '', false, 'id', true);
     $form->template = K2HelperHTML::template('template', $row->template);
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/classes/editor.php';
     $config = JFactory::getConfig();
     $editor = K2Editor::getInstance($config->get('editor'));
     $form->description = $editor->display('description', $row->description, '100%', '300', '40', '5');
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $form->extraFields = K2HelperExtraFields::getCategoryExtraFieldsGroups($row->extra_fields);
     // Associations
     $associations = new stdClass();
     $associations->enabled = JLanguageAssociations::isEnabled();
     $associations->languages = array();
     if ($associations->enabled) {
         $languages = JLanguageHelper::getLanguages('lang_code');
         foreach ($languages as $tag => $language) {
             if (empty($row->language) || $tag != $row->language) {
                 $lang = new stdClass();
                 $lang->title = $language->title;
                 $lang->code = $language->lang_code;
                 $lang->associated = new stdClass();
                 $lang->associated->title = '';
                 $lang->associated->id = '';
                 if (isset($row->associations) && is_array($row->associations) && isset($row->associations[$language->lang_code])) {
                     $associated = $row->associations[$language->lang_code];
                     $lang->associated->title = $associated->title;
                     $lang->associated->id = (int) $associated->id;
                 }
                 $associations->languages[] = $lang;
             }
         }
     }
     $form->associations = $associations;
 }
Example #10
0
 public static function extraFieldsTypes($name = 'extra_fields_type', $value = null, $none = false, $attributes = '')
 {
     $options = array();
     if ($none) {
         $options[] = JHtml::_('select.option', '', JText::_($none));
     }
     require_once JPATH_ADMINISTRATOR . '/components/com_k2/helpers/extrafields.php';
     $rows = K2HelperExtraFields::getTypes();
     foreach ($rows as $row) {
         $options[] = JHtml::_('select.option', $row, JText::_('K2_EXTRA_FIELD_TYPE_' . strtoupper($row)));
     }
     return JHtml::_('select.genericlist', $options, $name, $attributes, 'value', 'text', $value);
 }