コード例 #1
0
 /**
  * fourth sequence 
  * Method untuk meload data rule berdasarkan primary key
  */
 private function loadModel($id)
 {
     $model = Rule::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
コード例 #2
0
 public function actionGetRule()
 {
     $keyword = $_GET['q'];
     $models = Rule::model()->findAll(array('condition' => 'rule_name LIKE :keyword', 'params' => array(':keyword' => '%' . $keyword . '%'), 'order' => 'rule_name', 'limit' => 5));
     $suggest = array();
     foreach ($models as $model) {
         $suggest[] = array('id' => $model->id_rule . '-' . $model->point, 'text' => $model->rule_name);
     }
     echo CJSON::encode($suggest);
 }
コード例 #3
0
ファイル: QAuthManager.php プロジェクト: bafio89/qea-u
 /**
  * This utility says if a user can execute certain rules over an object.
  * 
  * @param User $user
  * @param string $rule_name
  * @param string $obj_type
  * @param number $obj_id
  * @return boolean Returns true if the user has access, false otherwise.
  */
 public static function hasAccess($user, $rule_name, $obj_type = null, $obj_id = null)
 {
     $ret_val = false;
     if (isset($user) && isset($rule_name)) {
         /* rule */
         $rule = Rule::model()->findByAttributes(array('name' => $rule_name));
         /* does it exist? */
         if (isset($rule)) {
             $perms_attr['rule_id'] = $rule->id;
             $perms_attr['object_type'] = isset($obj_type) ? $obj_type : null;
             $perms_attr['object_id'] = isset($obj_id) ? $obj_id : null;
             $perms = Permission::model()->findAllByAttributes($perms_attr);
             if (isset($perms)) {
                 foreach ($perms as $p) {
                     if ($p->subject_type == 'users' && $p->subject_id == $user->id) {
                         $ret_val = true;
                         break;
                     }
                 }
                 if (!$ret_val) {
                     foreach ($perms as $p) {
                         if ($p->subject_type == 'groups' && $user->isInGroup($p->subject_id)) {
                             $ret_val = true;
                             break;
                         }
                     }
                 }
             }
         }
     }
     return $ret_val;
 }