Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
hide links - ein Forum für alle sichtbar machen
#1
Dieser Benutzer erhält keinen Support, da eines seiner Foren nicht unseren Foren-Regeln entspricht!

ich habe hide links und es funktioniert auch wunderbar.

jetzt möchte ich aber in einem forum die links für alle freigeben, also auch für gäste.

leider weiß nicht wie, was und wo ich es einfügen muss damit es klappt. wäre schön wenn mir jemand helfen könnte.

fid=74 -- um dieses forum geht es.

anbei stelle ich hier mal den kompletten code vom plug in ein.

Code:
<?php
/**
* MyBB 1.6
* Copyright © 2006 MyBB Group, All Rights Reserved
*
* Website: http://www.mybboard.net
* License: http://www.mybboard.net/eula.html
*
*
*/

if(!defined("IN_MYBB")) {
die("Non si pu&ograve; utilizzare questo file direttamente.<br /><br />assicurati che IN_MYBB sia definita.");
}

$plugins->add_hook("parse_message","Hide_links");

function Hide_links_info()
{
return array(
"name" => "Nascondi Links",
"description" => "Nascondi i links agli utenti non collegati",
"website" => "http://www.slimmer.it",
"author" => "Kaito",
"authorsite" => "http://www.slimmer.it",
"version" => "1.0",
);
}

function Hide_links_activate() {
global $db;
$Hide_links_group = array(
"name" => "hl_group",
"title" => "Nascondi Links",
"description" => "Imposta la frase default per i link nascosti!",
"disporder" => "4",
);
$db->insert_query("settinggroups", $Hide_links_group);
$gid = $db->insert_id();
$Hide_links_setting = array(
"name" => "frase_default",
"title" => "Frase sostituente i links",
"description" => "La frase che andrà a sostituire i links. <strong>Usa i BBCode se servono!</strong>",
"optionscode" => "text",
"value" => "Registrati o effettua il Login per visualizzare il link!",
"disporder" => "1",
"gid" => intval($gid),
);
$db->insert_query("settings", $Hide_links_setting);
}

function Hide_links_deactivate() {
global $db;
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='hl_group'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='frase_default'");
}

function Hide_links($message) {
global $mybb;
madancode($var);
if(!$mybb->user['uid']) {
$ltr = array();
preg_match_all("#<a(.*?)</a>#s", $message, $m);
foreach($m[1] as $value) {
$ltr[] = "<a$value</a>";
}
$message = str_replace($ltr, madancode($mybb->settings['frase_default']), $message);
}
return $message;
}

function madancode($var) {
$find = array(
'~\[b\](.*?)\[/b\]~s',
'~\[i\](.*?)\[/i\]~s',
'~\[u\](.*?)\[/u\]~s',
'~\[s\](.*?)\[/s\]~s',
'~\[size=(.*?)\](.*?)\[/size\]~s',
'~\[color=(.*?)\](.*?)\[/color\]~s',
'~\[url=(.*?)\](.*?)\[/url\]~s'
);
$replace = array(
'<strong>$1</strong>',
'<em>$1</em>',
'<span style="text-decoration: underline;">$1</span>',
'<span style="text-decoration: strike;">$1</span>',
'<span style="font-size: $1px;">$2</span>',
'<span style="color: $1;">$2</span>',
'<a href="$1">$2</a>'
);
return preg_replace($find, $replace, $var);
}

?>
Zitieren
#2
Versuche es mal so (hab es selbst nicht ausprobiert):

Ersetze
PHP-Code:
if(!$mybb->user['uid']) 
durch
PHP-Code:
if(!$mybb->user['uid'] && $thread['fid'] != 74
Ggf. musst Du auch den Hook für showthread_start setzen.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#3
Dieser Benutzer erhält keinen Support, da eines seiner Foren nicht unseren Foren-Regeln entspricht!

habe den code wie du geschrieben hast eingegeben. es passiert aber nichts.

also muss ich einen hook setzen.

jetzt muss ich gestehen das ich bis jetzt noch nicht mal wusste was ein hook ist. habe mich jetzt schlau gelesen und habe das hier gefunden
Code:
$plugins->run_hooks("global_end");
abgeändert mit showthread_start und es passierte nichts.

wäre schön wenn mir noch jemand erklären könnte wie das mit dem hook funktioniert und wo dieser eingefügt werden muss. ich hatte ihm beim testen immer am anfang des plug ins gesetzt.
Zitieren
#4
Ich würde dafür gar keinen Hook verändern, sondern einfach diesen Teil:

PHP-Code:
function Hide_links($message) {
global 
$mybb

ersetzen durch:

PHP-Code:
function Hide_links($message) {
global 
$mybb$post;

if(
$post['fid'] == 74) return; 
Zitieren
#5
Dieser Benutzer erhält keinen Support, da eines seiner Foren nicht unseren Foren-Regeln entspricht!

hab es so gemacht wie waldo es geschrieben hat. hat ohne probleme geklappt.

danke.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen Santhony 50 14.464 12.02.2020, 21:17
Letzter Beitrag: Santhony
  Fotos im Portal für Gäste nicht sichtbar machen Vespa 3 1.719 05.04.2017, 20:59
Letzter Beitrag: Vespa
  Impressum für Gäste sichtbar machen gmx 13 5.813 26.03.2016, 15:32
Letzter Beitrag: raana
  einträge im Gästebuch sofort sichtbar zu machen Cougar 8 2.506 18.05.2015, 10:24
Letzter Beitrag: Cougar
  Letzte Beiträge für Gäste sichtbar machen Mthree 4 2.325 20.05.2013, 19:28
Letzter Beitrag: Mthree