فهرست منبع

added param @primaryKey in AccessOwner

Piotr Labudda 9 سال پیش
والد
کامیت
6a19167f03
1فایلهای تغییر یافته به همراه10 افزوده شده و 1 حذف شده
  1. 10 1
      SE/se-lib/Schema/AccessOwnerStorageAcl.php

+ 10 - 1
SE/se-lib/Schema/AccessOwnerStorageAcl.php

@@ -55,14 +55,23 @@ class Schema_AccessOwnerStorageAcl extends Core_AclBase {
   public function getItems($params = array()) {
     $DBG = V::get('DBG_DS', 0, $_GET, 'int');
     if($DBG>2){echo 'C.'.get_class($this).' L.' . __LINE__ . " getItems \$params:";print_r($params);echo "\n";}
+
+    $sqlWhereAndPk = "";
+    if ($pk = V::get('@primaryKey', null, $params)) {// [@primaryKey] => TODO: int or array of int
+      if (!is_array($pk)) $sqlPk = array($pk);
+      else $sqlPk = $pk;
+      $sqlWhereAndPk = "and u.ID in (" . implode(", ", $sqlPk) . ")";
+    }
+
     $items = DB::getPDO()->fetchAllByKey("
       select u.ID as id, u.ADM_ACCOUNT as login, u.ADM_NAME as name
       from ADMIN_USERS u
       where u.A_STATUS = 'NORMAL'
         and u.ADM_TECH_WORKER != 'NO'
+        {$sqlWhereAndPk}
     ", $key = 'id');
 
-    if ($pk = V::get('primaryKey', '', $params, 'int')) {// [primaryKey] => 2948
+    if ($pk = V::get('primaryKey', 0, $params, 'int')) {// [primaryKey] => 2948
       if (!array_key_exists($pk, $items)) return array();
       $items = array($pk => $items[$pk]);
     }