added user_rest module
This commit is contained in:
parent
906b200478
commit
295dae2176
53
modules/user_rest/helpers/user_rest.php
Normal file
53
modules/user_rest/helpers/user_rest.php
Normal file
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
class user_rest_Core {
|
||||
static function get($request) {
|
||||
$user = rest::resolve($request->url);
|
||||
|
||||
return array(
|
||||
"url" => $request->url,
|
||||
"entity" => array(
|
||||
"display_name" => $user->display_name()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
static function resolve($id) {
|
||||
$user = identity::lookup_user($id);
|
||||
|
||||
if (!self::_can_view_profile_pages($user)) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
||||
|
||||
static function _can_view_profile_pages($user) {
|
||||
if (!$user->loaded()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($user->id == identity::active_user()->id) {
|
||||
// You can always view your own profile
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (module::get_var("gallery", "show_user_profiles_to")) {
|
||||
case "admin_users":
|
||||
return identity::active_user()->admin;
|
||||
|
||||
case "registered_users":
|
||||
return !identity::active_user()->guest;
|
||||
|
||||
case "everybody":
|
||||
return true;
|
||||
|
||||
default:
|
||||
// Fail in private mode on an invalid setting
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
3
modules/user_rest/module.info
Normal file
3
modules/user_rest/module.info
Normal file
|
@ -0,0 +1,3 @@
|
|||
name = "REST User Resource"
|
||||
description = "Provides access to user names via the RESTful API"
|
||||
version = 1.1
|
Reference in New Issue
Block a user