Переход с EvoGallery на SimpleGallery
- Дополнения
- SimpleGallery
- Переход с EvoGallery
24032
Переход с EvoGallery на SimpleGallery
Вот такой скрипт положить возле index.php и запустить (желательно в консоли, так как может занять много времени в случае больших галерей), сделав предварительно бэкап
<?php define('MODX_API_MODE', true); define('MODX_BASE_PATH', __DIR__ . '/'); define('MODX_BASE_URL', '/'); define('MODX_SITE_URL', 'https://modx-gu.ru/'); include_once("index.php"); $modx->db->connect(); if (empty ($modx->config)) { $modx->getSettings(); } include_once(MODX_BASE_PATH.'assets/plugins/simplegallery/lib/table.class.php'); $modx->invokeEvent("OnManagerPageInit"); $q = $modx->db->query("SELECT * FROM {$modx->getFullTableName('portfolio_galleries')} ORDER BY `content_id` ASC, `sortorder` ASC, `id` ASC"); $fs = \Helpers\FS::getInstance(); $sg = new \SimpleGallery\sgData($modx); while ($row = $modx->db->getRow($q)) { $path = 'assets/galleries/'.$row['content_id'].'/'; if ($fs->checkFile($path.'original/'.$row['filename'])) { $sg->create(); $sg->set('sg_rid',$row['content_id']); $sg->set('sg_title',$row['title']); $sg->set('sg_description',$row['description']); $sg->set('sg_image',$path.$row['filename']); $fs->moveFile($path.$row['filename'],$path.'large/'.$row['filename']); $fs->moveFile($path.'original/'.$row['filename'],$path.$row['filename']); $name = MODX_BASE_PATH . $path.$row['filename']; $info = getimagesize($name); $properties = array( 'width' => $info[0], 'height' => $info[1], 'size' => filesize($name) ); $sg->set('sg_properties',$properties); $sg->save(); } }
Предполагается, что включена настройка keepOriginal, и EvoGallery сохраняет загруженные файлы в папку /original/, поэтому с файлами происходит следующее (пусть для примера есть папка assets/galleries/10/):
- файл из assets/galleries/10/ перемещается в assets/galleries/10/large/;
- файл из assets/galleries/10/original/ перемещается в assets/galleries/10/ и это теперь основной файл SimpleGallery.
После того, как все закончилось, можно настроить sgThumb и нарезать превьюшки.
Если не получилось, то оставайтесь с EvoGallery, не ломайте голову (: