Statistik |
Beiträge: 144.532 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 160%
Ausl. d. letzten 5 Minuten: 162%
Ausl. d. letzten 15 Minuten: 151%
Aktulle Uhrzeit: 23:41
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
Foren Postbezogen zugänglich machen |
|
Foren Postbezogen zugänglich machen |
|
Hi,
hab da ne Frage, wie kann ich es machen, da sich einzelne Foren oder Kategorien erst nach bestimmter Anzahl an Posts sichtbar bzw zugänglich machen kann.
Wenn man die vorher angegeben Posts nicht hat, dann steht vor dem Forum geschlossen, und bei den Beiträgen unbekannt, also Standard für Foren in die man nicht rein darf !
Sollte da sgehen, würde ich da sauch fürs WBB 2.3 brauchen !
Edit: wenns geht wäre es schön, wenn man diese Option im ACP hätte ! Das man das dort aktivieren kann wenn man nix einträgt, bleibts beim Standard !
Danke
__________________
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Vaporius: 08.01.2006 22:30.
|
|
08.01.2006 22:27 |
|
|
|
das geht eigentlich ganz einfach über benutzergruppen.
du kannst ja bei den benutzergruppen einstellen, ob die user automatisch in diese gruppen reinkommen ab einer bestimmten postingzahl.
und bei den foren kannst du einstellen, welche usergruppen diese sehen und betreten dürfen.
greetz
günni
__________________
|
|
08.01.2006 22:35 |
|
|
|
Ja, daran hab ich auch gedacht, wollte da shalt so haben da sman da sim ACP unter Foren bearbeiten/erstellen mit angeben kann !!
__________________
|
|
08.01.2006 23:24 |
|
|
|
|
Zitat: Original von Vaporius
Ja, daran hab ich auch gedacht, wollte da shalt so haben da sman da sim ACP unter Foren bearbeiten/erstellen mit angeben kann !! |
|
|
Ist ja auch fast so... (mann kann es über die Kategorien machen, oder einfach nur einzelne Foren... Siehe screenies), man muss nur dran denken, wenn man ein Forum, oder ne Kat erstellt hat, dass man es nicht vergisst
Als erstes biste in "Foren bearbeiten", dann kanste (dort wo der erste Pfeil ist) eine ganze kategorie bearbeiten), da wo der 2te Pfeil ist, ist NUR ein Forum und NICHT die Kategorie...
Das 2te Bild zeigt welche Benutzergruppen Du so, auf diesem Wege damit bearbeiten kannst (am besten mal drauf klicken und durchschauen, was Du dort alles für Möglichkeiten hast)...
das 3te Bild zeigt die die "normalen einstellungen), wie Du als Benutzerrechte eingestellt hast, also die globalen Benutzerrechte...
Und das letzte Bild zeigt die, wie es aussieht, wenn Du das Forum für bestimmt benutzergruppen abgeändert hast... ach und der 5te Screenie zeigt dir dann unter gruppen bearbeiten >>> zugriffsrechte vereinfacht, wie es dann in der Gruppe aussieht, diese Einstellungen (also die Kästchen) nur dann verändern, wenn Du es wieder im "normal" Zustand haben möchtest...
Eigentlich gehts ganz einfach und schnell, man muss nur immer gleich daran denken, wenn man ein neues Forum erstellt
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
09.01.2006 05:45 |
|
|
|
Guten Morgen,
@yve
danke für die schöne Anleitung, aber genau daran hab ich Anfangs auch gedacht, und das ganze ist auch ok so. Ich will nur nicht schon wieder ne neue Gruppe haben, und die ganze rechte Zuweisung wär mir da zu üppig, man verliert da meiner meinung nach schnell den Überblick, wenns nur ein Bestimmtet Bereich wäre, ist das auch ok, aber bei mehreren Foren, wirds schon wieder ne menger mehr arbeit !
Ich hätte das ganze gerne anders, Global für alle Foren einzustellen, ist meiner meinung nachviel Einfacher und geht schneller, und zwar wie folg:
Man erstellt/bearbeitet im ACP ein Forum oder Kategorie, da kommt dann in die Abfrage rein z.B. unter Benutzerbeiträge:
Postinganzahl
Ab wievielen Postings hat man zugriff auf dieses Forum -1 deaktiviert diese Abfrage
Wenn man dann eben ne Zahl z.B. 10 da einträgt dann wird dieses Forum zwar sichtbar, aber man kann darin nichts schreiben ode rkeine Themen erstellen.
Hat man dann diese 10 Beiträge erreicht, dann ist dieses Forum Automatsich geöffnet zum Posten !
Wenn das nicht geht so, dann soll es einfach so sein, das man das Forum gar nicht betreten kann !
Weiß nicht wie das am einfachsten zu lösen ist, und wenn obs überhaupt geht !!
Danke
__________________
|
|
09.01.2006 08:44 |
|
|
|
Ne schlechte Idee, ist es nicht, was Du da vorschlägst, aber ob das so einfach ist, zu realisieren... ein Forum wird ja erst nach dem erstellen in die datenbank geschrieben, wie kann man dann vorher schon eine Abfrage machen können? Vielleicht weiß, Batida, oder Viktor ja ne Idee und könnte soetwas realisieren (da ich auch viel mit Benutzerrechten mache
)
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
09.01.2006 12:53 |
|
|
|
Hi,
andere Abfragen kann man ja auch machen, wie z.B. mit dem Guthaben hack da kann man ja auch abfragen ob der da greift oder nicht !
Weiß nur nicht wie das bei dynamischen Abfragen ist, das ist ja nicht nur ne Ja/Nein abfrage, sondern in verbindung mit ner Vorraussetzung die man ändern kann, die Postingzahl eben !
Aber ich denke mal schon das das geht !
Wär echt genial wenn da sunsere Profis mal checken könnten
__________________
|
|
09.01.2006 15:06 |
|
|
|
Hi,
wollt nur mal nachfragen, welche Tabellen und Dateien man für solche Abfragen bearbeiten muss, dann versuch ich mal da bisschen was zu basteln, vielleicht schaf fich ja was LoL.
Sollte sich aber jemand bisher ran gemacht haben, wär ich natürlich froh, denn ich denke das dies noch eine kleine aber ehr schöne Erweiterung ist, die man sogar Standardmäßig einbauen könnte ins WBB
__________________
|
|
10.01.2006 16:01 |
|
|
|
theoretisch bräuchtest du nur eine zusätzliche eingabe im ACP bei "Foren erstellen":
"Dieses Forum kann ab wieviel Beiträgen betreten werden ?"
Das wird dann in der bbx_boards gespeichert.
Allerdings müsstest du dann etliche php-dateien anpassen, weil ja beim auslesen der verfügbaren boards die $wbbuserdata[userposts] mit einbezogen werden muss.
und dann wäre noch zu klären, sollen die boards sichtbar, aber nicht betretbar sein oder gar nicht erst sichtbar ?
also wenn du dich da ranmachen willst, viel spaß
is bestimmt keine schlechte idee, aber ich würds mit den benutzergruppen machen.
greetz
günni
__________________
|
|
10.01.2006 17:00 |
|
|
|
Hi,
also ich würde es dann so machen, das es einmal in der Foren erstellen funktion, und dann auch in der Foren bearbeiten Funktion einzustellen ist. Die Foren können sichtbar sein, man sollte da nur nix drin schreiben dürfen !!
Lesen JA, schreiben NEIN schließen kann ichs ja anders wenns sein sollte !
Also muss nur in die Tabelle boards ein Feld mit dieser abfrage oder??
Mein Problem ist nur, das ich nicht genau weiß die SQL DB abfrage aussehen muss, und vor allem in welche Dateien die gehört.
Ist etwas neuland sowas komplett allein zu machen, da ich nicht genau weiß wo das überall rein muss !!
Da hast du schon recht mit den Gruppen, das hatte ich ja anfangs so geplant, aber mir würde das eben beser gefallen, wenn ich die Foren direkt barbeiten könnte, wieviel Posts man braucht um darin schreiben zu können.
Man spart sich zwar den hackeinbau, und die arbeit, aber wenn so ein hack mal läuft ist es sicher einfacher finde ich.
Man muss erst ne Gruppe erstellen und dann die ganzen Foren mit Zugriffsrechten besetzen, das ist meiner meinung nach etwas mehr, wenns viele foren sind !!
__________________
|
|
11.01.2006 13:20 |
|
|
|
Hi,
Testboard ist schonmal installiert, nehm mir da jetzt einfach mal paar andere hacks als schablone, mal sehen ob das was wird !!
__________________
|
|
11.01.2006 18:55 |
|
|
|
so hat fast jeder von uns mal angefangen
viel glück
greetz
günni
__________________
|
|
11.01.2006 19:05 |
|
|
|
Danke,
werd Euch bestimmt noch ds ein oder andere mal nerven LööL
__________________
|
|
11.01.2006 20:23 |
|
|
|
Hi,
Sorry, abe rich denke ich hab mir da für mein erstes Teilchen doch bisschen zuviel vorgenommen LoL
Ich hab jetzt erstmal in den ACP Templates für board_add und board_edit nen neuen Eintrag gemacht der sieht so aus:
code: |
1:
2:
3:
4:
5:
6:
|
<tr class="secondrow">
<td><b>{$lang->items['LANG_ACP_BOARD_POSTCKBOARD']}</b><br />{$lang->items['LANG_ACP_BOARD_DEFAULTINPUTPOSTCK']}</td>
<td><input type="text" name="postckboard" maxlength="3" value="0" /></td>
</tr>
|
|
postckboard <-- soll meine Variable heissen, die ich dann auch in die Tabelle bbx_board einfüge, da shab ich so gemacht :
code: |
1:
2:
|
ALTER TABLE bb1_boards ADD postckboard smallint(5) unsigned NOT NULL default '0'; |
|
die eingabe soll ja in den Templates duch ein textfeld geschehen, max 3 Zeichen also max 999 Posts ! Und Standard, oder auch deaktiviert ist dann 0 so stehts auch drin !
OK, hab doch hier sicher schon ein fehlerchen in der SQL Abfrage gemacht oder?
Nun denke ich mal, das ich dann als nächstes die acp/board.php bearbeiten muss, aber leider is nu schluss, da ich nicht weiß wo die variable "postckboard" eingefügt werden muss !
Weiß auch nicht wie ich die Variable "postckboard" in Verbindung mit den Posts bekomm, sprich dem hier "$wbbuserdata[userposts] " wa sauch batida444 schon erwähnt hat !!
Ihr seht, stocke ja schon am Anfang hmm, wenn sich da jemand interessiert, und mir helfen möchte, würd ich mich freuen !!
Bekommt dann auch im Testboard alle Zugänge usw...
Würd mich feuen, ist zwar sicherlich nicht gerade ne die Erfüllung für Profis, aber wie gesagt, würde das hackschreiben auch gerne mal können, dann muss ich nicht immer nachfragen.
Komplette hacks hab ich noch nie selber gemacht, lediglich einige umgeschrieben usw, aber das kann ja jeder, der sich länger mit dem WBB auseinander setzt !!
So Long, ich bin Dankbar für jede Hilfe !!
__________________
|
|
11.01.2006 22:07 |
|
|
|
du musst dir erstmal anschauen, wo die daten verarbeitet werden.
und das ist in diesem fall die acp/board.php im unterbereich "add"
so, diesen abschnitt suchen wir nun mal in der acp/board.php
er beginnt mit
php: |
1:
|
if ($action == 'add') { |
|
so, innerhalb dieser funktion suchen wir jetzt den bereich, wo die daten vom formular an die php-datei gesendet und gespeichert werden.
das passiert im abschnitt
php: |
1:
|
if (isset($_POST['send'])) { |
|
sodele, jetzt brauchen wir den befehl, welcher für das einfügen des wertes in die datenbank zuständig ist.
also INSERT.
mal danach gesucht und 3 INSERTS (bei mir) gefunden. also weiter aussortieren.
wir wollen in der bbx_boards speichern.
da kommt dann nur noch 1 abfrage in frage. nämlich diese (kann bei dir etwas anders aussehen !!!):
php: |
1:
2:
|
$db->query("INSERT INTO bb".$n."_boards (styleid,parentid,parentlist,childlist,boardorder,title,password,description,prefixuse,prefix,threadtemplateuse,threadtemplate,posttemplateuse,posttemplate,allowratings,daysprune,sortfield,sortorder,threadsperpage,postsperpage,postorder,countuserposts,hotthread_reply,hotthread_view,moderatenew,enforcestyle,closed,isboard,invisible,showinarchive)
VALUES ('".intval($style_set)."','$parentid','$parentlist','0','".intval($boardorder)."','".addslashes($title)."','".addslashes($password)."','".addslashes($description)."','".intval($prefixuse)."','".addslashes($prefix)."','".intval($threadtemplateuse)."','".addslashes($threadtemplate)."','".intval($posttemplateuse)."','".addslashes($posttemplate)."','".intval($allowratings)."','".intval($daysprune)."','".addslashes($sortfield)."','".addslashes($sortorder)."','".intval($threadsperpage)."','".intval($postsperpage)."','".intval($postorder)."','".intval($countuserposts)."','".intval($hotthread_reply)."','".intval($hotthread_view)."','".(($moderatenewthreads == 1) ? ("1") : ("0")).(($moderatenewposts == 1) ? ("1") : ("0"))."','".intval($enforcestyle)."','".intval($closed)."','".intval($isboard)."','".intval($invisible)."','".intval($showinarchive)."')"); |
|
so, da müssen wir nun deinen wert mit reinbringen.
aufgebaut ist dieser befehl wie folgt:
INSERT INTO bbx_boards (tabellennamen) VALUE (wert);
du hast das zusätzliche feld in deiner datenbank postckboard genannt. also fügen wir das in die abfrage mit ein, VOR das VALUE innerhalb der klammer. am besten ganz am ende.
php: |
1:
2:
|
INSERT INTO bb".$n."_boards (styleid,parentid,parentlist,childlist,boardorder,title,password,description,prefixuse,prefix,threadtemplateuse,threadtemplate,posttemplateuse,posttemplate,allowratings,daysprune,sortfield,sortorder,threadsperpage,postsperpage,postorder,countuserposts,hotthread_reply,hotthread_view,moderatenew,enforcestyle,closed,isboard,invisible,showinarchive,postckboard)
VALUES |
|
die zusätzliche variable heißt bei dir ebenfalls postckboard, diese fügen wir NACH dem VALUES in die klammer ein, ebenfalls ganz am ende.
php: |
1:
|
VALUES ('".intval($style_set)."','$parentid','$parentlist','0','".intval($boardorder)."','".addslashes($title)."','".addslashes($password)."','".addslashes($description)."','".intval($prefixuse)."','".addslashes($prefix)."','".intval($threadtemplateuse)."','".addslashes($threadtemplate)."','".intval($posttemplateuse)."','".addslashes($posttemplate)."','".intval($allowratings)."','".intval($daysprune)."','".addslashes($sortfield)."','".addslashes($sortorder)."','".intval($threadsperpage)."','".intval($postsperpage)."','".intval($postorder)."','".intval($countuserposts)."','".intval($hotthread_reply)."','".intval($hotthread_view)."','".(($moderatenewthreads == 1) ? ("1") : ("0")).(($moderatenewposts == 1) ? ("1") : ("0"))."','".intval($enforcestyle)."','".intval($closed)."','".intval($isboard)."','".intval($invisible)."','".intval($showinarchive)."','".intval($postckboard)."')"); |
|
also dazugekommen ist
php: |
1:
|
,'".intval($postckboard)."' |
|
jetzt die datei speichern und hochladen. wenn du das eingabetemplate (board_add.htm) schon bearbeitet hast, dann solltest du jetzt bei deiner erweiterung einen wert eingeben können und das auch abspeichern können.
dann mal fix ins phpmyadmin gehen, in die tabelle bbx_boards und schauen, ob der wert auch gespeichert wurde.
greetz
günni
__________________
|
|
12.01.2006 00:58 |
|
|
|
Hi,
ich hab da smal gemacht, hab allerdings das wbb 2.1 als Testboard !!
Konnte es aber finden !
Hab es auch mal für das board_edit gemacht, in der SQL Abfrage UPDATE, da sgeht auch, es wird auch alle sin der DB in der tabelle boards gespeichert !
Wenn ich dann aber wieder schaue im ACP steht da wieder 0 drin obwohl in der DB die z.B. 10 gespeichert wurde !! Egal ob ich nun ein Board erstelle oder eins editiere!
Was hab ich da vergessen ??
sieht so aus, mein eingabefeld in den Templates :
code: |
1:
2:
3:
4:
5:
6:
|
<tr class="secondrow">
<td><b>{$lang->items['LANG_ACP_BOARD_POSTCKBOARD']}</b><br />{$lang->items['LANG_ACP_BOARD_DEFAULTINPUTPOSTCK']}</td>
<td><input type="text" name="postckboard" maxlength="3" value="0" /></td>
</tr>
|
|
Hab ich vielleicht die SQL abfrage für das erstellen des Feldes "postckboard" falsch gemacht die hab ich so gemacht .
code: |
1:
|
ALTER TABLE bb1_boards ADD postckboard smallint(5) unsigned NOT NULL default '0'; |
|
Danke
__________________
|
|
12.01.2006 11:58 |
|
|
|
die datenbankerweiterung ist schon richtig, der fehler liegt in deinem code für die acp-templates.
du hast in der board_add.htm und in der board_edit.htm den gleichen code eingefügt.
das geht natürlich nicht, weil du ja einmal einen wert vorgibst (board_add.htm >> 0) und einmal einen vorhandenen wert auslesen und darstellen musst.
nimm mal für die board_edit.htm diesen code:
code: |
1:
2:
3:
4:
|
<tr class="secondrow">
<td><b>{$lang->items['LANG_ACP_BOARD_POSTCKBOARD']}</b><br />{$lang->items['LANG_ACP_BOARD_DEFAULTINPUTPOSTCK']}</td>
<td><input type="text" name="postckboard" maxlength="3" value="$board[postckboard]" /></td>
</tr> |
|
probier jetzt mal.
greetz
günni
__________________
|
|
12.01.2006 16:36 |
|
|
|
Hi,
jau, jetzt gehts LoL !! Eigentlich Logisch DANKE !!
So, nun mal zum rest, jetzt muss ich noch die Abfrage machen, das ein User die xx Posts haben muss, um in dem Forum lesen zu dürfen !!
da muss ich doch dann die "postckboard" mit den Userposts abfragen ?!
Das müsste dann eigentlich in der acp/users.php und dann in der board.php geschehen, lieg ich da richtig??
__________________
|
|
12.01.2006 18:41 |
|
|
|
|
|
|