Subida del módulo y tema de PrestaShop

This commit is contained in:
Kaloyan
2026-04-09 18:31:51 +02:00
parent 12c253296f
commit 16b3ff9424
39262 changed files with 7418797 additions and 0 deletions

93
classes/QuickAccess.php Normal file
View File

@@ -0,0 +1,93 @@
<?php
/**
* For the full copyright and license information, please view the
* docs/licenses/LICENSE.txt file that was distributed with this source code.
*/
/**
* Class QuickAccessCore.
*/
class QuickAccessCore extends ObjectModel
{
/** @var string Name */
public $name;
/** @var string Link */
public $link;
/** @var bool New windows or not */
public $new_window;
/**
* @see ObjectModel::$definition
*/
public static $definition = [
'table' => 'quick_access',
'primary' => 'id_quick_access',
'multilang' => true,
'fields' => [
'link' => ['type' => self::TYPE_STRING, 'validate' => 'isUrl', 'required' => true, 'size' => 255],
'new_window' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true],
/* Lang fields */
'name' => ['type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 32],
],
];
/**
* Get all available quick_accesses.
*
* @return array QuickAccesses
*/
public static function getQuickAccesses($idLang)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `' . _DB_PREFIX_ . 'quick_access` qa
LEFT JOIN `' . _DB_PREFIX_ . 'quick_access_lang` qal ON (qa.`id_quick_access` = qal.`id_quick_access` AND qal.`id_lang` = ' . (int) $idLang . ')
ORDER BY `name` ASC');
}
/**
* Get all available quick_accesses with token.
*
* @return bool|array QuickAccesses
*/
public static function getQuickAccessesWithToken($idLang, $idEmployee)
{
$quickAccess = self::getQuickAccesses($idLang);
if (empty($quickAccess)) {
return false;
}
$container = PrestaShop\PrestaShop\Adapter\SymfonyContainer::getInstance();
if (!$container) {
return false;
}
$quickAccessGenerator = $container->get(PrestaShop\PrestaShop\Core\QuickAccess\QuickAccessGenerator::class);
return $quickAccessGenerator->getTokenizedQuickAccesses();
}
/**
* Toggle new window.
*
* @return bool
*
* @throws PrestaShopException
*/
public function toggleNewWindow()
{
if (!array_key_exists('new_window', get_object_vars($this))) {
throw new PrestaShopException('property "new_window" is missing in object ' . get_class($this));
}
$this->setFieldsToUpdate(['new_window' => true]);
$this->new_window = !(int) $this->new_window;
return $this->update(false);
}
}