public function analyze()
 {
     $analyzedFiles = File::where('file_process_id', '=', 4)->get();
     foreach ($analyzedFiles as $file) {
         $this->updateParcelLocation($file->id);
         $this->updateFileLocation($file->id);
         $this->updateProceedingLocation($file->id);
         $this->updateProjectLocation($file->id);
         $file->update(['file_process_id' => 5]);
         //analyzed
     }
 }
 public function identify()
 {
     $downloadedFiles = File::where('file_process_id', '=', 2)->get();
     foreach ($downloadedFiles as $file) {
         $txtFilePath = config('monitor.text_file_path') . $file->id . '.txt';
         if (is_file($txtFilePath)) {
             $file->update(['file_process_id' => '3']);
             //OCRd
         }
         clearstatcache();
     }
 }
 public function recognize()
 {
     $ocrdFiles = File::where('file_process_id', '=', 3)->get();
     foreach ($ocrdFiles as $file) {
         $txtFilePath = config('monitor.text_file_path') . $file->id . '.txt';
         $text = file_get_contents($txtFilePath);
         $parcelsNums = $this->findParcelNumbers($text);
         if ($parcelsNums) {
             $parcels = $this->createDbDataArray($parcelsNums, $file->id);
             Parcel::insert($parcels);
         }
         $listNums = $this->findOwnershipListNumbers($text);
         if ($listNums) {
             $ownershipLists = $this->createDbDataArray($listNums, $file->id);
             OwnershipList::insert($ownershipLists);
         }
         $file->update(['file_process_id' => '4']);
         //recognized
     }
 }
 protected function saveFiles($proceeding_id, $files)
 {
     if (empty($files)) {
         return null;
     }
     $files = is_array(current($files)) ? $files : array($files);
     foreach ($files as $file) {
         $encodedUrl = urldecode($file['url']);
         $encodedUrl = rawurlencode($encodedUrl);
         $encodedUrl = str_replace("%2F", "/", $encodedUrl);
         $encodedUrl = str_replace("%3A", ":", $encodedUrl);
         if (!$this->existUrl($encodedUrl)) {
             continue;
         }
         $curlInfo = $this->getCurlInfo($encodedUrl);
         $info = pathinfo($file['url']);
         $file_data = ['original_filename' => $info['basename'], 'url' => $encodedUrl, 'file_size' => $curlInfo['download_content_length'], 'mime_type' => $curlInfo['content_type'], 'file_extension' => $info['extension'], 'city_district_id' => $this->city_district_id, 'file_process_id' => 1, 'proceeding_id' => $proceeding_id];
         $file_data['caption'] = isset($file['caption']) ? $file['caption'] : $file_data['original_filename'];
         $newFile = File::create($file_data);
         $file_name = $newFile->id . '.' . $file_data['file_extension'];
         $this->uploader->upload($encodedUrl, $file_name);
         $newFile->update(['file_process_id' => 2]);
         //downloaded
     }
 }