Exemple #1
0
function getRoleMLOCATEPerms($for_role) {
  $layer_perms = array();

  $default_perms = array();
  $str_default_perms = getDefaultLayerPerms($for_role);
  if(strlen($str_default_perms) > 0) {
    $default_perms = explode(",", $str_default_perms);
  }

  $exception_perms = array();
  $str_exception_perms = getExceptionLayerPerms($for_role);
  if(strlen($str_exception_perms) > 0) {
    $exception_perms = explode(",", $str_exception_perms);
  }

  if(sizeof($exception_perms) == 0) {
    $layer_perms = $default_perms;
  } else {
    $layer_perms = $exception_perms;
  }
  return $layer_perms;
}
Exemple #2
0
function saveLayerPermissions($Request,$for_role){
	 $arr_perms = "";
      foreach($Request as $key => $value) {
        if(substr($key, 0, 5) == 'edit-') {
          $value = str_replace("'", "''", substr($key, 5));
          $value = str_replace("_", " ", $value);
          $arr_perms[] = $value;
        }
      }
      $perms = implode(",", $arr_perms);

      $str_default_perms = getDefaultLayerPerms($for_role);

      $is_default = 0;
      if(strcmp($perms, $str_default_perms) == 0) {
        $is_default = 1;
      }

      if($is_default) {
        $query = "delete from mlocate_permission where role_name = '%s'";
        $query_args = array($for_role);
      } else {
        $query = "insert into mlocate_permission(role_name, perm) values('%s','%s')";
        $query_args = array($for_role, $perms);
      }
      $result = db_query($query, $query_args);
      if(!$result) {
        return "Error fetching data. Please try after some time or contact the admin.";
      } else {
        return "Permissions set.";
      }

}