Seite 7 von 14

Verfasst: Mi 24. Mai 2006, 11:51
von Dinkel
Du meinst quasi, dass die User auswählen können, in welchen Ordner die Datei soll?

Verfasst: Mi 24. Mai 2006, 11:54
von Sanel
genau so ist es.habe auf meiner seite mehrere themengebiete :

histologie , hämatologie , klinische chemie etc..und jedes thema hat mehrere unterthemen.wollte halt das user ihre referate hochladen können für andere user.

eventuell wäre es super wenn nach maximal xyz einträgen eine blätterfunktion für die nächsten downloads erscheint.

hab jetzt mit den ganzen downloadmodulen getestet aber keines sagt mir so richtig zu.

Verfasst: Mi 24. Mai 2006, 12:26
von Dinkel
dem kann ich mich mal annehmen, hab es auf meine ToDo-Liste geschrieben

Verfasst: Mi 24. Mai 2006, 13:07
von Dinkel
So, neue Version 1.3 is mal raus. Gefixed wurde, dass Ordner im eigentlichen Ordner auch in der Liste angezeigt wurden und es gab ein Problem mit einer if-Schleife und divs. Ist gefixed, aktuelle Verison in der SIG

Probleme bei Konfiguration im Backend

Verfasst: Do 8. Jun 2006, 21:32
von r384580
Hallo Dinkel

ich bekomme in der neusten Version(1.3) deines Moduls folgenden Fehler in der Konfiguration:
Parse error: syntax error, unexpected T_VARIABLE, expecting '}' in c:\wamp\www\contenido\contenido\includes\include.pretplcfg_edit_form.php(123) : eval()'d code on line 1
Ich habe das Modul als XML runtergeladen und in meine Contenido Version 4.6.8 importiert. Habe Input Code schon in eigene Datei kopiert und ohne Contenido angezeigt. Das klappte wunderbar. Ich wüsste nichts mehr.
???

Verfasst: Fr 9. Jun 2006, 09:55
von Dinkel
hast Du vielleicht noch ein anderes (eigenes) Modul mit eingebaut? Vielleicht liegt der Fehler ja auch wo anders ;)

Probleme bei Konfiguration im Backend

Verfasst: Sa 10. Jun 2006, 20:01
von r384580
Eigentlich nicht, in dem Template habe ich nur die Navigation und das UP&Downloadmodul, in anderen Templates gibt es keinen Fehler.
Gibt es für das Backend auch so etwas wie ein Debug Modus?

Verfasst: Do 22. Jun 2006, 08:55
von rene04
hallo,

also ich hatte anfangs auch massig fehler, bis ich gemerkt habe das alle felder in der konfiguration richtig ausgefüllt sein müssen.

ich habe das nun etwas erweitert. ein zweites eingabefeld dazu in welches eine kundennumer eingetragen wird. beim upload wird dann ein ordner mit dem namen der kundennummer angelegt und die datei darin abgespeichert.

nun mag ich aber das kdnr-feld validieren. es muss eine zahl mit mindestens 4 ziffern und max 5 ziffern enthalten sein. wie kaönnte ich das realisieren?

Code: Alles auswählen

<?
$buttonstyle1 = "width:250px;height:20px;"; // Button 1
$buttonstyle2 = "width:100px;height:20px;margin-left:10px;"; // Button 2
$headcolor = "background-color:#eeeeee;padding:2px;"; // Tabellenkopf

$username="";
$adminname="";

function cut($text, $length) {
        $dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
        $enc = array(""", "'", "\", """, "'", "<", ">");
        $text = str_replace($enc, $dec, $text);
        if (strlen($text) > $length) {
                $text = substr($text, 0, ($length-3))."...";
        }
        $text = str_replace($dec, $enc, $text);
        return $text;
}

$path="upload/CMS_VALUE[4]";
$username=$auth->auth['uname'];

$delpool="CMS_VALUE[5]";
$treffer_del = substr_count($delpool, $username);
if ($treffer_del==1) {
	$deluser=$username;
}

$adminpool="CMS_VALUE[1]";
$treffer_admin = substr_count($adminpool, $username);
if ($treffer_admin==1) {
	$adminname=$username;
}

if ($username==$adminname) {
	$max_filesize_mb=CMS_VALUE[3];
} else {
	$max_filesize_mb=CMS_VALUE[2];
}

$max_filesize=bcmul($max_filesize_mb,1000000);

function parseByteSize($size,$digits=2,$dir=false){
        $kb=1024; $mb=1024*$kb; $gb=1024*$mb; $tb=1024*$gb;
        if(($size==0)&&($dir)){return "Empty";}
        else if($size<$kb){return $size." Bytes";}
        else if($size<$mb){return round($size/$kb,$digits)." KB";}
        else if($size<$gb){return round($size/$mb,$digits)." MB";}
        else if($size<$tb){return round($size/$gb,$digits)." GB";}
        else{return round($size/$tb,$digits)." TB";}
}


if ($step=="delete" && $username=="$adminname") {
      unlink($path.$filename);
}


if (isset($_POST['uploadfile'])) {
	$fileext = $_FILES['myfile']['type'];
	$filename = $_FILES['myfile']['name'];
   	$filesize = $_FILES['myfile']['size'];
	$filetemp = $_FILES['myfile']['tmp_name'];
	if ($filesize > $max_filesize) {
		$error = "<b>Die Datei ist mit $filesize Bytes größer als $max_filesize_mb MB.</b>";
	}
	if ($error == "") {
         	if (!file_exists($path.$kdnr."/"))
                {
                  mkdir($path."$kdnr"."/",0777);
                }
                move_uploaded_file($filetemp, $path.$kdnr."/"."$filename");
         	chmod($path."$kdnr"."/"."$filename",0644);
         	echo "<font color=red><b>Die Datei wurde erfolgreich hochgeladen.</b></font><br>";
        	} else {
 		echo "$error";
        	}
}

if (CMS_VALUE[8]==1 || ($username!="" && $username!="nobody")) {
	echo "<div style=\"width:610px;\" id=\"upload\"><form name=\"uploadform\" method=\"post\" action=\"$PHP_SELF?idcat=$idcat\" enctype=\"multipart/form-data\">
         <div><table>
         <tr><td>Kundennummer:</td><td>Datei:</td></tr>
	 <tr><td><input type=\"text\" name=\"kdnr\" style=\"width:110px;\" maxlength=5></td><td><input type=\"file\" name=\"myfile\" class=\"button\"><input type=\"submit\" name=\"uploadfile\" value=\"hochladen\" class=\"button\"></td></tr></table></div>
         </form>
         <div style=\"margin-bottom:5px;\"><strong>Bitte nur virengescannte Dateien hochladen!</strong></div>";
} else {
	echo "<div>";
}

$show_list=CMS_VALUE[7];
if ($show_list==1 || $username==$adminname) {
	$handle=opendir($path);
         while ($file = readdir($handle)){
	        if ($file!='.' && $file!='..' && $file!='/') {
	                if (!@opendir($path.$file)==true) {
		        	$file_list[] = $file;

	                }
	        }
         }
	closedir($handle);
         @sort($file_list);

	echo "<table align=\"left\" width=\"600px\" cellspacing=\"1\" border=\"1\" cellpadding=\"1\" style=\"border-collapse: collapse; background:#bbbbbb;\">
	<tr style=\"$headcolor\">
	<td style=\"$headcolor\">Dateiname</td>
	<td style=\"$headcolor\">Größe</td>
	<td style=\"$headcolor\">Aktion</td>";

	if ($username==$deluser) echo "<td><span style=\"color:#ff0000;\">löschen</span></td>";

	echo "</tr>";
         for ($count=0;$file_list[$count]!="";$count++) {
		echo "<tr style=\"background-color:#ffffff;\" onmouseover=\"this.style.backgroundColor = '#dddddd'\" onmouseout=\"this.style.backgroundColor = '#ffffff'\">
		<td style=\"padding:2px;\"><font title='$file_list[$count]'>".cut($file_list[$count],CMS_VALUE[6])."</font></td>
		<td style=\"padding:2px;\">".parseByteSize(@filesize($path.$file_list[$count]),2,false)."</td>
		<td style=\"padding:2px;\"><a href='".$path."$file_list[$count]' target='_blank'><nobr>öffnen | speichern</nobr></a></td>";

	         if ($username==$deluser) {
	                  echo "<td><a href='$PHP_SELF?idcat=$idcat&step=delete&filename=$file_list[$count]' target='_self'>löschen</a></td>";
	         }
	         echo "</tr>";
	}
	echo "</table></div><br clear=\"all\">";
} else {
	echo "</div><br clear=\"all\">";
}
?>
gruesse rene

Verfasst: Do 22. Jun 2006, 12:14
von php0815
@rene04 Ich habe auch ein uploadmudul geschrieben mit dem Verzichniss kdnr automatisch anlegen habe das ganze über die Newsletter anmeldung realisiert.
Wenn man sich beim Newsletter anmeldet bekommt man mit dem Password auch eine kunr mitgeschickt.

Wenn du willst kann ich den Code hier posten

Verfasst: Do 22. Jun 2006, 12:23
von rene04
mir geht es rein um die validierung des kundenfeldes. die kundennummer hat jeder kunde von uns von unserem vertrieb bekommen.

gruesse rene

Verfasst: Do 22. Jun 2006, 13:13
von php0815
Wenn du die Kunr in einer DB hast mußt du sie mit der idfrontenduser aus Tabelle con_frontendusers verknüpfen.
Und dem eingebefeld "readonly disable" zuweisen dann kann der Kunde seine Nummer nach dem einlogen nicht verändern.

Login abfrage:

Code: Alles auswählen

$frontendusers = new FrontendUserCollection;
$frontendusers->select("idclient = '$client' AND username = '".urlencode($auth->auth[uname])."'");
if ($frontenduser = $frontendusers->next()) {
   $idfrontend    = $frontenduser->get("idfrontenduser");
 // Kundennummer ermitteln
      $db2 = new DB_Contenido;
      $sql = "SELECT
                ku_nr
              FROM
                ".$cfg['tab']['frontdatadress']."
              WHERE
                idfrontenduser = $idfrontend";

      $db2->query($sql);
        if ($db2->next_record()){
            $ku_nr = $db2->f("ku_nr");
        }
Weiß nicht ob dir das weiter hilft aber mit einem Login kannst du feststellen wer der Kunde ist.
oder du vergibst noch ein Password zu der Kunr

Verfasst: Do 22. Jun 2006, 13:21
von rene04
ne, hilft leider net viel weiter da ich die kunden nicht in ner db habe.

gruesse rene

Verfasst: Di 27. Jun 2006, 13:35
von derSteffen
Hallo,

ich habe das Modul unter 4.6.4 installiert. Klappt auch alles wunderbar, aber ich kann im Backend keinen Upload-Ordner bestimmen, da keiner angezeigt wird! Woran kann das liegen?

Vielen Dank

Verfasst: Di 27. Jun 2006, 13:40
von Dinkel
das Skript greift automatisch auf den Ordner "upload" zu. Schau mal per Dateiverwaltung, ob da Unterordner angelegt sind und wenn ja, dann schau noch per FTP, ob die chmod 777 haben. Dann sollte eigentlich in der Konfiguration des Moduls die Auswahl eines Ordners per Drop-Down-Auswahl möglich sein.

Verfasst: Di 27. Jun 2006, 14:54
von derSteffen
Dinkel hat geschrieben:das Skript greift automatisch auf den Ordner "upload" zu. Schau mal per Dateiverwaltung, ob da Unterordner angelegt sind und wenn ja, dann schau noch per FTP, ob die chmod 777 haben. Dann sollte eigentlich in der Konfiguration des Moduls die Auswahl eines Ordners per Drop-Down-Auswahl möglich sein.
Mhm, daran liegt es auch nicht. Ich habe zwar Unterordner im upload und auch Unter-Unterordner, es sind aber alle mit CHMOD 777 gekennzeichnet. Wenn ich das Modul als Tempelate und dann Vorkonnfiguration das erstemal aufrufe, sind auch alle felder belegt, z.B.
Administratoren (Frontend-User, mit Komma trennen): $C12CMS_VALUE[1]
Mhm