-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathGroupUserListHelper.php
More file actions
91 lines (84 loc) · 2.22 KB
/
GroupUserListHelper.php
File metadata and controls
91 lines (84 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
/**
* GroupUserList Helper
*
* @author Masaki Goto <go8ogle@gmail.com>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
* @copyright Copyright 2016, NetCommons Project
*/
App::uses('AppHelper', 'View/Helper');
/**
* GroupUserList Helper
*
* @package NetCommons\Groups\View\Helper
*/
class GroupUserListHelper extends AppHelper {
/**
* 使用するヘルパー
* ただし、Roomヘルパーを使用する場合は、RoomComponentを呼び出している必要がある。
*
* @var array
*/
public $helpers = array(
'NetCommons.NetCommonsHtml',
'NetCommons.Date',
'Rooms.Rooms',
'Users.UserSearch'
);
/**
* UserAttributes data
*
* @var array
*/
public $userAttributes;
/**
* Default Constructor
*
* @param View $View The View this helper is being attached to.
* @param array $settings Configuration settings for the helper.
*/
public function __construct(View $View, $settings = array()) {
parent::__construct($View, $settings);
}
/**
* ユーザ情報を画面表示用に変換する処理
*
* @param array $groupUsers ユーザ配列
* @return array 画面表示用ユーザ配列
*/
public function convertGroupUserListForDisplay($groupUsers) {
$result = array();
foreach ($groupUsers as $user) {
if (! isset($user['User']['id'])) {
continue;
}
$result[$user['User']['id']] = $this->UserSearch->convertUserArrayByUserSelection($user, 'User');
}
return $result;
}
/**
* ユーザ・グループ検索機能を提供します
*
* @param string $title 項目名として表示させる文字列
* @param string $pluginModel モデル名
* @param int $roomId ルームID
* @param array $selectUsers 選択済みユーザ配列
* @return string HTML tags
*/
public function select($title = '', $pluginModel = 'GroupsUser', $roomId = null,
$selectUsers = array()) {
if (! isset($roomId)) {
$roomId = Space::getRoomIdRoot(Space::COMMUNITY_SPACE_ID);
}
if ($title === '') {
$title = __d('groups', 'User select');
}
return $this->_View->element('Groups.select', array(
'title' => $title,
'pluginModel' => $pluginModel,
'roomId' => $roomId,
'selectUsers' => $selectUsers
));
}
}