JuKu /
JuKuCMS
| 1 | <?php |
||
| 2 | |||
| 3 | /** |
||
| 4 | * Copyright (c) 2018 Justin Kuenzel (jukusoft.com) |
||
| 5 | * |
||
| 6 | * Licensed under the Apache License, Version 2.0 (the "License"); |
||
| 7 | * you may not use this file except in compliance with the License. |
||
| 8 | * You may obtain a copy of the License at |
||
| 9 | * |
||
| 10 | * http://www.apache.org/licenses/LICENSE-2.0 |
||
| 11 | * |
||
| 12 | * Unless required by applicable law or agreed to in writing, software |
||
| 13 | * distributed under the License is distributed on an "AS IS" BASIS, |
||
| 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||
| 15 | * See the License for the specific language governing permissions and |
||
| 16 | * limitations under the License. |
||
| 17 | */ |
||
| 18 | |||
| 19 | |||
| 20 | /** |
||
| 21 | * This file creates / upgrades database structure |
||
| 22 | */ |
||
| 23 | |||
| 24 | //define root path |
||
| 25 | define('ROOT_PATH', dirname(__FILE__) . "/../"); |
||
| 26 | |||
| 27 | define('INSTALL_SCRIPT', true); |
||
| 28 | |||
| 29 | error_reporting(E_ALL); |
||
| 30 | |||
| 31 | if (PHP_MAJOR_VERSION < 7) { |
||
| 32 | echo "CMS is required PHP 7.0.0 or greater! Please install PHP 7 (current version: " . PHP_VERSION . ")."; |
||
| 33 | exit; |
||
| 34 | } |
||
| 35 | |||
| 36 | //define some constants |
||
| 37 | define('CACHE_PATH', ROOT_PATH . "cache/"); |
||
| 38 | define('CONFIG_PATH', ROOT_PATH . "config/"); |
||
| 39 | define('STORE_PATH', ROOT_PATH . "store/"); |
||
| 40 | |||
| 41 | //include and load ClassLoader |
||
| 42 | require(ROOT_PATH . "system/core/classes/classloader.php"); |
||
| 43 | ClassLoader::init(); |
||
| 44 | |||
| 45 | //require config |
||
| 46 | require(ROOT_PATH . "config/config.php"); |
||
| 47 | |||
| 48 | //initialize cache |
||
| 49 | Cache::init(); |
||
| 50 | |||
| 51 | //initialize database |
||
| 52 | Database::getInstance(); |
||
| 53 | |||
| 54 | /** |
||
| 55 | * create database schema here |
||
| 56 | */ |
||
| 57 | |||
| 58 | /** |
||
| 59 | * test table to check upgrade system |
||
| 60 | */ |
||
| 61 | |||
| 62 | echo "Create / Upgrade table <b>test</b>...<br />"; |
||
| 63 | |||
| 64 | //create or upgrade test table |
||
| 65 | $table = new DBTable("test", Database::getInstance()); |
||
| 66 | $table->setEngine("InnoDB"); |
||
| 67 | $table->setCharset("utf8"); |
||
| 68 | |||
| 69 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 70 | $table->addInt("id", 11, true, true); |
||
| 71 | $table->addVarchar("name", 255, true); |
||
| 72 | $table->addVarchar("value", 255, true); |
||
| 73 | $table->addInt("activated", 10, true, false, "1"); |
||
| 74 | |||
| 75 | //add keys to table |
||
| 76 | $table->addPrimaryKey("id"); |
||
| 77 | $table->addUnique("name", "UNIQUE_NAME"); |
||
| 78 | $table->addIndex("activated", "ix_activated"); |
||
| 79 | |||
| 80 | //create or upgrade table |
||
| 81 | $table->upgrade(); |
||
| 82 | |||
| 83 | echo "Finished!<br />"; |
||
| 84 | |||
| 85 | /** |
||
| 86 | * test table to check upgrade system with added column, removed column and changed column |
||
| 87 | */ |
||
| 88 | |||
| 89 | echo "Create / Upgrade table <b>test</b>...<br />"; |
||
| 90 | |||
| 91 | //create or upgrade test table |
||
| 92 | $table = new DBTable("test", Database::getInstance()); |
||
| 93 | $table->setEngine("InnoDB"); |
||
| 94 | $table->setCharset("utf8"); |
||
| 95 | |||
| 96 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 97 | $table->addInt("id", 11, true, true); |
||
| 98 | //$table->addVarchar("name", 255, true); |
||
| 99 | $table->addVarchar("name2", 255, true); |
||
| 100 | $table->addVarchar("value", 200, false); |
||
| 101 | $table->addInt("activated", 10, true, false, "1"); |
||
| 102 | |||
| 103 | //add keys to table |
||
| 104 | $table->addPrimaryKey("id"); |
||
| 105 | $table->addUnique("name", "UNIQUE_NAME"); |
||
| 106 | $table->addIndex("activated", "ix_activated"); |
||
| 107 | |||
| 108 | //create or upgrade table |
||
| 109 | $table->upgrade(); |
||
| 110 | |||
| 111 | echo "Finished!<br />"; |
||
| 112 | |||
| 113 | /** |
||
| 114 | * table EVENTS |
||
| 115 | */ |
||
| 116 | |||
| 117 | echo "Create / Upgrade table <b>events</b>...<br />"; |
||
| 118 | |||
| 119 | //create or upgrade test table |
||
| 120 | $table = new DBTable("events", Database::getInstance()); |
||
| 121 | $table->setEngine("InnoDB"); |
||
| 122 | $table->setCharset("utf8"); |
||
| 123 | |||
| 124 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 125 | $table->addInt("id", 11, true, true); |
||
| 126 | $table->addVarchar("name", 255, true); |
||
| 127 | $table->addEnum("type", array("FILE", "FUNCTION", "CLASS_STATIC_METHOD", ""), true); |
||
| 128 | $table->addVarchar("file", 255, false, "NULL"); |
||
| 129 | $table->addVarchar("class_name", 255, true, ""); |
||
| 130 | $table->addVarchar("class_method", 255, true, ""); |
||
| 131 | $table->addVarchar("created_from", 255, true); |
||
| 132 | $table->addInt("activated", 10, true, false, "1"); |
||
| 133 | |||
| 134 | //add keys to table |
||
| 135 | $table->addPrimaryKey("id"); |
||
| 136 | $table->addUnique(array("name", "file", "class_name", "class_method"), "UNIQUE_EVENTS"); |
||
| 137 | $table->addIndex(array("name", "activated"), "name"); |
||
| 138 | |||
| 139 | //create or upgrade table |
||
| 140 | $table->upgrade(); |
||
| 141 | |||
| 142 | echo "Finished!<br />"; |
||
| 143 | |||
| 144 | /** |
||
| 145 | * table DOMAIN |
||
| 146 | */ |
||
| 147 | |||
| 148 | echo "Create / Upgrade table <b>domain</b>...<br />"; |
||
| 149 | |||
| 150 | //create or upgrade test table |
||
| 151 | $table = new DBTable("domain", Database::getInstance()); |
||
| 152 | $table->setEngine("InnoDB"); |
||
| 153 | $table->setCharset("utf8"); |
||
| 154 | |||
| 155 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 156 | $table->addInt("id", 10, true, true); |
||
| 157 | $table->addVarchar("domain", 255, true); |
||
| 158 | $table->addInt("alias", 10, true, false, "-1"); |
||
| 159 | $table->addVarchar("home_page", 255, true, "home"); |
||
| 160 | $table->addEnum("wildcard", array("YES", "NO"), true, "NO"); |
||
| 161 | $table->addInt("styleID", 10, true, false, "-1"); |
||
| 162 | $table->addVarchar("redirect_url", 255, true, "none");# |
||
| 163 | $table->addInt("redirect_code", 10, true, false, "301"); |
||
| 164 | $table->addVarchar("base_dir", 255, true, "/"); |
||
| 165 | $table->addInt("force_ssl", 10, true, false, "0");//if 1 then all http urls would be rewritten to https urls |
||
| 166 | $table->addTimestamp("lastUpdate", true, "CURRENT_TIMESTAMP"); |
||
| 167 | $table->addInt("activated", 10, true, false, "1"); |
||
| 168 | |||
| 169 | //add keys to table |
||
| 170 | $table->addPrimaryKey("id"); |
||
| 171 | $table->addUnique("domain"); |
||
| 172 | $table->addIndex("alias"); |
||
| 173 | |||
| 174 | //create or upgrade table |
||
| 175 | $table->upgrade(); |
||
| 176 | |||
| 177 | echo "Finished!<br />"; |
||
| 178 | |||
| 179 | /** |
||
| 180 | * table global_settings |
||
| 181 | * |
||
| 182 | * Package: com.jukusoft.cms.settings |
||
| 183 | */ |
||
| 184 | |||
| 185 | echo "Create / Upgrade table <b>global_settings</b>...<br />"; |
||
| 186 | |||
| 187 | //create or upgrade test table |
||
| 188 | $table = new DBTable("global_settings", Database::getInstance()); |
||
| 189 | $table->setEngine("InnoDB"); |
||
| 190 | $table->setCharset("utf8"); |
||
| 191 | |||
| 192 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 193 | $table->addVarchar("key", 255, true); |
||
| 194 | $table->addText("value", true); |
||
| 195 | $table->addVarchar("title", 255, true); |
||
| 196 | $table->addVarchar("description", 600, true); |
||
| 197 | $table->addVarchar("visible_permission", 255, true, "can_see_global_settings"); |
||
| 198 | $table->addVarchar("change_permission", 255, true, "can_change_global_settings"); |
||
| 199 | $table->addVarchar("owner", 255, true, "system"); |
||
| 200 | $table->addInt("order", 10, true, false, 10); |
||
| 201 | $table->addVarchar("icon_path", 600, true, "none"); |
||
| 202 | $table->addTimestamp("last_update", true, "0000-00-00 00:00:00", true); |
||
| 203 | $table->addVarchar("datatype", 255, true, "DataType_String"); |
||
| 204 | $table->addText("datatype_params", true); |
||
| 205 | $table->addInt("editable", 10, true, false, 1); |
||
| 206 | $table->addVarchar("category", 255, true, "general"); |
||
| 207 | $table->addInt("activated", 10, true, false, 1); |
||
| 208 | |||
| 209 | //add keys to table |
||
| 210 | $table->addPrimaryKey("key"); |
||
| 211 | $table->addIndex("last_update"); |
||
| 212 | $table->addIndex("activated"); |
||
| 213 | |||
| 214 | //create or upgrade table |
||
| 215 | $table->upgrade(); |
||
| 216 | |||
| 217 | echo "Finished!<br />"; |
||
| 218 | |||
| 219 | /** |
||
| 220 | * table global_settings_category |
||
| 221 | * |
||
| 222 | * Package: com.jukusoft.cms.settings |
||
| 223 | */ |
||
| 224 | |||
| 225 | echo "Create / Upgrade table <b>global_settings_category</b>...<br />"; |
||
| 226 | |||
| 227 | //create or upgrade test table |
||
| 228 | $table = new DBTable("global_settings_category", Database::getInstance()); |
||
| 229 | $table->setEngine("InnoDB"); |
||
| 230 | $table->setCharset("utf8"); |
||
| 231 | |||
| 232 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 233 | $table->addVarchar("category", 255, true); |
||
| 234 | $table->addVarchar("title", 255, true); |
||
| 235 | $table->addVarchar("owner", 255, true, "system"); |
||
| 236 | $table->addInt("order", 10, true, false, 10); |
||
| 237 | |||
| 238 | //add keys to table |
||
| 239 | $table->addPrimaryKey("category"); |
||
| 240 | $table->addIndex("order"); |
||
| 241 | |||
| 242 | //create or upgrade table |
||
| 243 | $table->upgrade(); |
||
| 244 | |||
| 245 | echo "Finished!<br />"; |
||
| 246 | |||
| 247 | /** |
||
| 248 | * table api_methods |
||
| 249 | * |
||
| 250 | * Package: com.jukusoft.cms.apimethods |
||
| 251 | */ |
||
| 252 | |||
| 253 | echo "Create / Upgrade table <b>api_methods</b>...<br />"; |
||
| 254 | |||
| 255 | //create or upgrade test table |
||
| 256 | $table = new DBTable("api_methods", Database::getInstance()); |
||
| 257 | $table->setEngine("InnoDB"); |
||
| 258 | $table->setCharset("utf8"); |
||
| 259 | |||
| 260 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 261 | $table->addVarchar("api_method", 255, true); |
||
| 262 | $table->addVarchar("classname", 255, true); |
||
| 263 | $table->addVarchar("method", 255, true); |
||
| 264 | $table->addVarchar("response_type", 255, true, "application/json"); |
||
| 265 | $table->addVarchar("owner", 255, true, "system"); |
||
| 266 | $table->addInt("activated", 10, true, false, 1); |
||
| 267 | |||
| 268 | //add keys to table |
||
| 269 | $table->addPrimaryKey("api_method"); |
||
| 270 | $table->addIndex("activated"); |
||
| 271 | |||
| 272 | //create or upgrade table |
||
| 273 | $table->upgrade(); |
||
| 274 | |||
| 275 | echo "Finished!<br />"; |
||
| 276 | |||
| 277 | /** |
||
| 278 | * table robots |
||
| 279 | * |
||
| 280 | * Package: com.jukusoft.cms.robots |
||
| 281 | */ |
||
| 282 | |||
| 283 | echo "Create / Upgrade table <b>robots</b>...<br />"; |
||
| 284 | |||
| 285 | //create or upgrade test table |
||
| 286 | $table = new DBTable("robots", Database::getInstance()); |
||
| 287 | $table->setEngine("InnoDB"); |
||
| 288 | $table->setCharset("utf8"); |
||
| 289 | |||
| 290 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 291 | $table->addVarchar("useragent", 255, true); |
||
| 292 | $table->addEnum("option", array("ALLOW", "DISALLOW", "SITEMAP", "CRAWL-DELAY"), true, "ALLOW"); |
||
| 293 | $table->addVarchar("value", 255, true); |
||
| 294 | $table->addInt("activated", 10, true, false, 1); |
||
| 295 | |||
| 296 | //add keys to table |
||
| 297 | $table->addPrimaryKey(array("useragent", "value")); |
||
| 298 | $table->addIndex("activated"); |
||
| 299 | |||
| 300 | //create or upgrade table |
||
| 301 | $table->upgrade(); |
||
| 302 | |||
| 303 | echo "Finished!<br />"; |
||
| 304 | |||
| 305 | /** |
||
| 306 | * table folder |
||
| 307 | * |
||
| 308 | * Package: com.jukusoft.cms.folder |
||
| 309 | */ |
||
| 310 | |||
| 311 | echo "Create / Upgrade table <b>folder</b>...<br />"; |
||
| 312 | |||
| 313 | //create or upgrade test table |
||
| 314 | $table = new DBTable("folder", Database::getInstance()); |
||
| 315 | $table->setEngine("InnoDB"); |
||
| 316 | $table->setCharset("utf8"); |
||
| 317 | |||
| 318 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 319 | $table->addVarchar("folder", 255, true); |
||
| 320 | $table->addVarchar("force_template", 255, true, "none"); |
||
| 321 | $table->addInt("main_menu", 10, true, false, -1); |
||
| 322 | $table->addInt("local_menu", 10, true, false, -1); |
||
| 323 | $table->addVarchar("permissions", 600, true, "none"); |
||
| 324 | $table->addInt("title_translation_support", 10, true, false, 1); |
||
| 325 | $table->addInt("hidden", 10, true, false, 0); |
||
| 326 | $table->addInt("activated", 10, true, false, 1); |
||
| 327 | |||
| 328 | //add keys to table |
||
| 329 | $table->addPrimaryKey("folder"); |
||
| 330 | $table->addIndex("activated"); |
||
| 331 | |||
| 332 | //create or upgrade table |
||
| 333 | $table->upgrade(); |
||
| 334 | |||
| 335 | echo "Finished!<br />"; |
||
| 336 | |||
| 337 | /** |
||
| 338 | * table style_rules |
||
| 339 | * |
||
| 340 | * Package: com.jukusoft.cms.style |
||
| 341 | */ |
||
| 342 | |||
| 343 | echo "Create / Upgrade table <b>style_rules</b>...<br />"; |
||
| 344 | |||
| 345 | //create or upgrade test table |
||
| 346 | $table = new DBTable("style_rules", Database::getInstance()); |
||
| 347 | $table->setEngine("InnoDB"); |
||
| 348 | $table->setCharset("utf8"); |
||
| 349 | |||
| 350 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 351 | $table->addInt("rule_id", 10, true, true); |
||
| 352 | $table->addEnum("type", array("DOMAIN", "FOLDER", "MEDIA", "PREF_LANG", "SUPPORTED_LANG"), true); |
||
| 353 | $table->addVarchar("expected_value", 255, true); |
||
| 354 | $table->addVarchar("style_name", 255, true); |
||
| 355 | $table->addInt("parent", 10, true, false, "-1"); |
||
| 356 | $table->addInt("order", 10, true, false, 1); |
||
| 357 | $table->addInt("activated", 10, true, false, 1); |
||
| 358 | |||
| 359 | //add keys to table |
||
| 360 | $table->addPrimaryKey("rule_id"); |
||
| 361 | $table->addIndex("activated"); |
||
| 362 | |||
| 363 | //create or upgrade table |
||
| 364 | $table->upgrade(); |
||
| 365 | |||
| 366 | echo "Finished!<br />"; |
||
| 367 | |||
| 368 | /** |
||
| 369 | * table supported_languages |
||
| 370 | * |
||
| 371 | * Package: com.jukusoft.cms.style |
||
| 372 | */ |
||
| 373 | |||
| 374 | echo "Create / Upgrade table <b>supported_languages</b>...<br />"; |
||
| 375 | |||
| 376 | //create or upgrade test table |
||
| 377 | $table = new DBTable("supported_languages", Database::getInstance()); |
||
| 378 | $table->setEngine("InnoDB"); |
||
| 379 | $table->setCharset("utf8"); |
||
| 380 | |||
| 381 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 382 | $table->addVarchar("lang_token", 255, true); |
||
| 383 | $table->addVarchar("title", 255, true); |
||
| 384 | |||
| 385 | //add keys to table |
||
| 386 | $table->addPrimaryKey("lang_token"); |
||
| 387 | |||
| 388 | //create or upgrade table |
||
| 389 | $table->upgrade(); |
||
| 390 | |||
| 391 | echo "Finished!<br />"; |
||
| 392 | |||
| 393 | /** |
||
| 394 | * table pages |
||
| 395 | * |
||
| 396 | * Package: com.jukusoft.cms.page |
||
| 397 | */ |
||
| 398 | |||
| 399 | echo "Create / Upgrade table <b>pages</b>...<br />"; |
||
| 400 | |||
| 401 | //create or upgrade test table |
||
| 402 | $table = new DBTable("pages", Database::getInstance()); |
||
| 403 | $table->setEngine("InnoDB"); |
||
| 404 | $table->setCharset("utf8"); |
||
| 405 | |||
| 406 | //add int coloum with length 10, NOT NULL and AUTO_INCREMENT |
||
| 407 | $table->addInt("id", 10, true, true); |
||
| 408 | $table->addVarchar("alias", 255, true); |
||
| 409 | $table->addVarchar("title", 255, true); |
||
| 410 | $table->addText("content", true, ""); |
||
| 411 | $table->addVarchar("content_type", 255, true, "text/html"); |
||
| 412 | $table->addInt("redirect_code", 10, true, false, "301"); |
||
| 413 | $table->addInt("parent", 10, true, false, -1); |
||
| 414 | $table->addVarchar("folder", 255, true, "/"); |
||
| 415 | $table->addInt("global_menu", 10, true, false, -1); |
||
| 416 | $table->addInt("local_menu", 10, true, false, -1); |
||
| 417 | $table->addVarchar("page_type", 255, true, "HTMLPage"); |
||
| 418 | $table->addVarchar("design", 255, true, "none"); |
||
| 419 | $table->addInt("sitemap", 10, true, false, 1);//should page be shown in sitemap? |
||
| 420 | $table->addEnum("sitemap_changefreq", array("ALWAYS", "HOURLY", "DAILY", "WEEKLY", "MONTHLY", "YEARLY", "NEVER"), true, "weekly"); |
||
| 421 | $table->addDecimal("sitemap_priority", 5, 2, true, "0.5"); |
||
|
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
| 422 | $table->addInt("published", 10, true, false, 0); |
||
| 423 | $table->addInt("version", 10, true, false, 1); |
||
| 424 | $table->addTimestamp("last_update", true, "0000-00-00 00:00:00", true); |
||
| 425 | $table->addTimestamp("created", true, "0000-00-00 00:00:00", false); |
||
| 426 | $table->addInt("editable", 10, true, false, 1); |
||
| 427 | $table->addInt("deletable", 10, true, false, 1); |
||
| 428 | $table->addInt("author", 10, true, false, -1); |
||
| 429 | $table->addVarchar("can_see_permissions", 255, true, "none"); |
||
| 430 | $table->addVarchar("template", 255, true, "none"); |
||
| 431 | $table->addInt("sidebar_left", 10, true, false, -1); |
||
| 432 | $table->addInt("sidebar_right", 10, true, false, -1); |
||
| 433 | $table->addVarchar("meta_description", 600, true, ""); |
||
| 434 | $table->addVarchar("meta_keywords", 255, true, ""); |
||
| 435 | $table->addVarchar("meta_robots", 255, true, "");//none means not set |
||
| 436 | $table->addVarchar("meta_canonicals", 255, true, ""); |
||
| 437 | $table->addInt("locked_by", 10, true, false, -1); |
||
| 438 | $table->addTimestamp("locked_timestamp", true, "0000-00-00 00:00:00"); |
||
| 439 | $table->addVarchar("og_type", 50, true, "website"); |
||
| 440 | $table->addVarchar("og_title", 50, true, ""); |
||
| 441 | $table->addVarchar("og_description", 255, true, ""); |
||
| 442 | $table->addVarchar("og_image", 600, true, ""); |
||
| 443 | $table->addInt("activated", 10, true, false, 1); |
||
| 444 | |||
| 445 | //add keys to table |
||
| 446 | $table->addPrimaryKey("id"); |
||
| 447 | $table->addUnique("alias"); |
||
| 448 | $table->addIndex("folder"); |
||
| 449 | |||
| 450 | //create or upgrade table |
||
| 451 | $table->upgrade(); |
||
| 452 | |||
| 453 | echo "Finished!<br />"; |
||
| 454 | |||
| 455 | /** |
||
| 456 | * table page_types |
||
| 457 | * |
||
| 458 | * Package: com.jukusoft.cms.page |
||
| 459 | */ |
||
| 460 | |||
| 461 | echo "Create / Upgrade table <b>page_types</b>...<br />"; |
||
| 462 | |||
| 463 | //create or upgrade test table |
||
| 464 | $table = new DBTable("page_types", Database::getInstance()); |
||
| 465 | $table->setEngine("InnoDB"); |
||
| 466 | $table->setCharset("utf8"); |
||
| 467 | |||
| 468 | //fields |
||
| 469 | $table->addVarchar("page_type", 255, true); |
||
| 470 | $table->addVarchar("title", 255, true); |
||
| 471 | $table->addVarchar("create_permissions", 255, true, "none");//list with permissions (OR), one of this permissions is required to create pages with this page type |
||
| 472 | $table->addInt("advanced", 10, true, false, 0);//flag, if page type is only shown in expert (advanced) mode |
||
| 473 | $table->addVarchar("owner", 255, true, "system"); |
||
| 474 | $table->addInt("order", 10, true, false, 10);//order in admin area on page creation selection |
||
| 475 | $table->addInt("activated", 10, true, false, 1); |
||
| 476 | |||
| 477 | //add keys to table |
||
| 478 | $table->addPrimaryKey("page_type"); |
||
| 479 | $table->addIndex("advanced"); |
||
| 480 | $table->addIndex("activated"); |
||
| 481 | |||
| 482 | //create or upgrade table |
||
| 483 | $table->upgrade(); |
||
| 484 | |||
| 485 | echo "Finished!<br />"; |
||
| 486 | |||
| 487 | /** |
||
| 488 | * table menu_names |
||
| 489 | * |
||
| 490 | * Package: com.jukusoft.cms.menu |
||
| 491 | */ |
||
| 492 | |||
| 493 | echo "Create / Upgrade table <b>menu_names</b>...<br />"; |
||
| 494 | |||
| 495 | //create or upgrade test table |
||
| 496 | $table = new DBTable("menu_names", Database::getInstance()); |
||
| 497 | $table->setEngine("InnoDB"); |
||
| 498 | $table->setCharset("utf8"); |
||
| 499 | |||
| 500 | //fields |
||
| 501 | $table->addInt("menuID", 10, true, true); |
||
| 502 | $table->addVarchar("title", 255, true); |
||
| 503 | $table->addInt("editable", 10, true, false, 1); |
||
| 504 | $table->addVarchar("unique_name", 255, true); |
||
| 505 | $table->addInt("activated", 10, true, false, 1); |
||
| 506 | |||
| 507 | //add keys to table |
||
| 508 | $table->addPrimaryKey("menuID"); |
||
| 509 | $table->addUnique("unique_name"); |
||
| 510 | $table->addIndex("activated"); |
||
| 511 | |||
| 512 | //create or upgrade table |
||
| 513 | $table->upgrade(); |
||
| 514 | |||
| 515 | echo "Finished!<br />"; |
||
| 516 | |||
| 517 | /** |
||
| 518 | * table menu |
||
| 519 | * |
||
| 520 | * Package: com.jukusoft.cms.menu |
||
| 521 | */ |
||
| 522 | |||
| 523 | echo "Create / Upgrade table <b>menu</b>...<br />"; |
||
| 524 | |||
| 525 | //create or upgrade test table |
||
| 526 | $table = new DBTable("menu", Database::getInstance()); |
||
| 527 | $table->setEngine("InnoDB"); |
||
| 528 | $table->setCharset("utf8"); |
||
| 529 | |||
| 530 | //fields |
||
| 531 | $table->addInt("id", 10, true, true); |
||
| 532 | $table->addInt("menuID", 10, true, false); |
||
| 533 | $table->addVarchar("title", 255, true); |
||
| 534 | $table->addVarchar("url", 600, true); |
||
| 535 | $table->addVarchar("type", 255, true, "page");//page / link / url / external_link / js_link |
||
| 536 | $table->addVarchar("icon", 255, true, "none"); |
||
| 537 | $table->addVarchar("permissions", 600, true, "all"); |
||
| 538 | $table->addInt("login_required", 10, true, false, 0); |
||
| 539 | $table->addInt("parent", 10, true, false, -1); |
||
| 540 | $table->addVarchar("unique_name", 255, false, ""); |
||
| 541 | $table->addVarchar("extensions", 255, true, "none");//for example: private messages |
||
| 542 | $table->addVarchar("owner", 255, true, "user"); |
||
| 543 | $table->addInt("order", 10, true, false, 10); |
||
| 544 | $table->addInt("activated", 10, true, false, 1); |
||
| 545 | |||
| 546 | //add keys to table |
||
| 547 | $table->addPrimaryKey("id"); |
||
| 548 | $table->addUnique("unique_name"); |
||
| 549 | $table->addIndex("menuID"); |
||
| 550 | $table->addIndex("order"); |
||
| 551 | $table->addIndex("activated"); |
||
| 552 | |||
| 553 | //create or upgrade table |
||
| 554 | $table->upgrade(); |
||
| 555 | |||
| 556 | echo "Finished!<br />"; |
||
| 557 | |||
| 558 | /** |
||
| 559 | * table user |
||
| 560 | * |
||
| 561 | * Package: com.jukusoft.cms.user |
||
| 562 | */ |
||
| 563 | |||
| 564 | echo "Create / Upgrade table <b>user</b>...<br />"; |
||
| 565 | |||
| 566 | //create or upgrade test table |
||
| 567 | $table = new DBTable("user", Database::getInstance()); |
||
| 568 | $table->setEngine("InnoDB"); |
||
| 569 | $table->setCharset("utf8"); |
||
| 570 | |||
| 571 | //fields |
||
| 572 | $table->addInt("userID", 10, true, true); |
||
| 573 | $table->addVarchar("username", 255, true); |
||
| 574 | $table->addVarchar("password", 255, true); |
||
| 575 | $table->addVarchar("salt", 255, true); |
||
| 576 | $table->addVarchar("mail", 255, true); |
||
| 577 | $table->addVarchar("ip", 255, true); |
||
| 578 | $table->addInt("main_group", 10, true, false, "2"); |
||
| 579 | $table->addVarchar("specific_title", 255, true, "none"); |
||
| 580 | $table->addInt("online", 10, true, false, "0"); |
||
| 581 | $table->addTimestamp("last_online", true, "0000-00-00 00:00:00"); |
||
| 582 | $table->addVarchar("authentificator", 255, true, "LocalAuthentificator"); |
||
| 583 | $table->addVarchar("owner", 255, true, "system"); |
||
| 584 | $table->addTimestamp("registered", true, "CURRENT_TIMESTAMP"); |
||
| 585 | $table->addInt("activated", 10, true, false, 1); |
||
| 586 | |||
| 587 | //add keys to table |
||
| 588 | $table->addPrimaryKey("userID"); |
||
| 589 | $table->addUnique("username"); |
||
| 590 | $table->addIndex("mail"); |
||
| 591 | $table->addIndex("activated"); |
||
| 592 | |||
| 593 | //create or upgrade table |
||
| 594 | $table->upgrade(); |
||
| 595 | |||
| 596 | echo "Finished!<br />"; |
||
| 597 | |||
| 598 | /** |
||
| 599 | * table groups |
||
| 600 | * |
||
| 601 | * Package: com.jukusoft.cms.groups |
||
| 602 | */ |
||
| 603 | |||
| 604 | echo "Create / Upgrade table <b>groups</b>...<br />"; |
||
| 605 | |||
| 606 | //create or upgrade test table |
||
| 607 | $table = new DBTable("groups", Database::getInstance()); |
||
| 608 | $table->setEngine("InnoDB"); |
||
| 609 | $table->setCharset("utf8"); |
||
| 610 | |||
| 611 | //fields |
||
| 612 | $table->addInt("groupID", 10, true, true); |
||
| 613 | $table->addVarchar("name", 255, true); |
||
| 614 | $table->addText("description", true); |
||
| 615 | $table->addVarchar("color", 50, true, "#0066ff"); |
||
| 616 | $table->addVarchar("rank_title", 255, true, "none"); |
||
| 617 | $table->addVarchar("rank_image", 255, true, "none"); |
||
| 618 | $table->addInt("auto_assign_regist", 10, true, false, "0");//flag, if group is automatically assigned to registered users |
||
| 619 | $table->addInt("system_group", 10, true, false, "0"); |
||
| 620 | $table->addInt("show", 10, true, false, "1");//show group name on index page |
||
| 621 | $table->addInt("activated", 10, true, false, "1"); |
||
| 622 | |||
| 623 | //https://www.w3schools.com/colors/colors_picker.asp |
||
| 624 | |||
| 625 | //add keys to table |
||
| 626 | $table->addPrimaryKey("groupID"); |
||
| 627 | $table->addIndex("auto_assign_regist"); |
||
| 628 | $table->addIndex("activated"); |
||
| 629 | |||
| 630 | //create or upgrade table |
||
| 631 | $table->upgrade(); |
||
| 632 | |||
| 633 | echo "Finished!<br />"; |
||
| 634 | |||
| 635 | /** |
||
| 636 | * table group_members |
||
| 637 | * |
||
| 638 | * Package: com.jukusoft.cms.groups |
||
| 639 | */ |
||
| 640 | |||
| 641 | echo "Create / Upgrade table <b>group_members</b>...<br />"; |
||
| 642 | |||
| 643 | //create or upgrade test table |
||
| 644 | $table = new DBTable("group_members", Database::getInstance()); |
||
| 645 | $table->setEngine("InnoDB"); |
||
| 646 | $table->setCharset("utf8"); |
||
| 647 | |||
| 648 | //fields |
||
| 649 | $table->addInt("groupID", 10, true, false); |
||
| 650 | $table->addInt("userID", 10, true, false); |
||
| 651 | $table->addInt("group_leader", 10, true, false, "0"); |
||
| 652 | $table->addInt("activated", 10, false, false, "1"); |
||
| 653 | |||
| 654 | //https://www.w3schools.com/colors/colors_picker.asp |
||
| 655 | |||
| 656 | //add keys to table |
||
| 657 | $table->addPrimaryKey(array("groupID", "userID")); |
||
| 658 | $table->addIndex("groupID"); |
||
| 659 | $table->addIndex("userID"); |
||
| 660 | $table->addIndex("group_leader"); |
||
| 661 | $table->addIndex("activated"); |
||
| 662 | |||
| 663 | //create or upgrade table |
||
| 664 | $table->upgrade(); |
||
| 665 | |||
| 666 | echo "Finished!<br />"; |
||
| 667 | |||
| 668 | /** |
||
| 669 | * table css_files |
||
| 670 | * |
||
| 671 | * Package: com.jukusoft.cms.cssbuilder |
||
| 672 | */ |
||
| 673 | |||
| 674 | echo "Create / Upgrade table <b>css_files</b>...<br />"; |
||
| 675 | |||
| 676 | //create or upgrade test table |
||
| 677 | $table = new DBTable("css_files", Database::getInstance()); |
||
| 678 | $table->setEngine("InnoDB"); |
||
| 679 | $table->setCharset("utf8"); |
||
| 680 | |||
| 681 | //fields |
||
| 682 | $table->addVarchar("style", 255, true); |
||
| 683 | $table->addVarchar("css_file", 255, true); |
||
| 684 | $table->addVarchar("media", 255, true, "ALL"); |
||
| 685 | $table->addVarchar("style_json_name", 255, true, "header"); |
||
| 686 | $table->addInt("activated", 10, true, false, 1); |
||
| 687 | |||
| 688 | //https://www.w3schools.com/colors/colors_picker.asp |
||
| 689 | |||
| 690 | //add keys to table |
||
| 691 | $table->addPrimaryKey(array("style", "css_file")); |
||
| 692 | $table->addIndex("css_file"); |
||
| 693 | $table->addIndex("activated"); |
||
| 694 | |||
| 695 | //create or upgrade table |
||
| 696 | $table->upgrade(); |
||
| 697 | |||
| 698 | echo "Finished!<br />"; |
||
| 699 | |||
| 700 | /** |
||
| 701 | * table js_files |
||
| 702 | * |
||
| 703 | * Package: com.jukusoft.cms.jsbuilder |
||
| 704 | */ |
||
| 705 | |||
| 706 | echo "Create / Upgrade table <b>js_files</b>...<br />"; |
||
| 707 | |||
| 708 | //create or upgrade test table |
||
| 709 | $table = new DBTable("js_files", Database::getInstance()); |
||
| 710 | $table->setEngine("InnoDB"); |
||
| 711 | $table->setCharset("utf8"); |
||
| 712 | |||
| 713 | //fields |
||
| 714 | $table->addVarchar("style", 255, true); |
||
| 715 | $table->addVarchar("js_file", 255, true); |
||
| 716 | $table->addVarchar("media", 255, true, "ALL"); |
||
| 717 | $table->addVarchar("position", 255, true, "FOOTER"); |
||
| 718 | $table->addInt("activated", 10, true, false, 1); |
||
| 719 | |||
| 720 | //https://www.w3schools.com/colors/colors_picker.asp |
||
| 721 | |||
| 722 | //add keys to table |
||
| 723 | $table->addPrimaryKey(array("style", "js_file")); |
||
| 724 | $table->addIndex("js_file"); |
||
| 725 | $table->addIndex("activated"); |
||
| 726 | |||
| 727 | //create or upgrade table |
||
| 728 | $table->upgrade(); |
||
| 729 | |||
| 730 | echo "Finished!<br />"; |
||
| 731 | |||
| 732 | /** |
||
| 733 | * table permission_category |
||
| 734 | * |
||
| 735 | * Package: com.jukusoft.cms.permissions |
||
| 736 | */ |
||
| 737 | |||
| 738 | echo "Create / Upgrade table <b>permission_category</b>...<br />"; |
||
| 739 | |||
| 740 | //create or upgrade test table |
||
| 741 | $table = new DBTable("permission_category", Database::getInstance()); |
||
| 742 | $table->setEngine("InnoDB"); |
||
| 743 | $table->setCharset("utf8"); |
||
| 744 | |||
| 745 | //fields |
||
| 746 | $table->addVarchar("category", 255, true); |
||
| 747 | $table->addVarchar("title", 255, true); |
||
| 748 | $table->addVarchar("area", 255, true, "global"); |
||
| 749 | $table->addInt("show", 10, true, false, 1); |
||
| 750 | $table->addInt("order", 10, true, false, 100); |
||
| 751 | $table->addInt("activated", 10, false, false, 1); |
||
| 752 | |||
| 753 | //https://www.w3schools.com/colors/colors_picker.asp |
||
| 754 | |||
| 755 | //add keys to table |
||
| 756 | $table->addPrimaryKey("category"); |
||
| 757 | $table->addIndex("area"); |
||
| 758 | $table->addIndex("order"); |
||
| 759 | $table->addIndex("activated"); |
||
| 760 | |||
| 761 | //create or upgrade table |
||
| 762 | $table->upgrade(); |
||
| 763 | |||
| 764 | echo "Finished!<br />"; |
||
| 765 | |||
| 766 | /** |
||
| 767 | * table permissions |
||
| 768 | * |
||
| 769 | * Package: com.jukusoft.cms.permissions |
||
| 770 | */ |
||
| 771 | |||
| 772 | echo "Create / Upgrade table <b>permissions</b>...<br />"; |
||
| 773 | |||
| 774 | //create or upgrade test table |
||
| 775 | $table = new DBTable("permissions", Database::getInstance()); |
||
| 776 | $table->setEngine("InnoDB"); |
||
| 777 | $table->setCharset("utf8"); |
||
| 778 | |||
| 779 | //fields |
||
| 780 | $table->addVarchar("token", 255, true); |
||
| 781 | $table->addVarchar("title", 255, true); |
||
| 782 | $table->addVarchar("description", 600, true); |
||
| 783 | $table->addVarchar("category", 255, true, "general"); |
||
| 784 | $table->addVarchar("owner", 255, true, "system"); |
||
| 785 | $table->addInt("show", 10, true, false, 1);//flag, if permission is shown on permissions page |
||
| 786 | $table->addInt("order", 10, true, false, 100); |
||
| 787 | $table->addInt("activated", 10, true, false, 1); |
||
| 788 | |||
| 789 | //add keys to table |
||
| 790 | $table->addPrimaryKey("token"); |
||
| 791 | $table->addIndex("category"); |
||
| 792 | $table->addIndex("order"); |
||
| 793 | $table->addIndex("activated"); |
||
| 794 | |||
| 795 | //create or upgrade table |
||
| 796 | $table->upgrade(); |
||
| 797 | |||
| 798 | echo "Finished!<br />"; |
||
| 799 | |||
| 800 | /** |
||
| 801 | * table group_rights |
||
| 802 | * |
||
| 803 | * Package: com.jukusoft.cms.permissions |
||
| 804 | */ |
||
| 805 | |||
| 806 | echo "Create / Upgrade table <b>group_rights</b>...<br />"; |
||
| 807 | |||
| 808 | //create or upgrade test table |
||
| 809 | $table = new DBTable("group_rights", Database::getInstance()); |
||
| 810 | $table->setEngine("InnoDB"); |
||
| 811 | $table->setCharset("utf8"); |
||
| 812 | |||
| 813 | //fields |
||
| 814 | $table->addInt("groupID", 10, true, false); |
||
| 815 | $table->addVarchar("token", 255, true); |
||
| 816 | $table->addInt("value", 10, true, false); |
||
| 817 | |||
| 818 | //add keys to table |
||
| 819 | $table->addPrimaryKey(array("groupID", "token")); |
||
| 820 | |||
| 821 | //create or upgrade table |
||
| 822 | $table->upgrade(); |
||
| 823 | |||
| 824 | echo "Finished!<br />"; |
||
| 825 | |||
| 826 | /** |
||
| 827 | * table user_rights |
||
| 828 | * |
||
| 829 | * Package: com.jukusoft.cms.permissions |
||
| 830 | */ |
||
| 831 | |||
| 832 | echo "Create / Upgrade table <b>user_rights</b>...<br />"; |
||
| 833 | |||
| 834 | //create or upgrade test table |
||
| 835 | $table = new DBTable("user_rights", Database::getInstance()); |
||
| 836 | $table->setEngine("InnoDB"); |
||
| 837 | $table->setCharset("utf8"); |
||
| 838 | |||
| 839 | //fields |
||
| 840 | $table->addInt("userID", 10, true, false); |
||
| 841 | $table->addVarchar("token", 255, true); |
||
| 842 | $table->addInt("value", 10, true, false); |
||
| 843 | |||
| 844 | //add keys to table |
||
| 845 | $table->addPrimaryKey(array("userID", "token")); |
||
| 846 | |||
| 847 | //create or upgrade table |
||
| 848 | $table->upgrade(); |
||
| 849 | |||
| 850 | echo "Finished!<br />"; |
||
| 851 | |||
| 852 | /** |
||
| 853 | * table page_rights |
||
| 854 | * |
||
| 855 | * Package: com.jukusoft.cms.page |
||
| 856 | */ |
||
| 857 | |||
| 858 | echo "Create / Upgrade table <b>page_rights</b>...<br />"; |
||
| 859 | |||
| 860 | //create or upgrade test table |
||
| 861 | $table = new DBTable("page_rights", Database::getInstance()); |
||
| 862 | $table->setEngine("InnoDB"); |
||
| 863 | $table->setCharset("utf8"); |
||
| 864 | |||
| 865 | //fields |
||
| 866 | $table->addInt("groupID", 10, true, false); |
||
| 867 | $table->addInt("pageID", 10, true, false); |
||
| 868 | $table->addVarchar("token", 255, true); |
||
| 869 | $table->addInt("value", 10, true, false); |
||
| 870 | |||
| 871 | //add keys to table |
||
| 872 | $table->addPrimaryKey(array("groupID", "pageID", "token")); |
||
| 873 | |||
| 874 | //create or upgrade table |
||
| 875 | $table->upgrade(); |
||
| 876 | |||
| 877 | echo "Finished!<br />"; |
||
| 878 | |||
| 879 | /** |
||
| 880 | * table page_user_rights |
||
| 881 | * |
||
| 882 | * Package: com.jukusoft.cms.page |
||
| 883 | */ |
||
| 884 | |||
| 885 | echo "Create / Upgrade table <b>page_user_rights</b>...<br />"; |
||
| 886 | |||
| 887 | //create or upgrade test table |
||
| 888 | $table = new DBTable("page_user_rights", Database::getInstance()); |
||
| 889 | $table->setEngine("InnoDB"); |
||
| 890 | $table->setCharset("utf8"); |
||
| 891 | |||
| 892 | //fields |
||
| 893 | $table->addInt("userID", 10, true, false); |
||
| 894 | $table->addInt("pageID", 10, true, false); |
||
| 895 | $table->addVarchar("token", 255, true); |
||
| 896 | $table->addInt("value", 10, true, false); |
||
| 897 | |||
| 898 | //add keys to table |
||
| 899 | $table->addPrimaryKey(array("userID", "pageID", "token")); |
||
| 900 | |||
| 901 | //create or upgrade table |
||
| 902 | $table->upgrade(); |
||
| 903 | |||
| 904 | echo "Finished!<br />"; |
||
| 905 | |||
| 906 | /** |
||
| 907 | * table register_mail_verification |
||
| 908 | * |
||
| 909 | * Package: com.jukusoft.cms.user |
||
| 910 | */ |
||
| 911 | |||
| 912 | echo "Create / Upgrade table <b>register_mail_verification</b>...<br />"; |
||
| 913 | |||
| 914 | //create or upgrade test table |
||
| 915 | $table = new DBTable("register_mail_verification", Database::getInstance()); |
||
| 916 | $table->setEngine("InnoDB"); |
||
| 917 | $table->setCharset("utf8"); |
||
| 918 | |||
| 919 | //fields |
||
| 920 | $table->addInt("userID", 10, true, false); |
||
| 921 | $table->addVarchar("token", 255, true); |
||
| 922 | |||
| 923 | //add keys to table |
||
| 924 | $table->addPrimaryKey("userID"); |
||
| 925 | $table->addUnique("token"); |
||
| 926 | |||
| 927 | //create or upgrade table |
||
| 928 | $table->upgrade(); |
||
| 929 | |||
| 930 | echo "Finished!<br />"; |
||
| 931 | |||
| 932 | /** |
||
| 933 | * table installed_plugins |
||
| 934 | * |
||
| 935 | * Package: com.jukusoft.cms.plugin |
||
| 936 | */ |
||
| 937 | |||
| 938 | echo "Create / Upgrade table <b>plugins</b>...<br />"; |
||
| 939 | |||
| 940 | //create or upgrade test table |
||
| 941 | $table = new DBTable("plugins", Database::getInstance()); |
||
| 942 | $table->setEngine("InnoDB"); |
||
| 943 | $table->setCharset("utf8"); |
||
| 944 | |||
| 945 | //fields |
||
| 946 | $table->addVarchar("name", 255, true);//directory name of plugin |
||
| 947 | $table->addVarchar("version", 255, true, "1.0.0");//installed version of plugin |
||
| 948 | //$table->addInt("build", 10, true, false, 1);//optional: build number of plugin |
||
| 949 | $table->addInt("installed", 10, true, false, 1);//flag, if plugin is installed |
||
| 950 | $table->addInt("activated", 10, true, false, 1);//flag, if plugin is activated |
||
| 951 | |||
| 952 | //add keys to table |
||
| 953 | $table->addPrimaryKey("name"); |
||
| 954 | $table->addIndex("installed"); |
||
| 955 | $table->addIndex("activated"); |
||
| 956 | |||
| 957 | //create or upgrade table |
||
| 958 | $table->upgrade(); |
||
| 959 | |||
| 960 | echo "Finished!<br />"; |
||
| 961 | |||
| 962 | /** |
||
| 963 | * table plugin_installer_plugins |
||
| 964 | * |
||
| 965 | * Package: com.jukusoft.cms.plugin |
||
| 966 | */ |
||
| 967 | |||
| 968 | echo "Create / Upgrade table <b>plugin_installer_plugins</b>...<br />"; |
||
| 969 | |||
| 970 | //create or upgrade test table |
||
| 971 | $table = new DBTable("plugin_installer_plugins", Database::getInstance()); |
||
| 972 | $table->setEngine("InnoDB"); |
||
| 973 | $table->setCharset("utf8"); |
||
| 974 | |||
| 975 | //fields |
||
| 976 | $table->addVarchar("class_name", 255, true);//directory name of plugin |
||
| 977 | $table->addVarchar("path", 600, true); |
||
| 978 | |||
| 979 | //add keys to table |
||
| 980 | $table->addPrimaryKey("class_name"); |
||
| 981 | |||
| 982 | //create or upgrade table |
||
| 983 | $table->upgrade(); |
||
| 984 | |||
| 985 | echo "Finished!<br />"; |
||
| 986 | |||
| 987 | /** |
||
| 988 | * table tasks |
||
| 989 | * |
||
| 990 | * Package: com.jukusoft.cms.tasks |
||
| 991 | */ |
||
| 992 | |||
| 993 | echo "Create / Upgrade table <b>tasks</b>...<br />"; |
||
| 994 | |||
| 995 | //create or upgrade test table |
||
| 996 | $table = new DBTable("tasks", Database::getInstance()); |
||
| 997 | $table->setEngine("InnoDB"); |
||
| 998 | $table->setCharset("utf8"); |
||
| 999 | |||
| 1000 | //fields |
||
| 1001 | $table->addInt("id", 10, true, true); |
||
| 1002 | $table->addVarchar("title", 255, true); |
||
| 1003 | $table->addVarchar("unique_name", 255, true, "");//unique name, so plugins or upgrade can find task easier |
||
| 1004 | $table->addEnum("type", array("FILE", "FUNCTION", "CLASS_STATIC_METHOD", ""), true); |
||
| 1005 | $table->addVarchar("type_params", 255, false, "NULL"); |
||
| 1006 | $table->addText("params", true); |
||
| 1007 | $table->addVarchar("owner", 255, true, "system"); |
||
| 1008 | $table->addInt("delete_after_execution", 10, true, false, 0); |
||
| 1009 | $table->addInt("interval", 10, true, false, 60); |
||
| 1010 | $table->addTimestamp("last_execution", true, "0000-00-00 00:00:00"); |
||
| 1011 | $table->addInt("activated", 10, true, false, 1); |
||
| 1012 | |||
| 1013 | //add keys to table |
||
| 1014 | $table->addPrimaryKey("id"); |
||
| 1015 | $table->addUnique("unique_name"); |
||
| 1016 | $table->addIndex("last_execution"); |
||
| 1017 | $table->addIndex("activated"); |
||
| 1018 | |||
| 1019 | //create or upgrade table |
||
| 1020 | $table->upgrade(); |
||
| 1021 | |||
| 1022 | echo "Finished!<br />"; |
||
| 1023 | |||
| 1024 | /** |
||
| 1025 | * table preferences |
||
| 1026 | * |
||
| 1027 | * Package: com.jukusoft.cms.preferences |
||
| 1028 | */ |
||
| 1029 | |||
| 1030 | echo "Create / Upgrade table <b>preferences</b>...<br />"; |
||
| 1031 | |||
| 1032 | //create or upgrade test table |
||
| 1033 | $table = new DBTable("preferences", Database::getInstance()); |
||
| 1034 | $table->setEngine("InnoDB"); |
||
| 1035 | $table->setCharset("utf8"); |
||
| 1036 | |||
| 1037 | //fields |
||
| 1038 | $table->addVarchar("key", 255, true); |
||
| 1039 | $table->addVarchar("area", 255, true); |
||
| 1040 | $table->addText("value"); |
||
| 1041 | |||
| 1042 | //add keys to table |
||
| 1043 | $table->addPrimaryKey(array("key", "area")); |
||
| 1044 | |||
| 1045 | //create or upgrade table |
||
| 1046 | $table->upgrade(); |
||
| 1047 | |||
| 1048 | echo "Finished!<br />"; |
||
| 1049 | |||
| 1050 | /** |
||
| 1051 | * table api_apps |
||
| 1052 | * |
||
| 1053 | * Package: com.jukusoft.cms.api |
||
| 1054 | */ |
||
| 1055 | |||
| 1056 | echo "Create / Upgrade table <b>api_apps</b>...<br />"; |
||
| 1057 | |||
| 1058 | //create or upgrade test table |
||
| 1059 | $table = new DBTable("api_apps", Database::getInstance()); |
||
| 1060 | $table->setEngine("InnoDB"); |
||
| 1061 | $table->setCharset("utf8"); |
||
| 1062 | |||
| 1063 | //fields |
||
| 1064 | $table->addInt("app_id", 10, true, true); |
||
| 1065 | $table->addVarchar("app_name", 255, true); |
||
| 1066 | |||
| 1067 | //add keys to table |
||
| 1068 | $table->addPrimaryKey(array("app_id")); |
||
| 1069 | $table->addUnique("app_name"); |
||
| 1070 | |||
| 1071 | //create or upgrade table |
||
| 1072 | $table->upgrade(); |
||
| 1073 | |||
| 1074 | echo "Finished!<br />"; |
||
| 1075 | |||
| 1076 | /** |
||
| 1077 | * table api_keys |
||
| 1078 | * |
||
| 1079 | * Package: com.jukusoft.cms.api |
||
| 1080 | */ |
||
| 1081 | |||
| 1082 | echo "Create / Upgrade table <b>api_keys</b>...<br />"; |
||
| 1083 | |||
| 1084 | //create or upgrade test table |
||
| 1085 | $table = new DBTable("api_keys", Database::getInstance()); |
||
| 1086 | $table->setEngine("InnoDB"); |
||
| 1087 | $table->setCharset("utf8"); |
||
| 1088 | |||
| 1089 | //fields |
||
| 1090 | $table->addInt("key_id", 10, true, true); |
||
| 1091 | $table->addVarchar("secret", 255, true); |
||
| 1092 | $table->addInt("app_id", 10, true, false); |
||
| 1093 | |||
| 1094 | //add keys to table |
||
| 1095 | $table->addPrimaryKey(array("key_id")); |
||
| 1096 | $table->addIndex("app_id"); |
||
| 1097 | |||
| 1098 | //create or upgrade table |
||
| 1099 | $table->upgrade(); |
||
| 1100 | |||
| 1101 | echo "Finished!<br />"; |
||
| 1102 | |||
| 1103 | /** |
||
| 1104 | * table api_oauth |
||
| 1105 | * |
||
| 1106 | * Package: com.jukusoft.cms.api |
||
| 1107 | */ |
||
| 1108 | |||
| 1109 | echo "Create / Upgrade table <b>api_oauth</b>...<br />"; |
||
| 1110 | |||
| 1111 | //create or upgrade test table |
||
| 1112 | $table = new DBTable("api_oauth", Database::getInstance()); |
||
| 1113 | $table->setEngine("InnoDB"); |
||
| 1114 | $table->setCharset("utf8"); |
||
| 1115 | |||
| 1116 | //fields |
||
| 1117 | $table->addVarchar("secret_key", 255, true); |
||
| 1118 | $table->addInt("userID", 10, true, false); |
||
| 1119 | $table->addTimestamp("created", true, "CURRENT_TIMESTAMP", false);//to check, if secret key is valide |
||
| 1120 | $table->addTimestamp("expires", true, "0000-00-00 00:00:00", false); |
||
| 1121 | |||
| 1122 | //add keys to table |
||
| 1123 | $table->addPrimaryKey(array("secret_key")); |
||
| 1124 | |||
| 1125 | //create or upgrade table |
||
| 1126 | $table->upgrade(); |
||
| 1127 | |||
| 1128 | echo "Finished!<br />"; |
||
| 1129 | |||
| 1130 | /** |
||
| 1131 | * table widget_types |
||
| 1132 | * |
||
| 1133 | * Package: com.jukusoft.cms.widgets |
||
| 1134 | */ |
||
| 1135 | |||
| 1136 | echo "Create / Upgrade table <b>widget_types</b>...<br />"; |
||
| 1137 | |||
| 1138 | //create or upgrade test table |
||
| 1139 | $table = new DBTable("widget_types", Database::getInstance()); |
||
| 1140 | $table->setEngine("InnoDB"); |
||
| 1141 | $table->setCharset("utf8"); |
||
| 1142 | |||
| 1143 | //fields |
||
| 1144 | $table->addInt("id", 10, true, true); |
||
| 1145 | $table->addVarchar("name", 255, true); |
||
| 1146 | $table->addVarchar("description", 600, true, ""); |
||
| 1147 | $table->addVarchar("class_name", 255, true); |
||
| 1148 | $table->addInt("editable", 10, true, false, 1);//flag, if widget type is editable (this means added widgets with this type can be edited) |
||
| 1149 | $table->addVarchar("owner", 255, true, "system"); |
||
| 1150 | |||
| 1151 | //add keys to table |
||
| 1152 | $table->addPrimaryKey(array("id")); |
||
| 1153 | $table->addUnique("class_name"); |
||
| 1154 | |||
| 1155 | //create or upgrade table |
||
| 1156 | $table->upgrade(); |
||
| 1157 | |||
| 1158 | echo "Finished!<br />"; |
||
| 1159 | |||
| 1160 | /** |
||
| 1161 | * table sidebars |
||
| 1162 | * |
||
| 1163 | * Package: com.jukusoft.cms.sidebar |
||
| 1164 | */ |
||
| 1165 | |||
| 1166 | echo "Create / Upgrade table <b>sidebars</b>...<br />"; |
||
| 1167 | |||
| 1168 | //create or upgrade test table |
||
| 1169 | $table = new DBTable("sidebars", Database::getInstance()); |
||
| 1170 | $table->setEngine("InnoDB"); |
||
| 1171 | $table->setCharset("utf8"); |
||
| 1172 | |||
| 1173 | //fields |
||
| 1174 | $table->addInt("sidebar_id", 10, true, true); |
||
| 1175 | $table->addVarchar("unique_name", 255, true); |
||
| 1176 | $table->addVarchar("title", 255, true, ""); |
||
| 1177 | $table->addInt("deletable", 10, true, false, 1); |
||
| 1178 | |||
| 1179 | //add keys to table |
||
| 1180 | $table->addPrimaryKey(array("sidebar_id")); |
||
| 1181 | $table->addUnique("unique_name"); |
||
| 1182 | |||
| 1183 | //create or upgrade table |
||
| 1184 | $table->upgrade(); |
||
| 1185 | |||
| 1186 | echo "Finished!<br />"; |
||
| 1187 | |||
| 1188 | /** |
||
| 1189 | * table sidebar_widgets |
||
| 1190 | * |
||
| 1191 | * Package: com.jukusoft.cms.sidebar |
||
| 1192 | */ |
||
| 1193 | |||
| 1194 | echo "Create / Upgrade table <b>sidebar_widgets</b>...<br />"; |
||
| 1195 | |||
| 1196 | //create or upgrade test table |
||
| 1197 | $table = new DBTable("sidebar_widgets", Database::getInstance()); |
||
| 1198 | $table->setEngine("InnoDB"); |
||
| 1199 | $table->setCharset("utf8"); |
||
| 1200 | |||
| 1201 | //fields |
||
| 1202 | $table->addInt("id", 10, true, true); |
||
| 1203 | $table->addInt("sidebar_id", 10, true, false); |
||
| 1204 | $table->addVarchar("title", 255, true, ""); |
||
| 1205 | $table->addText("content", true, ""); |
||
| 1206 | $table->addVarchar("class_name", 255, true, ""); |
||
| 1207 | $table->addText("widget_params", true);//json encoded string, e.q. "{}" |
||
| 1208 | $table->addVarchar("css_id", 255, true, ""); |
||
| 1209 | $table->addVarchar("css_class", 255, true, ""); |
||
| 1210 | $table->addVarchar("before_widget", 600, true, ""); |
||
| 1211 | $table->addVarchar("after_widget", 600, true, ""); |
||
| 1212 | //$table->addVarchar("before_title", 600, true, ""); |
||
| 1213 | //$table->addVarchar("after_title", 600, true, ""); |
||
| 1214 | $table->addVarchar("unique_name", 255, true); |
||
| 1215 | $table->addInt("order", 10, true, false, 10); |
||
| 1216 | |||
| 1217 | //add keys to table |
||
| 1218 | $table->addPrimaryKey(array("id")); |
||
| 1219 | $table->addUnique("unique_name"); |
||
| 1220 | $table->addIndex("sidebar_id"); |
||
| 1221 | |||
| 1222 | //create or upgrade table |
||
| 1223 | $table->upgrade(); |
||
| 1224 | |||
| 1225 | echo "Finished!<br />"; |
||
| 1226 | |||
| 1227 | //create default wildcard domain, if absent |
||
| 1228 | Domain::createWildcardDomain(); |
||
| 1229 | |||
| 1230 | echo "Create folder...<br />"; |
||
| 1231 | |||
| 1232 | echo "Create default (supported) languages...<br />"; |
||
| 1233 | |||
| 1234 | //add supported languages |
||
| 1235 | Lang::addLangOrUpdate("de", "German"); |
||
| 1236 | Lang::addLangOrUpdate("en", "English"); |
||
| 1237 | |||
| 1238 | echo "Create default sidebars...<br />"; |
||
| 1239 | |||
| 1240 | Sidebar::create("Left sidebar", "sidebar_left", false); |
||
| 1241 | Sidebar::create("Right sidebar", "sidebar_right", false); |
||
| 1242 | |||
| 1243 | echo "Create default global setting categories...<br />"; |
||
| 1244 | |||
| 1245 | SettingsCategory::createIfAbsent("general", "General", 1, "system"); |
||
| 1246 | SettingsCategory::createIfAbsent("sidebar", "Sidebar", 2, "system"); |
||
| 1247 | SettingsCategory::createIfAbsent("mail", "Mail", 15, "system"); |
||
| 1248 | SettingsCategory::createIfAbsent("user", "User", 16, "system"); |
||
| 1249 | SettingsCategory::createIfAbsent("api", "API", 17, "system"); |
||
| 1250 | SettingsCategory::createIfAbsent("logging", "Logging", 18, "system"); |
||
| 1251 | SettingsCategory::createIfAbsent("tools", "Tools", 19, "system"); |
||
| 1252 | SettingsCategory::createIfAbsent("tasks", "Tasks", 20, "system"); |
||
| 1253 | |||
| 1254 | echo "Create default global settings...<br />"; |
||
| 1255 | |||
| 1256 | //create or update default settings (value will be only set, if key doesnt exists) |
||
| 1257 | Settings::create("default_lang", "de", "Default Language", "Default (fallback) language, if no other languages are supported", "system", "general", "DataType_LangChooser"); |
||
| 1258 | Settings::create("default_style_name", "texturedblue", "Default Style", "Default (fallback) style name, which will be used, if no other design was set by style rules.", "system", "general", "DataType_StyleChooser"); |
||
| 1259 | Settings::create("default_mobile_style_name", "texturedblue", "Default mobile Style", "Like default style name, but for mobiledevices", "system", "general", "DataType_StyleChooser"); |
||
| 1260 | Settings::create("guest_userid", -1, "Guest UserID", "UserID of not-logged-in users (default: -1).", "system", "general", "DataType_Integer", array("min" => -1)); |
||
| 1261 | Settings::create("guest_username", "Guest", "Guest Username", "Username of not-logged-in users (default: Guest).", "system", "general", "DataType_Username"); |
||
| 1262 | Settings::create("online_interval", 5, "Online Interval", "Interval in minues, how long a user is set as online (since last page request). IMPORTANT: This is independent from login interval!", "system", "general", "DataType_Integer"); |
||
| 1263 | Settings::create("x_frame_options", "DENY", "X-Frame-Options header value (none = dont set header).", "values: DENY, SAMEORIGIN, ALLOW-FROM https://example.com/, none", "system", "security", "DataType_String"); |
||
| 1264 | Settings::create("login_page","login", "Alias of Login Page (incl. directory, if necessary)", "Alias of Login Page (incl. directory, if necessary). Default: login", "system", "general", "DataType_String"); |
||
| 1265 | Settings::create("logout_page", "logout", "Alias of Logout Page (incl. directory, if necessary)", "Alias of Logout Page (incl. directory, if necessary). Default: logout", "system", "general", "DataType_String"); |
||
| 1266 | //Settings::create("base_dir", "/", "Base directory", "Base directory (if this CMS is installed in root directory, the right option is '/', but if it is installed in a sub directory, the right option is '/sub-dir/'). Default: /", "system", "general"); |
||
| 1267 | Settings::create("css_cache_strategy", "expires_header", "CSS Browser Cache Strategy", "CSS Browser Cache Strategy, values: expires_header, etag_header, none", "system", "general", "DataType_SelectBox", array("expires_header", "etag_header", "none")); |
||
| 1268 | Settings::create("css_cache_expires_header_ttl", "31536000", "CSS Expires Header Seconds to cache", "Seconds to cache (on client browser). Only used, if cache strategy 'expired_header' is used! Default: 31536000 seconds (1 year)", "system", "general", "DataType_Integer"); |
||
| 1269 | Settings::create("js_cache_strategy", "expires_header", "JS Browser Cache Strategy", "JS Browser Cache Strategy, values: expires_header, etag_header, none", "system", "general", "DataType_SelectBox", array("expires_header", "etag_header", "none")); |
||
| 1270 | Settings::create("js_cache_expires_header_ttl", "31536000", "JS Expires Header Seconds to cache", "Seconds to cache (on client browser). Only used, if cache strategy 'expired_header' is used! Default: 31536000 seconds (1 year)", "system", "general", "DataType_Integer"); |
||
| 1271 | Settings::create("title_praefix", "", "Title Praefix", "Title Praefix", "system", "general", "DataType_String"); |
||
| 1272 | Settings::create("title_suffix", "", "Title Suffix", "Title Suffix", "system", "general", "DataType_String"); |
||
| 1273 | Settings::create("copyright", "<strong>Copyright © 2018 <a href=\"http://jukusoft.com\">JuKuSoft.com</a></strong>, All Rights Reserved.", "Copyright Notice on page", "Copyright notice on every page", "system", "general", "DataType_HTML"); |
||
| 1274 | Settings::create("website_name", "" . DomainUtils::getDomain(), "Website name", "Name of your website, e.q. used for mail templates", "system", "general", "DataType_String"); |
||
| 1275 | |||
| 1276 | Settings::create("gzip_compression", true, "GZip compression enabled", "GZip compression enabled", "system", "general", "DataType_Boolean"); |
||
| 1277 | Settings::create("session_ttl", 3600, "Session TTL", "Session Time-To-Live in seconds, default: 3600 seconds", "system", "general", "DataType_Integer", array("unit" => "seconds")); |
||
| 1278 | |||
| 1279 | //maintenance mode |
||
| 1280 | Settings::create("maintenance_mode_enabled", false, "Maintenance Mode enabled (boolean)", "Maintenance Mode enabled (boolean), Default: false", "system", "general", "DataType_Boolean"); |
||
| 1281 | Settings::create("maintenance_text", "This domain is currently under scheduled maintenance mode. Sorry for the inconvenience! Look in a few minutes over again!", "Maintenance Text", "Text which is shown, if maintenance mode is enabled", "system", "general", "DataType_HTML"); |
||
| 1282 | |||
| 1283 | //external tools |
||
| 1284 | Settings::create("phpmyadmin_link", "#", "Link to PhpMyAdmin", "Link to PhpMyAdmin", "system", "tools", "DataType_URL"); |
||
| 1285 | Settings::create("webmail_link", "#", "Link to Webmail", "Link to Webmail", "system", "tools", "DataType_URL"); |
||
| 1286 | |||
| 1287 | //send mail |
||
| 1288 | Settings::create("send_mails_enabled", true, "Enable send mails from CMS", "Enable send mails from CMS - if disabled no mails can be sended! If deactivated, it can influence other features like registration.", "system", "mail", "DataType_Boolean"); |
||
| 1289 | Settings::create("sendmail_method", "PHPMail", "Method for sending mails", "Method for sending mails (class name of send mail implementation)", "system", "mail", "DataType_SelectBox", array("PHPMail", "SMTPMail")); |
||
| 1290 | Settings::create("mail_sender_address", "none", "Sender mail address", "sender mail address, e.q. [email protected]", "system", "mail", "DataType_Mail"); |
||
| 1291 | Settings::create("mail_sender_name", "", "Sender name", "Name of mail sender, e.q. John Doe", "system", "mail", "DataType_String"); |
||
| 1292 | Settings::create("mail_reply_to", "", "Reply-to mail address", "Reply-to mail address, e.q. [email protected]", "system", "mail", "DataType_Mail"); |
||
| 1293 | Settings::create("mail_signature", "", "Mail Signature", "This text will be added as footer on all mails.", "system", "mail", "DataType_Text"); |
||
| 1294 | Settings::create("mail_default_charset", "utf-8", "Default mail charset", "Default mail charset, default: utf-8", "system", "mail", "DataType_String"); |
||
| 1295 | |||
| 1296 | //registration |
||
| 1297 | Settings::create("registration_enabled", false, "Registration enabled", "Registration enabled", "system", "general", "DataType_Boolean"); |
||
| 1298 | Settings::create("agb_page", "agb", "Terms of use Page", "Terms of use page", "system", "general", "DataType_String"); |
||
| 1299 | Settings::create("username_min_length", 4, "Minimal length (characters) of allowed username", "Minimal length (characters) of allowed username", "general", "general", "DataType_Integer"); |
||
| 1300 | Settings::create("username_max_length", 20, "Maximal length (characters) of allowed usernames", "Maximal length (characters) of allowed usernames", "general", "general", "DataType_Integer"); |
||
| 1301 | Settings::create("username_regex", "a-zA-Z0-9\.\-", "Username Regex", "Allowed characters of usernames (regex)", "system", "general", "DataType_String"); |
||
| 1302 | Settings::create("password_min_length", 6, "Minimal password length", "Minimal password length, default: 8", "system", "general", "DataType_Integer"); |
||
| 1303 | Settings::create("password_max_length", 64, "Maximal password length", "Maximal password length, default: 8", "system", "general", "DataType_Integer"); |
||
| 1304 | Settings::create("register_activation_method", "auto", "Register Activation Method", "Activation method for new user accounts, Default: auto (which means, that users are automatically activated)", "system", "general", "DataType_SelectBox", array("auto", "mail_verification", "manual_verification")); |
||
| 1305 | Settings::create("default_main_group", 2, "Default main group ID", "ID of default main group, Default: 2 (registered users)", "system", "general", "DataType_Integer"); |
||
| 1306 | |||
| 1307 | //captcha |
||
| 1308 | Settings::create("captcha_enabled", true, "Captcha enabled", "Option, if captcha is enabled on forms", "system", "general", "DataType_Boolean"); |
||
| 1309 | Settings::create("captcha_class_name", "ReCaptcha", "Captcha Classname", "Captcha Classname", "system", "general", "DataType_String"); |
||
| 1310 | Settings::create("recaptcha_website_key", "", "reCAPTCHA website key", "reCAPTCHA website key, provided by google", "system", "general", "DataType_String"); |
||
| 1311 | Settings::create("recaptcha_secret_key", "", "reCAPTCHA secret key", "reCAPTCHA secret key, provided by google", "system", "general", "DataType_String"); |
||
| 1312 | |||
| 1313 | //cronjob |
||
| 1314 | Settings::create("cronjob_enabled", true, "Cronjob enabled", "Option if cronjob is enabled", "system", "tasks", "DataType_Boolean"); |
||
| 1315 | Settings::create("cronjob_auth_key", "", "Cronjob Auth Key", "Only set this key, if you want, that only a restricted source can call cronjob.php file.", "owner", "tasks", "DataType_String"); |
||
| 1316 | |||
| 1317 | //menuID |
||
| 1318 | Settings::create("menu_plugin_settings_id", -1, "id of plugin settings menu", "id of plugin settings menu - Dont change this value manually!", "system", "hidden", "DataType_Integer", array(), false); |
||
| 1319 | |||
| 1320 | //user / ldap authentification |
||
| 1321 | Settings::create("default_authentificator", "LocalAuthentificator", "Authentificator Class", "Classname of Authentificator method", "system", "user", "DataType_String", array(""), true); |
||
| 1322 | Settings::create("user_default_title", "Registered User", "Default User Title", "default user title, shown on pages", "system", "user", "DataType_String", array(), true); |
||
| 1323 | |||
| 1324 | //oauth |
||
| 1325 | Settings::create("oauth_key_length", 255, "oAuth key length", "Length of oauth key in characters", "system", "api", "DataType_Integer", array("unit" => "characters"), true); |
||
| 1326 | Settings::create("oauth_expire_seconds", 86400, "oAuth key Validity", "oAuth key Validity in seconds", "system", "api", "DataType_Integer", array("unit" => "seconds"), true); |
||
| 1327 | |||
| 1328 | //logging |
||
| 1329 | Settings::create("logging_provider", "EmptyLogProvider", "Class name of logging provider", "full class name of logging provider", "system", "logging", "DataType_String", array(), false); |
||
| 1330 | |||
| 1331 | //sidebar |
||
| 1332 | Settings::create("default_sidebar_left", 1, "ID of default left sidebar", "ID of default left sidebar", "system", "sidebar", "DataType_SidebarChooser", array(), false); |
||
| 1333 | Settings::create("default_sidebar_right", 2, "ID of default right sidebar", "ID of default right sidebar", "system", "sidebar", "DataType_SidebarChooser", array(), false); |
||
| 1334 | |||
| 1335 | $main_menuID = -1; |
||
| 1336 | $local_menuID = -1; |
||
| 1337 | $admin_menuID = -1; |
||
| 1338 | |||
| 1339 | //get main menuID |
||
| 1340 | if (!Settings::contains("main_menuID")) { |
||
| 1341 | //create menu_names if absent |
||
| 1342 | $main_menuID = Menu::createMenuName("Main Menu", "main_menu"); |
||
| 1343 | |||
| 1344 | //set setting |
||
| 1345 | Settings::create("main_menuID", $main_menuID, "Main MenuID", "id of main menu (in menu area)", "system", "general", "DataType_MenuSelector", "", true, "none", "none", 1); |
||
| 1346 | } else { |
||
| 1347 | $main_menuID = Settings::get("main_menuID"); |
||
| 1348 | } |
||
| 1349 | |||
| 1350 | //get admin area menuID |
||
| 1351 | if (!Settings::contains("admin_menuID")) { |
||
| 1352 | //create menu_names if absent |
||
| 1353 | $admin_menuID = Menu::createMenuName("Admin Menu", "admin_menu"); |
||
| 1354 | |||
| 1355 | //set setting |
||
| 1356 | Settings::create("admin_menuID", $admin_menuID, "Admin MenuID", "id of admin menu (in admin area)", "system", "general", "DataType_MenuSelector", "", true, "none", "none", 2); |
||
| 1357 | } else { |
||
| 1358 | $admin_menuID = Settings::get("admin_menuID"); |
||
| 1359 | } |
||
| 1360 | |||
| 1361 | //get local menuID |
||
| 1362 | if (!Settings::contains("local_menuID")) { |
||
| 1363 | //create menu_names if absent |
||
| 1364 | $local_menuID = Menu::createMenuName("Default Local Menu", "local_menu"); |
||
| 1365 | |||
| 1366 | //set setting |
||
| 1367 | Settings::create("local_menuID", $local_menuID, "Default Local MenuID", "id of default local menu (in menu area)", "system", "general", "DataType_MenuSelector", "", true, "none", "none", 3); |
||
| 1368 | } else { |
||
| 1369 | $local_menuID = Settings::get("local_menuID"); |
||
| 1370 | } |
||
| 1371 | |||
| 1372 | //create default folders, if absent |
||
| 1373 | Folder::createFolderIfAbsent("/", false); |
||
| 1374 | Folder::createFolderIfAbsent("/admin/", true, array("can_access_admin_area"), $admin_menuID, -1); |
||
| 1375 | |||
| 1376 | echo "Create default menu if absent...<br />"; |
||
| 1377 | |||
| 1378 | //create menus if absent |
||
| 1379 | Menu::createMenu(1, $main_menuID, "Home", "home", -1, "home", "page", "all", false, "none", 1, "user"); |
||
| 1380 | Menu::createMenu(2, $admin_menuID, "Dashboard", "admin/home", -1, "admin_home", "page", array("can_access_admin_area"), true, "fa fa-tachometer-alt", 1, "system"); |
||
| 1381 | Menu::createMenu(3, $admin_menuID, "Dashboard", "admin/home", 2, "", "page", array("can_access_admin_area"), true, "fa fa-tachometer-alt", 1, "system"); |
||
| 1382 | Menu::createMenu(4, $admin_menuID, "Settings", "admin/settings", 2, "", "page", array("can_see_global_settings"), true, "fa fa-cog", 2, "system"); |
||
| 1383 | Menu::createMenu(5, $admin_menuID, "Website", "", 2, "", "page", "none", false, "fa fa-desktop", 3, "system"); |
||
| 1384 | Menu::createMenu(6, $admin_menuID, "Updates", "admin/update", 2, "updates", "page", array("can_see_cms_version", "can_update_cms"), true, "fa fa-download", 4, "system"); |
||
| 1385 | Menu::createMenu(7, $admin_menuID, "Posts", "#", -1, "posts", "no_link", array("can_see_all_pages"), true, "fa fa-list-alt", 2, "system"); |
||
| 1386 | Menu::createMenu(8, $admin_menuID, "Pages", "admin/pages", -1, "pages", "page", array("can_see_all_pages"), true, "fa fa-file", 3, "system"); |
||
| 1387 | Menu::createMenu(9, $admin_menuID, "All Pages", "admin/pages", 8, "all_pages", "page", array("can_see_all_pages"), true, "fa fa-list", 1, "system"); |
||
| 1388 | Menu::createMenu(10, $admin_menuID, "Create page", "admin/create_page", 8, "create_page", "page", array("can_create_pages"), true, "fa fa-plus-circle", 2, "system"); |
||
| 1389 | Menu::createMenu(11, $admin_menuID, "Media", "admin/media", -1, "media", "page", array("can_see_all_media", "can_upload_media"), true, "fa fa-file-image", 3, "system"); |
||
| 1390 | Menu::createMenu(12, $admin_menuID, "All Media", "admin/media", 11, "all_media", "page", array("can_see_all_media"), true, "fa fa-file-image", 1, "system"); |
||
| 1391 | Menu::createMenu(14, $admin_menuID, "Upload Media", "admin/media/upload", 11, "upload_media", "page", array("can_upload_media"), true, "fa fa-upload", 4, "system"); |
||
| 1392 | Menu::createMenu(15, $admin_menuID, "Menu", "admin/menu", -1, "menu", "page", array("can_see_menus", "can_edit_menus"), true, "fa fa-anchor", 5, "system"); |
||
| 1393 | Menu::createMenu(16, $admin_menuID, "Users", "#", -1, "admin_users", "no_link", array("can_see_all_users", "can_create_user", "can_edit_users"), true, "fa fa-users", 6, "system"); |
||
| 1394 | |||
| 1395 | Menu::createMenu(17, $admin_menuID, "All Users", "admin/users", 16, "all_users", "page", array("can_see_all_users"), true, "fa fa-id-card", 1, "system"); |
||
| 1396 | Menu::createMenu(18, $admin_menuID, "Create User", "admin/create_user", 16, "create_user", "page", array("can_create_user"), true, "fa fa-user-plus", 2, "system"); |
||
| 1397 | Menu::createMenu(19, $admin_menuID, "Groups", "admin/groups", 16, "groups", "page", array("can_see_all_groups"), true, "fa fa-users", 3, "system"); |
||
| 1398 | Menu::createMenu(20, $admin_menuID, "My groups", "admin/my_groups", 16, "admin_own_groups", "page", array("can_see_own_groups"), true, "fa fa-id-badge", 4, "system"); |
||
| 1399 | Menu::createMenu(21, $admin_menuID, "My profile", "admin/profile", 16, "admin_own_profile", "page", array("can_see_own_profile", "can_edit_own_profile"), true, "fa fa-user-circle", 5, "system"); |
||
| 1400 | Menu::createMenu(22, $admin_menuID, "Change password", "admin/change_password", 16, "admin_password", "page", array("can_edit_own_password"), true, "fa fa-key", 6, "system"); |
||
| 1401 | |||
| 1402 | Menu::createMenu(25, $admin_menuID, "Design", "admin/design", -1, "design", "page", array("can_see_global_settings"), true, "fa fa-paint-brush", 7, "system"); |
||
| 1403 | |||
| 1404 | Menu::createMenu(35, $admin_menuID, "Plugins", "admin/plugins", -1, "plugins", "no_link", array("can_see_installed_plugins"), true, "fa fa-cubes", 8, "system"); |
||
| 1405 | Menu::createMenu(36, $admin_menuID, "Plugins", "admin/plugins", 35, "plugins_page", "page", array("can_see_installed_plugins"), true, "fa fa-cubes", 1, "systen"); |
||
| 1406 | Menu::createMenu(37, $admin_menuID, "Settings", "#", 35, "plugins_settings", "no_link", array("can_see_installed_plugins"), true, "fa fa-cogs", 100, "system"); |
||
| 1407 | |||
| 1408 | Settings::set("menu_plugin_settings_id", 37); |
||
| 1409 | |||
| 1410 | Menu::createMenu(45, $admin_menuID, "Tools", "#", -1, "tools", "no_link", array("none"), true, "fa fa-wrench", 9, "system"); |
||
| 1411 | |||
| 1412 | Menu::createMenu(53, $admin_menuID, "phpinfo()", "admin/phpinfo", 45, "phpinfo", "page", array("can_see_phpinfo"), true, "fab fa-php", 9, "system"); |
||
| 1413 | Menu::createMenu(54, $admin_menuID, "PhpMyAdmin", "settings:phpmyadmin_link", 45, "phpmyadmin", "dynamic_link", array("can_see_phpmyadmin_menu"), true, "fa fa-laptop", 10, "system"); |
||
| 1414 | Menu::createMenu(55, $admin_menuID, "Webmail", "settings:webmail_link", 45, "webmail", "dynamic_link", array("can_see_webmail_menu"), true, "fa fa-envelope", 11, "system"); |
||
| 1415 | Menu::createMenu(56, $admin_menuID, "Send Mail", "admin/sendmail", 45, "sendmail", "page", array("can_send_board_mails"), true, "fa fa-envelope-open", 12, "system"); |
||
| 1416 | Menu::createMenu(57, $admin_menuID, "Clear Cache", "admin/clearcache", 45, "clear_cache", "page", array("can_clear_cache"), true, "fa fa-trash", 12, "system"); |
||
| 1417 | |||
| 1418 | Menu::createMenu(60, $admin_menuID, "Settings", "#", -1, "settings", "no_link", array("can_see_global_settings"), true, "fa fa-cogs", 10, "system"); |
||
| 1419 | Menu::createMenu(61, $admin_menuID, "Settings", "admin/settings", 60, "", "page", array("can_see_global_settings", "can_edit_global_settings"), true, "fa fa-cog", 1, "system"); |
||
| 1420 | |||
| 1421 | Menu::createMenu(100, $main_menuID, "lang_Admin Area", "admin/home", -1, "", "page", array("can_access_admin_area"), true, "none", 2, "user"); |
||
| 1422 | Menu::createMenu(101, $main_menuID, "lang_Login", "LOGIN_URL", -1, "login", "external_link", "not_logged_in", false, "none", 3, "user"); |
||
| 1423 | Menu::createMenu(102, $main_menuID, "lang_Logout", "LOGOUT_URL", -1, "logout", "external_link", "all", true, "none", 100, "user"); |
||
| 1424 | |||
| 1425 | //privacy policy & imprint |
||
| 1426 | Menu::createMenu(200, $main_menuID, "lang_Privacy Policy", "privacy-policy", -1, "privacy_policy", "page", array("none"), false, "none", 101, "system"); |
||
| 1427 | Menu::createMenu(201, $main_menuID, "lang_Imprint", "imprint", -1, "imprint", "page", array("none"), false, "none", 102, "system"); |
||
| 1428 | |||
| 1429 | echo "Create default pages if absent...<br />"; |
||
| 1430 | |||
| 1431 | Page::createIfAbsent("home", "Home", "IndexPage", "Home page", "/"); |
||
| 1432 | Page::createIfAbsent("error404", "Error 404", "Error404Page", "Error 404 - Couldn't find this page.", "/", -1, -1, -1, false, true, true, false); |
||
| 1433 | Page::createIfAbsent("login", "Login", "LoginPage", "", "/", -1, -1, -1, false, true, true, false); |
||
| 1434 | Page::createIfAbsent("logout", "Logout", "LogoutPage", "", "/", -1, -1, -1, false, true, false); |
||
| 1435 | Page::createIfAbsent("register", "Registration", "RegisterPage", "", "/", -1, -1, -1, false, true, false, false); |
||
| 1436 | |||
| 1437 | //only at installation process |
||
| 1438 | Page::createIfAbsent("privacy-policy", "lang_Privacy Policy", "HTMLPage", "Private Policy - Add privaty policy here", "/", -1, -1, -1, false, true, true, true); |
||
| 1439 | Page::createIfAbsent("imprint", "lang_Imprint", "HTMLPage", "Imprint - Add contact data here", "/", -1, -1, -1, false, true, true, true); |
||
| 1440 | |||
| 1441 | Page::createIfAbsent("user/verify_mail", "Mail Verification", "MailVerifyPage", "", "/user/", -1, -1, -1, false, true, false, false); |
||
| 1442 | |||
| 1443 | //create robots.txt page |
||
| 1444 | Page::createIfAbsent("robots.txt", "Robots.txt", "RobotsPage", "", "/", -1, -1, -1, false, true, false, false); |
||
| 1445 | |||
| 1446 | //create sitemap page |
||
| 1447 | Page::createIfAbsent("sitemap.xml", "Sitemap", "SitemapPage", "", "/", -1, -1, -1, false, true, false, false); |
||
| 1448 | |||
| 1449 | //create forbidden pages |
||
| 1450 | Page::createIfAbsent("error403", "Error 403", "Error403Page", "Error 403 - Forbidden!<br /> You dont have permissions to access this page or folder. Maybe you have to login.", "/", -1, -1, -1, false, true, true, false); |
||
| 1451 | |||
| 1452 | echo "Create admin pages if absent...<br />"; |
||
| 1453 | Page::createIfAbsent("admin/home", "Admin Dashboard", "Admin_Dashboard", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1454 | Page::createIfAbsent("admin/plugins", "lang_Plugins", "PluginsPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1455 | Page::createIfAbsent("admin/plugin_installer", "lang_Plugin Installer", "PluginInstallerPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1456 | Page::createIfAbsent("admin/change_password", "lang_Change password", "ChangePasswordPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1457 | Page::createIfAbsent("admin/sendmail", "lang_Send Mail", "SendMailPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1458 | Page::createIfAbsent("admin/clearcache", "lang_Clear cache", "ClearCachePage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1459 | |||
| 1460 | //create some tool pages |
||
| 1461 | Page::createIfAbsent("admin/phpinfo", "phpinfo()", "PHPInfoPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1462 | |||
| 1463 | //admin pages |
||
| 1464 | Page::createIfAbsent("admin/settings", "Settings", "SettingsPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1465 | Page::createIfAbsent("admin/pages", "Pages", "PageListPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1466 | Page::createIfAbsent("admin/create_page", "Create new page", "CreatePagePage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1467 | Page::createIfAbsent("admin/edit_page", "Edit page", "PageEditPage", "", "/admin/", -1, -1, -1, false, true, false, false); |
||
| 1468 | |||
| 1469 | echo "Create default page types if absent...<br />"; |
||
| 1470 | |||
| 1471 | PageType::createPageType("HTMLPage", "HTML page", false, 1);//order 1 - so show as first page type in admin area |
||
| 1472 | PageType::createPageType("Error404Page", "Error 404 page", true); |
||
| 1473 | PageType::createPageType("Error403Page", "Error 403 page", true); |
||
| 1474 | PageType::createPageType("IndexPage", "index page (supports extra template)", true); |
||
| 1475 | PageType::createPageType("LoginPage", "Login page", true); |
||
| 1476 | PageType::createPageType("LogoutPage", "Logout page", true); |
||
| 1477 | PageType::createPageType("SitemapPage", "Sitemap page", true); |
||
| 1478 | PageType::createPageType("ChangePasswordPage", "Change password", true); |
||
| 1479 | |||
| 1480 | echo "Create style rule for admin area if absent...<br />"; |
||
| 1481 | StyleRules::createRuleWithPredefinedID(1, "FOLDER", "/admin/", "admin", -1, 1); |
||
| 1482 | |||
| 1483 | //create groups |
||
| 1484 | echo "Create default groups if absent...<br />"; |
||
| 1485 | |||
| 1486 | //#0099cc |
||
| 1487 | Groups::createGroupIfIdAbsent(1, "Administrator", "Administrator group with full permissions", "#cc0000", true, true, false); |
||
| 1488 | Groups::createGroupIfIdAbsent(2, "Registered Users", "Registered users (every new user is automatically added to this group on registration process)", "#33cc33", false, true, true); |
||
| 1489 | Groups::createGroupIfIdAbsent(3, "Guests", "Not-logged-in users", "#669999", false, true, false); |
||
| 1490 | Groups::createGroupIfIdAbsent(4, "Bots", "Bots (Google bot and so on)", "#cc00ff", false, true, false); |
||
| 1491 | |||
| 1492 | //Redakteur |
||
| 1493 | Groups::createGroupIfIdAbsent(5, "Editor", "Editors (can create & edit every post and every page, can publish and delete pages)", "#ff9933", true, true, false); |
||
| 1494 | Groups::createGroupIfIdAbsent(6, "Author", "Authors (can create & edit OWN posts and OWN pages, can publish and delete OWN pages)", "#ffcc00", true, true, false); |
||
| 1495 | |||
| 1496 | echo "Assign default users to default groups...<br />"; |
||
| 1497 | |||
| 1498 | Groups::addGroupToUser(1, 1, true); |
||
| 1499 | Groups::addGroupToUser(2, 1, true); |
||
| 1500 | Groups::addGroupToUser(3, -1); |
||
| 1501 | |||
| 1502 | echo "Create default permission categories...<br />"; |
||
| 1503 | Permissions::createOrUpdateCategory("general", "General", 1); |
||
| 1504 | Permissions::createOrUpdateCategory("users", "Users", 2);//user permissions, like "can_create_user" |
||
| 1505 | Permissions::createOrUpdateCategory("groups", "Groups", 3); |
||
| 1506 | Permissions::createOrUpdateCategory("pages", "Pages", 4); |
||
| 1507 | Permissions::createOrUpdateCategory("media", "Media", 5); |
||
| 1508 | Permissions::createOrUpdateCategory("permissions", "Permissions", 6); |
||
| 1509 | Permissions::createOrUpdateCategory("plugins", "Plugins", 7); |
||
| 1510 | Permissions::createOrUpdateCategory("admin", "Admin", 8); |
||
| 1511 | |||
| 1512 | echo "Create default permissions...<br />"; |
||
| 1513 | //general permissions |
||
| 1514 | Permissions::createPermission("can_access_admin_area", "Can access admin area", "Can access admin area", "admin", "system", 1); |
||
| 1515 | Permissions::createPermission("can_edit_own_password", "Can edit own password", "Can edit own password", "general", "system", 2); |
||
| 1516 | Permissions::createPermission("can_edit_own_mail", "Can edit his own mail address", "Can edit his own mail address", "general", 3); |
||
| 1517 | Permissions::createPermission("can_edit_own_profile", "Can edit own profile", "Can edit own profile (except mail & password)", "general", 4); |
||
| 1518 | |||
| 1519 | //permissions |
||
| 1520 | Permissions::createPermission("can_see_own_permissions", "Can see own permissions", "User can see his own permissions", "permissions", "system", 1); |
||
| 1521 | Permissions::createPermission("can_see_permissions", "Can see permissions of other users", "Can see permissions of other users", "permissions", "system", 2); |
||
| 1522 | Permissions::createPermission("can_edit_group_permissions", "Can edit group permissions", "Can edit group permissions (expect administrator group)", "permissions", "system", 3); |
||
| 1523 | Permissions::createPermission("can_edit_administrator_group_permissions", "Can edit administrator group permissions", "Can edit administrator group permissions", "permissions", "system", 4);//can edit permissions of group "administrator" |
||
| 1524 | |||
| 1525 | //user permissions |
||
| 1526 | Permissions::createPermission("can_see_all_users", "Can see all users", "Can see all users and see their private information like mail address, ip address and so on", "users", "system", 1); |
||
| 1527 | Permissions::createPermission("can_create_user", "Can create new user", "Can create new user", "users", "system", 2); |
||
| 1528 | Permissions::createPermission("can_edit_users", "Can edit users", "Can edit users", "users", "system", 3); |
||
| 1529 | Permissions::createPermission("can_edit_users_password", "Can edit password of users", "Can edit password of users (without super-admin with userID 1)", "users", "system", 4); |
||
| 1530 | |||
| 1531 | //group permissions |
||
| 1532 | Permissions::createPermission("can_see_all_groups", "Can see all groups", "Can see list with all groups", "groups", "system", 1); |
||
| 1533 | Permissions::createPermission("can_see_own_groups", "Can see own groups", "Can see list with own groups", "groups", "system", 2); |
||
| 1534 | Permissions::createPermission("can_edit_all_groups", "Can edit all groups", "Can edit all groups", "groups", "system", 3); |
||
| 1535 | Permissions::createPermission("can_edit_own_groups", "Can edit own groups", "Can edit own groups, where user is group leader", "groups", "system", 4); |
||
| 1536 | |||
| 1537 | //page permissions |
||
| 1538 | Permissions::createPermission("can_see_all_pages", "Can see all pages in admin area", "pages", "pages", "system", 1); |
||
| 1539 | Permissions::createPermission("can_create_pages", "Can create pages", "Can create pages", "pages", "system", 2); |
||
| 1540 | Permissions::createPermission("can_edit_own_pages", "Can edit own pages", "Can edit pages which was created by user", "pages", "system", 3); |
||
| 1541 | Permissions::createPermission("can_edit_all_pages", "Can edit all pages", "Can edit all pages, including pages which was created by other users", "pages", "system", 4); |
||
| 1542 | Permissions::createPermission("can_publish_own_pages", "Can publish his own pages", "Can publish his own pages", "pages", "system", 5); |
||
| 1543 | Permissions::createPermission("can_publish_all_pages", "Can publish all pages", "Can publish all pages, including pages which was created by other users", "pages", "system", 6); |
||
| 1544 | Permissions::createPermission("can_unlock_all_pages", "Can unlock all pages", "Can unlock all pages from every user", "pages", "system", 7); |
||
| 1545 | Permissions::createPermission("can_delete_own_pages", "Can delete own pages", "Can move pages to trash which was created by user", "pages", "system", 8); |
||
| 1546 | Permissions::createPermission("can_delete_all_pages", "Can delete all pages", "Can move all pages to trash, including pages which was created by other users", "pages", "system", 9); |
||
| 1547 | Permissions::createPermission("can_see_trash_pages", "Can see all deleted pages in trash", "Can see all deleted pages in trash", "pages", "system", 10); |
||
| 1548 | Permissions::createPermission("can_delete_all_pages_permanently", "Can delete all pages from trash permanently", "Can delete all pages from trash permanently, so you couldn't restore them anymore.", "pages", "system", 11); |
||
| 1549 | Permissions::createPermission("can_restore_trash_pages", "Can restore all pages in trash", "Can restore all pages in trash", "pages", "system", 12); |
||
| 1550 | Permissions::createPermission("can_change_page_owner", "Can change page owner of all pages", "Can change page owner of all pages", "pages", "system", 14); |
||
| 1551 | |||
| 1552 | //media permissions |
||
| 1553 | Permissions::createPermission("can_see_all_media", "Can see all media", "Can see all media files", "media", "system", 1); |
||
| 1554 | Permissions::createPermission("can_see_own_media", "Can see own media", "Can see own media files", "media", "system", 2); |
||
| 1555 | Permissions::createPermission("can_upload_media", "Can upload media", "Can upload media files", "media", "system", 3); |
||
| 1556 | |||
| 1557 | //menu permissions |
||
| 1558 | Permissions::createPermission("can_see_menus", "Can see menus", "Can see menus", "menu", "system", 1); |
||
| 1559 | Permissions::createPermission("can_edit_menus", "Can edit menus", "Can edit menus", "menu", "system", 2); |
||
| 1560 | |||
| 1561 | //plugin permissions |
||
| 1562 | Permissions::createPermission("can_see_installed_plugins", "Can see installed plugins", "Can see installed plugins", "plugins", "system", 1); |
||
| 1563 | Permissions::createPermission("can_install_plugins", "Can install plugins", "User is allowed to install plugins", "plugins", "system", 2); |
||
| 1564 | |||
| 1565 | //admin permissions |
||
| 1566 | Permissions::createPermission("can_see_cms_version", "Can see version of CMS system", "Can see version of CMS system", "admin", "system", 1); |
||
| 1567 | Permissions::createPermission("can_update_cms", "Can update CMS system", "Can update CMS system", "admin", "system", 2); |
||
| 1568 | Permissions::createPermission("can_see_global_settings", "Can see global CMS settings", "Can see global CMS settings", "admin", "system", 3); |
||
| 1569 | Permissions::createPermission("can_edit_global_settings", "Can edit global settings", "Can edit global settings", "admin", "system", 4); |
||
| 1570 | Permissions::createPermission("can_see_phpinfo", "Can see phpinfo()", "Can see phpinfo()", "admin", "system", 5); |
||
| 1571 | Permissions::createPermission("can_see_system_info", "Can see system information", "Can see system information, like os or opcache information", "admin", "system", 6); |
||
| 1572 | Permissions::createPermission("can_see_phpmyadmin_menu", "Can see PhpMyAdmin menu", "Can see PhpMyAdmin menu", "admin", "system", 7); |
||
| 1573 | Permissions::createPermission("can_see_webmail_menu", "Can see Webmail menu", "Can see Webmail menu", "admin", "system", 8); |
||
| 1574 | Permissions::createPermission("can_send_board_mails", "Can send mails to users", "Can send mails to users", "admin", "system", 9); |
||
| 1575 | Permissions::createPermission("can_clear_cache", "Can clear cache", "Can clear cache", "admin", "system", 10); |
||
| 1576 | Permissions::createPermission("super_admin", "Is super admin and CAN EVERYTHING", "Is super admin and CAN EVERYTHING (overrides all other values!)", "admin", "system", 11); |
||
| 1577 | |||
| 1578 | echo "Set default permissions for userID 1...<br />"; |
||
| 1579 | $user_rights = new UserRights(1); |
||
| 1580 | |||
| 1581 | //userID 1 should be super_admin |
||
| 1582 | $user_rights->setRight("super_admin", 1); |
||
| 1583 | |||
| 1584 | echo "Set default permissions for userID -1 (guest)...<br />"; |
||
| 1585 | $user_rights = new UserRights(-1); |
||
| 1586 | $user_rights->setRight("not_logged_in", 1); |
||
| 1587 | |||
| 1588 | echo "Create default robots.txt rules...<br />"; |
||
| 1589 | Robots::addRule("DISALLOW", "/system/*"); |
||
| 1590 | Robots::addRule("DISALLOW", "/cache/*"); |
||
| 1591 | Robots::addRule("DISALLOW", "/docs/*"); |
||
| 1592 | Robots::addRule("DISALLOW", "/plugins/*"); |
||
| 1593 | Robots::addRule("DISALLOW", "/styles/*"); |
||
| 1594 | Robots::addRule("DISALLOW", "/admin/*"); |
||
| 1595 | |||
| 1596 | //dont allow indexing of privacy policy and imprint pages, because they can contain sensitive information |
||
| 1597 | Robots::addRule("DISALLOW", "/privacy-policy"); |
||
| 1598 | Robots::addRule("DISALLOW", "/imprint"); |
||
| 1599 | |||
| 1600 | echo "Create default administrator user if absent...<br />"; |
||
| 1601 | //User::createIfIdAbsent(0, "system", md5(time() . "test_"), "[email protected]", 1, "System", 1); |
||
| 1602 | User::createIfIdAbsent(1, "admin", "admin", "[email protected]", 1, "Administrator", 1); |
||
| 1603 | |||
| 1604 | echo "Add PluginInstaller plugins...<br />"; |
||
| 1605 | PluginInstaller::addInstallerPluginIfAbsent("EventInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/eventinstaller.php"); |
||
| 1606 | PluginInstaller::addInstallerPluginIfAbsent("PermissionInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/permissioninstaller.php"); |
||
| 1607 | PluginInstaller::addInstallerPluginIfAbsent("PageTypeInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/pagetypeinstaller.php"); |
||
| 1608 | PluginInstaller::addInstallerPluginIfAbsent("PageInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/pageinstaller.php"); |
||
| 1609 | PluginInstaller::addInstallerPluginIfAbsent("StoreInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/storeinstaller.php"); |
||
| 1610 | PluginInstaller::addInstallerPluginIfAbsent("FilePermissionsInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/filepermissionsinstaller.php"); |
||
| 1611 | PluginInstaller::addInstallerPluginIfAbsent("ApiMethodInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/apimethodinstaller.php"); |
||
| 1612 | PluginInstaller::addInstallerPluginIfAbsent("MenuInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/menuinstaller.php"); |
||
| 1613 | PluginInstaller::addInstallerPluginIfAbsent("SettingsInstaller", "system/packages/com.jukusoft.cms.plugin/extensions/settingsinstaller.php"); |
||
| 1614 | |||
| 1615 | echo "Add apimethod 'oauth'...<br />"; |
||
| 1616 | ApiMethod::addMethod("oauth", "ApiOAuth", "apiOAuth", "package_com.jukusoft.cms.api"); |
||
| 1617 | |||
| 1618 | echo "Add default tasks...<br />"; |
||
| 1619 | Task::createStaticMethodTask("Cleanup outdated oauth tokens", "ApiOAuth", "removeAllOutdatedTokens", 1440, "oauth_cleanup_tokens", "system", array(), false);//cleanup outdated oauth tokens every day |
||
| 1620 | |||
| 1621 | echo "Add default widgets...<br />"; |
||
| 1622 | WidgetType::register("TextWidget", "Text Widget", "Widget which shows text without html code.", true, "system"); |
||
| 1623 | WidgetType::register("HTMLWidget", "HTML Widget", "Widget which shows html code.", true, "system"); |
||
| 1624 | |||
| 1625 | //TODO: remove this lines |
||
| 1626 | echo "Add default sidebar widgets...<br />"; |
||
| 1627 | HTMLWidget::create(2, "Latest News", "<h4>New Website Launched</h4> |
||
| 1628 | <h5>August 1st, 2013</h5> |
||
| 1629 | <p>2013 sees the redesign of our website. Take a look around and let us know what you think.<br /><a href=\"#\">Read more</a></p> |
||
| 1630 | <p></p> |
||
| 1631 | <h4>New Website Launched</h4> |
||
| 1632 | <h5>August 1st, 2013</h5> |
||
| 1633 | <p>2013 sees the redesign of our website. Take a look around and let us know what you think.<br /><a href=\"#\">Read more</a></p>", "default_right_widget_1"); |
||
| 1634 | HTMLWidget::create(2, "Useful links", "<ul> |
||
| 1635 | <li><a href=\"#\">link 1</a></li> |
||
| 1636 | <li><a href=\"#\">link 2</a></li> |
||
| 1637 | <li><a href=\"#\">link 3</a></li> |
||
| 1638 | <li><a href=\"#\">link 4</a></li> |
||
| 1639 | </ul>", "default_right_widget_2"); |
||
| 1640 | HTMLWidget::create(2, "Search", "<form method=\"post\" action=\"#\" id=\"search_form\"> |
||
| 1641 | <p> |
||
| 1642 | <input class=\"search\" type=\"text\" name=\"search_field\" placeholder=\"Enter keywords\" /> |
||
| 1643 | <input class=\"search_button\" name=\"search\" type=\"submit\" value=\"🔍\" /> |
||
| 1644 | </p> |
||
| 1645 | </form>", "default_right_widget_3"); |
||
| 1646 | |||
| 1647 | echo "Clear gettext cache<br />"; |
||
| 1648 | PHPUtils::clearGetTextCache(); |
||
| 1649 | |||
| 1650 | echo "Clear cache<br />"; |
||
| 1651 | Cache::clear(); |
||
| 1652 | |||
| 1653 | echo "<br /><br />Finished DB Upgrade!"; |
||
| 1654 | |||
| 1655 | if (file_exists(ROOT_PATH . "setup/add-install.php")) { |
||
| 1656 | echo "<br />Call add-install.php...<br />"; |
||
| 1657 | |||
| 1658 | require(ROOT_PATH . "setup/add-install.php"); |
||
| 1659 | |||
| 1660 | echo "<br /><br />Finished additional Upgrade!"; |
||
| 1661 | } |
||
| 1662 | |||
| 1663 | ?> |
||
| 1664 |