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));
}