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; }
public function getExtraFieldsGroups() { $groups = array(); if ($this->id) { $user = JFactory::getUser($this->id); $usergroups = $user->getAuthorisedGroups(); $groups = K2HelperExtraFields::getUserExtraFieldsGroups($this->extra_fields); } return $groups; }
/** * 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'); }