Перейти к публикации

Интеграция небольшого скрипта в DLE


Рекомендованные сообщения

Все привет, кого давно не видел.

Сабж, никак не могу интегрировать скрипт в DLE. Не хватает знаний по этому поводу. Буду рад любой помощи. Спасибо.

Имеются файлы:

ban.php


<?PHP

function MakeSelection($sql)

{

	include "config.php";

	$conn = mysql_connect($host, $login, $password);

	if (!$conn)

	{

		echo "Unable to connect to DB: " . mysql_error();

	}

	if (!mysql_select_db($db))

	{

		echo "Unable to select mydbname: " . mysql_error();

	}


	$result = mysql_query($sql);

	if (!$result)

	{

		echo "Could not successfully run query ($sql) from DB: " . mysql_error();

	}

	else

	{

		while ($row = mysql_fetch_assoc($result))

		{

			$user[] = $row;

		}

	}

	mysql_free_result($result);

	mysql_close($conn);

	return $user[0];

}

	include "config.php";

	if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {$addr = $_SERVER["HTTP_X_FORWARDED_FOR"];} else {$addr = $_SERVER["REMOTE_ADDR"];}

	$sql  = "Select * from ".$table." where ipcookie='".$addr."' ORDER BY banid DESC";

	$user = MakeSelection($sql);

	setcookie("SuperBan", $user["uid"], time()+315360000);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">

<html>

<head>

<title>Cstrike MOTD</title>

<style type="text/css">

pre  {

  font-family:Verdana,Tahoma;

  color:#FFB000;

	 }

body {

  background:#000000;

  margin-left:8px;

  margin-top:0px;

  }

a {

	 text-decoration:	underline;

}

a:link  {

	color:  #FFFFFF;

	}

a:visited   {

	color:  #FFFFFF;

	}

a:active	{

	color:  #FFFFFF;

	}

a:hover {

	color:  #FFFFFF;

	text-decoration:	underline;

	}

</style>

</head>

<body scroll="no">

<pre>

</pre>

</body>

</html>

check.php

<?PHP

include "config.php";

if (isset($_COOKIE["SuperBan"]))

{

    $conn = mysql_connect($host, $login, $password);

    if ($conn)

    {

	    if (mysql_select_db($db))

	    {

		    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {$addr = $_SERVER["HTTP_X_FORWARDED_FOR"];} else {$addr = $_SERVER["REMOTE_ADDR"];}

		    mysql_query("UPDATE ".$table." SET ipcookie='".$addr."', bantime=UNIX_TIMESTAMP(NOW()) WHERE uid='".mysql_real_escape_string($_COOKIE["SuperBan"])."'");

	    }

    }

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">

<html>

<!-- <meta http-equiv="Refresh" content="0; URL=motd.html"> -->

<head>

<title>Cstrike MOTD</title>

<style type="text/css">

pre  {

  font-family:Verdana,Tahoma;

  color:#FFB000;

	 }

body {

  background:#000000;

  margin-left:8px;

  margin-top:0px;

  }

a {

	 text-decoration:    underline;

}

a:link  {

    color:  #FFFFFF;

    }

a:visited   {

    color:  #FFFFFF;

    }

a:active    {

    color:  #FFFFFF;

    }

a:hover {

    color:  #FFFFFF;

    text-decoration:    underline;

    }

</style>

</head>

<body scroll="no">

<pre>

This server is using plugin <b>amx_superban</b> by Lukmanov Ildar!

</pre>

</body>

</html>

config.php

<?php

$host = "**.***.***.**";

$login = "*************";

$password = "**************";

$db = "************";

$table = "************";

$lines = 25;

$bgcolor = "#FFFFFF";

$font_size = "10pt";

$font_color = "#000000";

$top_color = "#DDDDDD";

$line_odd_color = "#EEEEEE";

$line_even_color = "#DDDDDD";

$line_add_color = "#EEEEEE";

$bottom_color = "#EEEEEE";

$page_color = "#DDDDDD";

$cursor_color = "#BBBBBB";

?>

index.php

<?PHP

// Делает выборку из таблицы superban

include "config.php";

function MakeSelection($sql)

{

global $host, $login, $password, $db;

$conn = mysql_connect($host, $login, $password);

mysql_set_charset('utf8', $conn);

if (!$conn)

{

  echo "Unable to connect to DB: " . mysql_error();

}

if (!mysql_select_db($db))

{

  echo "Unable to select mydbname: " . mysql_error();

}

$result = mysql_query($sql);

if (!$result)

{

  echo "Could not successfully run query ($sql) from DB: " . mysql_error();

}

else

{

  while ($row = mysql_fetch_assoc($result))

  {

   $users[] = $row;

  }

}

mysql_free_result($result);

mysql_close($conn);

return $users;

}

// Выбирает что и как запрашивать из таблицы

function BottomPanel()

{ global $table, $lines;

if ($_GET["search"] == "") $sql  = "Select * from ".$table." order by banid desc";

else

{

  $search = mysql_escape_string($_GET["search"]);

  $sql  = "Select * from ".$table." where ip like '%".$search."%' or banname like '%".$search."%' or name like '%".$search."%' order by banid desc";

}

$users = MakeSelection($sql);

//Печатаем резальтат

PrintResult($users);

}

// Печатает результат запроса

function PrintResult($array)

{

global $top_color, $line_odd_color, $line_even_color, $bottom_color, $page_color, $cursor_color, $lines, $line_add_color;

print("

    <tr align = left bgcolor = \"".$top_color."\">

	  <td><b>Дата [время]</b></td>

	  <td><b>Ник игрока</b></td>

	  <td><b>Ник админа</b></td>

	  <td><b>Причина<b></td>

	  <td><b>Статус бана<b></td>

    </tr>");

if (count($array) > 0)

{

  if (isset($_GET["page"])) {$p = ($_GET["page"]-1)*$lines;} else {$p = 0;}

  for ($i = $p; $i < $p+$lines and $i < count($array); $i++)

  {

   if (intval($array[$i]['unbantime']) > 0) {$unban = (($array[$i]['unbantime']-$array[$i]['time'])/60)." мин.";}

   if (intval($array[$i]['unbantime']) == 0) {$unban = "Навсегда";}

   if (intval($array[$i]['unbantime']) == -1) {$unban = "Разбанен";}

   if ($array[$i]['reason'] == "") {$reason = "Не указана";} else {$reason = $array[$i]['reason'];}

   if ($flag)

   {

    $flag = false;

    $color = $line_even_color;

   }

   else

   {

    $flag = true;

    $color = $line_odd_color;

   }

   print("

    <tr align = left bgcolor = \"".$color."\" onMouseOver=\"this.style.backgroundColor='".$cursor_color."'\" onMouseOut=\"this.style.backgroundColor='".$color."'\" onClick=\"Toggle(dop".$i.")\">

	  <td>".date("d.m.Y [H:i]", $array[$i]['time'])."</td>

	  <td>".htmlspecialchars($array[$i]['banname'])."</td>

	  <td>".$array[$i]['admin']."</td>

	  <td>".$reason."</td>

	  <td>".$unban."</td>

    </tr>");

	  if ($array[$i]['bantime'] == 0) $bantime = date("d.m.Y [H:i]", $array[$i]['time']);

	  else $bantime = date("d.m.Y [H:i]", $array[$i]['bantime']);

		    if (intval($array[$i]['unbantime']) > 0) $unban = date("d.m.Y [H:i]", $array[$i]['unbantime']);

		    else $unban = "-";

   print("

    <tr align = left bgcolor = \"".$line_add_color."\" id = \"dop".$i."\" style = \"display: none;\">

	  <td colspan=\"5\"><b>Последний визит: </b>".$bantime."<br><b>Последний IP адрес: </b>".$array[$i]['ip']."<br><b>Последний ник: </b>".$array[$i]['name']."<br><b>Дата окончания бана: </b>".$unban."</td>

    </tr>");

}


  print("<tr align = left bgcolor = \"".$bottom_color."\"><td colspan = 5>");

  if (ceil(count($array)/$lines) > 1)

  {

   for ($i = 1; $i <= ceil(count($array)/$lines); $i++)

   {

    if (isset($_GET["page"])) {$p = $_GET["page"];} else {$p = 1;}

    if ($p == $i)

    {

	 Print("<font style=\"background-color: #BBBBBB;\">  ".$i."  </font> ");

    }

    else

    {

	 Print("<a href = \"?page=".$i."\" style=\"background-color: ".$page_color.";\" onMouseOver=\"this.style.backgroundColor='".$cursor_color."'\" onMouseOut=\"this.style.backgroundColor='".$page_color."'\">  ".$i."  </a> ");

    }

   }

  }

  print(" </td></tr>");

}

}

// Делает запрсс из таблицы superban

function SqlQuery()

{

global $font_size, $font_color;

echo "<form name=\"search\" method=\"get\" style=\"font-family: Verdana; font-size: ".$font_size."; color: ".$font_color."\"> Поиск: <input type=\"text\" name=\"search\" value=\"".$_GET["search"]."\"><input type=\"submit\" value=\"Искать\"></form>";

echo "<table align=\"center\" border = 0 cellpadding = 3 cellspacing = 3 width = 100% style=\"font-family: Verdana; font-size: ".$font_size."; color: ".$font_color."\">";

BottomPanel();

echo "</table>";

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

  <meta http-equiv="content-type" content="text/html; charset=utf-8">

  <title>Бан-лист</title>

  <script>

  function Toggle(el)

  {

el.style.display = (el.style.display == 'none') ? '' : 'none'

  }

  </script>

  <style type="text/css">

  a {

    text-decoration:    none;

}

  a:link  {

    color: <?echo $font_color?>;

    }

  a:visited   {

    color: <?echo $font_color?>;

    }

  a:active    {

    color: <?echo $font_color?>;

    }

  a:hover {

    color: <?echo $font_color?>;

    }

  </style>

  </head>

  <body bgcolor = "<?echo $bgcolor?>">

  <?SqlQuery()?>

  </body>

</html>

Вот это чудо нужно вывести на страничку, допустим: bans Начал делать следующее: engine/engine.php добавил:

case "bans" :

  include ENGINE_DIR . '/bans/index.php';

  break;

далее добавил:

elseif ($do == 'bans') $titl_e="Банлист Counter Strike 1.6";

затем в htacces добавил следующее:

RewriteRule ^bans index.php?do=bans [L]

=================

Вроде всё правильно сделал, но выводит не вместе с тегом {content} а в самом верху странички, и затем ещё кодировка на всём сайте сбивается.

Помогите пожалуйста разобраться, без пива не оставлю.

  • Поддерживаю 1
Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...