Проверено

VDS-хостинг - именно на этом хостинге работает наш сайт.
Sape - биржа временных ссылок, доход 80р/день.
Trustlink - биржа временных ссылок, доход 60р/день.
Telderi - здесь покупаю сайты для дальнейшего заработка.

Партнеры

Холодильный агрегат лучший. Холодильные агрегаты битцер в бар .
garantpromholod.ru
Модульные прихожие с доставкой. Заказать модульные системы прихожих .
mebelexpress.ru

Система Друзья Сайта

Система Друзья Сайта


[spoiler=1. Запрос в базу]

CREATE TABLE `friendsblock` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `added` datetime default NULL,
  `image` text NOT NULL,
  `descr` text NOT NULL,
  `url` text NOT NULL,
  `visible` enum('yes','no') NOT NULL default 'yes',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=cp1251 */;  

[spoiler]


Создаем файл в папке /blocks/block-friends.php
и вставляем содержимое
[spoiler]

<?
if (!defined('BLOCK_FILE')) {
header("Location: ../index.php");
exit;
}

$blocktitle = "Друзья <font class="small"> - [<a class="altlink" href="contact.php"><b>Добавить</b></a>]</font>";

$time_to_update = 60 * 60; // Обновить блок через 60 мин.
$content = ReadCache ( 'sytes_knopki', $time_to_update, $time_updating );
if (! $content) {
$content.="<style>.effect {FILTER: alpha(opacity=50); -moz-opacity: .50; opacity: .50;}</style>
<center><table id="table10" style="WIDTH: 130px" cellSpacing="0" cellPadding="0" border="0">
<tr>
<td  class=bgborder  style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px">

<tr>
<td  width="100%"><br>
<br>
<br>

<script>
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
if (object != '[object]'){ //do this so I can take a string too
setTimeout('nereidFade('+object+','+destOp+','+rate+','+delta+')',0);
return;
}
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp-object.filters.alpha.opacity;
direction = 1;
if (object.filters.alpha.opacity > destOp){
direction = -1;
}
delta=Math.min(direction*diff,delta);
object.filters.alpha.opacity+=direction*delta;
if (object.filters.alpha.opacity != destOp){
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout('nereidFade(nereidFadeObjects['+object.sourceIndex+'],'+destOp+','+rate+','+delta+')',rate);
}
} </script>

<CENTER><MARQUEE BEHAVIOR='SCROLL' ALIGN='CENTER' VALIGN='BOTTOM' DIRECTION='UP' SCROLLAMOUNT='2' SCROLLDELAY='1' onmouseover='this.stop()' onmouseout='this.start()'>
<div align='center'>
<table class='FormTABLE' cellpadding='4' cellspacing='0'>
";


$res = sql_query("SELECT * FROM friendsblock WHERE visible='yes' ORDER BY added DESC") or sqlerr(__FILE__, __LINE__);
while ($arr = mysql_fetch_assoc($res))


$content.="<tr><td height='5' class=bgborder><p align='center'><a href='$arr[url]' target='_blank'><img class=effect onmouseover="this.className='effect1'" onmouseout="this.className='effect'" src='$arr[image]' width='88' height='31' border='0' style='filter:alpha(opacity=30)' onmouseover='nereidFade(this,100,10,30)' onmouseout='nereidFade(this,30,10,5)' style="max-width:600px;" alt='$arr[descr]'></a>
</a>n";

//}

$content.="</td></p></center></a></td></tr> </table></MARQUEE></p><p></p></td></p></center></a></td></tr></p><p></p></table>";

$content = WriteCache ( $content );
}


?>

[spoiler]

Создаем в корне файл friensblockadd.php
и вставляем содержимое

[spoiler]
<?
require_once("include/bittorrent.php");
dbconn(false);
validcan(false, 'can_admin');
//////////////////////
function bark($msg) {
stdhead();
stdmsg("Ошибка!", $msg);
stdfoot();
exit;
}

if ($_SERVER["REQUEST_METHOD"] == "POST" && $_SERVER["REQUEST_METHOD"] <> "GET"){

if (($_POST["image"] || $_POST["descr"] || $_POST["url"]) && empty($_POST["action"])){

if (empty($_POST["image"]))
bark("Введите URL адрес кнопки.");

if (!preg_match('#^((http)|(https)://[a-zA-Z0-9-]+?.([a-zA-Z0-9-]+.)+[a-zA-Z]+(:[0-9]+)*/.*?.(gif|jpg|jpeg|png)$)#is', $_POST["image"])){
bark("Неверный URL Кнопки");
}
$image = sqlesc(htmlspecialchars($_POST["image"]));

if (empty($_POST["descr"]))
bark("Введите описание.");
$descr = sqlesc(htmlspecialchars($_POST["descr"]));

if (empty($_POST["url"]))
bark("Введите url сайта.");

if (!preg_match("/^(http(s)?://)(([^/]+.)+)w{2,}(/)?.*$/i", $_POST["url"])){
stderr("Ошибка", "Неверный URL Сайта");
}

$url = sqlesc(htmlspecialchars($_POST["url"]));

$added = sqlesc(get_date_time());

$visible=sqlesc($_POST["visible"]=="yes"? "yes":"no");

sql_query("INSERT INTO friendsblock (added,image,descr,url,visible) VALUES($added,$image,$descr,$url,$visible)") or sqlerr(__FILE__, __LINE__);
$user = $CURUSER["username"];
$user_color = get_user_group_color($CURUSER["group"], $CURUSER[username]);

write_log("Пользователь $user добавил друга $descr ($url)","$user_color","other");

//@unlink(ROOT_PATH."include/cache/block-friends.txt");


@header("Location: friensblockadd.php");
}
}

////
$action = htmlentities($_GET["action"]);

if (empty($action))
$action = htmlentities($_POST["action"]);


if ($action == 'delete'){
$id = (int) $_GET["id"];
if (!is_valid_id($id))
stderr("Ошибка","Не верный id");

$sure = $_GET["sure"];

if (!$sure)
stderr("Удалить","Действительно удалить? Жмиn" . "<a href=".htmlentities($_SERVER['PHP_SELF'])."?action=delete&id=$id&sure=1>сюда</a> если уверены.");

$query = sql_query("SELECT descr,url FROM friendsblock WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);
$query_view = mysql_fetch_array($query);
$descr=$query_view["descr"];
$url=$query_view["url"];

sql_query("DELETE FROM friendsblock WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);

$user = $CURUSER["username"];
$user_color = get_user_group_color($CURUSER["group"], $CURUSER[username]);

write_log("Пользователь $user удалил друга $descr ($url)","$user_color","other");

@header("Location: friensblockadd.php");
}

if ($action == 'vi'){
$id = (int) $_GET["id"];
$vis = ($_GET["visible"]=="yes"? "yes":"no");

$ress = mysql_query("SELECT visible FROM friendsblock WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);
$arrr = mysql_fetch_array($ress);
$visk=$arrr["visible"];

if ($vis<>$visk){
sql_query("UPDATE friendsblock SET visible='$vis' WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);
}

@header("Location: friensblockadd.php");
}

if ($action == 'edit'){

$id = (int) $_GET["id"];

if (!is_valid_id($id))
stderr("Ошибка","Не верный id");

$res = mysql_query("SELECT * FROM friendsblock WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) != 1)
stderr("Ошибка", "Нет Друзей с ID $id.");

$arr = mysql_fetch_array($res);

if ($_SERVER['REQUEST_METHOD'] == 'POST'){

$image = $_POST['image'];
if ($image == "")
stderr("Ошибка", "Введите URL Кнопки!");

if (!preg_match('#^((http)|(https)://[a-zA-Z0-9-]+?.([a-zA-Z0-9-]+.)+[a-zA-Z]+(:[0-9]+)*/.*?.(gif|jpg|jpeg|png)$)#is', $image)){
bark("Неверный URL Кнопки");
}

$descr = $_POST['descr'];
if ($descr == "")
stderr("Ошибка", "Введите описание!");
$url = $_POST['url'];
if ($url == "")
stderr("Ошибка", "Введите URL Сайта!");

if (!preg_match("/^(http(s)?://)(([^/]+.)+)w{2,}(/)?.*$/i", $url)){
stderr("Ошибка", "Неверный URL Сайта");
}

$image = sqlesc(htmlspecialchars($image));
$descr = sqlesc(htmlspecialchars($descr));
$url = sqlesc(htmlspecialchars($url));

$visible=sqlesc($_POST["visible"]=="yes"? "yes":"no");

sql_query("UPDATE friendsblock SET image=$image,descr=$descr,url=$url,visible=$visible WHERE id=".sqlesc($id)."") or sqlerr(__FILE__, __LINE__);

@header("Location: friensblockadd.php");

}
else
{
//$returnto = htmlentities($_GET['returnto']);

stdhead();
begin_frame("Редактировать .:. " . htmlspecialchars($arr["url"]) . "");

print("<form method=post action=friensblockadd.php?action=edit&id=$id>n");
print("<table width=100% border=0 cellspacing=0 cellpadding=5>
<input type="hidden" name="action" value="edit" />
n");

print("<tr><td><b>URL Кнопки</b>: </td><td colspan=2 align=left><input type=text size=90 name=image value="" . htmlspecialchars($arr["image"]) . ""><br></tr>n");
print("<tr><td><b>Описание</b>: </td><td colspan=2 align=left><textarea name=descr rows=4 cols=90>" . htmlspecialchars($arr["descr"]) . "</textarea></tr>n");
print("<tr><td><b>URL Сайта</b>: </td><td colspan=2 align=left><input type=text size=90 name=url value="" . htmlspecialchars($arr["url"]) . ""><br></tr>n");
print("<tr><td><b>Видимый в блоке</b>: </td><td colspan=2 align=left><input type="radio" name="visible"" . ($arr["visible"] == "yes" ? " checked" : "") . " value="yes">Да <input type="radio" name="visible"" . ($arr["visible"] == "no" ? " checked" : "") . " value="no">Нет<br /></tr>n");
print("<tr><td></td>
<td colspan=2 align=left><input type=submit value='Отредактировать' class=btn><br></tr>
n");

print("</form></table>n");

end_frame();
stdfoot();
die("Тут ничего нет");
}

@header("Location: friensblockadd.php");
}

//if (!$action == 'edit' && !$action == 'delete')
//stderr("Ошибка", "Непонятное действие для обработки.");


//////////////////
stdhead("Добавить в друзья");
begin_frame("Добавить в друзья");
?>
<div align=center>
<form action="friensblockadd.php" method="post">
<table border="0" cellspacing="0" cellpadding="5">
<?
tr("URL Картинки", "<input type="text" name="image" size="80" /><br>(Залить кнопку на <a href=http://img293.imageshack.us>http://img293.imageshack.us</a>)", 1);
tr("Описание", "<textarea name="descr" rows="10" cols="80"></textarea>", 1);
tr("URL Сайта", "<input type="text" name="url" size="80" /><br />n", 1);
tr("Видимый в блоке", "<input type="radio" name="visible" checked value="yes">Да <input type="radio" name="visible" value="no">Нетn", 1);
?>
<tr><td align="center" colspan="2"><input type="submit" value="Добавить!" /></td></tr>
</table>
</form>
<?
end_frame();
$res2 = sql_query("SELECT count(id) FROM friendsblock") or die(mysql_error());
$row = mysql_fetch_array($res2);
$url = " .$_SERVER[PHP_SELF]?";
$count = $row[0];
$perpage = 15;
list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, $url);

begin_frame("Редактировать Друзей");

if ($count == 0)
print("<p align=center><b>Извините тут ничего, нет :(</b></p>n");
else
{
print("<table width=100% id=torrenttable cellpadding=4 cellspacing=1 bgcolor=#000000 border=0 >n");
print("<tr>
<td class=a>Кнопка</td>
<td class=a align=left>Описание</td>
<td class=a>URL Сайта / Добавлен</td>
<td class=a>Действие</td>
</tr>n");
$res = sql_query("SELECT * FROM friendsblock ORDER BY added DESC $limit") or sqlerr(__FILE__, __LINE__);
while ($arr = mysql_fetch_assoc($res))
{
print("<tr>
<td class=a width='18'>
".($arr["visible"]=="yes"? "<a href=friensblockadd.php?action=vi&visible=no&id=" . $arr['id'] . "><img title="Скрыть показ в блоке" src='$arr[image]' border=0></a>":"<a href=friensblockadd.php?action=vi&visible=yes&id=" . $arr['id'] . "><img title="Показывать в блоке" src='$arr[image]' border=0></a>")."
</td>

<td class=b align=left>$arr[descr] </td>

<td class=b align=left><a href='$arr[url]'>$arr[url]</a> <br> $arr[added]</td>
<td class=a width='18' align=left>
<font class=middle>[<a href=friensblockadd.php?action=edit&id=" . $arr['id'] . "><b>Реда-ть</b></a>]
[<a href=friensblockadd.php?action=delete&id=" . $arr['id'] . "><b>Удалить</b></a>]</font>
</td>
</tr>n");
}
print("</table>n");
echo $pagerbottom;
}
end_frame();
stdfoot();
?>
[/spoiler]

Создаем файл в adminlinkslinks.friend.php
и вставляем содержимое
[spoiler]

<?php
if (! defined ( "ADMIN_FILE" ))
   die ( "Illegal File Access" );

BuildMenu ( "friensblockadd.php", "Друзья трекера", "users.png" );

?>
[/spoiler]

Другие новости по теме: