Ir para conteúdo

Featured Replies

Postado

quando eu chego no passo que é para adicionar os samples da esse erro

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in C:\xampp\htdocs\install.php:598 Stack trace: #0 {main} thrown in C:\xampp\htdocs\install.php on line 598

 

e ai eu tento pular para o ultimo passo, mais não consigo termina por que da esse erro

Fatal error: Uncaught Error: Call to a member function fetch() on boolean in C:\xampp\htdocs\classes\account.php:33 Stack trace: #0 C:\xampp\htdocs\classes\account.php(21): Account->load(1, 'name') #1 C:\xampp\htdocs\install.php(655): Account->__construct(1, 'name') #2 {main} thrown in C:\xampp\htdocs\classes\account.php on line 33.

 

vou deixar os arquivos logo abaixo

install.php

Spoiler

<?PHP
define('INITIALIZED', true);
define('ONLY_PAGE', false);
if(!file_exists('install.txt'))
{
    echo('AAC installation is disabled. To enable it make file <b>install.php</b> in main AAC directory and put there your IP.');
    exit;
}
$installIP = trim(file_get_contents('install.txt'));

$time_start = microtime(true);
session_start();

function autoLoadClass($className)
{
    if(!class_exists($className))
        if(file_exists('./classes/' . strtolower($className) . '.php'))
            include_once('./classes/' . strtolower($className) . '.php');
        else
            new Error_Critic('#E-7', 'Cannot load class <b>' . $className . '</b>, file <b>./classes/class.' . strtolower($className) . '.php</b> doesn\'t exist');
}
spl_autoload_register('autoLoadClass');

//load acc. maker config to $config['site']
$config = array();
include('./config/config.php');
if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
{
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while(list($key, $val) = each($process))
    {
        foreach ($val as $k => $v)
        {
            unset($process[$key][$k]);
            if(is_array($v))
            {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            }
            else
                $process[$key][stripslashes($k)] = stripslashes($v);
        }
    }
    unset($process);
}

 

$page = '';
if(isset($_REQUEST['page']))
    $page = $_REQUEST['page'];
$step = 'start';
if(isset($_REQUEST['step']))
    $step = $_REQUEST['step'];
// load server path
function getServerPath()
{
    $config = array();
    include('./config/config.php');
    return $config['site']['serverPath'];
}
// save server path
function setServerPath($newPath)
{
    $file = fopen("./config/config.php", "r");
    $lines = array();
    while (!feof($file)) {
        $lines[] = fgets($file);
    }
    fclose($file);

    $newConfig = array();
    foreach ($lines as $i => $line)
    {
        if(substr($line, 0, strlen('$config[\'site\'][\'serverPath\']')) == '$config[\'site\'][\'serverPath\']')
            $newConfig[] = '$config[\'site\'][\'serverPath\'] = "' . str_replace('"', '\"' , $newPath) . '";' . PHP_EOL; // do something with each line from text file here
        else
            $newConfig[] = $line;
    }
    Website::putFileContents("./config/config.php", implode('', $newConfig));
}
if($page == '')
{
    echo '<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
        <title>Installation of account maker</title>
    </head>
    <frameset cols="230,*">
        <frame name="menu" src="install.php?page=menu" />
        <frame name="step" src="install.php?page=step&step=start" />
        <noframes><body>Frames don\'t work. Install Firefox :P</body></noframes>
    </frameset>
    </html>

 

account.php

Spoiler

<?php
if(!defined('INITIALIZED'))
    exit;

class Account extends ObjectData
{
    const LOADTYPE_ID = 'id';
    const LOADTYPE_NAME = 'name';
    const LOADTYPE_MAIL = 'email';
    public static $table = 'accounts';
    public $data = array('name' => null, 'vip_time' => null, 'guild_points' => null, 'backup_points' => null, 'password' => null, 'premdays' => null, 'lastday' => null, 'email' => null, 'key' => null, 'group_id' => null, 'create_ip' => null, 'create_date' => null, 'premium_points' => null, 'page_access' => null, 'location' => null, 'rlname' => null, 'email_new' => null, 'email_new_time' => null, 'email_code' => null, 'next_email' => null, 'last_post' => null, 'flag' => null, 'vote' => null);
    public static $fields = array('id', 'vip_time', 'guild_points', 'backup_points', 'name', 'password', 'premdays', 'lastday', 'email', 'key', 'group_id', 'create_ip', 'create_date', 'premium_points', 'page_access', 'location', 'rlname', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag', 'vote');
    public $players;
    public $playerRanks;
    public $guildAccess;
    public $bans;

    public function __construct($search_text = null, $search_by = self::LOADTYPE_ID)
    {
        if($search_text != null)
            $this->load($search_text, $search_by);
    }

    public function load($search_text, $search_by = self::LOADTYPE_ID)
    {
        if(in_array($search_by, self::$fields))
            $search_string = $this->getDatabaseHandler()->fieldName($search_by) . ' = ' . $this->getDatabaseHandler()->quote($search_text);
        else
            new Error_Critic('', 'Wrong Account search_by type.');
        $fieldsArray = array();
        foreach(self::$fields as $fieldName)
            $fieldsArray[$fieldName] = $this->getDatabaseHandler()->fieldName($fieldName);
        $this->data = $this->getDatabaseHandler()->query('SELECT ' . implode(', ', $fieldsArray) . ' FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $search_string)->fetch();
    }

    public function loadById($id)
    {
        $this->load($id, 'id');
    }

    public function loadByName($name)
    {
        $this->load($name, 'name');
    }

    public function loadByEmail($mail)
    {
        $this->load($mail, 'email');
    }

    public function save($forceInsert = false)
    {
        if(!isset($this->data['id']) || $forceInsert)
        {
            $keys = array();
            $values = array();
            foreach(self::$fields as $key)
                if($key != 'id')
                {
                    $keys[] = $this->getDatabaseHandler()->fieldName($key);
                    $values[] = $this->getDatabaseHandler()->quote($this->data[$key]);
                }
            $this->getDatabaseHandler()->query('INSERT INTO ' . $this->getDatabaseHandler()->tableName(self::$table) . ' (' . implode(', ', $keys) . ') VALUES (' . implode(', ', $values) . ')');
            $this->setID($this->getDatabaseHandler()->lastInsertId());
        }
        else
        {
            $updates = array();
            foreach(self::$fields as $key)
                if($key != 'id')
                    $updates[] = $this->getDatabaseHandler()->fieldName($key) . ' = ' . $this->getDatabaseHandler()->quote($this->data[$key]);
            $this->getDatabaseHandler()->query('UPDATE ' . $this->getDatabaseHandler()->tableName(self::$table) . ' SET ' . implode(', ', $updates) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));
        }
    }

    public function getPlayers($forceReload = false)
    {
        if(!isset($this->players) || $forceReload)
        {
            $this->players = new DatabaseList('Player');
            $this->players->setFilter(new SQL_Filter(new SQL_Field('account_id'), SQL_Filter::EQUAL, $this->getID()));
            $this->players->addOrder(new SQL_Order(new SQL_Field('name')));
        }
        return $this->players;
    }

    public function getGuildRanks($forceReload = false)
    {
        if(!isset($this->playerRanks) || $forceReload)
        {
            $this->playerRanks = new DatabaseList('AccountGuildRank');
            $filterAccount = new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::EQUAL, $this->getID());
            $filterPlayer = new SQL_Filter(new SQL_Field('rank_id', 'players'), SQL_Filter::EQUAL, new SQL_Field('id', 'guild_ranks'));
            $filterGuild = new SQL_Filter(new SQL_Field('guild_id', 'guild_ranks'), SQL_Filter::EQUAL, new SQL_Field('id', 'guilds'));
            $filter = new SQL_Filter($filterAccount, SQL_Filter::CRITERIUM_AND, $filterPlayer);
            $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterGuild);
            $this->playerRanks->setFilter($filter);
        }
        return $this->playerRanks;
    }

    public function loadGuildAccess($forceReload = false)
    {
        if(!isset($this->guildAccess) || $forceReload)
        {
            $this->guildAccess = array();
            foreach($this->getGuildRanks($forceReload) as $rank)
                if($rank->getOwnerID() == $rank->getPlayerID())
                    $this->guildAccess[$rank->getGuildID()] = Guild::LEVEL_OWNER;
                elseif(!isset($this->guildAccess[$rank->getGuildID()]) || $rank->getLevel() > $this->guildAccess[$rank->getGuildID()])
                    $this->guildAccess[$rank->getGuildID()] = $rank->getLevel();
        }
    }

    public function isInGuild($guildId, $forceReload = false)
    {
        $this->loadGuildAccess($forceReload);
        return isset($this->guildAccess[$guildId]);
    }

    public function getGuildLevel($guildId, $forceReload = false)
    {
        $this->loadGuildAccess($forceReload);
        if(isset($this->guildAccess[$guildId]))
            return $this->guildAccess[$guildId];
        else
            return 0;
    }

    public function unban()
    {
        $bans = new DatabaseList('Ban');
        $filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_ACCOUNT);
        $filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']);
        $filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1);
        $filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue);
        $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive);
        $bans->setFilter($filter);
        foreach($bans as $ban)
        {
            $ban->setActive(0);
            $ban->save();
        }
    }

    public function loadBans($forceReload = false)
    {
        if(!isset($this->bans) || $forceReload)
        {
            $this->bans = new DatabaseList('Ban');
            $filterType = new SQL_Filter(new SQL_Field('type'), SQL_Filter::EQUAL, Ban::TYPE_ACCOUNT);
            $filterValue = new SQL_Filter(new SQL_Field('value'), SQL_Filter::EQUAL, $this->data['id']);
            $filterActive = new SQL_Filter(new SQL_Field('active'), SQL_Filter::EQUAL, 1);
            $filter = new SQL_Filter($filterType, SQL_Filter::CRITERIUM_AND, $filterValue);
            $filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterActive);
            $this->bans->setFilter($filter);
        }
    }

    public function isBanned($forceReload = false)
    {
        $this->loadBans($forceReload);
        $isBanned = false;
        foreach($this->bans as $ban)
        {
            if($ban->getExpires() <= 0 || $ban->getExpires() > time())
                $isBanned = true;
        }
        return $isBanned;
    }

    public function getBanTime($forceReload = false)
    {
        $this->loadBans($forceReload);
        $lastExpires = 0;
        foreach($bans as $ban)
        {
            if($ban->getExpires() <= 0)
            {
                $lastExpires = 0;
                break;
            }
            if($ban->getExpires() > time() && $ban->getExpires() > $lastExpires)
                $lastExpires = $ban->getExpires();
        }
        return $lastExpires;
    }

    public function delete()
    {
        $this->getDatabaseHandler()->query('DELETE FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));

        unset($this->data['id']);
    }

    public function setID($value){$this->data['id'] = $value;}
    public function getID(){return $this->data['id'];}
    public function setName($value){$this->data['name'] = $value;}
    public function getName(){return $this->data['name'];}
    public function setPassword($value)
    {
        $this->data['password'] = Website::encryptPassword($value, $this);
    }
    public function getPassword(){return $this->data['password'];}
    public function setPremDays($value){$this->data['premdays'] = $value;}
    public function getPremDays(){return $this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday']));}
    public function setLastDay($value){$this->data['lastday'] = $value;}
    public function getLastDay(){return $this->data['lastday'];}
    public function setMail($value){$this->data['email'] = $value;}
    public function getMail(){return $this->data['email'];}
    public function setKey($value){$this->data['key'] = $value;}
    public function getKey(){return $this->data['key'];}
    public function setGroupID($value){$this->data['group_id'] = $value;}
    public function getGroupID(){return $this->data['group_id'];}
/*
 * Custom AAC fields
 * create_ip , INT, default 0
 * create_date , INT, default 0
 * premium_points , INT, default 0
 * page_access, INT, default 0
 * location, VARCHAR(255), default ''
 * rlname, VARCHAR(255), default ''
*/
    public function setCreateIP($value){$this->data['create_ip'] = $value;}
    public function getCreateIP(){return $this->data['create_ip'];}
    public function setCreateDate($value){$this->data['create_date'] = $value;}
    public function getCreateDate(){return $this->data['create_date'];}
    public function setPremiumPoints($value){$this->data['premium_points'] = $value;}
    public function getPremiumPoints(){return $this->data['premium_points'];}
    public function setVipTime($value){$this->data['vip_time'] = $value;}
    public function getVipTime(){return $this->data['vip_time'];}
    public function setGuildPoints($value){$this->data['guild_points'] = $value;}
    public function getGuildPoints(){return $this->data['guild_points'];}
    public function setBackupPoints($value){$this->data['backup_points'] = $value;}
    public function getBackupPoints(){return $this->data['backup_points'];}
    public function setPageAccess($value){$this->data['page_access'] = $value;}
    public function getPageAccess(){return $this->data['page_access'];}
    public function setLocation($value){$this->data['location'] = $value;}
    public function getLocation(){return $this->data['location'];}
    public function setRLName($value){$this->data['rlname'] = $value;}
    public function getRLName(){return $this->data['rlname'];}
    public function setFlag($value){$this->data['flag'] = $value;}
    public function getFlag(){return $this->data['flag'];}
/*
 * for compability with old scripts
*/
    public function getGroup(){return $this->getGroupID();}
    public function setGroup($value){$this->setGroupID($value);}
    public function getEMail(){return $this->getMail();}
    public function setEMail($value){$this->setMail($value);}
    public function getPlayersList(){return $this->getPlayers();}
    public function getGuildAccess($guildID){return $this->getGuildLevel($guildID);}

    public function isValidPassword($password)
    {
        return ($this->data['password'] == Website::encryptPassword($password, $this));
    }

    public function find($name){$this->loadByName($name);}
    public function findByEmail($email){$this->loadByEmail($email);}
    public function isPremium(){return ($this->getPremDays() > 0);}
    public function getLastLogin(){return $this->getLastDay();}
}

 

 

 

 

 

Editado por lukastrausula (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo