[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package Joomla.API 5 * @subpackage com_users 6 * 7 * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> 8 * @license GNU General Public License version 2 or later; see LICENSE.txt 9 */ 10 11 namespace Joomla\Component\Users\Api\View\Users; 12 13 use Joomla\CMS\MVC\View\JsonApiView as BaseApiView; 14 use Joomla\CMS\Router\Exception\RouteNotFoundException; 15 use Joomla\Component\Fields\Administrator\Helper\FieldsHelper; 16 17 // phpcs:disable PSR1.Files.SideEffects 18 \defined('_JEXEC') or die; 19 // phpcs:enable PSR1.Files.SideEffects 20 21 /** 22 * The users view 23 * 24 * @since 4.0.0 25 */ 26 class JsonapiView extends BaseApiView 27 { 28 /** 29 * The fields to render item in the documents 30 * 31 * @var array 32 * @since 4.0.0 33 */ 34 protected $fieldsToRenderItem = [ 35 'id', 36 'groups', 37 'name', 38 'username', 39 'email', 40 'registerDate', 41 'lastvisitDate', 42 'lastResetTime', 43 'resetCount', 44 'sendEmail', 45 'block', 46 ]; 47 48 /** 49 * The fields to render items in the documents 50 * 51 * @var array 52 * @since 4.0.0 53 */ 54 protected $fieldsToRenderList = [ 55 'id', 56 'name', 57 'username', 58 'email', 59 'group_count', 60 'group_names', 61 'registerDate', 62 'lastvisitDate', 63 'lastResetTime', 64 'resetCount', 65 'sendEmail', 66 'block', 67 ]; 68 69 /** 70 * Execute and display a template script. 71 * 72 * @param array|null $items Array of items 73 * 74 * @return string 75 * 76 * @since 4.0.0 77 */ 78 public function displayList(array $items = null) 79 { 80 foreach (FieldsHelper::getFields('com_users.user') as $field) { 81 $this->fieldsToRenderList[] = $field->name; 82 } 83 84 return parent::displayList(); 85 } 86 87 /** 88 * Execute and display a template script. 89 * 90 * @param object $item Item 91 * 92 * @return string 93 * 94 * @since 4.0.0 95 */ 96 public function displayItem($item = null) 97 { 98 foreach (FieldsHelper::getFields('com_users.user') as $field) { 99 $this->fieldsToRenderItem[] = $field->name; 100 } 101 102 return parent::displayItem(); 103 } 104 105 /** 106 * Prepare item before render. 107 * 108 * @param object $item The model item 109 * 110 * @return object 111 * 112 * @since 4.0.0 113 */ 114 protected function prepareItem($item) 115 { 116 if (empty($item->username)) { 117 throw new RouteNotFoundException('Item does not exist'); 118 } 119 120 foreach (FieldsHelper::getFields('com_users.user', $item, true) as $field) { 121 $item->{$field->name} = $field->apivalue ?? $field->rawvalue; 122 } 123 124 return parent::prepareItem($item); 125 } 126 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |