예제 #1
0
 private function moveFilesUnderCorrectResource(&$md, $field)
 {
     $matches = array();
     preg_match_all('~' . $this->uploadURL . '0/(?<file>[^ "\\)]+)~', $md, $matches);
     $path = $this->uploadPath . '0/';
     $correctPath = $this->uploadPath . $this->resource->id . '/';
     if (!is_dir($correctPath)) {
         mkdir($correctPath);
     }
     $files = $matches['file'];
     if (!empty($files)) {
         $files = array_map('trim', $files);
         $files = array_keys(array_flip($files));
         $files = array_filter($files);
         foreach ($files as $file) {
             rename($path . $file, $correctPath . $file);
         }
         $md = str_replace($this->uploadURL . '0/', $this->uploadURL . $this->resource->id . '/', $md);
         if (strpos($field, 'tv')) {
             $tvID = str_replace('tv', '', $field);
             $content = str_replace($this->uploadURL . '0/', $this->uploadURL . $this->resource->id . '/', $this->resource->getTVValue($tvID));
             $this->resource->setTVValue($tvID, $content);
         } else {
             if ($field == 'ta') {
                 $field = 'content';
             }
             $content = str_replace($this->uploadURL . '0/', $this->uploadURL . $this->resource->id . '/', $this->resource->get($field));
             $this->resource->set($field, $content);
             $this->resource->save();
         }
     }
 }