Tagebuch?

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

In dem Fall sollte es auch $forum_id == 4 tun statt in_array($forum_id, array(4)). Ich wusste nur nicht ob du mehrere Foren haben willst oder nicht.

Aber du hast recht, da war ein Denkfehler meinerseits drin. So wie ich das jetzt vorgeschlagen habe musst du das Recht zu posten (also neue Themen erstellen) entfernen. Dann darf jeder User stattdessen genau ein Thema erstellen (ob dann der Button noch angezeigt wird ist aber eine andere Frage...).
Also Kommando zurück und nächster Versuch:
Stelle ist die richtige, aber statt

Code: Alles auswählen

elseif($mode == 'post' && !$auth->acl_get('f_post', $forum_id))
      {
         trigger_error('USER_CANNOT_POST');
      }
dieses mal dann das hier einsetzen:

Code: Alles auswählen

elseif($mode == 'post' && !$auth->acl_get('f_post', $forum_id))
      {
         trigger_error('USER_CANNOT_POST');
      }
elseif($mode == 'post' && $forum_id == 4)
{
//User is allowed to post already, did he already post?
$sql = "SELECT count(*) as topics_posted FROM " . TOPIC_TABLE . " WHERE forum_id = $forum_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if($row['topics_posted'] > 1)
{
trigger_error('Du kannst nicht mehr als ein Thema erstellen {Diesen Text kannst du ersetzen durch welche Fehlermeldung auch immer du möchtest}.');
} 
}
Dieses Verbot greift dann nur, wenn die User auch nur ihre eigenen Beiträge sehen dürfen und auch nur im eingestellten Forum (ID 4). Sprich: Alle die auch andere Beiträge sehen dürfen dürfen sowohl mehr Themen erstellen als auch (wie ja eingestellt ist) die fremden Themen weiterhin sehen. Ich hoffe dieses mal stimmts (auf den Button hat das wie gesagt keinen Einfluss).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Testusmania99
Mitglied
Beiträge: 345
Registriert: 04.09.2007 10:18
Wohnort: Norden

Beitrag von Testusmania99 »

In dem Fall sollte es auch $forum_id == 4 tun statt in_array($forum_id, array(4)). Ich wusste nur nicht ob du mehrere Foren haben willst oder nicht.
Und ich wusste nicht, dass es dafür auch noch einen anderen Befehl gibt, wenn man nur ein Forum haben will. *gg*
...musst du das Recht zu posten (also neue Themen erstellen) entfernen. Dann darf jeder User stattdessen genau ein Thema erstellen.
Habe ich getan, funktioniert gar nicht. Als ob Dein Snippet (nenne ich mal so) wie ein Geist wäre, der nichts macht. Es passiert nüschts.
(ob dann der Button noch angezeigt wird ist aber eine andere Frage...)
Na, ich denke das wäre kein Problem. Ich kopiere mir den Link des Thread-Erstellens und mache den in einen gesonderten Thread mit hinein, wo man dann aufgefordert wird draufzuklicken, um halt ein TB führen zu können.
Also, das ist das mindere Problem.
Und ja, habe ich natürlich schon ausprobiert zu kopieren und in die Url-Leiste einzugeben. Brachte nur nichts! (Ich kann keine Themen erstellen)
Mit anderen Worten, es funktioniert nicht. Es ist nicht schlimm, obwohl es mich piert herauszubekommen, woran das denn jetzt noch liegen kann???

Die Berechtigungen sind alle gut verteilt, so wie Du es auch beschrieben hast.
Aber auch wenn ich mit den Berechtigungen herumspiele, klappt es nicht.
Kurzum:
Entweder kann ich immerzu Themen erstellen oder überhaupt gar keines. ^^

Ich danke Dir, dass Du Dir die Zeit für mich nimmst und versuchst zu helfen!!! Respekt!
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hm. Könntest du mir mal die aktuelle Version deiner posting.php verlinken? Also mit den eingebauten Änderungen aus meinem letzten Post? Vielleicht finde ich den Fehler ja wenn ich den Kram im Kontext sehe.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Testusmania99
Mitglied
Beiträge: 345
Registriert: 04.09.2007 10:18
Wohnort: Norden

Beitrag von Testusmania99 »

Bitte gerne: Da! ^^

EDIT:
Ach vergessen zu sagen, was ich alles schon verbaut habe an Hacks:
- BBcodebox (aktuell)
- Titelleiste (re:) entfernen: (ausschließlich dieses Snippet wird benötigt)

Code: Alles auswählen

if (($mode == 'reply' || $mode == 'quote') && !$submit && !$preview && !$refresh)
{
   $post_data['post_subject'] = '';
Und eben halt Deine Sachen fürs TB.
Mehr nicht.....(nicht was für diese Datei relevant wäre)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hm eigentlich sollte das so klappen wenn der User der ins Forum geht
  • NICHT Lesen darf
  • Eigene Themen lesen darf
  • neue Themen erstellen darf
  • Die ID des Forums um das es geht 4 ist (lass && $forum_id == 4 einfach mal raus wenn es dann klappt hast du eine falsche ID angegeben)
  • Der user versucht zu posten, nicht zu antworten
Ein anderer Fehler ist auch noch drin, aber der sollte dazu führen dass wenn die einstellungen richtig sind immer "GEHT NICHT!!!^^" ausgegeben wird sofern mehr als ein Thema insgesamt im Forum existiert (Der SQL Befehl zählt nämlich alle Themen im Forum, nicht bloß die eigenen). Du musst die Zeile die mit $sql = beginnt (im geänderten Teil) durch

Code: Alles auswählen

$sql = "SELECT count(*) as topics_posted FROM " . TOPICS_TABLE . " WHERE forum_id = $forum_id AND topic_poster = {$user->data['user_id']}";
ersetzen damit nur die eigenen Themen gezählt werden.

Ansonsten wenn das trotzdem nicht geht hätte ich noch eine weitere Methode:
füge nach

Code: Alles auswählen

case 'post':

		if ($auth->acl_get('f_post', $forum_id))

		{

			$is_authed = true;

		}
das hier ein:

Code: Alles auswählen

if($forum_id == 4)
{
//How many topics did we post already?
			$sql = "SELECT count(*) as topics_posted FROM " . TOPICS_TABLE . " WHERE forum_id = $forum_id AND topic_poster = {$user->data['user_id']}";

			$result = $db->sql_query($sql);

			$row = $db->sql_fetchrow($result);

			if($row['topics_posted'] >= 1)

			{

				trigger_error('GEEEHT NIIIIICHT ^^');

			}
}
So ich hoffe danach gehts :)
Zuletzt geändert von gn#36 am 06.12.2008 04:21, insgesamt 2-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Testusmania99
Mitglied
Beiträge: 345
Registriert: 04.09.2007 10:18
Wohnort: Norden

Beitrag von Testusmania99 »

gn#36 hat geschrieben:...Du musst die Zeile die mit $sql = beginnt (im geänderten Teil) durch

Code: Alles auswählen

$sql = "SELECT count(*) as topics_posted FROM " . TOPIC_TABLE . " WHERE forum_id = $forum_id AND topic_poster = {$user->data['user_id']}";
ersetzen damit nur die eigenen Themen gezählt werden.
Mhm, es tut sich etwas. Ich bekomme nämlich jetzt einen Sql-Fehler. Positive Wendung. ^^
Möchte ich einen Thread erstellen, wird folgende Boardfehlerseite ausgegeben:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Table 'phpbb3@lonelyboy.TOPIC_TABLE' doesn't exist [1146]

Beim Laden der Seite ist ein SQL-Fehler aufgetreten. Bitte kontaktiere die Board-Administration, falls dieses Problem fortlaufend auftritt.
Ich denke, wenn ich wüsste was nun zu tun wäre, dann müsste es ja dann eigentlich klappen. Oder?

Habe bisher alles so getan, wie Du es beschrieben hast!

Allerdings bis auf das hier:
Ansonsten wenn das trotzdem nicht geht hätte ich noch eine weitere Methode:
Habe ich nur einmal ausprobiert. Kommt ebenfalls der gleiche Sql-Fehler zustande. Im Moment habe ich nur diesen Snippet wieder draußen.

Meine Forum-ID ist definitiv 4. Sehe ich ja auch unter MySql.^^

Derzeitige posting.php findest Du hier!

Was mich allerdings irretiert ist die Tatsache, dass ich nun nicht mal mehr die anderen Themen lesen kann. (In dem Tagebuchforum - Sonst ist alles ok in den anderen Foren!)
Ich weiß, Du hast das hier irgendwo mit aufgeführt, man könnte dies irgendwie nicht mehr.
Aber man solls ja. oO

Das ahtet langsam richtig aus. ^^
Musst sagen, wenn Du nicht mehr möchtest, dann lassen wirs einfach so, wie es vorher war. Aber wenn Du noch Lust hast? Ich bin voll dabei!

EDIT:
Ah, wieder vergessen zu sagen, dass das Forum des Users nun wieder ohne einen Thread (also Tagebuch) ist. Versuche ich einen Thread (TB) zu erstellen, gibt es obige Fehlerseite des Boards.

EDIT 2:
Eben als Admin ein Thema erstellen wollen, und dann kam doch glatt wieder eine Fehlerseite vom Board ausgegeben:
Allgemeiner Fehler
SQL ERROR [ mysqli ]

Table 'phpbb3@lonelyboy.TOPIC_TABLE' doesn't exist [1146]

SQL

SELECT count(*) as topics_posted FROM TOPIC_TABLE WHERE forum_id = 4 AND topic_poster = 2

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: posting.php
LINE: 232
CALL: dbal_mysqli->sql_query()
(mit admin habe ich schon einen Thread erstellt gehabt, wie man gut herauslesen kann)

Wasn das nu wieda? ^^
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ah blöd es heißt nicht TOPIC_TABLE sondern TOPICS_TABLE (mit S). Alleine durch das ersetzen der einen Zeile kann sich das aber nicht so geändert haben? Der Fehler war vorher auch schon drin und hätte auch dann schon zu einem SQL Fehler führen müssen. An den Leseeigenschaften sollte aber keine änderung was geändert haben (es sei denn du hast an den Rechten herumgespielt), die posting.php betrifft diese nämlich überhaupt nicht.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Testusmania99
Mitglied
Beiträge: 345
Registriert: 04.09.2007 10:18
Wohnort: Norden

Beitrag von Testusmania99 »

gn#36 hat geschrieben:...sondern TOPICS_TABLE (mit S).
Gefixt, ok, danach ist wieder alles beim Alten. *lol, ich krich'ne Krise*
Alleine durch das ersetzen der einen Zeile kann sich das aber nicht so geändert haben? Der Fehler war vorher auch schon drin und hätte auch dann schon zu einem SQL Fehler führen müssen.
Das ist mir auch gerade aufgefallen. Aber warum und weswegen, puh, bitte frage mich nicht. Ich lösche jedenfalls immer den Cache. ^^

Bezüglich den Rechten, schaue Dir bitte genau folgendes Bild an:
Hier Bild

Das Problem müsste ja eigentlich bald gelöst sein. Ich rieche schon die Lösung. *lächel*
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ok ohne Testuser wird das glaube ich nix.

Mach auch mal die Fehlermeldungen an, wenn da noch irgendwas schief läuft gibt es vielleicht eine: define('DEBUG', true); define('DEBUG_EXTRA', true); error_reporting(E_ALL); . Einfach irgendwo über die geänderten stellen.

Wenn nicht muss ich das doch selber in ein Forum einbauen und testen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Testusmania99
Mitglied
Beiträge: 345
Registriert: 04.09.2007 10:18
Wohnort: Norden

Beitrag von Testusmania99 »

Ich schicke Dir gleich eine PN.
Bitte gebe mir dann kurz eine Nachricht, was Du geändert hast und wenn Du fertig bist, damit ich den Zugang wieder löschen kann.
Und Du hast Zeit soviel Du brauchst. Nur sage mir, ob Du da heute oder morgen noch bei gehst (pn), damit ich nicht am Board herumdoctor, während Du daran arbeitest!!! ;)

Vielen lieben Dank für Deine extreme Mühe!!!!!!!!!!!!!!!
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“