Переход с EvoGallery на SimpleGallery

Вот такой скрипт положить возле index.php и запустить (желательно в консоли, так как может занять много времени в случае больших галерей), сделав предварительно бэкап:


<?php
define('MODX_API_MODE', true);
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, не ломайте голову (:

2 комментария

avatar
полезное решение, а то далеко не везде получается с эвогаллери соскочить
avatar
+) буду пробовать, так как надоела evogallery своей глючностью
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.