Seite 4 von 12

Verfasst: Fr 24.Feb, 2006 17:33
von oxpus
Hm, also der MOD sollte nicht komplett die Gastposts an-/abschalten können.
Ich sag mal, daß die Posts erst freigeschaltet werden müssen, ist ausreichend, ungeliebte Beiträge einfach vor Bekanntwerden zu löschen.
Und ab da würde ich das eh nur dem User selber überlassen, ob er die Gastbeiträge sehen will oder nicht.

Was ich aber vielleicht abpassen/ergänzen würde, ist ein Hinweis für Admins und Mods, daß die Einstellung die sie in Ihrem Profil treffen keine Auswirkung hat, da sie (Mods nur in "Ihren" Foren) Gastbeiträge eh immer sehen.
Sonst könnte die Einstellung etwas verwirren. Wenn auch nur einen kleinen Personenkreis...

Ansonsten sag ich mal, ist der MOD fertig und ich erstelle nachher noch ein besseres Icon. Vorschläge hierzu sind gerne willkommen...

Verfasst: Fr 24.Feb, 2006 20:20
von Bootenks
So den ersten RC rausgebracht... nun testet nochmal... sind einige Stellen korrigiert worden aber andere Stellen sind hinzugekommen... Sagt mir wenn was nicht laufen sollte ~.~

Verfasst: Fr 24.Feb, 2006 20:59
von oxpus
Ich muss das morgen testen. Heute habe ich keine Chance mehr.
Dafür hier noch das neue Icon:

Verfasst: Sa 25.Feb, 2006 07:19
von tom10
So, hab das ganze mal eingebaut. Auch das Icon...

Klappt auch alles so weit. Wenn ich ein aktiviertes Gästeposting lösche kommt die Fehlermeldung:
Error in posting

DEBUG MODE

SQL Error : 1054 Unknown column '1forum_last_post_id' in 'field list'

UPDATE plus_forums SET forum_topics = forum_topics - 1forum_last_post_id = 17336 WHERE forum_id = 11

Line : 905
File : functions_post.php
Der Teil in der functions_post.php sieht so aus:

Code: Alles auswählen

	else 
	{
		$topic_update_sql .= 'topic_vote = 0';
	}

	if ($forum_update_sql != '')
	{
		$sql = "UPDATE " . FORUMS_TABLE . " SET
			$forum_update_sql
			WHERE forum_id = $forum_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}
//<!-- BEGIN Unread Post Information to Database Mod -->

Verfasst: Sa 25.Feb, 2006 09:07
von oxpus
Öhm, genau dieser Fehler sollte mit der letzten Version ausgemerzt sein.
Schau nochmal genau in deiner functions_post.php nach, ob Du wirklich alle Stellen korrekt gemoddet hast...

Verfasst: Sa 25.Feb, 2006 10:48
von tom10
So, nun klappts.
Was bei mir aber noch nicht klappt ist, das er nach aktivierung eines Beitrags die noch zu aktivierenden Beiträge (welche natürlich vorhanden sind) nicht anzeigt.
Statt dessen kommt: Es gibt keine inaktiven Gästebeiträge.

Ist das bei euch auch so ?

Wo ich auch noch ein problem hab ist dieser Teil der bei mir so aussieht:

Code: Alles auswählen

	$message = (($userdata['user_level'] == ANONYMOUS) ? $lang['message_inactive'] : $ctinfomeldung . $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>'));

	return false;
}
Laut Anleitung sollte ich das machen:

Code: Alles auswählen

# 
#-----[ FIND ]------------------------------------------------ 
# 
	$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

# 
#-----[ IN-LINE FIND ]------------------------------------------------ 
# 
$lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>')

# 
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------------ 
# 
(($userdata['user_level'] == ANONYMOUS) ? $lang['message_inactive'] : 

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------------ 
# 
)
 

Verfasst: Sa 25.Feb, 2006 10:49
von Bootenks
Oo also das Phänomen hatte ich bis dato nicht... erklär mal was du genau machst um diesen Fehler zu erhalten oO

Verfasst: Sa 25.Feb, 2006 11:03
von tom10
Also, ich erstelle mit einem Gast ein Posting.
Dann logge ich mich als Admin ein und sehe das Posting und schalte es frei. Nun kommt ein neues Fenster mit der info wie oben beschrieben.

Verfasst: Sa 25.Feb, 2006 11:12
von oxpus
BTW @Bootenks:
Ich grübel schon gerade, wie man am besten alle noch zu aktivierenden Beiträge finden kann. Aktuell muss man ja in jedem Topic einzeln die Beiträge (zwar dann gesamt aber eben nur für dieses Topic) anzeigen und freischalten lassen.
Zudem hätte ich für diese Liste noch den Wunsch, Gast-Posts auch gleich löschen zu können.
Aber auch eben eine Konsole, die ALLE noch vorhandenen, inaktiven Gast-Beiträge anzeigen kann, wäre nett.
Vielleicht die gleiche Routine wie in der modcp.php einzubauen ist, nur eben um einen neuen Parameter erweitert, damit nicht nur in dem einen Topic gesucht wird.
Der geänderte Code für die modcp.php könnte so lauten:

Code: Alles auswählen

#
#-----[ FIND ]-----
# // In der Funktion 'activate'!
#
			$sql = "SELECT topic_id, forum_id
				FROM " . TOPICS_TABLE . "
				WHERE topic_id = $topic_id";

#
#-----[ REPLACE WITH ]-----
#
			if ($HTTP_GET_VARS['show'] == 'all')
			{
				$sql_where = '';
			}
			else
			{
				$sql_where = ' WHERE topic_id = ' . $topic_id;
			}

			$sql = "SELECT topic_id, forum_id
				FROM " . TOPICS_TABLE . "
				$sql_where";
Und dann natürlich noch im weiteren Verlauf des Scripts der Foren-Titel nötig.
Des weiteren könnte man mit einem 3. Parameter auch sie Suche nur auf ein Forum beschränken.
Also dann würde das so lauten:

Code: Alles auswählen

#
#-----[ FIND ]-----
# // In der Funktion 'activate'!
#
			$sql = "SELECT topic_id, forum_id
				FROM " . TOPICS_TABLE . "
				WHERE topic_id = $topic_id";

#
#-----[ REPLACE WITH ]-----
#
			if ($HTTP_GET_VARS['show'] == 'all')
			{
				$sql_where = '';
			}
			else
			{
				$sql_where = ' WHERE topic_id = ' . $topic_id;
			}

			if ($forum_id && $HTTP_GET_VARS['show'] == 'all')
			{
				$sql_where .= (($sql_where == '') ? ' WHERE ' : ' AND ') . 'forum_id = ' . $forum_id;
			}

			$sql = "SELECT topic_id, forum_id
				FROM " . TOPICS_TABLE . "
				$sql_where";
Was hälst Du davon?
Der Link dazu wäre dann selbstverständlich zusätzlich einmal im Board-Header und ein anderes mal im Forum selber zu hinterlegen...

Verfasst: Sa 25.Feb, 2006 11:15
von tom10
Könntet Ihr bitte mal nach meinem oben geposteten Code schauen? Denn ein gast bekommt die message_inactive leider nirgens bei mir angezeigt.

@Oxpus

Genau die Sache welche ich auch schon bemerkt hab!

Verfasst: Sa 25.Feb, 2006 11:20
von oxpus
Öh, wenn Du aller in der Konsole inaktiven Beiträge aktiviert hast, warum soll diese dann die aktiven Beiträge anzeigen?
Oder habe ich da jetzt was falsch verstanden?

Diese Liste zeigt nur inaktive Gastposts an. Sind die alle aktiviert, ist die Liste folglich leer, was dann auch angezeigt wird...

Verfasst: Sa 25.Feb, 2006 11:25
von tom10
Nee, hast Du leider etwas falsch verstanden.
Ich hab mehrere inaktive Beiträge....ich schalte einen frei. (Wird mir ja auch nur einer zum Freischalten erstmal in dem Topic angezeigt)
Dann kommt das neue Fenster (siehe oben im Bild) und nun dachte ich eigentlich das mir nun alle anderen noch nicht aktivierten Beiträge präsentiert werden, damit ich die gegebenenfalls freischalten/verschieben/löschen kann. Das passiert aber nicht! Denn es kommt ja die Meldung das keine inaktiven Beiträge vorhanden wären. (ist ja teilweise richtig, da in dem Topic keine inaktiven sind, aber in anderen eben schon)
Und wie ich nun fest gestellt hab setzt Du nun genau da an. (Siehe dein Code )

Was mir auch gerade noch auffällt ist: Es wäre sinnvoll die (inaktiven) postings in der viewforum etwas hervorzuheben oder zu markieren oder so. Damit kann man die dann besser erkennen ob die von Gästen sind und freigeschalten werden müssen. Was haltet ihr davon?

Verfasst: Sa 25.Feb, 2006 13:50
von Bootenks
@tom10: Zum letzteren Punkt! an diesen habe ich auch schon gedacht... werde mir was entsprechendes überlegen...

@oxpus: ja sowas war schon in Planung ^^ nur im Moment wollte ich ja die Funktionalität testen => also der Schnickschnack drumherum wäre noch gekommen ^^ *grins*

@all: Wie man sieht wird er immer größer ^^ und das ist nur ein Grundgerüst... *oh my god*

btw: was meinst du mit der Suche *Oo

Verfasst: Sa 25.Feb, 2006 13:57
von oxpus
Ah, ich sehe, Bootenks hat die nächsten Tage noch fleissig zu tun.
Dann warte ich mal, was da noch kommt.
Bislang funktioniert, bis auf das Freischalten einzelner Posts, ja zunächst alles fehlerfrei.

Verfasst: Sa 25.Feb, 2006 14:20
von Bootenks
wie jetzt Oo

was ist mit dem Freischalten einzelner Post's??? Läuft doch Oo

Verfasst: Sa 25.Feb, 2006 16:42
von oxpus
Bei tom10 angeblich nicht...

Verfasst: Sa 25.Feb, 2006 17:10
von tom10
Ja, und auch die anderen Fragen wegen dem von mir eingebauten Code sind noch offen.
Versuch doch dort bitte erstma zu prüfen was da los ist.

Verfasst: Sa 25.Feb, 2006 17:13
von oxpus
Na so müsste der Code doch korrekt sein:

Code: Alles auswählen

$message = ($userdata['user_level'] == ANONYMOUS) ? $lang['message_inactive'] : $ctinfomeldung . $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

Verfasst: Sa 25.Feb, 2006 17:25
von tom10
Danke Oxpus,
hab das gerade mal geändert.
Momentan ist es so wenn ich als Gast poste:

Ich sende das Posting ab---> dann kommt die Seite: Das posting wurde erfolgreich eingetragen---> dann gehts zu der Topicansicht.
Also ich dachte es müsse irgend wo noch der Hinweis kommen, das es ein Gastposting ist und erst vom Mod oder Admin freigeschalten werden muß.
Nur das kommt nicht.....

Verfasst: Sa 25.Feb, 2006 17:27
von oxpus
Hast Du auch $lang['message_inactive'] mitsamt Text in der lang_main.php eingefügt?

Verfasst: Sa 25.Feb, 2006 17:31
von tom10
Ja, ist drin und sieht bei mir in der lang_main so aus:
// Bootenks Guest - Posting - Control
$lang['show_guestposts'] = 'Möchtest du Gästebeiträge sehen?';
$lang['gp_admin_explain'] = "<br /><span class=\"gensmall\" >Achtung: Wenn du Moderatorrechte für ein Topic hast, dann ist diese Option für dieses Topic wirkungslos!</span>";
$lang['showme_guestposts'] = 'Zeige mir Gästebeiträge!';
$lang['hide_guestposts'] = 'Verstecke Gästebeiträge!';
$lang['gpost_activation'] = 'Aktivierte Gästebeiträge anzeigen?';
$lang['no_inactive_post'] = '<span style="color:#F00000" class="gen"><b>Es gibt keine inaktiven Gästebeiträge.</b></span>';
$lang['post_activation'] = 'Gästebeitrags - Aktivierung';
$lang['post_activate'] = '<br /><br /><center><span style="color:#FF0000; border-color:#FF0000; border-width:thin; border-style:solid; padding:3px">Achtung: Der Gastbeitrag ist momentan <b>nicht</b> aktiviert! Bitte Prüfen, dann <b>"Freischalten/Löschen/Verschieben"</b>!</center></br>';
$lang['message_inactive'] = "Du bist ein Gast des Forum`s! Dein Beitrag wird bevor er ins Forum gestellt wir von einem Moderator oder Admin geprüft. Wir bitten um Verständnis!";

Oh, ich sehe gerade ein" statt einem' ....

Edit:
Habs gerade geänder... geht aber trotzdem nicht.....

Verfasst: Sa 25.Feb, 2006 17:36
von oxpus
Richtig:

Code: Alles auswählen

$userdata['user_level'] == ANONYMOUS
wäre auch falsch. Das muss so lauten:

Code: Alles auswählen

$userdata['user_id'] == ANONYMOUS
@Bootenks
Das solltest Du in der nächsten Version mit korrigieren...

Verfasst: Sa 25.Feb, 2006 17:45
von tom10
Nun hat`s geklappt. Nicht schlecht was so eine kleine Sache für eine Wirkung hat !

Herzlichen Dank Oxpus.

Können wir weiter machen im Programm?

Warum werden bei mir nicht alle zu aktivierenden Beiträge angzeigt ?
Oder vielleicht doch mit deinem gepostetem Code vom Beitrag 84 ?

Verfasst: Sa 25.Feb, 2006 17:48
von oxpus
Warte bis Bootenks eine neue Version gemacht hat.
Ich will ihm da nichts durcheinander bringen.

Verfasst: Sa 25.Feb, 2006 17:53
von tom10
Ja, mach ich....

Noch eine Zusatzfrage:
Ist es möglich die Anzeigedauer (Beiträge müssen erst duch Mod oder Admin freigeschalten werden) für Gäste zu verlängern? Es ist viel Text und zu wenig Zeit das zu lesen.... Aber eben nur für diese eine spezielle Anzeige.. es soll sich nicht auf andere Anzeigen auswirken.