コード例 #1
0
ファイル: FtpHelper.php プロジェクト: AnduZhang/nws
 public function performScan($fileNames)
 {
     $i = 0;
     $filesArray = [];
     foreach ($fileNames as $file) {
         //            $i++;
         //Test code starts here
         //            $fileUrl = $this->_downloadFile($file);
         //            Yii::$app->LSRParser->url = $fileUrl;
         //            Yii::$app->LSRParser->fileName = $file;
         //            $fileArray = Yii::$app->LSRParser->getContent();
         //Test code ends here
         if (preg_match($this->fileNameFormat, $file)) {
             $lastModifiedDate = $this->_getLastModifiedDateForFile($file);
             $isFileRecordExists = models\ProcessedLSR::find()->where('fileName = :filename', [':filename' => $file])->one();
             if ($isFileRecordExists && $isFileRecordExists->modifiedDate != $lastModifiedDate || !$isFileRecordExists || $this->forceScan) {
                 $fileUrl = $this->_downloadFile($file);
                 Yii::$app->LSRParser->url = $fileUrl;
                 Yii::$app->LSRParser->fileName = $file;
                 $fileArray = Yii::$app->LSRParser->getContent();
                 $validationString = $fileArray['state'] . ' ' . $fileArray['city'] . ' ' . $fileArray['date'] . ' ' . $fileArray['time'];
                 if ($isFileRecordExists) {
                     if ($isFileRecordExists->validationString != $validationString || $this->forceScan) {
                         //Update required
                         $isFileRecordExists->validationString = $validationString;
                         $isFileRecordExists->modifiedDate = $lastModifiedDate;
                         $isFileRecordExists->save();
                         $this->insertNewLSRRecords($fileArray);
                     }
                 } else {
                     //We need to add a new record
                     $ProcessedLSRModel = new models\ProcessedLSR();
                     $ProcessedLSRModel->fileName = $file;
                     $ProcessedLSRModel->validationString = $validationString;
                     $ProcessedLSRModel->modifiedDate = $lastModifiedDate;
                     $ProcessedLSRModel->save();
                     $this->insertNewLSRRecords($fileArray);
                 }
                 $filesArray[] = $fileArray;
             }
             $i++;
             @unlink(\Yii::getAlias('@app') . '/tmp/' . $file);
         }
     }
     return $filesArray;
 }
コード例 #2
0
ファイル: ProcessedLSRSearch.php プロジェクト: AnduZhang/nws
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ProcessedLSR::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'modifiedDate' => $this->modifiedDate]);
     $query->andFilterWhere(['like', 'fileName', $this->fileName])->andFilterWhere(['like', 'validationString', $this->validationString]);
     return $dataProvider;
 }