1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
class PanelizerEntityUser extends PanelizerEntityDefault {
|
13 |
|
|
public $entity_admin_root = 'admin/config/people/accounts';
|
14 |
|
|
|
15 |
|
|
public $entity_admin_bundle = 'user';
|
16 |
|
|
public $views_table = 'users';
|
17 |
|
|
public $uses_page_manager = TRUE;
|
18 |
|
|
|
19 |
|
|
public function entity_access($op, $entity) {
|
20 |
|
|
|
21 |
|
|
if ($op == 'update' || $op == 'delete') {
|
22 |
|
|
return user_edit_access($entity);
|
23 |
|
|
}
|
24 |
|
|
|
25 |
|
|
if ($op == 'view') {
|
26 |
|
|
return user_view_access($entity);
|
27 |
|
|
}
|
28 |
|
|
|
29 |
|
|
return FALSE;
|
30 |
|
|
}
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
public function entity_save($entity) {
|
36 |
|
|
|
37 |
|
|
user_save($entity, array('panelizer' => $entity->panelizer));
|
38 |
|
|
}
|
39 |
|
|
|
40 |
|
|
public function settings_form(&$form, &$form_state) {
|
41 |
|
|
parent::settings_form($form, $form_state);
|
42 |
|
|
|
43 |
|
|
if (!empty($this->plugin['bundles']['user']['status']) && !empty($this->plugin['bundles']['user']['view modes']['page_manager']['status'])) {
|
44 |
|
|
$task = page_manager_get_task('user_view');
|
45 |
|
|
if (!empty($task['disabled'])) {
|
46 |
|
|
drupal_set_message('The user template page is currently not enabled in page manager. You must enable this for Panelizer to be able to panelize users using the "Full page override" view mode.', 'warning');
|
47 |
|
|
}
|
48 |
|
|
|
49 |
|
|
$handler = page_manager_load_task_handler($task, '', 'user_view_panelizer');
|
50 |
|
|
if (!empty($handler->disabled)) {
|
51 |
|
|
drupal_set_message('The panelizer variant on the user template page is currently not enabled in page manager. You must enable this for Panelizer to be able to panelize users using the "Full page override" view mode.', 'warning');
|
52 |
|
|
}
|
53 |
|
|
}
|
54 |
|
|
}
|
55 |
|
|
|
56 |
|
|
public function entity_identifier($entity) {
|
57 |
|
|
return t('This user');
|
58 |
|
|
}
|
59 |
|
|
|
60 |
|
|
public function entity_bundle_label() {
|
61 |
|
|
return t('User');
|
62 |
|
|
}
|
63 |
|
|
|
64 |
|
|
function get_default_display($bundle, $view_mode) {
|
65 |
|
|
|
66 |
|
|
|
67 |
|
|
return parent::get_default_display($bundle, $view_mode);
|
68 |
|
|
}
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
|
72 |
|
|
|
73 |
|
|
|
74 |
|
|
|
75 |
|
|
|
76 |
|
|
public function hook_default_page_manager_handlers(&$handlers) {
|
77 |
|
|
$handler = new stdClass;
|
78 |
|
|
$handler->disabled = FALSE;
|
79 |
|
|
$handler->api_version = 1;
|
80 |
|
|
$handler->name = 'user_view_panelizer';
|
81 |
|
|
$handler->task = 'user_view';
|
82 |
|
|
$handler->subtask = '';
|
83 |
|
|
$handler->handler = 'panelizer_node';
|
84 |
|
|
$handler->weight = -100;
|
85 |
|
|
$handler->conf = array(
|
86 |
|
|
'title' => t('User panelizer'),
|
87 |
|
|
'context' => 'argument_entity_id:user_1',
|
88 |
|
|
'access' => array(),
|
89 |
|
|
);
|
90 |
|
|
$handlers['user_view_panelizer'] = $handler;
|
91 |
|
|
|
92 |
|
|
return $handlers;
|
93 |
|
|
}
|
94 |
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
|
99 |
|
|
|
100 |
|
|
public function hook_form_alter(&$form, &$form_state, $form_id) {
|
101 |
|
|
if ($form_id == 'user_admin_settings') {
|
102 |
|
|
$this->add_bundle_setting_form($form, $form_state, 'user', NULL);
|
103 |
|
|
}
|
104 |
|
|
}
|
105 |
|
|
|
106 |
|
|
|
107 |
|
|
|
108 |
|
|
|
109 |
|
|
|
110 |
|
|
|
111 |
|
|
|
112 |
|
|
public function get_entity_view_entity($build) {
|
113 |
|
|
$element = '#account';
|
114 |
|
|
if (isset($build[$element])) {
|
115 |
|
|
return $build[$element];
|
116 |
|
|
}
|
117 |
|
|
}
|
118 |
|
|
|
119 |
|
|
} |