first commit
This commit is contained in:
681
modules/revsliderprestashop/revsliderprestashop.php
Normal file
681
modules/revsliderprestashop/revsliderprestashop.php
Normal file
@@ -0,0 +1,681 @@
|
||||
<?php
|
||||
|
||||
if (!defined('_PS_VERSION_')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once _PS_MODULE_DIR_ . 'revsliderprestashop/rev-loader.php';
|
||||
class RevsliderPrestashop extends Module
|
||||
{
|
||||
public static $Sliders_arr = array(),$rev_current_hook;
|
||||
public function __construct()
|
||||
{
|
||||
$this->name = "revsliderprestashop";
|
||||
$this->tab = 'administration';
|
||||
$this->version = '6.2.21.5';
|
||||
$this->author = 'classydevs';
|
||||
$this->need_instance = 0;
|
||||
|
||||
/**
|
||||
* Set $this->bootstrap to true if your module is compliant with bootstrap (PrestaShop 1.6)
|
||||
*/
|
||||
$this->bootstrap = true;
|
||||
$this->displayName = $this->l('Slider Revolution');
|
||||
$this->description = $this->l('Slider Revolution - Premium responsive Prestashop slider');
|
||||
$this->ps_versions_compliancy = array('min' => '1.7', 'max' => _PS_VERSION_);
|
||||
|
||||
$this->confirmUninstall = $this->l('Uninstall the module?');
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Don't forget to create update methods if needed:
|
||||
* http://doc.prestashop.com/display/PS16/Enabling+the+Auto-Update
|
||||
*/
|
||||
|
||||
public function uninstall() {
|
||||
if ( parent::uninstall() ) {
|
||||
include dirname( __FILE__ ) . '/sql/uninstall_tables.php';
|
||||
// include dirname(__FILE__) . '/sql/uninstall_tab.php';
|
||||
// $this->moduleControllerUnRegistration();
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
public static function getIsset($var)
|
||||
{
|
||||
return RevLoader::getIsset($var);
|
||||
}
|
||||
public function moduleControllerRegistration()
|
||||
{
|
||||
$tabvalue = array();
|
||||
include_once dirname( __FILE__ ) . '/sql/install_tab.php';
|
||||
$languages = Language::getLanguages(true);
|
||||
if (@RevsliderPrestashop::getIsset($tabvalue) && !empty($tabvalue)) {
|
||||
foreach ($tabvalue as $index => $class) {
|
||||
|
||||
$tabexists = Tab::getIdFromClassName($class['class_name']);
|
||||
|
||||
if ($tabexists) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$tab = new Tab();
|
||||
$tab->class_name = $class['class_name'];
|
||||
|
||||
if (is_string($class['id_parent']) && !empty($class['id_parent'])) {
|
||||
$id_parent = Tab::getIdFromClassName($class['id_parent']);
|
||||
$tab->id_parent = $id_parent;
|
||||
} else {
|
||||
$tab->id_parent = $class['id_parent'];
|
||||
}
|
||||
$tab->module = $class['module'];
|
||||
|
||||
foreach ($languages as $lang) {
|
||||
$tab->name[$lang['id_lang']] = $class['name'];
|
||||
}
|
||||
|
||||
$tab->active = $class['active'];
|
||||
$tab->add();
|
||||
if (!$tab->id) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public static function generateSliderFromShortcode($alias =null){
|
||||
|
||||
|
||||
if ($alias != null) {
|
||||
|
||||
$rev_slider_front = new RevSliderFront();
|
||||
RevLoader::loadAllAddons();
|
||||
$content_sliders = '';
|
||||
|
||||
ob_start();
|
||||
RevLoader::do_action( 'wp_head' );
|
||||
RevLoader::do_action( 'wp_enqueue_scripts' );
|
||||
RevLoader::rev_front_print_styles();
|
||||
|
||||
RevLoader::rev_front_print_head_scripts();
|
||||
|
||||
RevLoader::do_action('revslider_slider_init_by_data_post',array());
|
||||
$output = new RevSliderOutput();
|
||||
|
||||
$output->add_slider_to_stage($alias);
|
||||
RevLoader::do_action( 'wp_footer' );
|
||||
RevLoader::rev_front_print_footer_scripts();
|
||||
|
||||
$content_sliders = ob_get_contents();
|
||||
|
||||
ob_get_clean();
|
||||
return $content_sliders;
|
||||
|
||||
}
|
||||
}
|
||||
public function hookOverrideLayoutTemplate( $params ) {
|
||||
|
||||
$controller = Tools::getValue( 'controller' );
|
||||
|
||||
if ( $controller == 'cms' ) {
|
||||
if ( isset( $this->context->smarty->tpl_vars['cms']->value['id'] ) ) {
|
||||
$id_cms = $this->context->smarty->tpl_vars['cms']->value['id'];
|
||||
$content = &$this->context->smarty->tpl_vars['cms']->value['content'];
|
||||
|
||||
$content = self::handleShortcodes( $content );
|
||||
} elseif ( isset( $this->context->controller->cms->id ) ) {
|
||||
$id_cms = $this->context->controller->cms->id;
|
||||
$content = &$this->context->controller->cms->content;
|
||||
|
||||
$content = self::handleShortcodes( $content );
|
||||
}
|
||||
}
|
||||
if ( $controller == 'product' ) {
|
||||
if ( isset( $this->context->smarty->tpl_vars['product']->value['id'] ) ) {
|
||||
$id_product = $this->context->smarty->tpl_vars['product']->value['id'];
|
||||
$product_var = $this->context->smarty->tpl_vars['product'];
|
||||
$product_var_place = &$this->context->smarty->tpl_vars['product'];
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $product_var->value['description'] );
|
||||
$product_var->value['description'] = $descriptionChange;
|
||||
$product_var_place = $product_var;
|
||||
|
||||
} elseif ( isset( $this->context->controller->product->id ) ) {
|
||||
$id_product = $this->context->smarty->tpl_vars->product->value['id'];
|
||||
$product_var = $this->context->smarty->tpl_vars->product;
|
||||
$product_var_place = &$this->context->smarty->tpl_vars->product;
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $product_var->value->description );
|
||||
$product_var->value->description = $descriptionChange;
|
||||
$product_var_place = $product_var;
|
||||
}
|
||||
}
|
||||
// below all is for category page---------------------------------------------
|
||||
if ( $controller == 'category' ) {
|
||||
if ( isset( $this->context->smarty->tpl_vars['category']->value['id'] ) ) {
|
||||
$id_category = $this->context->smarty->tpl_vars['category']->value['id'];
|
||||
$category_var = $this->context->smarty->tpl_vars['category'];
|
||||
$category_var_place = &$this->context->smarty->tpl_vars['category'];
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $category_var->value['description'] );
|
||||
$category_var->value['description'] = $descriptionChange;
|
||||
$category_var_place = $category_var;
|
||||
|
||||
} elseif ( isset( $this->context->controller->category->id ) ) {
|
||||
$id_category = $this->context->smarty->tpl_vars->category->value['id'];
|
||||
$category_var = $this->context->smarty->tpl_vars->category;
|
||||
$category_var_place = &$this->context->smarty->tpl_vars->category;
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $category_var->value->description );
|
||||
$category_var->value->description = $descriptionChange;
|
||||
$category_var_place = $category_var;
|
||||
}
|
||||
}
|
||||
|
||||
// below all is for manufacturer page---------------------------------------------
|
||||
|
||||
if ( $controller == 'manufacturer' ) {
|
||||
if ( isset( $this->context->smarty->tpl_vars['manufacturer']->value['id'] ) ) {
|
||||
$id_manufacturer = $this->context->smarty->tpl_vars['manufacturer']->value['id'];
|
||||
$manufacturer_var = $this->context->smarty->tpl_vars['manufacturer'];
|
||||
$manufacturer_var_place = &$this->context->smarty->tpl_vars['manufacturer'];
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $manufacturer_var->value['description'] );
|
||||
$manufacturer_var->value['description'] = $descriptionChange;
|
||||
$manufacturer_var_place = $manufacturer_var;
|
||||
|
||||
} elseif ( isset( $this->context->controller->manufacturer->id ) ) {
|
||||
$id_manufacturer = $this->context->smarty->tpl_vars->manufacturer->value['id'];
|
||||
$manufacturer_var = $this->context->smarty->tpl_vars->manufacturer;
|
||||
$manufacturer_var_place = &$this->context->smarty->tpl_vars->manufacturer;
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $manufacturer_var->value->description );
|
||||
$manufacturer_var->value->description = $descriptionChange;
|
||||
$manufacturer_var_place = $manufacturer_var;
|
||||
}
|
||||
}
|
||||
if ( $controller == 'supplier' ) {
|
||||
// below all is for supplier single page---------------------------------------------
|
||||
|
||||
if ( isset( $this->context->smarty->tpl_vars['supplier']->value['id'] ) ) {
|
||||
$id_supplier = $this->context->smarty->tpl_vars['supplier']->value['id'];
|
||||
$supplier_var = $this->context->smarty->tpl_vars['supplier'];
|
||||
$supplier_var_place = &$this->context->smarty->tpl_vars['supplier'];
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $supplier_var->value['description'] );
|
||||
$supplier_var->value['description'] = $descriptionChange;
|
||||
$supplier_var_place = $supplier_var;
|
||||
|
||||
} elseif ( isset( $this->context->controller->supplier->id ) ) {
|
||||
$id_supplier = $this->context->smarty->tpl_vars->supplier->value['id'];
|
||||
$supplier_var = $this->context->smarty->tpl_vars->supplier;
|
||||
$supplier_var_place = &$this->context->smarty->tpl_vars->supplier;
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $supplier_var->value->description );
|
||||
$supplier_var->value->description = $descriptionChange;
|
||||
$supplier_var_place = $supplier_var;
|
||||
}
|
||||
|
||||
// below all is for supplier list page page---------------------------------------------
|
||||
|
||||
if ( isset( $this->context->smarty->tpl_vars['brands']->value ) ) {
|
||||
$supplier_list = $this->context->smarty->tpl_vars['brands'];
|
||||
$supplier_list_place = &$this->context->smarty->tpl_vars['brands'];
|
||||
if ( isset( $supplier_list->value[0] ) ) {
|
||||
$index_number = 0;
|
||||
} else {
|
||||
$index_number = 1;
|
||||
}
|
||||
|
||||
$new_supplier_list = array();
|
||||
foreach ( $supplier_list->value as $supplier ) {
|
||||
$id_supplier = $this->context->smarty->tpl_vars['brands']->value[ $index_number ]['id_supplier'];
|
||||
|
||||
$supplier_var = $this->context->smarty->tpl_vars['brands']->value[ $index_number ];
|
||||
|
||||
|
||||
$descriptionChange = self::handleShortcodes( $supplier_var['description'] );
|
||||
|
||||
$supplier_var['description'] = $descriptionChange;
|
||||
$new_supplier_list[ $index_number ] = $supplier_var;
|
||||
$index_number++;
|
||||
}
|
||||
$supplier_list->value = $new_supplier_list;
|
||||
|
||||
$supplier_list_place = $supplier_list;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static function handleShortcodes($content){
|
||||
$shortcodes = array(
|
||||
"rev_slider" => function($data){
|
||||
$content = "";
|
||||
|
||||
if(isset($data["alias"])){
|
||||
$alias = $data["alias"];
|
||||
|
||||
$slider_content = self::generateSliderFromShortcode($alias);
|
||||
return $slider_content;
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
foreach($shortcodes as $key => $function){
|
||||
$dat = array();
|
||||
preg_match_all("/\[".$key." (.+?)\]/", $content, $dat);
|
||||
if(count($dat) > 0 && $dat[0] != array() && isset($dat[1])){
|
||||
$i = 0;
|
||||
$actual_string = $dat[0];
|
||||
foreach($dat[1] as $temp){
|
||||
$temp = explode(" ", $temp);
|
||||
$params = array();
|
||||
foreach ($temp as $d){
|
||||
list($opt, $val) = explode("=", $d);
|
||||
$params[$opt] = trim($val, '"');
|
||||
}
|
||||
$content = str_replace($actual_string[$i], $function($params), $content);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
public function getHooks(){
|
||||
return array(
|
||||
'' => 'Select Hook',
|
||||
'displayBanner' => 'displayBanner',
|
||||
'displayTop' => 'displayTop',
|
||||
'displayTopColumn' => 'displayTopColumn',
|
||||
'displayHome' => 'displayHome',
|
||||
'displayLeftColumn' => 'displayLeftColumn',
|
||||
'displayRightColumn' => 'displayRightColumn',
|
||||
'displayFooter' => 'displayFooter',
|
||||
'displayLeftColumnProduct' => 'displayLeftColumnProduct',
|
||||
'displayRightColumnProduct' => 'displayRightColumnProduct',
|
||||
'displayFooterProduct' => 'displayFooterProduct',
|
||||
'displayMyAccountBlock' => 'displayMyAccountBlock',
|
||||
'displayMyAccountBlockfooter' => 'displayMyAccountBlockfooter',
|
||||
'displayProductButtons' => 'displayProductButtons',
|
||||
'displayCarrierList' => 'displayCarrierList',
|
||||
'displayBeforeCarrier' => 'displayBeforeCarrier',
|
||||
'displayPaymentTop' => 'displayPaymentTop',
|
||||
'displayPaymentReturn' => 'displayPaymentReturn',
|
||||
'displayOrderConfirmation' => 'displayOrderConfirmation',
|
||||
'displayShoppingCart' => 'displayShoppingCart',
|
||||
'displayShoppingCartFooter' => 'displayShoppingCartFooter',
|
||||
'dislayMyAccountBlock' => 'dislayMyAccountBlock',
|
||||
'displayCustomerAccountFormTop' => 'displayCustomerAccountFormTop',
|
||||
'customhookname' => 'Custom Hook Name'
|
||||
);
|
||||
|
||||
}
|
||||
public function hookdisplayHeader()
|
||||
{
|
||||
//return;
|
||||
$sliders = $this->hookCommonCb();
|
||||
self::$Sliders_arr = $sliders;
|
||||
$css_url = "{$this->_path}public/assets/";
|
||||
$js_url = "{$this->_path}public/assets/";
|
||||
$this->context->controller->addCSS($css_url . 'css/rs6.css');
|
||||
|
||||
$this->context->controller->registerJavascript('modules-revsliderprestashop-tools', 'modules/'.$this->name.'/public/assets/js/rbtools.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
$this->context->controller->registerJavascript('modules-revsliderprestashop-rs6', 'modules/'.$this->name.'/public/assets/js/rs6.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
$this->addonAssets($sliders);
|
||||
}
|
||||
public function addonAssets($sliders){
|
||||
|
||||
|
||||
if (!empty($sliders)) {
|
||||
ob_start();
|
||||
foreach ($sliders as $slider){
|
||||
$slider = (object)$slider;
|
||||
$params = Tools::jsonDecode($slider->params,true);
|
||||
if(isset($params['addOns'])){
|
||||
$params = $params['addOns'];
|
||||
if (@RevsliderPrestashop::getIsset($params->template) && $params->template != 'false') {
|
||||
continue;
|
||||
} else {
|
||||
if (@RevsliderPrestashop::getIsset($params->id_shop) && $params->id_shop != Shop::getContextShopID()) {
|
||||
continue;
|
||||
} else {
|
||||
self::loadAddonAssetsSpeicifically($params, $slider);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public static function loadAddonAssetsSpeicifically($params,$slider){
|
||||
|
||||
if(isset($params['revslider-paintbrush-addon']['enable'])){
|
||||
if($params['revslider-paintbrush-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-paintbrush-addon/public/assets/css/revolution.addon.paintbrush.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-paintbrush', 'modules/'.'revsliderprestashop'.'/addons/revslider-paintbrush-addon/public/assets/js/revolution.addon.paintbrush.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-bubblemorph-addon']['enable'])){
|
||||
if($params['revslider-bubblemorph-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-bubblemorph-addon/public/assets/css/revolution.addon.bubblemorph.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-bubblemorph', 'modules/'.'revsliderprestashop'.'/addons/revslider-bubblemorph-addon/public/assets/js/revolution.addon.bubblemorph.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-explodinglayers-addon']['enable'])){
|
||||
if($params['revslider-explodinglayers-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-explodinglayers-addon/public/assets/css/revolution.addon.explodinglayers.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-explodinglayers', 'modules/'.'revsliderprestashop'.'/addons/revslider-explodinglayers-addon/public/assets/js/revolution.addon.explodinglayers.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-liquideffect-addon']['enable'])){
|
||||
if($params['revslider-liquideffect-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-liquideffect-addon/public/assets/css/revolution.addon.liquideffect.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-liquideffect', 'modules/'.'revsliderprestashop'.'/addons/revslider-liquideffect-addon/public/assets/js/pixi.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
Context::getContext()->controller->registerJavascript('addon-liquideffect', 'modules/'.'revsliderprestashop'.'/addons/revslider-liquideffect-addon/public/assets/js/revolution.addon.liquideffect.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-particles-addon']['enable'])){
|
||||
if($params['revslider-particles-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-particles-addon/public/assets/css/revolution.addon.particles.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-particles', 'modules/'.'revsliderprestashop'.'/addons/revslider-particles-addon/public/assets/js/revolution.addon.particles.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-beforeafter-addon']['enable'])){
|
||||
if($params['revslider-beforeafter-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-beforeafter-addon/public/assets/css/revolution.addon.beforeafter.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-beforeafter', 'modules/'.'revsliderprestashop'.'/addons/revslider-beforeafter-addon/public/assets/js/revolution.addon.beforeafter.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-revealer-addon']['enable'])){
|
||||
if($params['revslider-revealer-addon']['enable']== true){
|
||||
//have 1 extra js
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-revealer-addon/public/assets/css/revolution.addon.revealer.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-revealer', 'modules/'.'revsliderprestashop'.'/addons/revslider-revealer-addon/public/assets/js/revolution.addon.revealer.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-weather-addon']['enable'])){
|
||||
if($params['revslider-weather-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-weather-addon/public/assets/css/revolution.addon.weather.css');
|
||||
//Context::getContext()->controller->registerJavascript('addon-weather', 'modules/'.'revsliderprestashop'.'/addons/revslider-weather-addon/public/assets/js/revolution.addon.weather.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-filmstrip-addon']['enable'])){
|
||||
if($params['revslider-filmstrip-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-filmstrip-addon/public/assets/css/revolution.addon.filmstrip.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-filmstrip', 'modules/'.'revsliderprestashop'.'/addons/revslider-filmstrip-addon/public/assets/js/revolution.addon.filmstrip.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-typewriter-addon']['enable'])){
|
||||
if($params['revslider-typewriter-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-typewriter-addon/public/assets/css/typewriter.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-typewriter', 'modules/'.'revsliderprestashop'.'/addons/revslider-typewriter-addon/public/assets/js/revolution.addon.typewriter.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
if(isset($params['revslider-polyfold-addon']['enable'])){
|
||||
if($params['revslider-polyfold-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-polyfold-addon/public/assets/css/revolution.addon.polyfold.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-polyfold', 'modules/'.'revsliderprestashop'.'/addons/revslider-polyfold-addon/public/assets/js/revolution.addon.polyfold.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-slicey-addon']['enable'])){
|
||||
if($params['revslider-slicey-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-slicey-addon/public/assets/css/revolution.addon.slicey.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-slicey', 'modules/'.'revsliderprestashop'.'/addons/revslider-bubblemorph-addon/public/assets/js/revolution.addon.slicey.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-maintenance-addon']['enable'])){
|
||||
if($params['revslider-maintenance-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-maintenance-addon/public/assets/css/revolution.addon.maintenance.css');
|
||||
//Context::getContext()->controller->registerJavascript('addon-maintenance', 'modules/'.'revsliderprestashop'.'/addons/revslider-maintenance-addon/public/assets/js/revolution.addon.maintenance.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
if(isset($params['revslider-snow-addon']['enable'])){
|
||||
if($params['revslider-snow-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-maintenance-addon/public/assets/css/revolution.addon.snow.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-snow', 'modules/'.'revsliderprestashop'.'/addons/revslider-snow-addon/public/assets/js/revolution.addon.snow.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-duotonefilters-addon']['enable'])){
|
||||
if($params['revslider-duotonefilters-addon']['enable']== true){
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-duotonefilters-addon/public/assets/css/revolution.addon.duotonefilters.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-duotonefilters', 'modules/'.'revsliderprestashop'.'/addons/revslider-duotonefilters-addon/public/assets/js/revolution.addon.duotonefilters.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-panorama-addon']['enable'])){
|
||||
if($params['revslider-panorama-addon']['enable']== true){
|
||||
//need one js file
|
||||
Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-panorama-addon/public/assets/css/revolution.addon.panorama.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-panorama', 'modules/'.'revsliderprestashop'.'/addons/revslider-panorama-addon/public/assets/js/revolution.addon.panorama.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-whiteboard-addon']['enable'])){
|
||||
if($params['revslider-whiteboard-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-whiteboard-addon/public/assets/css/revolution.addon.whiteboard.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-whiteboard', 'modules/'.'revsliderprestashop'.'/addons/revslider-whiteboard-addon/public/assets/js/revolution.addon.whiteboard.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($params['revslider-refresh-addon']['enable'])){
|
||||
if($params['revslider-refresh-addon']['enable']== true){
|
||||
//Context::getContext()->controller->addCSS(RS_PLUGIN_ADDONS_URL . 'revslider-refresh-addon/public/assets/css/revolution.addon.refresh.css');
|
||||
Context::getContext()->controller->registerJavascript('addon-refresh', 'modules/'.'revsliderprestashop'.'/addons/revslider-refresh-addon/public/assets/js/revolution.addon.refresh.min.js', ['position' => 'bottom', 'priority' => 1500]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function install()
|
||||
{
|
||||
|
||||
include_once dirname( __FILE__ ) . '/sql/install_tables.php';
|
||||
$langs = Language::getLanguages();
|
||||
$tabvalue = array(
|
||||
array(
|
||||
'class_name' => 'AdminRevslider',
|
||||
'id_parent' => '',
|
||||
'module' => 'revsliderprestashop',
|
||||
'name' => 'Slider Revolution',
|
||||
'active' => 1,
|
||||
),
|
||||
);
|
||||
foreach ( $tabvalue as $tab ) {
|
||||
$newtab = new Tab();
|
||||
$newtab->class_name = $tab['class_name'];
|
||||
$newtab->module = $tab['module'];
|
||||
$newtab->id_parent = $tab['id_parent'];
|
||||
foreach ( $langs as $l ) {
|
||||
$newtab->name[ $l['id_lang'] ] = $this->l( $tab['name'] );
|
||||
}
|
||||
$newtab->add( true, false );
|
||||
// Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'tab` SET `icon` = "create" WHERE `id_tab` = "'.(int)$newtab->id.'"');
|
||||
|
||||
}
|
||||
|
||||
|
||||
$tabvalue = array(
|
||||
array(
|
||||
'class_name' => 'AdminRevsliderSliders',
|
||||
'id_parent' => Tab::getIdFromClassName('AdminRevslider'),
|
||||
'module' => 'revsliderprestashop',
|
||||
'name' => 'Slider Revolution',
|
||||
'active' => 1,
|
||||
),
|
||||
array(
|
||||
'class_name' => 'AdminRevolutionsliderAjax',
|
||||
'id_parent' => -1,
|
||||
'module' => 'revsliderprestashop',
|
||||
'name' => 'Revolution Ajax Controller',
|
||||
'active' => 0,
|
||||
),
|
||||
array(
|
||||
'class_name' => 'AdminRevolutionsliderFmanager',
|
||||
'id_parent' => -1,
|
||||
'module' => 'revsliderprestashop',
|
||||
'name' => 'Revolution File Manager',
|
||||
'active' => 0,
|
||||
),
|
||||
);
|
||||
foreach ( $tabvalue as $tab ) {
|
||||
$newtab = new Tab();
|
||||
$newtab->class_name = $tab['class_name'];
|
||||
$newtab->module = $tab['module'];
|
||||
$newtab->id_parent = $tab['id_parent'];
|
||||
foreach ( $langs as $l ) {
|
||||
$newtab->name[ $l['id_lang'] ] = $this->l( $tab['name'] );
|
||||
}
|
||||
$newtab->add( true, false );
|
||||
// Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'tab` SET `icon` = "create" WHERE `id_tab` = "'.(int)$newtab->id.'"');
|
||||
|
||||
}
|
||||
|
||||
if (parent::install() && $this->registerHook('displayHeader') && $this->registerHook('displayBackOfficeHeader') && $this->registerHook('overrideLayoutTemplate') && $this->registerHook('displayRevSlider') && $this->registerHook('actionShopDataDuplication')) {
|
||||
|
||||
$gethooks = $this->getHooks();
|
||||
foreach (array_keys($gethooks) as $hook) {
|
||||
if ($hook != '') {
|
||||
$this->registerHook($hook);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public function hookCommonCb()
|
||||
{
|
||||
global $wpdb;
|
||||
|
||||
$sliders = $wpdb->getResults("SELECT * FROM " . $wpdb->prefix . RevSliderGlobals::TABLE_SLIDERS_NAME);
|
||||
return $sliders;
|
||||
}
|
||||
public function generateSlider($hookPosition = 'displayHome')
|
||||
{
|
||||
|
||||
if(RevLoader::is_admin()){
|
||||
return;
|
||||
}
|
||||
|
||||
$cache_id = 'revslider_front_' . $hookPosition;
|
||||
if (!Cache::isStored($cache_id)) {
|
||||
$sliders = self::$Sliders_arr;
|
||||
|
||||
|
||||
if (!empty($sliders)) {
|
||||
$rev_slider_front = new RevSliderFront();
|
||||
RevLoader::loadAllAddons();
|
||||
$content_sliders = '';
|
||||
|
||||
ob_start();
|
||||
RevLoader::do_action( 'wp_head' );
|
||||
RevLoader::do_action( 'wp_enqueue_scripts' );
|
||||
RevLoader::rev_front_print_styles();
|
||||
|
||||
RevLoader::rev_front_print_head_scripts();
|
||||
|
||||
RevLoader::do_action('revslider_slider_init_by_data_post',array());
|
||||
|
||||
|
||||
|
||||
foreach ($sliders as $slider){
|
||||
$slider = (object)$slider;
|
||||
$params = Tools::jsonDecode($slider->params, true);
|
||||
|
||||
if (@RevsliderPrestashop::getIsset($params['layout']['id_shop']) && $params['layout']['id_shop'] != Shop::getContextShopID()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isset($params['layout']['displayhook'])) {
|
||||
|
||||
if ($params['layout']['displayhook'] === $hookPosition) {
|
||||
|
||||
|
||||
|
||||
|
||||
$output = new RevSliderOutput();
|
||||
$slider_alias = $slider->alias;
|
||||
|
||||
$output->add_slider_to_stage($slider_alias);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RevLoader::do_action( 'wp_footer' );
|
||||
RevLoader::rev_front_print_footer_scripts();
|
||||
|
||||
$content_sliders = ob_get_contents();
|
||||
|
||||
ob_get_clean();
|
||||
Cache::store($cache_id, $content_sliders);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return Cache::retrieve($cache_id);
|
||||
|
||||
}
|
||||
function GetInner($content,$start,$end){
|
||||
$r = explode($start, $content);
|
||||
if (isset($r[1])){
|
||||
$r = explode($end, $r[1]);
|
||||
return $r[0];
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
public function __call($function, $args)
|
||||
{
|
||||
|
||||
|
||||
$hook = Tools::substr($function, 0, 4);
|
||||
|
||||
|
||||
if ($hook == 'hook') {
|
||||
$hook_name = Tools::substr($function, 4);
|
||||
|
||||
$hook_name = lcfirst($hook_name);
|
||||
return $this->generateSlider($hook_name);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function hookHeader() {
|
||||
return $this->hookDisplayHeader();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user