コード例 #1
0
ファイル: Haproxy.php プロジェクト: ZSShang/basic
 public static function getRules()
 {
     $sql = "SELECT aid,role_id,model_id,feature_id,scope_id FROM rule ORDER BY role_id ASC";
     $rules = Haproxy::findBySql($sql)->asArray()->all();
     $acl = array();
     $unique = array();
     foreach ($rules as $k => $v) {
         $app = Haproxy::findBySql("SELECT id,name FROM app WHERE id={$v['aid']}")->asArray()->one();
         $acl[$k]['app'] = $app['name'];
         $acl[$k]['role_id'] = $v['role_id'];
         $user = Haproxy::findBySql("SELECT uid FROM role_user WHERE rid={$v['role_id']} ORDER BY uid ASC")->asArray()->all();
         $userStr = '';
         foreach ($user as $vu) {
             $userStr .= $vu['uid'] . " ";
         }
         $acl[$k]['user'] = $userStr;
         $model = Haproxy::findBySql("SELECT id,name FROM model WHERE id={$v['model_id']}")->asArray()->one();
         $acl[$k]['model'] = $model['name'];
         $feature = Haproxy::findBySql("SELECT id,name FROM feature WHERE id={$v['feature_id']}")->asArray()->one();
         $acl[$k]['feature'] = $feature['name'];
         $scope = Haproxy::findBySql("SELECT scope_id FROM rule WHERE aid={$v['aid']} AND role_id={$v['role_id']} AND model_id={$v['model_id']} AND feature_id={$v['feature_id']} ORDER BY scope_id ASC")->asArray()->all();
         $scopeStr = '';
         foreach ($scope as $vs) {
             $scopeStr .= $vs['scope_id'] . " ";
         }
         $acl[$k]['scope'] = $scopeStr;
         $unique[$k] = $v['aid'] . $v['role_id'] . $v['model_id'] . $v['feature_id'];
     }
     $rules = array('acl' => $acl, 'unique' => $unique);
     return $rules;
 }