/var/www/vhosts/nabawater/backend/modules/translation/controllers
NameSizeModeActions
TranslationController.php87840644editdlrm
Edit: /var/www/vhosts/nabawater/backend/modules/translation/controllers/TranslationController.php (8784B)
* * @Title("List/View Translation") */ public function actionIndex() { $searchModel = new SourceMessageSearch(); $params = Yii::$app->request->queryParams; if ( $params === [] ) { $params = Com::getFilter($searchModel::className()); } Yii::$app->request->queryParams = $params; return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $searchModel->search(Yii::$app->request->queryParams) ]); } /** * @return string * @throws \yii\base\InvalidParamException * @author Senthil T * * @Title("Create") */ public function actionCreate() { $model = new SourceMessage(); $modelMessage = new Message(); $post = Yii::$app->getRequest()->post(); if ( $model->load($post) && $modelMessage->load($post) && $model->save() ) { foreach ((array)$modelMessage->translation as $lang => $translation) { $modelTranslation = new Message(); $modelTranslation->id = $model->getPrimaryKey(); $modelTranslation->language = $lang; $modelTranslation->translation = $translation; $modelTranslation->save(false); } $this->redirect('index'); } return $this->render('create', [ 'modelMessage' => $modelMessage, 'languages' => Language::getAll(), 'model' => $model, ]); } /** * @return string * @throws \yii\base\InvalidParamException * @author Senthil T * * @Title("Update") */ public function actionUpdate($id) { $model = SourceMessage::findOne($id); $modelMessage = new Message(); $modelTranslation = Message::findAll(['id' => $model->getPrimaryKey()]); $translationArr = []; foreach ((array)$modelTranslation as $translation) { $translationArr[$translation->language] = $translation->translation; } $modelMessage->translation = $translationArr; $post = Yii::$app->getRequest()->post(); if ( $model->load($post) && $modelMessage->load($post) && $model->save() ) { foreach ((array)$modelMessage->translation as $lang => $translation) { $lang = strtolower($lang); /* @var $modelTranslation Message */ $modelTranslation = Message::find() ->where(['id' => $model->getPrimaryKey(), 'language' => $lang]) ->one(); if ( $modelTranslation === null ) { $modelTranslation = new Message(); $modelTranslation->id = $model->getPrimaryKey(); $modelTranslation->language = strtolower($lang); } $modelTranslation->translation = $translation; $modelTranslation->save(false); } $this->redirect('index'); } return $this->render('update', [ 'modelMessage' => $modelMessage, 'languages' => Language::getAll(), 'model' => $model, ]); } public function actionChange() { Com::setSession(APP_LANGUAGE, $_POST['language']); } public function actionInsert(){ $modelItemFileUploadForm = new ItemFileUploadForm(); $post = Yii::$app->getRequest()->post(); if($modelItemFileUploadForm->load($post)) { $uploadedFile = UploadedFile::getInstance($modelItemFileUploadForm, 'item_file'); if (!$uploadedFile == null) { $uploadHelper = UploadHelper::getInstance(); $uploadHelper->setPath($uploadHelper::ITEM_IMPORT_FILE); //$uploadHelper->setUploadedFile($uploadedFile); $name = sprintf('%s%s', time(), Com::generateRandomString(5, true)); $path = sprintf('%s%s%s.%s', $uploadHelper->getPath(), DIRECTORY_SEPARATOR, $name, isset($upload->extension)); $uploadedFile->saveAs($path); $realpath = $uploadHelper->getRealPath($path); $filePath = UploadHelper::getInstance()->getAbsPath($realpath); $chunkSize = 10000; $chunkHelper = ChunkHelper::getInstance(); $reader = IOFactory::createReaderForFile($filePath); $reader->setReadFilter($chunkHelper); $i = 2; $chunkHelper->setRows(1, $chunkSize); $spredSheet = $reader->load($filePath); $rowCount = $spredSheet->setActiveSheetIndex(0)->getHighestRow(); $worksheet = $spredSheet->getActiveSheet(); foreach ($worksheet->getRowIterator() as $key => $row) { $activeSheet = $spredSheet->getActiveSheet(); $category = $activeSheet->getCell('A'.$i)->getValue(); $en = $activeSheet->getCell('B'.$i)->getValue(); $ar = $activeSheet->getCell('C'.$i)->getValue(); $modelSource = SourceMessage::find()->where(['category' => $category, 'message' => $en])->one(); if($modelSource != null) { //if ( $modelTranslation === null ) { $modelTranslation = new Message(); $modelTranslation->id = $modelSource->getPrimaryKey(); $modelTranslation->language = 'My'; //} $modelTranslation->translation = $ar; $modelTranslation->save(false); } $i++; } Yii::$app->session->setFlash('success', Yii::t('backend', "successfully Uploaded")); return $this->redirect(['import-item']); } } return $this->render('import-item', ['modelItemFileUploadForm' => $modelItemFileUploadForm]); } /** * @return string * * @Title("Export") */ public function actionExport() { $searchModel = new SourceMessageSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $model = $dataProvider->query->all(); // print_r($model); die; $thead = []; $tbody = []; $theading = [ 'Category', 'Message', 'malay', ]; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $index = 1; foreach ($theading as $key => $value) { $sheet->setCellValueByColumnAndRow($index, 1,$theading[$key]); $index++; } $fileName = 'language_file'.'-'.date('Y-m-d').'.Xlsx'; $positionValue = 2; foreach ($model as $key => $value) { $sheet->setCellValue("A$positionValue", $value['category']) ->setCellValue("B$positionValue", $value['message']); ++$positionValue; } // We'll be outputting an excel file header('Content-type: text/x-csv'); // It will be called file.xls header("Content-Disposition: attachment; filename=$fileName"); $writer->save('php://output'); exit; } }