Skip to content

Commit ed2a228

Browse files
committed
updates for api exposure
1 parent 90570fc commit ed2a228

4 files changed

Lines changed: 75 additions & 1 deletion

File tree

UserProfilesPlugin.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,14 @@ public function filterApiResources($resources, $arg)
179179
'record_type' => 'UserProfilesProfile',
180180
'actions' => array('index', 'get')
181181
);
182+
$resources['user_profiles_multielements'] = array(
183+
'record_type' => 'UserProfilesMultiElement',
184+
'actions' => array('index', 'get'),
185+
);
186+
$resources['user_profiles_multivalues'] = array(
187+
'record_type' => 'UserProfilesMultiValue',
188+
'action' => array('index', 'get')
189+
);
182190
return $resources;
183191
}
184192

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
class Api_UserProfilesMultiElement extends Omeka_Record_Api_AbstractRecordAdapter implements Zend_Acl_Resource_Interface
3+
{
4+
5+
public function getRepresentation(Omeka_Record_AbstractRecord $multiElement)
6+
{
7+
$representation = array(
8+
'id' => $multiElement->id,
9+
'url' => self::getResourceUrl("/user_profiles_multielements/{$multiElement->id}"),
10+
'name' => $multiElement->name,
11+
'description' => $multiElement->description,
12+
'type' => $multiElement->type,
13+
'options' => json_encode(unserialize($multiElement->options)),
14+
'order' => $multiElement->order,
15+
'comment' => $multiElement->comment
16+
);
17+
18+
$representation['element_set'] = array(
19+
'id' => $multiElement->element_set_id,
20+
'url' => self::getResourceUrl("/element_sets/{$multiElement->element_set_id}"),
21+
'resource' => 'element_sets'
22+
);
23+
return $representation;
24+
}
25+
26+
public function getResourceId()
27+
{
28+
return 'UserProfiles_MultiElement';
29+
}
30+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
class Api_UserProfilesMultiValue extends Omeka_Record_Api_AbstractRecordAdapter implements Zend_Acl_Resource_Interface
3+
{
4+
5+
public function getRepresentation(Omeka_Record_AbstractRecord $value)
6+
{
7+
$representation = array(
8+
'id' => $value->id,
9+
'url' => self::getResourceUrl("/user_profiles_multivalues/{$value->id}"),
10+
'values' => json_encode(unserialize($value->values))
11+
);
12+
$representation['profile_type'] = array(
13+
'id' => $value->profile_type_id,
14+
'url' => self::getResourceUrl("/user_profiles_type/{$value->profile_type_id}"),
15+
'resource' => 'user_profiles_types'
16+
);
17+
$representation['profile'] = array(
18+
'id' => $value->profile_id,
19+
'url' => self::getResourceUrl("/user_profiles/{$value->profile_id}"),
20+
'resource' => 'user_profiles'
21+
);
22+
$representation['multi'] = array(
23+
'id' => $value->multi_id,
24+
'url' => self::getResourceUrl("/user_profiles_multielements/{$value->multi_id}"),
25+
'resource' => 'user_profiles_multielements'
26+
);
27+
28+
return $representation;
29+
}
30+
31+
public function getResourceId()
32+
{
33+
return 'UserProfiles_MultiValue';
34+
}
35+
}

models/Api/UserProfilesType.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public function getRepresentation(Omeka_Record_AbstractRecord $type)
55
{
66
$representation = array(
77
'id' => $type->id,
8+
'url' => self::getResourceUrl("/user_profiles_types/{$type->id}"),
89
'label' => $type->label,
910
'description' => $type->description,
1011
'required_element_ids' => $type->required_element_ids,
@@ -14,7 +15,7 @@ public function getRepresentation(Omeka_Record_AbstractRecord $type)
1415
);
1516
$representation['element_set'] = array(
1617
'id' => $type->element_set_id,
17-
'url' => $this->getResourceUrl("/element_sets/{$type->element_set_id}")
18+
'url' => self::getResourceUrl("/element_sets/{$type->element_set_id}")
1819
);
1920
return $representation;
2021
}

0 commit comments

Comments
 (0)