Guest User

Untitled

a guest
Jul 17th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. function efIACUserCanAccessDatabaseGroups(&$user, &$accessGroups, $action) {
  2. $dbw = wfGetDB(DB_MASTER);
  3. $allowedGroups = explode(',,', $accessGroups);
  4.  
  5. $allowedGroupsString = '';
  6. foreach($allowedGroups as $group) {
  7. $group = strtolower($dbw->strencode($group));
  8. $allowedGroupsString .= "'{$group}',";
  9. } //foreach
  10. $allowedGroupsString = substr($allowedGroupsString, 0, -1); //remove trailing comma
  11.  
  12. $userName = $dbw->strencode(trim($user->getName()));
  13.  
  14. $res = $dbw->query("
  15. SELECT DISTINCT u.user_name FROM `user` u, `group` g, `user_group` ug
  16. WHERE LOWER(CONVERT(g.group_name USING utf8)) IN ({$allowedGroupsString}) AND
  17. u.user_name = '{$userName}' AND
  18. ug.user_id = u.user_id AND
  19. ug.group_id = g.group_id"
  20. );
  21.  
  22. if ($res->numRows() == 0) {
  23. return false;
  24. } else {
  25. efIACDebugLog("(efIACUserCanAccessDatabaseGroups)" . "full access granted ");
  26. return true;
  27. } //else
  28. } //efIACUserCanAccessDatabaseGroups
Add Comment
Please, Sign In to add comment