public function getPrefix(PortableElementObject $object) { $hashFile = DIRECTORY_SEPARATOR . md5($object->getTypeIdentifier() . $object->getVersion()) . DIRECTORY_SEPARATOR; return $object->getModel()->getId() . $hashFile; }
/** * @param PortableElementObject $object * @param string $source Temporary directory path * @throws PortableElementFileStorageException * @throws PortableElementVersionIncompatibilityException */ public function register(PortableElementObject $object, $source) { try { $latestVersion = $this->getLatestVersion($object->getTypeIdentifier()); if (version_compare($object->getVersion(), $latestVersion->getVersion(), '<')) { throw new PortableElementVersionIncompatibilityException('A newer version of the code already exists ' . $latestVersion->getVersion()); } } catch (PortableElementNotFoundException $e) { if (!$object->hasVersion()) { $object->setVersion('0.0.0'); } // The portable element to register does not exist, continue } $files = $this->getFilesFromPortableElement($object); $this->getFileSystem()->registerFiles($object, $files, $source); $this->update($object); }
protected function getMinifiedModel(PortableElementObject $object) { $data = $object->toArray(array('typeIdentifier', 'label')); $data['version'] = $object->getVersion(); return $data; }