SEO SMM Арбитраж трафика Инструменты Программирование Веб-разработка Графика Софт Cоц. сети Скрипты сайтов Боты
хостинг
Vibix - надеждый видео-балансир

Telegram Expert

Купить резедентные прокси

Уровень доверия к пользователю

Уровень доверия к пользователю

Уровень доверия к пользователю
+15
victor20024-07-2010, 06:23Хаки DLE1 комментарий


Описание:
Хак добавляет каждому пользователю уровень доверия со стороны сайта. Этот уровень доверия влияет на возможность добавления новостей пользователем. Зависит же уровень доверия от нескольких факторов, таких как: время пребывания пользователя на сайте в качестве зарегистрированного пользователя, количество личных данных введенных в профиле, количество комментариев, количество опубликованных ранее новостей.

Совместимость: теоретически, все версии (тестировалось на 8.3 и 8.5)

Возможности:

* Вычисление уровня доверия к пользователю на основе имеющихся о нем данных в БД.
* Блокировка добавления новостей если уровень доверия пользователя ниже 1 (в коде всё прокомментировано - можно настроить под свое число).
* Вывод уровня доверия в профиле, только пользователю или всем пользователям.
* Вывод уровня доверия в профиле, только пользователю в логин-блоке.

Особенности:

* Никакой дополнительной нагрузки
* Быстрая установка


Установка


1. Открыть файл engine/modules/addnews.php

Перед:

if( ! $allow_addnews ) {



Добавить:

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$conf_points = array();
$conf_points['regtime'] = round( ( ( $_TIME-$member_id['reg_date'])/864000 ), 2 ); // 0.1 за день с момента регистрации
$conf_points['info'] = strlen($member_id['info']) < 10 ? 0 : 0.1; // 0.1 за зполнение информации о себе
$conf_points['foto'] = ($member_id['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $member_id['foto'] ))) ? 0.5 : 0; // 0.5 за загрузку авы
$conf_points['land'] = $member_id['land'] == '' ? 0 : 0.2; // 0.2 за зполнение места жительства
$conf_points['name'] = $member_id['fullname'] == '' ? 0 : 0.2; // 0.2 за зполнение имени
$conf_points['icq'] = strlen($member_id['icq']) < 5 ? 0 : 0.1; // 0.1 за зполнение информации об icq
$conf_points['news'] = ( $member_id['news_num']/10 ); // 0.1 за каждую новость
$conf_points['comments'] = ( $member_id['comm_num']/100 ); // 0.01 за каждый комментарий

$confidence_level = array_sum($conf_points);

if( ($confidence_level < 1) && $allow_addnews ) {
$allow_addnews = false;
$lang['add_err_9'] = $lang['add_err_conf'].$confidence_level;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


2. Открыть файл languages/Russian/website.lng
После:
'
wysiwyg_language' => "ru",





Добавить (тут, то что между "..." можно заменить на свое - в конце этой фразы выводится текущий уровень доверия юзеру) :

// Уровень доверия
'add_err_conf' => 

"Ваш уровень доверия еще очень низкий, Вы должны заполнить о себе больше информации чтобы мы знали, что Вы не спамер. Чтобы добавить новость Ваш уровень доверия должен достичь 1. сейчас Ваш уровень доверия составляет: ",



Если нужен вывод уровня в профиле:

3. Открыть файл engine/modules/profile.php
После:
$tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) );





Добавить:

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if( $member_id['user_id'] == $row['user_id'] ) {
$conf_points = array();
$conf_points['regtime'] = round( ( ( $_TIME-$member_id['reg_date'])/864000 ), 2 ); // 0.1 за день с момента регистрации
$conf_points['info'] = strlen($member_id['info']) < 10 ? 0 : 0.1; // 0.1 за зполнение информации о себе
$conf_points['foto'] = ($member_id['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $member_id['foto'] ))) ? 0.5 : 0; // 0.5 за загрузку авы
$conf_points['land'] = $member_id['land'] == '' ? 0 : 0.2; // 0.2 за зполнение места жительства
$conf_points['name'] = $member_id['fullname'] == '' ? 0 : 0.2; // 0.2 за зполнение имени
$conf_points['icq'] = strlen($member_id['icq']) set_block( "'\\[show_confidence\\](.*?)\\[/show_confidence\\]'si", "" );
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



4. Открыть файл templates/{THEME}/userinfo.tpl

Чтобы выводить уровень только хозяину уровня - В любом месте добавить:

[show_confidence]
Ваш уровень доверия на сайте:
{confidence_level}[/show_confidence]



Чтобы выводить уровень всем, кто смотрит профиль юзера - В любом месте добавить:

Уровень доверия к
{usertitle} : {confidence_level}


Если нужен вывод уровня в логин-панели:

5. Открыть файлtemplates/{THEME}/login.tpl

Перед:
if ($user_group[$member_id['user_group']]['allow_admin']) {





Добавить:

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$conf_points = array();
$conf_points['regtime'] = round( ( ( $_TIME-$member_id['reg_date'])/864000 ), 2 ); // 0.1 за день с момента регистрации
$conf_points['info'] = strlen($member_id['info']) < 10 ? 0 : 0.1; // 0.1 за зполнение информации о себе
$conf_points['foto'] = ($member_id['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $member_id['foto'] ))) ? 0.5 : 0; // 0.5 за загрузку авы
$conf_points['land'] = $member_id['land'] == '' ? 0 : 0.2; // 0.2 за зполнение места жительства
$conf_points['name'] = $member_id['fullname'] == '' ? 0 : 0.2; // 0.2 за зполнение имени
$conf_points['icq'] = strlen($member_id['icq']) < 5 ? 0 : 0.1; // 0.1 за зполнение информации об icq
$conf_points['news'] = ( $member_id['news_num']/10 ); // 0.1 за каждую новость
$conf_points['comments'] = ( $member_id['comm_num']/100 ); // 0.01 за каждый комментарий

$confidence_level = array_sum($conf_points);

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Уровень доверия
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


В любом месте добавить вывод:

Ваш уровень доверия:
{$confidence_level}


Готово.
1 063
Рейтинг:
Сохранить или отправить

Оставить комментарий

Партнёрские программы

Смотреть все
1WIN ПАРТНЕРКА

1WIN ПАРТНЕРКА

1 403
  • 40
Партнерские программы / Гемблинг партнерки
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров

795
  • 0
Арбитраж трафика / Партнерские программы / PUSH партнерки
Смотреть все

Магазин

Смотреть все
Купить
Бот для продажи VPN 3X-UI для Telegram

Бот для продажи VPN 3X-UI для Telegram

Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...

Купить
Мониторинг хайп проектов на движке DLE

Мониторинг хайп проектов на движке DLE

В данном скрипте есть возможность включить функцию чтобы пользователи сами...

Купить
Скрипт казино с 5 классическими играми.

Скрипт казино с 5 классическими играми.

Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...

Купить
Customer WishList / Избранные товары покупателей

Customer WishList / Избранные товары покупателей

Данный модуль позволяет просматривать избранные товары пользователей. Есть...

Купить
Меняем заголовок и favicon

Меняем заголовок и favicon

Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....

Смотреть все

Сервисы

Смотреть все
Смотреть все