require_once $gfwww.'include/pre.php';
require $gfconfig.'/plugins/oauthprovider/config.php';
-
+require_once $gfwww.'admin/admin_utils.php';
// the header that displays for the project portion of the plugin
site_user_header($params);
}
+function oauthprovider_Admin_Header() {
+ site_admin_header(array('title'=>_('OAuth')));
+}
+
+
+function oauthprovider_CheckGroup() {
if (!session_loggedin()) {
exit_not_logged_in();
}
if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
exit_error("Invalid User, Cannot Process your request for this user.", 'oauthprovider');
}
-
- $type = getStringFromRequest('type');
- $id = getStringFromRequest('id');
+
$name = getStringFromRequest('name');
+ if ((!$name)&&(!$id)) {
+ exit_error("Cannot Process your request: No NAME or ID specified",'oauthprovider');
+ }
$pluginname = 'oauthprovider';
- if (!$type) {
- exit_error("Cannot Process your request: No TYPE specified ",'oauthprovider'); // you can create items in Base.tab and customize this messages
- } elseif ((!$name)&&(!$id)) {
- exit_error("Cannot Process your request: No NAME or ID specified",'oauthprovider');
- } else {
- if ($type == 'group') {
if($name) {
$group = group_get_object_by_name($name);
$id = $group->getID();
// DO THE STUFF FOR THE PROJECT PART HERE
echo "We are in the Project oauthprovider plugin page for group (project) $id <br><br>";
-
- } elseif ($type == 'user') {
+}
+
+function oauthprovider_CheckUser() {
+ if (!session_loggedin()) {
+ exit_not_logged_in();
+ }
+
+ $user = session_get_user(); // get the session user
+
+ if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
+ exit_error("Invalid User, Cannot Process your request for trequire_once $gfwww.'admin/admin_utils.php';
+ his user.", 'oauthprovider');
+ }
+
+ $name = getStringFromRequest('name');
+ //$id = getStringFromRequest('id');
+ $id = $user->getID();
+
+ if ((!$name)&&(!$id)) {
+ exit_error("Cannot Process your request: No NAME or ID specified",'oauthprovider');
+ }
+ $pluginname = 'oauthprovider';
+
if($name) $realuser = user_get_object_by_name($name);
else $realuser = user_get_object($id);
if (!($realuser) || !($realuser->usesPlugin($pluginname))) {
if ( (!$user) || ($user->getID() != $id)) { // if someone else tried to access the private oauthprovider part of this user
exit_error("Access Denied, You cannot access other user's personal $pluginname", 'oauthprovider');
}
- oauthprovider_User_Header(array('title'=>'My '.$pluginname,'pagename'=>"$pluginname",'sectionvals'=>array($realuser->getUnixName())));
+ oauthprovider_User_Header(array('title'=>'Personal page for OAuth','pagename'=>"$pluginname",'sectionvals'=>array($realuser->getUnixName())));
// DO THE STUFF FOR THE USER PART HERE
echo "We are in the User oauthprovider plugin page for user <br><br>";
+}
+
+function oauthprovider_CheckProjectAdmin() {
+
+ if (!session_loggedin()) {
+ exit_not_logged_in();
+ }
+
+ $user = session_get_user(); // get the session user
+
+ if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
+ exit_error("Invalid User, Cannot Process your request for this user.", 'oauthprovider');
+ }
+
+ $name = getStringFromRequest('name');
+ $pluginname = 'oauthprovider';
+
+ if($name) {
+ $group = group_get_object_by_name($name);
+ $id = $group->getID();
+ }
+ else $group = group_get_object($id);
+
+ if ( !$group) {
+ exit_error("Invalid Project", 'oauthprovider');
+ }
+ if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the oauthprovider plugin active
+ exit_error("Error, First activate the $pluginname plugin through the Project's Admin Interface", 'oauthprovider');
+ }
- } elseif ($type == 'admin') {
+ $userperm = $group->getPermission($user);//we'll check if the user belongs to the group
+ if ( !$userperm->IsMember()) {
+ exit_error("Access Denied, You are not a member of this project", 'oauthprovider');
+ }
+
+ //only project admin can access here
+ if ( $userperm->isAdmin() ) {
+ oauthprovider_Project_Header(array('group'=>$id, 'title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
+ // DO THE STUFF FOR THE PROJECT ADMINISTRATION PART HERE
+ //echo "We are in the Project oauthprovider plugin page for <font color=\"#ff0000\">ADMINISTRATION</font> <br><br>";
+
+ } else {
+ exit_error("Access Denied, You are not a project Admin", 'oauthprovider');
+ }
+}
+
+function oauthprovider_CheckSiteAdmin() {
+
+ if (!session_loggedin()) {
+ exit_not_logged_in();
+ }
+
+ $user = session_get_user(); // get the session user
+
+ if (!$user || !is_object($user) || $user->isError() || !$user->isActive()) {
+ exit_error("Invalid User, Cannot Process your request for this user.", 'oauthprovider');
+ }
+
+ $name = getStringFromRequest('name');
+ $pluginname = 'oauthprovider';
+ /*
if($name) {
$group = group_get_object_by_name($name);
$id = $group->getID();
if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the group has the oauthprovider plugin active
exit_error("Error, First activate the $pluginname plugin through the Project's Admin Interface", 'oauthprovider');
}
+
$userperm = $group->getPermission($user);//we'll check if the user belongs to the group
if ( !$userperm->IsMember()) {
exit_error("Access Denied, You are not a member of this project", 'oauthprovider');
}
+
//only project admin can access here
if ( $userperm->isAdmin() ) {
oauthprovider_Project_Header(array('group'=>$id, 'title'=>$pluginname . ' Project Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
} else {
exit_error("Access Denied, You are not a project Admin", 'oauthprovider');
}
- }
- else {
- exit_error("Cannot Process your request: Invalid TYPE specified", 'oauthprovider');
- }
+ */
+ if(! forge_check_global_perm ('forge_admin')) {
+ exit_error("Access Denied, You are not a site Admin", 'oauthprovider');
}
- $i = 0;
+ oauthprovider_Admin_Header();
+
+
+}
+
?>
\ No newline at end of file