getByPath() public static method

public static getByPath ( string $path ) : self
$path string
return self
 /**
  * @return AbstractObject|\Pimcore\Model\Object\Participation
  * @throws \Exception
  */
 public function makeParticipation()
 {
     $objectFolderPath = Plugin::getConfig()->get(Plugin::CONFIG_OBJECTFOLDERPATH);
     $objectFolder = AbstractObject::getByPath($objectFolderPath);
     if (!$objectFolder instanceof Folder) {
         throw new \Exception("Error: objectFolderPath [{$objectFolderPath}] " . "is not a valid object folder.");
     }
     // create basic object stuff
     $key = $this->createParticipationKey();
     $participation = new Participation();
     $participation->setKey($key);
     $participation->setParent($objectFolder);
     $participation->setPublished(true);
     $participation->setCreationDate(time());
     $participation->SetIpCreated($_SERVER['REMOTE_ADDR']);
     $confirmation = $this->makeConfirmation();
     $participation->setConfirmationCode($confirmation->createCode());
     return $participation;
 }
Exemplo n.º 2
0
 /**
  * @param $element
  * @param $key
  * @param $path
  * @return string
  */
 protected function getSaveCopyName($element, $key, $path)
 {
     if ($element instanceof Object\AbstractObject) {
         $equal = Object\AbstractObject::getByPath($path . "/" . $key);
     } else {
         if ($element instanceof Document) {
             $equal = Document::getByPath($path . "/" . $key);
         } else {
             if ($element instanceof Asset) {
                 $equal = Asset::getByPath($path . "/" . $key);
             }
         }
     }
     if ($equal) {
         $key .= "_WScopy";
         return $this->getSaveCopyName($element, $key, $path);
     }
     return $key;
 }
Exemplo n.º 3
0
 public function correctPath()
 {
     // set path
     if ($this->getId() != 1) {
         // not for the root node
         if ($this->getParentId() == $this->getId()) {
             throw new \Exception("ParentID and ID is identical, an element can't be the parent of itself.");
         }
         $parent = AbstractObject::getById($this->getParentId());
         if ($parent) {
             // use the parent's path from the database here (getCurrentFullPath), to ensure the path really exists and does not rely on the path
             // that is currently in the parent object (in memory), because this might have changed but wasn't not saved
             $this->setPath(str_replace("//", "/", $parent->getCurrentFullPath() . "/"));
         } else {
             // parent document doesn't exist anymore, set the parent to to root
             $this->setParentId(1);
             $this->setPath("/");
         }
         if (strlen($this->getKey()) < 1) {
             $this->setKey("---no-valid-key---" . $this->getId());
             throw new \Exception("Document requires key, generated key automatically");
         }
     } else {
         if ($this->getId() == 1) {
             // some data in root node should always be the same
             $this->setParentId(0);
             $this->setPath("/");
             $this->setKey("");
             $this->setType("folder");
         }
     }
     if (Service::pathExists($this->getFullPath())) {
         $duplicate = AbstractObject::getByPath($this->getFullPath());
         if ($duplicate instanceof self and $duplicate->getId() != $this->getId()) {
             throw new \Exception("Duplicate full path [ " . $this->getFullPath() . " ] - cannot save object");
         }
     }
     if (strlen($this->getFullPath()) > 765) {
         throw new \Exception("Full path is limited to 765 characters, reduce the length of your parent's path");
     }
 }
 private static function createObjects()
 {
     try {
         $objectFolder = AbstractObject::getByPath(Plugin::CONFIG_OBJECTFOLDERPATH_DEFAULT);
         if (!is_object($objectFolder)) {
             $objectFolder = new Folder();
             $objectFolder->setKey(basename(Plugin::CONFIG_OBJECTFOLDERPATH_DEFAULT));
             $objectFolder->setParent(AbstractObject::getByPath(dirname(Plugin::CONFIG_OBJECTFOLDERPATH_DEFAULT)));
             $objectFolder->save();
         }
         if (!$objectFolder instanceof Folder) {
             throw new \Exception('Can not use object path [' . Plugin::CONFIG_OBJECTFOLDERPATH_DEFAULT . '] as default participation folder.');
         }
     } catch (\Exception $exception) {
         throw new \Exception('Unable to create/use participation folder [' . Plugin::CONFIG_OBJECTFOLDERPATH_DEFAULT . ']: ' . $exception->getMessage());
     }
 }