<?php

// STATICROUTES
$file = Pimcore\Config::locateConfigFile("staticroutes");
$db = \Pimcore\Db::get();
$staticRoutes = $db->fetchAll("SELECT * FROM staticroutes");
$json = \Pimcore\Db\JsonFileTable::get($file);
$json->truncate();
foreach ($staticRoutes as $route) {
    $data = $route;
    unset($data["id"]);
    $json->insertOrUpdate($data, $route["id"]);
}
$db->query("RENAME TABLE `staticroutes` TO `PLEASE_DELETE__staticroutes`;");
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = \Pimcore\Model\Tool\Newsletter\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/newsletter");
}
// TAG SNIPPET MANAGEMENT
$dir = PIMCORE_CONFIGURATION_DIRECTORY . "/tags";
if (is_dir($dir)) {
    $file = Pimcore\Config::locateConfigFile("tag-manager.json");
    $json = \Pimcore\Db\JsonFileTable::get($file);
    $json->truncate();
    $files = scandir($dir);
    foreach ($files as $file) {
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = Pimcore\Model\Tool\Tag\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/tags");
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = \Pimcore\Model\Tool\Qrcode\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/qrcodes");
}
// SQL REPORTS
$dir = PIMCORE_CONFIGURATION_DIRECTORY . "/sqlreport";
if (is_dir($dir)) {
    $file = Pimcore\Config::locateConfigFile("custom-reports.json");
    $json = \Pimcore\Db\JsonFileTable::get($file);
    $json->truncate();
    $files = scandir($dir);
    foreach ($files as $file) {
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = \Pimcore\Model\Tool\CustomReport\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/sqlreport");
$json->truncate();
foreach ($staticRoutes as $route) {
    $data = $route;
    unset($data["id"]);
    $json->insertOrUpdate($data, $route["id"]);
}
$db->query("RENAME TABLE `documents_doctypes` TO `PLEASE_DELETE__documents_doctypes`;");
// PREDEFINED PROPERTIES
$file = Pimcore\Config::locateConfigFile("predefined-properties");
$db = \Pimcore\Db::get();
$staticRoutes = $db->fetchAll("SELECT * FROM properties_predefined");
$json = \Pimcore\Db\JsonFileTable::get($file);
$json->truncate();
foreach ($staticRoutes as $route) {
    $data = $route;
    unset($data["id"]);
    $json->insertOrUpdate($data, $route["id"]);
}
$db->query("RENAME TABLE `properties_predefined` TO `PLEASE_DELETE__properties_predefined`;");
// PREDEFINED PROPERTIES
$file = Pimcore\Config::locateConfigFile("predefined-asset-metadata");
$db = \Pimcore\Db::get();
$staticRoutes = $db->fetchAll("SELECT * FROM assets_metadata_predefined");
$json = \Pimcore\Db\JsonFileTable::get($file);
$json->truncate();
foreach ($staticRoutes as $route) {
    $data = $route;
    unset($data["id"]);
    $json->insertOrUpdate($data, $route["id"]);
}
$db->query("RENAME TABLE `assets_metadata_predefined` TO `PLEASE_DELETE__assets_metadata_predefined`;");
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = Asset\Image\Thumbnail\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/imagepipelines");
}
// VIDEO THUMBNAILS
$dir = PIMCORE_CONFIGURATION_DIRECTORY . "/videopipelines";
if (is_dir($dir)) {
    $file = Pimcore\Config::locateConfigFile("video-thumbnails");
    $json = \Pimcore\Db\JsonFileTable::get($file);
    $json->truncate();
    $files = scandir($dir);
    foreach ($files as $file) {
        if (strpos($file, ".xml")) {
            $name = str_replace(".xml", "", $file);
            $thumbnail = Asset\Video\Thumbnail\Config::getByName($name);
            $thumbnail = object2array($thumbnail);
            $thumbnail["id"] = $thumbnail["name"];
            unset($thumbnail["name"]);
            $json->insertOrUpdate($thumbnail, $thumbnail["id"]);
        }
    }
    // move data
    rename($dir, $legacyFolder . "/videopipelines");