Пример #1
0
 /**
  * Returns whether the user is administrator
  * Adapted from adminfunctions.php::can_administer
  * Returns 1 if it has full admin privileges, -1 if it doesn't, or 0 if further controls are required.
  * @return int
  */
 private function basicAdminControl()
 {
     // check if user is guest
     if ($this->userid < 1) {
         return -1;
     }
     // check if user has access to controlpanel
     $bf_ugp_adminpermissions = $this->datastore->get_value('bf_ugp_adminpermissions');
     $admin_permissions = $this->permissionContext->getPermission('adminpermissions');
     if (!($admin_permissions & $bf_ugp_adminpermissions['cancontrolpanel'])) {
         return -1;
     }
     // check if user is superadmin (defined in config.php)
     if ($this->userIsSuperAdmin) {
         return 1;
     }
     // it is not superadmin but still can have admin privileges
     return 0;
 }
Пример #2
0
 /**
  * Checks usergroupid and membergroupids to see if the user has super moderator privileges
  *
  * @param	integer	Usergroupid
  * @param	string	Membergroupids (comma separated)
  *
  * @return	boolean	Returns true if user has super moderator privileges
  */
 function is_supermod($usergroupid, $membergroupids)
 {
     $datastore = vB::getDatastore();
     if (!empty($membergroupids)) {
         $membergroupids = explode(',', $membergroupids);
     }
     $bf_ugp_adminpermissions = $datastore->get_value('bf_ugp_adminpermissions');
     $permissionContext = new vB_PermissionContext($datastore, $usergroupid, $membergroupids);
     $admin_permissions = $permissionContext->getPermission('adminpermissions');
     return $admin_permissions & $bf_ugp_adminpermissions['ismoderator'];
 }