feat: Add YouTube video support and update admin templates

- Introduced a new YouTube tech integration in `youtube.min.js` for enhanced video playback.
- Created new admin template files for managing video settings, including `index.php` and `steasyvideo-pro.tpl`.
- Updated hook templates (`device_mode.tpl`, `forquickview.tpl`, `header.tpl`, `miniature.tpl`, `miniature_tb.tpl`, and predefined templates) to include video functionality.
- Implemented caching headers in several PHP files to improve performance.
- Ensured all new templates include proper licensing information and copyright notices.
This commit is contained in:
2025-05-23 19:27:41 +02:00
parent d485f46a7a
commit eacf500d18
83 changed files with 12143 additions and 3 deletions

View File

@@ -0,0 +1,35 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,42 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
use Elementor\Core\Breakpoints\Manager as Breakpoints_Manager;
if (!defined('_PS_VERSION_'))
exit;
function upgrade_module_1_0_5($object)
{
$result = true;
$field = Db::getInstance()->executeS('Describe `'._DB_PREFIX_.'st_easy_video` `location`');
if(!is_array($field) || !count($field)) {
$result &= (bool)Db::getInstance()->execute('ALTER TABLE '._DB_PREFIX_.'st_easy_video ADD `location` tinyint(1) unsigned NOT NULL DEFAULT 0');
}
$result &= Configuration::updateValue($object->_prefix_st.'VIMEO_API', 1);
return $result;
}

View File

@@ -0,0 +1,83 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
use Elementor\Core\Breakpoints\Manager as Breakpoints_Manager;
if (!defined('_PS_VERSION_'))
exit;
function upgrade_module_1_2_0($object)
{
$result = true;
// Add new tab
$classes = [
['cls' => 'AdminStEasyVideoMiniatureMobile', 'name' => 'Miniature on Mobile'],
];
foreach($classes as $class) {
if (!Tab::getIdFromClassName($class['cls'])) {
$tab = new Tab();
$tab->active = 1;
$tab->class_name = $class['cls'];
$tab->name = array();
foreach (Language::getLanguages(true) as $lang) {
$tab->name[$lang['id_lang']] = $class['name'];
}
$tab->id_parent = (int)Tab::getIdFromClassName('AdminStEasyVideoPeiZhi');
$tab->module = $object->name;
$result &= $tab->add();
}
}
if(!Configuration::updateValue($object->_prefix_st.'MINIATURE_DISPLAY_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_DISPLAY'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_SELECTOR_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_SELECTOR'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_HOVER_ELEMENT_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_HOVER_ELEMENT'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_VIDEO_SELECTOR_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_VIDEO_SELECTOR'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_VIDEO_APPEND_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_VIDEO_APPEND'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_VIDEO_POSITION_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_VIDEO_POSITION'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_BUTTON_SELECTOR_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_BUTTON_SELECTOR'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_BUTTON_APPEND_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_BUTTON_APPEND'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_BUTTON_POSITION_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_BUTTON_POSITION'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_BUTTON_LAYOUT_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_BUTTON_LAYOUT'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_BUTTON_HIDE_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_BUTTON_HIDE'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_AUTOPLAY_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_AUTOPLAY'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_MUTED_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_MUTED'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_LOOP_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_LOOP'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_CONTROLS_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_CONTROLS'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_VIDEO_TEMPLATE_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_VIDEO_TEMPLATE'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_VIDEO_ZINDEX_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_VIDEO_ZINDEX'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_PLAY_BTN_POSITION_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_PLAY_BTN_POSITION'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_PLAY_BTN_OFFSET_X_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_PLAY_BTN_OFFSET'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_PLAY_BTN_OFFSET_Y_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_PLAY_BTN_OFFSET'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_PLAY_TEXT_COLOR_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_PLAY_TEXT_COLOR'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_PLAY_TEXT_BG_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_PLAY_TEXT_BG'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_CLOSE_BTN_POSITION_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_CLOSE_BTN_POSITION'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_CLOSE_BTN_OFFSET_X_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_CLOSE_BTN_OFFSET'))
|| !Configuration::updateValue($object->_prefix_st.'MINIATURE_CLOSE_BTN_OFFSET_Y_DESKTOP', Configuration::get($object->_prefix_st.'MINIATURE_CLOSE_BTN_OFFSET'))
)
$result &= false;
return $result;
}

View File

@@ -0,0 +1,44 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
use Elementor\Core\Breakpoints\Manager as Breakpoints_Manager;
if (!defined('_PS_VERSION_'))
exit;
function upgrade_module_1_2_3($object)
{
$result = true;
Db::getInstance()->execute('TRUNCATE TABLE ' . _DB_PREFIX_ . 'st_easy_video_yuyan');
$videos = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'st_easy_video`');
if($videos){
$data = [];
foreach ($videos as $v) {
$data[] = ['id_st_easy_video' => (int)$v['id_st_easy_video'], 'id_lang' => 0];
}
$result &= Db::getInstance()->insert('st_easy_video_yuyan', $data);
}
return $result;
}