コード例 #1
0
 public function getPrefix(PortableElementObject $object)
 {
     $hashFile = DIRECTORY_SEPARATOR . md5($object->getTypeIdentifier() . $object->getVersion()) . DIRECTORY_SEPARATOR;
     return $object->getModel()->getId() . $hashFile;
 }
コード例 #2
0
 /**
  * @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);
 }
コード例 #3
0
 protected function getMinifiedModel(PortableElementObject $object)
 {
     $data = $object->toArray(array('typeIdentifier', 'label'));
     $data['version'] = $object->getVersion();
     return $data;
 }