. .
pragmaMx Support Forum 25 Mai 2012, 23:29:04 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Admin einbinden  (Gelesen 2358 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
comedi
Moderator
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 669

comedi


WWW
« am: 20 Dezember 2010, 13:29:58 »

Hoi zusammen,  smile

bin dabei ein neues Modul einzubinden und habe beim einbinden im Adminbereich noch Probleme.

hier mal den Code für die links.myshop.php
Code: [Select]  
// Modulname ggf. anpassen
$module_name="My_Shop";

if ($radminsuper == 1)   {
    adminmenu("admin.php?op=My_Shop", $module_name, "myshop.gif", MX_ADMINPANEL_ADDON);
}

und hier der Code für die case.myshop.php
Code: [Select]  
switch ($op) {

case 'My_Shop':

    mxSessionSetVar('panel', MX_ADMINPANEL_ADDON);
    include('modules/My_Shop/admin/index.php');

}

Wenn ich jetzt einen Link z.B. auf die Datei admin_menu.php oder gutscheine.php setze komme ich immer nur auf die index.php im Adminordner.

Wie kann ich denn das am einfachsten anpassen?
Gespeichert

LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.1 --- PHP-Version: 5.2.14
MySQL-Version: 5.0.67 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #1 am: 31 Juli 2011, 15:33:56 »

Bist Du da schon weiter?

Ich hänge da auch gerade.

Am liebsten würde ich gerne, wie in der MyGallery, einen zusätzlichen Seperator ($do) per case hinzufügen, so das die Zielurl so ausschaut:

hxxp://meine-domain.xyz/admin?op=osC4PMXAdmin&do="Zieldatei".

Nur mekert das PMX bei der

Code: [Select]  
switch ($do) {

Anweisung. Ich könnte natürlich auch die vorhandene "op" benutzen, wobei diese dann, bei der Funktion "Modules", sich mit dem Modul Modules beist.  gruebel
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #2 am: 31 Juli 2011, 16:20:03 »

die einfachste Lösung ist immer noch, in der moduleigenen Index.php eine Weiche mit den 2. Parameter einzubauen:

Bsp:
admin.php?op=modulename&act=wasauchimmer

in der modul-Admin.php dann
Code: [Select]  
switch ($act) {
  case "wasauchimmer":
   include ('wasauchimmerinclude.php');
   break;
...

}

Vorteil dabei ist auch, das ihr für die einzelnen Möglichkeiten nur die moduleadmin.php anpassen müsst...

Übrigens, als Anmerkung : der Name einer PHP-Datei hat in den Request's nix zu suchen !
Auch im Adminbereich nicht....

Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #3 am: 31 Juli 2011, 16:39:25 »

Danke für die Antwort,

Ja die Weichen Funktion habe ich ja gemeint.

Wenn ich diese Einbaue kommt es zu Fehlermeldungen (Werde ich gleich mal Reproduzieren):

Code: [Select]  
Beispiel:

switch ($do) {
  case "action_recorder":
   include ('action_recorder.php');
   break;
...

}


Zitat
Übrigens, als Anmerkung : der Name einer PHP-Datei hat in den Request's nix zu suchen !
Auch im Adminbereich nicht....

Ähhm Nicht? Nur funktioniert dann das Modul nicht. Kennst Du den oscommerce? Weist Du wie der gestrickt ist?

Bei einen 4 Seiten Modul ist es einfach, die Seiten als Funtion in einer Datei unterzu bringen,, aber nicht bei diesen ohne alle Funtionen und Classes zu zerlegen.


<Edit>
Dann schau Dir mal genauer die MyGallery an, dort werden auch PHP Seiten per Case und Switch genau benannt
</Edit>
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #4 am: 31 Juli 2011, 17:02:27 »

so, wie du das einbinden willst, sollte es gehen, es sei denn, die Variable $do wird vom System anderweitig verwendet...
(Groß/Kleinschreibung evtl beachten...)

ansonsten haben wir uns, glaube ich, falsch verstanden.... rougi

ich meine eine URL, wie : ...admin.php?op=nam&act=zieldatei
bei der die namen der PHP-Dateien in der URL stehen (=REQUEST-Variablen)
und die dann per : include ($act.".php") (oder ähnlich) eingebunden werden....
Großer MIST und Sicherheitslücke !!

so wie es bei der My_gallery gelöst ist, ist es ja ok, da die Includes hardgecoded sind und damit sichergestellt ist, das die richtige Datei eingebunden wird.
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #5 am: 31 Juli 2011, 17:06:42 »

Ok mein Problem hat sich erledigt.

Nun funtzt alles ohne fehlermeldungen:

In der case.dein_modules:

Code: [Select]  
switch ($do) {
   case 'Dein_Modules':
   default:
   include ('modules/Dein_Modules/admin/start.php');
   break;
   case "Seite2":
   include ('modules/Dein_Modules/admin/Seite2.php');
   break;
}

In der link.dein_modules:

Code: [Select]  
if ($radminsuper==1) {
    adminmenu("admin.php?op=Dein_Modules&do=index", _Dein_Modules, "Dein_Modules.gif", MX_ADMINPANEL_ADDON);
}

Im Adminbereich in die Startseite:

Code: [Select]  
CloseTable();
include("footer.php");

switch ($do) {
   case "Dein_Modules":
   default:
   break;
   case "Seite2":
   include (dirname(__FILE__) . 'Seite2.php');
   break;
}

So klappt es bei mir ^^
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #6 am: 31 Juli 2011, 17:09:23 »

wozu brauchst du die Weiche in der case.modul.php wenn du die Weiche in der modul-admin.php schon hast ?
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #7 am: 31 Juli 2011, 17:35:52 »

Weil es anders im osc nicht realisierbar ist und ich sonst immer auf die index im Adminbereich des Shops zurückgeworfen werde.

<Edit>
Und die Admin Startdatei nicht unter root/admin/modules/ liegt.
</Edit>
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #8 am: 31 Juli 2011, 17:47:24 »

nö... definitiv brauchst du nur eine Weiche

z.Bsp. bei ContestMX hab ich u.a. das so gelöst

link.contestmx.php
Code: [Select]  
...
adminmenu("admin.php?op=contest", ("Contest MX2"), "../header/contest.png",MX_ADMINPANEL_CONTENT);

case.contestmx.php
Code: [Select]  
...
switch($op) {

    case "contest":
case "Contest":
    include(CON_MODULE_PATH."admin/admin.php");
        break;

}
die admin.php im Modulordner modules/Contest/admin/admin.php
Code: [Select]  
...

switch ($act) {
   case  "info":
    include ("modules/" . $module_name . "/admin/admin_info.php");
break;
   case  "install":
    install();
break;

...

Funzt problemlos und mach die Pflege einfach, da nur eine Datei gepflegt werden muss, mit den $act's

im Bedarfsfalle in der Admin-Datei im Modulordner nur die Weiche einbauen... alles andere dann in den entsprechenden Includes.
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
dema80
weiss was
***
Offline Offline

Geschlecht: Männlich
Beiträge: 221

dema80


WWW
« Antworten #9 am: 31 Juli 2011, 17:48:57 »

Hallo

Ich würde raden den Admin bereich von PragmaMX und OSC zu trennen.

Ich finde allein aus Sicherheits gründen den Admin bereich für Shop extra zu halten.

oder was sagt ihr?

gruß

DeMa
Gespeichert

Es gibt keinen zweiten Sieger --- du bist eine 1 oder ne 0, lebendig oder tot
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #10 am: 31 Juli 2011, 18:30:04 »

nö... definitiv brauchst du nur eine Weiche

z.Bsp. bei ContestMX hab ich u.a. das so gelöst

link.contestmx.php
Code: [Select]  
...
adminmenu("admin.php?op=contest", ("Contest MX2"), "../header/contest.png",MX_ADMINPANEL_CONTENT);

case.contestmx.php
Code: [Select]  
...
switch($op) {

    case "contest":
case "Contest":
    include(CON_MODULE_PATH."admin/admin.php");
        break;

}
die admin.php im Modulordner modules/Contest/admin/admin.php
Code: [Select]  
...

switch ($act) {
   case  "info":
    include ("modules/" . $module_name . "/admin/admin_info.php");
break;
   case  "install":
    install();
break;

...

Funzt problemlos und mach die Pflege einfach, da nur eine Datei gepflegt werden muss, mit den $act's

im Bedarfsfalle in der Admin-Datei im Modulordner nur die Weiche einbauen... alles andere dann in den entsprechenden Includes.


Dank Dir  pardon

Ok werde ich, wenn alle Datein angepast sind testen.

Hallo

Ich würde raden den Admin bereich von PragmaMX und OSC zu trennen.

Ich finde allein aus Sicherheits gründen den Admin bereich für Shop extra zu halten.

oder was sagt ihr?

gruß

DeMa

Nein, da der osc Adminbereich, wenn die Falsche PHP Version auf dem Server ist, sehr heimtückisch sein kann und Dich beim Versuch einzulogen, in eine Endlosschleife wirft. (Hatte ich gestern mit dem Originalshop vorm PHP Update).

Desweiteren kann man so Unbefugtes Zugreifen mit dem CMS Schutz verhindern:

Code: [Select]  
defined('mxMainFileLoaded') or die('access denied');

if (!MX_IS_ADMIN) {
    die ("Access Denied");
}

Was das Abgreifen der Session um einiges Erschwert.

Aber was sagt Andi dazu? ^^
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
comedi
Moderator
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 669

comedi


WWW
« Antworten #11 am: 31 Juli 2011, 19:10:51 »

Hoi zusammen,  Smiley

@AlternativeComputing
Zitat
Bist Du da schon weiter?

oh das ist schon lang her, aber dort ist es auch über die admin.php gelöst und alle Dateien werden dort eingebunden, weil der komplette Adminbereich erneuert wurde. Dort wurden die einzelnen Bereiche, nach dem Vorbild vom PMX,  über Tabs zugänglich gemacht werden.

Es wird aber noch bestimmt einige Zeit in Anspruch nehmen bis wir soweit sind.  Wink
Gespeichert

LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.1 --- PHP-Version: 5.2.14
MySQL-Version: 5.0.67 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de
AlternativeComputing
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 277


« Antworten #12 am: 05 August 2011, 16:35:43 »

nö... definitiv brauchst du nur eine Weiche

z.Bsp. bei ContestMX hab ich u.a. das so gelöst

link.contestmx.php
Code: [Select]  
...
adminmenu("admin.php?op=contest", ("Contest MX2"), "../header/contest.png",MX_ADMINPANEL_CONTENT);

case.contestmx.php
Code: [Select]  
...
switch($op) {

    case "contest":
case "Contest":
    include(CON_MODULE_PATH."admin/admin.php");
        break;

}
die admin.php im Modulordner modules/Contest/admin/admin.php
Code: [Select]  
...

switch ($act) {
   case  "info":
    include ("modules/" . $module_name . "/admin/admin_info.php");
break;
   case  "install":
    install();
break;

...

Funzt problemlos und mach die Pflege einfach, da nur eine Datei gepflegt werden muss, mit den $act's

im Bedarfsfalle in der Admin-Datei im Modulordner nur die Weiche einbauen... alles andere dann in den entsprechenden Includes.

Moin TerraProject,

Habe vorgestern die

Code: [Select]  
switch($op) {

Anweisungen aus der Index im Adminbereiches des Modules wieder entfernt und mußte   Grin

Komisch aber nun Funtz es normal über die case File  mad2  pardon  thumbup

Dank Dir mochmals  highfive
Gespeichert

MfG

Peter

CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02 :: PHP-Version: 5.3.7RC2-dev :: MySQL-Version: 5.1.46-log :: Server-Version: Apache/2.2.15 (Linux/SUSE)

Projekt: osc4pragmaMx- In der Entwicklung
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML