From 034138e2b785d6e673a21c43f1c3a5fe6170ad7b Mon Sep 17 00:00:00 2001
From: Rainer Weinhold <mom.mom@gmx.net>
Date: Tue, 12 Jul 2005 23:09:40 +0200
Subject: [PATCH] safemode hack fixes #179

darcs-hash:20050712210940-99f23-80c16d578f58f955c9c99f27a1b2a0f3f7eb5d11.gz
---
 inc/io.php | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/inc/io.php b/inc/io.php
index 4e6faefa8..46d218561 100644
--- a/inc/io.php
+++ b/inc/io.php
@@ -131,9 +131,6 @@ function io_makeFileDir($file){
   global $conf;
 
   $dir = dirname($file);
-  if($conf['safemodehack']){
-    $dir = preg_replace('/^'.preg_quote(realpath($conf['ftp']['root']),'/').'/','',$dir);
-  }
   umask($conf['dmask']);
   if(!is_dir($dir)){
     io_mkdir_p($dir) || msg("Creating directory $dir failed",-1);
@@ -155,7 +152,8 @@ function io_mkdir_p($target){
   //recursion
   if (io_mkdir_p(substr($target,0,strrpos($target,'/')))){
     if($conf['safemodehack']){
-      return io_mkdir_ftp($target);
+      $dir = preg_replace('/^'.preg_quote(realpath($conf['ftp']['root']),'/').'/','', $target);
+      return io_mkdir_ftp($dir);
     }else{
       return @mkdir($target,0777); // crawl back up & create dir tree
     }
@@ -189,13 +187,12 @@ function io_mkdir_ftp($dir){
     return false;
   }
 
-//FIXME silence those commands again!
   //create directory
-  $ok = ftp_mkdir($conn, $dir);
+  $ok = @ftp_mkdir($conn, $dir);
   //set permissions (using the directory umask)
-  ftp_site($conn,sprintf("CHMOD %04o %s",(0777 - $conf['dmask']),$dir));
+  @ftp_site($conn,sprintf("CHMOD %04o %s",(0777 - $conf['dmask']),$dir));
 
-  ftp_close($conn);
+  @ftp_close($conn);
   return $ok;
 }
 
-- 
GitLab