mirror of
https://github.com/ZeJMaN/LBCAlerte_ynh.git
synced 2025-07-26 21:27:34 +02:00
Upgrade LBCAlerte to version 3.3
Add upgrade script
This commit is contained in:
@ -7,6 +7,7 @@ $dbConnection->query("CREATE TABLE IF NOT EXISTS `LBC_User` (
|
||||
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`username` VARCHAR(100) COLLATE utf8_general_ci NOT NULL UNIQUE,
|
||||
`password` VARCHAR(40) NOT NULL,
|
||||
`api_key` CHAR(40) DEFAULT NULL UNIQUE,
|
||||
`options` TEXT DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_bin");
|
||||
@ -35,6 +36,8 @@ $dbConnection->query("CREATE TABLE IF NOT EXISTS `LBC_Alert` (
|
||||
`send_pushbullet` BOOLEAN NOT NULL,
|
||||
`send_notifymyandroid` TINYINT(1) NOT NULL,
|
||||
`send_pushover` TINYINT(1) NOT NULL,
|
||||
`send_joaoappsjoin` TINYINT(1) NOT NULL,
|
||||
`send_slack` TINYINT(1) NOT NULL,
|
||||
`last_id` TEXT DEFAULT NULL,
|
||||
`max_id` INTEGER UNSIGNED NOT NULL DEFAULT '0',
|
||||
`user_id` MEDIUMINT UNSIGNED NOT NULL,
|
||||
@ -44,3 +47,32 @@ $dbConnection->query("CREATE TABLE IF NOT EXISTS `LBC_Alert` (
|
||||
REFERENCES `LBC_User` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_bin");
|
||||
|
||||
$dbConnection->query("CREATE TABLE IF NOT EXISTS `LBC_BackupAd` (
|
||||
`aid` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`id` INTEGER UNSIGNED NOT NULL,
|
||||
`date_created` DATETIME NOT NULL,
|
||||
`title` VARCHAR(255) NOT NULL,
|
||||
`link` VARCHAR(255) NOT NULL,
|
||||
`link_mobile` VARCHAR(255) NOT NULL,
|
||||
`price` INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
||||
`currency` VARCHAR(10) NOT NULL DEFAULT '€',
|
||||
`date` DATE NOT NULL,
|
||||
`category` VARCHAR(255) DEFAULT NULL,
|
||||
`country` VARCHAR(255) DEFAULT NULL,
|
||||
`zip_code` VARCHAR(10) DEFAULT NULL,
|
||||
`city` VARCHAR(255) DEFAULT NULL,
|
||||
`author` VARCHAR(255) DEFAULT NULL,
|
||||
`professional` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`urgent` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`photos` TEXT DEFAULT NULL,
|
||||
`properties` TEXT DEFAULT NULL,
|
||||
`description` TEXT NOT NULL,
|
||||
`comment` TEXT NOT NULL,
|
||||
`user_id` MEDIUMINT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`aid`),
|
||||
CONSTRAINT `LBCKey_BackupAd_User`
|
||||
FOREIGN KEY `user_id` (`user_id`)
|
||||
REFERENCES `LBC_User` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_general_ci");
|
81
sources/others/update/3.3.php
Normal file
81
sources/others/update/3.3.php
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__."/update.php";
|
||||
|
||||
class Update_33 extends Update
|
||||
{
|
||||
public function update()
|
||||
{
|
||||
if (!is_dir(DOCUMENT_ROOT."/static/media/annonce")) {
|
||||
mkdir(DOCUMENT_ROOT."/static/media/annonce", 0755, true);
|
||||
}
|
||||
|
||||
if ("db" == $this->_storage) {
|
||||
$tables = array("LBC_User", "LBC_Alert");
|
||||
foreach ($tables AS $table) {
|
||||
$this->_dbConnection->set_charset("latin1");
|
||||
$rows = $this->_dbConnection->query("SELECT * FROM `".$table."`");
|
||||
$datas = array();
|
||||
while ($row = $rows->fetch_assoc()) {
|
||||
$datas[] = $row;
|
||||
}
|
||||
|
||||
$this->_dbConnection->set_charset("utf8");
|
||||
|
||||
foreach ($datas AS $data) {
|
||||
$id = $data["id"];
|
||||
unset($data["id"]);
|
||||
$sqlOptions = array();
|
||||
foreach ($data AS $key => $value) {
|
||||
if ($value === null) {
|
||||
$value = "NULL";
|
||||
} elseif (is_bool($value)) {
|
||||
$value = (int) $value;
|
||||
} elseif (!is_numeric($value)) {
|
||||
$value = "'".$this->_dbConnection->real_escape_string($value)."'";
|
||||
}
|
||||
$sqlOptions[] = "`".$key."` = ".$value;
|
||||
}
|
||||
$this->_dbConnection->query("UPDATE `".$table."` SET ".
|
||||
implode(", ", $sqlOptions).
|
||||
" WHERE `id` = ".$id);
|
||||
}
|
||||
}
|
||||
|
||||
$this->_dbConnection->query("CREATE TABLE IF NOT EXISTS `LBC_BackupAd` (
|
||||
`aid` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`id` INTEGER UNSIGNED NOT NULL,
|
||||
`date_created` DATETIME NOT NULL,
|
||||
`title` VARCHAR(255) NOT NULL,
|
||||
`link` VARCHAR(255) NOT NULL,
|
||||
`link_mobile` VARCHAR(255) NOT NULL,
|
||||
`price` INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
||||
`currency` VARCHAR(10) NOT NULL DEFAULT '€',
|
||||
`date` DATE NOT NULL,
|
||||
`category` VARCHAR(255) DEFAULT NULL,
|
||||
`country` VARCHAR(255) DEFAULT NULL,
|
||||
`zip_code` VARCHAR(10) DEFAULT NULL,
|
||||
`city` VARCHAR(255) DEFAULT NULL,
|
||||
`author` VARCHAR(255) DEFAULT NULL,
|
||||
`professional` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`urgent` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`photos` TEXT DEFAULT NULL,
|
||||
`properties` TEXT DEFAULT NULL,
|
||||
`description` TEXT NOT NULL,
|
||||
`comment` TEXT NOT NULL,
|
||||
`user_id` MEDIUMINT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`aid`),
|
||||
CONSTRAINT `LBCKey_BackupAd_User`
|
||||
FOREIGN KEY `user_id` (`user_id`)
|
||||
REFERENCES `LBC_User` (`id`)
|
||||
ON DELETE CASCADE
|
||||
) ENGINE=InnoDB CHARSET=utf8 COLLATE=utf8_general_ci");
|
||||
|
||||
$this->_dbConnection->query("ALTER TABLE `LBC_User`
|
||||
ADD `api_key` CHAR(40) DEFAULT NULL UNIQUE AFTER `password`");
|
||||
|
||||
$this->_dbConnection->query("ALTER TABLE `LBC_Alert` ADD `send_joaoappsjoin` TINYINT(1) NOT NULL AFTER `send_pushover`");
|
||||
$this->_dbConnection->query("ALTER TABLE `LBC_Alert` ADD `send_slack` TINYINT(1) NOT NULL AFTER `send_joaoappsjoin`");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user