/** * Add attachement file * * @param object $product * @param array $data * @param array $locales * * @return object|null Attachement */ public function processAddAttachment($product, $data, $locales) { $attachment = null; $file = $data['file']; if (!empty($file)) { $fileName = sha1(microtime()); $attachment = new \AttachmentCore(); foreach ($locales as $locale) { $attachment->name[(int) $locale['id_lang']] = $data['name']; $attachment->description[(int) $locale['id_lang']] = $data['description']; } $attachment->file = $fileName; $attachment->mime = $file->getMimeType(); $attachment->file_name = $file->getClientOriginalName(); $file->move(_PS_DOWNLOAD_DIR_, $fileName); if ($attachment->add()) { $attachment->attachProduct($product->id); } } return $attachment; }