<?php /** * Created by PhpStorm. * User: jplaskonka * Date: 05.09.14 * Time: 09:11 * Migruje foldery assetów do pliku */ include dirname(__FILE__) . "/../../../../pimcore/cli/startup.php"; function getFolderList(Asset_Folder $rootFolder, &$folderList = array()) { if ($rootFolder->getParent()) { $folderList[] = array("parent" => $rootFolder->getParent()->getFullPath(), "key" => $rootFolder->getKey()); } foreach ($rootFolder->getChilds() as $childFolder) { if ($childFolder instanceof Asset_Folder) { getFolderList($childFolder, $folderList); } } } $rootFolder = Asset_Folder::getByPath("/"); $folderList = array(); getFolderList($rootFolder, $folderList); $file = fopen("folders/list.txt", "w"); fwrite($file, json_encode($folderList)); echo "Done\n";
protected function getOrCreateAssetFolderByPath($path) { $folder = Asset_Folder::getByPath($path); if (!$folder instanceof Asset_Folder) { str_replace("\\", "/", $path); $parts = explode("/", $path); if (empty($parts[count($parts) - 1])) { $parts = array_slice($parts, 0, -1); } $parts = array_slice($parts, 1); $parentPath = "/"; foreach ($parts as $part) { $parent = Asset_Folder::getByPath($parentPath); if ($parent instanceof Asset_Folder) { $part = Pimcore_File::getValidFilename($part); $folder = Asset_Folder::getByPath($parentPath . $part); if (!$folder instanceof Asset_Folder) { $folder = Asset::create($parent->getId(), array("filename" => $part, "type" => "folder", "userOwner" => $this->getUser()->getId(), "userModification" => $this->getUser()->getId())); } $parentPath .= $part . "/"; } else { Logger::error("parent not found!"); return null; } } } return $folder; }
<?php /** * Created by PhpStorm. * User: jplaskonka * Date: 05.09.14 * Time: 09:11 * Migruje foldery assetów do pliku */ include dirname(__FILE__) . "/../../pimcore/cli/startup.php"; $file = file_get_contents(dirname(__FILE__) . "folders/list.txt"); if ($file) { $folderList = json_decode($file); foreach ($folderList as $folder) { $newFolder = new Asset_Folder(); $newFolder->setParent(Asset_Folder::getByPath($folder->parent)); $newFolder->setFilename($folder->key); try { $newFolder->save(); } catch (Exception $e) { echo $folder->parent . "/" . $folder->key . ": already exists\n"; } } }