JEMBOT MAWOT Bypass Shell
<?php
/**
* Sell Tickets module for Prestashop by Avellana Digital
*
* @author Avellana Digital SL
* @copyright Copyright (c) 2019 Avellana Digital - www.avellanadigital.com
* @license Commercial license
* @version 4.0.0
*/
if (!defined('_PS_VERSION_')) {
exit;
}
function upgrade_module_4_0_0()
{
Configuration::updateValue('selltickets_token_ajax', Tools::passwdGen(32));
Configuration::updateValue('selltickets_token_ajax_fr', Tools::passwdGen(32));
Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'selltickets_lang` (
`id_ticket_lang` int(11) NOT NULL AUTO_INCREMENT,
`id_ticket` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`date` text NOT NULL,
`hour` text DEFAULT NULL,
`conditions` text DEFAULT NULL,
`venue` varchar(255) DEFAULT NULL,
`id_lang` int(11) NOT NULL,
PRIMARY KEY (`id_ticket_lang`),
UNIQUE KEY `id_ticket` (`id_ticket`,`id_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;');
Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'selltickets_seats_order` (
`id_seats_order` int(11) NOT NULL AUTO_INCREMENT,
`id_order` int(11) NOT NULL,
`id_ticket_seats` int(11) NOT NULL,
`seat` text NOT NULL,
PRIMARY KEY (`id_seats_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;');
Db::getInstance()->Execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'selltickets_seats_tickets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_ticket` int(11) NOT NULL,
`id_ticket_seats` int(11) NOT NULL,
`parent` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `id_ticket` (`id_ticket`,`id_ticket_seats`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;');
$id_shop = Shop::getContextShopID();
if (is_null($id_shop)) {
$id_shop = false; // Totes les botigues
}
$languages = Language::getLanguages(true, $id_shop);
/*
selltickets // selltickets_lang
*/
$tickets = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'selltickets`;');
if ($tickets) {
foreach ($tickets as $ticket) {
foreach ($languages as $lang) {
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'selltickets_lang` (
`id_ticket`,
`name`,
`date`,
`hour`,
`conditions`,
`venue`,
`id_lang`
)
VALUES (
'.(int)$ticket['id_ticket'].',
\''.pSQL($ticket['name']).'\',
\''.pSQL($ticket['date']).'\',
\''.pSQL($ticket['hour']).'\',
\''.pSQL($ticket['conditions']).'\',
\''.pSQL($ticket['venue']).'\',
'.(int)$lang['id_lang'].'
);
');
}
}
}
Db::getInstance()->execute('
ALTER TABLE `'._DB_PREFIX_.'selltickets`
DROP COLUMN `name`,
DROP COLUMN `date`,
DROP COLUMN `hour`,
DROP COLUMN `conditions`,
DROP COLUMN `venue`;
');
/*
selltickets_seats_orders
*/
$ticket_orders = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'selltickets_orders`;');
if ($ticket_orders) {
foreach ($ticket_orders as $ticket_order) {
if (!empty($ticket_order['seat'])) {
$id_ticket_seat = Db::getInstance()->getValue('
SELECT `id_ticket_seats` FROM `'._DB_PREFIX_.'selltickets_seats`
WHERE `id_ticket` = '.(int)$ticket_order['id_ticket'].';
');
if ($id_ticket_seat) {
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'selltickets_seats_order` (
`id_order`,
`id_ticket_seats`,
`seat`
)
VALUES (
'.(int)$ticket_order['id_order'].',
'.(int)$id_ticket_seat.',
\''.pSQL($ticket_order['seat']).'\'
);
');
}
}
}
}
Db::getInstance()->execute('
ALTER TABLE `'._DB_PREFIX_.'selltickets_orders`
DROP COLUMN `seat`;
');
/*
selltickets_seats // selltickets_seats_cart
*/
$ticket_seats = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'selltickets_seats`;');
$aux_ticket_seat = array();
if ($ticket_seats) {
foreach ($ticket_seats as $ticket_seat) {
$aux_ticket_seat[$ticket_seat['id_ticket']] = $ticket_seat['id_ticket_seats'];
}
}
Db::getInstance()->execute('
ALTER TABLE `'._DB_PREFIX_.'selltickets_seats`
DROP COLUMN `id_ticket`;
');
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_cart`
ADD `id_ticket_seats` INT(11) NOT NULL DEFAULT \'0\' AFTER `id_selltickets_seats_cart`;
');
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_cart`
DROP INDEX `id_cart`,
ADD UNIQUE `id_cart` (`id_cart`,`id_product`,`id_product_attribute`,`id_ticket_seats`) COMMENT \'\';
');
/*
selltickets_seats_num
*/
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_num`
ADD `id_ticket_seats` INT(11) NOT NULL DEFAULT \'0\' AFTER `id_selltickets_seats_num`;
');
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_num`
CHANGE `seat_num` `seat_num` VARCHAR( 32 ) CHARACTER SET utf8
COLLATE utf8_general_ci NULL DEFAULT NULL ;
');
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_num`
ADD `id_product_attribute` INT(11) NOT NULL DEFAULT \'0\' AFTER `seat_num`;
');
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_num`
DROP INDEX `id_ticket`;
');
$ticket_seat_nums = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'selltickets_seats_num`;');
if ($ticket_seat_nums) {
foreach ($ticket_seat_nums as $ticket_seat_num) {
Db::getInstance()->Execute('
UPDATE `'._DB_PREFIX_.'selltickets_seats_num` SET
`id_ticket_seats` = '.(int)$aux_ticket_seat[(int)$ticket_seat_num['id_ticket']].',
`id_product_attribute` = 0
WHERE `id_ticket` = '.(int)$ticket_seat_num['id_ticket'].'
');
}
}
Db::getInstance()->execute('
ALTER TABLE `'._DB_PREFIX_.'selltickets_seats_num`
DROP COLUMN `id_ticket`;
');
/*
selltickets_seats_tickets
*/
if ($aux_ticket_seat) {
foreach ($aux_ticket_seat as $idtick => $idtickseat) {
Db::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'selltickets_seats_tickets` (
`id_ticket`,
`id_ticket_seats`,
`parent`
)
VALUES (
'.(int)$idtick.',
'.(int)$idtickseat.',
1
);
');
}
}
Tools::clearSmartyCache();
Media::clearCache();
return true;
}
xxxxx1.0, XXX xxxx