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

Antworten: 43
Seite [1] 2 3 >
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Thema - 28.04.2010 um 02:48 Uhr
wie es bislang ablief:

startup-dateien waren im verzeichnis system/runstartup abgelegt und wurden darin automatisch erkannt und beim nächsten aufruf einer clansphere seite mitgeladen

wie es ab clansphere 2010 und ab sofort im neuen svn trunk bereits abläuft:

1. ein eintrag in der info.php des modules ist erforderlich:

$mod_info['startup'] = TRUE;


2. bei änderungen an info.php dateien gilt wie überall nun: um änderungen aktiv werden zu lassen einmalig unter system -> cache den selbigen leeren

3. eine startup.php muss in dem verzeichnis des jeweiligen moduls existieren, andernfalls wird ein cs_init fehler an die error logs übergeben, die ausführung der eigentlichen seite läuft ansonsten aber ungestört weiter

fragen und wünsche zu dieser änderung bitte hier posten

ps: vielen dank an den unbekannten wunsch poster dazu im trac-bereich


------------------
ClanSphere - professional clan care starts here
Inaktiv
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 1 - 28.04.2010 um 10:59 Uhr
Eh hallo, wie das? Das funkzt doch total nicht wenn man ein startup braucht die von MEHRERE module benutzt wird...

Ihr seit damit total nicht backwards compatibel...

Was ist der zweck davon ueberhaupt?

- Mit sicherheit hat es nichts am hut:
Wenn jemand eine extra datei hinfuegen kann in system/runstartup, dan kann er sicher auch eine startup.php in ein mods/xxx verzeichniss hinzufuegen und die info.php aendern...
- Wenn man navlist dinge in den global template hat, kann man also das auch nicht nutzen...

Diese aenderung hat soweit also total kein zweck...


Zuletzt editiert von Mindcrime am 28.04.2010 um 11:25 Uhr (2x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 2 - 28.04.2010 um 16:23 Uhr
zwecke des umbaus:

- loswerden des ständigen scans im dateisystem verzeichnis runstartup
- eindeutigere zuordnung der dateien zu ihren modulen
- das löschen / deaktivieren von modulen soll zukünftig auch deren startup sehr einfach und direkt unterbinden können

die sicherheit spielte bei dem umbau aus meiner sicht auch eine rolle, allerdings nur sehr untergeordnet, da man sicherlich via directory traversal mit einigen kniffen irgend etwas hätte anstellen können

wie mir scheint hast du ja bedenken, dass nun von mehreren modulen gleichzeitig genutzte startups nicht mehr so einfach realisierbar sind, hättest du dahingehend oder allgemein einen vorschlag zur verbesserung? denn im prinzip denke ich ist die jetzige variante schon eher ein fortschritt und optimieren kann man noch immer

danke für dein feedback, ich werde es sehr ernst nehmen


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

Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 3 - 28.04.2010 um 16:41 Uhr
Vielleicht könnte man das hinbekommen, dass man durch einenm weitere Eintrag in der info.php auch die Startups von anderen Modulen "includieren" könnte.
z.B. $mod_info['ext_startup'] = array('coins','bets');

In diesem Fall werden dann ebenfalls die StartUp-Dateien vom anderen Modul geladen.
(Sollte eigentlich doch möglich sein, oder?)

lG


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 4 - 28.04.2010 um 16:46 Uhr
ja, so wäre das sicherlich möglich. allerdings könnte auch die startup eines modules einfach mit include_once eine andere datei nachladen bei bedarf

allerdings warte ich vor weiteren umbauten jetzt erstmal auf mindcrime


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 5 - 28.04.2010 um 17:08 Uhr
Ich waehre erstens dafuer das man die alte situation auch benutzen bleiben kann:
$cs_main['runstartup'] = TRUE;

Lass cs_tasks() laufen wenn das in die setup.php steht. Damit ist man backwards compatibel mit aeltere module in 2009.x.x.
Oder wenn du das zu "gefaehrlich" findest, mach etwas wie
$cs_main['runstartup'] = 'tools,counter';

im setup.php was dan ausfuehrt: system/runstartup/tools.php und system/runstartup/counter.php.


Zweitens, die runstartup ist meines achtens auch da, um allgemeine ergaenzungen (so wie ich mein tools.php gedacht habe) im ClanSphere zu benutzen, die nichts mit bestimmte module am hut haben. Mein tools.php ist eine ergaenzung auf system/core/tools.php gedacht und ich will nicht bei jede neue release von ClanSphere den basis code anpassen...

Das du fuer ein bestimmtest modul XXX dieses mods/XXX/startup.php machen willst ist ja ok, aber das hilft nur bei module die eigene funktionen oder code haben die beim start von die seite geladen werden muessen. Das ist also nur, wie ich schon gesagt habe, nuetzlich wenn man keinen algemeine funktionen an ClanSphere zufuegen will...


Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 6 - 28.04.2010 um 17:28 Uhr
$cs_main['runstartup'] = TRUE;


ich denke das reicht aus, um die rückwärtskompatibilität zu gewährleisten und dich sowie mich dann zufrieden zu stellen, daher werde ich diese möglichkeit gleich im svn nachreichen. vielen dank für euer mitwirken


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

Inaktiv
|
Denni


Specialist




Herkunft: Ilsfeld
Beiträge: 1972
# Antwort: 7 - 28.04.2010 um 18:01 Uhr
@mindcrime:
wenn die startup von mehreren modulen benutzt wird, kannst du ja auch funktionen erstellen und diese dann in den jeweiligen startups aufrufen...
so hast du den code auch nicht mehrfach vorhanden, sondern nur einmalig und einen mehrfachen aufruf


------------------
Gruß
Denni

ClanSphere - Makes your website a playmate, just dress her

Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 8 - 28.04.2010 um 18:06 Uhr
mit der rückwärtskompatibilität und der einfachheit durch diese möglichkeit eigene system-dateien zu clansphere zu ergänzen hatte er allerdings schon recht

die letzten 3 svn commits haben das alte verhalten nun, leicht angepasst, wieder verfügbar gemacht


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

Inaktiv
|
Dragotheras


Rock the board





Beiträge: 76
# Antwort: 9 - 04.05.2010 um 15:38 Uhr
Servus,
ich habe heute mal auf die neueste SVN geupdatet.
Seitdem habe ich nur noch probleme -.-
Das Coins Modul geht garnicht mehr, überall werden nur noch fehler angezeigt.
Das Bets Modul funktioniert auch nicht mehr.

PS: Habe den oben genannten Befehl in den info.php dateien eingefügt, setup.php datei etc.. und auch den Cache gelerrt aber trotzdem funktioniert keines der Module mehr!

Wäre nett wenn jemand helfen könnte.

Bei Coins kommt dieser fehler : Fatal error: Call to undefined function cs_coins_exists() in /home/username/home/mods/coins/center.php on line 7


Zuletzt editiert von Anfaenger am 04.05.2010 um 15:39 Uhr (1x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 10 - 04.05.2010 um 17:20 Uhr
mach besser ein eigenes thema für dein problem auf, denke nicht, dass dies direkt oder indirekt mit dem umbau der runstartup dateien zusammenhängt


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 11 - 06.07.2010 um 12:11 Uhr
Ich finde es noch immer keine gute loesung. Andauernd werden hier im forum neue threads erstellt mit leute die sich beklagen das dies oder das modul nicht funktioniert.

Daneben sind es algemeine funktionen die in runstartup stehen die durch mehrere module benutzt werden. Die kann ich nicht einfach in ein bestimmten startup.php von ein bestimmten modul reinhauen, weil dan gehen die andere module nicht mehr wenn die leute dieses bestimmte modul nicht installieren...

Und ich hab ehrlich gesagt wenig bock um ein modul "Mindcrime's general functionen modul" einzurichten mit eigentlich nur ein startup.php drin. Weil das ist momentan die einzigste loesung um sowas zu erreichen ohne das es wieder dutzende obengenannte threads erstellt werden...

GGGGRRRRRRRRRRRRR!!!!



Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 12 - 06.07.2010 um 12:39 Uhr
die eigentlich optimale lösung, zumindest im anbetracht der derzeit noch prozedural gestalteten clansphere software, wäre wohl, deine allgemeinen funktionen im kopf deiner php-dateien überall zu inkludieren. bei einer alternativen arbeit mit klassen müssten diese ja auch erst nachgeladen werden, selbst wenn die details davon ein autoloader übernimmt.

deine derzeitige realisierung ist zwar einfacher, aber in bezug auf das system eben suboptimal gelöst. die runstartup dateien waren damals eben auch nur modulweise für startups gedacht und nicht verallgemeinert. wegen der mangelnden dokumentation und teils nicht gelungenen planung muss ich mir das wohl zum teil mit ankreiden.

wenn dir ideen einfallen, wie man dies richtung coresphere optimieren könnte, dann schreib dies gern nieder. in clansphere wird es so wie es jetzt ist wohl bleiben, solange dir keine mega einfach zu realisierende idee mehr dazu kommt.


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 13 - 02.08.2010 um 20:50 Uhr
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
     # execute startup files
    
if(is_array($startup)) {
      foreach(
$startup AS $mod) {
        if(!empty(
$account['access_' $mod])) {
          
$file $cs_main['def_path'] . '/mods/' $mod '/startup.php';
          
file_exists($file) ? include_once $file cs_error($file'cs_init - Startup file not found');
        }
      }
    }


Dieser code ist fehlerhaft, wenn ich ein modul hab, was keine ACCESS braucht, sondern nur ein system ergaenzungs modul ist. Dan funktioniert die startup nicht, weil ohne $account['access_' . $mod] geht es nicht.
Was ist ueberhaupt der sinn das man ein access_XXX braucht um ein startup in ein modul zu haben. Die startups haben nichts zu tun mit zugriff auf eine bestimmte funktion innerhalb des moduls:

Einfach bitte diesen test raus und gut ist:
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
     # execute startup files
    
if(is_array($startup)) {
      foreach(
$startup AS $mod) {
        
$file $cs_main['def_path'] . '/mods/' $mod '/startup.php';
        
file_exists($file) ? include_once $file cs_error($file'cs_init - Startup file not found');
      }
    }


Oh ja, und:


 
1.
2.
3.
1. / 2. / ... 
 PHP-WarningNoticeUndefined variablecs_lang in mods/modules/view.php on line 19
PHP
-WarningWarningarray_merge() [function.array-merge]: Argument #1 is not an array in mods/modules/view.php on line 19


Zuletzt editiert von Mindcrime am 02.08.2010 um 20:52 Uhr (1x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 14 - 02.08.2010 um 21:10 Uhr
den fehler in der mods/modules/view habe ich irgendwie nirgends, kannst da auf der demo seite oder allgemein nen beispiel geben, wie man diesen produziert?

der access check bei den startup dateien sollte verhindern, dass bei deaktivierten modulen noch die startup datei ausgeführt wird. allerdings wäre mir das wohl auch lieber, wenn dies direkt von den modulen gehandhabt wird


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 15 - 02.08.2010 um 23:17 Uhr
02.08.2010 um 21:10 Uhr - hajo:
den fehler in der mods/modules/view habe ich irgendwie nirgends, kannst da auf der demo seite oder allgemein nen beispiel geben, wie man diesen produziert?


Beim gleichen modul geht es falsch. Es hat keine sprach datei, weil es die eh nicht braucht... Ich finds unsinn um dafuer fuer alle sprachen dan eine sprach datei anzulegen wenn ich das ueberhaupt nicht brauche...

Deswegen wurde cs_translate() auch nicht angerufen und $cs_lang nicht gesetzt. Und dan bekommt man halt diese warnung...

der access check bei den startup dateien sollte verhindern, dass bei deaktivierten modulen noch die startup datei ausgeführt wird. allerdings wäre mir das wohl auch lieber, wenn dies direkt von den modulen gehandhabt wird


Wer sagt den das aktivierte module immer access_XXX haben, bzw brauchen?
Mein modul hat das nicht, weil es ein system modul ist.
RSS, Captcha, Install, etc.
Diese haben alle kein access_XXX, also kann man da keine startup.php reinmachen???

Zweitens, wenn ich den code lese von module deaktivieren wird die access_XXX auf 0 gestellt... Wenn also ein AKTIVIERTES modul bei ein user access auf 0 hat stehen, wird der startup also auch nicht durchgefuehrt. Das ist meines achtens ein code design fehler, weil das modul AKTIV ist! Das kann zu viele probleme fuehren. Weil obwohl der benutzer vielleicht 0 rechte hat auf das modul, kann der startup immerhin noch immer dinge machen die von algemein nuetzen sind, innerhalb CS oder das modul selber. ZB bei ein besucher counter modul der alle zugriffe zaehlt, aber nur admin zugriff gibt um die stats zu sehen...



Zuletzt editiert von Mindcrime am 02.08.2010 um 23:28 Uhr (5x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 16 - 03.08.2010 um 00:44 Uhr
ok ich schraub da morgen an ein paar verbesserungen, großteils deinen wünschen entsprechend


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 17 - 03.08.2010 um 08:35 Uhr
Vielmals dank!

Die warnung kannst ja loesen durch vorher:

 
1.
1. / 2. / ... 
 if (!isset($cs_lang)) $cs_lang = array();


Ich werde mich auch mal gedanken machen, wie man die startups verhindert von nicht aktivierte module...

Uebrigens, das problem mit die access_XXX ist auch vorhanden im export von database module...


Zuletzt editiert von Mindcrime am 03.08.2010 um 08:43 Uhr (2x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 18 - 03.08.2010 um 13:37 Uhr
die probleme mit fehlenden sprachdateien sehe ich nirgends. sprach dateien sind doch eh pflicht, warum sollte sich jemand darum drücken wollen? zumindest der übersetzte name und eine kurze beschreibung, was das modul macht sind doch nicht zuviel verlangt.

was die von dir angesprochenen access probleme angeht sollte das mit den startup dateien nun deinen wünschen gemäß umgesetzt sein. die access probleme an anderen stellen wie z.b. dem db export kann ich nicht nachvollziehen, da bitte ich um weitergehende beispiele, evtl. links oder screenshots.


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

Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 19 - 03.08.2010 um 14:16 Uhr
http://trac.csphere.eu/csp/browser/trunk/mods/database/export.php Zeile 35:
 
1.
1. / 2. / ... 
 if((isset($account['access_' $mod['dir'] . '']) OR $mod['dir'] == 'captcha' OR $mod['dir'] == 'pictures') AND !empty($mod['tables'][0])) {


Ein AKTIVES modul ohne access_XXX kann durchaus tabellen haben die exportiert werden sollen.
Wieso machst du sonst ausnahmen fuer captcha und pictures...


Zuletzt editiert von Mindcrime am 03.08.2010 um 14:16 Uhr (1x Editiert)
Inaktiv
|
hajo ClanSphere Team
Thread-Ersteller


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 20 - 03.08.2010 um 14:23 Uhr
ok da ist dann wohl ein designfehler, allerdings sehe ich dafür keine einfache und andere lösung derzeit, die zum gleichen ziel führt.


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

Inaktiv
|
Antworten: 43
Seite [1] 2 3 >


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo