first
This commit is contained in:
commit
00b7dbd0b7
10404 files changed
+3285853
No files matched your search
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Nextend\SmartSlider3\Install;
|
||||
|
||||
|
||||
use Nextend\Framework\Database\Database;
|
||||
use Nextend\SmartSlider3\Install\Joomla\InstallJoomla;
|
||||
use Nextend\SmartSlider3\Install\WordPress\InstallWordPress;
|
||||
use Nextend\SmartSlider3\Settings;
|
||||
use Nextend\SmartSlider3\SmartSlider3Info;
|
||||
|
||||
class Install {
|
||||
|
||||
public static function install() {
|
||||
|
||||
$tables = new Tables();
|
||||
$tables->install();
|
||||
InstallWordPress::install();
|
||||
|
||||
preg_match('/[\d\.]+[\d]/', Settings::get('n2_ss3_version'), $oldversion);
|
||||
if ($oldversion && version_compare($oldversion[0], "3.5.1.2", '<=')) {
|
||||
$tables->reindexOrders();
|
||||
}
|
||||
|
||||
Settings::set('n2_ss3_version', SmartSlider3Info::$completeVersion);
|
||||
|
||||
/**
|
||||
* Install a sample slider
|
||||
*/
|
||||
$sliders = Database::queryAll(Database::parsePrefix('SELECT * FROM #__nextend2_smartslider3_sliders LIMIT 1'));
|
||||
if (empty($sliders)) {
|
||||
|
||||
Database::query(Database::parsePrefix('INSERT INTO `#__nextend2_smartslider3_sliders` (`alias`, `title`, `type`, `params`, `time`, `thumbnail`, `ordering`) VALUES (NULL, \'Tutorial Slider\', \'simple\', \'{\"aria-label\":\"Slider\",\"alias-id\":\"\",\"alias-smoothscroll\":\"\",\"alias-slideswitch\":\"\",\"background\":\"\",\"background-fixed\":\"0\",\"background-size\":\"cover\",\"background-color\":\"FFFFFF00\",\"backgroundVideoMp4\":\"\",\"backgroundVideoMuted\":\"1\",\"backgroundVideoLoop\":\"1\",\"backgroundVideoMode\":\"fill\",\"align\":\"normal\",\"margin\":\"0|*|0|*|0|*|0\",\"padding\":\"0|*|0|*|0|*|0\",\"perspective\":\"1000\",\"border-width\":\"0\",\"border-color\":\"3E3E3Eff\",\"border-radius\":\"0\",\"slider-preset\":\"\",\"slider-css\":\"\",\"width\":\"1200\",\"height\":\"600\",\"mobileportrait\":\"1\",\"mobilelandscape\":\"1\",\"tabletportrait\":\"1\",\"tabletlandscape\":\"1\",\"desktopportrait\":\"1\",\"desktoplandscape\":\"1\",\"responsiveLimitSlideWidth\":\"1\",\"responsiveSlideWidthDesktopLandscape\":\"0\",\"responsiveSlideWidthMaxDesktopLandscape\":\"1600\",\"responsiveSlideWidth\":\"0\",\"responsiveSlideWidthMax\":\"3000\",\"responsiveSlideWidthTabletLandscape\":\"0\",\"responsiveSlideWidthMaxTabletLandscape\":\"1200\",\"responsiveSlideWidthTablet\":\"0\",\"responsiveSlideWidthMaxTablet\":\"3000\",\"responsiveSlideWidthMobileLandscape\":\"0\",\"responsiveSlideWidthMaxMobileLandscape\":\"740\",\"responsiveSlideWidthMobile\":\"0\",\"responsiveSlideWidthMaxMobile\":\"480\",\"responsive-breakpoint-desktop-portrait\":\"1440\",\"responsive-breakpoint-desktop-portrait-landscape\":\"1440\",\"responsive-breakpoint-tablet-landscape\":\"1300\",\"responsive-breakpoint-tablet-landscape-landscape\":\"1300\",\"responsive-breakpoint-tablet-portrait\":\"1199\",\"responsive-breakpoint-tablet-portrait-landscape\":\"1199\",\"responsive-breakpoint-mobile-landscape\":\"900\",\"responsive-breakpoint-mobile-landscape-landscape\":\"1050\",\"responsive-breakpoint-mobile-portrait\":\"700\",\"responsive-breakpoint-mobile-portrait-landscape\":\"900\",\"responsive-breakpoint-desktop-landscape-enabled\":\"0\",\"responsive-breakpoint-tablet-landscape-enabled\":\"0\",\"responsive-breakpoint-tablet-portrait-enabled\":\"1\",\"responsive-breakpoint-mobile-landscape-enabled\":\"0\",\"responsive-breakpoint-mobile-portrait-enabled\":\"1\",\"responsive-breakpoint-global\":\"0\",\"breakpoints-orientation\":\"portrait\",\"responsive-mode\":\"fullwidth\",\"responsiveSliderHeightMin\":\"0\",\"responsiveForceFull\":\"1\",\"responsiveForceFullOverflowX\":\"body\",\"responsiveForceFullHorizontalSelector\":\"body\",\"slider-size-override\":\"0\",\"slider-size-override-mobile-portrait\":\"0\",\"mobile-portrait-width\":\"320\",\"mobile-portrait-height\":\"568\",\"slider-size-override-mobile-landscape\":\"0\",\"mobile-landscape-width\":\"568\",\"mobile-landscape-height\":\"320\",\"slider-size-override-tablet-portrait\":\"0\",\"tablet-portrait-width\":\"768\",\"tablet-portrait-height\":\"1024\",\"slider-size-override-tablet-landscape\":\"0\",\"tablet-landscape-width\":\"1024\",\"tablet-landscape-height\":\"768\",\"slider-size-override-desktop-landscape\":\"0\",\"desktop-landscape-width\":\"1440\",\"desktop-landscape-height\":\"900\",\"controlsTouch\":\"horizontal\",\"controlsScroll\":\"0\",\"controlsKeyboard\":\"1\",\"widget-arrow-enabled\":\"0\",\"widgetarrow\":\"imageEmpty\",\"widget-arrow-previous\":\"thin-horizontal.svg\",\"widget-arrow-previous-image\":\"\",\"widget-arrow-previous-color\":\"ffffffcc\",\"widget-arrow-previous-hover\":\"1\",\"widget-arrow-previous-hover-color\":\"ffffffff\",\"widget-arrow-mirror\":\"1\",\"widget-arrow-next\":\"thin-horizontal.svg\",\"widget-arrow-next-image\":\"\",\"widget-arrow-next-color\":\"ffffffcc\",\"widget-arrow-next-hover\":\"0\",\"widget-arrow-next-hover-color\":\"ffffffcc\",\"widget-arrow-style\":\"\",\"widget-arrow-previous-position-mode\":\"simple\",\"widget-arrow-previous-position-area\":\"6\",\"widget-arrow-previous-position-stack\":\"1\",\"widget-arrow-previous-position-offset\":\"15\",\"widget-arrow-previous-position-horizontal\":\"left\",\"widget-arrow-previous-position-horizontal-position\":\"0\",\"widget-arrow-previous-position-horizontal-unit\":\"px\",\"widget-arrow-previous-position-vertical\":\"top\",\"widget-arrow-previous-position-vertical-position\":\"0\",\"widget-arrow-previous-position-vertical-unit\":\"px\",\"widget-arrow-next-position-mode\":\"simple\",\"widget-arrow-next-position-area\":\"7\",\"widget-arrow-next-position-stack\":\"1\",\"widget-arrow-next-position-offset\":\"15\",\"widget-arrow-next-position-horizontal\":\"left\",\"widget-arrow-next-position-horizontal-position\":\"0\",\"widget-arrow-next-position-horizontal-unit\":\"px\",\"widget-arrow-next-position-vertical\":\"top\",\"widget-arrow-next-position-vertical-position\":\"0\",\"widget-arrow-next-position-vertical-unit\":\"px\",\"widget-arrow-animation\":\"fade\",\"widget-arrow-previous-alt\":\"prev
Line truncated
|
||||
$sliderID = Database::insertId();
|
||||
|
||||
Database::query(Database::parsePrefix('INSERT INTO `#__nextend2_smartslider3_slides` (`title`, `slider`, `publish_up`, `publish_down`, `published`, `first`, `slide`, `description`, `thumbnail`, `params`, `ordering`, `generator_id`) VALUES
|
||||
(\'Slide Background\', ' . $sliderID . ', \'1970-01-01 00:00:00\', \'1970-01-01 00:00:00\', 1, 0, \'[{\"type\":\"content\",\"pm\":\"default\",\"desktopportraitfontsize\":100,\"desktopportraitmaxwidth\":1120,\"desktopportraitinneralign\":\"inherit\",\"desktopportraitpadding\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitselfalign\":\"center\",\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-IbNOabpfT5aE\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"00000000\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"verticalalign\":\"center\",\"layers\":[{\"type\":\"row\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitinneralign\":\"inherit\",\"desktopportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"desktopportraitgutter\":0,\"desktopportraitwrapafter\":0,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,\"desktopportraitmaxwidth\":0,\"desktopportraitselfalign\":\"inherit\",\"tabletportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"tabletportraitgutter\":20,\"mobileportraitpadding\":\"0|*|0|*|0|*|0|*|px\",\"mobileportraitgutter\":20,\"mobileportraitwrapafter\":1,\"mobileportraitmaxwidth\":400,\"mobilelandscapewrapafter\":1,\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-dtwtw9DVCwgQ\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"href\":\"\",\"href-target\":\"_self\",\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"ffffff00\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"borderwidth\":\"1|*|1|*|1|*|1\",\"borderstyle\":\"none\",\"bordercolor\":\"FFFFFFFF\",\"borderradius\":0,\"boxshadow\":\"0|*|0|*|0|*|0|*|00000080\",\"fullwidth\":1,\"stretch\":0,\"name\":\"Row\",\"namesynced\":1,\"cols\":[{\"type\":\"col\",\"pm\":\"default\",\"desktopportraitfontsize\":100,\"desktopportraitmaxwidth\":0,\"desktopportraitinneralign\":\"left\",\"desktopportraitpadding\":\"10|*|10|*|10|*|10|*|px\",\"desktopportraitorder\":0,\"tabletportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"mobileportraitinneralign\":\"left\",\"mobileportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"mobileportraitorder\":2,\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-Fjvyu081qJeK\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"00000000\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"verticalalign\":\"center\",\"colwidth\":\"2/5\",\"href\":\"\",\"href-target\":\"_self\",\"borderradius\":0,\"boxshadow\":\"0|*|0|*|0|*|0|*|00000080\",\"borderwidth\":\"0|*|0|*|0|*|0\",\"borderstyle\":\"solid\",\"bordercolor\":\"ffffffff\",\"name\":\"Column\",\"namesynced\":1,\"layers\":[{\"type\":\"layer\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,\"desktopportraitmaxwidth\":0,\"desktopportraitselfalign\":\"inherit\",\"tabletportraitfontsize\":80,\"mobileportraitfontsize\":60,\"id\":\"\",\"uniqueclass\":\"\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"name\":\"Jeans Store Interior\",\"namesynced\":1,\"item\":{\"type\":\"heading\",\"values\":{\"font\":\"{\\\"data\\\":[{\\\"extra\\\":\\\"\\\",\\\"color\\\":\\\"ffffffff\\\",\\\"size\\\":\\\"36||px\\\",\\\"tshadow\\\":\\\"0|*|0|*|0|*|000000ff\\\",\\\"afont\\\":\\\"Roboto\\\",\\\"lineheight\\\":\\\"1.2\\\",\\\"weight\\\":1,\\\"italic\\\":0,\\\"underline\\\":0,\\\"align\\\":\\\"inherit\\\",\\\"letterspacing\\\":\\\"normal\\\",\\\"wordspacing\\\":\\\"normal\\\",\\\"texttransform\\\":\\\"none\\\"},{\\\"extra\\\":\\\"\\\"}]}\",\"style\":\"\",\"priority\":\"div\",\"fullwidth\":\"1\",\"nowrap\":\"0\",\"heading\":\"01. Slide Background\",\"title\":\"\",\"href\":\"#\",\"href-target\":\"_self\",\"href-rel\":\"\",\"split-text-transform-origin\":\"50|*|50|*|0\",\"split-text-backface-visibility\":\"1\",\"split-text-animation-in\":\"\",\"split-text-delay-in\":\"0\",\"split-text-animation-out\":\"\",\"split-text-delay-out\":\"0\",\"class\":\"\"}}},{\"type\":\"layer\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,\"desktopportraitmaxwidth\":0,\"desktopportraitselfalign\":\"inherit\",\"tabletportraitfontsize\":80,\"mob
Line truncated
|
||||
(\'Build & Design\', ' . $sliderID . ', \'1970-01-01 00:00:00\', \'1970-01-01 00:00:00\', 1, 0, \'[{\"type\":\"content\",\"pm\":\"default\",\"desktopportraitfontsize\":100,\"desktopportraitmaxwidth\":1120,\"desktopportraitinneralign\":\"inherit\",\"desktopportraitpadding\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitselfalign\":\"center\",\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-TPnUuKlAWVoC\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"00000000\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"verticalalign\":\"center\",\"layers\":[{\"type\":\"row\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitinneralign\":\"inherit\",\"desktopportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"desktopportraitgutter\":0,\"desktopportraitwrapafter\":0,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,\"desktopportraitmaxwidth\":0,\"desktopportraitselfalign\":\"inherit\",\"tabletportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"tabletportraitgutter\":20,\"mobileportraitinneralign\":\"inherit\",\"mobileportraitpadding\":\"0|*|0|*|0|*|0|*|px\",\"mobileportraitgutter\":20,\"mobileportraitwrapafter\":1,\"mobileportraitmaxwidth\":400,\"mobileportraitselfalign\":\"inherit\",\"mobilelandscapewrapafter\":1,\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-NmnNQvKK01kO\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"href\":\"\",\"href-target\":\"_self\",\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"ffffff00\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"borderwidth\":\"1|*|1|*|1|*|1\",\"borderstyle\":\"none\",\"bordercolor\":\"FFFFFFFF\",\"borderradius\":0,\"boxshadow\":\"0|*|0|*|0|*|0|*|00000080\",\"fullwidth\":1,\"stretch\":0,\"name\":\"Row\",\"namesynced\":1,\"cols\":[{\"type\":\"col\",\"pm\":\"default\",\"desktopportraitfontsize\":100,\"desktopportraitmaxwidth\":0,\"desktopportraitinneralign\":\"left\",\"desktopportraitpadding\":\"10|*|10|*|10|*|10|*|px\",\"desktopportraitorder\":0,\"tabletportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"mobileportraitmaxwidth\":0,\"mobileportraitinneralign\":\"left\",\"mobileportraitpadding\":\"10|*|0|*|10|*|0|*|px\",\"mobileportraitorder\":2,\"opened\":1,\"id\":\"\",\"uniqueclass\":\"n-uc-R5Jkk06Nmzr4\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"bgimage\":\"\",\"bgimagex\":50,\"bgimagey\":50,\"bgcolor\":\"00000000\",\"bgcolorgradient\":\"off\",\"bgcolorgradientend\":\"00000000\",\"verticalalign\":\"center\",\"colwidth\":\"2/5\",\"href\":\"\",\"href-target\":\"_self\",\"borderradius\":0,\"boxshadow\":\"0|*|0|*|0|*|0|*|00000080\",\"borderwidth\":\"0|*|0|*|0|*|0\",\"borderstyle\":\"solid\",\"bordercolor\":\"ffffffff\",\"name\":\"Column\",\"namesynced\":1,\"layers\":[{\"type\":\"layer\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,\"desktopportraitmaxwidth\":0,\"desktopportraitselfalign\":\"inherit\",\"tabletportraitfontsize\":80,\"mobileportraitfontsize\":60,\"id\":\"\",\"uniqueclass\":\"\",\"generatorvisible\":\"\",\"zindex\":2,\"class\":\"\",\"crop\":\"visible\",\"rotation\":0,\"parallax\":0,\"desktopportrait\":1,\"desktoplandscape\":1,\"tabletportrait\":1,\"tabletlandscape\":1,\"mobileportrait\":1,\"mobilelandscape\":1,\"name\":\"Jeans Store Interior\",\"namesynced\":1,\"item\":{\"type\":\"heading\",\"values\":{\"font\":\"{\\\"data\\\":[{\\\"extra\\\":\\\"\\\",\\\"color\\\":\\\"ffffffff\\\",\\\"size\\\":\\\"36||px\\\",\\\"tshadow\\\":\\\"0|*|0|*|0|*|000000ff\\\",\\\"afont\\\":\\\"Roboto\\\",\\\"lineheight\\\":\\\"1.2\\\",\\\"weight\\\":1,\\\"italic\\\":0,\\\"underline\\\":0,\\\"align\\\":\\\"inherit\\\",\\\"letterspacing\\\":\\\"normal\\\",\\\"wordspacing\\\":\\\"normal\\\",\\\"texttransform\\\":\\\"none\\\"},{\\\"extra\\\":\\\"\\\"}]}\",\"style\":\"\",\"priority\":\"div\",\"fullwidth\":\"1\",\"nowrap\":\"0\",\"heading\":\"02. Build & Design\",\"title\":\"\",\"href\":\"#\",\"href-target\":\"_self\",\"href-rel\":\"\",\"split-text-transform-origin\":\"50|*|50|*|0\",\"split-text-backface-visibility\":\"1\",\"split-text-animation-in\":\"\",\"split-text-delay-in\":\"0\",\"split-text-animation-out\":\"\",\"split-text-delay-out\":\"0\",\"class\":\"\"}}},{\"type\":\"layer\",\"pm\":\"normal\",\"desktopportraitfontsize\":100,\"desktopportraitmargin\":\"0|*|0|*|0|*|0|*|px\",\"desktopportraitheight\":0,
Line truncated
|
||||
'));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,284 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Nextend\SmartSlider3\Install;
|
||||
|
||||
|
||||
use Nextend\Framework\Database\Database;
|
||||
use Nextend\Framework\Notification\Notification;
|
||||
|
||||
class Tables {
|
||||
|
||||
protected $tables = array(
|
||||
'nextend2_image_storage' => "(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`hash` VARCHAR(32) NOT NULL,
|
||||
`image` TEXT NOT NULL,
|
||||
`value` MEDIUMTEXT NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `hash` (`hash`)
|
||||
)",
|
||||
'nextend2_section_storage' => "(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`application` VARCHAR(20) NOT NULL,
|
||||
`section` VARCHAR(128) NOT NULL,
|
||||
`referencekey` VARCHAR(128) DEFAULT '',
|
||||
`value` MEDIUMTEXT NOT NULL,
|
||||
`isSystem` INT(11) NOT NULL DEFAULT '0',
|
||||
`editable` INT(11) NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `application` (`application`, `section`(50), `referencekey`(50)),
|
||||
KEY `application_2` (`application`, `section`(50)),
|
||||
INDEX (`isSystem`),
|
||||
INDEX (`editable`)
|
||||
)
|
||||
AUTO_INCREMENT = 10000",
|
||||
'nextend2_smartslider3_generators' => "(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`group` VARCHAR(254) NOT NULL,
|
||||
`type` VARCHAR(254) NOT NULL,
|
||||
`params` TEXT NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
)",
|
||||
'nextend2_smartslider3_sliders' => "(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`alias` TEXT NULL DEFAULT NULL,
|
||||
`title` TEXT NOT NULL,
|
||||
`type` VARCHAR(30) NOT NULL,
|
||||
`params` MEDIUMTEXT NOT NULL,
|
||||
`slider_status` VARCHAR(50) NOT NULL DEFAULT 'published',
|
||||
`time` DATETIME NOT NULL,
|
||||
`thumbnail` TEXT NOT NULL,
|
||||
`ordering` INT NOT NULL DEFAULT '0',
|
||||
INDEX (`slider_status`),
|
||||
INDEX (`time`),
|
||||
PRIMARY KEY (`id`)
|
||||
)",
|
||||
'nextend2_smartslider3_sliders_xref' => "(
|
||||
`group_id` int(11) NOT NULL,
|
||||
`slider_id` int(11) NOT NULL,
|
||||
`ordering` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`group_id`,`slider_id`),
|
||||
INDEX (`ordering`)
|
||||
)",
|
||||
'nextend2_smartslider3_slides' => "(
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`title` TEXT NOT NULL,
|
||||
`slider` INT(11) NOT NULL,
|
||||
`publish_up` DATETIME NOT NULL default '1970-01-01 00:00:00',
|
||||
`publish_down` DATETIME NOT NULL default '1970-01-01 00:00:00',
|
||||
`published` TINYINT(1) NOT NULL,
|
||||
`first` INT(11) NOT NULL,
|
||||
`slide` LONGTEXT,
|
||||
`description` TEXT NOT NULL,
|
||||
`thumbnail` TEXT NOT NULL,
|
||||
`params` TEXT NOT NULL,
|
||||
`ordering` INT(11) NOT NULL,
|
||||
`generator_id` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX (`published`),
|
||||
INDEX (`publish_up`),
|
||||
INDEX (`publish_down`),
|
||||
INDEX (`generator_id`),
|
||||
KEY `thumbnail` (`thumbnail`(100)),
|
||||
INDEX (`ordering`),
|
||||
INDEX (`slider`)
|
||||
)"
|
||||
);
|
||||
|
||||
|
||||
public function install() {
|
||||
foreach ($this->tables as $tableName => $structure) {
|
||||
$this->installTable($tableName, $structure);
|
||||
}
|
||||
|
||||
self::dropIndex('#__nextend2_section_storage', 'system');
|
||||
|
||||
$this->renameColumn('#__nextend2_section_storage', 'system', 'isSystem', 'INT(11) NOT NULL DEFAULT \'0\'');
|
||||
|
||||
self::dropIndex('#__nextend2_section_storage', 'application');
|
||||
self::dropIndex('#__nextend2_section_storage', 'application_2');
|
||||
|
||||
$this->fixColumn('#__nextend2_section_storage', 'section', 'VARCHAR(128)', 'NOT NULL');
|
||||
$this->fixColumn('#__nextend2_section_storage', 'referencekey', 'VARCHAR(128)', 'NOT NULL');
|
||||
|
||||
$this->query("ALTER TABLE `#__nextend2_section_storage` ADD INDEX `application` (`application`, `section`(50), `referencekey`(50))");
|
||||
$this->query("ALTER TABLE `#__nextend2_section_storage` ADD INDEX `application_2` (`application`, `section`(50))");
|
||||
|
||||
self::fixIndex('#__nextend2_section_storage', 'isSystem');
|
||||
self::fixIndex('#__nextend2_section_storage', 'editable');
|
||||
|
||||
$this->fixColumn('#__nextend2_smartslider3_sliders', 'ordering', 'INT', 'NOT NULL DEFAULT \'0\'');
|
||||
|
||||
self::dropIndex('#__nextend2_smartslider3_sliders', 'status');
|
||||
|
||||
$this->renameColumn('#__nextend2_smartslider3_sliders', 'status', 'slider_status', 'VARCHAR(50) NOT NULL DEFAULT \'published\'');
|
||||
|
||||
$this->fixColumn('#__nextend2_smartslider3_sliders', 'title', 'TEXT', 'NOT NULL');
|
||||
$this->fixColumn('#__nextend2_smartslider3_sliders', 'alias', 'TEXT', 'NULL DEFAULT NULL');
|
||||
$this->fixColumn('#__nextend2_smartslider3_sliders', 'thumbnail', 'TEXT', 'NOT NULL');
|
||||
|
||||
$this->fixColumn('#__nextend2_smartslider3_slides', 'title', 'TEXT');
|
||||
$this->fixColumn('#__nextend2_smartslider3_slides', 'thumbnail', 'TEXT');
|
||||
|
||||
$this->fixColumn('#__nextend2_smartslider3_slides', 'publish_up', 'DATETIME', 'NOT NULL DEFAULT \'1970-01-01 00:00:00\'');
|
||||
$this->fixColumn('#__nextend2_smartslider3_slides', 'publish_down', 'DATETIME', 'NOT NULL DEFAULT \'1970-01-01 00:00:00\'');
|
||||
|
||||
self::fixIndex('#__nextend2_smartslider3_sliders', 'slider_status');
|
||||
self::fixIndex('#__nextend2_smartslider3_sliders', 'time');
|
||||
|
||||
self::fixIndex('#__nextend2_smartslider3_sliders_xref', 'ordering');
|
||||
|
||||
$this->query("DELETE FROM `#__nextend2_section_storage` WHERE `application` LIKE 'smartslider' AND `section` LIKE 'sliderChanged'");
|
||||
|
||||
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'published');
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'publish_up');
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'publish_down');
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'generator_id');
|
||||
|
||||
|
||||
self::dropIndex('#__nextend2_smartslider3_slides', 'thumbnail');
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'thumbnail', 100);
|
||||
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'ordering');
|
||||
self::fixIndex('#__nextend2_smartslider3_slides', 'slider');
|
||||
|
||||
if (Notification::hasErrors()) {
|
||||
Notification::displayPlainErrors();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
private function installTable($tableName, $structure) {
|
||||
$query = 'CREATE TABLE IF NOT EXISTS `' . Database::getPrefix() . $tableName . '` ';
|
||||
|
||||
$query .= $structure;
|
||||
$query .= ' ' . Database::getCharsetCollate();
|
||||
|
||||
$this->query($query);
|
||||
}
|
||||
|
||||
private function query($query) {
|
||||
|
||||
Database::query(Database::parsePrefix($query));
|
||||
}
|
||||
|
||||
private function hasColumn($table, $col) {
|
||||
return !!Database::queryRow(Database::parsePrefix("SHOW COLUMNS FROM `" . $table . "` LIKE '" . $col . "'"));
|
||||
}
|
||||
|
||||
public static function repair() {
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_section_storage', 'id', true);
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_image_storage', 'id', true);
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_smartslider3_generators', 'id', true);
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_smartslider3_sliders', 'id', true);
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_smartslider3_slides', 'id', true);
|
||||
|
||||
self::fixPrimaryKey('#__nextend2_smartslider3_sliders_xref', array(
|
||||
'slider_id',
|
||||
'group_id'
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
public function reindexOrders() {
|
||||
$query = "SELECT
|
||||
sliders.*
|
||||
FROM
|
||||
`#__nextend2_smartslider3_sliders` AS sliders
|
||||
LEFT JOIN `#__nextend2_smartslider3_sliders_xref` AS xref
|
||||
ON
|
||||
xref.slider_id = sliders.id
|
||||
WHERE
|
||||
(
|
||||
xref.group_id IS NULL OR xref.group_id = 0
|
||||
)
|
||||
ORDER BY ordering";
|
||||
$sliders = Database::queryAll(Database::parsePrefix($query));
|
||||
foreach ($sliders as $idx => $slider) {
|
||||
$this->query("UPDATE `#__nextend2_smartslider3_sliders` SET `ordering` = '" . $idx . "' WHERE `id` = " . $slider['id'] . " ");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $tableName
|
||||
* @param array|string $colNames
|
||||
* @param bool $autoIncrement
|
||||
*/
|
||||
private static function fixPrimaryKey($tableName, $colNames, $autoIncrement = false) {
|
||||
if (!is_array($colNames)) {
|
||||
$colNames = array($colNames);
|
||||
}
|
||||
$tableName = Database::parsePrefix($tableName);
|
||||
|
||||
Database::query('DELETE FROM ' . $tableName . ' WHERE ' . $colNames[0] . ' = 0;');
|
||||
$hasIndex = Database::queryRow("SHOW INDEXES FROM " . $tableName . " WHERE Key_name = 'PRIMARY'");
|
||||
if (!$hasIndex) {
|
||||
Database::query('ALTER TABLE ' . $tableName . ' ADD PRIMARY KEY(' . implode(', ', $colNames) . ');');
|
||||
}
|
||||
|
||||
if (count($colNames) == 1 && $autoIncrement) {
|
||||
Database::query('ALTER TABLE ' . $tableName . ' MODIFY `' . $colNames[0] . '` INT NOT NULL AUTO_INCREMENT;');
|
||||
}
|
||||
}
|
||||
|
||||
private static function fixIndex($tableName, $colName, $limit = null) {
|
||||
$tableName = Database::parsePrefix($tableName);
|
||||
|
||||
if (!self::hasIndex($tableName, $colName)) {
|
||||
Database::query("ALTER TABLE " . $tableName . " ADD INDEX `" . $colName . "` (`" . $colName . "`" . (isset($limit) ? '(' . $limit . ')' : '') . ")");
|
||||
}
|
||||
}
|
||||
|
||||
private static function dropIndex($tableName, $colName) {
|
||||
$tableName = Database::parsePrefix($tableName);
|
||||
|
||||
if (self::hasIndex($tableName, $colName)) {
|
||||
Database::query("ALTER TABLE " . $tableName . " DROP INDEX `" . $colName . "`");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static function hasIndex($tableName, $colName) {
|
||||
return Database::queryRow("SHOW INDEXES FROM " . $tableName . " WHERE Key_name = '" . $colName . "'");
|
||||
}
|
||||
|
||||
private static function fixType($tableName, $colName, $type, $default = '') {
|
||||
$tableName = Database::parsePrefix($tableName);
|
||||
|
||||
$column = Database::queryRow(Database::parsePrefix("SHOW COLUMNS FROM " . $tableName . " LIKE '" . $colName . "'"));
|
||||
|
||||
if ($column['Type'] != $type) {
|
||||
Database::query("ALTER TABLE " . $tableName . " MODIFY `" . $colName . "` " . $type . " " . $default);
|
||||
}
|
||||
}
|
||||
|
||||
//Create column if doesn't exists. If column exists, fix its type.
|
||||
private function fixColumn($tableName, $colName, $type, $default = '') {
|
||||
if (!$this->hasColumn($tableName, $colName)) {
|
||||
$this->query("ALTER TABLE " . $tableName . " ADD `" . $colName . "` " . $type . " " . $default);
|
||||
|
||||
} else {
|
||||
self::fixType($tableName, $colName, $type, $default);
|
||||
}
|
||||
}
|
||||
|
||||
private function renameColumn($tableName, $colFrom, $colTo, $typeAndDefault) {
|
||||
if (!$this->hasColumn($tableName, $colTo)) {
|
||||
if ($this->hasColumn($tableName, $colFrom)) {
|
||||
$this->query("ALTER TABLE " . $tableName . " CHANGE `" . $colFrom . "` `" . $colTo . "` " . $typeAndDefault);
|
||||
|
||||
} else {
|
||||
$this->query("ALTER TABLE " . $tableName . " ADD `" . $colTo . "` " . $typeAndDefault);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Nextend\SmartSlider3\Install\WordPress;
|
||||
|
||||
|
||||
class InstallWordPress {
|
||||
|
||||
public static function install() {
|
||||
$role = get_role('administrator');
|
||||
if (is_object($role)) {
|
||||
|
||||
$role->add_cap('smartslider');
|
||||
$role->add_cap('smartslider_config');
|
||||
$role->add_cap('smartslider_edit');
|
||||
$role->add_cap('smartslider_delete');
|
||||
}
|
||||
|
||||
wp_get_current_user()->for_site();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user