Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Estomel

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

Recommended Posts

Всем привет, все помнят плагин 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!

Edited by Estomel
привел в чуть более красивый вид

Share this post


Link to post
Share on other sites
12 часов назад, Estomel сказал:

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

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

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

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

  • Like 1

Share this post


Link to post
Share on other sites
11 минут назад, siv1987 сказал:

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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>

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
5 часов назад, siv1987 сказал:

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 минуты назад, siv1987 сказал:

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

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

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...