Перейти к контенту

Мод наград для 2.0.*


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

 

та же фигня:

Sorry, an error occurred. If you are unsure on how to use a feature, or don't know why you got this error message, try looking through the help files for more information. Sorry, you are not permitted to use this board

:D и чё делать??? Как мне скачать мод наград???

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 77
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Надо зайти на фоум и там зарегиться...

Мне сам bfarber сказал :D

bfarber, это, конечно, очень хорошо, но тут сам Dekker русским языком говорил, что регистрация на Invisionize.com через форум - Скины на invisionize.com

;)

Ссылка на комментарий
Поделиться на других сайтах

Ничего не понял. Как зарегистрироваться, как скачать? Дайте ссылку что-ли кто-нибудь ёмаё, а то ужасно все пользователи на форуме заждались модификации, а админ даже скачать не может.. :D
Ссылка на комментарий
Поделиться на других сайтах

Twister, ты не админ.

 

ЧТОБЫ СКАЧАТЬ СКИНЫ, НУЖНО ЗАРЕГИСТРИРОВАТЬСЯ И ЗАЛОГИНИТЬСЯ НА ИХ ФОРУМЕ!!!

 

Только что зарегил бота — все работает.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Вот у меня проблема во время установки.

== == == == == == == > 3 < == == == == == == ==

< Step 3 > ===== Open sources/Admin/ad_member.php ======

 

 

Search:

-----------

 

switch($ibforums->input['code'])

{

 

 

Add Below:

---------------

 

//----AWARDS---------------

case 'awards':

$this->awards_form();

break;

case 'doaddawards':

$this->do_add_award();

break;

case 'awards_search':

$this->awards_search();

break;

case 'awards_edit_form':

$this->awards_edit_form();

break;

case 'awards_edit_do':

$this->awards_edit_do();

break;

case 'awards_delete':

$this->awards_delete();

break;

//-------------------------

Захожу на фтп через Totall Commander, нахожу ad_member.php , открываю его, а там вместо тех строк что надо все символы распределены вообще в странном порядке, хаотично как-то.

вот ссылка. Там скриншот с моего компа, вид открытого документа ad_member.php

ВОТ ССЫЛКА

 

хелп плиз :D

Ссылка на комментарий
Поделиться на других сайтах

поставил себе AwardsMod но проблема в том, что он не хочет windows-1251 понимать. короче белиберда одна там. чё делать? в awards.php я прнудительно поменял на windows-1251 но почему то результата это не дало =\
Ссылка на комментарий
Поделиться на других сайтах

Я с трудом понимаю, какие могут быть претензии к моду, если вы действительно корректно прописали кодировку в выдаваемом пользователю HTML.
Ссылка на комментарий
Поделиться на других сайтах

Я выполнил всю инструкцию но потом когда пытался зайди в какуюнибудь тему вылетала ошибка. Прищлось удалить. Да и вначале ты с каким-то господином обсуждал что там немало дырок. Так вы бы поделились опытом, как их заделать... :D
Ссылка на комментарий
Поделиться на других сайтах

d1pro же написал. O.o Проверь с помощью intval, что юзер передал тебе именно число (т.е. ID юзеры, чьи награды будем смотреть). Если это не целое число — и обсуждать нечего, можно либо ошибку вывести, либо вообще die напитсать, ибо нехрен.
Ссылка на комментарий
Поделиться на других сайтах

Закончил только что ставить этот мод.

2apox

В awards.php поменять кодировку. Должно быть:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

 

Кто будет ставить этот мод по прилагаемой инструкции на версию 2.0.4, огребет немало проблем. Не понял почему, но понял как поправить. В версии 2.0.0 все работает нормально.

Итак:

В topic.php

$consulta = $DB->query("select * from ibf_awards where mid = '".$member['id']."'");

заменить на:

$consulta = mysql_query("select * from ibf_awards where mid = '$member[id]'");

В profile.php

$dbmid = $DB->query("select * from ibf_awards where mid = '$member[id]'");

заменить на:

$dbmid = mysql_query("select * from ibf_awards where mid = '$member[id]'");

Если оставить как есть и кликнуть в Просмотре профиля ссылку "Найти сообщения пользователя" на экран полезут жуткие глюки.

Ссылка на комментарий
Поделиться на других сайтах

ИМХО, дело в том, что дополнительный запрос к БД с помощью драйвера убивает результаты предыдущего запроса через драйвер. Если не сделать запрос через стандартных функции PHP, то, например, умирает список посетителей — выводится всегда только первый. И так далее.
Ссылка на комментарий
Поделиться на других сайтах

поставил себе AwardsMod но проблема в том, что он не хочет windows-1251 понимать. короче белиберда одна там. чё делать? в awards.php я прнудительно поменял на windows-1251 но почему то результата это не дало =\ UP!
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Переписал мод, чтобы грузился через legends.php.

 

1. В /lang/en/lang_legends.php добавляем:

'awards_title'   => "Member Awards",
'member_awards'  => "Awards of",
'ct_awardtitle'  => "Title",
'ct_awardimg'    => "Image",
'ct_cid'         => "Bestowed by",
'ct_description' => "Description",

 

2. В /lang/ru/lang_legends.php добавляем:

$lang['awards_title']   = "Награды посетителя";
$lang['member_awards']  = "Награды";
$lang['ct_awardtitle']  = "Название";
$lang['ct_awardimg']    = "Внешний вид";
$lang['ct_cid']         = "Кем выдана";
$lang['ct_description'] = "Описание";

 

3. В Board Legends добавляем:

 

3.1. Название: awards_footer

Содержание:

<tr><td class="catend" colspan="4" height="2"><!--  --></td></tr></table>

 

3.2. Название: awards_header

Переменные: $user

Содержание:

<div class="tableborder">
<div class='maintitle'><b>{ipb.lang['member_awards']} {$user}</b></div>
</div>
<table width="100%" border="0" cellspacing="1" cellpadding="5">
<tr>
<th width="20%" align="center" nowrap>{ipb.lang['ct_awardtitle']}</td>
<th width="25%" align="center" nowrap>{ipb.lang['ct_awardimg']}</td>
<th width="15%" align="center" nowrap>{ipb.lang['ct_cid']}</td>
<th width="40%" align="center" nowrap>{ipb.lang['ct_description']}</td>
</tr>

 

3.3 Название: awards_row

Переменные: $awardtitle="", $awardimg="", $cid="", $description=""

Содержание:

<tr>
<td class='row1' align="center" style='font-size:14px'>
<b>{$awardtitle}</b>
</td>
<td class='row2' align="center">
<img src="../awards/{$awardimg}">
</td>
<td class='row1' align="center">
{$cid}
</td>
<td class='row2' align="center">
{$description}
</td>
</tr>

 

4. В /sources/misc/legends.php добавляем:

 

4.1 После:

      case 'bbcode':
    	 $this->show_bbcode();
    	 break;

добавить

      case 'awards':
    	 $this->show_user_awards();
    	 break;

 

4.2 Перед

}

?>

добавить

  function show_user_awards()
 {
 global $ibforums, $DB, $std;

	 $this->page_title = $ibforums->lang['awards_title'];

 if ( intval( $ibforums->input['mid'] ) )
 {
              	 $DB->query("SELECT name FROM ".SQL_PREFIX."members WHERE id='".$ibforums->input['mid']."'");
 }
 else
 {
	 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use' ) );
 }

 $row = $DB->fetch_row( );

 if ( $row['name'] == "" )
 {
	 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_user' ) );
 }
 {
	 $this->output .= $this->html->awards_header($row['name']);
 }

 $DB->query("SELECT * FROM ".SQL_PREFIX."awards WHERE mid='".$ibforums->input['mid']."'");

 while ( $row = $DB->fetch_row( ) )
 {
	 $this->output .= $this->html->awards_row($row['awardtitle'],$row['awardimg'],$row['cid'],$row['description']);
 }

	 $this->output .= $this->html->awards_footer();     	 
 }

 

5. В /sources/topics.php конструкцию

  if ( $nawards > 0 )
 {
 ...
 }

заменяем на

  if ( $nawards > 0 )
 {
	 $member['award'] = "<a href=\"JavaScript:PopUp('index.php?act=legends&CODE=awards&mid={$member['id']}', 'Awards', '650', '300','0','1','1','0','0')\">{$ibforums->lang['member_award']}: {$nawards}</a>";
 }

 

6. В /sources/profile.php конструкцию

    if ( $nawards > 0 )
   {
...
   }

заменяем на

    if ( $nawards > 0 )
   {
  	 $info['award'] = "<a href=\"JavaScript:PopUp('index.php?act=legends&CODE=awards&mid={$member['id']}', 'Awards', '650', '300','0','1','1','0','0')\">{$ibforums->lang['has_award']} ({$nawards})</a>";
   }

 

7. Удаляем /sources/awards.php

 

После этого мод перестаёт принимать в качестве mid значение, не являющиеся целым числом. Коллеги, этого достаточно?

Изменено пользователем Dr.Freddy
Ссылка на комментарий
Поделиться на других сайтах

Может кому-то пригодится...

Выкладываю патч наградный для IPB 2.0.4 (с какими модами был форум - не в курсе, попросили на живой поставить, не разбирался). При установке пользовался инструкией из этой темы.

 

Изменена директория с изображениями наград на $forum_root/images/awards/

 

Для тех кто незнаком с командой patch:

patch -p1 <award-ipb-2.0.4.patch

 

В зависимости от поставленных модов строки могут сдвинуться, возможно придется руками доделать некоторые несработавшие вставки, в любом случае, patch об этом скажет.

 

Список файлов, которые изменяются:

ipb_templates.xml
lang/en/lang_legends.php
lang/en/lang_profile.php
lang/en/lang_topic.php
lang/ru/lang_legends.php
lang/ru/lang_profile.php
lang/ru/lang_topic.php
sources/admin/ad_member.php
sources/admin/admin_pages.php
sources/misc/legends.php
sources/profile.php
sources/topics.php

 

Изменения в SQL вводить ручками, как - в этой теме описано достаточно четко...

Единственное что хотелось бы добавить - в случае MySQL с рабочими DEFAULT CHARSET отличным от cp1251 на таблицах возможно придется в конце CREATE TABLE 'ibf_awards'... добавить DEFAULT CHARSET cp1251. Иначе могут быть некоторые проблемы. (???? вместо русского текста).

 

Таблицу лучше создать до наложения патча. После - необходимо зайти в управление шаблонами и перестроить все. (Шаблоны -> Инструменты шаблонов -> Перестройка базового шаблона и Перестройка кэш файлов, как в аглицком варианте - не знаю).

 

Собсвтенно сам патч лежит здесь.

 

P.S Уважаемые авторы, надеюсь, не против публикования этого патча? Если против, удалю..

 

P.P.S В патче была небольшая ошибка, врядли кто-нибудь успел его использовать, но лучше перекачать, не показывалась ссылка на награды под аватаром в топике...

Изменено пользователем пса0
Ссылка на комментарий
Поделиться на других сайтах

Насчет своих правок ничего против не имею. Не знаю, правда, на каких условиях распостраняется сам Awards Mod.
Ссылка на комментарий
Поделиться на других сайтах

Вобщем, так когда ставишь мод, в начале нужно запустить файлик, который обновляет базу. Он н самом деле ничего не обновляет, поэтому всё нужно делать вручную. Я в этом деле полный ламёр, но всё же попробовал. Открыл файл и вот что внутри:

 

<?php

require "./conf_global.php";
require "./ips_kernel/class_db_mysql.php";

$DB = new db_driver;

$DB->obj['sql_database']     = $INFO['sql_database'];
$DB->obj['sql_user']         = $INFO['sql_user'];
$DB->obj['sql_pass']         = $INFO['sql_pass'];
$DB->obj['sql_host']         = $INFO['sql_host'];
$DB->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];

// Get a DB connection

$DB->connect();

$DB->query = "CREATE TABLE `ibf_awards` (`id` SMALLINT NOT NULL AUTO_INCREMENT, `mid` BIGINT(10) NOT NULL, `awardtitle` VARCHAR(100) NOT NULL, `awardimg` VARCHAR(100) NOT NULL, `cid` VARCHAR(50) NOT NULL, `description` TEXT NOT NULL,PRIMARY KEY (`id`))";

$DB->close_db();

echo "Database successfully updated. DELETE AWARD_INSTALL.PHP FROM YOUR SERVER!";


?>

 

А теперь внимание вопрос: Какой запрос нужно сделать из админки, чтобы создать эту ibf_members? Я попытался сделать, но мне пишет что ошибка синтаксиса, а захожу в тему - мод работает :D Как сделать, что б без ошибки и мод работал? Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Ничего не понял. Зачем тебе создавать ibf_members? Это таблица пользователей форума, она создаётся инсталлятором.

 

То, что ты тут привёл — кусок инсталлятора мода, он создаёт таблицу ibf_awards и делает это прекрасно, не надо ля-ля. Если она (таблица) у тебя уже есть, ничего выполнять уже не нужно.

 

Вручную ibf_awards можно создать запросом

CREATE TABLE `ibf_awards` (`id` SMALLINT NOT NULL AUTO_INCREMENT, `mid` BIGINT(10) NOT NULL, `awardtitle` VARCHAR(100) NOT NULL, `awardimg` VARCHAR(100) NOT NULL, `cid` VARCHAR(50) NOT NULL, `description` TEXT NOT NULL,PRIMARY KEY (`id`))

Ссылка на комментарий
Поделиться на других сайтах

я перепутал, нужна ibf_awards

как же создаёт, когда при попытке открыть топик вылазит страница, на которой написано, что таблицы нет.

 

Спасибо, теперь всё работает.[1124701131:1124710711]как изменить мод, чтобы можно было настраивать, кто имеет право давать награды? или это долго нужно копаться? просто у меня админ один - я, и следовательно, мне кроме меня самого некому выдать награду. Получается, что все будут с наградами ходить, а я как бедный родственник))

вообще, мод недоработанный конечно

Ссылка на комментарий
Поделиться на других сайтах

Изменять do_add_award() и, возможно, около ее вызова (сама функция в sources/admin/ad_member.php).

По хорошему нужно вывести эту форму из админки куда-нибудь в основной форум и сделать список "выдающих" пользователей...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.