rewriteIds() public static method

..), "asset" => array(...) )
public static rewriteIds ( $object, $rewriteConfig ) : AbstractObject
$object
$rewriteConfig
return AbstractObject
コード例 #1
0
 public function copyRewriteIdsAction()
 {
     $transactionId = $this->getParam("transactionId");
     $idStore = Tool\Session::useSession(function ($session) use($transactionId) {
         return $session->{$transactionId};
     }, "pimcore_copy");
     if (!array_key_exists("rewrite-stack", $idStore)) {
         $idStore["rewrite-stack"] = array_values($idStore["idMapping"]);
     }
     $id = array_shift($idStore["rewrite-stack"]);
     $object = Object::getById($id);
     // create rewriteIds() config parameter
     $rewriteConfig = array("object" => $idStore["idMapping"]);
     $object = Object\Service::rewriteIds($object, $rewriteConfig);
     $object->setUserModification($this->getUser()->getId());
     $object->save();
     // write the store back to the session
     Tool\Session::useSession(function ($session) use($transactionId, $idStore) {
         $session->{$transactionId} = $idStore;
     }, "pimcore_copy");
     $this->_helper->json(array("success" => true, "id" => $id));
 }
コード例 #2
0
ファイル: ElementController.php プロジェクト: pimcore/pimcore
 public function replaceAssignmentsAction()
 {
     $success = false;
     $message = "";
     $element = Element\Service::getElementById($this->getParam("type"), $this->getParam("id"));
     $sourceEl = Element\Service::getElementById($this->getParam("sourceType"), $this->getParam("sourceId"));
     $targetEl = Element\Service::getElementById($this->getParam("targetType"), $this->getParam("targetId"));
     if ($element && $sourceEl && $targetEl && $this->getParam("sourceType") == $this->getParam("targetType") && $sourceEl->getType() == $targetEl->getType()) {
         $rewriteConfig = [$this->getParam("sourceType") => [$sourceEl->getId() => $targetEl->getId()]];
         if ($element instanceof Document) {
             $element = Document\Service::rewriteIds($element, $rewriteConfig);
         } elseif ($element instanceof Object\AbstractObject) {
             $element = Object\Service::rewriteIds($element, $rewriteConfig);
         } elseif ($element instanceof Asset) {
             $element = Asset\Service::rewriteIds($element, $rewriteConfig);
         }
         $element->setUserModification($this->getUser()->getId());
         $element->save();
         $success = true;
     } else {
         $message = "source-type and target-type do not match";
     }
     $this->_helper->json(["success" => $success, "message" => $message]);
 }