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

Интеграция репутации из DLE Forum в DLE


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

Вот есть статья о том, как сделать интеграцию репутации из DLE Forum в DLE.

Она у меня стоит, работает. Но как всегда есть "НО":

Если добавить "+" на форуме, то "+" в репу идет. А вот если добавить "+" на сайте, то репа остается прежней.

DLE 9.2

DLE Forum2.6

Сайт www.sex-site.ru

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

Инструкция по установки интеграции репутации и замечаний из DLE-Forum в DLE.

Инструкция для 8.3:

1. В файле: engine/modules/show.full.php, найти строчку:

$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'" . $where_approve . " ORDER BY date " . $config['comm_msort'];

И заменить на:

$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, forum_reputation, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'" . $where_approve . " ORDER BY date " . $config['comm_msort'];

2. В файле: engine/modules/lastcomments.php, найти строчку:

$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, " . USERPREFIX . "_users.comm_num, user_group, reg_date, signature, foto, fullname, land, icq, " . USERPREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name, " . PREFIX . "_post.category, " . PREFIX . "_post.flag FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id " . $where . " ORDER BY id desc";

И заменить на:

$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, " . USERPREFIX . "_users.comm_num, user_group, reg_date, signature, foto, fullname, land, icq, forum_reputation, " . USERPREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name, " . PREFIX . "_post.category, " . PREFIX . "_post.flag FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id " . $where . " ORDER BY id desc";

3. В файле engine/classes/comments.class.php

Найти строчку:

$tpl->set( '{comment}', "<div id='comm-id-" . $row['id'] . "'>" . stripslashes( $row['text'] ) . "</div>" );

Ниже добавить:

//reputation

require_once ENGINE_DIR . '/data/forum_config.php';

require_once ENGINE_DIR . '/forum/sources/modules/dle_func.php';

if ($forum_config['reputation']) {

$rep_m = "<a OnClick=\"FRep('-', '$row[user_id]', '$row[id]', '0');\"><img src='{THEME}/forum/images/rep_m.gif' alt='-' border='0' /></a> ";

$rep_p = " <a OnClick=\"FRep('+', '$row[user_id]', '$row[id]', '0');\"><img src='{THEME}/forum/images/rep_p.gif' alt='+' border='0' /></a>";

$reputation = $rep_m . link_rep($row['name'], $row['forum_reputation']) . $rep_p;

$tpl->set('{reputation}', "<span id='rep-".$row['id']."'>".$reputation."</span>");

}

else {

$tpl->set('{reputation}', "--");

}

unset ($reputation);

//

4. В файле engine/modules/profile.php

Ищем строчку:

$tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) );

Ниже добавим:

//reputation

require_once ENGINE_DIR . '/data/forum_config.php';

require_once ENGINE_DIR . '/forum/sources/modules/dle_func.php';

if ($forum_config['reputation']) {

$rep_m = "<a OnClick=\"FRep('-', '$row[user_id]', '$row[id]', '0');\"><img src='{THEME}/forum/images/rep_m.gif' alt='-' border='0' /></a> ";

$rep_p = " <a OnClick=\"FRep('+', '$row[user_id]', '$row[id]', '0');\"><img src='{THEME}/forum/images/rep_p.gif' alt='+' border='0' /></a>";

$reputation = $rep_m . link_rep($row['name'], $row['forum_reputation']) . $rep_p;

$tpl->set('{reputation}', "<span id='rep-".$row['id']."'>".$reputation."</span>");

}

else {

$tpl->set('{reputation}', "--");

}

unset ($reputation);

//

5. В директории engine/forum/sources/modules/ создать файл dle_func.php, с кодом:

<?php

if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

//reputation

if (!function_exists("link_rep")) {

function link_rep($user, $title = false) {

global $config;

if (!$title) $title = "0";

if ($config['allow_alt_url'] == "yes") {

$forum_url = $config['http_home_url']."forum";

return("<a href='{$forum_url}/reputation/".urlencode($user)."/'>{$title}</a>");

}

else {

$forum_url = $config['http_home_url']."index.php?do=forum&";

return("<a href='{$forum_url}act=reputation&user=".urlencode( $user)."'>{$title}</a>");

}

}

}

?>

6.

В файле main.tpl вашего шаблона, после строки:

{AJAX}

вставить код:

[aviable=showfull|lastcomments|userinfo]

<script language="javascript" type="text/javascript">

function FRep(action, user_id, post_id, forum_id)

{

var cause = prompt("Введите причину", "");

if (cause)

{

var ajax = new dle_ajax();

ajax.onShow ('');

var varsString = "user_id=" + user_id;

ajax.setVar("skin", dle_skin);

ajax.setVar("action", action);

ajax.setVar("forum_id", forum_id);

ajax.setVar("post_id", post_id);

ajax.setVar("cause", ajax.encodeVAR(cause));

ajax.requestFile = dle_root + "engine/forum/ajax/reputation.php";

ajax.method = 'POST';

ajax.element = 'rep-' + post_id;

ajax.sendAJAX(varsString);

}

return false;

};

</script>

[/aviable]

7. Ну и на последок в файлах шаблона: comments.tpl и userinfo.tpl, вставляем {reputation} куда вам надо.

Это для ДЛЕ 8.3. У меня 9.2 форум 2.6

Кто сожет адаптировать хак под DLE 9.2?

Изменено пользователем Simur_m
Ссылка на сообщение
Поделиться на других сайтах
2. На данном форуме строго запрещено предлагать или навязывать свои платные услуги. За любое сообщение типа "Помогу дешево, ICQ ..." участник блокируется на форуме без предупреждения.
Ссылка на сообщение
Поделиться на других сайтах

прошу прощения за нарушение. Но... а как мне правильно составит свое сообщение?

Я ж не предлагаю свою услугу, а прошу о помощи...

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

Вы не нарушили :rolleyes:

Лучше напишите сколько готовы заплатить за такую работу и Вам обязательно кто-то напишет

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

этот хак продавался за 5$. А сколько возьмут за его подгонку я понятия не имею(

Прийму Ваши предложения в личку или аська 49236845семь

Изменено пользователем Simur_m
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Возьмусь за заказ.

Спасибо.

Заказ взяли, все сделали быстро, без шума и пыли)))

Все работает!!!

Блин... Нету ни репутации как добавить, ни кнопки "спасибо"

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

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

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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

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