Forum : Entwicklungen in ArbeitTitel : Arcade-Modul - kleine Erweiterungsfrage© 2004-2012 www.exv2.de http://www.exv2.de
URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=2562&forum=15
|
Dj_PD :
| 10.05.2005 00:34 |
Hallo,
ich bin gerade mal dabei das Arcarde-Modul etwas zu verbessern, derzeit im Adminbereich. Ich bin aber gerade an einer Stelle an der ich nich weiter komme weil ich noch keine Erfahrungen in Sachen "MySQL" habe. Deswegen meine Frage: Ich habe eine Variable "$filename" die ich auslese per Schleife. In dieser Schleife möchte ich eine Datenbankabfrage haben. Und zwar soll er in der Datenbank schauen ob $filename in der Tabelle arcade_games In der Datenbankspalte gname schon vorhanden ist. Dann würde ich das gerne wie eine if-Abfrage machen if ($filename == $ergebnis_aus_datenbank) { ... } else { ... }
Könnte mir jemand sagen wie das geht? Vielen Dank im vorraus.
Gruss Dj_PD
P.S.: Wird hier wahrscheinlich nicht die letzte Frage sein. |
|
|
bama :
| 10.05.2005 09:38 |
probier's mal hiermit
$sql = "SELECT * FROM ".$db->prefix("arcade_games")." ORDER BY gname"; $result = $db->query($sql); while ( $myrow = $db->fetch_array($result) ) { $installed_games[] = $myrow['gname']; } $games_dir = XOOPS_ROOT_PATH."/modules/arcade/cache"; $handle = opendir($games_dir); while (false !== ($file = readdir($handle))) { $games_file = substr($file, -4); if ( in_array(trim($games_file), $installed_games) ) { // Spiel vorhanden }else{ // Spiel nicht vorhanden } }
hab es aber nicht getestet |
|
|
Dj_PD :
| 10.05.2005 10:01 |
Hi Bama,
hehe, also ich war ja geschockt als ich das hier gelesen habe. Sollte doch eine Überraschung werden und du schreibst mir das hier so hin als wenn du genau wüßtest was ich vor habe. Aber hast Recht, ja ich mache eine Installationsverbesserung für das Arcardemodul
Ich habe den Code an meinem Code angepasst und jetzt funktionierts Vielen Dank
Ich habe nämlich das bei mir ein bisschen anders, der ließt bei mir nicht alle Dateien aus, sondern nur erst einmal *.swf Dateien. (Weil im Ordner cache auch noch andere Dateien sind)
Jetzt hab ich das ja geschafft und werde jetzt anfangen die einzelnen Installationsmöglichkeiten dort einzubauen, gibt nicht nur eine
Dann habe ich noch vor 2 Sachen im Frontbereich zu versuchen. Einmal eine Möglichkeit einen anderen Teilnehmer bei einem Spiel nach Wahl herrauszufordern. Und dann versuche ich noch eine Bewertung einzubauen, so das man Spiele bewerten kann, ob die gut sind oder nicht. Es soll aber eine einfache Bewertung werden, also einfach nur ein Bild "Daumen hoch" oder "Daumen runter". Ob ich das mit der Bewertung hin bekomme weiß ich nicht, aber das mit der Herrausforderung versuche ich auf jeden Fall, bringt ja Spannung ins Spiel.
Gruss Dj_PD
P.S.: Und wirklich nochmal vielen vielen Dank bama. P.P.S.: Ich weiß ja nicht, aber vielleicht könnte man so ein kleines Tutorial machen, von wegen "MySQL" wo man schnell mal eben nachlesen kann, wie man bestimmte Sachen aulesen, suchen, einfügen oder ändern kann. Und evtl. ein kleiner Bereich wo man z.B. die wichtigsten Datenbanktabellen aufgelistet bekommt, also so das man mal schnell z.B. sehen kann wie man schnell Userdaten aus der Datenbank lesen kann. Ich weiß ja nicht ob man das so ohne weiteres machen kann, aber wäre eine gute Hilfe. |
|
|
bama :
| 10.05.2005 10:28 |
Zitat:aber vielleicht könnte man so ein kleines Tutorial machen
das Tutorial ist vorhanden, und die Funktion: Tutorial schreiben auch
also keine falsche Bescheidenheit |
|
|
Dj_PD :
| 28.05.2005 15:03 |
Hi,
ich bin jetzt mit dem Adminbereich fertig und das installieren von Spielen per ftp funktioniert super, mit Standardtext, Manueller Eingabe oder mit php Datei. Und ich habe auch noch ein paar andere kleine Funktionen eingebaut, wie z.B. Highscores aus Kategorie löschen oder Highscores aus einzelnen Spielen löschen.
Jetzt bin ich aber noch nicht fertig, jetzt kommt das zweite oder dritte was ich gerne noch einbauen würde. Ich möchte das User sich gegenseitig herrausfordern können. Ich habe mir das so überlegt das wenn die Spiele aufgelistet werden das dann dort 2 neue Links zukommen sollen. 1) Herrausfordern 2) Herrausforderungshighscore
Wenn man auf "Herrausfordern" klickt, so soll ein Dropdownfeld kommen, wo man einen User auswählen kann und dieser Bekommt dann (im Adminbereich einstellbar) eine eMail oder eine PM und der Herrausforderer kann dann schonmal spielen. In dieser PM oder eMail steht dann drin das "User XXX ihn herrausfordern möchte" und ein Link der dafür sorgt das der User dann die Herrausforderung annehmen kann oder ein Link der die Herrausforderung ablehnen kann. Aber das ist erst einmal noch nicht so wirklich wichtig weil ich ja soweit noch nicht bin und ich habe mir auch noch keine Gedanken gemacht wie ich das mit den Punkten und so mache, da ich vor habe eine neue Tabelle zu erstellen wo er evtl. folgende Daten speichert: - GID (automatisch erstellte Nummerierung, damit man damit im Verteitigerlink genau sagen kann welche ID das Spiel hat. - User 1 (Herrausforderer) - Punkte von User1 - User 2 (Verteitiger) - Punkte User 2
Und dann mach ich noch eine Tabelle wo dann die Gewinnerpunkte gespeichert werden: - UID (Useridentifikation) - Punkte aus Herrausforderung - Punkte aus Verteidignung - Punkte bei 1 Platz bei den normalen Spielen (d.H. hier bekommt man nochmal Punkte wenn man bei den Normalen Spielen auf den ersten Platz steht) - Punkte aus Crash-Mode (d.H. hier bekommt man Punkte wenn man den Highscore gecrascht hat, also im Adminbereich gibt man eine Punktzahl ein die man schwer erreichen kann, sollte es einer schaffen so wird der normale Highscore komplett gelöscht und der User bekommt ein Punkt. (So brauch man nicht selber den Highscore löschen, da ich die Erfahrung gemacht habe das wenn die Punkte zu hoch sind das dann keiner mehr die Spiele spielt)) - und noch ein paar Punkte für Funktionen die später noch eingebaut werden.
Mein Problem ist derzeit folgendes: Ich habe im Adminbereich schon ein Dropdownfeld gesehen, wo alle User ausgelesen werden und zwar wenn man im Adminbereich auf "System Administration" klickt und dann auf "Mitglieder -- Ändern" Dort wird ja ein Dropdownfeld angezeigt. Ich habe jetzt mal in den einzelnen php-Dateien gesucht ob ich nicht dieses Dropdownfeld irgendwo finde, aber keine Spur von einem <select></select>-Feld Ich habe es gesucht weil ich so gehofft habe wie dieses Dropdownfeld aufgebaut ist und ob man es noch bearbeiten kann (Ich kann ja noch nicht so gut php und MySQL)
Frage 1: Weiß jemand wo man dieses Dropdownfeld findet und ob man auch im Fronted gebrauchen kann? Da es ja angezeigt wird wenn man bei den Spielen auf Herrausfordern klickt. Frage 2: Besteht die Möglichkeit im Adminbereich eine Funktion einzubauen womit man einstellen kann welche Gruppen in dem Dropdownfeld angezeigt werden sollen und hat jemand ein Tipp wie ich das machen könnte? Ich möchte nämlich das die Seitenbetreiber so viele Einstellungen selbst entscheiden können, damit jeder die Funktionen aktivieren kann die er möchte.
Ich hoffe jemand hat ein paar gute Ideen und vielleicht auch noch ein paar Codebeispiele.
Gruss Dj_PD
[ Geändert von Dj_PD an 28.05.2005 15:04 ] |
|
|
bama :
| 30.05.2005 10:52 |
Hi Dj_PD
zu Frage 1: findest du in /modules/system/admin/users/users.php ab Zeile 19
zu Frage 2: ich schicke dir mal ein Script, in dem fast alle Felder für ein Formular als Beispiel aufgeführt sind dieses Script ist auf den neuen Formulargenarator aufgebaut erleichtert sehr das programmieren |
|
|
Dj_PD :
| 30.05.2005 17:28 |
Hallo bama,
Jo, vielen Dank erst einmal für deine Hilfe. zu Frage1: Ich habe mir das mal angesehen und ich komme mit dem Code irgendwie noch nicht mit klar. Dort ist es ja so das alle User ausgelesen werden und dann angezeigt werden, ich habe es aber so vor das man im Adminbereich eine Einstellung machen kann, wo man einstellen kann das Usergruppe XY nicht angezeigt werden soll, also in dem Dropdownfeld. Ich glaube ich muss das doch noch so per Hand machen, aber wenn ich es schöner finden würde wenn ich komplett den Exv2-Standard programmiere.
Zu Frage2: Als erstes einmal vielen Dank für das Script. Ist wirklich sehr gut gemacht bzw. übersichtlich. Das einzigste was ich noch nicht erkenne bzw. verstehe, ist wie er das den speichert? Ich habe mir schonmal das Modul "MyDownloads" abgesehen, da dort ja auch schon das neue System läuft. Aber ich werde nicht schlau raus. Ich finde nirgendwo eine Stelle wo ich sehe, das er das in die Datenbank speichert bzw. wo er das in eine config.php speichert. Also ich habe mir mal den Bereich bei MyDownloads angesehen wo er die Dateien in die config.php speichert, also die admin/index.php Zeile - 1379 Ich habe ja am Anfang gedacht das er mit dem Code Code:$form = new ExoopsFormProducer("theme_form", "", "mydownloadconfig", _PHP_SELF, "post", "30%"); den Formular sagt wo er die Daten hin schicken soll. Aber die function die normal für das speichern zuständig ist heißt Code:function mydownloadsConfigChange() {
Und "mydownloadsConfigChange" habe ich nur in Code:$form->addElement($form->f_hidden("op", "mydownloadsConfigChange")); einem hidden-Feld gefunden. Aber ich denke der f_hidden heißt doch löschen.
Deswegen. Also anhang deines Scriptes sieht die eingabe der Formulare schon sehr sehr gut aus. Ich denke wirklich das es wenn man das so macht einfacher wird. Aber irgendwie ist das speichern bei dem Formular für mich persönlich zu kompliziert oder ich bin zu ....!
Ich werde mich aber noch ein bisschen damit beschäftigen und sollte ich es verstanden haben werde ich mal die Konfiguration von arcade-modul nach dem neuen System erstellen.
Gruss Dj_PD
P.S.: Unter global in einer function stehen ja immer Variablen. Weiß jemand welche wichtig sind, bzw. was diese bedeuten und viel wichtiger welche Informationen man damit bekommen kann??? Also, solche (einfach mal ein paar gefundenen) global $myts, $mydownloadsConfig, $db, $eh, $mytree, ...usw...;
Bei diesen Variablen habe ich nämlich auch ein paar Probleme, da ich nicht weiß wie ich raus finde woher diese stammen bzw. was man mit diesen machen kann. |
|
|
|