Autor Luke
Datum 31.07.2008 21:53
Beiträge: Hallo!

Für meine neue Seite bräuchte ich ein paar selbst definierbare Felder in der Userinfo.

Nun habe ich mir gedacht, daß ich einfach das user_info_xl Modul kopiere und umbenenne. Das hat soweit auch schon gefruchtet, zuerst wollten die beiden Module nicht parallel installiert sein, aber das habe ich hinbekommen.

Jetzt möchte ich gerne einige Felder ändern. Z.B. öffentliche Email: dort gibt es dann ein Feld, wo der User seine Email Adresse eintragen kann. Ich möchte das so abändern:

öffentliche Email -> Familienstand
Feld für die Eingabe der Email Adresse -> Radiobuttons zur Auswahl von ledig, verheiratet, verwitwet, geschieden usw.

Ebenso würde ich auch gerne Checkboxen zur Auswahl stellen:
z.B.: Piercing ... Augenbraue, Zunge, Lippe, Nase usw. , sodaß der User dann einfach Haken für die entsprechende Auswahl machen braucht.

Hintergrund dieser ganzen Aktion ist später einmal die gezielte Suche nach Usern.
Der User könnte natürlich auch in einem ganz normalen Feld "verheiratet" eingeben, allerdings würde die suche nicht funktionieren, wenn der User "verh." eingibt und der suchende User "verheiratet". Außerdem ist die Suche nach Usern so viel bequemer, als wenn man jedes Wort per Hand eingeben muß.
Ihr wisst bestimmt was ich meine, im Prinzip gibt es diese Funktion auf fast jedem Flirtportal.

Aber wie muß ich den Code verändern?

Danke im Voraus.

Gruß Luke



Autor stefan
Datum 01.08.2008 08:18
Beiträge: Luke schrieb am 31.07.2008 um 21:53:09 Uhr folgendes:


Aber wie muß ich den Code verändern?



Machbar klar.

Aber wo meinst jetzt genau (sind viele Stellen). Oder meinst grundsätzlich. Verstehe nicht ganz wo genau das Problem ist.



Autor Luke
Datum 01.08.2008 13:01
Beiträge: Wie schon erwähnt, habe ich das user_info_xl Modul kopiert und umbenannt. Und anstatt jetzt name, öffentliche Email, Homepage, Wohnort, Beruf, Interessen, möchte ich ein Feld für die Eingabe des Familienstands mit Radiobuttons zur Auswahl von ledig, verheiratet, verwitwet, geschieden.

Dann hätte ich ein Beispiel für die Geschichte mit den Radiobuttons, somit kann ich mir dann für andere Felder mit Radiobuttons den Code als Beispiel nehmen.

Und dann noch für die Checkboxen, Beispiel Piercing.
User kreuzt an welche Peircings zutreffen:
Augenbraue, Zunge, Lippe usw.


Wo genau diese Stellen sind, konnte ich im Code auch nicht herausfinden. Aber im Prinzip werden die Daten der User unter "Deine Daten" in "Deinem Account" eingegeben. Ob das jetzt in ...system/user_info_xl/plugin/user/ index.php oder userinfo.php ist, odre noch wo anders weiß ich leider nicht so recht.
Deswegen frage ich ja auch

Danke.

Gruß Luke





Autor stefan
Datum 01.08.2008 16:11
Beiträge: pluginrepairupdates.php

hast du angepasst

pluginversionversion.php

hast du angepasst

pluginsqlindex.php

hast du angepasst

der große rest ist unter

pluginuser

user_opt_reg.php
userinfo.php
index.php

hier sind alle anzupassen.

userinfo.php -> der bereich der User Seite also Registrierung und anzeige

index.php -> tiefergehend hier werden die daten an die user gebunden wenn man diese abfragt im code + mitgliederliste

user_opt_reg.php -> wenn felder optional sind (must du anpassen weil das modul als features das drin hat oder dort entfernen.

die index.php solltest du als erstes anpassen weil sonst ne menge fehler auf dem schirm kommen.

bitte pass erst die sql daten an und dann die index.php wenn du dort bei einer function ne problem hast kannst ja fragen

wenn du das hast bommt die userinfo.php dran. hier bitte wenn nicht klar was wie wo fragen (bezogen auf die funktion und was du brauchst

HTH


Autor Luke
Datum 01.08.2008 17:28
Beiträge: Hallo Stefan!

Eigentlich habe ich noch gar nichts angepaßt, da ich nicht genau weiß wo und wie.



Autor stefan
Datum 01.08.2008 17:47
Beiträge: oben reicht nicht um anzufangen?


Autor Luke
Datum 01.08.2008 17:54
Beiträge: Ich versuche es mal, danke


Autor stefan
Datum 01.08.2008 18:08
Beiträge: plugin/repair/updates.php

must du auf 1.0 stand bringen weil dort sind ja schon updates drin die bei dir dann für das neue modul quatsch sind

plugin/version/version.php

auf stand 1.0 bringen ,,, gleiche grund wie oben

plugin/sql/index.php

hier must du die sql felder anpassen (also über legen was du brauchst

* Nur Zahlen
* Nur Kurzer Text (255) Zeichen max
* Datum
* Text "fast" egal wie lang
* Text egal wie lang (haben wir sehr selten)

Jenach dem dann entsprechend die anweisung bauen (natürlich auch den feldnamen wählen)



Autor Luke
Datum 01.08.2008 22:51
Beiträge: plugin/repair/updates.php habe ich erstmal so gelassen, da versuche ich mich dran, wenn das modul soweit funzt

genauso wie version.php

sql Felder habe ich soweit durch, installieren klappt jetzt auch ohne Fehlermeldung.

Nur wenn ich die Userinfo (oder "Dein Account") aufrufe, bekomme ich ein paar Meldungen wo ich momentan nicht weiß woran es liegt:

1.)

WARNING [8] Undefined variable: opnTables
FOUND IN [system/user_info_xxl/plugin/user/userinfo.php]
FOUND AT 162

in der entsprechenden Zeile steht:
$result = &$opnConfig['database']->SelectLimit ('SELECT name, user_size, user_haircolor, user_eyecolor, user_weight, user_family_status, user_tattoos, user_shaved, user_piercing, user_look, user_smoker, user_sexual_orientation, user_searching_for, user_intrest, user_bio FROM ' . $opnTables['user_infos_xxl'] . ' WHERE uid=' . $usernr, 1);


2.)
ERROR [512] mysql error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE uid=2 LIMIT 1' at line 1] in EXECUTE("SELECT name, user_size, user_haircolor, user_eyecolor, user_weight, user_family_status, user_tattoos, user_shaved, user_piercing, user_look, user_smoker, user_sexual_orientation, user_searching_for, user_intrest, user_bio FROM WHERE uid=2 LIMIT 1")
FOUND IN [include/opndb-errorhandler.php]
FOUND AT 240

3.)
WARNING [8] Undefined index: form
FOUND IN [system/user_info_xxl/plugin/user/userinfo.php]
FOUND AT 210


Gruß Luke



Autor stefan
Datum 02.08.2008 10:05
Beiträge: hmm dieser Kommunikationsweg ist etwas dumm.

zu version und update ; vorsicht wenn du das spätermachen willst ; kann probleme machen die paar zeilen löschen und 1.0 setzen , ist so ne sache zu verschieben


zu 1)

dann fehlt am anfang in der funktion ein global $opnTables

anmerkung

user_intrest, user_bio

die sind auch in der normalen user_xl drin Vorsicht wenn die Feldnamen gleich sind wie in einer anderen user Erweiterung das macht nur sinn wenn du die andere damit überschreiben willst. das ist zwar machbar habe ich aber noch in keinem Modul gemacht und ist nur theoretisch als Möglichkeit eingebaut worden; ob das praktisch Probleme macht weiß ich nicht.

bei 2 fehlt die Tabelle das kann mehrere Ursachen haben. Evt. ist deine änderung in der sql/index.php nicht richtig gewesen. Oder das gleiche wie bei 1

bei 3 kann auch die fehlende global für $opnConfig die Ursache sein



Autor Luke
Datum 02.08.2008 15:03
Beiträge: zu 1.)


OK, die user_intrest werde ich mal umbenennen

user_bio gibt es nicht in der info_xl, dort heißt es nur bio, also kein Problem

Dann habe ich noch diese Meldungen:

WARNING [8] Undefined index: form
FOUND IN [system/user_info_xxl/plugin/user/userinfo.php]
FOUND AT 212

Fatal error: Call to a member function AddOpenHeadRow() on a non-object in /home/baggerbe/www/system/user_info_xxl/plugin/user/userinfo.php on line 212

In der Zeile steht:

$opnConfig['opnOption']['form']->AddOpenHeadRow ();


Also unverändert



zu version und update ; vorsicht wenn du das spätermachen willst ; kann probleme machen die paar zeilen löschen und 1.0 setzen , ist so ne sache zu verschieben


Wenn ich das Modul deinstalliere, dann die Änderungen mache und es erneut installiere? Dann dürfte es doch eigentlich keine Probleme geben, da es doch jungfräulich installiert wird, oder nicht?

Gruß Luke



Autor stefan
Datum 02.08.2008 15:45
Beiträge: ja und ne global $opnConfig ist da in der funktion?


Autor Luke
Datum 02.08.2008 15:55
Beiträge: ja ist drin


Autor stefan
Datum 02.08.2008 17:20
Beiträge: können wir das nicht anderes macht

Kannst du dafür ne SVN einrichten?


Autor Luke
Datum 03.08.2008 14:13
Beiträge: Wie richte ich svn ein?



Autor Luke
Datum 03.08.2008 18:50
Beiträge: Kann ich Dir das Modul nicht einfach mal gezippt rüberschicken?



Autor Luke
Datum 03.08.2008 23:12
Beiträge: Hallo!

Habe es soweit hinbekommen, daß es funktioniert.

Wie bekomme ich jetzt anstatt dem normalen Text-Eingabefeld

a.)Checkboxen
b.)Radiobuttons

Gruß Luke




Autor Luke
Datum 05.08.2008 20:31
Beiträge: Hallo Stefan!


HILFE!

Komme nicht weiter. In welcher Datei und function muß ich abändern, damit aus einem normalem Texteingabefeld Checkboxen bzw. Radiobuttons zur Auswahl werden?

Danke im Voraus.

Gruß Luke



Autor stefan
Datum 06.08.2008 08:33
Beiträge: ich weiss nicht ob dir das weiter hilft

$form->AddCheckbox ('variname', 1, $varinamewert);
$form->AddLabel ('variname', _MOD_MODULNAME_BEZEICHNUNG, 1);

oder mal etwas code kopiert

$form->AddChangeRow ();
$form->SetSameCol ();
$form->AddText (_MOD_JOBCENTER_SEARCH_MATCH . ' ');
if ($addterms == 'all') {
     $check = 1;
} else {
     $check = 0;
}
$form->AddRadio ('addterms', 'all', $check);
$form->AddLabel ('addterms', _MOD_JOBCENTER_SEARCH_ALL . ' ', 1);
if ( ($addterms == '') || ($addterms == 'any') ) {
     $check = 1;
} else {
     $check = 0;
}
$form->AddRadio ('addterms', 'any', $check);
$form->AddLabel ('addterms', _MOD_JOBCENTER_SEARCH_ANY, 1);
$form->SetEndCol ();


Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor Luke
Datum 06.08.2008 16:20
Beiträge: Hallo Stefan!

Naja, etwas schon, aber ich weiß nicht so recht wie ich das hier richtig einbaue:

     if ($user_tattoos_reg == 0) {
          user_info_xxl_add_ceckfield ('user_tattoos', $user_tattoos_OPTIONAL, _IXXL_USER_TATTOOS);
          $opnConfig['opnOption']['form']->AddChangeRow ();
          $opnConfig['opnOption']['form']->AddLabel ('user_tattoos', _IXXL_USER_TATTOOS . ' ' . $user_tattoos_OPTIONAL);
$opnConfig['opnOption']['form']->AddRadio ('user_tattoos', 'Ja', $user_tattoos_OPTIONAL);
$opnConfig['opnOption']['form']->AddRadio ('user_tattoos', 'Nein', $user_tattoos_OPTIONAL);
$opnConfig['opnOption']['form']->AddRadio ('user_tattoos', 'Keine Angabe', $user_tattoos_OPTIONAL);
     }


So funktioniert es leider nicht. Zum einen kommen die Radio Buttons nicht vernünftig nebeneinander und die Bttons sind nicht beschriftet.



Ähnlich ist es bei den Checkboxen:


     if ($user_searching_for_reg == 0) {
          user_info_xxl_add_ceckfield ('user_searching_for', $user_searching_for_OPTIONAL, _IXXL_USER_SEARCHING_FOR);
          $opnConfig['opnOption']['form']->AddChangeRow ();
          $opnConfig['opnOption']['form']->AddLabel ('user_searching_for', _IXXL_USER_SEARCHING_FOR . ' ' . $user_searching_for_OPTIONAL);
          $opnConfig['opnOption']['form']->AddCheckbox ('user_searching_for', 'One Night Stand', $user_searching_for_OPTIONAL);
$opnConfig['opnOption']['form']->AddCheckbox ('user_searching_for', 'Feste Beziehung', $user_searching_for_OPTIONAL);
$opnConfig['opnOption']['form']->AddCheckbox ('user_searching_for', 'Austausch übers Internet', $user_searching_for_OPTIONAL);
     }



Danke im Voraus.

Gruß Luke



Autor stefan
Datum 06.08.2008 17:41
Beiträge: send mir das modul mal


Autor stefan
Datum 07.08.2008 18:33
Beiträge: öhm

          $opnConfig['opnOption']['form']->AddLabel ('user_piercing', _IXXL_USER_PIERCING . ' ' . $user_piercing_OPTIONAL, 2);
$opnConfig['opnOption']['form']->AddCheckbox ('user_piercing', 'Augenbraue', $user_piercing_OPTIONAL);
$opnConfig['opnOption']['form']->AddCheckbox ('user_piercing', 'Bauchnabel', $user_piercing_OPTIONAL);

sowas geht grundsätzlich mit checkboxen nicht. eine checkbox hat in dem sind keinen wert sondern ist entweder an oder aus

du willst hier im user_piercing lt. sql ein _OPNSQL_VARCHAR, 100 also text 100 zeichen mehere werte setzen.

da ist ne logik fehler.

jetzt mein gedankte dazu ; ich vermute du willst dem user die möglichkeit geben unterschiedliche piercing anzugeben. dann geht die überlegung weiter. willst du nachher nach einem bestimmten p. suchen? dann muss es defeniert sein und kein text; ok ne volltext suche ginge auch aber weiss jeder wie man was weiss ich schreibt.

weiss jetzt nicht was es sein soll entweder feste Begriffe oder alles frei.

wenn feste Begriffe dann brauchst du für jedes ein Feld in der db (einfacher als) oder du nimmst ein array das du dann in einem blob einpackst. (einfacher später um neue Begriffe zu erweitern dafür suche schwerer).

In jedem fall muss das da anderes werden. Sagmal wie es denn werden soll

Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor stefan
Datum 07.08.2008 18:34
Beiträge: und willst das später veröffentlichen?


Autor Luke
Datum 07.08.2008 19:39
Beiträge: Hi Stefan!
Danke daß Du schon mal ins Modul reingeschaut hast.

Feste Begriffe wären schon besser.


jetzt mein gedankte dazu ; ich vermute du willst dem user die möglichkeit geben unterschiedliche piercing anzugeben.


Yepp.


willst du nachher nach einem bestimmten p. suchen?


Genau.

Natürlich nicht nur nach nem Piercing, sondern der suchende User wählt per Checkboxen und Radiobuttons aus welche Eigenschaften für ihn relevant sind.

Z.B. Haarfarbe:

Blond
Brünette
Schwarz
Rot
Egal

Der suchende sollte dann ankreuzen welche User mit der/den ausgewählten Haarfarben angezeigt werden soll, oder ob die Haarfarbe egal ist.

Ebenso mit den Piercings, der Größe, Tattoos usw.

Gruß Luke





Autor Luke
Datum 07.08.2008 20:04
Beiträge:
und willst das später veröffentlichen?


Na klar, wenn gewünscht.



Autor stefan
Datum 09.08.2008 18:21
Beiträge: gut dann lass uns das mal einfacher machen.

a) du hast schon Zugang zum experimental zweig svn von daher rein damit.

b) ich hab die checkbox mal angepasst von der logik her

c) ich lad das mal ins experimental dort kannst du dir das dann ja holen bzw auch weiter entwickeln. man sieht ja dann problemlos was passiert

d) ich finde /system nicht ganz so gut daher hab ich mal es ins modules geschoben


Autor stefan
Datum 10.08.2008 09:36
Beiträge: bitte denk dran bevor du was änderst abzugleichen ob schon was anderes korrigiert wurde



Autor Luke
Datum 10.08.2008 20:45
Beiträge: Hallo Stefan!

Vielen Dank.
Aber soweit ich weiß hab ich da keine Schreibrechte. Wie machen wir das dann, soll ich Dir dann wieder mailen?

Gruß Luke



Autor stefan
Datum 10.08.2008 21:32
Beiträge: Luke schrieb am 10.08.2008 um 20:45:26 Uhr folgendes:


Aber soweit ich weiß hab ich da keine Schreibrechte.



Hast du, du stehst in den zugelassenen Usern.


Autor Luke
Datum 12.08.2008 12:02
Beiträge: Hi Stefan!

Na dann ist es ja gut. Dachte ich hatte nur nen Zugang zu den doc´s.

Hoffe, daß ich heute Abend endlich Zeit habe an dem Modul weiter zu arbeiten.

Dazu hätte ich dann gleich noch ne Frage:

Bei den Tattoos hast Du ja die Radio Buttons eingebaut (ja oder nein) Bei den Haarfarben sollen ja auch Radiobuttons zum Einsatz kommen, allerdings brauche ich da mehr als 2 Möglichkeiten...

Nun wollte ich das erweitern, aber leider komme ich da nicht weiter:

     if ($user_tattoos_reg == 0) {

          user_info_xxl_add_ceckfield ('user_tattoos', $user_tattoos_OPTIONAL, _IXXL_USER_TATTOOS);
          $opnConfig['opnOption']['form']->AddChangeRow ();
          $opnConfig['opnOption']['form']->AddText (_IXXL_USER_TATTOOS . ' ' . $user_tattoos_OPTIONAL);
          $opnConfig['opnOption']['form']->SetSameCol ();
          $opnConfig['opnOption']['form']->AddRadio ('user_tattoos', 1, ($user_tattoos == 1?1 : 0));
          $opnConfig['opnOption']['form']->AddLabel ('user_tattoos', _YES, 1);
          $opnConfig['opnOption']['form']->AddRadio ('user_tattoos', 0, ($user_tattoos == 0?1 : 0));
          $opnConfig['opnOption']['form']->AddLabel ('user_tattoos', _NO, 1);
          $opnConfig['opnOption']['form']->SetEndCol ();
     }


Speziell das

$user_tattoos == 0?1 : 0));


verstehe ich nicht.

und hier

               if ($user_tattoos == 0) {
                    $user_tattoos_txt = _NO;
               } else {
                    $user_tattoos_txt = _YES;
               }


muß ich das ja auch wieder mit einbauen

Gruß Luke



Autor stefan
Datum 12.08.2008 17:18
Beiträge: """
Radio-Buttons sind eine Gruppe von beschrifteten Knöpfen, von denen der Anwender einen auswählen kann. Es kann immer nur einer der Radio-Buttons ausgewählt sein. Der Wert des ausgewählten Radio-Buttons wird beim Absenden des Formulars mit übertragen.
"""

mal zerlegen

$opnConfig['opnOption']['form']->

[die php classe die dort aktiv ist]

AddRadio (

[Auswahl der Funktion in dem Fall Radio Bu.]

'user_tattoos',

[Der Name des Schalters]

1,

[Der Wer der übergeben wird bei diesem Schalter]

(

[Das nächste ist ein Parameter, also ein Wert muss an die funktion übergeben werden daher die Klammer]

[Übergeben muss hier wenn es aktiv sein soll ein "true"]

$user_tattoos == 1?1 : 0

[ in $user_tattoos ist der Wert der wird gegen 1 getestet wenn das 1 ist dann wird eine 1 zurückgegeben oder wenn nicht eine 0 ]

[ kurz Schreibweise einer if ]

)

[Klammer zu daher Parameter ende]

);

[Abschluss des Funktionsaufrufes]

####

"und hier "


müsste eigentlich auch klar sein.

Wenn die Variable da 1 hat dann eben ein Ja sonst ein Nein als ausgabe

Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor Luke
Datum 12.08.2008 21:21
Beiträge: Hallo Stefan!

Danke, das hilft mir weiter.

Allerdings gibt es für manche Kategorien zu viele Auswahlmöglichkeiten, sodaß Radiobuttons dafür ungeeignet sind. Besser wäre da so ein Dropdownmenü, sowie es bei "Deine Daten" unter Punkt "Benutzer unsichtbar" ist.

Wie kann ich das realisieren?

Gruß Luke



Autor Luke
Datum 12.08.2008 23:01
Beiträge: Hallo Stefan!

Habe die user_xxl_info in die experimental geladen und mir außerdem erlaubt den Fehler beim Installieren der usermap zu korrigieren.


Gruß Luke



[ Diese Nachricht wurde bearbeitet von: Luke am 13.08.2008 00:25 (Originaldatum 12.08.2008 23:01) ]


Autor Luke
Datum 21.08.2008 18:35
Beiträge: Hallo Stefan!

Wie kann ich die listalternatoren anzeigen lassen, wenn ein anderer User z.B. meine userinfo anschaut?

Meiner Meinung nach sieht es mit den alternatoren (wie beim Editieren von "Deine Daten") viel besser aus als ohne.
Nur hab ich keinen Schimmer wie ich die da hineinzaubern kann.
Oder gibt es einen Grund dafür, daß die dort nicht mit angezeigt werden?

Bestimmt hast Du einen Rat für mich


Danke im Voraus.

Gruß Luke





Autor Luke
Datum 22.08.2008 12:47
Beiträge: Hmm, kann ich das in dieser Zeile steuern?


          $table = & new opn_TableClass ('default');
               $table->AddCols (array ('20%', '80%') );
               $help1 .= zz (_IXXL_REALNAME, $name, '', $table);




Autor stefan
Datum 24.08.2008 12:35
Beiträge: genau mal geändert


Autor Luke
Datum 24.08.2008 23:25
Beiträge: Ja, habe ich, aber es hat sich nichts getan, erst als ich zusaätzlich in der system/user/index.php Zeile 226 von 'default' auf 'listalternator' umgestellt habe.

Aber das Ergebnis ist nicht ganz zufriedenstellend, da ja die anderen Module dann auch listalternatoren liefern sollten.

Hätte da noch eine andere Idee, allerdings versuche ich schon ein paar Tage dort weiterzukommen, es klappt aber nicht.

und zwar wird ja in der userinfo.php vom Modul user_info_xl und auch user_info_xxl in der function user_info_xxl_get_the_user_addon_info die Ausgabe über AddText usw. geregelt
(Beispiel:
     if ($name_reg == 0) {
          user_info_xxl_add_ceckfield ('name', $name_OPTIONAL, _IXXL_REALNAME);
          $opnConfig['opnOption']['form']->AddChangeRow ();
          $opnConfig['opnOption']['form']->AddLabel ('name', _IXXL_REALNAME . ' ' . $name_OPTIONAL);
          $opnConfig['opnOption']['form']->AddTextfield ('name', 30, 60, $name);
     }

)

Während bei der function user_info_xxl_show_the_user_addon_info
die Ausgabe über die function z (bzw. zz)

function zz ($t1, $t2, $t3 = '', &$table) {
          if ($t2 != '') {
               $table->AddOpenRow ();
               $table->AddDataCol ('<strong>' . $t1 . '</strong>');
               if ($t3 != '') {
                    $table->AddDataCol ($t3);
               } else {
                    $table->AddDataCol ('<strong>' . $t2 . '</strong>');
               }
               $table->AddCloseRow ();
               return ' ';
          }

          return '';

     }

läuft und dann über
$help .= (_IXXL_REALNAME . $name . '' . $table);

ausgegeben wird.

Jetzt würde ich gerne bei der function user_info_xxl_show_the_user_addon_info

auch über AddText usw. ausgeben.
Leider bekomme ich dann immer Meldungen wie:

WARNING [8] Undefined variable: form
FOUND IN [modules/user_info_xxl/plugin/user/userinfo.php]
FOUND AT 1827

Fatal error: Call to a member function Init() on a non-object in /home/baggerbe/www/modules/user_info_xxl/plugin/user/userinfo.php on line 1827


Was muß ich tun, damit dieser Fehler verschwindet?


Danke im Voraus.



Gruß Luke



Autor stefan
Datum 25.08.2008 05:38
Beiträge: $table = & new opn_TableClass ('alternator');

dort wird die TableClass genutzt. diese ist der unterbau von der

$form = & new opn_FormularClass ('listalternator');

FormularClass

'alternator'
'listalternator'
'default'

ist dort sinnvoll nutzbar als parameter

das eine ist für tabellen, das andere für formulare. denke eigentlich nicht das formulare da nötig wäre

schau mal in die zz das zeigt eigentlich wie

Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor Luke
Datum 25.08.2008 16:18
Beiträge: Okay.

Jetzt wollte ich einen Link anzeigen lassen, er erscheint aber nicht:

$help1 .= zz ('Link' . '<a href="www.test.de">', '<-Link nach test.de', '', $table);

Wenn ich das a href weglasse, dann wird www.test.de ausgegeben, natürlich nicht als link. Wird das irgendwie/wo herausgefiltert?

Gruß Luke





Autor stefan
Datum 26.08.2008 04:43
Beiträge: eigentlich nicht

normalerweise sollte das gehen, mach das mal so ins svn das man es sehen kann

Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor Luke
Datum 26.08.2008 20:15
Beiträge: Hi Stefan!


Kann ich machen, aber vorher wollte ich noch etwas fragen:

Ich habe in den plugin/user/userinfo.php Dateien von den Modulen user_birthday, user gender und noch ein paar anderen eine Abfrage in die function ...show_the_user_addon_info eingebaut, die die Ausgabe verhindert, wenn das user_info_xxl modul installiert ist.
Das habe ich gemacht, damit ich in dem neuen Modul die Reihenfolge frei wählen kann, und damit die Angaben mit Alternator angezeigt werden.

Kann/Soll ich das auch ruhig mit ins svn schieben?

Ach, eins hab ich noch, wie kann ich abfragen, ob ein bestimmter user gerade online ist?
Würde das gerne mit ins Moul aufnehmen.


Gruß Luke



Autor stefan
Datum 27.08.2008 07:31
Beiträge: Luke schrieb am 26.08.2008 um 20:15:56 Uhr folgendes:


Ich habe in den plugin/user/userinfo.php Dateien von den Modulen user_birthday, user gender und noch ein paar anderen eine Abfrage in die function ...show_the_user_addon_info eingebaut, die die Ausgabe verhindert, wenn das user_info_xxl modul installiert ist.
Das habe ich gemacht, damit ich in dem neuen Modul die Reihenfolge frei wählen kann, und damit die Angaben mit Alternator angezeigt werden.



hmm...

Das vorgehen so ist aber so nicht so gut.

Du musst dann ja im xxl Modul die Tabellen der anderen Module abfragen und oder man würde es wie in der memberliste machen und die Daten als "Art" + "Wert" holen.

Das ist ein Problem

Das zweite, eigentlich ist es immer so das es diese Bedingung

"Wenn Module xyz installiert ist zeige nichts" nicht gibt oder auch nicht geben sollte.

Was gehen würde
"Wenn Module xyz installiert ist nutze die und die Funktion (auch aus dem anderen Modul aber definiert) mit den und den Daten die das und das Resultat liefern"

Von daher müsste man das an der Stelle anderes machen


Autor Luke
Datum 27.08.2008 11:17
Beiträge: Du musst dann ja im xxl Modul die Tabellen der anderen Module abfragen

Genau so habe ich das gemacht. Warum ist das ein Problem?


Was gehen würde
"Wenn Module xyz installiert ist nutze die und die Funktion (auch aus dem anderen Modul aber definiert) mit den und den Daten die das und das Resultat liefern"


Hmm. Kannst Du das an einem Beispiel mal zeigen?

Wichtig wäre bei der Ausgabe der userinfo, daß alle Felder in alternatoren angezeigt werden (ohne Leerzeilen) und daß man die Reihenfolge beliebig ädern kann.

Also im Prinzip so wie man es auf der opn city auch momentan sehen kann, wobei Du Dir da die doppelten Einträge wegdenken mußt (wie z.B. Geburtstag) da ja hier noch in der user-birthday/plugin/user/userinfo.php das Geburtsdatum/Alter ausgegeben wird.


Gruß Luke



Autor stefan
Datum 27.08.2008 13:12
Beiträge: Luke schrieb am 27.08.2008 um 11:17:05 Uhr folgendes:


Genau so habe ich das gemacht. Warum ist das ein Problem?



Wenn ein Modul die Datenstruktur ändert + 1 Feld - Feld oder Feldänderung Typ dann geht das nicht ohne angepasst zu werden.

Daher nutzt man für solche aufgaben eine Art api, interface oder wie auch immer man dieses bezeichnen will.

Das andere Modul hat ein "festgelegte (die ändert sich nicht)" Funktion / Struktur oder was auch immer. Dieses wird aufgerufen und entsprechend bekommt man Daten. Die User info Module nutzen das auch so.

Auch die Reihen folge wäre bestimmbar aber und das ist hier dann das Problem.

Du willst die Ausgabe Routine ersetzen die eben das alles macht. Daher müsstest du der Ausgabe Routine sagen können mach nix bei dem und dem Modul ich mach es selbst.

Das sagen mach nix ist in der memberliste möglich nicht aber in der userinfo z.zt.

Deshalb sagte ich ja hier muss ein sauberer Weg geschaffen werden.

Man muss mal schauen wie


Autor stefan
Datum 27.08.2008 19:21
Beiträge: Das mit dem Link hab ich mal korrigiert, denke war ne Flüchtigkeitsfehler


Autor Luke
Datum 27.08.2008 22:45
Beiträge: Hi Stefan!

Wenn ein Modul die Datenstruktur ändert + 1 Feld - Feld oder Feldänderung Typ dann geht das nicht ohne angepasst zu werden.

Klingt einleuchtend.

Du willst die Ausgabe Routine ersetzen die eben das alles macht. Daher müsstest du der Ausgabe Routine sagen können mach nix bei dem und dem Modul ich mach es selbst.

Du meinst, wenn die /system/user/index.php aufgerufen wird, soll bei bestimmten Modulen die function show_the_user_addon_info nicht aufgerufen werden, wenn das modul user_info_xxl installiert ist weil die function dann aus dem user_info_xxl Modul aufgerufen wird?


Das mit dem Link hab ich mal korrigiert, denke war ne Flüchtigkeitsfehler
nett ausgedrückt


Gruß Luke





Autor stefan
Datum 30.08.2008 20:43
Beiträge: Ich habe mir dann mal was überlegt. Ich werde die register function vorziehen aus dem BT. Teilweise hatte ich das ja schon eingebaut aber noch nicht mit dem Weg.

Ich habe dazu mal das nicht mehr gebrauchte flag opnbox um gestoßen.

Das sollte dann eigentlich machbar werden/sein.

in der registry Funktion ist dann ein eingriff möglich da die Modul Datenaufbereitung dort bereits abgeschlossen ist.

Erst nachlesen, dann nachdenken, dann nachfragen... http://www.catb.org/~esr/faqs/smart-questions.html openPHPnuke Developer


Autor Luke
Datum 12.09.2008 16:14
Beiträge: könntest du ein beispiel geben? wüßte jetzt nicht wie das funktionieren soll

danke.

gruß luke



Autor stefan
Datum 13.09.2008 16:42
Beiträge: hab ich schon

schau mal in

modulesuser_info_xxlpluginregistry

Besser ?

user_info_xxl_call_registry


Autor Luke
Datum 14.09.2008 14:06
Beiträge: Ahh, alles klar. Besten Dank. Werde ich heute abend gleich mal testen und einbauen.

Aber:

Wenn ein Modul die Datenstruktur ändert + 1 Feld - Feld oder Feldänderung Typ dann geht das nicht ohne angepasst zu werden.


das ist damit ja noch nicht gelöst, da die Abfrage doch immer noch direkt aus dem xxl Modul in den Datenbankfeldern der jeweiligen Module geschieht.

Oder hattest Du dafür auch schon eine Lösung?


Gruß Luke



Autor stefan
Datum 14.09.2008 14:28
Beiträge: nein dafür noch nicht [theoretisch schon ist aber bzw. wäre dann eine fleiß Aufgabe]


Autor Luke
Datum 26.09.2008 20:17
Beiträge: okay, das kann man sicher später noch einbinden.

ansonsten habe ich, bis auf ein paar kleinigkeiten, sowiet alles drin.
jetzt fehlt nur noch eine suchfunktion.
schön wäre es, wenn man wie bei der schon vorhandenen suche auch ein seitenbox- und centerbox-fenster hätte, wo man eine einfache und eine erweiterte suche starten könnte.
aber wie integriere ich das?

gruß luke



Autor stefan
Datum 27.09.2008 08:02
Beiträge: 1)

ERROR [2] Cannot use a scalar value as an array
FOUND IN [modules/user_info_xxl/plugin/user/userinfo.php]
FOUND AT 325


usw..,


2)

welchen Editor / os nutzt du ; du nutzt einen Zeichensatz den öhm kenne ich nicht.

3) suche was meinst du genau eine suche bei der suche wenn man die standart suche von opn nutzt oder ieien suche in der form wie sie z.b. noch mal separat im forum ist


Autor Luke
Datum 27.09.2008 15:10
Beiträge: Hallo Stefan!


1.)

Wann kommt der Fehler? Die 325 ist doch auskommentiert und diente sowieso nur zur Info.

2.)
Hab schon gemerkt, der Editor ist nicht so das Pralle (habe 3 verschiedene, aber irgendwie funzen die alle nicht so wie ich das möchte, weaverslave, ultraedit und phpcoder).
Kannst Du mir einen guten empfehlen, am besten Freeware?


3.)
Ich dachte eher an eine Suche, mit der man speziell die Daten der User aus dem user_info_xxl durchsucht. Also eine Usersuche sozusagen.

Schön wäre dabei eine einfache Suche (Username, Umkreis, Alter, Geschlecht, mit/ohne Avatar, nur User anzeigen, die online sind) und eine erweiterte Suche, wo man gezielt nach den anderen Daten, die im user_info_xxl Modul sind.

Wobei bei nicht angegebenen Daten alle angezeigt werden, also wenn z.B. bei Geschlecht nichts angegeben wird, dann sollen alle Geschlechter angezeigt werden.


Gruß Luke



Autor stefan
Datum 27.09.2008 16:06
Beiträge: 1 -> die zeile ist verrutscht weil ich da schon korrekturen drin hab...

du nutzt dort arrays ; diese sind aber bei der Installation des Modules mit '' in die db gespeichert. Daher sind wenn du das Modul später installierst alle User die dann ihren aount ändern auf mehrere Fehler Meldungen gestoßen.

Um das optisch zu korrigieren hab ich ne test auf array hinzugeführt ist aber nur optisch löst nicht den eigentlichen Fehler.

2 -> Du nutzt win-os ? scheinbar weil ultraedit ja nur für win gigt.

UltraEdit ist eigentlich ok und sehr genau das hab ich unter anderem auch. wobei das kein FreeWare ist. Zend Studio ist auch noch gut [Schneller PC notwendig] (auch kein FreeWare). Oder Eclipse (Freie Software). Wenn es Frei sein soll dann wäre Eclipse die beste Wahl aber Vorsicht ist durch die ganzen Plugins usw. nicht so simpel wie die anderen Prg. Dafür aber sehr mächtig.

3 - OK dann soll es also nicht in die plugins sondern ne eigenes werden. Denke ist auch bei der menge an infos besser

im großen und ganzen hast du dazu alles schon. das must du nur in eine seperate datei kopieren und eine abfrage würde fehlen.

den Eingabe bereich im user und dann das da wo gespeichert wird eben nicht speichern sondern die db durchsuchen...



Autor Luke
Datum 27.09.2008 21:44
Beiträge: 1.)

wie kommt man aus dieser nummer wieder raus?

2.)
yepp, hauptsächlich win os (und auf einem andern rechner hab ich noch suse drauf).

ultraedit verorgelt mir immer den zeichensatz, weiß allerdings nicht warum. wenn ich eine datei öffne, dann werden die umlaute richtig angezeigt. sobald ich sie gespeichert habe, werden sie zwar im editor immer noch richtig angezeigt, aber nicht mehr auf der webseite. mit einem anderen editor geöffnet (phpcoder) zeigt er die gleichen verorgelten umlaute wie auf der webseite. ist vielleicht nur ne einstellungssache, weiß aber noch nicht wo.

3.)

OK dann soll es also nicht in die plugins sondern ne eigenes werden. Denke ist auch bei der menge an infos besser

im großen und ganzen hast du dazu alles schon. das must du nur in eine seperate datei kopieren und eine abfrage würde fehlen.

den Eingabe bereich im user und dann das da wo gespeichert wird eben nicht speichern sondern die db durchsuchen...


jo, aber mein prob ist halt, daß ich nicht weiß wie ich im admin->seitenbox bzw. admin->centerbox den eintrag für die user_info_xxl_suche hineinbekommen soll

Gruß Luke



Autor stefan
Datum 28.09.2008 14:11
Beiträge: zu 1)

korrigiert

zu 2)

hmm evt. ist dann aber was bei den Einstellungen im server? also irgendwo passt da was nicht zusammen.

Wo sind die Daten gespeichert?
Was zeigt / wie sendet der apache die daten


Autor Luke
Datum 28.09.2008 14:26
Beiträge: supi

zu 2.)
Einstellungen am Server kann ich mir nicht vorstellen.
Die Umlaute sind nur verorgelt, wenn ich die Datei mit ultraedit bearbeitet habe. Dazu muß ich noch nicht mal die Umlaute ändern, einfaches speichern reicht. Wenn ich diese gerade gespeicherte Datei mit ultraedit aufmache, so werden diese korrekt angezeigt, nur auf dem Server eben nicht.

Ein gegentest:
Eine Datei mit phpcoder geöffnet, Umlaute ok, alles gut. DIe Datei gespeichert, auf dem Server hochgeladen, alles paßt.
Wenn ich nun diese Datei mit ultraedit öffne, speichere und dann mit phpcoder öffne sind die Umlaute auch wieder hinüber.

Sieht so aus, als ob es an Ultra Edit liegt.

Ich könnte ja phpcoder benutzen, dort funktioniert es zwar mit den Umlauten, aber der Editor kann den Code nicht so schön übersichtlich wie ultraedit darstellen und mit den tab einrücken haut das auch nicht so hin wie ich mir das vorstelle, deswegen habe ich ja zu ue gewechselt.


Gruß Luke




Autor stefan
Datum 03.10.2008 19:52
Beiträge: Ich mach ne neuen Beitrag auf Zu viele Seiten ...




Diese Seite drucken
Diese Seite schließen

Dieser Artikel kommt von: OpenPHPNuke - das Open Source CMS

http://www.openphpnuke.info/