Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

eu comprei uma maquina(vps, host) windowns para deixar meu servidor online, mais eu não estou conseguindo deixar o site online para as pessoas, ele funciona normalmente quando está para entrar pelo localhost, e assim apenas eu consigo acessar ele mais quando eu coloco o ip da maquina da isso ai, e ninguém consegue acessar o site...

 

Error occured!

Error ID: 
More info: CANNOT CONNECT TO DATABASE: SQLSTATE[HY000] [1130] Host '...' is not allowed to connect to this MySQL server

File: C:\xampp\htdocs\classes/database_mysql.php   Line: 22
File: C:\xampp\htdocs\classes/database.php   Line: 199
File: C:\xampp\htdocs\pages/latestnews.php   Line: 32
File: C:\xampp\htdocs\system/load.page.php   Line: 7
File: C:\xampp\htdocs/index.php   Line: 37

 

e na distro da esse erro

WARNING: MYSQL Lost connection, attempting to reconnect... 
Failed connecting to database - MYSQL ERROR: Host '....' is not allowed to connect to this MySQL server <1130>

 

load.page.php

Spoiler

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

ob_start();
$main_content = '';
include("pages/" . $subtopic . ".php");
$main_content .= ob_get_clean();

 

index.php

Spoiler

<?php
// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);

// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);

define('INITIALIZED', true);

// if not defined before, set 'false' to load all normal
if(!defined('ONLY_PAGE'))
    define('ONLY_PAGE', false);
    
// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');

// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');

// DATABASE
include_once('./system/load.database.php');
if(DEBUG_DATABASE)
    Website::getDBHandle()->setPrintQueries(true);
// DATABASE END

// LOGIN
if(!ONLY_PAGE)
    include_once('./system/load.login.php');
// LOGIN END

// COMPAT
// some parts in that file can be blocked because of ONLY_PAGE constant
include_once('./system/load.compat.php');
// COMPAT END

// LOAD PAGE
include_once('./system/load.page.php');
// LOAD PAGE END

// LAYOUT
// with ONLY_PAGE we return only page text, not layout
if(!ONLY_PAGE)
    include_once('./system/load.layout.php');
else
    echo $main_content;
// LAYOUT END

 

database_mysql.php

Spoiler

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

class Database_MySQL extends Database
{
    public function __construct()
    {
        $this->setDatabaseDriver(self::DB_MYSQL);
    }

    public function connect()
    {
        try
        {
            parent::__construct('mysql:host=' . $this->getDatabaseHost() . ';port=' . $this->getDatabasePort() . ';dbname=' . $this->getDatabaseName(), $this->getDatabaseUsername(), $this->getDatabasePassword());
            $this->setConnected(true);
            return true;
        }
        catch(PDOException $error)
        {
            new Error_Critic('', 'CANNOT CONNECT TO DATABASE: ' . $error->getMessage());
            return false;
        }
    }

    public function fieldName($name)
    {
        if(strspn($name, "1234567890qwertyuiopasdfghjklzxcvbnm_") != strlen($name))
            new Error_Critic('', 'Invalid field name format.');

        return '`' . $name . '`';
    }

    public function tableName($name)
    {
        if(strspn($name, "1234567890qwertyuiopasdfghjklzxcvbnm_") != strlen($name))
            new Error_Critic('', 'Invalid table name format.');

        return '`' . $name . '`';
    }
}

 

database.php

Spoiler

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

class Database extends PDO
{
    public $connectionError = '';
    private $connected = false;
    const DB_MYSQL = 1;
    const DB_SQLITE = 2;
    const DB_PGSQL = 3;

    private $db_driver;
    private $db_host = 'localhost';
    private $db_port = '3306';
    private $db_name;
    private $db_username;
    private $db_password;
    private $db_file;

    public $queriesCount = 0;
    public $printQueries = false;

    public function connect()
    {
        return false;
    }

    public function isConnected()
    {
        return $this->connected;
    }

    public function setPrintQueries($value)
    {
        return $this->printQueries = $value;
    }

    public function setConnected($value)
    {
        $this->connected = $value;
    }

    public function getDatabaseDriver()
    {
        return $this->db_driver;
    }

    public function getDatabaseHost()
    {
        return $this->db_host;
    }

    public function getDatabasePort()
    {
        return $this->db_port;
    }

    public function getDatabaseName()
    {
        return $this->db_name;
    }

    public function getDatabaseUsername()
    {
        return $this->db_username;
    }

    public function getDatabasePassword()
    {
        return $this->db_password;
    }

    public function getDatabaseFile()
    {
        return $this->db_file;
    }

    public function setDatabaseDriver($value)
    {
        $this->db_driver = $value;
    }

    public function setDatabaseHost($value)
    {
        $this->db_host = $value;
    }

    public function setDatabasePort($value)
    {
        $this->db_port = $value;
    }

    public function setDatabaseName($value)
    {
        $this->db_name = $value;
    }

    public function setDatabaseUsername($value)
    {
        $this->db_username = $value;
    }

    public function setDatabasePassword($value)
    {
        $this->db_password = $value;
    }

    public function setDatabaseFile($value)
    {
        $this->db_file = $value;
    }

    public function beginTransaction()
    {
        if($this->isConnected() || $this->connect())
            return parent::beginTransaction();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute "beginTransaction()"');
    }

    public function commit()
    {
        if($this->isConnected() || $this->connect())
            return parent::commit();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute "commit()"');
    }

    public function errorCode()
    {
        if($this->isConnected() || $this->connect())
            return parent::errorCode();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute "errorCode()"');
    }

    public function errorInfo()
    {
        if($this->isConnected() || $this->connect())
            return parent::errorInfo();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute errorInfo()');
    }

    public function exec($statement)
    {
        if($this->isConnected() || $this->connect())
            return parent::exec($statement);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute exec($statement)');
    }

    public function getAttribute($attribute)
    {
        if($this->isConnected() || $this->connect())
            return parent::getAttribute($attribute);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute getAttribute($attribute)');
    }

    public static function getAvailableDrivers()
    {
        if($this->isConnected() || $this->connect())
            return parent::getAvailableDrivers();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute getAvailableDrivers()');
    }

    public function inTransaction()
    {
        if($this->isConnected() || $this->connect())
            return parent::inTransaction();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute inTransaction()');
    }

    public function lastInsertId($name = NULL)
    {
        if($this->isConnected() || $this->connect())
            return parent::lastInsertId($name);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute ');
    }

    public function prepare($statement, $driver_options = array())
    {
        if($this->isConnected() || $this->connect())
            return parent::prepare($statement, $driver_options);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute lastInsertId($name)');
    }

    public function query($statement)
    {
        $this->queriesCount++;
        // BETA TESTS - uncomment line below to print all queries on website before execution
        //echo'<br />' . $statement . '<br />';
        if($this->isConnected() || $this->connect())
        {
            $ret = parent::query($statement);
            if($this->printQueries)
            {
                $_errorInfo = $this->errorInfo();
                echo '<table>';
                echo '<tr><td>Query: </td><td>' . $statement . '</td></tr>';
                echo '<tr><td>SQLSTATE: </td><td>' . $_errorInfo[0] . '</td></tr>';
                echo '<tr><td>Driver code: </td><td>' . $_errorInfo[1] . '</td></tr>';
                echo '<tr><td>Error message: </td><td>' . $_errorInfo[2] . '</td></tr>';
                echo '</table>';
            }
            return $ret;
        }
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute query($statement)');
    }

    public function quote($string, $parameter_type = PDO::PARAM_STR)
    {
        if($this->isConnected() || $this->connect())
            return parent::quote($string, $parameter_type);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute quote($string, $parameter_type)');
    }

    public function rollBack()
    {
        if($this->isConnected() || $this->connect())
            return parent::rollBack();
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute rollBack()');
    }

    public function setAttribute($attribute, $value)
    {
        if($this->isConnected() || $this->connect())
            return parent::setAttribute($attribute, $value);
        else
            new Error_Critic('', 'Website is not connected to database. Cannot execute setAttribute($attribute, $value)');
    }

    public function setConnectionError($string)
    {
        $this->connectionError = $string;
    }
}

 

latestnews.php

Spoiler

<?php
$main_content .= '
<div class="InnerTableContainer">
    <table>
        <tbody>
            <tr>
                <td>
                    <div class="TableShadowContainerRightTop">
                        <div class="TableShadowRightTop" style="background-image: url('.$layout_name.'/images/content/table-shadow-rt.gif);"></div>
                    </div>
                        <div class="TableContentAndRightShadow" style="background-image: url('.$layout_name.'/images/content/table-shadow-rm.gif);">
                            <div class="TableContentContainer">
                                <table class="TableContent" style="border: 1px solid #faf0d7;">
                                    <tbody>
                                        <tr style="background-color: #505050;">
                                        </tr>
                                            <tr class="Table" style="background-color: #d4c0a1;">
                                                <td style="width: 800; border: 1px; border-style: solid; border-color: #FAF0D7;">
                                                    <div class="NewsHeadline">
                                                        <div class="NewsHeadlineBackground" style="background-image:url(' . $layout_name . '/images/news/newsheadline_background.gif)">
                                                            <table border="0">
                                                                <tr>
                                                                    <td style="text-align: center; font-weight: bold;">
                                                                        <font color="white">Most powerful guilds</font>
                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </div>
                                                    </div>
                                                <table border="0" cellspacing="3" cellpadding="4" width="100%">
                                            <tr>';
                                                foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,`g`.`guild_logo` AS `logo`, COUNT(`g`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id` LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id` WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1 GROUP BY `name` ORDER BY `frags` DESC, `name` ASC LIMIT 0, 4;') as $guild)
                                                $main_content .= '              
                                                    <td style="width: 25%; text-align: center;">
                                                        <a href="?subtopic=guilds&action=show&guild=' . $guild['id'] . '"><img src="/guild_image.php?id=' . $guild['id'] . '" width="64" height="64" border="0"/><br />' . $guild['name'] . '</a><br />' . $guild['frags'] . ' kills
                                                    </td>';
                                                $main_content .= '
                                                                            </tr>
                                                                        </table>
                                                                    </td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                </div>
                                            <div class="TableShadowContainer">
                                        <div class="TableBottomShadow" style="background-image: url('.$layout_name.'/images/content/table-shadow-bm.gif);">
                                    <div class="TableBottomLeftShadow" style="background-image: url('.$layout_name.'/images/content/table-shadow-bl.gif);"></div>
                                <div class="TableBottomRightShadow" style="background-image: url('.$layout_name.'/images/content/table-shadow-br.gif);"></div>
                            </div>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
<br />';
if(!defined('INITIALIZED'))
    exit;

$tickerSql = $SQL->query("SELECT ");
//NEWSTICKER
$time = time();
$vTick = $SQL->query("SELECT " .$SQL->fieldName('date'). " FROM " .$SQL->tableName('z_news_tickers'). " WHERE " .$SQL->fieldName('hide_ticker'). " = '0'")->fetch();
if(isset($vTick['date'])){
$news_content .= '
    <div id="NewsTicker" class="Box">
        <div class="Corner-tl" style="background-image: url('.$layout_name.'/images/content/corner-tl.gif);"></div>
        <div class="Corner-tr" style="background-image: url('.$layout_name.'/images/content/corner-tr.gif);"></div>
        <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div>
        <div class="BorderTitleText" style="background-image: url('.$layout_name.'/images/content/title-background-green.gif);"></div>
        <img class="Title" src="'.$layout_name.'/images/header/headline-newsticker.gif" alt="Contentbox headline" />
            <div class="Border_2">
                  <div class="Border_3">
                    <div class="BoxContent" style="background-image: url('.$layout_name.'/images/content/scroll.gif);">';
                    //##################### ADD NEW TICKER #####################
                    if($action == "newticker") {
                        if($group_id_of_acc_logged >= $config['site']['access_tickers']) {
                            $ticker_text = stripslashes(trim($_POST['new_ticker']));
                            $ticker_icon = (int) $_POST['icon_id'];
                            if(empty($ticker_text)) {
                                $news_content .= 'You can\'t add empty ticker.';
                            }
                            else
                            {
                            if(empty($ticker_icon)) {
                                $news_icon = 0;
                            }
                    $SQL->query('INSERT INTO '.$SQL->tableName('z_news_tickers').' (date, author, image_id, text, hide_ticker) VALUES ('.$SQL->quote($time).', '.$account_logged->getId().', '.$ticker_icon.', '.$SQL->quote($ticker_text).', 0)');
                    $news_content .= '
                        <center>
                            <h2>
                                <font color="red">Added new ticker:</font>
                            </h2>
                        </center>
                        <hr/>
                        <div id="newsticker" class="Box">
                            <div id="TickerEntry-1" class="Row" onclick=\'TickerAction("TickerEntry-1")\'>
                                  <div class="Odd">
                                    <div class="NewsTickerIcon" style="background-image: url('.$layout_name.'/images/news/icon_'.$ticker['image_id'].'.gif);"></div>
                                    <div id="TickerEntry-1-Button" class="NewsTickerExtend" style="background-image: url('.$layout_name.'/images/general/plus.gif);"></div>
                                    <div class="NewsTickerText">
                                              <span class="NewsTickerDate">'.date("d/m/Y", $time).' -</span> 
                                              <div id="TickerEntry-1-ShortText" class="NewsTickerShortText">';
                    $news_content .= '
                        <a href="?subtopic=latestnews&action=deleteticker&id='.$time.'">
                            <img src="'.$layout_name.'/images/news/delete.png" border="0">
                        </a>';
                    $news_content .= short_text($ticker_text, 60).'</div>
                          <div id="TickerEntry-1-FullText" class="NewsTickerFullText">';
                    $news_content .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$time.'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>';
                    $news_content .= $ticker_text.'
                        </div>
                    </div>
                  </div>
            </div>
        </div>
    <hr/>';
    }
}
else
{
    $news_content .= 'You don\'t have admin rights. You can\'t add new ticker.';
}
    $news_content .= '<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form>';
}
//#################### DELETE (HIDE only!) TICKER ############################
if($action == "deleteticker") {
if($group_id_of_acc_logged >= $config['site']['access_tickers']) {
header("Location: ");
$date = (int) $_REQUEST['id'];
$SQL->query('UPDATE '.$SQL->tableName('z_news_tickers').' SET hide_ticker = 1 WHERE '.$SQL->fieldName('date').' = '.$date.';');
$news_content .= '<center>News tickets with <b>date '.date("j F Y, g:i a", $date).'</b> has been deleted.<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form></center></div></div>
    </div>
    <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div>
    <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image: url('.$layout_name.'/images/content/corner-bl.gif);"></div></div>
    <div class="CornerWrapper-b"><div class="Corner-br" style="background-image: url('.$layout_name.'/images/content/corner-br.gif);"></div></div>
  </div>';
}
else
{
$news_content .= '<center>You don\'t have admin rights. You can\'t delete tickers.<form action="?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form></center>';
}
}
//show tickers if any in database or not blocked (tickers limit = 0)
$tickers = $SQL->query('SELECT * FROM `z_news_tickers` WHERE hide_ticker != 1 ORDER BY date DESC LIMIT 5;');
$number_of_tickers = 0;
if(is_object($tickers)) {
foreach($tickers as $ticker) {
if(is_int($number_of_tickers / 2))
        $color = "Odd";
else
        $color = "Even";
$tickers_to_add .= '<div id="TickerEntry-'.$number_of_tickers.'" class="Row" onclick=\'TickerAction("TickerEntry-'.$number_of_tickers.'")\'>
  <div class="'.$color.'">
    <div class="NewsTickerIcon" style="background-image: url('.$layout_name.'/images/news/icon_'.$ticker['image_id'].'.gif);"></div>
    <div id="TickerEntry-'.$number_of_tickers.'-Button" class="NewsTickerExtend" style="background-image: url('.$layout_name.'/images/general/plus.gif);"></div>
    <div class="NewsTickerText">
      <span class="NewsTickerDate">'.date("d/m/Y", $ticker['date']).' -</span>
      <div id="TickerEntry-'.$number_of_tickers.'-ShortText" class="NewsTickerShortText">';
//if admin show button to delete (hide) ticker
if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) {
$tickers_to_add .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$ticker['date'].'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>';
}
$tickers_to_add .= short_text($ticker['text'], 60).'</div>
      <div id="TickerEntry-'.$number_of_tickers.'-FullText" class="NewsTickerFullText">';
//if admin show button to delete (hide) ticker
if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) {
$tickers_to_add .= '<a href="?subtopic=latestnews&action=deleteticker&id='.$ticker['date'].'"><img src="'.$layout_name.'/images/news/delete.png" border="0"></a>';
}
$tickers_to_add .= $ticker['text'].'</div>
    </div>
  </div>
</div>';
$number_of_tickers++;
}
}
}

//adding news
if($action == "newnews") {
if($group_id_of_acc_logged >= $config['site']['access_news']) {
$text = ($_REQUEST['text']);
$char_id = (int) $_REQUEST['char_id'];
$post_topic = stripslashes(trim($_REQUEST['topic']));
$smile = (int) $_REQUEST['smile'];
$news_icon = (int) $_REQUEST['icon_id'];
if(empty($news_icon)) {
$news_icon = 0;
}
if(empty($post_topic)) {
$an_errors[] .= 'You can\'t add news without topic.';
}
if(empty($text)) {
$an_errors[] .= 'You can\'t add empty news.';
}
if(empty($char_id)) {
$an_errors[] .= 'Select character.';
}
//execute query
if(empty($an_errors)) {
$SQL->query("INSERT INTO `z_forum` (`id` ,`first_post` ,`last_post` ,`section` ,`replies` ,`views` ,`author_aid` ,`author_guid` ,`post_text` ,`post_topic` ,`post_smile` ,`post_date` ,`last_edit_aid` ,`edit_date`, `post_ip`, `icon_id`) VALUES ('NULL', '0', '".time()."', '1', '0', '0', '".$account_logged->getId()."', '".(int) $char_id."', ".$SQL->quote($text).", ".$SQL->quote($post_topic).", '".(int) $smile."', '".time()."', '0', '0', '".$_SERVER['REMOTE_ADDR']."', '".$news_icon."')");
$thread_id = $SQL->lastInsertId();
$SQL->query("UPDATE `z_forum` SET `first_post`=".(int) $thread_id." WHERE `id` = ".(int) $thread_id);//show added data
$main_content .= '<form action="index.php?subtopic=latestnews" METHOD=post><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Back" alt="Back" src="'.$layout_name.'/images/buttons/_sbutton_back.gif" ></div></div></form>';
}
else
{
//show errors
$main_content .= '<div class="SmallBox" >  <div class="MessageContainer" >    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="ErrorMessage" >      <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>';
foreach($an_errors as $an_error) {
    $main_content .= '<li>'.$an_error;
}
$main_content .= '</div>    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>  </div></div><br/>';
//okno edycji newsa z wpisanymi danymi przeslanymi wczesniej
$main_content .= '<form action="index.php?subtopic=latestnews&action=newnews" method="post" ><table border="0"><tr><td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td><td><table border="0" bgcolor="F1E0C6"><tr><td><img src="'.$layout_name.'/images/news/icon_0.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_1.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_2.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_3.gif" width="20"></td><td><img src="'.$layout_name.'/images/news/icon_4.gif" width="20"></td></tr><tr><td><input type="radio" name="icon_id" value="0" checked="checked"></td><td><input type="radio" name="icon_id" value="1"></td><td><input type="radio" name="icon_id" value="2"></td><td><input type="radio" name="icon_id" value="3"></td><td><input type="radio" name="icon_id" value="4"></td></tr></table></td></tr><tr><td align="center" bgcolor="F1E0C6"><b>Topic:</b></td><td><input type="text" name="topic" maxlenght="50" style="width: 300px" value="'.$post_topic.'"></td></tr><tr><td align="center" bgcolor="D4C0A1"><b>News<br>text:</b></td><td bgcolor="F1E0C6"><textarea name="text" rows="6" cols="60">'.$text.'</textarea></td></tr><tr><td width="180"><b>Character:</b></td><td><select name="char_id"><option value="0">(Choose character)</option>'.$str.'</select></td></tr><tr><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></form><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="CancelAddNews" src="'.$layout_name.'/images/buttons/_sbutton_cancel.gif" onClick="location.href=\'index.php?subtopic=latestnews\';" alt="CancelAddNews" /></div></div></td></tr></table>';
}
}
else
{
$main_content .= 'You don\'t have site-admin rights. You can\'t add news.';}
}

if(!empty($tickers_to_add)) {
//show table with tickers

if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] && $action!=newticker)
$news_content .= '<script type="text/javascript">
var showednewticker_state = "0";
function showNewTickerForm()
{
if(showednewticker_state == "0") {
document.getElementById("newtickerform").innerHTML = \'<form action="?subtopic=latestnews&action=newticker" method="post" ><table border="0"><tr><td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td><td><table border="0" bgcolor="F1E0C6"><tr><td><img src="images/news/icon_0.gif" width="20"></td><td><img src="images/news/icon_1.gif" width="20"></td><td><img src="images/news/icon_2.gif" width="20"></td><td><img src="images/news/icon_3.gif" width="20"></td><td><img src="images/news/icon_4.gif" width="20"></td></tr><tr><td><input type="radio" name="icon_id" value="0" checked="checked"></td><td><input type="radio" name="icon_id" value="1"></td><td><input type="radio" name="icon_id" value="2"></td><td><input type="radio" name="icon_id" value="3"></td><td><input type="radio" name="icon_id" value="4"></td></tr></table></td></tr><tr><td align="center" bgcolor="D4C0A1"><b>New<br>ticker<br>text:</b></td><td bgcolor="F1E0C6"><textarea name="new_ticker" rows="3" cols="45"></textarea></td></tr><tr><td><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></form><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/_sbutton_cancel.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div></td></tr></table>\';
document.getElementById("jajo").innerHTML = \'\';
showednewticker_state = "1";
}
else {
document.getElementById("newtickerform").innerHTML = \'\';
document.getElementById("jajo").innerHTML = \'<div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/addticker.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div>\';
showednewticker_state = "0";
}
}
</script><div id="newtickerform"></div><div id="jajo"><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><img class="ButtonText" id="AddTicker" src="'.$layout_name.'/images/buttons/addticker.gif" onClick="showNewTickerForm()" alt="AddTicker" /></div></div></div><hr/>';
//add tickers list
$news_content .= $tickers_to_add;
//koniec
$news_content .= '</div>
      </div>
    </div>
    <div class="Border_1" style="background-image: url('.$layout_name.'/images/content/border-1.gif);"></div>
    <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image: url('.$layout_name.'/images/content/corner-bl.gif);"></div></div>
    <div class="CornerWrapper-b"><div class="Corner-br" style="background-image: url('.$layout_name.'/images/content/corner-br.gif);"></div></div>
  </div>';
}
//NEWSTICKER END

//FEATURED ARTICLE
$featured_article = $SQL->query("SELECT * FROM z_featured_article ORDER BY id DESC LIMIT 1")->fetchAll();

 if(isset($featured_article[0]))
    {
        foreach($featured_article as $featured)
        {

            $news_content .= '
                <div id="FeaturedArticle" class="Box">
                    <div class="Corner-tl" style="background-image:url('.$layout_name.'/images/content/corner-tl.gif);"></div>
                    <div class="Corner-tr" style="background-image:url('.$layout_name.'/images/content/corner-tr.gif);"></div>
                    <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div>
                    <div class="BorderTitleText" style="background-image:url('.$layout_name.'/images/content/title-background-green.gif);"></div>
                    <img id="ContentBoxHeadline" class="Title" src="'.$layout_name.'/images/header/headline-featuredarticle.gif" alt="Contentbox headline" />
                    <div class="Border_2">
                        <div class="Border_3">
                            <div class="BoxContent" style="background-image:url('.$layout_name.'/images/content/scroll.gif);">
                                <div id="TeaserThumbnail">';
                                if(!empty($featured['read_more'])){
                                    $news_content .= '
                                    <a href="'.$featured['read_more'].'">';
                                }
                                $news_content .= '
                                        <img src="'.$layout_name.'/images/news/announcement.jpg" width="150" height="100" border=0 alt="" />';
                                if(!empty($featured['read_more'])){
                                $news_content .= '
                                    </a>';
                                    }
                            $news_content .= '
                                </div>';
                                if(!empty($featured['read_more'])){
                                $news_content .= '
                                <a id="Link" href="'.$featured['read_more'].'">&raquo; read more</a>';
                                }
                                $news_content .= '
                                <div id="TeaserText">
                                    <div style="position: relative; top: -2px; margin-bottom: 2px;" >
                                        <b>'.$featured['title'].'</b>
                                    </div>
                                    '.$featured['text'].'
                                </div>        
                            </div>
                        </div>
                    </div>
                    <div class="Border_1" style="background-image:url('.$layout_name.'/images/content/border-1.gif);"></div>
                    <div class="CornerWrapper-b"><div class="Corner-bl" style="background-image:url('.$layout_name.'/images/content/corner-bl.gif);"></div></div>
                    <div class="CornerWrapper-b"><div class="Corner-br" style="background-image:url('.$layout_name.'/images/content/corner-br.gif);"></div></div>
                </div>
            ';
        }
    }
//FEATURED ARTICLE END
        
function replaceSmile($text, $smile)
{
    $smileys = array(
                        ':p' => 1, 
                        ':eek:' => 2, 
                        ':rolleyes:' => 3, 
                        ';)' => 4, 
                        ':o' => 5, 
                        ':D' => 6,  
                        ':(' => 7, 
                        ':mad:' => 8,
                        ':)' => 9,
                        ':cool:' => 10
                    );
    if($smile == 1)
        return $text;
    else
    {
        foreach($smileys as $search => $replace)
            $text = str_replace($search, '<img src="layouts/tibiarl/images/forum/smile/'.$replace.'.gif" />', $text);
        return $text;
    }
}

function replaceAll($text, $smile)
{
    $rows = 0;
    while(stripos($text, '


') !== false && stripos($text, '

') !== false )
    {
        $code = substr($text, stripos($text, '


')+6, stripos($text, '

') - stripos($text, '


') - 6);
		        if(!is_int($rows / 2)) { $bgcolor = 'ABED25'; } else { $bgcolor = '23ED25'; } $rows++;
		        $text = str_ireplace('[code]'.$code.'

', '<i>Code:</i><br /><table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #CCCCCC; border-width: 2px"><tr><td>'.$code.'</td></tr></table>', $text);


    }
    $rows = 0;
    while(stripos($text, '

 
') !== false && stripos($text, '
') !== false )
    {
        $quote = substr($text, stripos($text, '
 
')+7, stripos($text, '
') - stripos($text, '
 
') - 7);

        if(!is_int($rows / 2)) { $bgcolor = 'AAAAAA'; } else { $bgcolor = 'CCCCCC'; } $rows++;
        $text = str_ireplace('
    }
    $rows = 0;
    while(stripos($text, '') !== false && stripos($text, '') !== false )
    {
        $url = substr($text, stripos($text, '')+5, stripos($text, '') - stripos($text, '') - 5);
        $text = str_ireplace(''.$url.'', '<a href="'.$url.'" target="_blank">'.$url.'</a>', $text);
    }
    while(stripos($text, '[player]') !== false && stripos($text, '[/player]') !== false )
    {
        $player = substr($text, stripos($text, '[player]')+8, stripos($text, '[/player]') - stripos($text, '[player]') - 8);
        $text = str_ireplace('[player]'.$player.'[/player]', '<a href="?subtopic=&name='.urlencode($player).'">'.$player.'</a>', $text);
    }
     while(stripos($text, '[letter]') !== false && stripos($text, '[/letter]') !== false )
    {
        $letter = substr($text, stripos($text, '[letter]')+8, stripos($text, '[/letter]') - stripos($text, '[letter]') - 8);
        $text = str_ireplace('[letter]'.$letter.'[/letter]', '<img src="images/letters/letter_martel_'.$letter.'.gif">', $text);
    }
    while(stripos($text, ') !== false && stripos($text,') !== false )
    {
        $img = substr($text, stripos($text, ')+5, stripos($text,') - stripos($text, 'imageproxy.php?img=&key=1c42e1f98aa3c286') - 5);
        $text = str_ireplace('.$img.', '<img src="'.$img.'">', $text);
    }
    while(stripos($text, '') !== false && stripos($text, '') !== false )
    {
        $b = substr($text, stripos($text, '')+3, stripos($text, '') - stripos($text, '') - 3);
        $text = str_ireplace(''.$b.'', '<b>'.$b.'</b>', $text);
    }
    while(stripos($text, '') !== false && stripos($text, '') !== false )
    {
        $i = substr($text, stripos($text, '')+3, stripos($text, '') - stripos($text, '') - 3);
        $text = str_ireplace(''.$i.'', '<i>'.$i.'</i>', $text);
    }
    while(stripos($text, '') !== false && stripos($text, '') !== false )
    {
        $u = substr($text, stripos($text, '')+3, stripos($text, '') - stripos($text, '') - 3);
        $text = str_ireplace(''.$u.'', '<u>'.$u.'</u>', $text);
    }
    return replaceSmile($text, $smile);
}

function showPost($topic, $text, $smile)
{
    $text = nl2br($text);
    $post = '';
    if(!empty($topic))
        $post .= '<b>'.replaceSmile($topic, $smile).'</b>';
    $post .= replaceAll($text, $smile);
    return $post;
}

if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] && $action != 'newnews')
    {
        $main_content .= '
            <font style="font-size: 16px; font-weight: bold; margin-left: 20px;">Adding News</font>
            <form action="index.php?subtopic=latestnews&action=newnews" method="post" >
                <table border="0">
                    <tr>
                        <td bgcolor="D4C0A1" align="center"><b>Select icon:</b></td>
                        <td>
                            <table border="0">
                                <tr bgcolor="F1E0C6">
                                    <td><img src="'.$layout_name.'/images/news/icon_0.gif" width="20"></td>
                                    <td><img src="'.$layout_name.'/images/news/icon_1.gif" width="20"></td>
                                    <td><img src="'.$layout_name.'/images/news/icon_2.gif" width="20"></td>
                                    <td><img src="'.$layout_name.'/images/news/icon_3.gif" width="20"></td>
                                    <td><img src="'.$layout_name.'/images/news/icon_4.gif" width="20"></td>
                                </tr>
                                <tr bgcolor="D4C0A1">
                                    <td><input type="radio" name="icon_id" value="0" checked="checked"></td>
                                    <td><input type="radio" name="icon_id" value="1" /></td>
                                    <td><input type="radio" name="icon_id" value="2" /></td>
                                    <td><input type="radio" name="icon_id" value="3" /></td>
                                    <td><input type="radio" name="icon_id" value="4" /></td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                <tr>
                    <td align="center" bgcolor="F1E0C6"><b>Topic:</b></td>
                    <td><input type="text" name="topic" maxlenght="50" style="width: 300px" ></td>
                </tr>
                <tr>
                    <td align="center" bgcolor="D4C0A1"><b>News<br>text:</b></td>';
                //Tiny Editor
                $main_content .= '
                    <script type="text/javascript" src="'.$layout_name.'/tiny_mce/tiny_mce.js"></script>
                    <script type="text/javascript">
                        tinyMCE.init({
                            // General options
                            mode : "textareas",
                            theme : "advanced",
                            plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks",
                    
                            // Theme options
                            theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
                            theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
                            theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,ltr,rtl",
                            theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
                            theme_advanced_toolbar_location : "top",
                            theme_advanced_toolbar_align : "left",
                            theme_advanced_statusbar_location : "bottom",
                            theme_advanced_resizing : true,
                    
                            // Example content CSS (should be your site CSS)
                            content_css : "css/content.css",
                    
                            // Drop lists for link/image/media/template dialogs
                            template_external_list_url : "lists/template_list.js",
                            external_link_list_url : "lists/link_list.js",
                            external_image_list_url : "lists/image_list.js",
                            media_external_list_url : "lists/media_list.js",
                    
                            // Style formats
                            style_formats : [
                                {title : \'Bold text\', inline : \'b\'},
                                {title : \'Red text\', inline : \'span\', styles : {color : \'#ff0000\'}},
                                {title : \'Red header\', block : \'h1\', styles : {color : \'#ff0000\'}},
                                {title : \'Example 1\', inline : \'span\', classes : \'example1\'},
                                {title : \'Example 2\', inline : \'span\', classes : \'example2\'},
                                {title : \'Table styles\'},
                                {title : \'Table row 1\', selector : \'tr\', classes : \'tablerow1\'}
                            ],
                    
                            // Replace values for the template plugin
                            template_replace_values : {
                                username : "Some User",
                                staffid : "991234"
                            }
                        });
                    </script>';
                $main_content .= '
                    <td bgcolor="F1E0C6">
                        <textarea name="text" id="elm1" rows="6" cols="60"></textarea>
                    </td>
                </tr>
                <tr>
                    <td width="180"><b>Character:</b></td>
                    <td>
                        <select name="char_id">
                           <option value="0">(Choose character)</option>';
                            foreach($account_logged->getPlayers() as $player)
                            {
                             $main_content .= '<option value="'.$player->getID().'">'.$player->getName().'</option>';
                            }       
                            $main_content .= '       
                          </select>
                    </td>
                </tr>
                <tr>
                    <td>
                        <div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div>
                        <input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" >
                    </div>
                </div>
            </form>
        </td>
    </tr>
</table>
<hr/>';
}


    $last_threads = $SQL->query('SELECT ' . $SQL->tableName('players') . '.' . $SQL->fieldName('name') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_text') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_topic') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('icon_id') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_smile') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('replies') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_date') . ' FROM ' . $SQL->tableName('players') . ', ' . $SQL->tableName('z_forum') . ' WHERE ' . $SQL->tableName('players') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('author_guid') . ' AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('section') . ' = 1 AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('first_post') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ' ORDER BY ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('last_post') . ' DESC LIMIT ' . $config['site']['news_limit'])->fetchAll();
    
    //Here start news
    if(isset($last_threads[0]))
    {
        foreach($last_threads as $thread)
        {
            $main_content .= '
                <div class="NewsHeadline">
                    <div class="NewsHeadlineBackground" style="background-image:url('.$layout_name.'/images/news/newsheadline_background.gif)">
                        <img src="'.$layout_name.'/images/news/icons/newsicon_'.$thread['icon_id'].'.gif" class="NewsHeadlineIcon" alt=\'\' />
                        <div class="NewsHeadlineDate">'.date('M m Y', $thread['post_date']).' -</div>
                        <div class="NewsHeadlineText">'.htmlspecialchars($thread['post_topic']).'</div>
                    </div>
                </div>
                <table style=\'clear:both\' border=0 cellpadding=0 cellspacing=0 width=\'100%\'>
                <tr>';
            $main_content .= '
                <td style=\'padding-left:10px;padding-right:10px;\' >' . showPost('', $thread['post_text'], $thread['post_smile']) . '<br><p align="right"><a href="?subtopic=forum&action=show_thread&id=' . $thread['id'] . '">» Comment on this news</a></p></td>';
        
            $main_content .= '
                <td>
                    <img src="'.$layout_name.'/images/global/general/blank.gif" width=10 height=1 border=0 alt=\'\' />
                </td>
            </tr>
        </table><br />';
        }
    }
    else
        $main_content .= '<h3>No news. Go forum and make new thread on board News.</h3>';

 

 
'.$quote.'
', '<table cellpadding="0" style="background-color: #'.$bgcolor.'; width: 480px; border-style: dotted; border-color: #007900; border-width: 2px"><tr><td>'.$quote.'</td></tr></table>', $text);

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

  • Respostas 8
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

@Emanueldk Não tem segredo a senha e o banco de dados que voce cria no phpmyadmin tem que ser a mesma que coloca no config.lua.... confere se nao esta em sqlite no config dai troca pra mysql cara tem muito tutorial explicando isso pq é bem simples.

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.6k

Informação Importante

Confirmação de Termo