-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.php
172 lines (161 loc) · 8.78 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<?php
/**
* @copyright Dennis Reilard
* @package ilch
*/
namespace Modules\RadioHoererCharts\Config;
class Config extends \Ilch\Config\Install
{
public $config = [
'key' => 'radiohoerercharts',
'version' => '1.3.1',
'icon_small' => 'fa-list-ol',
'author' => 'Reilard, Dennis alias hhunderter ',
'link' => '',
'official' => false,
'languages' => [
'de_DE' => [
'name' => 'Radio Hörer Charts',
'description' => 'Hier können die Hörer Charts verwaltet werden.',
],
'en_EN' => [
'name' => 'Radio Listener Charts',
'description' => 'Here you can manage your Listener Charts.',
],
],
'ilchCore' => '2.1.20',
'phpVersion' => '5.6',
];
public function install()
{
$databaseConfig = new \Ilch\Config\Database($this->db());
$databaseConfig->set('radio_hoerercharts_Guest_Allow', '0');
$databaseConfig->set('radio_hoerercharts_Start_Datetime', '');
$databaseConfig->set('radio_hoerercharts_End_Datetime', '');
$databaseConfig->set('radio_hoerercharts_Program_Name', 'Hörercharts');
$databaseConfig->set('radio_hoerercharts_showstars', '1');
$databaseConfig->set('radio_hoerercharts_Star1', '1');
$databaseConfig->set('radio_hoerercharts_Star2', '2');
$databaseConfig->set('radio_hoerercharts_Star3', '3');
$databaseConfig->set('radio_hoerercharts_Star4', '4');
$databaseConfig->set('radio_hoerercharts_Star5', '5');
$databaseConfig->set('radio_hoerercharts_all_sec_vote', '86400'); // 24h
$databaseConfig->set('radio_hoerercharts_allow_suggestion', '1');
$this->db()->queryMulti($this->getInstallSql());
}
public function uninstall()
{
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Guest_Allow'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Start_Datetime'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_End_Datetime'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Program_Name'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_showstars'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Star1'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Star2'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Star3'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Star4'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_Star5'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_all_sec_vote'");
$this->db()->queryMulti("DELETE FROM `[prefix]_config` WHERE `key` = 'radio_hoerercharts_allow_suggestion'");
$this->db()->queryMulti(' DROP TABLE IF EXISTS `[prefix]_radio_hoerercharts`;
DROP TABLE IF EXISTS `[prefix]_radio_hoerercharts_uservotes`;
DROP TABLE IF EXISTS `[prefix]_radio_hoerercharts_suggestion`;');
}
public function getInstallSql()
{
return 'CREATE TABLE IF NOT EXISTS `[prefix]_radio_hoerercharts` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`setfree` TINYINT(1) NOT NULL DEFAULT \'1\',
`interpret` VARCHAR(255) NOT NULL,
`songtitel` VARCHAR(255) NOT NULL,
`votes` INT UNSIGNED NOT NULL,
`datecreate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `[prefix]_radio_hoerercharts_uservotes` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`user_id` INT(11) NOT NULL,
`session_id` VARCHAR(255) NOT NULL DEFAULT \'\',
`last_activity` DATETIME NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `[prefix]_radio_hoerercharts_suggestion` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`interpret` VARCHAR(255) NOT NULL,
`songtitel` VARCHAR(255) NOT NULL,
`datecreate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;';
}
public function getUpdate($installedVersion)
{
switch ($installedVersion) {
//Erste version erstellt Vorlage: https://www.ilch.de/downloads-show-1562.html
case "1.0.0": //update zu 1.0.1
/*
Bugfixes
Version-Nr angepasst
PHPDoc überarbeitet
Zurücksetzen mit Sicherheitsabfrage
Englische übersetzung überarbeitet
*/
case "1.0.1": //update zu 1.1.0
/*
Bugfixes
Gäste können wenn gewünscht auch abstimmen
-session_id eingeführt
*/
$this->db()->query('ALTER TABLE `[prefix]_radio_hoerercharts_uservotes` ADD COLUMN `session_id` VARCHAR(255) NOT NULL DEFAULT \'\' AFTER `user_id`;');
$databaseConfig = new \Ilch\Config\Database($this->db());
$databaseConfig->set('radio_hoerercharts_Guest_Allow', '0');
case "1.1.0": //update zu 1.2.0
/*
Kleine Verbesserungen
Icon geändert
Wenn gewünscht kann ein Abstimmungszeitraum gewählt werden
Programmname kann geändert werden
*/
$databaseConfig = new \Ilch\Config\Database($this->db());
$databaseConfig->set('radio_hoerercharts_Start_Datetime', '');
$databaseConfig->set('radio_hoerercharts_End_Datetime', '');
$databaseConfig->set('radio_hoerercharts_Program_Name', 'Hörercharts');
$fields = [
'author' => 'Reilard, Dennis alias hhunderter ',
'icon_small' => 'fa-list-ol'
];
$this->db()->update('modules')
->values($fields)
->where(['key' => 'radiohoerercharts'])
->execute();
case "1.2.0": //update zu 1.3.0
/*
In der Chart-Liste können Einträge ein-/ausgeblendet werden
Wenn gewünscht können User/Gäste alle X Sekunden abstimmen
User/Gäste können, wenn gewünscht, vorschläge machen für die Chart-Liste
*/
$this->db()->query('ALTER TABLE `[prefix]_radio_hoerercharts_uservotes` ADD COLUMN `last_activity` DATETIME NOT NULL AFTER `session_id`;');
$this->db()->query('ALTER TABLE `[prefix]_radio_hoerercharts` ADD COLUMN `setfree` TINYINT(1) NOT NULL DEFAULT \'1\' AFTER `id`;');
$this->db()->query('ALTER TABLE `[prefix]_radio_hoerercharts` ADD COLUMN `datecreate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `votes`;');
$this->db()->query('ALTER TABLE `[prefix]_radio_hoerercharts` ADD COLUMN `user_id` INT(11) NOT NULL AFTER `datecreate`;');
$this->db()->query('CREATE TABLE IF NOT EXISTS `[prefix]_radio_hoerercharts_suggestion` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`interpret` VARCHAR(255) NOT NULL,
`songtitel` VARCHAR(255) NOT NULL,
`datecreate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` INT(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1;');
$databaseConfig = new \Ilch\Config\Database($this->db());
$databaseConfig->set('radio_hoerercharts_all_sec_vote', '86400'); // 24h
$databaseConfig->set('radio_hoerercharts_allow_suggestion', '1');
case "1.3.0": //update zu 1.3.1
/*
fix indentation
bugfix
*/
}
return 'Update function executed.';
}
}