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(); } } }