Extension Entwicklung: mein erstes Mal
Re: Extension Entwicklung: mein erstes Mal
@Mahony
Hm, das ist jetzt fies. Ich denke, eine SQL Abfrage ist mir dann doch noch ne Nummer zu groß, um es ganz alleine zu schaffen.
Vielleicht könntest du einen Code anfangen und ich muss ihn dann zu Ende bringen?
So konnte ich durchs probieren lernen.
Hm, das ist jetzt fies. Ich denke, eine SQL Abfrage ist mir dann doch noch ne Nummer zu groß, um es ganz alleine zu schaffen.
Vielleicht könntest du einen Code anfangen und ich muss ihn dann zu Ende bringen?
So konnte ich durchs probieren lernen.
Re: Extension Entwicklung: mein erstes Mal
Mein Bastelvorschlag:
Du installierst die Extension Modbreak BBCode: https://www.phpbb.com/community/viewtop ... 15b3098b09
Dann deaktivierst du sie und nimmst folgende Änderungen vor:
Öffne die Datei ./ext/ger/modbreak/styles/all/theme/modbreak.css.
Ersetze diesen Teil
mit
Gehe zu ./ext/ger/modbreak/language
Kopiere den Ordner en und benenne die Kopie in de um. Öffne die darin befindliche Datei common.php und ändere Message from moderator in z.B. moderative Anweisung oder Wichtig! oder was du halt gerne hättest um.
Nun gehst du in den Administrationsbereich deines Forums zu Beiträge - BBCodes.
Klicke rechts von mod auf das grüne Zahnrad. Bei BBCode-Benutzung gibst du ein.
Und bei HTML-Ersetzung gibst du
ein.
Die alten Einträge musst du natürlich löschen.
Dann leerst du den Cache (am besten auch den Browsercache) und aktivierst die Extension wieder.
Der Rest ist dann dein Job.
Du installierst die Extension Modbreak BBCode: https://www.phpbb.com/community/viewtop ... 15b3098b09
Dann deaktivierst du sie und nimmst folgende Änderungen vor:
Öffne die Datei ./ext/ger/modbreak/styles/all/theme/modbreak.css.
Ersetze diesen Teil
Code: Alles auswählen
.bbc_mod_text {
border-style: solid;
border-color: #246594;
border-width: 0px 1px 1px 1px;
border-radius: 0 0 8px 8px;
width: 60%;
margin-left: 50px;
padding: 6px 12px;
}
Code: Alles auswählen
.bbc_mod_text {
border: 0px solid #ffffff;
background-color: #df0101;
color: #ffffff;
width: 95%;
min-height: 150px;
padding: 12px;
}
Kopiere den Ordner en und benenne die Kopie in de um. Öffne die darin befindliche Datei common.php und ändere Message from moderator in z.B. moderative Anweisung oder Wichtig! oder was du halt gerne hättest um.
Nun gehst du in den Administrationsbereich deines Forums zu Beiträge - BBCodes.
Klicke rechts von mod auf das grüne Zahnrad. Bei BBCode-Benutzung gibst du
Code: Alles auswählen
[mod]{TEXT2}[/mod]
Und bei HTML-Ersetzung gibst du
Code: Alles auswählen
<div class="bbc_mod_text"><h2>{L_MODBREAK_HEAD}</h2>{TEXT2}</div>
Die alten Einträge musst du natürlich löschen.
Dann leerst du den Cache (am besten auch den Browsercache) und aktivierst die Extension wieder.
Der Rest ist dann dein Job.

Re: Extension Entwicklung: mein erstes Mal
@Lehrling
Vielen, Vielen Dank, auch für deine Mühe.
Ich werde das gleich mal ausprobieren und berichten, wobei ich auch glaube, dass dort die Postprofile nicht eingefärbt wird und oben noch einen Titel hat, den ich gar nicht brauche.
Alternativ könnte ich aber auch die Meldefunktion umbauen und als Vorlage nehmen, denn die färbt ja gesamte Beiträge sowie auch die Postprofile. Da letzteres auf keinen Fall fehlen darf, könnte ich das mal versuchen.
Ich müsste nur wissen, wo sie zu finden ist.
Dann probier ich mal, mich da mal ans Werk zu machen.
Und wenns mir gelingt, kann ich für jeden, der an der Funktion interessiert ist, den Code und den Vorgang hier einstellen, wobei das eigentlich eher so ist, dass es wohl jeder hier eher als ich fertig bringt.
Aber ich werde es mal probieren.
Falls es nicht gelingt, greif ich auf deinen Vorschlag zurück, Lehrling.
Vielen, Vielen Dank, auch für deine Mühe.

Ich werde das gleich mal ausprobieren und berichten, wobei ich auch glaube, dass dort die Postprofile nicht eingefärbt wird und oben noch einen Titel hat, den ich gar nicht brauche.
Alternativ könnte ich aber auch die Meldefunktion umbauen und als Vorlage nehmen, denn die färbt ja gesamte Beiträge sowie auch die Postprofile. Da letzteres auf keinen Fall fehlen darf, könnte ich das mal versuchen.
Ich müsste nur wissen, wo sie zu finden ist.
Dann probier ich mal, mich da mal ans Werk zu machen.
Und wenns mir gelingt, kann ich für jeden, der an der Funktion interessiert ist, den Code und den Vorgang hier einstellen, wobei das eigentlich eher so ist, dass es wohl jeder hier eher als ich fertig bringt.
Aber ich werde es mal probieren.
Falls es nicht gelingt, greif ich auf deinen Vorschlag zurück, Lehrling.
Re: Extension Entwicklung: mein erstes Mal
Ich versuche gerade, eine Funktion dazu zu programmieren, allerdings ist das momentan wie Fremdsprachen sprechen ohne Vokabeln.Mahony hat geschrieben:Was du brauchst ist eine SQL-Abfrage, ob der BBCode in dem Beitrag vorkommt...Falls JA, färbe den gewünschten Bereich mit der gewünschten Farbe ein.
@
/**
* Generate als_Moderator_posten
*/
function make_als_Moderator_posten ($action, $select) {
if ($user_groups == “global_moderators“) {
}
Hier würde ich erstmal definieren, was überhaupt passieren soll, wenn man den globalen Moderatoren angehört. Momentan glaube ich, dass das bei Includes in die functions_content.php gehört.
In diesem Fall dann die jetzt vorhandene Funktion “als Moderator posten“ im Editor der globalen Moderatoren sichtbar machen, eine zweite Variable wäre dann das ausblenden der Funktion, wenn man nicht dieser Gruppe angehört.
Aber hier wird dank fehlender Kenntnisse der Parameter, der Argumente ein Problem für mich sichtbar.
Wenn die Funktion für Moderatoren sichtbar ist, braucht die Funktion natürlich eine Aufgabe, die sie ausführen kann.
Wenn sie also ausgewählt wird, benutzt die Funktion einfach eine custom.css, die ich anlege und per Urlanweisung an die Funktion übergeben wird. Dazu kopiere ich einfach die Datei, in der die Backgroundfarbe der Beiträge definiert wird und seinem Postprofil und weise dem einfach einen anderen Farbwert zu.
Ich hatte gehofft, ich könnte ein bisschen mehr Code schreiben, aber PHP ist echt nicht so schnell in den Kopf zu kriegen. Leider.
Re: Extension Entwicklung: mein erstes Mal
Also, was bei mir im Testforum jetzt funktioniert hat, war das:
du legst einen neuen globalen Moderator an. Seine einzige Aufgabe besteht darin, moderative Anweisungen auszusprechen (du müsstest dann dafür immer den Account wechseln.
Du schaust nach, welche User-ID dieser Moderator hat. Bei mir war es die ID 48. Du kannst es nachschauen, indem du mit der Maus über seinen Nick fährst. Dann werden dir unten in einer schwarzen Leiste Infos zu ihm angezeigt. Die letzte Info lautet z.B. u=48. Seine User-ID ist also 48.
Nun öffnest du die viewtopic_body.html und findest folgenden Abschnitt
Danach fügst du nahtlos folgendes ein
Nun ist sowohl Beitrags- als auch Profilfeld in der Farbe eines gemeldeten Beitrags. Du kannst natürlich auch eine eigene Klasse für den Hintergrund definieren, z.B.
Danach den Cache leeren.
Beachte, dass das Beitragsfeld bei dieser Änderung ALLE Beiträge dieses Mitglieds mit der besonderen Hintergrundfarbe anzeigt. Dieser Account sollte dann tatsächlich nur verwendet werden, wenn eine moderative Anweisung ausgesprochen soll.
WICHTIG! Du hast hiermit die viewtopic_body.html verändert. Dokumentiere die Änderungen und denke dran, beim nächsten Update, die Änderungen wieder manuell einzubauen.
du legst einen neuen globalen Moderator an. Seine einzige Aufgabe besteht darin, moderative Anweisungen auszusprechen (du müsstest dann dafür immer den Account wechseln.
Du schaust nach, welche User-ID dieser Moderator hat. Bei mir war es die ID 48. Du kannst es nachschauen, indem du mit der Maus über seinen Nick fährst. Dann werden dir unten in einer schwarzen Leiste Infos zu ihm angezeigt. Die letzte Info lautet z.B. u=48. Seine User-ID ist also 48.
Nun öffnest du die viewtopic_body.html und findest folgenden Abschnitt
Code: Alles auswählen
<div id="p{postrow.POST_ID}" class="post has-profile <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->
Code: Alles auswählen
<!-- IF postrow.POSTER_ID eq '48' --> reported<!-- ENDIF -->
.anweisung { background-color: #df0101; }
Dann müsstest du im obigen Code reported durch anweisung ersetzen. Danach den Cache leeren.
Beachte, dass das Beitragsfeld bei dieser Änderung ALLE Beiträge dieses Mitglieds mit der besonderen Hintergrundfarbe anzeigt. Dieser Account sollte dann tatsächlich nur verwendet werden, wenn eine moderative Anweisung ausgesprochen soll.
WICHTIG! Du hast hiermit die viewtopic_body.html verändert. Dokumentiere die Änderungen und denke dran, beim nächsten Update, die Änderungen wieder manuell einzubauen.
Re: Extension Entwicklung: mein erstes Mal
Lehrling,
das ist recht genial... *-*
Das bringt schon echt viel weiter.
Also möglich ist es schon mal. Aber die letzte Baustelle alle Beiträge/wahlweise wählbar möchte ich unbedingt noch knacken oder geknackt haben.
(ich habe noch sie so verrückt gegoogelt wie in letzter Zeit
)
das ist recht genial... *-*
Das bringt schon echt viel weiter.
Also möglich ist es schon mal. Aber die letzte Baustelle alle Beiträge/wahlweise wählbar möchte ich unbedingt noch knacken oder geknackt haben.
(ich habe noch sie so verrückt gegoogelt wie in letzter Zeit

Re: Extension Entwicklung: mein erstes Mal
Eine letzte Möglichkeit wäre vielleicht diese hier:
du legst für jeden Moderatoren einen "Klon" an. z.B. für Tim zusätzlich noch den Mod_Tim oder so. Diesem Klon verpasst du dann einen Spezialrang wie z.B. Supervisor.
Du öffnest die viewtopic_body.html und suchst nach
Dann fügst du nahtlos ein
Die Moderatoren können standardmäßig den Autor eines Beitrags ändern. Das heißt, der Moderator Tim würde einen Beitrag verfassen und umgehend danach den Autor ändern, indem er oben rechts im Beitragsfeld auf den Button i für Information klickt und dann bei
Mod_Tim auswählen würde.
du legst für jeden Moderatoren einen "Klon" an. z.B. für Tim zusätzlich noch den Mod_Tim oder so. Diesem Klon verpasst du dann einen Spezialrang wie z.B. Supervisor.
Du öffnest die viewtopic_body.html und suchst nach
Code: Alles auswählen
<div id="p{postrow.POST_ID}" class="post has-profile <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->
Code: Alles auswählen
<!-- IF postrow.RANK_TITLE eq 'Supervisor' --> reported<!-- ENDIF -->
Ändere Autor:
Mod_Tim auswählen würde.
Re: Extension Entwicklung: mein erstes Mal
Man könnte auch einen BBCODE nehmen.....
https://www.phpbb.com/customise/db/bbco ... by_visuex/
Demo
https://www.phpbb.com/customise/db/bbco ... by_visuex/
Demo
Re: Extension Entwicklung: mein erstes Mal
@Lehrling
Du warst mit dem ModBreak auf dem richtigen Weg.
Es ist jetzt geschafft.
Ergebnis:
https://alternatefamily.4crew.de/viewto ... 2431#p2431
Ganz runterscrollen zu den letzten Beiträgen.
Für alle, die es interessiert, wie es letzten Endes doch geklappt hat, darf hier die grandiose Arbeit von Ger bestaunen:
https://www.phpbb.com/community/viewtop ... #p15050341
letzter Beitrag.
Great Thing.
Du warst mit dem ModBreak auf dem richtigen Weg.
Es ist jetzt geschafft.
Ergebnis:
https://alternatefamily.4crew.de/viewto ... 2431#p2431
Ganz runterscrollen zu den letzten Beiträgen.
Für alle, die es interessiert, wie es letzten Endes doch geklappt hat, darf hier die grandiose Arbeit von Ger bestaunen:
https://www.phpbb.com/community/viewtop ... #p15050341
letzter Beitrag.
Great Thing.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Extension Entwicklung: mein erstes Mal
Nachdem ich bisher noch keine links auf unsere KB gesehen habe obwohl da sehr genau die Funktionen der wichtigsten Dateien einer Ext erklärt werden möchte ich noch mal explizit an unsere Anleitungen für Erweiterungen in der KB erinnern, die viele simple Fälle bereits voll erklären und abdecken.
KB:ext_erstellen
KB:ext_erstellen
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.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.