Einfache JA / NEIN Funktion fürs UCP

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Einfache JA / NEIN Funktion fürs UCP

Beitrag von issjut »

Gibt es eine einfache Möglichkeit eine weitere Funktion ins UCP einzubauen bei der der User mit Ja oder NEIN entscheiden kann ob er diese wünscht.

Ähnlich wie die Frage ob eine Popupbenachrichtigung erscheinen soll, wenn neue Nachrichten eingehen.

Stelle mir das so vor, dass diese Auswahl dann im UCP auftaucht und ich im template dann mit <!-- IF FUNKTION_XY --> Iregndein Inhalt <!-- ENDIF --> arbeiten kann.

Ich bin durch dieses Thema darauf gekommen. (Sound bei neuer Nachricht)
Macht für mich nur sinn, wenn der User es bei Bedarf auch ausstellen kann!
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

Hat hier wirklich keiner eine Idee?? Ist doch Bestandteil von fast jedem Mod mit UCP Einstellungen.

Möchte im UCP dort wo die Benachrichtigungen einzustellen sind eine Weitere Frage habe

z.b. Sound bei Eingang von neuen Nachrichten abspielen
JA () Nein ()

und dann im Template (wäre in dem Fall overall_footer.html)

<!-- IF BLABLA -->Soundbefehl<!-- ENDIF -->
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Wenn es nur eine einzelne ist kannst du das evtl. sogar über ein custom profile Field laufen lassen (müsste man nur bei der Installation aufpassen und die ID des Feldes zwischenspeichern). Ich könnte mir vorstellen dass du damit in einigen Fällen auskommst. Ansonsten schau dir doch einfach mal ein paar UCP Module an und sieh nach wie das da realisiert ist, im Prinzip kannst du da natürlich beliebige Optionen hinzufügen. Im ACP musst du dazu sogar nicht einmal die Templates bearbeiten sondern kannst im PHP Code direkt angeben was für ein Feld du brauchst und dieses wird automatisch erzeugt, evtl. wird sowas im UCP auch verwendet (ich habe mich noch nicht allzu ausführlich mit UCP Modulen beschäftigt um das sagen zu können).
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
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Beitrag von Frank1604 »

Wenn es nur eine einzelne ist kannst du das evtl. sogar über ein custom profile Field laufen lassen (müsste man nur bei der Installation aufpassen und die ID des Feldes zwischenspeichern)
Genau. Was gn#36 meint, ist ein benutzerdefiniertes Profilfeld das du anlegst.

Dieses taucht ja genau dort auf wo du es haben willst. Du mußt dann nur in deiner Funktion, den Wert dieses Profilfeldes auslesen.

Ungefähr so:

Code: Alles auswählen

$user->get_profile_fields($user->data['user_id']);
$sound = $user->profile_fields['sound'];
Gruß, Frank
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

Frank1604 hat geschrieben: Genau. Was gn#36 meint, ist ein benutzerdefiniertes Profilfeld das du anlegst.

Dieses taucht ja genau dort auf wo du es haben willst.
Naja, eigentlich wollte ich die JA / NEIN -Einstellung ja dort haben wo auch die Benachrichtigungen für den Eingang von neuen Nachrichten, E-Mail Benachrichtigungen usw eingestellt werden und nicht direkt bei den Profilfeldern ;-)

Sollte das natürlich zu schwierig sein, so werde ich auf diese Variante ausweichen.

Vielen Dank erstmal für Euren Tip!
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das geht natürlich in jedem Fall auch, aber nicht ganz so einfach, denn du müsstest in dem Fall auf jeden Fall von Hand einiges basteln.

Dazu solltest du dir einfach mal die zugehörige UCP Moduldatei ansehen und einfach mal nach einem schon bestehenden Eintrag suchen und dir den Code in der direkten Umgebung darum ansehen, eigentlich ist der Einbau dort nicht all zu schwer (als Tipp: Such z.b. mal in der includes/ucp/ucp_prefs.php nach 'allowpm', wenn du dort alles analog einbaust und dann auch im Template ein passendes Feld einfügst (da reicht dann auch copy & paste mit Namensänderung) dann brauchst du danach nur noch ein neues Datenbankfeld und musst evtl - wenn du keinen Defaultwert in der DB angibst - dein Feld auch noch für die Neuregistrierung in der includes/functions_user.php in der Funktion user_add eintragen).
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
Berliner Schildkroete
Mitglied
Beiträge: 563
Registriert: 30.03.2007 19:02
Wohnort: Berlin

Beitrag von Berliner Schildkroete »

Um dir eventuelles suchen zu ersparen -> gespeichert wird der Wert in der phpbb_users-tabelle. :wink:

werde das mal testen...

Edit:
...klappt wunderbar, :grin: nur wie lese ich das jetzt aus?
Grüße
Berliner Schildkröte
kein Support via PN, etc. - Befolgung meiner Vorschläge auf eigene Gefahr!
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Beitrag von Frank1604 »

Code: Alles auswählen

$sql = 'SELECT sound FROM ' . USERS_TABLE . '
	WHERE user_id = ' . $user->data['user_id'];

$result = $db->sql_query($sql);
$sound = $db->sql_fetchfield('sound');
$db->sql_freeresult($result);
Benutzeravatar
Berliner Schildkroete
Mitglied
Beiträge: 563
Registriert: 30.03.2007 19:02
Wohnort: Berlin

Beitrag von Berliner Schildkroete »

DANKE! :grin:


Mhmm... jetzt hab ich nur noch das Problem, dass wenn ich auf Einstellungen gehe {TEST} standardmäßig auf Ja steht obwohl ich nein eingestellt hab. Es funktioniert aber ich muss es jedes mal, wenn ich meine Einstellungen bearbeite wieder auf Nein stellen, damit es nicht JA wird.
Grüße
Berliner Schildkröte
kein Support via PN, etc. - Befolgung meiner Vorschläge auf eigene Gefahr!
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Beitrag von Frank1604 »

Da ich jetzt nicht in deine Dateien sehen kann, vermute ich einfach, das der wert nicht in der Tabelle gespeichert wird.

Ändere ihm mal mit phpmyadmin, und schaue ob er dann auf nein steht.
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“