Забыли пароль?
Запросите новый здесь.

Автор темы: mishqa35
ID темы: 1250
Информация:
Тема содержит 11 сообщения, была просмотрена 6672 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
Иконки для сообщений на форуме
mishqa35
Модификация дает возможность выбрать иконку для первого сообщения на форуме. В архиве можно скачать картинки и измененные файлы под версию 7.02.xx, они же скорее всего подойдут и под 7.хх

Если будем делать ручками, вся процедура описана ниже
Файл viewforum.php
Найти
Скачать исходники  Код
$threadsubject = "<a href='viewthread.php?thread_id=".$tdata['thread_id']."'>".$tdata['thread_subject']."</a>";



Заменить на
Скачать исходники  Код
/* thread icons */
if($tdata['thread_icon']) $icon = "<img src='".IMAGES."post_icons/".$tdata['thread_icon']."' style='vertical-align: middle; border: 0;' /> "; else $icon = "";
$threadsubject = $icon."<a href='viewthread.php?thread_id=".$tdata['thread_id']."'>".$tdata['thread_subject']."</a>";
/* thread icons */




Файл viewthread.php
Найти
Скачать исходники  Код
$result = dbquery(
   "SELECT p.forum_id, p.thread_id, p.post_id, p.post_message, p.post_showsig, p.post_smileys, p.post_author,
   p.post_datestamp, p.post_ip, p.post_ip_type, p.post_edituser, p.post_edittime, p.post_editreason,
   u.user_id, u.user_name, u.user_status, u.user_avatar, u.user_level, u.user_posts, u.user_groups, u.user_joined,
      ".($user_field['user_sig'] ? " u.user_sig," : "").($user_field['user_web'] ? " u.user_web," : "")."
   u2.user_name AS edit_name, u2.user_status AS edit_status
   FROM ".DB_POSTS." p
   LEFT JOIN ".DB_USERS." u ON p.post_author = u.user_id
   LEFT JOIN ".DB_USERS." u2 ON p.post_edituser = u2.user_id AND post_edituser > '0'
   WHERE p.thread_id='".$_GET['thread_id']."' AND post_hidden='0'
   ORDER BY post_datestamp LIMIT ".$_GET['rowstart'].",$posts_per_page"
);



Заменить на
Скачать исходники  Код
/* thread icons */
$result = dbquery(
   "SELECT p.forum_id, p.thread_id, p.post_id, p.post_message, p.post_showsig, p.post_smileys, p.post_author,
   p.post_datestamp, p.post_ip, p.post_ip_type, p.post_edituser, p.post_edittime, p.post_editreason, t.thread_icon,
      u.user_id, u.user_name, u.user_status, u.user_avatar, u.user_level, u.user_posts, u.user_groups, u.user_joined,
   ".($user_field['user_sig'] ? " u.user_sig," : "").($user_field['user_web'] ? " u.user_web," : "")."
      u2.user_name AS edit_name, u2.user_status AS edit_status
   FROM ".DB_POSTS." p
   LEFT JOIN ".DB_THREADS." t ON p.thread_id=t.thread_id
   LEFT JOIN ".DB_USERS." u ON p.post_author = u.user_id
   LEFT JOIN ".DB_USERS." u2 ON p.post_edituser = u2.user_id AND post_edituser > '0'
   WHERE p.thread_id='".$_GET['thread_id']."' AND post_hidden='0'
   ORDER BY post_datestamp LIMIT ".$_GET['rowstart'].",$posts_per_page"
);
/* thread icons */



Найти
Скачать исходники  Код
echo "<div style='position:absolute' class='forum_thread_title'><!--forum_thread_title--><strong>".$fdata['thread_subject']."</strong></div>\n</td>\n</tr>\n";



Заменить на
Скачать исходники  Код
/* thread icons */
if($fdata['thread_icon'] != "0") $icon = "<img src='".IMAGES."post_icons/".$fdata['thread_icon']."' style='vertical-align: middle; border: 0;' /> "; else $icon = "";
echo "<div style='position:absolute' class='forum_thread_title'><!--forum_thread_title-->".$icon."<strong>".$fdata['thread_subject']."</strong></div>\n</td>\n</tr>\n";
/* thread icons */




Файл postnewthread.php
Найти
Скачать исходники  Код
$subject = trim(stripinput(censorwords($_POST['subject'])));



Ниже добавить
Скачать исходники  Код
$icons = stripinput($_POST['icons']); /* thread icons */



Найти
Скачать исходники  Код
echo "<td colspan='2' class='tbl2'><strong>".$subject."</strong></td>\n</tr>\n";



Заменить на
Скачать исходники  Код
/* thread icons */
if($icons != "0") $pre_icon = "<img src='".IMAGES."post_icons/".$icons."' style='vertical-align: middle; border: 0;' /> "; else $pre_icon = "";
echo "<td colspan='2' class='tbl2'>".$pre_icon."<strong>".$subject."</strong></td>\n</tr>\n";
/* thread icons */



Найти
Скачать исходники  Код
$subject = trim(stripinput(censorwords($_POST['subject'])));



Ниже добавить
Скачать исходники  Код
$icons = stripinput($_POST['icons']); /* thread icons */


Найти
Скачать исходники  Код
$result = dbquery("INSERT INTO ".DB_THREADS." (forum_id, thread_subject, thread_author, thread_views, thread_lastpost, thread_lastpostid, thread_lastuser, thread_postcount, thread_poll, thread_sticky, thread_locked) VALUES('".$_GET['forum_id']."', '$subject', '".$userdata['user_id']."', '0', '".time()."', '0', '".$userdata['user_id']."', '1', '".$thread_poll."', '".$sticky_thread."', '".$lock_thread."')");



Заменить на
Скачать исходники  Код
/* thread icons */
$result = dbquery("INSERT INTO ".DB_THREADS." (forum_id, thread_subject, thread_icon, thread_author, thread_views, thread_lastpost, thread_lastpostid, thread_lastuser, thread_postcount, thread_poll, thread_sticky, thread_locked) VALUES('".$_GET['forum_id']."', '$subject', '".$icons."', '".$userdata['user_id']."', '0', '".time()."', '0', '".$userdata['user_id']."', '1', '".$thread_poll."', '".$sticky_thread."', '".$lock_thread."')");
/* thread icons */



Найти
Скачать исходники  Код
$subject = "";



Ниже добавить
Скачать исходники  Код
$icons = ""; /* thread icons */



Найти
Скачать исходники  Код
echo "<td class='tbl1'><input type='text' name='subject' value='".$subject."' class='textbox' maxlength='255' style='width: 250px' /></td>\n";
echo "</tr>\n<tr>\n";



Ниже добавить
Скачать исходники  Код
/* thread icons */
echo "<td valign='top' width='145' class='tbl2'>Иконка:</td>\n";
echo "<td class='tbl1'>";
$iconlist = makefilelist(IMAGES."post_icons", ".|..|index.php|Thumbs.db", true);
$icon_list = "";
for ($i = 0; $i < count($iconlist); $i++) {
   $checked = ($icons == $iconlist[$i] ? " checked='checked'" : "");
   $icon_list .= "<label><input type='radio' name='icons' value='".$iconlist[$i]."'".$checked." /><img src='".IMAGES."post_icons/".$iconlist[$i]."' style='border: 0;' /></label> ";
}
if(!$icons) $icons = "checked='checked'";
$icon_list .= "<label>без<input type='radio' name='icons' value='0' ".$icons." /></label>";
echo $icon_list;
echo "</td>\n";
echo "</tr>\n<tr>\n";
/* thread icons */




Файл postedit.php
Найти
Скачать исходники  Код
$subject = isset($_POST['subject']) ? trim(stripinput(censorwords($_POST['subject']))) : $tdata['thread_subject'];



Ниже добавить
Скачать исходники  Код
$icons = stripinput($_POST['icons']); /* thread icons */



Найти
Скачать исходники  Код
echo "<td colspan='2' class='tbl2'><strong>".$subject."</strong></td>\n</tr>\n";



Заменить на
Скачать исходники  Код
/* thread icons */
if($icons != "0") $pre_icon = "<img src='".IMAGES."post_icons/".$icons."' style='vertical-align: middle; border: 0;' /> "; else $pre_icon = "";
echo "<td colspan='2' class='tbl2'>".$pre_icon."<strong>".$subject."</strong></td>\n</tr>\n";
/* thread icons */



Найти
Скачать исходники  Код
$subject = trim(stripinput(censorwords($_POST['subject'])));



Ниже добавить
Скачать исходники  Код
$icons = stripinput($_POST['icons']); /* thread icons */



Найти
Скачать исходники  Код
$result = dbquery("UPDATE ".DB_THREADS." SET thread_subject='".$subject."' WHERE thread_id='".$_GET['thread_id']."'");



Заменить на
Скачать исходники  Код
/* thread icons */
$result = dbquery("UPDATE ".DB_THREADS." SET thread_subject='".$subject."', thread_icon='".$icons."' WHERE thread_id='".$_GET['thread_id']."'");
/* thread icons */



Найти
Скачать исходники  Код
$subject = $pdata['thread_subject'];



Ниже добавить
Скачать исходники  Код
/* thread icons */
$thread_icon = dbarray(dbquery("SELECT thread_icon FROM ".DB_THREADS." WHERE thread_id='".$_GET['thread_id']."'"));
$icons = $thread_icon['thread_icon'];
/* thread icons */



Найти
Скачать исходники  Код
echo "<td class='tbl2'><input type='text' name='subject' value='".$subject."' class='textbox' maxlength='255' style='width:250px' /></td>\n";
echo "</tr>\n<tr>\n";



Ниже добавить
Скачать исходники  Код
/* thread icons */
echo "<td valign='top' width='145' class='tbl2'>Иконка:</td>\n";
echo "<td class='tbl1'>";
$iconlist = makefilelist(IMAGES."post_icons", ".|..|index.php|Thumbs.db", true);
$icon_list = "";
for ($i = 0; $i < count($iconlist); $i++) {
   $checked = ($icons == $iconlist[$i] ? " checked='checked'" : "");
   $icon_list .= "<label><input type='radio' name='icons' value='".$iconlist[$i]."'".$checked." /><img src='".IMAGES."post_icons/".$iconlist[$i]."' style='border: 0;' /></label> ";
}
if(!$icons) $icons = "checked='checked'";
$icon_list .= "<label>без<input type='radio' name='icons' value='0' ".$icons." /></label>";
echo $icon_list;
echo "</td>\n";
echo "</tr>\n<tr>\n";
/* thread icons */



Так же не забываем установить мод, через файл install_icon.php

Скачать архив можно тут http://fusion.fsa...orume.html
mishqa35 присоединено следующее:изображение:
n9832c4.png

Изменил(а) mishqa35, 01.02.2013 15:10
x3 x1 x1 x1
 
Web
bakzz
Кстати а нет мода чтобы расширить стандартные иконки.

Пример. Сейчас так.
Есть новые сообщения
Нет новых сообщений
Закрытая тема

А хотелось бы так
Есть новые сообщения
Нет новых сообщений
Закрытая тема, есть новые сообщения
Закрытая тема нет новых сообщений.

ah
x1 x1 x1 x1
 
Web
mishqa35
Оффтопик Закрытая тема - это тема которая закрыта и поидее в ней не кто не может публиковать новые сообщения ah

 
Web
APTEMbI4
Отлично ab

П.С. Блин ac Не туда оценки поставил....
 
Web
APTEMbI4
А возможно, чтобы при варианте "без" показывалась тоже картинка? Например, как в форум vBulletin. Возможно ли сделать, чтобы картинки выбирались не только при создании темы, но и при создании сообщения, например, как vBulletin.
 
Web
mishqa35
Можно сделать все. В булке вроде тоже постить без иконки можно.
 
Web
APTEMbI4
mishqa35 написал:

Можно сделать все. В булке вроде тоже постить без иконки можно.

Можно, но там автоматически присваивается иконка, если не путаю, листок такой книжный.
 
Web
APTEMbI4
Есть ошибка одна! В приведённом файле viewthread.php здесь на форуме u.usr_groups, а должно быть u.user_groups. mishqa35, также у Вас на сайте.
Изменил(а) APTEMbI4, 01.02.2013 12:01
 
Web
mishqa35
APTEMbI4, спасибо за находку, странно что символ сжувало, ведь в исходнике все нормально, а копировал код из него bw
 
Web
APTEMbI4
Хм... ставил сейчас всё с нуля. Всё работает, но надписи "иконка" и "без" пишутся кракозабрами ac Правил руками в файлу символы, написал латиницей, всё хорошо. Только пишу русские буквы, опять кракозабры. В чём проблема?
 
Web
jikaka
кодировку файла проверь, который правишь
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)