Sprache

Preferred language:

Deutsch English

Last X Downloads

Web

all-inkl.com webhosting
seo tools
PageRank for this page

pnSkype


Lindbergh
My status

jimknopf
My status

Charlie
My status

gf
My status
No support via Skype

Downloads 2.0 Statistics Block

Categories:
Categories:25
Files:
Files:157
Downloads:
Downloads:171781
Server:
Server:22.87-Mb

Werbung

Toner

Räder und Rollen

Alu

Druckerpatronen und Toner

Günstige Kundenstopper by Amitola

Blind Date

Bottom
Downloads 2.2 und "externes" pnTemp Problem
  • Posted: 25.06.2008, 12:29
     
    rank:
    Rookie Rookie
    registered:
     September 2006
    Status:
    offline
    last visit:
    26.01.09
    Posts:
    5
    Ich hab ein neues System mit Zikula 1.0 und Downloads 2.2 installiert, und bin dabei der Empfehlung gefolgt, das pnTemp Verzeichnis außerhalb des Webroots zu legen. Alles schön und gut, wird erkannt, in der Downloads Konfiguration steht der absolute Pfad zu den Verzeichnissen und alle Checks zeigen grün.
    Aber:
    Wenn ich versuche eine Datei hochzuladen, schlägt der Upload fehl.
    Ein wenig debugging später ist der Schuldige gefunden:
    move_uploaded_file($file_tmp, pnVarPrepForOS($upload_folder.$upload_name) in pnuserapi.php schlägt fehl, da pnVarPrepForOS den ersten / beim Pfad weglöscht und damit aus dem absoluten Pfad ein relativer wird. Ich schätze mal, "it's a feature, not a bug".

    Mein hotfix war jetzt einfach das pnVarPrepForOS an der Stelle zu löschen, aber das halte ich nicht für eine optimale Lösung. Ist es überhaupt vorgesehen die upload Verzeichnisse außerhalb des Webroot zu legen?





    editiert von: katze, 25.06.2008, 16:15 Uhr
  • Posted: 25.06.2008, 19:10
       
    Lindbergh
    rank:
    Cmods-Team Cmods-Team
    registered:
     July 2005
    Status:
    offline
    last visit:
    03.01.10
    Posts:
    865
    katze Ist es überhaupt vorgesehen die upload Verzeichnisse außerhalb des Webroot zu legen?

    editiert von: katze, 25.06.2008, 16:15 Uhr


    Eigentlich nicht icon_smile In der nächsten Version werde ich das anpassen.

    Gruß

    Lindbergh


    Signatur--------------------------------
    Mein Wunschzettel

    Unaufgeforderte Supportanfragen via Skype werden nicht beantwortet!
  • Posted: 26.01.2009, 14:22
     
    rank:
    Rookie Rookie
    registered:
     September 2006
    Status:
    offline
    last visit:
    26.01.09
    Posts:
    5
    Downloads 2.3 ist raus und ein "externes" pnTemp ist noch nicht möglich. Ich hab meinen quick&dirty hack auf 2.3 angepasst:
    (Datei anhängen funktioniert nicht)
    --- pnadminapi.php.orig 2008-03-10 16:46:48.000000000 +0100
    +++ pnadminapi.php      2009-01-26 14:14:47.000000000 +0100
    @@ -330,7 +330,7 @@
             {
                 $upload_folder = pnModGetVar('downloads','upload_folder');
                 //check if the file is present at our server
    -            $filelocation = pnVarPrepForOS($upload_folder.$url);
    +            $filelocation = $upload_folder . pnVarPrepForOS($url);

                 if (true === file_exists($filelocation))
                 {
    @@ -505,11 +505,11 @@

            // delete the  file
         // if it exsists
    -    $filepointer = is_file(pnVarPrepForOS($upload_folder.$url));
    +    $filepointer = $upload_folder . is_file(pnVarPrepForOS($url));

         if ($filepointer === true)
         {
    -               if(false === unlink(pnVarPrepForOS($upload_folder.$url)))
    +               if(false === $upload_folder . unlink(pnVarPrepForOS($url)))
            {
                    return errorpage(__file__,__line__, _DL_FILEREPLACEFAIL);
            }
    @@ -523,15 +523,15 @@
         foreach($screenshot_extensions as $shotext)
         {
             // if exsists delete screenshot
    -        if(file_exists(pnVarPrepForOS($screenshotlink.$lid.$shotext)))
    +        if(file_exists($screenshotlink.pnVarPrepForOS($lid.$shotext)))
             {
    -            unlink(pnVarPrepForOS($screenshotlink.$lid.$shotext));
    +            unlink($screenshotlink.pnVarPrepForOS($lid.$shotext));
             }

             // if exsists delete thumbnail
    -        if(file_exists(pnVarPrepForOS($screenshotlink.'tn_'.$lid.$shotext)))
    +        if(file_exists($screenshotlink.pnVarPrepForOS('tn_'.$lid.$shotext)))
             {
    -            unlink(pnVarPrepForOS($screenshotlink.'tn_'.$lid.$shotext));
    +            unlink($screenshotlink.pnVarPrepForOS('tn_'.$lid.$shotext));
             }
         }

    @@ -616,11 +616,11 @@

                    // delete the  file
                // if it exsists
    -           $filepointer = is_file(pnVarPrepForOS($upload_folder.$url));
    +           $filepointer = is_file($upload_folder.pnVarPrepForOS($url));

                if ($filepointer === true)
                {
    -                       if(false === unlink(pnVarPrepForOS($upload_folder.$url)))
    +                       if(false === unlink($upload_folder.pnVarPrepForOS($url)))
                    {
                            return errorpage(__file__,__line__, _DL_FILEREPLACEFAIL);
                    }
    @@ -632,15 +632,15 @@
                foreach($screenshot_extensions as $shotext)
                {
                    // if exsists delete screenshot
    -               if(file_exists(pnVarPrepForOS($screenshotlink.$lid.$shotext)))
    +               if(file_exists($screenshotlink.pnVarPrepForOS($lid.$shotext)))
                    {
    -                   unlink(pnVarPrepForOS($screenshotlink.$lid.$shotext));
    +                   unlink($screenshotlink.pnVarPrepForOS($lid.$shotext));
                    }

                    // if exsists delete thumbnail
    -               if(file_exists(pnVarPrepForOS($screenshotlink.'tn_'.$lid.$shotext)))
    +               if(file_exists($screenshotlink.pnVarPrepForOS('tn_'.$lid.$shotext)))
                    {
    -                   unlink(pnVarPrepForOS($screenshotlink.'tn_'.$lid.$shotext));
    +                   unlink($screenshotlink.pnVarPrepForOS('tn_'.$lid.$shotext));
                    }
                }

    --- pnuserapi.php.orig  2008-08-10 14:28:00.000000000 +0200
    +++ pnuserapi.php       2009-01-26 14:14:47.000000000 +0100
    @@ -432,7 +432,7 @@
         {
             // delete the old file
             // if it fails return a message
    -        if(false === unlink(pnVarPrepForOS($upload_folder.$actfile)))
    +        if(false === unlink($upload_folder . pnVarPrepForOS($actfile)))
             {
               return errorpage(__file__,__line__, _DL_FILEREPLACEFAIL);
             }
    @@ -444,7 +444,7 @@
         // we hand it out to the user
         $upload_name = $downloadid.$file_extension;

    -    if(false === move_uploaded_file($file_tmp, pnVarPrepForOS($upload_folder.$upload_name)))
    +    if(false === move_uploaded_file($file_tmp, $upload_folder . pnVarPrepForOS($upload_name)))
         {
           return false;
         }
    @@ -531,15 +531,15 @@
             foreach($screenshot_extensions as $shotext)
             {
                 // if exsists delete screenshot
    -            if(file_exists(pnVarPrepForOS($screenshotlink.$lid.$shotext)))
    +            if(file_exists($screenshotlink . pnVarPrepForOS($lid.$shotext)))
                 {
    -                unlink(pnVarPrepForOS($screenshotlink.$lid.$shotext));
    +                unlink($screenshotlink . pnVarPrepForOS($lid.$shotext));
                 }

                 // if exsists delete thumbnail
    -            if(file_exists(pnVarPrepForOS($screenshotlink. 'tn_' .$lid.$shotext)))
    +            if(file_exists($screenshotlink . pnVarPrepForOS('tn_' .$lid.$shotext)))
                 {
    -                unlink(pnVarPrepForOS($screenshotlink. 'tn_' .$lid.$shotext));
    +                unlink($screenshotlink . pnVarPrepForOS('tn_' .$lid.$shotext));
                 }
             }
         }
    @@ -628,11 +628,11 @@

         // create filename for the screenshot tempfile
            $ext = strtolower( eregi_replace( '.*\.', '', $filenamesc ) );
    -       $filenamesc =  pnVarPrepForOS($screenshotlink . $lid . '.' . $ext);
    +       $filenamesc$screenshotlink . pnVarPrepForOS($lid . '.' . $ext);

         // create filename for the thumbnail tempfile
         $ext = strtolower( eregi_replace( '.*\.', '', $filenametn ) );
    -    $filenametn =  pnVarPrepForOS($screenshotlink . 'tn_'. $lid) ;
    +    $filenametn$screenshotlink . pnVarPrepForOS('tn_'. $lid) ;

         //--> move screenshot
         move_uploaded_file($tempnamesc,$filenamesc);
    @@ -1411,14 +1411,14 @@
            //check if screenshot and thumbnail exsists
            foreach($screenshot_extensions as $ext)
            {
    -               if((true === is_file(pnVarPrepForOS($screenshotlink.$lid.$ext))))
    +               if((true === is_file($screenshotlink . pnVarPrepForOS($lid.$ext))))
                    {
    -                       $screenshot = pnVarPrepForOS($screenshotlink.$lid.$ext);
    +                       $screenshot = $screenshotlink . pnVarPrepForOS($lid.$ext);
                    }

    -               if((true === is_file(pnVarPrepForOS($screenshotlink."tn_".$lid. $ext))))
    +               if((true === is_file($screenshotlink . pnVarPrepForOS("tn_".$lid. $ext))))
                    {
    -                       $thumbnail  = pnVarPrepForOS($screenshotlink."tn_".$lid.$ext);
    +                       $thumbnail  = $screenshotlink . pnVarPrepForOS("tn_".$lid.$ext);
                    }

                    $image = array('screenshot' => $screenshot, 'thumbnail' => $thumbnail);
    @@ -1993,7 +1993,7 @@

            $captcha_temp_path = pnModGetVar('downloads', 'captcha_cache');

    -       $mycaptcha = pnVarPrepForOS($captcha_temp_path.'cap_'.$img.'.jpg');
    +       $mycaptcha = $captcha_temp_path . pnVarPrepForOS('cap_'.$img.'.jpg');

            if (!is_file($mycaptcha))
            {
    @@ -2027,15 +2027,16 @@
            // captcha life time is limited to 15s
            $captcha_expires_after = 15;

    -       $tmp_dir = dir(pnVarPrepForOS($captcha_temp_path));
    +       // $tmp_dir = dir(pnVarPrepForOS($captcha_temp_path));
    +       $tmp_dir = dir($captcha_temp_path);
            // clean up
            while(false !==($entry = $tmp_dir->read()))
            {
    -               if(mktime() - filemtime(pnVarPrepForOS($captcha_temp_path.$entry) ) > $captcha_expires_after)
    +               if(mktime() - filemtime($captcha_temp_path.pnVarPrepForOS($entry) ) > $captcha_expires_after)
                    {
                            if ($entry != '.' && $entry != '..' && $entry != '.htaccess')
                            {
    -                               unlink(pnVarPrepForOS($captcha_temp_path.$entry));
    +                               unlink($captcha_temp_path.pnVarPrepForOS($entry));
                            }
                    }
            }
    @@ -2105,7 +2106,7 @@
                    $upload_folder = pnModGetVar('downloads','upload_folder');

                    // prepare the path
    -               $myfile['url'] = pnVarPrepForOS($upload_folder.$myfile['url']);
    +               $myfile['url'] = $upload_folder . pnVarPrepForOS($myfile['url']);

                    // check for exsitance
                    $filepointer = is_file($myfile['url']);




    editiert von: katze, 26.01.2009, 15:28 Uhr
  • Posted: 30.01.2009, 20:39
       
    Lindbergh
    rank:
    Cmods-Team Cmods-Team
    registered:
     July 2005
    Status:
    offline
    last visit:
    03.01.10
    Posts:
    865
    Schuldig im Sinne der Anklage icon_rolleyes Ich habs schlichtweg vergessen.
    Würdest du mir die geänderten Dateien zukommen lassen?

    Lindbergh@cmods-dev.de

    Danke & Gruß

    Signatur--------------------------------
    Mein Wunschzettel

    Unaufgeforderte Supportanfragen via Skype werden nicht beantwortet!

File Attachments

Download file  externes pnTemp patch   File Size:  1.66-Kb