News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 36
Seite [1] 2 >
loadVars


Wannabe poster




Beiträge: 24
# Thema - 07.12.2011 um 16:29 Uhr
Hi zusammen,

möchte mich ein wenig in die Modulentwicklung einarbeiten. Nun habe ich das Problem das die vorhandenen Module wie z.B. das todo fast zu viel ist um ersteinmal durchzusteigen.

Gibt es den kein ganz einfaches "Hello World" Modul das zum üben und erweitern zu verwenden wäre. Ja klar hat solch ein Modul auf einer Seite keinen Sinn aber zum Üben wäre es schon cool.
Habe mir natürlich auch die Wiki Module erstellen angeschaut aber das wäre mit einem Übungsmodul, zumindest für mich, einfacher zu verstehen.

Hoffe Ihr killt mich jetzt nicht wegen dieser Anfängerfrage


Grüße
Inaktiv
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 1 - 07.12.2011 um 16:46 Uhr
hi,

wenn du das Wiki stück für stück durcharbeitest, kannst du damit auch dein "Hello Worl" Modul schreiben.
Es ist eigentlich realtiv simpel, nur bedarf es einiger Grundschritte, die du erst machen musst, damit dein Modul auch so angezeigt wird, wie du es haben willst.

Und das alles steht in dem Wiki-Artikel drin.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 2 - 07.12.2011 um 16:50 Uhr
berechtigte frage, dazu hoffentlich hilfreiche antworten:

1. modul erstellen funktionalität in clansphere bereitet die nötigen anfänge vor

2. unter features -> api in der navigation bzw. http://www.csphere.eu/api gibt es eine funktionsliste

3. im wiki gibt es einen bereich für entwickler http://wiki.clansphere.de/Entwickler

wenn sonst noch offene fragen oder probleme da sind frag einfach, hier reißt dir niemand dafür den kopf ab, denn jeder fängt mal an und solange du über grundlegende eigene recherchen, z.b. forensuche, nichts finden solltest ist es wohl eher unsere schuld bzw. schlecht dokumentiert.


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 3 - 07.12.2011 um 18:31 Uhr
Hi,

danke Euch für die schnellen und vorallem netten Antworten. (Das ist nicht in jedem Forum so )

Ok werde dann mal versuchen anhand der Wiki ein "HelloWorld-Modul" zu machen.
Melde mich wieder bei Euch falls ich nicht weiterkomme.....

Grüße


Inaktiv
|
rL^z


Try to beat me




Herkunft: Niedersachsen
Beiträge: 117
# Antwort: 4 - 08.12.2011 um 08:01 Uhr
@loadVars:

Wenn du Anfänge machen möchtest um Module zu entwickeln, solltest du dir "meiner Meinung" nach erst einmal Grundwissen in bestimmten Seitenbeschreibungs, Datenbank- bzw. Scriptsprachen holen. HTML/CSS - PHP(?) - MySQL und ggf. ein wenig JS.

Denn ein Modul ist halt nix anderes als eine irgendwo eigenständige Ansammlung von bestimmten Dateien o. Scripten mit einer festgelegten Funktion, die je nach Plattform o. Umgebung an die jeweiligen Anforderungen angepasst werden.

Indirekt kann man es sich auch als kleines "Add-On" eines Spieles vorstellen - nach der Installation vom Add-On kann ich dieses auch in Verbindung mit meinem vorherigen Spiel nutzen, falls dieses Add-On natürlich "A" kompatiblen zu meinem Game gecodet wurde und "B" die Umgebungssprachen versteht. Trotzdem wurde das Add-On bestimmt mit den gleichen Hintergründen geschrieben.

Also, mein "Tipp" wäre - hol dir ein Apache2 und mySQL Server (XAMMP) und zieh dir mal ein paar Einsteiger Tutorials über HTML/CSS und PHP rein. Dort wirst du dein "Hello World" auch wiederfinden

Und nach einer bestimmten Zeit kannst du dir die Module zum Teil schon im Kopf schreiben und musst dies dann nurnoch in die Tat umsetzen

Viel Glück - und denk dran "it`s just a tip"

- http://www.apachefriends.org/de/xampp-windows.html


------------------
Liebe Grüße rL^z

Zuletzt editiert von rL^z am 08.12.2011 um 08:26 Uhr (1x Editiert)
Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 5 - 08.12.2011 um 09:29 Uhr
@rL^z:

Danke für Deine Tipps allerdings bringt mich das nicht weiter.
Ich würde natürlich nicht mit Modulen experimentieren wollen wenn ich null Ahnung von html, css, php, mySQL, phpMyAdmin, und natürlich auch XAMMP als lokale Testplattform hätte.
Ich bin kein Profi da ich mir alles selbst angeeignet habe, und habe bis jetzt mehr mit Joomla gemacht. Jedes System ist ja ein wenig anders aufgebaut und daher wäre für Leute wie mich ein Testmodul praktisch gewesen.

Aber egal bastle seit gestern an dem computers Modul herum um mich einzuarbeiten.

Grüße


Inaktiv
|
rL^z


Try to beat me




Herkunft: Niedersachsen
Beiträge: 117
# Antwort: 6 - 08.12.2011 um 11:27 Uhr
Achso..... na sag das doch

Steht nirgens das du bereits Erfahrungen mit anderen CMS gemacht hast ^^

Dachte das wäre ein Verständnisproblem von einem Anfänger, der mit einem "Modul" im Prinzip die Erstellung eines eigenes Script`s vergleicht und die ersten Schritte dorthin machen möchte, ein "Hello World" via. php auszugeben ^^

Na ja gut, wenn du bereits mit Joomla gearbeitet hast, dann solltest du ja schon genug Erfahrungen mit Modulen, Komponenten und gewissen Plugins gemacht haben.

Dann geht es dir hier nun wirklich nur um den Aufbau bzw. die Umgebungsvariablen bestimmter Module, oder?

Na ja, da kann ich dir ausm Kopf auch nicht helfen, da ich für CSP auch noch keine Module erstellen habe, sry


------------------
Liebe Grüße rL^z

Zuletzt editiert von rL^z am 08.12.2011 um 11:29 Uhr (1x Editiert)
Inaktiv
|
gamermazzo


Going for pro




Beiträge: 450
# Antwort: 7 - 08.12.2011 um 11:51 Uhr
hier ist es doch aber sehr gut und einfach erklärt, also wenn du zeit hast würd ich mich hier einfach mal einlesen und dann loslegen http://wiki.clansphere.de/Module_erstellen


------------------
Gruß

Mazzo

Inaktiv
|
rL^z


Try to beat me




Herkunft: Niedersachsen
Beiträge: 117
# Antwort: 8 - 08.12.2011 um 12:52 Uhr
nahh -.O

Ich hab momentan kaum Zeit dafür, aber Danke

Ich verschenke schon genug Abendstunden daran, mein derzeitiges Template/Design fertig zu kriegen.

Wenn ich nun nach der Arbeit auch noch wieder mit dem Programmieren von Module anfangen würde, wäre ich irgendwann allein Zuhause - denn dann würde meine bessere Hälfte zum Nachbarn ziehen

Vielleicht am Wochenende - wenn das Wetter so bleibt ^^


------------------
Liebe Grüße rL^z

Inaktiv
|
gamermazzo


Going for pro




Beiträge: 450
# Antwort: 9 - 08.12.2011 um 13:03 Uhr
so gehts mir auch

Studenten haben halt auch nicht viel zeit =P


------------------
Gruß

Mazzo

Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 10 - 08.12.2011 um 19:29 Uhr
Hi again...

so wie gesagt versuche ich mich gerade an der Bearbeitung des Moduls computer. Jetzt habe ich das Problem das, das eintragen in die DB funktioniert aber Änderungen der Daten (wie auch das löschen) nicht klappen. (Trotz der Meldung alle Änderungen erfolgreich gemacht). Per Debug.php habe ich erfahren das im SQL UPDATEbefehl eine Spalte der DB fehlen würde. Das ist auch richtig die Spalte heißt nämlich richtig song_id aber irgendwie hat das script nun mp3Player_id als Spalte drin. Ich raff jetzt aber nicht (oder habe Tomaten auf den Augen) warum die existierende Variable $mp3Player_id nun als Spalte verwendet wird.
mehr... +-

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
1. / 2. / ... 

<?php
// ClanSphere 2010 - www.clansphere.net
// Id: edit.php (Tue Nov 25 16:17:15 CET 2008) fAY-pA!N

$cs_lang cs_translate('mp3Player');
$cs_post cs_post('id');
$cs_get cs_get('id');

$mp3Player_id = empty($cs_get['id']) ? $cs_get['id'];
if (!empty(
$cs_post['id']))  $mp3Player_id $cs_post['id'];

if(isset(
$_POST['submit'])) {

  
//$cs_mp3Player['users_id'] = $account['users_id'];
  
$cs_mp3Player['track_name'] = $_POST['track_name'];
  
$cs_mp3Player['track_file'] = $_POST['track_file'];

  
$error '';

  
$search_user cs_sql_select(__FILE__,'mp3Player','users_id',"song_id = '" $mp3Player_id "'");
  if(
$search_user['users_id'] != $account['users_id'] AND $account['access_mp3Player'] < 4) {
    
$error .= $cs_lang['not_own'] . cs_html_br(1);
  }
  if(empty(
$cs_mp3Player['track_name'])) {
    
$error .= $cs_lang['no_name'] . cs_html_br(1);
  }
  if(empty(
$cs_mp3Player['track_file'])) {
    
$error .= $cs_lang['no_file'] . cs_html_br(1);
  }
}
else {

  
$cells 'track_name, track_file, users_id';
  
$cs_mp3Player cs_sql_select(__FILE__,'mp3Player',$cells,"song_id = '" $mp3Player_id "'");
}
if(!isset(
$_POST['submit'])) {
  
$data['head']['body'] = $cs_lang['body_edit'];
}
elseif(!empty(
$error)) {
  
$data['head']['body'] = $error;
}

if(!empty(
$error) OR !isset($_POST['submit'])) {

  foreach(
$cs_mp3Player AS $key => $value)
    
$data['com'][$key] = cs_secure($value);

  
$data['com']['referer'] = empty($_SERVER['HTTP_REFERER']) ? 'center' $_SERVER['HTTP_REFERER'];
  
$data['com']['id'] = $mp3Player_id;

  echo 
cs_subtemplate(__FILE__,$data,'mp3Player','edit');
}
else {

  
$mp3Player_cells array_keys($cs_mp3Player);
  
$mp3Player_save array_values($cs_mp3Player);
  
cs_sql_update(__FILE__,'mp3Player',$mp3Player_cells,$mp3Player_save,$_POST['id']);
  
  
#$referrer = strpos($_POST['referer'],'manage') === false ? 'center' : 'manage';
  
$referrer $account['access_mp3Player'] < 'center' 'manage';
  
cs_redirect($cs_lang['changes_done'],'mp3Player',$referrer);



Und hier der Error Text:

cs_sql_update - Unknown column 'mp3Player_id' in 'where clause' --Query: UPDATE cs_mp3Player SET track_name='testerei', track_file='blablabla blub' WHERE mp3Player_id = 6

Der richtige Befehl sollte lauten:
UPDATE cs_mp3Player SET track_name='testerei', track_file='blablabla blub' WHERE song_id = 6

Was mache ich falsch? Beim Vergleich mit der orginalen Datei aus mods -> computer -> edit.php finde ich keine groben Fehler.

Grüße


Zuletzt editiert von loadVars am 14.12.2011 um 10:53 Uhr (1x Editiert)
Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 11 - 08.12.2011 um 20:36 Uhr

cs_sql_update(__FILE__,'mp3Player',$mp3Player_cells,$mp3Player_save,0, (int)$_POST['id']);


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 12 - 09.12.2011 um 09:45 Uhr
Moin,

@Jam2:

Vielen Dank für Deine schnelle Antwort. Jetzt ändert es die Daten ab Aber leider ändert es mir jetzt alle Einträge der Tabelle ab. D.h. Bei 6 unterschiedlichen Datensätzen habe ich jetzt 6 identische.

Grüße


Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 13 - 10.12.2011 um 12:09 Uhr
---------- loadVars schrieb: ----------
Moin moin,

ich danke Dir vielmals für die Lösung
Mannomann hatte den Spaltennamen in den Arrays vermutet und auch einige Kombinationen ausprobiert aber diese nicht. Hätte ich aber drauf kommen sollen.

Nochmal danke!

Grüße



---------- Jam2 schrieb: ----------
Guten Morgen,
ach Mist das kann ja gar nicht gehen!

cs_sql_update(__FILE__,'mp3Player',$mp3Player_cells,$mp3Player_save,0, 'SPALTENNAME = ' . (int)$_POST['id']);



---------- loadVars schrieb: ----------
Hi Jam2,

sorry falls ich nerven sollte aber ich werde gerade voll blöde weil ich es irgendwie nicht hinbekomme.
Habe jetzt zwar auch die Dokumentation gefunden werde aber in meinem Beispiel daraus nicht schlau.

Du warst ja so nett mir dies zu schreiben:
cs_sql_update(__FILE__,'mp3Player',$mp3Player_cells,$mp3Player_save,0, (int)$_POST['id']);

Aber ich bekomme es nicht hin das nur der richtige Datensatz geändert wird
Was mich verwundert ist das es beim computer mod ja auch ohne Deine Änderung geht und ih habe die Datei heute 3mal neu gemacht und nur die Tabellen/Spaltennamen und Variablen getauscht.

Wäre sehr nett wenn ich noch einen Tipp bekommen würde. Danke

Grüße


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Zuletzt editiert von Jam2 ClanSphere Team am 10.12.2011 um 12:10 Uhr (1x Editiert)
Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 14 - 12.12.2011 um 20:25 Uhr
Moin again,

nachdem ich jetzt schon gut weitergekommen bin habe ich auf einmal einen ganz komischen Fehler. Und zwar möchte ich nun per remove.php einen Datensatz löschen. Ich bekomme per Log aber einen Fehler der sich auf die /system/database/mysql.php bezieht.

Folgender Error im browser:
Fatal error: Function name must be a string in /home/domainname/public_html/domainname/system/database/mysql.php on line 64

Folgender LOG Eintrag:
PHP Notice on line 64 -> Undefined variable: cs_sql_error

Hat da jemand einen Tipp für mich? Anscheinend ist die remove.php korrekt aber an der system datei wollte ich jetzt net rumprobieren.

Grüße


Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 15 - 12.12.2011 um 20:28 Uhr
Was für eine Datenbank nutzt du ?


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 16 - 12.12.2011 um 20:38 Uhr
Hi,

ne ganz normale MySQL oder verstehe ich die Frage falsch

Hab aber gerade doch nen Problem in der remove.php entdeckt glaube ich zumindest.



Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 17 - 12.12.2011 um 20:53 Uhr
zeig mal deine remove.php


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 18 - 13.12.2011 um 10:18 Uhr
Hi,

anbei die remove.php

mehr... +-

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
1. / 2. / ... 

<?php
// ClanSphere 2010 - www.clansphere.net
// Id: remove.php (Tue Nov 25 19:52:50 CET 2008) fAY-pA!N
$cs_lang cs_translate('mp3Player');
$cs_get cs_get('id');
$cs_post cs_post('id');
$mp3Player_id = empty($cs_get['id']) ? $cs_post['id'] : $cs_get['id'];

$referrer $account['access_mp3Player'] < 'center' 'manage';

if(isset(
$cs_post['agree'])) {
  
$select 'users_id, track_pictures';
  
$mp3Players cs_sql_select(__FILE__,'mp3Player',$select,'song_id = ' $mp3Player_id);
  if(
$mp3Players['users_id'] == $account['users_id'] OR $account['access_mp3Player'] >= 5) {
    
$mp3Players_string $mp3Players['track_pictures'];
    
$mp3Players_pics = empty($mp3Players_string) ? array() : explode("\n",$mp3Players_string);
    if(!empty(
$mp3Players_string)) {
      foreach(
$mp3Players_pics AS $pic) {
        
cs_unlink('mp3Player''picture-' $pic);
        
cs_unlink('mp3Player''thumb-' $pic);
      }
    }
    
// Löscht alle Datensätze außer dem angewähltem:
    //cs_sql_delete(__FILE__,'mp3Player',0, 'song_id = ' . (int)$mp3Player_id);
    
    
cs_sql_delete(__FILE__,'mp3Player','song_id = ' . (int)$mp3Player_id);
    
    
// Orginal geht nicht:
    //cs_sql_delete(__FILE__,'mp3Player',$mp3Player_id);
    
    
    
    
cs_redirect($cs_lang['del_true'], 'mp3Player',$referrer);
  } else {
    
cs_redirect($cs_lang['del_false'], 'mp3Player',$referrer);
  }
}

if(isset(
$cs_post['cancel'])) {
  
cs_redirect($cs_lang['del_false'], 'mp3Player',$referrer);
}


$search_user cs_sql_select(__FILE__,'mp3Player','users_id, track_name','song_id = ' $mp3Player_id);
if(!empty(
$search_user)) {
  
$data = array();
  if(
$search_user['users_id'] != $account['users_id'] AND $account['access_mp3Player'] < 5) {
    
$data['head']['body'] = $cs_lang['not_own'];
    
$data['if']['own'] = FALSE;
  } else {
    
$data['head']['body'] = sprintf($cs_lang['remove_entry'],$cs_lang['mod_name'],$search_user['track_name']);
    
$data['if']['own'] = TRUE;
    
$data['com']['id'] = $mp3Player_id;
    
$data['com']['referer'] = empty($_SERVER['HTTP_REFERER']) ? 'center' $_SERVER['HTTP_REFERER'];
  }
  echo 
cs_subtemplate(__FILE__,$data,'mp3Player','remove');
}
else {
  
cs_redirect('',$referrer);
}



Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 19 - 13.12.2011 um 11:52 Uhr
 
1.
1. / 2. / ... 
 cs_sql_delete(__FILE__,'mp3Player','song_id = ' . (int)$mp3Player_id);

ersetzen durch
 
1.
1. / 2. / ... 
 cs_sql_delete(__FILE__,'mp3Player',$mp3Player_id'song_id');


Zusatz: Das Casten einer Var, sollte wenn nötig, vor aufruf einer Function passieren, und nicht bei der Übergabe.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
loadVars
Thread-Ersteller


Wannabe poster




Beiträge: 24
# Antwort: 20 - 13.12.2011 um 14:00 Uhr
@Fr33z3m4n Vielen Dank



Zuletzt editiert von loadVars am 14.12.2011 um 14:04 Uhr (2x Editiert)
Inaktiv
|
Antworten: 36
Seite [1] 2 >


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo