From 37c6f6c74f85b5ed7c1664f61ee8dc06498e3205 Mon Sep 17 00:00:00 2001 From: Marin Date: Mon, 28 Apr 2025 14:16:38 +0200 Subject: [PATCH 01/27] Initial commit --- application/.htaccess | 6 - application/cache/index.html | 11 - application/config/autoload.php | 135 - application/config/config.php | 532 ---- application/config/constants.php | 85 - application/config/cors.php | 31 - application/config/doctypes.php | 24 - application/config/foreign_chars.php | 114 - application/config/hooks.php | 13 - application/config/index.html | 11 - application/config/memcached.php | 19 - application/config/migration.php | 84 - application/config/mimes.php | 186 -- application/config/profiler.php | 14 - application/config/routes.php | 54 - application/config/smileys.php | 64 - application/config/user_agents.php | 222 -- application/controllers/Consultation.php | 45 - application/controllers/Dashboard.php | 58 - application/controllers/ListPC.php | 36 - application/controllers/Pull.php | 96 - application/controllers/Support.php | 64 - application/controllers/Welcome.php | 25 - application/controllers/index.html | 11 - application/core/index.html | 11 - application/helpers/index.html | 11 - application/hooks/index.html | 11 - application/index.html | 11 - application/language/english/index.html | 11 - application/language/french/db_lang.php | 34 - application/language/index.html | 11 - application/libraries/index.html | 11 - application/logs/index.html | 11 - application/models/Notes_model.php | 20 - application/models/Pc_model.php | 175 - application/models/Support_model.php | 21 - application/models/index.html | 11 - application/third_party/index.html | 11 - application/views/api.php | 20 - application/views/errors/cli/error_404.php | 8 - application/views/errors/cli/error_db.php | 8 - .../views/errors/cli/error_exception.php | 21 - .../views/errors/cli/error_general.php | 8 - application/views/errors/cli/error_php.php | 21 - application/views/errors/cli/index.html | 11 - application/views/errors/html/error_404.php | 64 - application/views/errors/html/error_db.php | 64 - .../views/errors/html/error_exception.php | 32 - .../views/errors/html/error_general.php | 64 - application/views/errors/html/error_php.php | 33 - application/views/errors/html/index.html | 11 - application/views/errors/index.html | 11 - application/views/welcome_message.php | 100 - assets/css/style.css | 221 -- assets/js/script.js | 20 - assets/logo/track-it-white.png | Bin 62557 -> 0 bytes composer.json | 35 - consult_notes.php | 57 + consult_pc.php | 25 + consult_tickets.php | 72 + dbconnect.php | 13 + index.php | 315 -- liste.php | 31 + notes_functions.php | 16 + pc_functions.php | 62 + submit_ticket.php | 79 + system/.htaccess | 6 - system/core/Benchmark.php | 134 - system/core/CodeIgniter.php | 560 ---- system/core/Common.php | 849 ----- system/core/Config.php | 380 --- system/core/Controller.php | 104 - system/core/Exceptions.php | 275 -- system/core/Hooks.php | 267 -- system/core/Input.php | 937 ------ system/core/Lang.php | 204 -- system/core/Loader.php | 1416 --------- system/core/Log.php | 297 -- system/core/Model.php | 77 - system/core/Output.php | 847 ----- system/core/Router.php | 516 --- system/core/Security.php | 1111 ------- system/core/URI.php | 644 ---- system/core/Utf8.php | 165 - system/core/compat/hash.php | 255 -- system/core/compat/index.html | 11 - system/core/compat/mbstring.php | 150 - system/core/compat/password.php | 252 -- system/core/compat/standard.php | 183 -- system/core/index.html | 11 - system/database/DB.php | 219 -- system/database/DB_cache.php | 222 -- system/database/DB_driver.php | 1999 ------------ system/database/DB_forge.php | 1034 ------ system/database/DB_query_builder.php | 2809 ----------------- system/database/DB_result.php | 666 ---- system/database/DB_utility.php | 425 --- .../database/drivers/cubrid/cubrid_driver.php | 406 --- .../database/drivers/cubrid/cubrid_forge.php | 231 -- .../database/drivers/cubrid/cubrid_result.php | 178 -- .../drivers/cubrid/cubrid_utility.php | 80 - system/database/drivers/cubrid/index.html | 11 - .../database/drivers/ibase/ibase_driver.php | 414 --- system/database/drivers/ibase/ibase_forge.php | 252 -- .../database/drivers/ibase/ibase_result.php | 162 - .../database/drivers/ibase/ibase_utility.php | 70 - system/database/drivers/ibase/index.html | 11 - system/database/drivers/index.html | 11 - system/database/drivers/mssql/index.html | 11 - .../database/drivers/mssql/mssql_driver.php | 519 --- system/database/drivers/mssql/mssql_forge.php | 152 - .../database/drivers/mssql/mssql_result.php | 199 -- .../database/drivers/mssql/mssql_utility.php | 78 - system/database/drivers/mysql/index.html | 11 - .../database/drivers/mysql/mysql_driver.php | 495 --- system/database/drivers/mysql/mysql_forge.php | 243 -- .../database/drivers/mysql/mysql_result.php | 200 -- .../database/drivers/mysql/mysql_utility.php | 212 -- system/database/drivers/mysqli/index.html | 11 - .../database/drivers/mysqli/mysqli_driver.php | 554 ---- .../database/drivers/mysqli/mysqli_forge.php | 245 -- .../database/drivers/mysqli/mysqli_result.php | 233 -- .../drivers/mysqli/mysqli_utility.php | 212 -- system/database/drivers/oci8/index.html | 11 - system/database/drivers/oci8/oci8_driver.php | 712 ----- system/database/drivers/oci8/oci8_forge.php | 217 -- system/database/drivers/oci8/oci8_result.php | 230 -- system/database/drivers/oci8/oci8_utility.php | 69 - system/database/drivers/odbc/index.html | 11 - system/database/drivers/odbc/odbc_driver.php | 426 --- system/database/drivers/odbc/odbc_forge.php | 87 - system/database/drivers/odbc/odbc_result.php | 269 -- system/database/drivers/odbc/odbc_utility.php | 64 - system/database/drivers/pdo/index.html | 11 - system/database/drivers/pdo/pdo_driver.php | 351 -- system/database/drivers/pdo/pdo_forge.php | 66 - system/database/drivers/pdo/pdo_result.php | 199 -- system/database/drivers/pdo/pdo_utility.php | 64 - .../drivers/pdo/subdrivers/index.html | 11 - .../drivers/pdo/subdrivers/pdo_4d_driver.php | 201 -- .../drivers/pdo/subdrivers/pdo_4d_forge.php | 218 -- .../pdo/subdrivers/pdo_cubrid_driver.php | 210 -- .../pdo/subdrivers/pdo_cubrid_forge.php | 231 -- .../pdo/subdrivers/pdo_dblib_driver.php | 354 --- .../pdo/subdrivers/pdo_dblib_forge.php | 150 - .../pdo/subdrivers/pdo_firebird_driver.php | 280 -- .../pdo/subdrivers/pdo_firebird_forge.php | 238 -- .../drivers/pdo/subdrivers/pdo_ibm_driver.php | 245 -- .../drivers/pdo/subdrivers/pdo_ibm_forge.php | 155 - .../pdo/subdrivers/pdo_informix_driver.php | 310 -- .../pdo/subdrivers/pdo_informix_forge.php | 164 - .../pdo/subdrivers/pdo_mysql_driver.php | 380 --- .../pdo/subdrivers/pdo_mysql_forge.php | 257 -- .../drivers/pdo/subdrivers/pdo_oci_driver.php | 327 -- .../drivers/pdo/subdrivers/pdo_oci_forge.php | 208 -- .../pdo/subdrivers/pdo_odbc_driver.php | 230 -- .../drivers/pdo/subdrivers/pdo_odbc_forge.php | 71 - .../pdo/subdrivers/pdo_pgsql_driver.php | 385 --- .../pdo/subdrivers/pdo_pgsql_forge.php | 218 -- .../pdo/subdrivers/pdo_sqlite_driver.php | 214 -- .../pdo/subdrivers/pdo_sqlite_forge.php | 239 -- .../pdo/subdrivers/pdo_sqlsrv_driver.php | 370 --- .../pdo/subdrivers/pdo_sqlsrv_forge.php | 150 - system/database/drivers/postgre/index.html | 11 - .../drivers/postgre/postgre_driver.php | 611 ---- .../drivers/postgre/postgre_forge.php | 206 -- .../drivers/postgre/postgre_result.php | 183 -- .../drivers/postgre/postgre_utility.php | 79 - system/database/drivers/sqlite/index.html | 11 - .../database/drivers/sqlite/sqlite_driver.php | 331 -- .../database/drivers/sqlite/sqlite_forge.php | 206 -- .../database/drivers/sqlite/sqlite_result.php | 165 - .../drivers/sqlite/sqlite_utility.php | 62 - system/database/drivers/sqlite3/index.html | 11 - .../drivers/sqlite3/sqlite3_driver.php | 345 -- .../drivers/sqlite3/sqlite3_forge.php | 226 -- .../drivers/sqlite3/sqlite3_result.php | 195 -- .../drivers/sqlite3/sqlite3_utility.php | 62 - system/database/drivers/sqlsrv/index.html | 11 - .../database/drivers/sqlsrv/sqlsrv_driver.php | 544 ---- .../database/drivers/sqlsrv/sqlsrv_forge.php | 150 - .../database/drivers/sqlsrv/sqlsrv_result.php | 194 -- .../drivers/sqlsrv/sqlsrv_utility.php | 78 - system/database/index.html | 11 - system/fonts/index.html | 11 - system/fonts/texb.ttf | Bin 143830 -> 0 bytes system/helpers/array_helper.php | 116 - system/helpers/captcha_helper.php | 353 --- system/helpers/cookie_helper.php | 114 - system/helpers/date_helper.php | 743 ----- system/helpers/directory_helper.php | 102 - system/helpers/download_helper.php | 159 - system/helpers/email_helper.php | 85 - system/helpers/file_helper.php | 454 --- system/helpers/form_helper.php | 1056 ------- system/helpers/html_helper.php | 410 --- system/helpers/index.html | 11 - system/helpers/inflector_helper.php | 288 -- system/helpers/language_helper.php | 76 - system/helpers/number_helper.php | 95 - system/helpers/path_helper.php | 83 - system/helpers/security_helper.php | 138 - system/helpers/smiley_helper.php | 256 -- system/helpers/string_helper.php | 305 -- system/helpers/text_helper.php | 568 ---- system/helpers/typography_helper.php | 105 - system/helpers/url_helper.php | 570 ---- system/helpers/xml_helper.php | 91 - system/index.html | 11 - system/language/english/calendar_lang.php | 85 - system/language/english/date_lang.php | 95 - system/language/english/db_lang.php | 64 - system/language/english/email_lang.php | 59 - .../language/english/form_validation_lang.php | 70 - system/language/english/ftp_lang.php | 52 - system/language/english/imglib_lang.php | 58 - system/language/english/index.html | 11 - system/language/english/migration_lang.php | 48 - system/language/english/number_lang.php | 45 - system/language/english/pagination_lang.php | 44 - system/language/english/profiler_lang.php | 61 - system/language/english/unit_test_lang.php | 59 - system/language/english/upload_lang.php | 56 - system/language/index.html | 11 - system/libraries/Cache/Cache.php | 256 -- system/libraries/Cache/drivers/Cache_apc.php | 218 -- .../libraries/Cache/drivers/Cache_dummy.php | 173 - system/libraries/Cache/drivers/Cache_file.php | 287 -- .../Cache/drivers/Cache_memcached.php | 314 -- .../libraries/Cache/drivers/Cache_redis.php | 348 -- .../Cache/drivers/Cache_wincache.php | 218 -- system/libraries/Cache/drivers/index.html | 11 - system/libraries/Cache/index.html | 11 - system/libraries/Calendar.php | 547 ---- system/libraries/Cart.php | 568 ---- system/libraries/Driver.php | 343 -- system/libraries/Email.php | 2491 --------------- system/libraries/Encrypt.php | 522 --- system/libraries/Encryption.php | 942 ------ system/libraries/Form_validation.php | 1599 ---------- system/libraries/Ftp.php | 668 ---- system/libraries/Image_lib.php | 1843 ----------- system/libraries/Javascript.php | 857 ----- system/libraries/Javascript/Jquery.php | 1077 ------- system/libraries/Javascript/index.html | 11 - system/libraries/Migration.php | 478 --- system/libraries/Pagination.php | 705 ----- system/libraries/Parser.php | 249 -- system/libraries/Profiler.php | 575 ---- .../Session/CI_Session_driver_interface.php | 60 - .../libraries/Session/OldSessionWrapper.php | 98 - .../libraries/Session/PHP8SessionWrapper.php | 100 - system/libraries/Session/Session.php | 1032 ------ .../Session/SessionHandlerInterface.php | 60 - ...SessionUpdateTimestampHandlerInterface.php | 56 - system/libraries/Session/Session_driver.php | 202 -- .../drivers/Session_database_driver.php | 471 --- .../Session/drivers/Session_files_driver.php | 449 --- .../drivers/Session_memcached_driver.php | 414 --- .../Session/drivers/Session_redis_driver.php | 476 --- system/libraries/Session/drivers/index.html | 11 - system/libraries/Session/index.html | 11 - system/libraries/Table.php | 539 ---- system/libraries/Trackback.php | 557 ---- system/libraries/Typography.php | 425 --- system/libraries/Unit_test.php | 407 --- system/libraries/Upload.php | 1327 -------- system/libraries/User_agent.php | 682 ---- system/libraries/Xmlrpc.php | 1921 ----------- system/libraries/Xmlrpcs.php | 620 ---- system/libraries/Zip.php | 534 ---- system/libraries/index.html | 11 - 272 files changed, 355 insertions(+), 70680 deletions(-) delete mode 100644 application/.htaccess delete mode 100644 application/cache/index.html delete mode 100644 application/config/autoload.php delete mode 100644 application/config/config.php delete mode 100644 application/config/constants.php delete mode 100644 application/config/cors.php delete mode 100644 application/config/doctypes.php delete mode 100644 application/config/foreign_chars.php delete mode 100644 application/config/hooks.php delete mode 100644 application/config/index.html delete mode 100644 application/config/memcached.php delete mode 100644 application/config/migration.php delete mode 100644 application/config/mimes.php delete mode 100644 application/config/profiler.php delete mode 100644 application/config/routes.php delete mode 100644 application/config/smileys.php delete mode 100644 application/config/user_agents.php delete mode 100644 application/controllers/Consultation.php delete mode 100644 application/controllers/Dashboard.php delete mode 100644 application/controllers/ListPC.php delete mode 100644 application/controllers/Pull.php delete mode 100644 application/controllers/Support.php delete mode 100644 application/controllers/Welcome.php delete mode 100644 application/controllers/index.html delete mode 100644 application/core/index.html delete mode 100644 application/helpers/index.html delete mode 100644 application/hooks/index.html delete mode 100644 application/index.html delete mode 100644 application/language/english/index.html delete mode 100644 application/language/french/db_lang.php delete mode 100644 application/language/index.html delete mode 100644 application/libraries/index.html delete mode 100644 application/logs/index.html delete mode 100644 application/models/Notes_model.php delete mode 100644 application/models/Pc_model.php delete mode 100644 application/models/Support_model.php delete mode 100644 application/models/index.html delete mode 100644 application/third_party/index.html delete mode 100644 application/views/api.php delete mode 100644 application/views/errors/cli/error_404.php delete mode 100644 application/views/errors/cli/error_db.php delete mode 100644 application/views/errors/cli/error_exception.php delete mode 100644 application/views/errors/cli/error_general.php delete mode 100644 application/views/errors/cli/error_php.php delete mode 100644 application/views/errors/cli/index.html delete mode 100644 application/views/errors/html/error_404.php delete mode 100644 application/views/errors/html/error_db.php delete mode 100644 application/views/errors/html/error_exception.php delete mode 100644 application/views/errors/html/error_general.php delete mode 100644 application/views/errors/html/error_php.php delete mode 100644 application/views/errors/html/index.html delete mode 100644 application/views/errors/index.html delete mode 100644 application/views/welcome_message.php delete mode 100644 assets/css/style.css delete mode 100644 assets/js/script.js delete mode 100644 assets/logo/track-it-white.png delete mode 100644 composer.json create mode 100644 consult_notes.php create mode 100644 consult_pc.php create mode 100644 consult_tickets.php create mode 100644 dbconnect.php delete mode 100644 index.php create mode 100644 liste.php create mode 100644 notes_functions.php create mode 100644 pc_functions.php create mode 100644 submit_ticket.php delete mode 100644 system/.htaccess delete mode 100644 system/core/Benchmark.php delete mode 100644 system/core/CodeIgniter.php delete mode 100644 system/core/Common.php delete mode 100644 system/core/Config.php delete mode 100644 system/core/Controller.php delete mode 100644 system/core/Exceptions.php delete mode 100644 system/core/Hooks.php delete mode 100644 system/core/Input.php delete mode 100644 system/core/Lang.php delete mode 100644 system/core/Loader.php delete mode 100644 system/core/Log.php delete mode 100644 system/core/Model.php delete mode 100644 system/core/Output.php delete mode 100644 system/core/Router.php delete mode 100644 system/core/Security.php delete mode 100644 system/core/URI.php delete mode 100644 system/core/Utf8.php delete mode 100644 system/core/compat/hash.php delete mode 100644 system/core/compat/index.html delete mode 100644 system/core/compat/mbstring.php delete mode 100644 system/core/compat/password.php delete mode 100644 system/core/compat/standard.php delete mode 100644 system/core/index.html delete mode 100644 system/database/DB.php delete mode 100644 system/database/DB_cache.php delete mode 100644 system/database/DB_driver.php delete mode 100644 system/database/DB_forge.php delete mode 100644 system/database/DB_query_builder.php delete mode 100644 system/database/DB_result.php delete mode 100644 system/database/DB_utility.php delete mode 100644 system/database/drivers/cubrid/cubrid_driver.php delete mode 100644 system/database/drivers/cubrid/cubrid_forge.php delete mode 100644 system/database/drivers/cubrid/cubrid_result.php delete mode 100644 system/database/drivers/cubrid/cubrid_utility.php delete mode 100644 system/database/drivers/cubrid/index.html delete mode 100644 system/database/drivers/ibase/ibase_driver.php delete mode 100644 system/database/drivers/ibase/ibase_forge.php delete mode 100644 system/database/drivers/ibase/ibase_result.php delete mode 100644 system/database/drivers/ibase/ibase_utility.php delete mode 100644 system/database/drivers/ibase/index.html delete mode 100644 system/database/drivers/index.html delete mode 100644 system/database/drivers/mssql/index.html delete mode 100644 system/database/drivers/mssql/mssql_driver.php delete mode 100644 system/database/drivers/mssql/mssql_forge.php delete mode 100644 system/database/drivers/mssql/mssql_result.php delete mode 100644 system/database/drivers/mssql/mssql_utility.php delete mode 100644 system/database/drivers/mysql/index.html delete mode 100644 system/database/drivers/mysql/mysql_driver.php delete mode 100644 system/database/drivers/mysql/mysql_forge.php delete mode 100644 system/database/drivers/mysql/mysql_result.php delete mode 100644 system/database/drivers/mysql/mysql_utility.php delete mode 100644 system/database/drivers/mysqli/index.html delete mode 100644 system/database/drivers/mysqli/mysqli_driver.php delete mode 100644 system/database/drivers/mysqli/mysqli_forge.php delete mode 100644 system/database/drivers/mysqli/mysqli_result.php delete mode 100644 system/database/drivers/mysqli/mysqli_utility.php delete mode 100644 system/database/drivers/oci8/index.html delete mode 100644 system/database/drivers/oci8/oci8_driver.php delete mode 100644 system/database/drivers/oci8/oci8_forge.php delete mode 100644 system/database/drivers/oci8/oci8_result.php delete mode 100644 system/database/drivers/oci8/oci8_utility.php delete mode 100644 system/database/drivers/odbc/index.html delete mode 100644 system/database/drivers/odbc/odbc_driver.php delete mode 100644 system/database/drivers/odbc/odbc_forge.php delete mode 100644 system/database/drivers/odbc/odbc_result.php delete mode 100644 system/database/drivers/odbc/odbc_utility.php delete mode 100644 system/database/drivers/pdo/index.html delete mode 100644 system/database/drivers/pdo/pdo_driver.php delete mode 100644 system/database/drivers/pdo/pdo_forge.php delete mode 100644 system/database/drivers/pdo/pdo_result.php delete mode 100644 system/database/drivers/pdo/pdo_utility.php delete mode 100644 system/database/drivers/pdo/subdrivers/index.html delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_4d_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_4d_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_cubrid_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_dblib_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_firebird_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_ibm_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_informix_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_informix_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_oci_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_oci_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_odbc_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_pgsql_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlite_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlite_forge.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlsrv_driver.php delete mode 100644 system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php delete mode 100644 system/database/drivers/postgre/index.html delete mode 100644 system/database/drivers/postgre/postgre_driver.php delete mode 100644 system/database/drivers/postgre/postgre_forge.php delete mode 100644 system/database/drivers/postgre/postgre_result.php delete mode 100644 system/database/drivers/postgre/postgre_utility.php delete mode 100644 system/database/drivers/sqlite/index.html delete mode 100644 system/database/drivers/sqlite/sqlite_driver.php delete mode 100644 system/database/drivers/sqlite/sqlite_forge.php delete mode 100644 system/database/drivers/sqlite/sqlite_result.php delete mode 100644 system/database/drivers/sqlite/sqlite_utility.php delete mode 100644 system/database/drivers/sqlite3/index.html delete mode 100644 system/database/drivers/sqlite3/sqlite3_driver.php delete mode 100644 system/database/drivers/sqlite3/sqlite3_forge.php delete mode 100644 system/database/drivers/sqlite3/sqlite3_result.php delete mode 100644 system/database/drivers/sqlite3/sqlite3_utility.php delete mode 100644 system/database/drivers/sqlsrv/index.html delete mode 100644 system/database/drivers/sqlsrv/sqlsrv_driver.php delete mode 100644 system/database/drivers/sqlsrv/sqlsrv_forge.php delete mode 100644 system/database/drivers/sqlsrv/sqlsrv_result.php delete mode 100644 system/database/drivers/sqlsrv/sqlsrv_utility.php delete mode 100644 system/database/index.html delete mode 100644 system/fonts/index.html delete mode 100644 system/fonts/texb.ttf delete mode 100644 system/helpers/array_helper.php delete mode 100644 system/helpers/captcha_helper.php delete mode 100644 system/helpers/cookie_helper.php delete mode 100644 system/helpers/date_helper.php delete mode 100644 system/helpers/directory_helper.php delete mode 100644 system/helpers/download_helper.php delete mode 100644 system/helpers/email_helper.php delete mode 100644 system/helpers/file_helper.php delete mode 100644 system/helpers/form_helper.php delete mode 100644 system/helpers/html_helper.php delete mode 100644 system/helpers/index.html delete mode 100644 system/helpers/inflector_helper.php delete mode 100644 system/helpers/language_helper.php delete mode 100644 system/helpers/number_helper.php delete mode 100644 system/helpers/path_helper.php delete mode 100644 system/helpers/security_helper.php delete mode 100644 system/helpers/smiley_helper.php delete mode 100644 system/helpers/string_helper.php delete mode 100644 system/helpers/text_helper.php delete mode 100644 system/helpers/typography_helper.php delete mode 100644 system/helpers/url_helper.php delete mode 100644 system/helpers/xml_helper.php delete mode 100644 system/index.html delete mode 100644 system/language/english/calendar_lang.php delete mode 100644 system/language/english/date_lang.php delete mode 100644 system/language/english/db_lang.php delete mode 100644 system/language/english/email_lang.php delete mode 100644 system/language/english/form_validation_lang.php delete mode 100644 system/language/english/ftp_lang.php delete mode 100644 system/language/english/imglib_lang.php delete mode 100644 system/language/english/index.html delete mode 100644 system/language/english/migration_lang.php delete mode 100644 system/language/english/number_lang.php delete mode 100644 system/language/english/pagination_lang.php delete mode 100644 system/language/english/profiler_lang.php delete mode 100644 system/language/english/unit_test_lang.php delete mode 100644 system/language/english/upload_lang.php delete mode 100644 system/language/index.html delete mode 100644 system/libraries/Cache/Cache.php delete mode 100644 system/libraries/Cache/drivers/Cache_apc.php delete mode 100644 system/libraries/Cache/drivers/Cache_dummy.php delete mode 100644 system/libraries/Cache/drivers/Cache_file.php delete mode 100644 system/libraries/Cache/drivers/Cache_memcached.php delete mode 100644 system/libraries/Cache/drivers/Cache_redis.php delete mode 100644 system/libraries/Cache/drivers/Cache_wincache.php delete mode 100644 system/libraries/Cache/drivers/index.html delete mode 100644 system/libraries/Cache/index.html delete mode 100644 system/libraries/Calendar.php delete mode 100644 system/libraries/Cart.php delete mode 100644 system/libraries/Driver.php delete mode 100644 system/libraries/Email.php delete mode 100644 system/libraries/Encrypt.php delete mode 100644 system/libraries/Encryption.php delete mode 100644 system/libraries/Form_validation.php delete mode 100644 system/libraries/Ftp.php delete mode 100644 system/libraries/Image_lib.php delete mode 100644 system/libraries/Javascript.php delete mode 100644 system/libraries/Javascript/Jquery.php delete mode 100644 system/libraries/Javascript/index.html delete mode 100644 system/libraries/Migration.php delete mode 100644 system/libraries/Pagination.php delete mode 100644 system/libraries/Parser.php delete mode 100644 system/libraries/Profiler.php delete mode 100644 system/libraries/Session/CI_Session_driver_interface.php delete mode 100644 system/libraries/Session/OldSessionWrapper.php delete mode 100644 system/libraries/Session/PHP8SessionWrapper.php delete mode 100644 system/libraries/Session/Session.php delete mode 100644 system/libraries/Session/SessionHandlerInterface.php delete mode 100644 system/libraries/Session/SessionUpdateTimestampHandlerInterface.php delete mode 100644 system/libraries/Session/Session_driver.php delete mode 100644 system/libraries/Session/drivers/Session_database_driver.php delete mode 100644 system/libraries/Session/drivers/Session_files_driver.php delete mode 100644 system/libraries/Session/drivers/Session_memcached_driver.php delete mode 100644 system/libraries/Session/drivers/Session_redis_driver.php delete mode 100644 system/libraries/Session/drivers/index.html delete mode 100644 system/libraries/Session/index.html delete mode 100644 system/libraries/Table.php delete mode 100644 system/libraries/Trackback.php delete mode 100644 system/libraries/Typography.php delete mode 100644 system/libraries/Unit_test.php delete mode 100644 system/libraries/Upload.php delete mode 100644 system/libraries/User_agent.php delete mode 100644 system/libraries/Xmlrpc.php delete mode 100644 system/libraries/Xmlrpcs.php delete mode 100644 system/libraries/Zip.php delete mode 100644 system/libraries/index.html diff --git a/application/.htaccess b/application/.htaccess deleted file mode 100644 index 6c63ed4..0000000 --- a/application/.htaccess +++ /dev/null @@ -1,6 +0,0 @@ - - Require all denied - - - Deny from all - \ No newline at end of file diff --git a/application/cache/index.html b/application/cache/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/cache/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/config/autoload.php b/application/config/autoload.php deleted file mode 100644 index 7cdc901..0000000 --- a/application/config/autoload.php +++ /dev/null @@ -1,135 +0,0 @@ - 'ua'); -*/ -$autoload['libraries'] = array(); - -/* -| ------------------------------------------------------------------- -| Auto-load Drivers -| ------------------------------------------------------------------- -| These classes are located in system/libraries/ or in your -| application/libraries/ directory, but are also placed inside their -| own subdirectory and they extend the CI_Driver_Library class. They -| offer multiple interchangeable driver options. -| -| Prototype: -| -| $autoload['drivers'] = array('cache'); -| -| You can also supply an alternative property name to be assigned in -| the controller: -| -| $autoload['drivers'] = array('cache' => 'cch'); -| -*/ -$autoload['drivers'] = array(); - -/* -| ------------------------------------------------------------------- -| Auto-load Helper Files -| ------------------------------------------------------------------- -| Prototype: -| -| $autoload['helper'] = array('url', 'file'); -*/ -$autoload['helper'] = array(); - -/* -| ------------------------------------------------------------------- -| Auto-load Config files -| ------------------------------------------------------------------- -| Prototype: -| -| $autoload['config'] = array('config1', 'config2'); -| -| NOTE: This item is intended for use ONLY if you have created custom -| config files. Otherwise, leave it blank. -| -*/ -$autoload['config'] = array(); - -/* -| ------------------------------------------------------------------- -| Auto-load Language files -| ------------------------------------------------------------------- -| Prototype: -| -| $autoload['language'] = array('lang1', 'lang2'); -| -| NOTE: Do not include the "_lang" part of your file. For example -| "codeigniter_lang.php" would be referenced as array('codeigniter'); -| -*/ -$autoload['language'] = array(); - -/* -| ------------------------------------------------------------------- -| Auto-load Models -| ------------------------------------------------------------------- -| Prototype: -| -| $autoload['model'] = array('first_model', 'second_model'); -| -| You can also supply an alternative model name to be assigned -| in the controller: -| -| $autoload['model'] = array('first_model' => 'first'); -*/ -$autoload['model'] = array(); diff --git a/application/config/config.php b/application/config/config.php deleted file mode 100644 index 4bd36db..0000000 --- a/application/config/config.php +++ /dev/null @@ -1,532 +0,0 @@ -]+$/i -| -| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! -| -*/ -$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; - -/* -|-------------------------------------------------------------------------- -| Enable Query Strings -|-------------------------------------------------------------------------- -| -| By default CodeIgniter uses search-engine friendly segment based URLs: -| example.com/who/what/where/ -| -| You can optionally enable standard query string based URLs: -| example.com?who=me&what=something&where=here -| -| Options are: TRUE or FALSE (boolean) -| -| The other items let you set the query string 'words' that will -| invoke your controllers and its functions: -| example.com/index.php?c=controller&m=function -| -| Please note that some of the helpers won't work as expected when -| this feature is enabled, since CodeIgniter is designed primarily to -| use segment based URLs. -| -*/ -$config['enable_query_strings'] = FALSE; -$config['controller_trigger'] = 'c'; -$config['function_trigger'] = 'm'; -$config['directory_trigger'] = 'd'; - -/* -|-------------------------------------------------------------------------- -| Allow $_GET array -|-------------------------------------------------------------------------- -| -| By default CodeIgniter enables access to the $_GET array. If for some -| reason you would like to disable it, set 'allow_get_array' to FALSE. -| -| WARNING: This feature is DEPRECATED and currently available only -| for backwards compatibility purposes! -| -*/ -$config['allow_get_array'] = TRUE; - -/* -|-------------------------------------------------------------------------- -| Error Logging Threshold -|-------------------------------------------------------------------------- -| -| You can enable error logging by setting a threshold over zero. The -| threshold determines what gets logged. Threshold options are: -| -| 0 = Disables logging, Error logging TURNED OFF -| 1 = Error Messages (including PHP errors) -| 2 = Debug Messages -| 3 = Informational Messages -| 4 = All Messages -| -| You can also pass an array with threshold levels to show individual error types -| -| array(2) = Debug Messages, without Error Messages -| -| For a live site you'll usually only enable Errors (1) to be logged otherwise -| your log files will fill up very fast. -| -*/ -$config['log_threshold'] = 0; - -/* -|-------------------------------------------------------------------------- -| Error Logging Directory Path -|-------------------------------------------------------------------------- -| -| Leave this BLANK unless you would like to set something other than the default -| application/logs/ directory. Use a full server path with trailing slash. -| -*/ -$config['log_path'] = ''; - -/* -|-------------------------------------------------------------------------- -| Log File Extension -|-------------------------------------------------------------------------- -| -| The default filename extension for log files. The default 'php' allows for -| protecting the log files via basic scripting, when they are to be stored -| under a publicly accessible directory. -| -| Note: Leaving it blank will default to 'php'. -| -*/ -$config['log_file_extension'] = ''; - -/* -|-------------------------------------------------------------------------- -| Log File Permissions -|-------------------------------------------------------------------------- -| -| The file system permissions to be applied on newly created log files. -| -| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal -| integer notation (i.e. 0700, 0644, etc.) -*/ -$config['log_file_permissions'] = 0644; - -/* -|-------------------------------------------------------------------------- -| Date Format for Logs -|-------------------------------------------------------------------------- -| -| Each item that is logged has an associated date. You can use PHP date -| codes to set your own date formatting -| -*/ -$config['log_date_format'] = 'Y-m-d H:i:s'; - -/* -|-------------------------------------------------------------------------- -| Error Views Directory Path -|-------------------------------------------------------------------------- -| -| Leave this BLANK unless you would like to set something other than the default -| application/views/errors/ directory. Use a full server path with trailing slash. -| -*/ -$config['error_views_path'] = ''; - -/* -|-------------------------------------------------------------------------- -| Cache Directory Path -|-------------------------------------------------------------------------- -| -| Leave this BLANK unless you would like to set something other than the default -| application/cache/ directory. Use a full server path with trailing slash. -| -*/ -$config['cache_path'] = ''; - -/* -|-------------------------------------------------------------------------- -| Cache Include Query String -|-------------------------------------------------------------------------- -| -| Whether to take the URL query string into consideration when generating -| output cache files. Valid options are: -| -| FALSE = Disabled -| TRUE = Enabled, take all query parameters into account. -| Please be aware that this may result in numerous cache -| files generated for the same page over and over again. -| array('q') = Enabled, but only take into account the specified list -| of query parameters. -| -*/ -$config['cache_query_string'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Encryption Key -|-------------------------------------------------------------------------- -| -| If you use the Encryption class, you must set an encryption key. -| See the user guide for more info. -| -| https://codeigniter.com/userguide3/libraries/encryption.html -| -*/ -$config['encryption_key'] = ''; - -/* -|-------------------------------------------------------------------------- -| Session Variables -|-------------------------------------------------------------------------- -| -| 'sess_driver' -| -| The storage driver to use: files, database, redis, memcached -| -| 'sess_cookie_name' -| -| The session cookie name, must contain only [0-9a-z_-] characters -| -| 'sess_samesite' -| -| Session cookie SameSite attribute: Lax (default), Strict or None -| -| 'sess_expiration' -| -| The number of SECONDS you want the session to last. -| Setting to 0 (zero) means expire when the browser is closed. -| -| 'sess_save_path' -| -| The location to save sessions to, driver dependent. -| -| For the 'files' driver, it's a path to a writable directory. -| WARNING: Only absolute paths are supported! -| -| For the 'database' driver, it's a table name. -| Please read up the manual for the format with other session drivers. -| -| IMPORTANT: You are REQUIRED to set a valid save path! -| -| 'sess_match_ip' -| -| Whether to match the user's IP address when reading the session data. -| -| WARNING: If you're using the database driver, don't forget to update -| your session table's PRIMARY KEY when changing this setting. -| -| 'sess_time_to_update' -| -| How many seconds between CI regenerating the session ID. -| -| 'sess_regenerate_destroy' -| -| Whether to destroy session data associated with the old session ID -| when auto-regenerating the session ID. When set to FALSE, the data -| will be later deleted by the garbage collector. -| -| Other session cookie settings are shared with the rest of the application, -| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here. -| -*/ -$config['sess_driver'] = 'files'; -$config['sess_cookie_name'] = 'ci_session'; -$config['sess_samesite'] = 'Lax'; -$config['sess_expiration'] = 7200; -$config['sess_save_path'] = NULL; -$config['sess_match_ip'] = FALSE; -$config['sess_time_to_update'] = 300; -$config['sess_regenerate_destroy'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Cookie Related Variables -|-------------------------------------------------------------------------- -| -| 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions -| 'cookie_domain' = Set to .your-domain.com for site-wide cookies -| 'cookie_path' = Typically will be a forward slash -| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists. -| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript) -| 'cookie_samesite' = Cookie's samesite attribute (Lax, Strict or None) -| -| Note: These settings (with the exception of 'cookie_prefix' and -| 'cookie_httponly') will also affect sessions. -| -*/ -$config['cookie_prefix'] = ''; -$config['cookie_domain'] = ''; -$config['cookie_path'] = '/'; -$config['cookie_secure'] = FALSE; -$config['cookie_httponly'] = FALSE; -$config['cookie_samesite'] = 'Lax'; - -/* -|-------------------------------------------------------------------------- -| Standardize newlines -|-------------------------------------------------------------------------- -| -| Determines whether to standardize newline characters in input data, -| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value. -| -| WARNING: This feature is DEPRECATED and currently available only -| for backwards compatibility purposes! -| -*/ -$config['standardize_newlines'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Global XSS Filtering -|-------------------------------------------------------------------------- -| -| Determines whether the XSS filter is always active when GET, POST or -| COOKIE data is encountered -| -| WARNING: This feature is DEPRECATED and currently available only -| for backwards compatibility purposes! -| -*/ -$config['global_xss_filtering'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Cross Site Request Forgery -|-------------------------------------------------------------------------- -| Enables a CSRF cookie token to be set. When set to TRUE, token will be -| checked on a submitted form. If you are accepting user data, it is strongly -| recommended CSRF protection be enabled. -| -| 'csrf_token_name' = The token name -| 'csrf_cookie_name' = The cookie name -| 'csrf_expire' = The number in seconds the token should expire. -| 'csrf_regenerate' = Regenerate token on every submission -| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks -*/ -$config['csrf_protection'] = FALSE; -$config['csrf_token_name'] = 'csrf_test_name'; -$config['csrf_cookie_name'] = 'csrf_cookie_name'; -$config['csrf_expire'] = 7200; -$config['csrf_regenerate'] = TRUE; -$config['csrf_exclude_uris'] = array(); - -/* -|-------------------------------------------------------------------------- -| Output Compression -|-------------------------------------------------------------------------- -| -| Enables Gzip output compression for faster page loads. When enabled, -| the output class will test whether your server supports Gzip. -| Even if it does, however, not all browsers support compression -| so enable only if you are reasonably sure your visitors can handle it. -| -| Only used if zlib.output_compression is turned off in your php.ini. -| Please do not use it together with httpd-level output compression. -| -| VERY IMPORTANT: If you are getting a blank page when compression is enabled it -| means you are prematurely outputting something to your browser. It could -| even be a line of whitespace at the end of one of your scripts. For -| compression to work, nothing can be sent before the output buffer is called -| by the output class. Do not 'echo' any values with compression enabled. -| -*/ -$config['compress_output'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Master Time Reference -|-------------------------------------------------------------------------- -| -| Options are 'local' or any PHP supported timezone. This preference tells -| the system whether to use your server's local time as the master 'now' -| reference, or convert it to the configured one timezone. See the 'date -| helper' page of the user guide for information regarding date handling. -| -*/ -$config['time_reference'] = 'local'; - -/* -|-------------------------------------------------------------------------- -| Rewrite PHP Short Tags -|-------------------------------------------------------------------------- -| -| If your PHP installation does not have short tag support enabled CI -| can rewrite the tags on-the-fly, enabling you to utilize that syntax -| in your view files. Options are TRUE or FALSE (boolean) -| -| Note: You need to have eval() enabled for this to work. -| -*/ -$config['rewrite_short_tags'] = FALSE; - -/* -|-------------------------------------------------------------------------- -| Reverse Proxy IPs -|-------------------------------------------------------------------------- -| -| If your server is behind a reverse proxy, you must whitelist the proxy -| IP addresses from which CodeIgniter should trust headers such as -| HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify -| the visitor's IP address. -| -| You can use both an array or a comma-separated list of proxy addresses, -| as well as specifying whole subnets. Here are a few examples: -| -| Comma-separated: '10.0.1.200,192.168.5.0/24' -| Array: array('10.0.1.200', '192.168.5.0/24') -*/ -$config['proxy_ips'] = ''; diff --git a/application/config/constants.php b/application/config/constants.php deleted file mode 100644 index 18d3b4b..0000000 --- a/application/config/constants.php +++ /dev/null @@ -1,85 +0,0 @@ - ['*'], - - 'allowed_origins' => ['*'], - - 'allowed_origins_patterns' => [], - - 'allowed_headers' => ['*'], - - 'exposed_headers' => [], - - 'max_age' => 0, - - 'supports_credentials' => false, -]; \ No newline at end of file diff --git a/application/config/doctypes.php b/application/config/doctypes.php deleted file mode 100644 index 59a7991..0000000 --- a/application/config/doctypes.php +++ /dev/null @@ -1,24 +0,0 @@ - '', - 'xhtml1-strict' => '', - 'xhtml1-trans' => '', - 'xhtml1-frame' => '', - 'xhtml-basic11' => '', - 'html5' => '', - 'html4-strict' => '', - 'html4-trans' => '', - 'html4-frame' => '', - 'mathml1' => '', - 'mathml2' => '', - 'svg10' => '', - 'svg11' => '', - 'svg11-basic' => '', - 'svg11-tiny' => '', - 'xhtml-math-svg-xh' => '', - 'xhtml-math-svg-sh' => '', - 'xhtml-rdfa-1' => '', - 'xhtml-rdfa-2' => '' -); diff --git a/application/config/foreign_chars.php b/application/config/foreign_chars.php deleted file mode 100644 index 0231f35..0000000 --- a/application/config/foreign_chars.php +++ /dev/null @@ -1,114 +0,0 @@ - 'ae', - '/ö|œ/' => 'oe', - '/ü/' => 'ue', - '/Ä/' => 'Ae', - '/Ü/' => 'Ue', - '/Ö/' => 'Oe', - '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A', - '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a', - '/Б/' => 'B', - '/б/' => 'b', - '/Ç|Ć|Ĉ|Ċ|Č/' => 'C', - '/ç|ć|ĉ|ċ|č/' => 'c', - '/Д|Δ/' => 'D', - '/д|δ/' => 'd', - '/Ð|Ď|Đ/' => 'Dj', - '/ð|ď|đ/' => 'dj', - '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Э/' => 'E', - '/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|э/' => 'e', - '/Ф/' => 'F', - '/ф/' => 'f', - '/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G', - '/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g', - '/Ĥ|Ħ/' => 'H', - '/ĥ|ħ/' => 'h', - '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I', - '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i', - '/Ĵ/' => 'J', - '/ĵ/' => 'j', - '/Θ/' => 'TH', - '/θ/' => 'th', - '/Ķ|Κ|К/' => 'K', - '/ķ|κ|к/' => 'k', - '/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L', - '/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l', - '/М/' => 'M', - '/м/' => 'm', - '/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N', - '/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n', - '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O', - '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o', - '/П/' => 'P', - '/п/' => 'p', - '/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R', - '/ŕ|ŗ|ř|ρ|р/' => 'r', - '/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S', - '/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's', - '/Ț|Ţ|Ť|Ŧ|Τ|Т/' => 'T', - '/ț|ţ|ť|ŧ|τ|т/' => 't', - '/Þ|þ/' => 'th', - '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U', - '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u', - '/Ƴ|Ɏ|Ỵ|Ẏ|Ӳ|Ӯ|Ў|Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y', - '/ẙ|ʏ|ƴ|ɏ|ỵ|ẏ|ӳ|ӯ|ў|ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y', - '/В/' => 'V', - '/в/' => 'v', - '/Ŵ/' => 'W', - '/ŵ/' => 'w', - '/Φ/' => 'F', - '/φ/' => 'f', - '/Χ/' => 'CH', - '/χ/' => 'ch', - '/Ź|Ż|Ž|Ζ|З/' => 'Z', - '/ź|ż|ž|ζ|з/' => 'z', - '/Æ|Ǽ/' => 'AE', - '/ß/' => 'ss', - '/IJ/' => 'IJ', - '/ij/' => 'ij', - '/Œ/' => 'OE', - '/ƒ/' => 'f', - '/Ξ/' => 'KS', - '/ξ/' => 'ks', - '/Π/' => 'P', - '/π/' => 'p', - '/Β/' => 'V', - '/β/' => 'v', - '/Μ/' => 'M', - '/μ/' => 'm', - '/Ψ/' => 'PS', - '/ψ/' => 'ps', - '/Ё/' => 'Yo', - '/ё/' => 'yo', - '/Є/' => 'Ye', - '/є/' => 'ye', - '/Ї/' => 'Yi', - '/Ж/' => 'Zh', - '/ж/' => 'zh', - '/Х/' => 'Kh', - '/х/' => 'kh', - '/Ц/' => 'Ts', - '/ц/' => 'ts', - '/Ч/' => 'Ch', - '/ч/' => 'ch', - '/Ш/' => 'Sh', - '/ш/' => 'sh', - '/Щ/' => 'Shch', - '/щ/' => 'shch', - '/Ъ|ъ|Ь|ь/' => '', - '/Ю/' => 'Yu', - '/ю/' => 'yu', - '/Я/' => 'Ya', - '/я/' => 'ya' -); diff --git a/application/config/hooks.php b/application/config/hooks.php deleted file mode 100644 index 79c5c16..0000000 --- a/application/config/hooks.php +++ /dev/null @@ -1,13 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/config/memcached.php b/application/config/memcached.php deleted file mode 100644 index 65a1496..0000000 --- a/application/config/memcached.php +++ /dev/null @@ -1,19 +0,0 @@ - array( - 'hostname' => '127.0.0.1', - 'port' => '11211', - 'weight' => '1', - ), -); diff --git a/application/config/migration.php b/application/config/migration.php deleted file mode 100644 index 4b585a6..0000000 --- a/application/config/migration.php +++ /dev/null @@ -1,84 +0,0 @@ -migration->current() this is the version that schema will -| be upgraded / downgraded to. -| -*/ -$config['migration_version'] = 0; - -/* -|-------------------------------------------------------------------------- -| Migrations Path -|-------------------------------------------------------------------------- -| -| Path to your migrations folder. -| Typically, it will be within your application path. -| Also, writing permission is required within the migrations path. -| -*/ -$config['migration_path'] = APPPATH.'migrations/'; diff --git a/application/config/mimes.php b/application/config/mimes.php deleted file mode 100644 index b2e989f..0000000 --- a/application/config/mimes.php +++ /dev/null @@ -1,186 +0,0 @@ - array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'), - 'cpt' => 'application/mac-compactpro', - 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'), - 'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'), - 'dms' => 'application/octet-stream', - 'lha' => 'application/octet-stream', - 'lzh' => 'application/octet-stream', - 'exe' => array('application/octet-stream', 'application/x-msdownload'), - 'class' => 'application/octet-stream', - 'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'), - 'so' => 'application/octet-stream', - 'sea' => 'application/octet-stream', - 'dll' => 'application/octet-stream', - 'oda' => 'application/oda', - 'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'), - 'ai' => array('application/pdf', 'application/postscript'), - 'eps' => 'application/postscript', - 'ps' => 'application/postscript', - 'smi' => 'application/smil', - 'smil' => 'application/smil', - 'mif' => 'application/vnd.mif', - 'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'), - 'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'), - 'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'), - 'wbxml' => 'application/wbxml', - 'wmlc' => 'application/wmlc', - 'dcr' => 'application/x-director', - 'dir' => 'application/x-director', - 'dxr' => 'application/x-director', - 'dvi' => 'application/x-dvi', - 'gtar' => 'application/x-gtar', - 'gz' => 'application/x-gzip', - 'gzip' => 'application/x-gzip', - 'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'), - 'php4' => 'application/x-httpd-php', - 'php3' => 'application/x-httpd-php', - 'phtml' => 'application/x-httpd-php', - 'phps' => 'application/x-httpd-php-source', - 'js' => array('application/x-javascript', 'text/plain'), - 'swf' => 'application/x-shockwave-flash', - 'sit' => 'application/x-stuffit', - 'tar' => 'application/x-tar', - 'tgz' => array('application/x-tar', 'application/x-gzip-compressed'), - 'z' => 'application/x-compress', - 'xhtml' => 'application/xhtml+xml', - 'xht' => 'application/xhtml+xml', - 'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'), - 'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'), - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mpga' => 'audio/mpeg', - 'mp2' => 'audio/mpeg', - 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'), - 'aif' => array('audio/x-aiff', 'audio/aiff'), - 'aiff' => array('audio/x-aiff', 'audio/aiff'), - 'aifc' => 'audio/x-aiff', - 'ram' => 'audio/x-pn-realaudio', - 'rm' => 'audio/x-pn-realaudio', - 'rpm' => 'audio/x-pn-realaudio-plugin', - 'ra' => 'audio/x-realaudio', - 'rv' => 'video/vnd.rn-realvideo', - 'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'), - 'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'), - 'gif' => 'image/gif', - 'jpeg' => array('image/jpeg', 'image/pjpeg'), - 'jpg' => array('image/jpeg', 'image/pjpeg'), - 'jpe' => array('image/jpeg', 'image/pjpeg'), - 'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'png' => array('image/png', 'image/x-png'), - 'tiff' => 'image/tiff', - 'tif' => 'image/tiff', - 'heic' => 'image/heic', - 'heif' => 'image/heif', - 'css' => array('text/css', 'text/plain'), - 'html' => array('text/html', 'text/plain'), - 'htm' => array('text/html', 'text/plain'), - 'shtml' => array('text/html', 'text/plain'), - 'txt' => 'text/plain', - 'text' => 'text/plain', - 'log' => array('text/plain', 'text/x-log'), - 'rtx' => 'text/richtext', - 'rtf' => 'text/rtf', - 'xml' => array('application/xml', 'text/xml', 'text/plain'), - 'xsl' => array('application/xml', 'text/xsl', 'text/xml'), - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpe' => 'video/mpeg', - 'qt' => 'video/quicktime', - 'mov' => 'video/quicktime', - 'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'), - 'movie' => 'video/x-sgi-movie', - 'doc' => array('application/msword', 'application/vnd.ms-office'), - 'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'), - 'dot' => array('application/msword', 'application/vnd.ms-office'), - 'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'), - 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'), - 'word' => array('application/msword', 'application/octet-stream'), - 'xl' => 'application/excel', - 'eml' => 'message/rfc822', - 'json' => array('application/json', 'text/json'), - 'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'), - 'p10' => array('application/x-pkcs10', 'application/pkcs10'), - 'p12' => 'application/x-pkcs12', - 'p7a' => 'application/x-pkcs7-signature', - 'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), - 'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), - 'p7r' => 'application/x-pkcs7-certreqresp', - 'p7s' => 'application/pkcs7-signature', - 'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'), - 'crl' => array('application/pkix-crl', 'application/pkcs-crl'), - 'der' => 'application/x-x509-ca-cert', - 'kdb' => 'application/octet-stream', - 'pgp' => 'application/pgp', - 'gpg' => 'application/gpg-keys', - 'sst' => 'application/octet-stream', - 'csr' => 'application/octet-stream', - 'rsa' => 'application/x-pkcs7', - 'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'), - '3g2' => 'video/3gpp2', - '3gp' => array('video/3gp', 'video/3gpp'), - 'mp4' => 'video/mp4', - 'm4a' => 'audio/x-m4a', - 'f4v' => array('video/mp4', 'video/x-f4v'), - 'flv' => 'video/x-flv', - 'webm' => 'video/webm', - 'aac' => array('audio/x-aac', 'audio/aac'), - 'm4u' => 'application/vnd.mpegurl', - 'm3u' => 'text/plain', - 'xspf' => 'application/xspf+xml', - 'vlc' => 'application/videolan', - 'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'), - 'au' => 'audio/x-au', - 'ac3' => 'audio/ac3', - 'flac' => 'audio/x-flac', - 'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'), - 'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'), - 'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'), - 'ics' => 'text/calendar', - 'ical' => 'text/calendar', - 'zsh' => 'text/x-scriptzsh', - '7z' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), - '7zip' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), - 'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'), - 'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'), - 'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'), - 'svg' => array('image/svg+xml', 'image/svg', 'application/xml', 'text/xml'), - 'vcf' => 'text/x-vcard', - 'srt' => array('text/srt', 'text/plain'), - 'vtt' => array('text/vtt', 'text/plain'), - 'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'), - 'odc' => 'application/vnd.oasis.opendocument.chart', - 'otc' => 'application/vnd.oasis.opendocument.chart-template', - 'odf' => 'application/vnd.oasis.opendocument.formula', - 'otf' => 'application/vnd.oasis.opendocument.formula-template', - 'odg' => 'application/vnd.oasis.opendocument.graphics', - 'otg' => 'application/vnd.oasis.opendocument.graphics-template', - 'odi' => 'application/vnd.oasis.opendocument.image', - 'oti' => 'application/vnd.oasis.opendocument.image-template', - 'odp' => 'application/vnd.oasis.opendocument.presentation', - 'otp' => 'application/vnd.oasis.opendocument.presentation-template', - 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', - 'odt' => 'application/vnd.oasis.opendocument.text', - 'odm' => 'application/vnd.oasis.opendocument.text-master', - 'ott' => 'application/vnd.oasis.opendocument.text-template', - 'oth' => 'application/vnd.oasis.opendocument.text-web' -); diff --git a/application/config/profiler.php b/application/config/profiler.php deleted file mode 100644 index 3436e93..0000000 --- a/application/config/profiler.php +++ /dev/null @@ -1,14 +0,0 @@ - my_controller/index -| my-controller/my-method -> my_controller/my_method -*/ -$route['default_controller'] = 'welcome'; -$route['404_override'] = ''; -$route['translate_uri_dashes'] = FALSE; diff --git a/application/config/smileys.php b/application/config/smileys.php deleted file mode 100644 index a9b9191..0000000 --- a/application/config/smileys.php +++ /dev/null @@ -1,64 +0,0 @@ - array('grin.gif', '19', '19', 'grin'), - ':lol:' => array('lol.gif', '19', '19', 'LOL'), - ':cheese:' => array('cheese.gif', '19', '19', 'cheese'), - ':)' => array('smile.gif', '19', '19', 'smile'), - ';-)' => array('wink.gif', '19', '19', 'wink'), - ';)' => array('wink.gif', '19', '19', 'wink'), - ':smirk:' => array('smirk.gif', '19', '19', 'smirk'), - ':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'), - ':-S' => array('confused.gif', '19', '19', 'confused'), - ':wow:' => array('surprise.gif', '19', '19', 'surprised'), - ':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'), - ':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'), - '%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'), - ';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'), - ':P' => array('raspberry.gif', '19', '19', 'raspberry'), - ':blank:' => array('blank.gif', '19', '19', 'blank stare'), - ':long:' => array('longface.gif', '19', '19', 'long face'), - ':ohh:' => array('ohh.gif', '19', '19', 'ohh'), - ':grrr:' => array('grrr.gif', '19', '19', 'grrr'), - ':gulp:' => array('gulp.gif', '19', '19', 'gulp'), - '8-/' => array('ohoh.gif', '19', '19', 'oh oh'), - ':down:' => array('downer.gif', '19', '19', 'downer'), - ':red:' => array('embarrassed.gif', '19', '19', 'red face'), - ':sick:' => array('sick.gif', '19', '19', 'sick'), - ':shut:' => array('shuteye.gif', '19', '19', 'shut eye'), - ':-/' => array('hmm.gif', '19', '19', 'hmmm'), - '>:(' => array('mad.gif', '19', '19', 'mad'), - ':mad:' => array('mad.gif', '19', '19', 'mad'), - '>:-(' => array('angry.gif', '19', '19', 'angry'), - ':angry:' => array('angry.gif', '19', '19', 'angry'), - ':zip:' => array('zip.gif', '19', '19', 'zipper'), - ':kiss:' => array('kiss.gif', '19', '19', 'kiss'), - ':ahhh:' => array('shock.gif', '19', '19', 'shock'), - ':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'), - ':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'), - ':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'), - ':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'), - ':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'), - ':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'), - ':vampire:' => array('vampire.gif', '19', '19', 'vampire'), - ':snake:' => array('snake.gif', '19', '19', 'snake'), - ':exclaim:' => array('exclaim.gif', '19', '19', 'exclaim'), - ':question:' => array('question.gif', '19', '19', 'question') - -); diff --git a/application/config/user_agents.php b/application/config/user_agents.php deleted file mode 100644 index 5e1f6af..0000000 --- a/application/config/user_agents.php +++ /dev/null @@ -1,222 +0,0 @@ - 'Windows 10', - 'windows nt 6.3' => 'Windows 8.1', - 'windows nt 6.2' => 'Windows 8', - 'windows nt 6.1' => 'Windows 7', - 'windows nt 6.0' => 'Windows Vista', - 'windows nt 5.2' => 'Windows 2003', - 'windows nt 5.1' => 'Windows XP', - 'windows nt 5.0' => 'Windows 2000', - 'windows nt 4.0' => 'Windows NT 4.0', - 'winnt4.0' => 'Windows NT 4.0', - 'winnt 4.0' => 'Windows NT', - 'winnt' => 'Windows NT', - 'windows 98' => 'Windows 98', - 'win98' => 'Windows 98', - 'windows 95' => 'Windows 95', - 'win95' => 'Windows 95', - 'windows phone' => 'Windows Phone', - 'windows' => 'Unknown Windows OS', - 'android' => 'Android', - 'blackberry' => 'BlackBerry', - 'iphone' => 'iOS', - 'ipad' => 'iOS', - 'ipod' => 'iOS', - 'os x' => 'Mac OS X', - 'ppc mac' => 'Power PC Mac', - 'freebsd' => 'FreeBSD', - 'ppc' => 'Macintosh', - 'linux' => 'Linux', - 'debian' => 'Debian', - 'sunos' => 'Sun Solaris', - 'beos' => 'BeOS', - 'apachebench' => 'ApacheBench', - 'aix' => 'AIX', - 'irix' => 'Irix', - 'osf' => 'DEC OSF', - 'hp-ux' => 'HP-UX', - 'netbsd' => 'NetBSD', - 'bsdi' => 'BSDi', - 'openbsd' => 'OpenBSD', - 'gnu' => 'GNU/Linux', - 'unix' => 'Unknown Unix OS', - 'symbian' => 'Symbian OS' -); - - -// The order of this array should NOT be changed. Many browsers return -// multiple browser types so we want to identify the sub-type first. -$browsers = array( - 'OPR' => 'Opera', - 'Flock' => 'Flock', - 'Edge' => 'Edge', - 'Chrome' => 'Chrome', - // Opera 10+ always reports Opera/9.80 and appends Version/ to the user agent string - 'Opera.*?Version' => 'Opera', - 'Opera' => 'Opera', - 'MSIE' => 'Internet Explorer', - 'Internet Explorer' => 'Internet Explorer', - 'Trident.* rv' => 'Internet Explorer', - 'Shiira' => 'Shiira', - 'Firefox' => 'Firefox', - 'Chimera' => 'Chimera', - 'Phoenix' => 'Phoenix', - 'Firebird' => 'Firebird', - 'Camino' => 'Camino', - 'Netscape' => 'Netscape', - 'OmniWeb' => 'OmniWeb', - 'Safari' => 'Safari', - 'Mozilla' => 'Mozilla', - 'Konqueror' => 'Konqueror', - 'icab' => 'iCab', - 'Lynx' => 'Lynx', - 'Links' => 'Links', - 'hotjava' => 'HotJava', - 'amaya' => 'Amaya', - 'IBrowse' => 'IBrowse', - 'Maxthon' => 'Maxthon', - 'Ubuntu' => 'Ubuntu Web Browser' -); - -$mobiles = array( - // legacy array, old values commented out - 'mobileexplorer' => 'Mobile Explorer', -// 'openwave' => 'Open Wave', -// 'opera mini' => 'Opera Mini', -// 'operamini' => 'Opera Mini', -// 'elaine' => 'Palm', - 'palmsource' => 'Palm', -// 'digital paths' => 'Palm', -// 'avantgo' => 'Avantgo', -// 'xiino' => 'Xiino', - 'palmscape' => 'Palmscape', -// 'nokia' => 'Nokia', -// 'ericsson' => 'Ericsson', -// 'blackberry' => 'BlackBerry', -// 'motorola' => 'Motorola' - - // Phones and Manufacturers - 'motorola' => 'Motorola', - 'nokia' => 'Nokia', - 'nexus' => 'Nexus', - 'palm' => 'Palm', - 'iphone' => 'Apple iPhone', - 'ipad' => 'iPad', - 'ipod' => 'Apple iPod Touch', - 'sony' => 'Sony Ericsson', - 'ericsson' => 'Sony Ericsson', - 'blackberry' => 'BlackBerry', - 'cocoon' => 'O2 Cocoon', - 'blazer' => 'Treo', - 'lg' => 'LG', - 'amoi' => 'Amoi', - 'xda' => 'XDA', - 'mda' => 'MDA', - 'vario' => 'Vario', - 'htc' => 'HTC', - 'samsung' => 'Samsung', - 'sharp' => 'Sharp', - 'sie-' => 'Siemens', - 'alcatel' => 'Alcatel', - 'benq' => 'BenQ', - 'ipaq' => 'HP iPaq', - 'mot-' => 'Motorola', - 'playstation portable' => 'PlayStation Portable', - 'playstation 3' => 'PlayStation 3', - 'playstation vita' => 'PlayStation Vita', - 'hiptop' => 'Danger Hiptop', - 'nec-' => 'NEC', - 'panasonic' => 'Panasonic', - 'philips' => 'Philips', - 'sagem' => 'Sagem', - 'sanyo' => 'Sanyo', - 'spv' => 'SPV', - 'zte' => 'ZTE', - 'sendo' => 'Sendo', - 'nintendo dsi' => 'Nintendo DSi', - 'nintendo ds' => 'Nintendo DS', - 'nintendo 3ds' => 'Nintendo 3DS', - 'wii' => 'Nintendo Wii', - 'open web' => 'Open Web', - 'openweb' => 'OpenWeb', - 'meizu' => 'Meizu', - 'huawei' => 'Huawei', - 'xiaomi' => 'Xiaomi', - 'oppo' => 'Oppo', - 'vivo' => 'Vivo', - 'infinix' => 'Infinix', - - // Operating Systems - 'android' => 'Android', - 'symbian' => 'Symbian', - 'SymbianOS' => 'SymbianOS', - 'elaine' => 'Palm', - 'series60' => 'Symbian S60', - 'windows ce' => 'Windows CE', - - // Browsers - 'obigo' => 'Obigo', - 'netfront' => 'Netfront Browser', - 'openwave' => 'Openwave Browser', - 'mobilexplorer' => 'Mobile Explorer', - 'operamini' => 'Opera Mini', - 'opera mini' => 'Opera Mini', - 'opera mobi' => 'Opera Mobile', - 'fennec' => 'Firefox Mobile', - - // Other - 'digital paths' => 'Digital Paths', - 'avantgo' => 'AvantGo', - 'xiino' => 'Xiino', - 'novarra' => 'Novarra Transcoder', - 'vodafone' => 'Vodafone', - 'docomo' => 'NTT DoCoMo', - 'o2' => 'O2', - - // Fallback - 'mobile' => 'Generic Mobile', - 'wireless' => 'Generic Mobile', - 'j2me' => 'Generic Mobile', - 'midp' => 'Generic Mobile', - 'cldc' => 'Generic Mobile', - 'up.link' => 'Generic Mobile', - 'up.browser' => 'Generic Mobile', - 'smartphone' => 'Generic Mobile', - 'cellphone' => 'Generic Mobile' -); - -// There are hundreds of bots but these are the most common. -$robots = array( - 'googlebot' => 'Googlebot', - 'msnbot' => 'MSNBot', - 'baiduspider' => 'Baiduspider', - 'bingbot' => 'Bing', - 'slurp' => 'Inktomi Slurp', - 'yahoo' => 'Yahoo', - 'ask jeeves' => 'Ask Jeeves', - 'fastcrawler' => 'FastCrawler', - 'infoseek' => 'InfoSeek Robot 1.0', - 'lycos' => 'Lycos', - 'yandex' => 'YandexBot', - 'mediapartners-google' => 'MediaPartners Google', - 'CRAZYWEBCRAWLER' => 'Crazy Webcrawler', - 'adsbot-google' => 'AdsBot Google', - 'feedfetcher-google' => 'Feedfetcher Google', - 'curious george' => 'Curious George', - 'ia_archiver' => 'Alexa Crawler', - 'MJ12bot' => 'Majestic-12', - 'Uptimebot' => 'Uptimebot', - 'UptimeRobot' => 'UptimeRobot' -); diff --git a/application/controllers/Consultation.php b/application/controllers/Consultation.php deleted file mode 100644 index 652d873..0000000 --- a/application/controllers/Consultation.php +++ /dev/null @@ -1,45 +0,0 @@ -load->model('Pc_model'); - $this->load->helper('url'); - $this->load->helper('form'); - } - public function index() - { - $this->commun(); - } - private function commun(){ - $url = parse_url($_SERVER['REQUEST_URI']); - parse_str($url['query'], $params); - - // Vérifie si le paramètre 'pc' est bien présent dans l'URL - if (!isset($params['pc']) || empty($params['pc'])) { - show_error("Le paramètre 'pc' est requis dans l'URL.", 400); - return; - } - - $data = array(); - $nomPc = $params['pc']; - - // $data['software'] = $this->Pc_model->get_Infos_cons_software($nomPc); - // $data['network'] = $this->Pc_model->get_Infos_cons_network($nomPc); - - $pc = $this->Pc_model->get_Infos_cons_main($nomPc); - if (!empty($pc)) { - $data['api']['pc'] = $pc; - } - - // if (!empty($software)) { - // $data['software'] = $software; - // } - - // if (!empty($network)) { - // $data['network'] = $network; - // } - - // Charger la vue avec les données - $this->load->view('api', $data); - } -} \ No newline at end of file diff --git a/application/controllers/Dashboard.php b/application/controllers/Dashboard.php deleted file mode 100644 index 74f2487..0000000 --- a/application/controllers/Dashboard.php +++ /dev/null @@ -1,58 +0,0 @@ -load->model('Pc_model'); - $this->load->helper('form'); - } - - public function index() - { - $this->commun(); - } - - private function commun() - { - // Récupérer les données - $windows = $this->Pc_model->get_stat_win(); - $unix = $this->Pc_model->get_stat_unix(); - $android = $this->Pc_model->get_stat_android(); - $macos = $this->Pc_model->get_stat_macos(); - - - - // Initialiser le tableau de données - $data = array( - 'api' => array( - 'windows' => 0, - 'unix' => 0, - 'android' => 0, - 'macos' => 0 - - ) - ); - - // Vérifier si les résultats existent et les ajouter au tableau $data - if (!empty($windows)) { - $data['api']['windows'] = $windows; - } - - if (!empty($unix)) { - $data['api']['unix'] = $unix; - } - - if (!empty($android)) { - $data['api']['android'] = $android; - } - - if (!empty($macos)) { - $data['api']['macos'] = $macos; - } - - - // Charger la vue avec les données - $this->load->view('api', $data); - } -} diff --git a/application/controllers/ListPC.php b/application/controllers/ListPC.php deleted file mode 100644 index b5d5d32..0000000 --- a/application/controllers/ListPC.php +++ /dev/null @@ -1,36 +0,0 @@ -load->model('Pc_model'); - $this->load->helper('form'); - } - - public function index() - { - $this->commun(); - } - - private function commun() - { - // Récupérer les données - $lstpc = $this->Pc_model->get_lst_pc(); - - - // Initialiser le tableau de données - $data = array(); - - // Vérifier si les résultats existent et les ajouter au tableau $data - - - if (!empty($lstpc)) { - $data['api']['lstpc'] = $lstpc; - } - - - // Charger la vue avec les données - $this->load->view('api', $data); - } -} diff --git a/application/controllers/Pull.php b/application/controllers/Pull.php deleted file mode 100644 index 813a856..0000000 --- a/application/controllers/Pull.php +++ /dev/null @@ -1,96 +0,0 @@ -load->model('Pc_model'); - $this->load->model('Notes_model'); // Ajout du modèle pour les notes - $this->load->helper('url'); - } - - public function index() - { - // Initialiser $data avec des valeurs par défaut - $data = [ - 'name' => 'Inconnu', - 'osversion' => 'Inconnu', - 'osname' => 'Inconnu', - 'architecture' => 'Inconnu', - 'user' => 'Inconnu', - 'ram' => 'Inconnu', - 'cpu' => 'Inconnu', - 'serial' => 'Inconnu', - 'mac' => 'Inconnu', - 'ip' => 'Inconnu', - 'domaine' => 'Inconnu', - 'windows_key' => 'Inconnu', - 'license_status' => 'Inconnu', - 'uuid' => 'Inconnu', - ]; - - // Récupération et validation du JSON - $json = file_get_contents("php://input"); - if ($json) { - $json = json_decode($json); - - // Vérifier si le JSON est valide - if ($json === null && json_last_error() !== JSON_ERROR_NONE) { - show_error("Invalid JSON format", 400); - return; - } - - // Extraire les données en évitant les erreurs - $data = [ - 'name' => $json->name ?? 'Inconnu', - 'os_name' => $json->os ?? 'Inconnu', - 'os_version' => $json->os_version ?? 'Inconnu', - 'architecture' => $json->architecture ?? 'Inconnu', - 'user' => $json->user ?? 'Inconnu', - 'ram' => $json->ram ?? 'Inconnu', - 'cpu' => $json->cpu ?? 'Inconnu', - 'serial' => $json->serial ?? 'Inconnu', - 'mac' => $json->mac ?? 'Inconnu', - 'ip' => $json->ip ?? 'Inconnu', - 'domaine' => $json->domaine ?? 'Inconnu', - 'windows_key' => $json->windows_key ?? 'Inconnu', - 'license_status' => $json->license_status ?? 'Inconnu', - 'uuid' => $json->uuid ?? 'Inconnu', - ]; - } - - $pc = $this->Pc_model->get_Infos_cons_main($data['name']); - - if (empty($pc)) { - $this->Pc_model->insert_pc($data); - } else { - $this->Pc_model->update_pc($data['name'], $data); - } - - // Réponse JSON - $response = ['status' => 'success', 'message' => 'Data processed successfully']; - $this->output - ->set_content_type('application/json') - ->set_output(json_encode($response)); - } - - public function notes($pc_name) - { - $json = file_get_contents("php://input"); - $json = json_decode($json); - - // Vérifier si le JSON est valide - if ($json === null && json_last_error() !== JSON_ERROR_NONE) { - show_error("Invalid JSON format", 400); - return; - } - // Récupérer les notes associées à un PC - $notes = $this->Notes_model->insert_note_for_pc($pc_name, $json->notes ?? 'Inconnu'); - - // Réponse JSON - $response = ['status' => 'success']; - $this->output - ->set_content_type('application/json') - ->set_output(json_encode($response)); - } -} \ No newline at end of file diff --git a/application/controllers/Support.php b/application/controllers/Support.php deleted file mode 100644 index 9f0d947..0000000 --- a/application/controllers/Support.php +++ /dev/null @@ -1,64 +0,0 @@ -load->model('Support_model'); - $this->load->helper('url'); - } - - public function index() - { - // Initialiser $data avec des valeurs par défaut - $data = [ - 'titreTicket' => 'Inconnu', - 'descriptionTicket' => 'Inconnu', - 'idCategorie' => 'Inconnu', - ]; - - // Récupération et validation du JSON - $json = file_get_contents("php://input"); - if ($json) { - $json = json_decode($json); - - // Vérifier si le JSON est valide - if ($json === null && json_last_error() !== JSON_ERROR_NONE) { - show_error("Invalid JSON format", 400); - return; - } - - // Extraire les données en évitant les erreurs - $data = [ - 'name' => $json->name ?? 'Inconnu', - 'os_name' => $json->os ?? 'Inconnu', - 'os_version' => $json->os_version ?? 'Inconnu', // Correction ici - 'architecture' => $json->architecture ?? 'Inconnu', - 'user' => $json->user ?? 'Inconnu', - 'ram' => $json->ram ?? 'Inconnu', - 'cpu' => $json->cpu ?? 'Inconnu', - 'serial' => $json->serial ?? 'Inconnu', - 'mac' => $json->mac ?? 'Inconnu', - 'ip' => $json->ip ?? 'Inconnu', - 'domaine' => $json->domaine ?? 'Inconnu', - 'windows_key' => $json->windows_key ?? 'Inconnu', - 'license_status' => $json->license_status ?? 'Inconnu', - 'uuid' => $json->uuid ?? 'Inconnu', - ]; - } - - $pc = $this->Pc_model->get_Infos_cons_main($data['name']); - - if (empty($pc)) { - $this->Pc_model->insert_pc($data); - } else { - $this->Pc_model->update_pc($data['name'], $data); - } - - // Réponse JSON - $response = ['status' => 'success', 'message' => 'Data processed successfully']; - $this->output - ->set_content_type('application/json') - ->set_output(json_encode($response)); - } -} \ No newline at end of file diff --git a/application/controllers/Welcome.php b/application/controllers/Welcome.php deleted file mode 100644 index 5f82771..0000000 --- a/application/controllers/Welcome.php +++ /dev/null @@ -1,25 +0,0 @@ - - * @see https://codeigniter.com/userguide3/general/urls.html - */ - public function index() - { - $this->load->view('welcome_message'); - } -} diff --git a/application/controllers/index.html b/application/controllers/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/controllers/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/core/index.html b/application/core/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/core/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/helpers/index.html b/application/helpers/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/helpers/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/hooks/index.html b/application/hooks/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/hooks/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/index.html b/application/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/language/english/index.html b/application/language/english/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/language/english/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/language/french/db_lang.php b/application/language/french/db_lang.php deleted file mode 100644 index 1cdab7d..0000000 --- a/application/language/french/db_lang.php +++ /dev/null @@ -1,34 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/libraries/index.html b/application/libraries/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/libraries/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/logs/index.html b/application/logs/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/logs/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/models/Notes_model.php b/application/models/Notes_model.php deleted file mode 100644 index 5806ba7..0000000 --- a/application/models/Notes_model.php +++ /dev/null @@ -1,20 +0,0 @@ -db->select("NOTE"); - $this->db->from('hardware'); - $this->db->where('NAME', $pc_name); - return $this->db->get()->result_array(); - } - - public function insert_note_for_pc($pc_name, $note) - { - $data = [ - 'NOTE' => $note, - ]; - $this->db->where('NAME', $pc_name); - $this->db->update('hardware', $data); - } -} \ No newline at end of file diff --git a/application/models/Pc_model.php b/application/models/Pc_model.php deleted file mode 100644 index a0cbb53..0000000 --- a/application/models/Pc_model.php +++ /dev/null @@ -1,175 +0,0 @@ -load->database(); - } - /** - * Méthode permettant de récupérer les informations pour l'affichage des informations général d'un PC - * @params $nomPc => Le nom du pc - * @return Tableau avec les informations du pc - */ - public function get_Infos_cons_main($nomPc){ - $this->db->select("*"); - $this->db->from('hardware'); - $this->db->where('NAME', $nomPc); - return $this->db->get()->result_array(); - } - - public function get_Infos_soft_main($id){ - $this->db->select("*"); - $this->db->from('software'); - $this->db->where('HARDWARE_ID', $id); - return $this->db->get()->result_array(); - } - - public function get_stat_win(){ - $this->db->select("*"); - $this->db->like('OSNAME', 'Windows'); - $this->db->from('hardware'); - return $this->db->count_all_results(); - } - public function get_stat_unix(){ - $this->db->select("*"); - $this->db->like('OSNAME', 'unix'); - $this->db->from('hardware'); - return $this->db->count_all_results(); - } - - public function get_stat_android(){ - $this->db->select("*"); - $this->db->like('OSNAME', 'android'); - $this->db->from('hardware'); - return $this->db->count_all_results(); - } - - public function get_stat_macos(){ - $this->db->select("*"); - $this->db->like('OSNAME', 'macos'); - $this->db->from('hardware'); - return $this->db->count_all_results(); - } - - public function get_lst_pc(){ - $this->db->select('NAME, LASTDATE, LASTCOME'); - $this->db->from('hardware'); - return $this->db->get()->result_array(); - } - - public function insert_pc($data){ - $insert_data = [ - 'NAME' => $data['name'], - 'OSNAME' => $data['os_name'], - 'OSVERSION' => $data['os_version'], - 'ARCHITECTURE' => $data['architecture'], - 'USER' => $data['user'], - 'MEMORY' => $data['ram'], - 'CPU' => $data['cpu'], - 'SERIAL' => $data['serial'], - 'MAC' => $data['mac'], - 'IPADDR' => $data['ip'], - 'DOMAIN' => $data['domaine'], - 'WINPRODKEY' => $data['windows_key'], - 'licensestatus' => $data['license_status'], - 'UUID' => $data['uuid'], - - ]; - $this->db->insert('hardware', $insert_data); - } - - public function update_pc($name, $data){ - $insert_data = [ - 'NAME' => $data['name'], - 'OSNAME' => $data['os_name'], - 'OSVERSION' => $data['os_version'], - 'ARCHITECTURE' => $data['architecture'], - 'USER' => $data['user'], - 'MEMORY' => $data['ram'], - 'CPU' => $data['cpu'], - 'SERIAL' => $data['serial'], - 'MAC' => $data['mac'], - 'IPADDR' => $data['ip'], - 'DOMAIN' => $data['domaine'], - 'WINPRODKEY' => $data['windows_key'], - 'licensestatus' => $data['license_status'], - 'UUID' => $data['uuid'], - - ]; - $this->db->where('NAME', $name); - $this->db->update('hardware', $insert_data); - - } - - public function insert_note($data){ - $insert_data = [ - 'NAME' => $data['name'], - 'OS' => $data['os'], - 'OSNAME' => $data['osname'], - 'ARCHITECTURE' => $data['architecture'], - 'USER' => $data['user'], - 'RAM' => $data['ram'], - 'CPU' => $data['cpu'], - 'SERIAL' => $data['serial'], - 'MAC' => $data['mac'], - 'IP' => $data['ip'], - 'DOMAIN' => $data['domaine'], - 'WINDOWSKEY' => $data['windows_key'], - 'LICENSESTATUS' => $data['license_status'], - 'UUID' => $data['uuid'], - - ]; - $this->db->insert('hardware', $insert_data); - } - - public function update_note($name, $data){ - $insert_data = [ - 'NAME' => $data['name'], - 'OS' => $data['os'], - 'OSNAME' => $data['osname'], - 'ARCHITECTURE' => $data['architecture'], - 'USER' => $data['user'], - 'RAM' => $data['ram'], - 'CPU' => $data['cpu'], - 'SERIAL' => $data['serial'], - 'MAC' => $data['mac'], - 'IP' => $data['ip'], - 'DOMAIN' => $data['domaine'], - 'WINDOWSKEY' => $data['windows_key'], - 'LICENSESTATUS' => $data['license_status'], - 'UUID' => $data['uuid'], - - ]; - $this->db->where('NAME', $name); - $this->db->update('hardware', $insert_data); - - } - - - - - - - - // public function get_Infos_cons_network($nomPc){ - // $this->db->select("*"); - // $this->db->from('networks'); - // $this->db->join('hardware', 'hardware.ID = networks.HARDWARE_ID'); - // $this->db->where('hardware.NAME', $nomPc); - // return $this->db->get()->result_array(); - // } - // public function get_Infos_cons_software($nomPc){ - // $this->db->select("software_name.NAME, VERSION, PUBLISHER, COMMENTS, LANGUAGE, INSTALLDATE "); - // $this->db->from('software'); - // $this->db->join('hardware', 'hardware.ID = software.HARDWARE_ID'); - // $this->db->join('software_name', 'software_name.ID = software.NAME_ID'); - // $this->db->join('software_publisher', 'software_publisher.ID = software.PUBLISHER_ID'); - // $this->db->join('software_version', 'software_version.ID = software.VERSION_ID'); - // $this->db->where('hardware.NAME', $nomPc); - // return $this->db->get()->result_array(); - // } -} \ No newline at end of file diff --git a/application/models/Support_model.php b/application/models/Support_model.php deleted file mode 100644 index a635d1d..0000000 --- a/application/models/Support_model.php +++ /dev/null @@ -1,21 +0,0 @@ -load->database(); - } - /** - * Méthode pour la création d'un ticket de support - * @params $data => Les données du ticket - * @return bool => true si le ticket a été créé, false sinon - */ - public function create_ticket($data){ - $this->db->insert('tickets', $data); - return $this->db->affected_rows() > 0; - } -} \ No newline at end of file diff --git a/application/models/index.html b/application/models/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/models/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/third_party/index.html b/application/third_party/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/third_party/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/views/api.php b/application/views/api.php deleted file mode 100644 index be2496c..0000000 --- a/application/views/api.php +++ /dev/null @@ -1,20 +0,0 @@ - 'error', - 'message' => 'No data was found' - ]); -} else { - - echo json_encode($api); -} - - - diff --git a/application/views/errors/cli/error_404.php b/application/views/errors/cli/error_404.php deleted file mode 100644 index 6984b61..0000000 --- a/application/views/errors/cli/error_404.php +++ /dev/null @@ -1,8 +0,0 @@ - - -An uncaught Exception was encountered - -Type: -Message: -Filename: getFile(), "\n"; ?> -Line Number: getLine(); ?> - - - -Backtrace: -getTrace() as $error): ?> - - File: - Line: - Function: - - - - diff --git a/application/views/errors/cli/error_general.php b/application/views/errors/cli/error_general.php deleted file mode 100644 index 6984b61..0000000 --- a/application/views/errors/cli/error_general.php +++ /dev/null @@ -1,8 +0,0 @@ - - -A PHP Error was encountered - -Severity: -Message: -Filename: -Line Number: - - - -Backtrace: - - - File: - Line: - Function: - - - - diff --git a/application/views/errors/cli/index.html b/application/views/errors/cli/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/views/errors/cli/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/views/errors/html/error_404.php b/application/views/errors/html/error_404.php deleted file mode 100644 index 756ea9d..0000000 --- a/application/views/errors/html/error_404.php +++ /dev/null @@ -1,64 +0,0 @@ - - - - -404 Page Not Found - - - -
-

- -
- - \ No newline at end of file diff --git a/application/views/errors/html/error_db.php b/application/views/errors/html/error_db.php deleted file mode 100644 index f5a43f6..0000000 --- a/application/views/errors/html/error_db.php +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Database Error - - - -
-

- -
- - \ No newline at end of file diff --git a/application/views/errors/html/error_exception.php b/application/views/errors/html/error_exception.php deleted file mode 100644 index 8784886..0000000 --- a/application/views/errors/html/error_exception.php +++ /dev/null @@ -1,32 +0,0 @@ - - -
- -

An uncaught Exception was encountered

- -

Type:

-

Message:

-

Filename: getFile(); ?>

-

Line Number: getLine(); ?>

- - - -

Backtrace:

- getTrace() as $error): ?> - - - -

- File:
- Line:
- Function: -

- - - - - - -
\ No newline at end of file diff --git a/application/views/errors/html/error_general.php b/application/views/errors/html/error_general.php deleted file mode 100644 index fc3b2eb..0000000 --- a/application/views/errors/html/error_general.php +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Error - - - -
-

- -
- - \ No newline at end of file diff --git a/application/views/errors/html/error_php.php b/application/views/errors/html/error_php.php deleted file mode 100644 index b146f9c..0000000 --- a/application/views/errors/html/error_php.php +++ /dev/null @@ -1,33 +0,0 @@ - - -
- -

A PHP Error was encountered

- -

Severity:

-

Message:

-

Filename:

-

Line Number:

- - - -

Backtrace:

- - - - -

- File:
- Line:
- Function: -

- - - - - - - -
\ No newline at end of file diff --git a/application/views/errors/html/index.html b/application/views/errors/html/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/views/errors/html/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/views/errors/index.html b/application/views/errors/index.html deleted file mode 100644 index b702fbc..0000000 --- a/application/views/errors/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - 403 Forbidden - - - -

Directory access is forbidden.

- - - diff --git a/application/views/welcome_message.php b/application/views/welcome_message.php deleted file mode 100644 index 9db22bc..0000000 --- a/application/views/welcome_message.php +++ /dev/null @@ -1,100 +0,0 @@ - - - - - Welcome to CodeIgniter - - - - - -
-

Welcome to CodeIgniter!

- -
-

The page you are looking at is being generated dynamically by CodeIgniter.

- -

If you would like to edit this page you'll find it located at:

- application/views/welcome_message.php - -

The corresponding controller for this page is found at:

- application/controllers/Welcome.php - -

If you are exploring CodeIgniter for the very first time, you should start by reading the User Guide.

-
- - -
- - - diff --git a/assets/css/style.css b/assets/css/style.css deleted file mode 100644 index e8af0fd..0000000 --- a/assets/css/style.css +++ /dev/null @@ -1,221 +0,0 @@ -/* Styles globaux */ -body { - font-size: 0.875rem; - background-color: #f5f6fa; -} - -/* Sidebar */ -.sidebar { - width: 280px; - height: 100vh; - background-color: #1a1a1a; - color: #d3c4e3; - position: fixed; - top: 0; - left: 0; - overflow-y: auto; -} - -/* Conteneur et style du logo */ -.logo-container { - padding: 5px 0; - border-bottom: 1px solid #444; - text-align: center; -} - -.logo-img { - max-width: 120px; - height: auto; - display: block; - margin: 0 auto; -} - -/* Liens de la sidebar */ -.sidebar .nav-link { - color: #d3c4e3; - padding: 12px 20px; - border-radius: 5px; - margin-bottom: 5px; - transition: background 0.3s, color 0.3s; -} - -/* État actif et hover */ -.sidebar .nav-link:hover, -.sidebar .nav-link.active, -.sidebar .accordion-button:not(.collapsed), -.sidebar .list-group-item:hover { - color: #fff; - background-color: #6f42c1; -} - -/* Boutons d'accordéon et icônes */ -.sidebar .accordion-button { - background-color: #1a1a1a; - color: #d3c4e3; - padding: 12px 20px; - border: none; - box-shadow: none; -} - -.sidebar .accordion-button i { - color: #d3c4e3; /* Icônes accordéon de même couleur que le texte */ -} - -.sidebar .accordion-item, -.sidebar .list-group-item { - border: none; -} - -.sidebar .accordion-body { - padding: 0; -} - -.sidebar .list-group-item { - background-color: #2a2a2a; - color: #d3c4e3; -} - -/* Bouton Logout */ -.logout { - margin-top: auto; - padding: 10px 20px; - color: #d3c4e3; - text-align: center; - background-color: #6f42c1; - border-radius: 5px; - transition: background 0.3s, color 0.3s; -} - -.logout:hover { - background-color: #4a0e6f; - color: #fff; -} - -/* Cartes et tableaux */ -.card { - border: none; - border-radius: 10px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); -} - -.card-header { - background-color: #6f42c1; - color: #fff; - font-weight: bold; - border-radius: 10px 10px 0 0; -} - -.table thead { - background-color: #6f42c1; - color: #fff; -} - -.table tbody tr:hover { - background-color: #f0e6f8; -} - -/* Bouton personnalisé */ -.btnv { - background-color: #6f42c1; -} - -.btnv:hover { - background-color: #4a0e6f; -} - -/* Conteneur principal (prendre en compte la largeur de la sidebar) */ -.container { - margin-left: 400px; /* Largeur de la sidebar */ - height: 100vh; - padding: 20px; - justify-content: center; - align-items: center; -} - -/* Centrer l'arc et son pourcentage */ -.arc-container { - display: flex; - justify-content: center; - align-items: center; - position: relative; - height: 200px; -} - -.percentage { - position: absolute; - font-size: 24px; - font-weight: bold; - color: #333; -} - -/* Zone de texte */ -textarea { - width: 100%; - height: 100px; - padding: 10px; - border: 1px solid #d3c4e3; - border-radius: 5px; - background-color: #f8f9fa; - color: #333; - resize: none; - overflow-y: scroll; - box-sizing: border-box; -} - -textarea:focus, -textarea:focus-visible { - box-shadow: none; /* Supprimer l'ombre et la bordure bleue */ - outline: none; /* Supprimer l'effet de bordure au focus */ -} - - -.percentage-card { - width: 250px; /* Largeur fixe */ - height: 250px; /* Hauteur fixe */ - margin: 0 auto; /* Centrer la carte horizontalement */ -} - -/* Style pour le body de la page de connexion */ -.login-body { - background-color: #1a1a1a; -} - -/* Carte de connexion */ -.login-card { - width: 350px; /* Largeur fixe de la carte */ - background-color: #2a2a2a; /* Couleur de fond similaire à la sidebar */ - border-radius: 10px; - color: #d3c4e3; /* Couleur du texte */ -} - -/* Champ de saisie personnalisé */ -.input-custom { - background-color: #fff; /* Fond des champs de saisie */ - color: #3a3a3a; /* Couleur du texte */ - border: 1px solid #444; /* Bordure légère */ - border-radius: 5px; -} - -/* Champ de saisie au focus */ -.input-custom:focus { - border-color: #6f42c1; /* Bordure violet au focus */ - box-shadow: none; /* Pas de glow Bootstrap */ -} - -/* Bouton personnalisé */ -.btnv { - background-color: #6f42c1; - border: none; /* Supprimer la bordure par défaut */ -} - -.btnv:hover { - background-color: #4a0e6f; -} - -/* Suppression de la bordure bleue sur tous les boutons au focus */ -.btnv:focus, -.btnv:active, -.btnv:focus-visible { - box-shadow: none; /* Supprimer l'ombre et la bordure bleue */ - outline: none; /* Supprimer l'effet de bordure au focus */ -} diff --git a/assets/js/script.js b/assets/js/script.js deleted file mode 100644 index bf8ac23..0000000 --- a/assets/js/script.js +++ /dev/null @@ -1,20 +0,0 @@ -// Pourcentage de stockage libre initial (par exemple, 100%) -let percentage = 80; - -// Fonction pour mettre à jour le pourcentage et l'arc -function updateStorage(newPercentage) { - percentage = newPercentage; - - // Calculer l'offset pour le demi-arc (propriétés du demi-cercle) - let strokeDasharray = 251; // La longueur du demi-cercle (pi * r) - let strokeDashoffset = (1 - (percentage / 100)) * strokeDasharray; - - // Appliquer l'offset au demi-arc - document.getElementById("storage-arc").style.strokeDashoffset = strokeDashoffset; - - // Afficher le pourcentage dans le texte - document.getElementById("percentage-text").textContent = percentage + "%"; -} - -// Initialiser avec le pourcentage de 100% -updateStorage(percentage); diff --git a/assets/logo/track-it-white.png b/assets/logo/track-it-white.png deleted file mode 100644 index cc02847706d79db7067cb466371d06c6c499697b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62557 zcmeFYBonS6CxQGK|1$&x1hSN*s1gJOI=vRnIBJ+EvmY@y8H`lbNq9< zZ@R?U+2@^GnGb7K58g*_FpocBa3RJ0(ZNFicdY;K8@5dZW~e9#KsWrq;rH|t<$qVK zKtNL6a%hNVL;c^sfbO8li~lSIOn-uB&THx+zy9){9U-Zlec}Ey3E&X&N9aJtjxYY- zt^e(jcfiRizR|Hu0OlluQy#s5?I|FO9L|7`uIKAHU*ja`=xLJiAC>)F`DdK1rz`p)J7 zEBJkb@x=}j3>2r>P!d_slQDeQg7ISy_c1X@uRqEkEB#u}o}=4b*gC_&Hh+%`MkoG| zIJ<86ad{XyuCv}^kDdU(kPHc26hIEv>gZmj-Q&)L`m3`qd2gL5%sm4bZ(gwde0c!O zX6PCo*Lygv!6v}LQMiJ@1E>Ike4UMFu`L{?=9g3;^2GAURX1J$cNhfbGoj8mVpae% zA{yEh|BmuQ6jje$u(}YVdiUl%(XbhGiSd`@(G+UOw9%7~%W^B*ELfvGGG?e7C@^^* zHRF6z;y*pnxwcwT3AguBtEASDXv4)dq^9TQel=tCDPm+7LuiT;+IIcnyX;oYWajL6 zyjjN$F#U&>UOiw;Zj0(3Vd{Klh(CW;`r*-#jS8B|RVgDq+51scserGg2B9h}Fzsds zx_=aWyQ`9~Sl)xXf(64Ivk4f{ijlB#hQXVt!el>fpZFrJzbKu}`vjQ}y{^naiFoaU zMCcwFbN3__sa8R6FWR?2e}Mr>upqi`!B8*o_WPO$FQ8F;v!8A9{JNc5P_N9`vmHMV z=uq#fEaH}HNbU?LoxJIZ?%nj7IPn(yaq`RW87Z}?;ZD0ZaTN#5!Uf{|Q(9Cvq4;J! zo8V)hW9=9j3bdrxWzvI4ptrrI_mtK6nn35z2MPeX=bG0gKO)V;VurcDas#`Yiz z$#y;mVfLXr%fU>AcNOHj9IQEx9Yi=8Zu3cs|4jME*ceV&=n(uk6^vRH-x#VVs;|i7 zSjs>RYUuX9NS`niWx`CEwtKXM^OLNn4Kyrw??Y3}25hTZu~pLIHQ zY%u!oNHCXE1FAbLY)~)o0m^#QZb|mo?+n6lU!YEGsH=Gm&B>HyvglnMi+C^F>HjE* zP~%sf^ttH5uRy>ft3zn1lA?(l)V@7WoWKdZ4g)xYUd%0DHN<~T{-g6CHI5o=4E$j2 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 z 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