Beispiel #1
0
 private function hasAccess($path)
 {
     //echo file_get_contents('php://input');
     //return true;
     $entityBody = \yii\helpers\Json::decode(file_get_contents('php://input'));
     //\yii\helpers\Json::decode
     Yii::info("input jsond: " . \yii\helpers\Json::encode($entityBody));
     Yii::info("input: " . file_get_contents('php://input'));
     //
     if (isset($entityBody["login_id"])) {
         $model = new \app\models\FormLogin();
         $model->id = $entityBody['login_id'];
         $model->hash = $entityBody['login_hash'];
         //$model->company= $entityBody['login_company'];
         //return true;
         if ($model->apiLogin()) {
             Yii::$app->timezone = Yii::$app->user->getParam('timezone');
             Yii::$app->language = Yii::$app->user->getParam('language');
             if ((int) $entityBody['login_company'] == 0) {
                 return true;
             }
             //no company
             $company = Company::findOne($entityBody['login_company']);
             if ($company !== null) {
                 $this->company = $company->id;
                 Company::loadComp($company);
                 return true;
             }
         } else {
             return false;
         }
     }
     return false;
     //if isGuest() return false
     $arr = explode('/', $path);
     if (!isset($this->translate[$arr[0]])) {
         return false;
     }
     return Yii::$app->user->checkAccess($path);
 }
Beispiel #2
0
 public function init()
 {
     date_default_timezone_set('Asia/Tel_Aviv');
     //\Yii::$app->language = 'he_il';
     //if ($this->company==null) {
     //    Yii::$app->user->Set('Company', 0);
     //}
     if (!Yii::$app->user->isGuest) {
         \app\helpers\Linet3Helper::SetTheme();
         date_default_timezone_set(Yii::$app->user->getParam('timezone'));
         Yii::$app->language = Yii::$app->user->getParam('language');
         Yii::$app->timezone = Yii::$app->user->getParam('timezone');
         //Yii::$app->theme = Yii::$app->user->getParam('theme');
         if (isset(Yii::$app->session['company'])) {
             $this->company = Yii::$app->session['company'];
             //if(Yii::$app->user->getParam('company')!=0){
             //    $this->company = Yii::$app->user->getParam('company');
             //Yii::$app->session['company']=0;
             //}
         }
     } else {
         //default theme
         //Yii::$app->theme = 'admin4';
     }
     Yii::info("Selected Company ID: " . $this->company);
     if ($this->company == 0) {
         if ($this->id != 'company') {
             //print "'".Yii::$app->controller->id."'";
             $this->redirect(\yii\helpers\BaseUrl::base() . '/company/index');
             Yii::$app->end();
         } else {
             //echo $this->id;
             //Yii::$app->end();
             Yii::$app->db->close();
             Yii::$app->db->dsn = Yii::$app->dbMain->dsn;
             Yii::$app->db->tablePrefix = Yii::$app->dbMain->tablePrefix;
             Yii::$app->db->username = Yii::$app->dbMain->username;
             Yii::$app->db->password = Yii::$app->dbMain->password;
             Yii::$app->db->open();
         }
     } else {
         //hasAccess!
         //$this->company = Company::findByPk($this->company);
         $company = Company::findOne($this->company);
         if ($company !== null) {
             Company::loadComp($company);
         } else {
             $this->redirect(\yii\helpers\BaseUrl::base() . '/company/index');
         }
     }
     //*/
     return parent::init();
 }