Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Multimoderacja w wynikach wyszukiwania


DawPi

Rekomendowane odpowiedzi

  • Manager

Info:

Wykonałem upgrade tej modyfikacji napisanej do wersji 2.2.x oraz poprawiłem kilka błędów.

Autorem modyfikacji jest ntd1712, który już nie programuje mody i doczytałem informację, że daje prawo do wykonywania upgrade'ów jego modyfikacji. Zatem do dzieła :P

Opis:

Multimoderacja w wynikach wyszukiwania na forum - przydatne ;-)

Instrukcja:

Otwórz plik: sources/action_public/moderate.php

Znajdź: [ function auto_run() ]

			$this->ipsclass->input['f'] = intval($this->ipsclass->input['f']);

		if ( ! $this->ipsclass->input['f'] )
		{
			$this->ipsclass->Error( array( 'LEVEL' => 1,'MSG' => 'missing_files') );
		}

Zamień na:

		if ( !isset($this->ipsclass->input['referer']) )
	{	
		if ( isset($this->ipsclass->input['f']) )
		{

			$this->ipsclass->input['f'] = intval($this->ipsclass->input['f']);

			if ( ! $this->ipsclass->input['f'] )
			{
				$this->ipsclass->Error( array( 'LEVEL' => 1,'MSG' => 'missing_files') ); 
			}
		}
	}

Znajdź: [ function multi_topic_modify() ]

		if ( $this->forum['id'] )
	{
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['cp_redirect_topics'], "showforum=".$this->forum['id'] );
	}

Zamień na:

		if ( $this->forum['id'] )
	{
		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['cp_redirect_topics'], "showforum=".$this->forum['id'] );
	}
	elseif ( $this->ipsclass->input['referer'] )
	{
		$url = str_replace("&", "&", $this->ipsclass->input['referer']);
		$url = str_replace("&", "&", $url);
		$url = preg_replace("/s=[a-z0-9]{32}/", "", $url);

		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['cp_redirect_topics'], $url );
	}

Zapisz i wyślij.

Otwórz plik: sources/action_public/search.php

Znajdź: [ function show_results() ]

			//-----------------------------------------
		// PRINT: End the page
		//-----------------------------------------

		$this->output .= $this->ipsclass->compiled_templates['skin_search']->end_results_table(array( 'SHOW_PAGES' => $this->links ));

Zamień na:

			//-----------------------------------------
		// PRINT: End the page
		//-----------------------------------------

		if ($this->ipsclass->member['is_mod'])
		{
			$count = 0;
			$other_pages = 0;

			if ($this->ipsclass->input['selectedtids'] != "")
			{
				$tids = explode(",",$this->ipsclass->input['selectedtids']);

				if (is_array($tids) && count($tids))
				{
					foreach ($tids as $tid)
					{
						if ($tid)
						{
							if (! array_key_exists($tid, $the_topics)) $other_pages++;
							$count++;
						}
					}
				}
			}

			$this->ipsclass->lang['f_go'] .= " ({$count})";

			if ($other_pages)
			{
				$this->ipsclass->lang['f_go'] .= " ({$other_pages} {$this->ipsclass->lang['jscript_otherpage']})";
			}
		}

		$this->output .= $this->ipsclass->compiled_templates['skin_search']->end_results_table(array( 'SHOW_PAGES' => $this->links, 'referer' => htmlentities(urldecode($_SERVER['QUERY_STRING'])), 'auth_key' => $this->ipsclass->return_md5_check()));

Zapisz i wyślij.

Przejdź do:

ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Search >> end_results_table

Znajdź:

<!-- END RESULTS TABLE -->
<if="$as_post != 1">
<tr>
<td class="formbuttonrow" colspan="8" style="text-align: right;">
<form action="{$this->ipsclass->base_url}act=search&CODE=getnew&active=1" method="post">
	{$this->ipsclass->lang['active_start']} 
	<select class="dropdown" name="lastdate">
		<option value="86400">{$this->ipsclass->lang['active_today']}</option>
		<option value="604800">{$this->ipsclass->lang['active_week']}</option>
		<option value="1209600">{$this->ipsclass->lang['active_week2']}</option>
		<option value="2419200">{$this->ipsclass->lang['active_month']}</option>
		<option value="7257600">{$this->ipsclass->lang['active_month3']}</option>
		<option value="31449600">{$this->ipsclass->lang['active_year']}</option>
	</select>
	<input type="submit" value="{$this->ipsclass->lang['active_go']}" class="button" /></form></td>
</tr><tr>
<td class="catend" colspan="8"><!-- no content --></td>
</tr>
</table>
</div>
</if>

Zamień na:

<!-- END RESULTS TABLE -->
<if="$as_post != 1">
<tr>
<td class="formbuttonrow" colspan="9" style="text-align: right;">
	<table class="ipbtable" cellspacing="0">
	<tr>
		<td width="50%" class="nopad" align="left">
			<form action="{$this->ipsclass->base_url}act=search&CODE=getnew&active=1" method="post">
			{$this->ipsclass->lang['active_start']} 
			<select class="dropdown" name="lastdate">
				<option value="86400">{$this->ipsclass->lang['active_today']}</option>
				<option value="604800">{$this->ipsclass->lang['active_week']}</option>
				<option value="1209600">{$this->ipsclass->lang['active_week2']}</option>
				<option value="2419200">{$this->ipsclass->lang['active_month']}</option>
				<option value="7257600">{$this->ipsclass->lang['active_month3']}</option>
				<option value="31449600">{$this->ipsclass->lang['active_year']}</option>
			</select>
			<input type="submit" value="{$this->ipsclass->lang['active_go']}" class="button" />
			</form>
		</td>
		<if="$this->ipsclass->member['is_mod'] == 1">
		<td width="50%" align="right" nowrap="nowrap" class="nopad">
			<form name="modform" method="post" action="{$this->ipsclass->base_url}" onsubmit="return checkdelete();">
			<input type="hidden" name="act" value="mod" />
			<input type="hidden" name="CODE" value="topicchoice" />
			<input type="hidden" name="auth_key" value="{$data['auth_key']}" />
			<input type="hidden" name="modfilter" value="{$this->ipsclass->input['modfilter']}" />
			<input type="hidden" value="{$this->ipsclass->input['selectedtids']}" name="selectedtids" />
			<input type="hidden" name="referer" value="{$data['referer']}" />
			<select name="tact">
				<option value="close">{$this->ipsclass->lang['cpt_close']}</option>
				<option value="open">{$this->ipsclass->lang['cpt_open']}</option>
				<option value="pin">{$this->ipsclass->lang['cpt_pin']}</option>
				<option value="unpin">{$this->ipsclass->lang['cpt_unpin']}</option>
				<option value="merge">{$this->ipsclass->lang['cpt_merge']}</option>
				<option value="delete">{$this->ipsclass->lang['cpt_delete']}</option>
				<option value="approve">{$this->ipsclass->lang['cpt_approve']}</option>
				<option value="unapprove">{$this->ipsclass->lang['cpt_unapprove']}</option>
			</select> 
			<input type="submit" name="gobutton" value="{$this->ipsclass->lang['f_go']}" class="button" />
			</form>
		</td>
		</if>
	</tr>
	</table>
</td>
</tr>
<tr>
<td class="catend" colspan="9"><!-- no content --></td>
</tr>
</table>
</div>
</if>

Zapisz.

Przejdź do:

ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Search >> no_results_row

Znajdź:

	<tr>
	<td align="center" colspan="8" class="row1"><b>{$this->ipsclass->lang['no_search_topics']}</b></td>
</tr>

Zamień na:

	<tr>
	<td align="center" colspan="9" class="row1"><b>{$this->ipsclass->lang['no_search_topics']}</b></td>
</tr>

Zapisz.

Przejdź do:

ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Search >> RenderRow

Znajdź:

		<td class="{$data['class2']}"><span class="desc">{$data['last_post']}<br /><a href="{$this->ipsclass->base_url}showtopic={$data['tid']}&view=getlastpost">{$data['last_text']}</a> <b>{$data['last_poster']}</b></span></td>

Dodaj poniżej:

		<if="$this->ipsclass->member['is_mod'] == 1 and $data['tidon'] == 1">
	<td align="center" class="{$data['class2']}"><input type='hidden' name='tid_{$data['real_tid']}' id='tid_{$data['real_tid']}' /><a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="forum_toggle_tid('{$data['real_tid']}'); return false;"><img name="img{$data['real_tid']}" id='ipb-topic-{$data['real_tid']}' src="{$this->ipsclass->vars['img_url']}/topic_selected.gif" alt='' /></a></td>
	</if>
	<if="$this->ipsclass->member['is_mod'] == 1 and $data['tidon'] == 0">
	<td align="center" class="{$data['class2']}"><input type='hidden' name='tid_{$data['real_tid']}' id='tid_{$data['real_tid']}' /><a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="forum_toggle_tid('{$data['real_tid']}'); return false;"><img name="img{$data['real_tid']}" id='ipb-topic-{$data['real_tid']}' src="{$this->ipsclass->vars['img_url']}/topic_unselected.gif" alt='' /></a></td>
	</if>

Zapisz.

Przejdź do:

ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Search >> Start

Znajdź:

<script type="text/javascript" src="jscripts/ipb_forum.js"></script>

Dodaj powyżej:

<script language="javascript" type="text/javascript">
<!--
var unselectedbutton  = "{$this->ipsclass->vars['img_url']}/topic_unselected.gif";
var selectedbutton	= "{$this->ipsclass->vars['img_url']}/topic_selected.gif";
var lang_gobutton	 = "{$this->ipsclass->lang['f_go']}";
var lang_suredelete   = "{$this->ipsclass->lang['cp_js_delete']}";
var lang_otherpage	= "{$this->ipsclass->lang['jscript_otherpage']}";
//-->
</script>

Znajdź:

	<table class='ipbtable' cellspacing="1">
	<tr>
		<th colspan="2"> </th>
		<th>{$this->ipsclass->lang['h_topic_title']}</th>
		<th align="center">{$this->ipsclass->lang['h_forum_name']}</th>
		<th align="center">{$this->ipsclass->lang['h_topic_starter']}</th>
		<th align="center">{$this->ipsclass->lang['h_replies']}</th>
		<th align="center">{$this->ipsclass->lang['h_hits']}</th>
		<th>{$this->ipsclass->lang['h_last_action']}</th>

Dodaj poniżej:

			<if="$this->ipsclass->member['is_mod'] == 1">
		<th width="1%" align="center"><a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="forum_select_all(); return false;"><img name="imgall" id='ipb-topics-all' src="{$this->ipsclass->vars['img_url']}/topic_unselected.gif" alt='' /></th>
		</if>

Zapisz.

Gotowe! :)

Pozdrawiam,

DawPi

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...
  • Manager
a po co się tak męczyć ze zmianami w plikach itp, jak wszystko ładnie można załatwić na skinie ?? wszystko ładnie opisał Spanner w swoim modzie

Jeśli mam być szczery to wolę edytować pliki niż skiny. Pomyśl co w sytuacji jak masz 10 skinów i w każdym musisz zrobić to samo dziesięć razy. W plikach zrobisz to raz i obowiązuje to w każdym skinie.

Na przyszłość pomyśl dwa razy zanim coś napiszesz. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli mam być szczery to wolę edytować pliki niż skiny. Pomyśl co w sytuacji jak masz 10 skinów i w każdym musisz zrobić to samo dziesięć razy. W plikach zrobisz to raz i obowiązuje to w każdym skinie.

Na przyszłość pomyśl dwa razy zanim coś napiszesz. ;)

Daw nie bytłbym taki pewny, Twoja modyfikacja też edytuje skina więc to samo pytanie do Ciebie :) po co edytujesz skin ;)

ja tylko wyjaśnie, bo @craker wprowadził deczko w błąd. moja modyfikacja też wymaga edycji pliku, tyle, że wymaga mniej zmian

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.