annotate sites/all/modules/custom/digitalobjects/digitalobjects.collections.inc @ 0:015d06b10d37 default tip

initial
author dwinter
date Wed, 31 Jul 2013 13:49:13 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
015d06b10d37 initial
dwinter
parents:
diff changeset
1 <?php
015d06b10d37 initial
dwinter
parents:
diff changeset
2
015d06b10d37 initial
dwinter
parents:
diff changeset
3 ctools_add_js('auto-submit');
015d06b10d37 initial
dwinter
parents:
diff changeset
4
015d06b10d37 initial
dwinter
parents:
diff changeset
5 function digitalobjects_user_admin_collection_submit($form,$formstate){
015d06b10d37 initial
dwinter
parents:
diff changeset
6 $userid = $formstate['values']['userid'];
015d06b10d37 initial
dwinter
parents:
diff changeset
7
015d06b10d37 initial
dwinter
parents:
diff changeset
8
015d06b10d37 initial
dwinter
parents:
diff changeset
9
015d06b10d37 initial
dwinter
parents:
diff changeset
10 drupal_goto("user/".$userid.'/collections');
015d06b10d37 initial
dwinter
parents:
diff changeset
11
015d06b10d37 initial
dwinter
parents:
diff changeset
12 }
015d06b10d37 initial
dwinter
parents:
diff changeset
13 function digitalobjects_user_admin_collection($key){
015d06b10d37 initial
dwinter
parents:
diff changeset
14
015d06b10d37 initial
dwinter
parents:
diff changeset
15
015d06b10d37 initial
dwinter
parents:
diff changeset
16
015d06b10d37 initial
dwinter
parents:
diff changeset
17
015d06b10d37 initial
dwinter
parents:
diff changeset
18 $form['digitalobjects_user_admin_form'] = drupal_get_form("digitalobjects_user_admin_form");
015d06b10d37 initial
dwinter
parents:
diff changeset
19 #$form = drupal_get_form("digitalobjects_user_admin_form");
015d06b10d37 initial
dwinter
parents:
diff changeset
20
015d06b10d37 initial
dwinter
parents:
diff changeset
21 $user_full=user_load($key);
015d06b10d37 initial
dwinter
parents:
diff changeset
22 $val = $user_full->field_digitalobjects_cid['und'][0]['objid'];
015d06b10d37 initial
dwinter
parents:
diff changeset
23
015d06b10d37 initial
dwinter
parents:
diff changeset
24 $form['digitalobjects_user_admin_form']['digitalcollection']['#default_value']="";
015d06b10d37 initial
dwinter
parents:
diff changeset
25 $form['digitalobjects_user_admin_form']['digitalcollection']['#value']=$val;
015d06b10d37 initial
dwinter
parents:
diff changeset
26 $form['digitalobjects_user_admin_form']['userid']['#value']=$key;
015d06b10d37 initial
dwinter
parents:
diff changeset
27
015d06b10d37 initial
dwinter
parents:
diff changeset
28 //$form['digitalcollection_chooser'] = drupal_get_form("digitalcollection_chooser");
015d06b10d37 initial
dwinter
parents:
diff changeset
29
015d06b10d37 initial
dwinter
parents:
diff changeset
30
015d06b10d37 initial
dwinter
parents:
diff changeset
31 # $element = $form;
015d06b10d37 initial
dwinter
parents:
diff changeset
32
015d06b10d37 initial
dwinter
parents:
diff changeset
33 $form['chooser']=drupal_get_form("digitalcollection_chooser");
015d06b10d37 initial
dwinter
parents:
diff changeset
34
015d06b10d37 initial
dwinter
parents:
diff changeset
35 $form['chooser']['pager'] = array('#markup' => theme('pager'));
015d06b10d37 initial
dwinter
parents:
diff changeset
36 $form['chooser']['userid']['#value']=$key;
015d06b10d37 initial
dwinter
parents:
diff changeset
37
015d06b10d37 initial
dwinter
parents:
diff changeset
38 #$element += $form3;
015d06b10d37 initial
dwinter
parents:
diff changeset
39
015d06b10d37 initial
dwinter
parents:
diff changeset
40 #
015d06b10d37 initial
dwinter
parents:
diff changeset
41 #$element += $form2;
015d06b10d37 initial
dwinter
parents:
diff changeset
42
015d06b10d37 initial
dwinter
parents:
diff changeset
43 return $form;
015d06b10d37 initial
dwinter
parents:
diff changeset
44 }
015d06b10d37 initial
dwinter
parents:
diff changeset
45
015d06b10d37 initial
dwinter
parents:
diff changeset
46 function digitalcollection_chooser(array $form){
015d06b10d37 initial
dwinter
parents:
diff changeset
47 // Build the sortable table header.
015d06b10d37 initial
dwinter
parents:
diff changeset
48 $header = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
49 'title' => array('data' => t('Title'), 'field' => 'n.title'),
015d06b10d37 initial
dwinter
parents:
diff changeset
50 'nid' => array('data' => t('nid'), 'field' => 'n.nid')
015d06b10d37 initial
dwinter
parents:
diff changeset
51 );
015d06b10d37 initial
dwinter
parents:
diff changeset
52
015d06b10d37 initial
dwinter
parents:
diff changeset
53
015d06b10d37 initial
dwinter
parents:
diff changeset
54 #$result = db_query("SELECT nid FROM node WHERE type = :ntype ", array ('ntype' => 'digitalcollection'));
015d06b10d37 initial
dwinter
parents:
diff changeset
55 $result = db_query("SELECT n.nid FROM {node} n ");
015d06b10d37 initial
dwinter
parents:
diff changeset
56
015d06b10d37 initial
dwinter
parents:
diff changeset
57 $nids = array();
015d06b10d37 initial
dwinter
parents:
diff changeset
58 foreach ($result as $record) {
015d06b10d37 initial
dwinter
parents:
diff changeset
59 $nids[] = $record->nid;
015d06b10d37 initial
dwinter
parents:
diff changeset
60 }
015d06b10d37 initial
dwinter
parents:
diff changeset
61 //Get the node data.
015d06b10d37 initial
dwinter
parents:
diff changeset
62 //$nids = $query
015d06b10d37 initial
dwinter
parents:
diff changeset
63 //->fields('n',array('nid'))
015d06b10d37 initial
dwinter
parents:
diff changeset
64 //->limit(50)
015d06b10d37 initial
dwinter
parents:
diff changeset
65 //->orderByHeader($header)
015d06b10d37 initial
dwinter
parents:
diff changeset
66 //->execute()
015d06b10d37 initial
dwinter
parents:
diff changeset
67 //->fetchCol();
015d06b10d37 initial
dwinter
parents:
diff changeset
68
015d06b10d37 initial
dwinter
parents:
diff changeset
69
015d06b10d37 initial
dwinter
parents:
diff changeset
70 $nodes = node_load_multiple($nids);
015d06b10d37 initial
dwinter
parents:
diff changeset
71
015d06b10d37 initial
dwinter
parents:
diff changeset
72 //Build the rows.
015d06b10d37 initial
dwinter
parents:
diff changeset
73 $options = array();
015d06b10d37 initial
dwinter
parents:
diff changeset
74 $l_options=array("");
015d06b10d37 initial
dwinter
parents:
diff changeset
75 $destination = drupal_get_destination();
015d06b10d37 initial
dwinter
parents:
diff changeset
76 $languages = language_list();
015d06b10d37 initial
dwinter
parents:
diff changeset
77 foreach ($nodes as $node) {
015d06b10d37 initial
dwinter
parents:
diff changeset
78 $langcode = entity_language('node', $node);
015d06b10d37 initial
dwinter
parents:
diff changeset
79 $l_options = $langcode != LANGUAGE_NONE && isset($languages[$langcode]) ? array('language' => $languages[$langcode]) : array();
015d06b10d37 initial
dwinter
parents:
diff changeset
80
015d06b10d37 initial
dwinter
parents:
diff changeset
81 $options[$node->nid] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
82 'title' => array(
015d06b10d37 initial
dwinter
parents:
diff changeset
83 'data' => array(
015d06b10d37 initial
dwinter
parents:
diff changeset
84 '#type' => 'link',
015d06b10d37 initial
dwinter
parents:
diff changeset
85 '#title' => $node->title,
015d06b10d37 initial
dwinter
parents:
diff changeset
86 '#href' => 'node/' . $node->nid,
015d06b10d37 initial
dwinter
parents:
diff changeset
87 '#options' => $l_options,
015d06b10d37 initial
dwinter
parents:
diff changeset
88 '#suffix' => ' ' ,
015d06b10d37 initial
dwinter
parents:
diff changeset
89 ),
015d06b10d37 initial
dwinter
parents:
diff changeset
90 ),
015d06b10d37 initial
dwinter
parents:
diff changeset
91 'nid' => $node->nid,
015d06b10d37 initial
dwinter
parents:
diff changeset
92 );
015d06b10d37 initial
dwinter
parents:
diff changeset
93
015d06b10d37 initial
dwinter
parents:
diff changeset
94 }
015d06b10d37 initial
dwinter
parents:
diff changeset
95
015d06b10d37 initial
dwinter
parents:
diff changeset
96 $destination = drupal_get_destination();
015d06b10d37 initial
dwinter
parents:
diff changeset
97
015d06b10d37 initial
dwinter
parents:
diff changeset
98 /*
015d06b10d37 initial
dwinter
parents:
diff changeset
99 $operations = array();
015d06b10d37 initial
dwinter
parents:
diff changeset
100 if (node_access('update', $node)) {
015d06b10d37 initial
dwinter
parents:
diff changeset
101 $operations['edit'] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
102 'title' => t('edit'),
015d06b10d37 initial
dwinter
parents:
diff changeset
103 'href' => 'node/' . $node->nid . '/edit',
015d06b10d37 initial
dwinter
parents:
diff changeset
104 'query' => $destination,
015d06b10d37 initial
dwinter
parents:
diff changeset
105 );
015d06b10d37 initial
dwinter
parents:
diff changeset
106 }
015d06b10d37 initial
dwinter
parents:
diff changeset
107 if (node_access('delete', $node)) {
015d06b10d37 initial
dwinter
parents:
diff changeset
108 $operations['delete'] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
109 'title' => t('delete'),
015d06b10d37 initial
dwinter
parents:
diff changeset
110 'href' => 'node/' . $node->nid . '/delete',
015d06b10d37 initial
dwinter
parents:
diff changeset
111 'query' => $destination,
015d06b10d37 initial
dwinter
parents:
diff changeset
112 );
015d06b10d37 initial
dwinter
parents:
diff changeset
113 }
015d06b10d37 initial
dwinter
parents:
diff changeset
114 $options[$node->nid]['operations'] = array();
015d06b10d37 initial
dwinter
parents:
diff changeset
115 $options[$node->nid]['operations'] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
116 'data' => array(
015d06b10d37 initial
dwinter
parents:
diff changeset
117 '#theme' => 'links__node_operations',
015d06b10d37 initial
dwinter
parents:
diff changeset
118 '#links' => $operations,
015d06b10d37 initial
dwinter
parents:
diff changeset
119 '#attributes' => array('class' => array('links', 'inline')),
015d06b10d37 initial
dwinter
parents:
diff changeset
120 ),
015d06b10d37 initial
dwinter
parents:
diff changeset
121 );
015d06b10d37 initial
dwinter
parents:
diff changeset
122
015d06b10d37 initial
dwinter
parents:
diff changeset
123
015d06b10d37 initial
dwinter
parents:
diff changeset
124 */
015d06b10d37 initial
dwinter
parents:
diff changeset
125
015d06b10d37 initial
dwinter
parents:
diff changeset
126
015d06b10d37 initial
dwinter
parents:
diff changeset
127
015d06b10d37 initial
dwinter
parents:
diff changeset
128
015d06b10d37 initial
dwinter
parents:
diff changeset
129 $form['digitalcollection_chooser'] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
130 '#type' => 'tableselect',
015d06b10d37 initial
dwinter
parents:
diff changeset
131 '#header' => $header,
015d06b10d37 initial
dwinter
parents:
diff changeset
132 '#options' => $options,
015d06b10d37 initial
dwinter
parents:
diff changeset
133 '#empty' => t('No content available.'),
015d06b10d37 initial
dwinter
parents:
diff changeset
134 '#attributes' => array('class' => array('search-form', 'ctools-auto-submit-full-form')),
015d06b10d37 initial
dwinter
parents:
diff changeset
135 '#multiple' => False,
015d06b10d37 initial
dwinter
parents:
diff changeset
136
015d06b10d37 initial
dwinter
parents:
diff changeset
137 );
015d06b10d37 initial
dwinter
parents:
diff changeset
138
015d06b10d37 initial
dwinter
parents:
diff changeset
139 #form['chooser']['change'] = array('#type' => 'actions');
015d06b10d37 initial
dwinter
parents:
diff changeset
140 $form+= $form['submit2'] = array('#type' => 'submit', '#value' => t('Choose'));
015d06b10d37 initial
dwinter
parents:
diff changeset
141 #$form['chooser']['#submit'][] = 'digitalobjects_user_change_form_submit';
015d06b10d37 initial
dwinter
parents:
diff changeset
142 $form['submit2']['#submit'][] = 'digitalobjects_user_change_form_submit';
015d06b10d37 initial
dwinter
parents:
diff changeset
143 #$form['chooser']['#attributes']= array('class' => array('ctools-use-ajax', 'ctools-auto-submit-click'));
015d06b10d37 initial
dwinter
parents:
diff changeset
144
015d06b10d37 initial
dwinter
parents:
diff changeset
145 $form['userid'] = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
146 '#type' => 'hidden',
015d06b10d37 initial
dwinter
parents:
diff changeset
147 );
015d06b10d37 initial
dwinter
parents:
diff changeset
148
015d06b10d37 initial
dwinter
parents:
diff changeset
149 return $form;
015d06b10d37 initial
dwinter
parents:
diff changeset
150 }
015d06b10d37 initial
dwinter
parents:
diff changeset
151
015d06b10d37 initial
dwinter
parents:
diff changeset
152
015d06b10d37 initial
dwinter
parents:
diff changeset
153 function digitalobjects_user_change_form_submit($form,$formstate){
015d06b10d37 initial
dwinter
parents:
diff changeset
154 $input = $formstate['input']['digitalcollection_chooser'];
015d06b10d37 initial
dwinter
parents:
diff changeset
155 $userid = $formstate['values']['userid'];
015d06b10d37 initial
dwinter
parents:
diff changeset
156
015d06b10d37 initial
dwinter
parents:
diff changeset
157 $user=user_load($userid);
015d06b10d37 initial
dwinter
parents:
diff changeset
158
015d06b10d37 initial
dwinter
parents:
diff changeset
159
015d06b10d37 initial
dwinter
parents:
diff changeset
160 $user->field_digitalobjects_cid['und'][0]['objid'] = $input;
015d06b10d37 initial
dwinter
parents:
diff changeset
161
015d06b10d37 initial
dwinter
parents:
diff changeset
162 user_save($user);
015d06b10d37 initial
dwinter
parents:
diff changeset
163
015d06b10d37 initial
dwinter
parents:
diff changeset
164 }
015d06b10d37 initial
dwinter
parents:
diff changeset
165 #füge objid zur aktuelle sammlung hinzu
015d06b10d37 initial
dwinter
parents:
diff changeset
166 function digitalobjects_addToCurrentCollection($objid){
015d06b10d37 initial
dwinter
parents:
diff changeset
167 global $user;
015d06b10d37 initial
dwinter
parents:
diff changeset
168 #hole current collection
015d06b10d37 initial
dwinter
parents:
diff changeset
169 $user_full = user_load($user->uid);
015d06b10d37 initial
dwinter
parents:
diff changeset
170 $val = $user_full->field_digitalobjects_cid['und'][0]['objid'];
015d06b10d37 initial
dwinter
parents:
diff changeset
171
015d06b10d37 initial
dwinter
parents:
diff changeset
172 #hole sammlung
015d06b10d37 initial
dwinter
parents:
diff changeset
173
015d06b10d37 initial
dwinter
parents:
diff changeset
174 $node = node_load($val);
015d06b10d37 initial
dwinter
parents:
diff changeset
175
015d06b10d37 initial
dwinter
parents:
diff changeset
176 foreach ( $node->field_objid['und'] as $obj){
015d06b10d37 initial
dwinter
parents:
diff changeset
177 if ($obj['objid']==$objid){
015d06b10d37 initial
dwinter
parents:
diff changeset
178 return drupal_set_message(t("Already in the current collection"),"error");
015d06b10d37 initial
dwinter
parents:
diff changeset
179 }
015d06b10d37 initial
dwinter
parents:
diff changeset
180
015d06b10d37 initial
dwinter
parents:
diff changeset
181 }
015d06b10d37 initial
dwinter
parents:
diff changeset
182
015d06b10d37 initial
dwinter
parents:
diff changeset
183 $node->field_objid['und'][]['objid']=$objid;
015d06b10d37 initial
dwinter
parents:
diff changeset
184
015d06b10d37 initial
dwinter
parents:
diff changeset
185 $node = node_submit($node);
015d06b10d37 initial
dwinter
parents:
diff changeset
186
015d06b10d37 initial
dwinter
parents:
diff changeset
187 node_save($node);
015d06b10d37 initial
dwinter
parents:
diff changeset
188
015d06b10d37 initial
dwinter
parents:
diff changeset
189 drupal_goto("node/".$node->nid);
015d06b10d37 initial
dwinter
parents:
diff changeset
190 }
015d06b10d37 initial
dwinter
parents:
diff changeset
191
015d06b10d37 initial
dwinter
parents:
diff changeset
192
015d06b10d37 initial
dwinter
parents:
diff changeset
193
015d06b10d37 initial
dwinter
parents:
diff changeset
194 function digitalobjects_digitalcollectionsManage(){
015d06b10d37 initial
dwinter
parents:
diff changeset
195
015d06b10d37 initial
dwinter
parents:
diff changeset
196 $data = $_GET;
015d06b10d37 initial
dwinter
parents:
diff changeset
197
015d06b10d37 initial
dwinter
parents:
diff changeset
198
015d06b10d37 initial
dwinter
parents:
diff changeset
199 global $user;
015d06b10d37 initial
dwinter
parents:
diff changeset
200 #hole current collection
015d06b10d37 initial
dwinter
parents:
diff changeset
201 $user_full = user_load($user->uid);
015d06b10d37 initial
dwinter
parents:
diff changeset
202 $val = $user_full->field_digitalobjects_cid['und'][0]['objid'];
015d06b10d37 initial
dwinter
parents:
diff changeset
203
015d06b10d37 initial
dwinter
parents:
diff changeset
204 #hole sammlung
015d06b10d37 initial
dwinter
parents:
diff changeset
205
015d06b10d37 initial
dwinter
parents:
diff changeset
206 $node = node_load($val);
015d06b10d37 initial
dwinter
parents:
diff changeset
207
015d06b10d37 initial
dwinter
parents:
diff changeset
208 foreach ($data['digitalobjects_items_select'] as $objid){
015d06b10d37 initial
dwinter
parents:
diff changeset
209 /*foreach ( $node->field_objid['und'] as $obj){
015d06b10d37 initial
dwinter
parents:
diff changeset
210 if ($obj['objid']==$objid){
015d06b10d37 initial
dwinter
parents:
diff changeset
211 return drupal_set_message(t("Already in the current collection"),"error");
015d06b10d37 initial
dwinter
parents:
diff changeset
212 }
015d06b10d37 initial
dwinter
parents:
diff changeset
213
015d06b10d37 initial
dwinter
parents:
diff changeset
214 }
015d06b10d37 initial
dwinter
parents:
diff changeset
215 */
015d06b10d37 initial
dwinter
parents:
diff changeset
216 $node->field_objid['und'][]['objid']=$objid;
015d06b10d37 initial
dwinter
parents:
diff changeset
217
015d06b10d37 initial
dwinter
parents:
diff changeset
218 }
015d06b10d37 initial
dwinter
parents:
diff changeset
219
015d06b10d37 initial
dwinter
parents:
diff changeset
220
015d06b10d37 initial
dwinter
parents:
diff changeset
221 $node = node_submit($node);
015d06b10d37 initial
dwinter
parents:
diff changeset
222
015d06b10d37 initial
dwinter
parents:
diff changeset
223 node_save($node);
015d06b10d37 initial
dwinter
parents:
diff changeset
224
015d06b10d37 initial
dwinter
parents:
diff changeset
225 if (isset($data['redirect'])){
015d06b10d37 initial
dwinter
parents:
diff changeset
226
015d06b10d37 initial
dwinter
parents:
diff changeset
227 drupal_goto(urldecode($data['redirect']));
015d06b10d37 initial
dwinter
parents:
diff changeset
228 } else {
015d06b10d37 initial
dwinter
parents:
diff changeset
229 drupal_goto("node/".$node->nid);
015d06b10d37 initial
dwinter
parents:
diff changeset
230 }
015d06b10d37 initial
dwinter
parents:
diff changeset
231
015d06b10d37 initial
dwinter
parents:
diff changeset
232 /*
015d06b10d37 initial
dwinter
parents:
diff changeset
233 $output['digitalobjects_item']= array(
015d06b10d37 initial
dwinter
parents:
diff changeset
234 '#theme' => 'digitalobjects_item',
015d06b10d37 initial
dwinter
parents:
diff changeset
235 '#objid' => '');
015d06b10d37 initial
dwinter
parents:
diff changeset
236 return $output;
015d06b10d37 initial
dwinter
parents:
diff changeset
237 */
015d06b10d37 initial
dwinter
parents:
diff changeset
238 }
015d06b10d37 initial
dwinter
parents:
diff changeset
239