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
     }
 }