Мод Очень Хороший
Автор Мода: Slaed
Браузеры: Во всех работает
в файле my.php
Найти:
tr($tracker_lang['my_avatar_url'], "<input name=avatar size=50 value=\"" . htmlspecialchars($CURUSER["avatar"]) .
"\"><br />\n".sprintf($tracker_lang['max_avatar_size'], $avatar_max_width, $avatar_max_height),1);
Заменить:
tr("Адрес аватары", "<input name=avatar size=50 value=\"" . htmlspecialchars($CURUSER["avatar"]) .
"\"> [<b><span style='cursor:pointer;' title='Загрузить аватару' onmouseover='this.style.color=\"red\";' onmouseout='this.style.color=\"\";'
onClick=\"javascript:window.open('uploadavatar.php', '', 'width=500, height=380, toolbar=no, resizable=no, status=no, scrollbars=yes');\">Загрузить</span></b>] <br>\nРазмеры аватарки должны быть не более 100x100 пикселей.",1);
tr("Торрентов на страницу", "<input type=text size=10 name=torrentsperpage value=$CURUSER[torrentsperpage]> (0 = установки по умолчанию)",1);
tr("Сообщений на страницу", "<input type=text size=10 name=postsperpage value=$CURUSER[postsperpage]> (0 = установки по умолчанию)",1);
tr("Показывать аватары", "<input type=checkbox name=avatars" . ($CURUSER["avatars"] == "yes" ? " checked" : "") . "> (Пользователи с маленькими каналами могут отключить эту опцию)",1);
print("<tr><td class=\"heading\" valign=\"top\" align=\"right\">Информация</td><td valign=\"top\" align=\"left\">");
Потом создать файл uploadavatar.php
C таким содержимым:
<?
////////////////////////////////////////////////////////////////////
// Проект: TBDev Catarr Edition
// Данная разработка распростроняется на не комерческих условиях
// Если где либо будет распространятся данная сборка за деньги, будет бан всей под сети в движке и на сайте разработки.
// По каким либо вопросам писать в ICQ: 6227714 с пометкой на адресс вашего трекера и ваш вопрос.
// С уважением ваш Иван Рут aka catarr
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Мод Аватары от Slaed
// Аватары
/////////////////////////////////////////
require "include/bittorrent.php";
dbconn();
loggedinorreturn();function bark($msg) {
print("<font color=red><b>Ошибка...</font><br>$msg</b><br><br>
<a href=?>Повторить попытку?</a>");
die;
}if ($uploadavatar_on == "0")
die("<font color=red><b>Загрузка аваторов отключена</b></font>");?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?=$SITENAME?> :: Загрузка аватары</title>
</head>
<?
print "<center><h2>Загрузка аватары на сайт</h2></center>";// Проверяем путь к папке
$path=GetCWD()."/pic/avatars";
if(!file_exists($path)){
print("<b><font color=red>Папка для аватар отсутствует на сервере!</font><br>
Свяжитесь с <a href='contact.php' target='_blank'>Администрацией</a> сайта.</b>");
die;
}// Разрешенные типы
$allowed_types = array(
"image/gif" => "gif",
"image/pjpeg" => "jpg",
"image/jpeg" => "jpg",
"image/jpg" => "jpg",
"image/png" => "png"
);// Выводим форму для загрузки файла.
if(empty($_FILES['avatar']['tmp_name'])){
print ("<form method='post' enctype='multipart/form-data'>
<center><nobr><b>Выберите файл</b>: <input type='file' name='avatar'>
<input type='submit' value='Загрузить'></nobr></center></form>
<font color='red'><b>Требования к файлу для аватары</b>:<br>
- Картинка должна быть загружена с вашего компьютера!<br>
- Картинка должна быть не более <b>".($maxfilesize/1024)." килобайт</b><br>
- Допустимые форматы: <b>*.gif, *.jpg, *.png</b><br>
- Размер не больше <b>".$avatar_max_width." х ".$avatar_max_height." пикселей</b></font>");
} else {// Проверка на допустимые форматы
if (!array_key_exists($_FILES['avatar']['type'], $allowed_types))
bark("Неверный тип файла для аватары!");
if (!preg_match('/^(.+)\.(jpg|jpeg|png|gif)$/si', $_FILES['avatar']['name']))
bark("Загружаемый вами файл не является рисунком!");// Проверка размера аватары в кб
if ($_FILES['avatar']['size'] > $maxfilesize)
bark("Слишком большой размер файла (<font color='red'>".round($_FILES['avatar']['size']/1024,2)." кб.</font>)!<br>
Аватара должна быть <font color=red>менее ".($maxfilesize/1024)."kb</font>.");// Временное имя файла аватары
$ifile = $_FILES['avatar']['tmp_name'];// Проверка размера аватары в пикселях
if(!(list($width, $height) = getimagesize($ifile)))
bark("Неверный адрес аватары.");
if ($width > $avatar_max_width || $height > $avatar_max_height)
bark("Размеры картинки превышают <font color=red>".$avatar_max_width."</font> x <font color=red>".$avatar_max_height."</font> пикселей!<br>
Уменьшите картинку в любом графическом редакторе.");// Айди пользователя (добавится к имени аватары)
$id = $CURUSER['id'];// Путь к папке аватар
// Формируем имя файла для аватары
$ifilename = "avatar".$id.substr($_FILES['avatar']['name'], strlen($_FILES['avatar']['name'])-4, 4);
// Загрузка файла
$copy = copy($ifile, $uploadavatardir.$ifilename);// Ошибка загрузки
if(!copy){
print("<b><font color=red>Ошибка загрузки аватары на сервер!</font><br>
Свяжитесь с <a href='staff.php' target='_blank'>Администрацией</a> сайта.</b>");
die;
}###################### Аватара загружена ########################
// Узнаем старую аватару
$res = mysql_query("SELECT avatar FROM users WHERE id=".$id) or sqlerr(__FILE__, __LINE__);
$arr = mysql_fetch_array($res);if ($arr){ //если аватара установлена
if (preg_match("#^(".$DEFAULTBASEURL."\/".$uploadavatardir.")#i", $arr["avatar"])){ // если путь совпадает с путем в папку аватар на сайте
$delavatar = str_replace ("".$DEFAULTBASEURL."/".$uploadavatardir."", "", $arr["avatar"]); // имя аватары в базе
if ($delavatar != $ifilename){ // если старая аватара не совпадает с новой
print ("<b><font color='red'>Удалена старая аватара: ".$delavatar."</font></b><hr>");
unlink($uploadavatardir.$delavatar); // удаляем старую аватару
}
}
}// Обновляем аватару в базе
$adressavatar = $DEFAULTBASEURL."/".$uploadavatardir.$ifilename;
mysql_query("UPDATE users SET avatar=".sqlesc($adressavatar)." WHERE id=".$id) or sqlerr(__FILE__, __LINE__);print ("<b><font color='green'>Аватара загружена и записана в профиле!</font></b><hr>");
print ("Тип файла: <b>".$_FILES['avatar']['type']."</b> | ");
print ("Размер файла: <b>".round($_FILES['avatar']['size']/1024,2)." кб.</b><hr>");
print ("Ссылка:<br><b><a target='_blank' href='".$adressavatar."'>".$adressavatar."</a></b><br>");
print ("Аватара:<br><img border='0' src='".$adressavatar."' alt='Аватара'><hr>");print ("<div align='center'><b><a onclick=\"window.opener.document.location.replace('my.php'); window.close();\"
href='#'>Закрыть окно и обновить профиль</a></b></div>");}
?>
В файл include\config.php после строки:
$smtptype = "advanced";
Вставить:
//Мод Аватары Автор: Slaed
$uploadavatar_on = "1"; //Разрешить загрузку аваторов: 1-Да, 0-Нет.
$uploadavatardir = "pic/avatars/"; // Директория загрузки аватар
$maxfilesize = "102400"; // Допустимый размер в байтах (100кб)
$avatar_max_width = "100"; // Максимальная ширина аватары
$avatar_max_height = "100"; // Максимальная высота аватары
В папке pic Создать папку avatars
В папке avatars создать файл index.html
со следующим содержанием:
<center><h3><b>Доступ закрыт</b></h3></center>
Удачи!!!
Отредактировано Slaed (2009-01-11 22:57:58)