Пример #1
0
 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;
 }
Пример #2
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;
 }
Пример #3
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');
 }