• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Gesior install error

a7aa7a

Member
Joined
Jul 5, 2011
Messages
316
Reaction score
13
how i can fix this error plz
Error occured!

Error ID: #C-2
More info: ERROR: #C-2 : Class::ConfigLUA - LUA config file doesn't exist. Path: C:\Documents and Settings\Administrator\My Documents\Downloads\kalzoria\OTSconfig.lua

File: C:\xampp\htdocs\classes/configlua.php Line: 24
File: C:\xampp\htdocs\classes/configlua.php Line: 12
File: C:\xampp\htdocs\system/load.init.php Line: 42
File: C:\xampp\htdocs/index.php Line: 18
 
You need to add a slash on the path to config.lua location.

Like this:
Code:
C:/Documents and Settings/Administrator/My Documents/Downloads/kalzoria/OTS/
 
Your config file should be named Config.lua and the path should be

C:\Documents and Settings\Administrator\My Documents\Downloads\kalzoria\OTS

NOT

C:/Documents and Settings/Administrator/My Documents/Downloads/kalzoria/OTS/
 
when i click :
Fatal error
: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\classes\databaselist.php on line 68
when i click highscores
Fatal error: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\classes\databaselist.php on line 68

when i create account
Fatal error: Call to a member function fetch() on a non-object in C:\xampp\htdocs\classes\account.php on line 33
 
Last edited by a moderator:
when i create account
Fatal error: Call to a member function fetch() on a non-object in C:\xampp\htdocs\classes\account.php on line 33
Probably outdated gesior ACC version with new database. Queries are different.
 
C:\xampp\htdocs\classes\databaselist.php
&

C:\xampp\htdocs\classes\account.php
Database list
Code:
<?php
if(!defined('INITIALIZED'))
    exit;

class DatabaseList extends DatabaseHandler implements Iterator, Countable
{
    public $data;
    public $iterator = 0;
    public $class;
    public $table;
    public $tables = array();
    public $fields = array();
    public $extraFields = array();
    public $filter;
    public $orders = array();
    public $limit;
    public $offset = 0;

    public function __construct($class = null)
    {
        if($class !== null)
            $this->setClass($class);
    }

    public function load()
    {
        $fieldsArray = array();

        if(count($this->fields) > 0)
            foreach($this->fields as $fieldName)
                    $fieldsArray[$fieldName] = $this->getDatabaseHandler()->tableName($this->table) . '.' . $this->getDatabaseHandler()->fieldName($fieldName);

        if(count($this->extraFields) > 0)
            foreach($this->extraFields as $field)
                if(!$field->hasAlias())
                    $fieldsArray[] = $this->getDatabaseHandler()->tableName($field->getTable()) . '.' . $this->getDatabaseHandler()->fieldName($field->getName());
                else
                    $fieldsArray[] = $this->getDatabaseHandler()->tableName($field->getTable()) . '.' . $this->getDatabaseHandler()->fieldName($field->getName()) . ' AS ' . $this->getDatabaseHandler()->fieldName($field->getAlias());

        $tables = array();
        foreach($this->tables as $table)
            $tables[] = $this->getDatabaseHandler()->tableName($table);

        $filter = '';
        if($this->filter !== null)
            $filter = ' WHERE ' .$this->filter->__toString();

        $order = '';
        $orders = array();
        if(count($this->orders) > 0)
        {
            foreach($this->orders as $_tmp_order)
                $orders[] = $_tmp_order->__toString();
            if(count($orders) > 0)
                $order = ' ORDER BY ' . implode(', ', $orders);
        }

        $limit = '';
        if($this->limit !== null)
            $limit = ' LIMIT ' . (int) $this->limit;

        $offset = '';
        if($this->offset > 0)
            $offset = ' OFFSET ' . (int) $this->offset;

        $query = 'SELECT ' . implode(', ', $fieldsArray) . ' FROM ' . implode(', ', $tables) . $filter . $order . $limit . $offset;

        $this->data = $this->getDatabaseHandler()->query($query)->fetchAll();
    }

    public function getResult($id)
    {
        if(!isset($this->data))
            $this->load();
        if(isset($this->data[$id]))
        {
            if(!is_object($this->data[$id]))
            {
                $_tmp = new $this->class();
                $_tmp->loadData($this->data[$id]);
                return $_tmp;
            }
            else
                return $this->data[$id];
        }
        else
            return false;
    }

    public function addExtraField($field)
    {
        $this->extraFields[] = $field;
        $this->addTables($field->getTable());
    }

    public function addOrder($order)
    {
        $this->orders[] = $order;
    }

    public function setClass($class)
    {
        $this->class = $class;
        $instance = new $this->class();
        $this->fields = $instance::$fields;
        if(isset($instance::$extraFields))
            foreach($instance::$extraFields as $extraField)
            {
                if(!isset($extraField[2]))
                    $this->extraFields[] = new SQL_Field($extraField[0], $extraField[1]);
                else
                    $this->extraFields[] = new SQL_Field($extraField[0], $extraField[1], $extraField[2]);
                $this->tables[$extraField[1]] = $extraField[1];
            }
        $this->table = $instance::$table;
        $this->tables[$instance::$table] = $instance::$table;
    }

    public function setFilter($filter)
    {
        $this->addTables($filter->getTables());
        $this->filter = $filter;
    }

    public function setLimit($limit)
    {
        $this->limit = $limit;
    }

    public function setOffset($offset)
    {
        $this->offset = $offset;
    }

    public function addTables($tables)
    {
        if(is_array($tables))
        {
            foreach($tables as $table)
                if($table != '' && !in_array($table, $this->tables))
                    $this->tables[$table] = $table;
        }
        elseif($tables != '' && !in_array($tables, $this->tables))
            $this->tables[$tables] = $tables;
    }

    public function current()
    {
        return $this->getResult($this->iterator);
    }

    public function rewind()
    {
        if(!isset($this->data))
            $this->load();
        $this->iterator = 0;
    }

    public function next()
    {
        ++$this->iterator;
    }

    public function key()
    {
        return $this->iterator;
    }

    public function valid()
    {
        return isset($this->data[$this->iterator]);
    }

    public function count()
    {
        if(!isset($this->data))
            $this->load();
        return count($this->data);
    }
}

C:\xampp\htdocs\classes\databaselist.php
&

C:\xampp\htdocs\classes\account.php
Accounts
http://textuploader.com/awz7b

Bumb

Probably outdated gesior ACC version with new database. Queries are different.
i cant understand you what i shloud do
 
Last edited by a moderator:
Code:
    public function load()
    {
        $fieldsArray = array();

        if(count($this->fields) > 0)
            foreach($this->fields as $fieldName)
                    $fieldsArray[$fieldName] = $this->getDatabaseHandler()->tableName($this->table) . '.' . $this->getDatabaseHandler()->fieldName($fieldName);

        if(count($this->extraFields) > 0)
            foreach($this->extraFields as $field)
                if(!$field->hasAlias())
                    $fieldsArray[] = $this->getDatabaseHandler()->tableName($field->getTable()) . '.' . $this->getDatabaseHandler()->fieldName($field->getName());
                else
                    $fieldsArray[] = $this->getDatabaseHandler()->tableName($field->getTable()) . '.' . $this->getDatabaseHandler()->fieldName($field->getName()) . ' AS ' . $this->getDatabaseHandler()->fieldName($field->getAlias());

        $tables = array();
        foreach($this->tables as $table)
            $tables[] = $this->getDatabaseHandler()->tableName($table);

        $filter = '';
        if($this->filter !== null)
            $filter = ' WHERE ' .$this->filter->__toString();

        $order = '';
        $orders = array();
        if(count($this->orders) > 0)
        {
            foreach($this->orders as $_tmp_order)
                $orders[] = $_tmp_order->__toString();
            if(count($orders) > 0)
                $order = ' ORDER BY ' . implode(', ', $orders);
        }

        $limit = '';
        if($this->limit !== null)
            $limit = ' LIMIT ' . (int) $this->limit;

        $offset = '';
        if($this->offset > 0)
            $offset = ' OFFSET ' . (int) $this->offset;

        $query = 'SELECT ' . implode(', ', $fieldsArray) . ' FROM ' . implode(', ', $tables) . $filter . $order . $limit . $offset;

        $this->data = $this->getDatabaseHandler()->query($query)->fetchAll();
    }

line 68:
Code:
$this->data = $this->getDatabaseHandler()->query($query)->fetchAll();

Query is fine, answer lies in the highscores php file.
As Thexmax has mentioned this looks like an incompatible OT + Website installation.

We're chasing ghosts here.
What TFS version are you using?
 
Fatal error: Call to a member function fetch() on a non-object in C:\xampp\htdocs\classes\account.php on line 33
 
Last edited:
Back
Top