Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Im privatemsg nach Datenbankfeld suchen

Eingetragen von hoshi79 (53)
am 23.05.2008 - 14:48 Uhr in
  • Module
  • Drupal 5.x

Ich nutze das Modul privatemsg und kann mittels der Funktion privatemsg_autocomplete in der privatemsg_module mir eine Liste der möglichen Nachrichtenempfänger ausgeben lassen. Kurz gesagt: Neue Nachricht verfassen => Namen eingeben => Autocomplete macht den Rest.

So, ist ja ganz nett, aaaaaber ich möchte weder den Wert des Feldes name aus der Tabelle users noch irgendein Profilefeld im autocomplete ausgeben.

Ich habe aus bestimmten, unvermeidbaren Gründen eine eigene Tabelle mit diversen Userdaten anlegen müssen. Dort verbirgt sich auch der reelle Name des Users. Dieser soll natürlich bei privatemsg genutzt werden. Diese Tabelle beinhaltet natürlich auch ein Feld uid. Damit wäre die logische Verknüpfung zur externen Tabelle erstellt!

Die Funktion lautet wie folgt:

<?php
function privatemsg_autocomplete($string) {
 
$matches = array();
 
$result = db_query_range("SELECT name FROM {users} u WHERE status <> 0 AND LOWER(name) LIKE LOWER('%s%%') AND data NOT LIKE '%\"privatemsg_allow\";s:0%'", $string, 0, 10);
  while (
$user = db_fetch_object($result)) {
      
$matches[$user->name] = check_plain($user->name);
  }
  print
drupal_to_js($matches);
  exit();
}
?>

Gedacht habe ich mir Folgendes:

<?php
function privatemsg_autocomplete($string) {
 
$matches = array();
 
$result = db_query_range("SELECT y.name FROM {users} u, ypsilon y WHERE u.uid = y.uid AND u.status <> 0 AND LOWER(y.name) LIKE LOWER('%s%%') AND u.data NOT LIKE '%\"privatemsg_allow\";s:0%'", $string, 0, 10);
  while (
$user = db_fetch_object($result)) {
      
$matches[$user->name] = check_plain($user->name);
  }
  print
drupal_to_js($matches);
  exit();
}
?>

Denke ich da falsch?
Vielen Dank schon einmal!
Gruß, hoshi

‹ Bilder im Anrisstext abschalten Videomodul ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Na und was ist nun?

Eingetragen von quiptime (4972)
am 23.05.2008 - 17:45 Uhr

Na und was ist nun? Funktioniert Dein Code?

Was Du nicht hinkriegen wirst:
Die Autovervollstaendigung wird nach dem Real-Namen des Users suchen. In dem Moment wenn ein gefundener Real-Name gewaehlt wird um ihn einzufuegen wird ABER der Username verwendet bzw. ist dann im Autokomplettfeld sichtbar.

Ich habe es noch nicht hinbekommen nach dem Einfuegen den Real-Namen beizubehalten. Wenn man das will ist noch weitere Scriptlogik erforderlich.
Denn der Letztendlich nach der Wahl des Real-Namens in das Autokomplettfeld eingefuegte Uesername wird zum Versenden der PM verwendet. Wuerde im Moment des Senden der PM im Autokomplettfeld der Real-Name stehen wuerde das System diesen Namen nicht finden. Es sei den man mappt wieder zurueck auf den Usernamen.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

Da geht noch was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ach so, habe ich natürlich

Eingetragen von hoshi79 (53)
am 26.05.2008 - 08:57 Uhr

ach so, habe ich natürlich vergessen zu sagen: tut leider nicht. also eine einfache lösung gibt es nicht? evtl eine alternative?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • eMail-Adresse überprüfen ob diese auch tatsächlich existiert
  • Versenden von Anfragen per Webform
  • D 7.78 und eine sqlite Datenbank statt mySQL
  • [gelöst]Welche Tokens werden bei Images im Feld Dateiverzeichnis erlaubt
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung nach Update auf PHP 7.4 - array offset on value of type null in geocoder_widget...
  • BEF Exposed Filter collapse funktioniert nicht mit Bootstrap Theme
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
Weiter

Neue Kommentare

  • Danke für diese doch sehr
    vor 5 Stunden 7 Minuten
  • zu 1. Ja, ist er auch ;) zu
    vor 7 Stunden 10 Minuten
  • bei den meisten Hostern
    vor 21 Stunden 3 Minuten
  • wirklich sicherstellen kann man es nur,
    vor 21 Stunden 7 Minuten
  • Moin Moin vielen lieben Dank
    vor 1 Tag 2 Stunden
  • Auch,wenn es noch über
    vor 1 Tag 7 Stunden
  • Das steht über dem Bereich,
    vor 1 Tag 7 Stunden
  • Hallo Jenna, ich habe das
    vor 2 Tagen 4 Stunden
  • Ich hatte gehofft, bis auf
    vor 2 Tagen 4 Stunden
  • Wenn der Provider keine freie
    vor 2 Tagen 4 Stunden

Statistik

Beiträge im Forum: 245993
Registrierte User: 18832

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9012
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3831
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 11 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association