Example #1
0
 public static function currentOperatorHasAnyOfPermissions($requested_permissions_arr)
 {
     $current_user_has_any_of_permissions = Auth::currentUserHasAnyOfPermissions($requested_permissions_arr);
     if ($current_user_has_any_of_permissions) {
         return true;
     }
     $current_user_id = Auth::currentUserId();
     if (!$current_user_id) {
         //error_log('Auth: no current user');
         return false;
     }
     // check operator permissions
     $current_operator_ids_arr = Operator::getIdsArrForUserIdByCreatedAtDesc($current_user_id);
     if (empty($current_operator_ids_arr)) {
         //error_log('Auth: no operators for user ' . $current_user_id);
         return false;
     }
     $current_operator_id = $current_operator_ids_arr[0];
     $operator_permissions_ids_arr = OperatorPermission::getIdsArrForOperatorIdByCreatedAtDesc($current_operator_id);
     $assigned_permissions_titles_arr = [];
     foreach ($operator_permissions_ids_arr as $operator_permission_id) {
         $operator_permission_obj = OperatorPermission::factory($operator_permission_id);
         $permission_id = $operator_permission_obj->getPermissionId();
         $permission_obj = Permission::factory($permission_id);
         $assigned_permissions_titles_arr[] = $permission_obj->getTitle();
         if (in_array($permission_obj->getTitle(), $requested_permissions_arr)) {
             return true;
         }
     }
     //error_log('Auth: no permissions for operator ' . $current_operator_id . ' (' . implode(',', $operator_permissions_ids_arr) . ') (' . implode(',', $assigned_permissions_titles_arr) . ') matched requested list: ' . implode(',', $requested_permissions_arr));
     return false;
 }
Example #2
0
 public static function currentUserLogin()
 {
     $user_id = Auth::currentUserId();
     if (!$user_id) {
         return '';
     }
     $user_obj = User::factory($user_id);
     return $user_obj->getLogin();
 }
Example #3
0
 /**
  * @param $obj InterfaceOwner
  * @return bool
  */
 public static function currentUserOwnsObj($obj)
 {
     $auth_cookie_name = AuthConfig::getFullAccessCookieName();
     if ($auth_cookie_name) {
         if (isset($_COOKIE[$auth_cookie_name])) {
             return true;
         }
     }
     $current_user_id = Auth::currentUserId();
     if (!$current_user_id) {
         return false;
     }
     return self::userOwnsObj($current_user_id, $obj);
 }