Postado Setembro 21, 2018 6 anos 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 serverFile: C:\xampp\htdocs\classes/database_mysql.php Line: 22File: C:\xampp\htdocs\classes/database.php Line: 199File: C:\xampp\htdocs\pages/latestnews.php Line: 32File: C:\xampp\htdocs\system/load.page.php Line: 7File: 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'].'">» 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 ) { $img = substr($text, stripos($text, '') - stripos($text, '') - 5); $text = str_ireplace('', '<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 Setembro 22, 2018 6 anos por Emanueldk (veja o histórico de edições)
Postado Setembro 22, 2018 6 anos @Emanueldk Alguma configuraçao para conectar esta errada. Ele diz que nao consegue conectar com o banco de dados.
Postado Setembro 22, 2018 6 anos Autor @Mazarati 6 horas atrás, Mazarati disse: @Emanueldk Alguma configuraçao para conectar esta errada. Ele diz que nao consegue conectar com o banco de dados. me ajuda a configurar?
Postado Setembro 23, 2018 6 anos @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.
Postado Setembro 23, 2018 6 anos Autor @Mazarati ta tudo certo, tanto no config.lua da pasta do servidor quanto do site
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.