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

Спонсор скрипта — f1fanatic (:


<?php
define('MODX_API_MODE', true);
define('MODX_BASE_PATH', __DIR__ . '/');
define('MODX_BASE_URL', '/');
define('MODX_SITE_URL', 'http://sitename.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('maxigallery')} ORDER BY `gal_id` ASC, `pos` ASC, `id` ASC");
$fs = \Helpers\FS::getInstance();
$sg = new \SimpleGallery\sgData($modx);
while ($row = $modx->db->getRow($q)) {
    $path = 'assets/galleries/'.$row['gal_id'].'/'.$row['filename'];
    if ($fs->checkFile($path)) {
        $sg->create();
        $sg->set('sg_rid',$row['gal_id']);
        $sg->set('sg_title',$row['title']);
        $sg->set('sg_description',$row['descr']);
	$sg->set('sg_createdon',$row['date']);
        $sg->set('sg_image',$path);
        $name = MODX_BASE_PATH . $path;
        $info = getimagesize($name);
        $properties = array(
            'width' => $info[0],
            'height' => $info[1],
            'size' => filesize($name)
        );
        $sg->set('sg_properties',$properties);
        $sg->save();
    }
}

5 комментариев

avatar
Отлично! благодарю f1fanatic и Pathologic !
avatar
Благодарю! Очень нужный скрипт!
avatar
Перед запуском возможно придется вручную создать таблицу в БД
# --------------------------------------------------------

#
# Table structure for table `modx_sg_images`
#

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `modx_sg_images`;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

CREATE TABLE `modx_sg_images` (
  `sg_id` int(10) NOT NULL AUTO_INCREMENT,
  `sg_image` text NOT NULL,
  `sg_title` varchar(255) NOT NULL DEFAULT '',
  `sg_description` text NOT NULL,
  `sg_properties` text NOT NULL,
  `sg_add` text NOT NULL,
  `sg_isactive` int(1) NOT NULL DEFAULT '1',
  `sg_rid` int(10) DEFAULT NULL,
  `sg_index` int(10) NOT NULL DEFAULT '0',
  `sg_createdon` datetime NOT NULL,
  PRIMARY KEY (`sg_id`),
  KEY `sg_rid` (`sg_rid`),
  KEY `sg_index` (`sg_index`),
  KEY `sg_isactive` (`sg_isactive`)
) ENGINE=MyISAM AUTO_INCREMENT=918 DEFAULT CHARSET=utf8 COMMENT='Datatable for SimpleGallery plugin.';
avatar
Таблицы создаются сами при первом запуске плагина. То есть сначала нужно запустить плагин, а потом уже делать перенос.
avatar
столкнулся на «закрытом на все замки» сайте от Ревизиума, что автоматически не создаются таблицы… Пусть будет, мож у кого такие же проблемы возникнут с ней
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.