[ 'class' => VerbFilter::className (), 'actions' => [ 'delete' => [ 'post' ] ] ] , 'access' => [ 'class' => \yii\filters\AccessControl::className(), 'rules' => [ // allow authenticated users [ 'actions' => ['create','index','view','update','import'], 'allow' => true, 'roles' => ['admin','employee','reception'], ], // everything else is denied ], ], ]; } /** * Lists all Key models. * * @return mixed */ // http://localhost/fitness-web/backend/web/index.php?r=key/index erre ezt hívja meg elsőzör public function actionIndex() { $searchModel = new KeySearch (); $dataProvider = $searchModel->search ( Yii::$app->request->queryParams ); // backend/views/kex/index.php return $this->render ( 'index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider ] // csomagoló osztály a queryhez ); } /** * Lists all Key models. * * @return mixed */ public function actionIndexCustomer($id) { $model = Customer::findOne ( $id ); if (! isset ( $model )) { throw new NotFoundHttpException ( 'The requested page does not exist.' ); } $searchModel = new KeyCustomerSearch ( [ 'customer' => $model ] ); $dataProvider = $searchModel->search ( Yii::$app->request->queryParams ); // backend/views/kex/index.php return $this->render ( 'index-customer', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider ] // csomagoló osztály a queryhez ); } /** * Displays a single Key model. * * @param integer $id * @return mixed */ public function actionView($id) { return $this->render ( 'view', [ 'model' => $this->findModel ( $id ) ] ); } /** * Creates a new Key model. * If creation is successful, the browser will be redirected to the 'view' page. * * @return mixed */ public function actionCreate() { $model = new Key (); if ($model->load ( Yii::$app->request->post () ) && $model->save ()) { return $this->redirect ( [ 'view', 'id' => $model->id_key ] ); } else { return $this->render ( 'create', [ 'model' => $model ] ); } } /** * Updates an existing Key model. * If update is successful, the browser will be redirected to the 'view' page. * * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel ( $id ); if ($model->load ( Yii::$app->request->post () ) && $model->save ()) { return $this->redirect ( [ 'view', 'id' => $model->id_key ] ); } else { return $this->render ( 'update', [ 'model' => $model ] ); } } /** * Deletes an existing Key model. * If deletion is successful, the browser will be redirected to the 'index' page. * * @param integer $id * @return mixed */ public function actionDelete($id) { $this->findModel ( $id )->delete (); return $this->redirect ( [ 'index' ] ); } public function actionImport() { $model = new KeyImportForm(); $arr = [ ]; $updated = 0; $inserted = 0; $failed = 0; $found = 0; if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance ( $model, 'file' ); if ( isset($model->file)){ // print_r($model->file); // $model->message = "ok"; $file = $model->file->tempName; $file = fopen ( $file, "r" ); $trans = null; $i = 0; $j = 0; while ( ($data = fgetcsv ( $file, 0, "," )) != null ) { // if ($i == 0) { // $i ++; // continue; // } $j ++; $number = $key = false; if (isset ( $data [0] )) { $number = $data [0]; } if (isset ( $data [1] )) { $key = $data [1]; } if (isset ( $number ) && isset ( $key ) && ! strpos ( $key, "E+" ) && strlen ( $key ) > 7) { $item = [ ]; $item ['number'] = $number; $item ['key'] = Helper::fixAsciiChars ( $key ); $arr [] = $item; } } $found = count($arr); foreach ( $arr as $item ) { try { $key = Key::findOne(['number' => $item ['number']]); if ( !isset($key)){ $key = new Key (); $key->number = $item ['number']; $key->rfid_key = $item ['key']; $key->status = Key::STATUS_ACTIVE; $key->type = Key::TYPE_NORMAL; $key->save ( false ); $inserted++; }else{ $key->rfid_key = $item['key']; $key->update(false); $updated++; } } catch ( \Exception $e ) { \Yii::error ( "Failed to save key: " . $key->number ); $failed++; } } $message = "Fájlnév: " . $model->file->name; $message .= "
Fájlból beolvasva: $found "; $message .= "
Új kulcs sikeresen importálva: $inserted "; $message .= "
Rendszerben lévő kulcs sikeresen módosítva: $updated "; $message .= "
Sikertelen kulcs importálás/módosítás: $failed "; \Yii::$app->session->setFlash('success',$message); $model->message = $message; \Yii::$app->session->set('mymessage',$model->message); return $this->redirect ( [ 'import' ] ); } } $model->message = \Yii::$app->session->get('mymessage'); \Yii::$app->session->remove('mymessage'); return $this->render ( 'import', [ 'model' => $model ] ); } /** * Finds the Key model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * * @param integer $id * @return Key the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Key::findOne ( $id )) !== null) { return $model; } else { throw new NotFoundHttpException ( 'The requested page does not exist.' ); } } }