User-/Rechteverwaltung für andere Programme nutzen?!
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
User-/Rechteverwaltung für andere Programme nutzen?!
Hallo zusammen,
ich hätte da so ein ähnliches Problem bzw. Frage wie im Beitrag hier.
Denn ich möchte gerne für Mitglieder einen Downloadbereich von 5-8 Kategorien mit jeweils ca. 50 Dateien anbieten. Da Conpresso hierfür etwas schwierig zu händeln ist, habe ich mir folgende Lösung gedacht:
Gibt es einen Weg, die Userverwaltung um ein anderes Skript "herum zu spannen"?? so in der Art, dass ich den header und footer von CPO nehme und den Inhalt dann von dem anderen Programm. Das ganze dann mit externem Link verlinke und siehe da es ist "integriert"???
Geht das??
cu Ralf
P.S. Oder gibt es Anstrengungen im neuen CPO, die Dateiverwaltung durch einen Mod für größere Datenbestände zu verbessern??
ich hätte da so ein ähnliches Problem bzw. Frage wie im Beitrag hier.
Denn ich möchte gerne für Mitglieder einen Downloadbereich von 5-8 Kategorien mit jeweils ca. 50 Dateien anbieten. Da Conpresso hierfür etwas schwierig zu händeln ist, habe ich mir folgende Lösung gedacht:
Gibt es einen Weg, die Userverwaltung um ein anderes Skript "herum zu spannen"?? so in der Art, dass ich den header und footer von CPO nehme und den Inhalt dann von dem anderen Programm. Das ganze dann mit externem Link verlinke und siehe da es ist "integriert"???
Geht das??
cu Ralf
P.S. Oder gibt es Anstrengungen im neuen CPO, die Dateiverwaltung durch einen Mod für größere Datenbestände zu verbessern??
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Nimm Dir die _rubric/index.php und ersetze die Zeile, die i_index.php includet durch Dein eigenes Script.
Dabei muß man aber drauf achten, daß keine benutzten Variablen miteinander kollidieren, im Notfall nach dem Header einfach durch unset(...) zurücksetzen.
Viel problematischer sind die Klassen und Funktionen (welche es gibt, sagt Dir Dein BS mittels Textsuche nach class bzw. function), die nicht neu deklariert werden können.
Bei eigenen Scripten kann man das ja umgehen, bzw. geschickt die komfortablen Originalfunktionen benutzen. Nur bei Fremdscripten gibt es oft Konflikte...
Dabei muß man aber drauf achten, daß keine benutzten Variablen miteinander kollidieren, im Notfall nach dem Header einfach durch unset(...) zurücksetzen.
Viel problematischer sind die Klassen und Funktionen (welche es gibt, sagt Dir Dein BS mittels Textsuche nach class bzw. function), die nicht neu deklariert werden können.
Bei eigenen Scripten kann man das ja umgehen, bzw. geschickt die komfortablen Originalfunktionen benutzen. Nur bei Fremdscripten gibt es oft Konflikte...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
OK,
beim ersten groben Test scheint es so zu funktionieren.
Doch da hätte ich noch eine Frage, wie verhält es sich wenn ich jetzt das Dateiverwaltungsskript direkt aufrufe, dann habe ich ja keinen Schutz mehr von Conpresso?!! Wäre es da nicht besser, nicht mein System in CPO zu includen sondern CPO in das andere Skript??
beim ersten groben Test scheint es so zu funktionieren.
Doch da hätte ich noch eine Frage, wie verhält es sich wenn ich jetzt das Dateiverwaltungsskript direkt aufrufe, dann habe ich ja keinen Schutz mehr von Conpresso?!! Wäre es da nicht besser, nicht mein System in CPO zu includen sondern CPO in das andere Skript??
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Schreibe als erste Zeile in das Script (und alle anderen abhängigen) einfach
dann lassen sie sich nicht außerhalb von Conpresso aufrufen und sind demzufolge immer geschützt!
Code: Alles auswählen
if (!defined('CPO')) exit;
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
mmhh ok Danke jedoch soweit bin ich noch nicht,
mein Problem momentan ist erst noch, dass ich zwar die "Startseite" includet habe, jedoch jeder weitere Link sieht so aus: pafiledb.php?action=category&id=1 und verweist somit auf die pafiledb.php Datei und wenn ich dann auf so einen Link klicke bin ich aus dem CPO drausen?!
Hat dazu irgendjemand eine Idee wie ich das Lösen könnte?
mein Problem momentan ist erst noch, dass ich zwar die "Startseite" includet habe, jedoch jeder weitere Link sieht so aus: pafiledb.php?action=category&id=1 und verweist somit auf die pafiledb.php Datei und wenn ich dann auf so einen Link klicke bin ich aus dem CPO drausen?!
Hat dazu irgendjemand eine Idee wie ich das Lösen könnte?
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Ändere den Link von pafiledb.php auf index.php und include lokal (also so wie es in der index.php auch zu sehen ist...
Wenn das zu kompliziert ist, dann kopiere die Inhalte aus index.php in die Datei pafiledb.php ...
Wenn das zu kompliziert ist, dann kopiere die Inhalte aus index.php in die Datei pafiledb.php ...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
wenn ich das so mache, kommt bei mir immer diese Fehler:
$db[host] = "localhost"; //This is the MySQL server paFileDB will connect to
$db[user] = "user34"; //This is the MySQL user name
$db[pass] = "pw7654"; //This is the MySQL password
$db[name] = "user34";
und
$db[prefix] = "pafiledb1"; //Table name prefix-explained above.
Tja und jetzt komme ich nicht weiter ...
in diesen Zeilen steht folgendes:Warning: Cannot use a scalar value as an array in /www/htdocs/.../cms/test/includes/mysql.php on line 13
Warning: Cannot use a scalar value as an array in /www/htdocs/.../cms/test/includes/mysql.php on line 14
Warning: Cannot use a scalar value as an array in /www/htdocs/.../cms/test/includes/mysql.php on line 15
Warning: Cannot use a scalar value as an array in /www/htdocs/.../cms/test/includes/mysql.php on line 16
Warning: Cannot use a scalar value as an array in /www/htdocs/.../cms/test/includes/mysql.php on line 26
$db[host] = "localhost"; //This is the MySQL server paFileDB will connect to
$db[user] = "user34"; //This is the MySQL user name
$db[pass] = "pw7654"; //This is the MySQL password
$db[name] = "user34";
und
$db[prefix] = "pafiledb1"; //Table name prefix-explained above.
Tja und jetzt komme ich nicht weiter ...
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Was ist denn "so"...Ralf hat geschrieben:wenn ich das so mache...
Welchen Code benutzt Du nun?
Und wie vorausgesagt kollidieren die Variablen.
Da müsste man nun an die passende Stelle ein
unset ($db);
setzen.
In ConPresso wird $db als Klassenobjekt benutzt, in Deinem Script eben nur als Array...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
Hallo Markus,
also mal der Reihe nach, ich habe das Skript erst wie du gesagt hast, in die Index.php includet. Doch dabei gabe es immernoch diese Fehler.
Da aber anscheinend alle Dateien auf diese pafiledb.php zugreifen, habe ich nun kurzerhand den Code von dieser Datei genommen und alles in meine Index.php reinkopiert (natürlich anstelle wo i_index.php includet wird).
Dann habe ich im kompletten Skript noch die Verweise von pafiledb.php auf index.php geändert, sowie vor dem aufruf der mysql.php in der index.php dieses unset ($db); eingesetzt.
und tatsächlich, es funktioniert!!! Vielen Dank
OK eine Kleinigkeit gibt es noch und zwar ein Dateiupload vom Skript klappt irgendwie noch nicht. Es wird mir zwar angezeigt die Datei xyz wäre hochgeladen aber wenn ich in den Ordner per FTP reinschaue ist da nichts drin (CHMOD 777 gesetzt)?!
Die Dateien werden mit folgendem Code geladen:
Komisch ist auch, dass obwohl ich den Ordner angebe wo es rein soll, es nicht passiert?!!
Meine Frage nun, ist in diesem Code noch eine Variable drin, die von Conpress schon verwendet wird? bzw. die ich dann eben "unset" setzen müsste?
Noch irgendwelche Ideen? (Da wenn ich das Skript ausserhalb von CPO installiere, funktioniert dieser Upload wunderbar!! Sogar auf dem gleichen Webspace)
Danke cu Ralf
p.s. Falls noch mehr Infos benötigt werden, bitte einfach melden ... bzw. ich füge mal die Datei von der der Code oben ist einfach an?! ...
also mal der Reihe nach, ich habe das Skript erst wie du gesagt hast, in die Index.php includet. Doch dabei gabe es immernoch diese Fehler.
Da aber anscheinend alle Dateien auf diese pafiledb.php zugreifen, habe ich nun kurzerhand den Code von dieser Datei genommen und alles in meine Index.php reinkopiert (natürlich anstelle wo i_index.php includet wird).
Dann habe ich im kompletten Skript noch die Verweise von pafiledb.php auf index.php geändert, sowie vor dem aufruf der mysql.php in der index.php dieses unset ($db); eingesetzt.
und tatsächlich, es funktioniert!!! Vielen Dank
OK eine Kleinigkeit gibt es noch und zwar ein Dateiupload vom Skript klappt irgendwie noch nicht. Es wird mir zwar angezeigt die Datei xyz wäre hochgeladen aber wenn ich in den Ordner per FTP reinschaue ist da nichts drin (CHMOD 777 gesetzt)?!
Die Dateien werden mit folgendem Code geladen:
Code: Alles auswählen
if ($upload == "do") {
?>
<script language="JavaScript">
function seturl(url) {
opener.document.form.<?php echo $field; ?>.value = url;
}
</script>
<?php
if (file_exists("./uploads/$userfile_name")) {
?>
<table width="100%" border="1" cellpadding="2" cellspacing="0" class="headertable" bordercolor="#000000">
<tr><td width="100%" colspan="2" class="headercell"><center><b><?php echo $str[upload]; ?></b></center></td></tr>
<tr><td width="5%" class="datacell" align="center" valign="middle"><img src="styles/<?php echo $config[11]; ?>/images/error.gif" border="0"></td><td width="95%" class="datacell"><?php echo $str[uploaderror]; ?>
</td></tr></table>
<?php
} else {
if (is_uploaded_file($userfile)) {
move_uploaded_file($userfile, "./uploads/$userfile_name");
chmod ("./uploads/$userfile_name", 0777);
//$url = "http://$HTTP_SERVER_VARS[HTTP_HOST]".str_replace("index.php", "uploads/$userfile_name", $HTTP_SERVER_VARS[SCRIPT_NAME]);
$url = "http://mein.Webspace.de/test/uploads/$userfile_name";
}
?>
<table width="100%" border="1" cellpadding="2" cellspacing="0" class="headertable" bordercolor="#000000">
<tr><td width="100%" colspan="2" class="headercell"><center><b><?php echo $str[upload]; ?></b></center></td></tr>
<tr><td width="5%" class="datacell" align="center" valign="middle"><img src="styles/<?php echo $config[11]; ?>/images/info.gif" border="0"></td><td width="95%" class="datacell"><?php echo "$str[uploaddone] $url<br><a href=\"javascript:seturl('$url')\">$str[uploaddone2]</a>"; ?>
</td></tr></table>
<?php
}
.....
$path = str_replace("/index.php", "", $PHP_SELF);
$dburl = "http://$HTTP_SERVER_VARS[HTTP_HOST]$path";
Meine Frage nun, ist in diesem Code noch eine Variable drin, die von Conpress schon verwendet wird? bzw. die ich dann eben "unset" setzen müsste?
Noch irgendwelche Ideen? (Da wenn ich das Skript ausserhalb von CPO installiere, funktioniert dieser Upload wunderbar!! Sogar auf dem gleichen Webspace)
Danke cu Ralf
p.s. Falls noch mehr Infos benötigt werden, bitte einfach melden ... bzw. ich füge mal die Datei von der der Code oben ist einfach an?! ...
- Dateianhänge
-
- file.txt
- Habe die Endung von *.php auf *.txt geändert.
- (30.69 KiB) 619-mal heruntergeladen
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Erste Idee: bei WS-FTP mal auf "aktualisieren" klicken... ich habe mich da auch schon öfters verwirren lassen...
Ansonsten ist das sehr strange, da keine Fehlermeldungen von move_uploaded_file ausgegeben werden...
Schreibe mal davor die Zeile
echo "Es wurde wirklich was hochgeladen: ".$userfile_name;
Ich habe so ein bißchen register_globals im Verdacht...
Ansonsten ist das sehr strange, da keine Fehlermeldungen von move_uploaded_file ausgegeben werden...
Schreibe mal davor die Zeile
echo "Es wurde wirklich was hochgeladen: ".$userfile_name;
Ich habe so ein bißchen register_globals im Verdacht...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
OK
zur 1.) nein leider nicht!! Dachte ich auch erst, jedoch ein Aktualisieren und sogar Programm neustart zeigt immer noch nichts an ...
2. ok werde ich machen, jedoch die Variable $userfile_name wird eigentlich ausgegeben, denn die Ausgabe nach einem "eigentlich erfolgreichen" Upload lautet folgendermaßen:
Tja da setzt er ja den Dateinamen ein, jedoch die URL zu der Datei zeigt er nicht an (obwohl ich ja wie weiter oben schon berichtet, sogar den ganzen Pfad zum Ordner angegeben habe und er nur noch den Dateinamen einfügen müsste???!!).
3. wenn du register_globals gerade erwähnst, so sieht meine neue Index.php aus (zumindes mal der start):
liegt hier evtl. das Problem??
cu Ralf
zur 1.) nein leider nicht!! Dachte ich auch erst, jedoch ein Aktualisieren und sogar Programm neustart zeigt immer noch nichts an ...
2. ok werde ich machen, jedoch die Variable $userfile_name wird eigentlich ausgegeben, denn die Ausgabe nach einem "eigentlich erfolgreichen" Upload lautet folgendermaßen:
Die Nachricht müsste eigentlich so aussehen/ lauten (so sieht es ausserhalb von CPO aus!!):Die Datei file.txt wurde hochgeladen! Die URL zu dieser Datei ist
Klicke hier um die URL einzutragen.
der HTML-Quellcode zur "falschen Ausgabe":Die Datei file.txt wurde hochgeladen! Die URL zu dieser Datei ist http://www.meinwebspace.de/pafile/uploads/file.txt
Klicke hier um die URL einzutragen.
Code: Alles auswählen
<td width="82%" class="datacell" valign="top">
<script language="JavaScript">
function seturl(url) {
opener.document.form.dlurl.value = url;
}
</script>
<table width="100%" border="1" cellpadding="2" cellspacing="0" class="headertable" bordercolor="#000000">
<tr><td width="100%" colspan="2" class="headercell"><center><b>Datei hochladen</b></center></td></tr>
<tr><td width="5%" class="datacell" align="center" valign="middle"><img src="styles/grey/images/info.gif" border="0"></td><td width="95%" class="datacell">Die Datei file.txt wurde hochgeladen! Die URL zu dieser Datei ist <br><a href="javascript:seturl('')">Klicke hier um die URL einzutragen.</a> </td></tr></table>
</td></tr></table>
</td>
3. wenn du register_globals gerade erwähnst, so sieht meine neue Index.php aus (zumindes mal der start):
Code: Alles auswählen
define('CPO', true);
require_once('../_include/common.inc.php');
$pagetype = 'index';
require(CPO_BASEDIR.'_include/var_category.php');
require(CPO_BASEDIR.'_include/secure.php');
unset ($db);
if (file_exists("./install.php")) { die("Error: The file install.php (paFileDB installer) still exists on the server! This is a security risk! Please delete the file to continue using paFileDB."); }
/*---------------------
If register_globals is off, we'll extract all of the superglobals so they can be used.
---------------------*/
if (!@ini_get('register_globals')) {
extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SERVER);
}
cu Ralf
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Mit den echo-Ausgaben arbeite ich mich immer ran, um zu sehen, ob bestimmte Bedingungen auch wirklich abgearbeitet werden. Und da der entscheidende Teil ja sonst keine Ausgaben erzeugt...
Kann aber auch an Deiner Variablenbehandlung liegen, die bereits von Conpresso in der common.inc.php durchgeführt wird
Weiß nicht, ob ein doppelter Import da nichts zerschießt...
Kann aber auch an Deiner Variablenbehandlung liegen, die bereits von Conpresso in der common.inc.php durchgeführt wird
Code: Alles auswählen
@import_request_variables('cgp');
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Checker
- Beiträge: 205
- Registriert: 25.08.2005 10:58
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 14 Mal
Habe jetzt mal dieses echo hier eingefügt:
Jedoch es wird NICHTS ausgegeben?!!!
... und jetzt?? möchtest du dir das ganze mal vorOrt anschauen oder soll ich mich an den Support wenden?
Vielen Dank cu Ralf
Code: Alles auswählen
if (is_uploaded_file($userfile)) {
move_uploaded_file($userfile, "./uploads/$userfile_name");
chmod ("./uploads/$userfile_name", 0777);
echo "Es wurde wirklich was hochgeladen: ".$userfile_name;
$url = "http://$HTTP_SERVER_VARS[HTTP_HOST]".str_replace("index.php", "uploads/$userfile_name", $HTTP_SERVER_VARS[SCRIPT_NAME]);
}
... und jetzt?? möchtest du dir das ganze mal vorOrt anschauen oder soll ich mich an den Support wenden?
Vielen Dank cu Ralf
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Versuche es doch mal mit den globalen Variablen:
Code: Alles auswählen
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], "./uploads/".$_FILES['userfile']['name']);
chmod ("./uploads/".$_FILES['userfile']['name'], 0777);
echo "Es wurde wirklich was hochgeladen: ".$_FILES['userfile']['name'];
$url = "http://$HTTP_SERVER_VARS[HTTP_HOST]".str_replace("index.php", "uploads/".$_FILES['userfile']['name'], $HTTP_SERVER_VARS[SCRIPT_NAME]);
}
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle