Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Estomel

Плагин репутации для ips 4.4

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

04/03/20 03:02 (изменено)

Всем привет, все помнят плагин Advanced Reputation System для ipb 3.4 ? подобная система еще стояла на давно умершем pbhack.
Так вот, нужен точно такой же плагин но на ips 4.4 ! (уж не знаю масштаб работы, плагин это будет или приложение но факт в том что нужна прям копия по функционалу!)

  • Изменение репутации нажатием пальца вверх или вниз прям на полоске репутации
Скрытый текст

3.jpg.6f81ca03773fd849cbcffc67e465704b.jpg

  • Если полоска репутации доходит до цифр то они меняют цвет
Скрытый текст

4.jpg.3d881042de16fc1ebef89cd4ed20cfb4.jpg

 

  • При нажатии на палец можно указать причину повышения либо понижения репутации
Скрытый текст

1.jpg.b542bc83db37da32df63b71b7c1ac61a.jpg

  • При нажатии на цифры расположенные на полоске репутации чтобы появлялось окно где показаны все изменения репутации этого пользователя которые он когда либо получал разделенные на страницы, короче включена пагинация ( ник того кто поставил репу, его комментарий, время когда было изменение репы, "источник" где эта репутация поставилась и количество поставленной репы )
Скрытый текст

2.jpg.8a13c26e2f42feb50855f8fdf5f424d4.jpg

8.jpg.fd93c144ac8f543b7bf52d99b2792587.jpg

  • Возможность указать в админке сколько ( + плюсов ) или ( - минусов ) будет поставлено за раз в зависимости от количества репутации того кто выставляет репутацию ( Например если у меня репутация больше 20 то я всем буду ставить не +1 а например +5 репутации за раз и т.д. чтобы эти значения можно было менять и значения выделенные красным и значения выделенные синим )
Скрытый текст

5.jpg.7bc114add3bd26895e27cb901ce46b59.jpg

  • Возможность указать в админке на выбор выставлять максимальное количество репутации которое можно поставить одному пользователю за 1 день. от одного раза в день одному пользователю и до неограниченного количества раз ( чтобы значение было изменяемым )
Скрытый текст

4vEuGOe.jpg

  • И самое главное, чтобы в админке можно было настроить уровни репутации добавляя или удаляя блоки
  • Например репутация от +1 и до +50 цвет полоски или изображение например зеленый, чтобы мог добавить например второй блок от +51 и до +150 цвет полоски или изображение такой то и чтобы этих блоков можно было добавить бесконечно ( чтобы на любой диапазон репутации у меня была возможность указать цвет заполняемой полоски или изображение )  вполне подойдет система как на Advanced Reputation System когда полупрозрачная серая подложка и под нее добавляется цвет ну как я понял может конечно там и не так
Скрытый текст

huvCVP3.jpg

Пишите в тему кто готов взять на себя реализацию данного плагина или приложения уж не знаю что это будет и за сколько готовы выполнить!

PS: Данный функционал на 1000% возможно реализовать! я лично своими глазами видел работу данного функционала на своем форуме, данный функционал писал FoLez бесплатно но на скорую руку и не плагином а костылями и прямыми правками в шаблоне и в базе данных но из-за проблем на сервере у меня слетела база и все перестало работать.

Вот доказательство, фотка с моего старого сайта (я тогда делал рип pbhack) 

Скрытый текст

31uDkBO.jpg

FoLez даже графические ники делал для ips 4

Скрытый текст

EsCQK8T.jpg

сейчас данный функционал не работает, полоска теперь просто как индикатор репутации без функционала (ее можно увидеть на моем сайте) а при попытке поставить репу через полоску появляется вот такое сообщение

Скрытый текст

MVN6ivo.png

Но факт остается фактом, такое сделать можно и раньше это работало! поэтому знающие люди кто сможет реализовать данный функционал отпишитесь плиз! очень нужен данный плагин для ips 4.4!

Изменено пользователем Estomel
привел в чуть более красивый вид

Поделиться сообщением


Ссылка на сообщение
12 часов назад, Estomel сказал:

FoLez бесплатно но на скорую руку и не плагином а костылями и прямыми правками в шаблоне и в базе данных но из-за проблем на сервере у меня слетела база и все перестало работать.

Сталкивался я с плагинами данного автора, это был тот еще треш.

То что сделать можно никто не сомневается, ничего сложного тут вроде нету. 

Конечно по уму надо приложение создавать для такого функционала, но если не сильно заморачиваться можно просто допилить уже  существующий мод раз такой уже есть, это будет не сильно дорого да и времени много не отнимет, а лично для время это самая большая проблема.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
11 минут назад, siv1987 сказал:

если не сильно заморачиваться можно просто допилить уже  существующий мод раз такой уже есть

Сможете допилить? доступ к админке, фтп и бд предоставлю если нужно, только из правок Фолза сохранились только полностью измененный код "reputationBadge" из которого я вырезал временно пальцы повышения и понижения с полоски и 2 файла по пути core > global > plugins

Один из файлов полная копия "reputationBadge" только не обрезанный мной и называется он "RepThemeEdit"
и второй файл по этому же пути называется "AdvRepShow" и на сколько я понял это то самое модальное окно которое появляется при нажатии на полоску и показывает кто и когда изменял репутацию определенному пользователю.

напишите в лс если возьметесь и сколько мне это будет стоить)

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
5 часов назад, siv1987 сказал:

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

core > global > plugins RepThemeEdit

{{ $member = \IPS\Member::loggedIn(); }}
{{ $author = $comment->author(); }}
{{if $author->pp_reputation_points < 0 }}
	{{ $have = 100; }}
	{{ $colorbg = '/uploads/img/reputation/0bg.jpg'; }}
{{elseif $author->pp_reputation_points < 50 }}
	{{ $percent = 50/100; }}
	{{ $have = ($author->pp_reputation_points) / $percent; }}
	{{ $colorbg = '#ff0000'; }}
{{elseif $author->pp_reputation_points < 100 }}
	{{ $percent = 50/100; }}
	{{ $have = ($author->pp_reputation_points - 50) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/2bg.jpg'; }}
{{elseif $author->pp_reputation_points < 500 }}
	{{ $percent = 400/100; }}
	{{ $have = ($author->pp_reputation_points-100) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/3bg.jpg'; }}
{{elseif $author->pp_reputation_points < 1000 }}
	{{ $percent = 500/100; }}
	{{ $have = ($author->pp_reputation_points-500) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/4bg.jpg'; }}
{{elseif $author->pp_reputation_points < 10000 }}
	{{ $percent = 9000/100; }}
	{{ $have = ($author->pp_reputation_points-1000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/5bg.jpg'; }}
{{elseif $author->pp_reputation_points < 50000 }}
	{{ $percent = 40000/100; }}
	{{ $have = ($author->pp_reputation_points-10000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/6bg.jpg'; }}
{{elseif $author->pp_reputation_points < 100000 }}
	{{ $percent = 50000/100; }}
	{{ $have = ($author->pp_reputation_points-50000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/7bg.jpg'; }}
{{elseif $author->pp_reputation_points > 100000 }}
	{{ $have = 100; }}
	{{ $colorbg = '/uploads/img/reputation/8bg.jpg'; }}
{{endif}}

{{ $lost = 100 - $have; }}
{{ $have = number_format($have, 2, '.', ''); }}
{{ $lost = number_format($lost, 2, '.', ''); }}

{{$url = base64_encode( $comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->pid ) ) );}}
<li style="margin: 5px 0; max-width: 180px; display: inline;">
	<div class="a_a_r">
		<div class="progress_rep">
			<div class="progress" style="width: {$have}%;background: url({$colorbg});"></div>
		</div>
		<div class="colorWhite repText" style="width: {$have}%;">
			<div class="hideRepText">{$author->pp_reputation_points}</div>
		</div>
		<div class="colorBlack repText" style="width: {$lost}%;">
			<div class="hideRepText">{$author->pp_reputation_points}</div>
		</div>
		<div class="colorNone repText">
			<div class="hideRepText" data-controller="plugins.advrep">
				{{if $member->member_id != $author->member_id }}
					<a data-ipsDialog data-ipsDialog-size="medium" data-ipsDialog-title="Понизить репутацию пользователю {$author->name}" href="{url="app=core&module=system&section=plugins&do=reputationReact&url=$url&author=$author->member_id&pid=$comment->pid&type=down" csrf="1"}" class="repChangeImg">
						<i class="fa fa-thumbs-down"></i>
					</a>
				{{endif}}
				<a style="margin: 0 5px;" data-ipsDialog data-ipsDialog-size="medium" data-ipsDialog-title="Репутация пользователя {$author->name}" href="{url="app=core&module=system&section=plugins&do=reputationShow&author=$author->member_id" csrf="1"}" class='colorNone'>{$author->pp_reputation_points}</a>
				{{if $member->member_id != $author->member_id }}
					<a data-ipsDialog data-ipsDialog-size="medium" data-ipsDialog-title="Пвысить репутацию пользователю {$author->name}" href="{url="app=core&module=system&section=plugins&do=reputationReact&url=$url&author=$author->member_id&pid=$comment->pid&type=up" csrf="1"}"  class="repChangeImg">
						<i class="fa fa-thumbs-up"></i>
					</a>
				{{endif}}
			</div>
		</div>
	</div>
</li>

core > global > plugins > AdvRepShow

<ol class="ipsDataList ipsDataList_zebra ipsClear">
	{{if count($historys) > 0 }}
		{{foreach $historys as $history}}
			{{ $rep_rating = $history['a_value']; }}
			{{ $rep_date = $history['a_date']; }}
			{{ $rep_reason = $history['a_comment']; }}
			{{ $rep_member = \IPS\Member::load( $history['a_member'] ); }}
			<li class="ipsDataItem ipsDataItem_responsivePhoto">
				<div class="ipsDataItem_icon">
					<div class='rep_rating'>
						{{if intval($rep_rating) > 0}}
							<div class='rep_rating rep_positive'>{$rep_rating}</div>
						{{else}}
							<div class='rep_rating rep_negative'>{$rep_rating}</div>
						{{endif}}
					</div>
				</div>
				<div class="ipsDataItem_main">
					<h4 class="ipsDataItem_title ipsContained_container">
						<span class="ipsType_break ipsContained">
							{$rep_member->link()|raw}
						</span>
					</h4>
					<div class="ipsDataItem_meta ipsType_reset ipsType_light ipsType_blendLinks">
						<span class='rep_reason'>
							{{if empty( $rep_reason )}}
								<i>??????? ?? ???????</i>
							{{else}}
								{$rep_reason|raw}
							{{endif}}
						</span>
					</div>
				</div>
				<div class="ipsDataItem_stats">
					{{if $history['a_pid'] > 0 AND $history['a_tid'] > 0 }}
					{{$url = base64_decode($history['a_url']);}}
						<span class='rep_date'>
							<a href="{$url}">????????</a>
						</span>
					{{endif}}
					<span class='rep_date'>{datetime="$rep_date"}</span>
				</div>
			</li>
		{{endforeach}}
	{{else}}
		<li class="ipsDataItem ipsDataItem_responsivePhoto">
			<div class="ipsDataItem_main">
				<h4 class="ipsDataItem_title ipsContained_container">
					<span class="ipsType_break ipsContained">
						????? ???????????? ??? ????? ?? ??????? ?????????
					</span>
				</h4>
			</div>
		</li>
	{{endif}}
</ol>

core > global > reputationBadge

{{if $author->pp_reputation_points < 0 }}
	{{ $have = 100; }}
	{{ $colorbg = '/uploads/img/reputation/0bg.jpg'; }}
{{elseif $author->pp_reputation_points < 50 }}
	{{ $percent = 50/100; }}
	{{ $have = ($author->pp_reputation_points) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/1bg.jpg'; }}
	{{ $minwidth = 'nomw'; }}
{{elseif $author->pp_reputation_points < 100 }}
	{{ $percent = 50/100; }}
	{{ $have = ($author->pp_reputation_points - 50) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/2bg.jpg'; }}
{{elseif $author->pp_reputation_points < 500 }}
	{{ $percent = 400/100; }}
	{{ $have = ($author->pp_reputation_points-100) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/3bg.jpg'; }}
{{elseif $author->pp_reputation_points < 1000 }}
	{{ $percent = 500/100; }}
	{{ $have = ($author->pp_reputation_points-500) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/4bg.jpg'; }}
{{elseif $author->pp_reputation_points < 10000 }}
	{{ $percent = 9000/100; }}
	{{ $have = ($author->pp_reputation_points-1000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/5bg.jpg'; }}
{{elseif $author->pp_reputation_points < 50000 }}
	{{ $percent = 40000/100; }}
	{{ $have = ($author->pp_reputation_points-10000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/6bg.jpg'; }}
{{elseif $author->pp_reputation_points < 100000 }}
	{{ $percent = 50000/100; }}
	{{ $have = ($author->pp_reputation_points-50000) / $percent; }}
	{{ $colorbg = '/uploads/img/reputation/7bg.jpg'; }}
{{elseif $author->pp_reputation_points > 100000 }}
	{{ $have = 100; }}
	{{ $colorbg = '/uploads/img/reputation/8bg.jpg'; }}
{{endif}}

{{ $lost = 100 - $have; }}
{{ $have = number_format($have, 2, '.', ''); }}
{{ $lost = number_format($lost, 2, '.', ''); }}
<div style="margin: 5px 0;">
	<div class="a_a_r">
		<div class="progress_rep">
			<div class="progress {$minwidth}" style="width: {$have}%;background-image: url({$colorbg});"></div>
		</div>
		<div class="colorWhite repText" style="width: {$have}%;">
			<div class="hideRepText">{$author->pp_reputation_points}</div>
		</div>
		<div class="colorBlack repText" style="width: {$lost}%;">
			<div class="hideRepText">{$author->pp_reputation_points}</div>
		</div>
		<div class="colorNone repText">
			<div class="hideRepText">
				<span class='colorNone'>{$author->pp_reputation_points}</span>
			</div>
		</div>
	</div>
</div>

это все что есть

Поделиться сообщением


Ссылка на сообщение

Ну понятно, этот код еще тянется с третьей версией этого хука.

Можно попробовать на основе него что нибудь собрать. Больше ничего не сохранилось?

Поделиться сообщением


Ссылка на сообщение
5 часов назад, siv1987 сказал:

Ну понятно, этот код еще тянется с третьей версией этого хука.

Можно попробовать на основе него что нибудь собрать. Больше ничего не сохранилось?

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

Поделиться сообщением


Ссылка на сообщение

База данных не особа интересует. Может файлы плагина /plugins/advrep/ или правки в /applications/core/modules/front/system/plugins.php

Поделиться сообщением


Ссылка на сообщение
4 минуты назад, siv1987 сказал:

База данных не особа интересует. Может файлы плагина /plugins/advrep/ или правки в /applications/core/modules/front/system/plugins.php

нет, файлы сайта не сохранились, только шаблон в котором я нашел правки что указал выше и поломанная бд, больше ничего нет (

Поделиться сообщением


Ссылка на сообщение

Понятно. Тогда обработчик придется писать с начало. Будет время опробую посмотреть, по цене не знаю, посмотрим как пойдет.

  • Like 1

Поделиться сообщением


Ссылка на сообщение

Всем привет! Есть информация по данному ТЗ? Хотелось бы тоже купить...

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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