Pimcore\Model\Element\Recyclebin\Item::restore PHP Method

restore() public method

public restore ( $user = null )
    public function restore($user = null)
    {
        $raw = file_get_contents($this->getStoreageFile());
        $element = Serialize::unserialize($raw);
        // check for element with the same name
        if ($element instanceof Document) {
            $indentElement = Document::getByPath($element->getRealFullPath());
            if ($indentElement) {
                $element->setKey($element->getKey() . "_restore");
            }
        } elseif ($element instanceof Asset) {
            $indentElement = Asset::getByPath($element->getRealFullPath());
            if ($indentElement) {
                $element->setFilename($element->getFilename() . "_restore");
            }
        } elseif ($element instanceof Object\AbstractObject) {
            $indentElement = Object::getByPath($element->getRealFullPath());
            if ($indentElement) {
                $element->setKey($element->getKey() . "_restore");
            }
        }
        if (\Pimcore\Tool\Admin::getCurrentUser()) {
            $parent = $element->getParent();
            if (!$parent->isAllowed("publish")) {
                throw new \Exception("Not sufficient permissions");
            }
        }
        $this->restoreChilds($element);
        $this->delete();
    }