Sarjuuk / aowow

Database viewer for TrinityCore based on aowow by @LordJZ, based on the JS-Engine of Wowhead
204 stars 217 forks source link

Getting Fatal error: cfg not defined #421

Closed jzizka91 closed 3 months ago

jzizka91 commented 3 months ago

Describe the bug and how to reproduce it additionally, paste relevant lines from db table aowow_errors or your browsers console here.

Screenshots If applicable, add screenshots to help explain your problem.

System:

Hi.

This is my first time trying to run AoWoW and WoW database in general. For some reason whatever I do, I'm not able to run it successfully due to constantly getting an error: Fatal error: cfg not defined: debug in /var/www/aowow/includes/config.class.php on line 154 when accessing the site.

I already ran out of ideas what I'm doing wrong. Apart from the cfg not defined I'm not monitoring any errors.

I'm running AoWoW in dev environment using docker-compose:

services:
  nginx:
    image: nginx:latest
    container_name: aowow_nginx
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
      - ./aowow:/var/www/aowow
    ports:
      - "80:80"
    networks:
      - aowow-net
    depends_on:
      - php
      - mysql

  mysql:
    image: mysql:5.7
    container_name: aowow_mysql
    environment:
      MYSQL_DATABASE: aowow
      MYSQL_ROOT_PASSWORD: root-example
      MYSQL_USER: aowow_user
      MYSQL_PASSWORD: aowow_user-example
    volumes:
      - mysql_data:/var/lib/mysql
      - ./aowow:/var/www/aowow
    networks:
      - aowow-net

  php:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: aowow_php
    volumes:
      - ./aowow:/var/www/aowow
    networks:
      - aowow-net

networks:
  aowow-net:

volumes:
  mysql_data:

To connect with the database I'm using setup/config.php

<?php

if (!defined('AOWOW_REVISION'))
    die('illegal access');

$AoWoWconf = [
    'aowow' => [
        'host' => 'mysql',
        'user' => 'root',
        'pass' => 'root-example',
        'db'   => 'aowow'
    ]
];

?>

An important note. I didn't run the initial setup yet (php aowow --setup). It won't allow me to run it. The setup returns the same error.

TQPS commented 3 months ago

Same, came here to log the same issue.

Mines been configured for years. Just did a pull.

Was trying to --update, got this; tried --config, got this again.

Now the app is broken.

jzizka91 commented 3 months ago

Update:

I noticed there are already reports describing the issue. https://github.com/Sarjuuk/aowow/issues/417, https://github.com/Sarjuuk/aowow/issues/419

This issue suggests checking if DEBUG already exists in aowow_config table. I checked, and in my case, the debug key seems to exist, as seen below. I understand this issue was caused by "missing required sql part". Perhaps it happened again?

mysql> SELECT * FROM aowow_config WHERE `key` = 'debug';
+-------+-------+---------+-----+-------+----------------------------------------------------------------------------+
| key   | value | default | cat | flags | comment                                                                    |
+-------+-------+---------+-----+-------+----------------------------------------------------------------------------+
| debug | 0     | 0       |   1 |   145 | disable cache, enable error_reporting - 0:None, 1:Error, 2:Warning, 3:Info |
+-------+-------+---------+-----+-------+----------------------------------------------------------------------------+

This issue suggests to update the database.

First I tried to manually update it through a script that gradually applies all updates from oldest to latest as I wasn't sure what update should be applied (if at all). I wasn't able to find any information about it.

The update failed on the first(oldest) update file 1433023200_01.sql ERROR 1061 (42000) at line 1: Duplicate key name 'difficultyEntry1'

Then I tried to apply only the latest update file 1717076299_01.sql which seemed to work. At least I didn't get any errors this time.

Unfortunately, it didn't help and I'm still getting the same error: Fatal error: cfg not defined

Sarjuuk commented 3 months ago

@jzizka91 if you just started setting it up i wouldn't bother with manually applying updates, just reapply setup/db_structure.sql and start over. A bit of bad luck you decided to try it right now. If you still get an error afterwards place a print_r(debug_backtrace(0)); here and report back with the output.

@TQPS just follow the instructions in #419

Sarjuuk commented 3 months ago

don't mind the delete. I don't think having your database credentials visible like that is wise.

[1] => Undefined array key "prefix"

Did you edit your config/config.php by hand? It is missing the table name prefix field. try renaming or deleting this file and useing php aowow --dbconfig afterwards

(and aowow shouldn't crash like that, but one step at a time)

jzizka91 commented 3 months ago

don't mind the delete. I don't think having your database credentials visible like that is wise.

No worries, the credentials were just examples for my local dev environment. Better not have it here though anyway I guess^

[1] => Undefined array key "prefix"

Did you edit your config/config.php by hand? It is missing the table name prefix field. try renaming or deleting this file and useing php aowow --dbconfig afterwards

(and aowow shouldn't crash like that, but one step at a time)

I created that config.php manually actually, because it isn't part of the app. It wasn't in the config/ dir. Is it supposed to be generated? If it is supposed to generate the config.php, then after running the command the file wasn't created.

I removed the config/config.php file, rebuilt it, and tried to run php aowow --dbconfig in the PHP app container. I'm still however getting this long error:

Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 210 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 275 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => name ) ) [1] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [2] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 284 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => cache_dir ) ) [1] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [2] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [function] => {closure} [args] => Array ( [0] => 2 [1] => filemtime(): stat failed for static/js/locale.js [2] => /var/www/aowow/pages/genericPage.class.php [3] => 512 ) ) [2] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 512 [function] => filemtime [args] => Array ( [0] => static/js/locale.js ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [function] => {closure} [args] => Array ( [0] => 2 [1] => filemtime(): stat failed for static/js/Markup.js [2] => /var/www/aowow/pages/genericPage.class.php [3] => 512 ) ) [2] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 512 [function] => filemtime [args] => Array ( [0] => static/js/Markup.js ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [file] => /var/www/aowow/includes/database.class.php [line] => 123 [function] => {closure} [args] => Array ( [0] => 2 [1] => Undefined array key 0 [2] => /var/www/aowow/includes/database.class.php [3] => 123 ) ) [2] => Array ( [file] => /var/www/aowow/includes/database.class.php [line] => 172 [function] => getDB [class] => DB [type] => :: [args] => Array ( [0] => 0 ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 317 [function] => Aowow [class] => DB [type] => :: [args] => Array ( ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 275 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => name ) ) [1] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [2] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 284 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => cache_dir ) ) [1] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [2] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [function] => {closure} [args] => Array ( [0] => 2 [1] => filemtime(): stat failed for static/js/locale.js [2] => /var/www/aowow/pages/genericPage.class.php [3] => 512 ) ) [2] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 512 [function] => filemtime [args] => Array ( [0] => static/js/locale.js ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [function] => {closure} [args] => Array ( [0] => 2 [1] => filemtime(): stat failed for static/js/Markup.js [2] => /var/www/aowow/pages/genericPage.class.php [3] => 512 ) ) [2] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 512 [function] => filemtime [args] => Array ( [0] => static/js/Markup.js ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 520 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 528 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => static_url ) ) [1] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 304 [function] => addScript [class] => GenericPage [type] => -> [args] => Array ( [0] => Array ( [0] => 3 [1] => js/jquery-3.7.0.min.js [2] => 2 ) [1] => Array ( [0] => 3 [1] => js/basic.js ) [2] => Array ( [0] => 3 [1] => widgets/power.js [2] => 6 ) [3] => Array ( [0] => 3 [1] => js/locale_%s.js [2] => 8 ) [4] => Array ( [0] => 3 [1] => js/global.js ) [5] => Array ( [0] => 3 [1] => js/locale.js ) [6] => Array ( [0] => 3 [1] => js/Markup.js ) [7] => Array ( [0] => 1 [1] => css/basic.css ) [8] => Array ( [0] => 1 [1] => css/global.css ) [9] => Array ( [0] => 1 [1] => css/aowow.css ) [10] => Array ( [0] => 1 [1] => css/locale_%s.css [2] => 8 ) ) ) [2] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [3] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) ) Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 138 [function] => get [class] => Cfg [type] => :: [args] => Array ( [0] => debug ) ) [1] => Array ( [file] => /var/www/aowow/includes/database.class.php [line] => 123 [function] => {closure} [args] => Array ( [0] => 2 [1] => Undefined array key 0 [2] => /var/www/aowow/includes/database.class.php [3] => 123 ) ) [2] => Array ( [file] => /var/www/aowow/includes/database.class.php [line] => 172 [function] => getDB [class] => DB [type] => :: [args] => Array ( [0] => 0 ) ) [3] => Array ( [file] => /var/www/aowow/pages/genericPage.class.php [line] => 317 [function] => Aowow [class] => DB [type] => :: [args] => Array ( ) ) [4] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 159 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [5] => Array ( [function] => {closure} [args] => Array ( [0] => Error Object ( [message:protected] => Call to a member function selectCell() on null [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/aowow/pages/genericPage.class.php [line:protected] => 317 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/aowow/includes/kernel.php [line] => 217 [function] => __construct [class] => GenericPage [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var/www/aowow/index.php [line] => 3 [args] => Array ( [0] => /var/www/aowow/includes/kernel.php ) [function] => require ) ) [previous:Error:private] => ) ) ) )
Sarjuuk commented 3 months ago

ah crud, i get it now ..

give me a day or two.

jzizka91 commented 3 months ago

ah crud, i get it now ..

give me a day or two.

Alright cool. No worries. Can you perhaps summarize in short what the issue is?

Sarjuuk commented 3 months ago

probably better after e734b416328283e912f300b6f61b0bee05cfe624 ...?

/e: and one more 69fe0b5c7d5f71a957a7564d47cadb3fdf55da4e

you found the localized mpq archives?^^

if not, someone automated the extraction for docker: https://github.com/iTob191/aowow-extractor its derived from a shell script i wrote for myself ages ago https://gist.github.com/Sarjuuk/e171bf5e7e9f7503a779

TQPS commented 3 months ago

I just applied the fix from #419 and it's still occurring.

Shutdown server, MySQL, hard refresh browser, still getting it.

Checked the aowow_config table and everything looks to be ok.

Keen to hear from anyone else who is having the same issue and resolved it.

jzizka91 commented 3 months ago

/e: and one more https://github.com/Sarjuuk/aowow/commit/69fe0b5c7d5f71a957a7564d47cadb3fdf55da4e

Yes! :) I rebuilt it and tried it with 69fe0b5. I'm not getting any errors when accessing the site, only a white screen. (which is most likely because the site wasn't setup yet?). I'm also able to run the php aowow --setup cmd without any errors.

However,

when running the setup I'm not able to apply the server host (which if I understand it currently is the host of the db). When I write down the host (in my case mysql) and press enter to confirm it, nothing happens and I cannot process further with the setup.

root@cfac173306b4:/var/www/aowow# php aowow --setup

21:37:47          FileGen::init() - creating required directories
21:37:47          created 9 extra paths

21:37:47          Please enter your database credentials.
Press any key to continue: 
21:37:54          select a numerical index to use the corresponding entry

21:37:54    [0]  aowow                 <empty>
21:37:54    [1]  world                 <empty>
21:37:54    [2]  auth                  <empty>
21:37:54    [3]  add new character DB  

Server Host: mysql

/e: Also, I noticed these weird behaviors:

you found the localized mpq archives?^^ if not, someone automated the extraction for docker: https://github.com/iTob191/aowow-extractor its derived from a shell script i wrote for myself ages ago https://gist.github.com/Sarjuuk/e171bf5e7e9f7503a779

Yes I did. They were in the *-enUS-*.MPQ files, not the actual *.MPQ files (e.g. common.MPQ, common-2.MPQ) that can be found in the game's Data directory. I'll check the docker image, thanks! :)

TQPS commented 3 months ago

Thank you for the fixes.

Just did a pull and --update ... completed successfully.

Application working again.

Appreciate the quick turnaround.

Sarjuuk commented 3 months ago

Server Host

the address to your server host: most likely localhost or 127.0.0.1

interactive CLI

So, i looked into that and .. jfc! The short answer is that php has no native way of cursor manipulation or input history handling. Nothing, really. Passing the input through raw would just cause the cursor to go everywhere. The whole behavior that has become so ingrained to every bash user would have to be coded in from the ground up.

So in the meantime here is a fix to just ignore any escape sequences that are not you pressing the ESC key itself. e873d8cbd0f967036790a94128d746c87bd23e47

/e: for reference https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797#cursor-controls Cursor Controls and Erase Functions are the most pressing parts

jzizka91 commented 3 months ago

Server Host

the address to your server host: most likely localhost or 127.0.0.1

interactive CLI

So, i looked into that and .. jfc! The short answer is that php has no native way of cursor manipulation or input history handling. Nothing, really. Passing the input through raw would just cause the cursor to go everywhere. The whole behavior that has become so ingrained to every bash user would have to be coded in from the ground up.

So in the meantime here is a fix to just ignore any escape sequences that are not you pressing the ESC key itself. e873d8c

/e: for reference https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797#cursor-controls Cursor Controls and Erase Functions are the most pressing parts

I can confirm now the setup is not terminated unless you press escape. It feels much better.

However, because pressing enter still does nothing it won't allow me to apply the server host configuration and continue/finish the setup.

Sarjuuk commented 3 months ago

in other words your \<ENTER> is not sending a \n char .. great. please place print_r($ordinals); at https://github.com/Sarjuuk/aowow/blob/master/includes/utilities.php#L381 press \<ENTER> again and give me the output.

should be

Array
(
    [0] => 10
)

but probably isn't

jzizka91 commented 3 months ago

php aowow --setup

root@8bcfb5f5a63d:/var/www/aowow# php aowow --setup

14:53:30          FileGen::init() - creating required directories
14:53:30          created 9 extra paths

14:53:30          Please enter your database credentials.
Press any key to continue: Array
(
    [0] => 13
)
Sarjuuk commented 3 months ago

try with this: 82c04c9ed586a0e89a344c5147796f35315ab3a7

jzizka91 commented 3 months ago

try with this: 82c04c9

Looks good! Thanks!

Server Host: example
User: example
Password: 
Database Name: aowow

15:23:35          select a numerical index to use the corresponding entry

15:23:35    [0]  aowow                 OK      mysqli://example:**********@example/aowow  table prefix: aowow_  
15:23:35    [1]  world                 <empty>                                                              
15:23:35    [2]  auth                  <empty>                                                              
15:23:35    [3]  add new character DB                                                                               

Starts looking good. What am I missing, why the maintenance page?

aowow-site

Sarjuuk commented 3 months ago

Setup didn't conclude yet. Why are you trying to access the page without it being set up?

Also, it's a config option that could be toggled.

jzizka91 commented 3 months ago

Does the world and auth db need to be configured as well? I though it's only the aowow.

The aowow is should e setup..

Sarjuuk commented 3 months ago
jzizka91 commented 3 months ago
  • world .. the whole point of this tool is to display server data in a nice way, so yes, absolutely!

Oh, I see. I thought this app and Aowow db is enough to visualize it. My bad. Will have to figure out how to set world db first :)

Sarjuuk commented 3 months ago

i suppose this is all then.

jzizka91 commented 3 months ago

Yes, the Fatal error: cfg not defined error is solved.