* follow-up to r57728 switched to use global wfShellExec function
authorMichael Dale <dale@users.mediawiki.org>
Wed, 14 Oct 2009 21:51:36 +0000 (21:51 +0000)
committerMichael Dale <dale@users.mediawiki.org>
Wed, 14 Oct 2009 21:51:36 +0000 (21:51 +0000)
includes/GlobalFunctions.php
includes/upload/UploadBase.php

index f762ec0..c23a64c 100644 (file)
@@ -3346,55 +3346,3 @@ function wfBCP47( $code ) {
        $langCode = implode ( '-' , $codeBCP );
        return $langCode;
 }
-
-/* Fixes shell_exec problems on Windows
- * From http://www.php.net/manual/de/function.shell-exec.php#52826 via bug 21140
- */
-function wfRunExternal($cmd,&$code) {
-       $descriptorspec = array(
-               0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
-               1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
-               2 => array("pipe", "w") // stderr is a file to write to
-       );
-       
-       $pipes= array();
-       $process = proc_open($cmd, $descriptorspec, $pipes);
-       
-       $output= "";
-       
-       if (!is_resource($process)) return false;
-       
-       #close child's input imidiately
-       fclose($pipes[0]);
-       
-       stream_set_blocking($pipes[1],false);
-       stream_set_blocking($pipes[2],false);
-       
-       $todo= array($pipes[1],$pipes[2]);
-       
-       while( true ) {
-               $read= array(); 
-               if( !feof($pipes[1]) ) $read[]= $pipes[1];
-               if( !feof($pipes[2]) ) $read[]= $pipes[2];
-               
-               if (!$read) break;
-               
-               $ready= stream_select($read, $write=NULL, $ex= NULL, 2);
-               
-               if ($ready === false) {
-                       break; #should never happen - something died
-               }
-               
-               foreach ($read as $r) {
-                       $s= fread($r,1024);
-                       $output.= $s;
-               }
-       }
-       
-       fclose($pipes[1]);
-       fclose($pipes[2]);
-       
-       $code= proc_close($process);
-       
-       return $output;
-}
index 7926861..1e33e79 100644 (file)
@@ -813,11 +813,7 @@ abstract class UploadBase {
                #      that does not seem to be worth the pain.
                #      Ask me (Duesentrieb) about it if it's ever needed.
                $output = array();
-               if ( wfIsWindows() ) {
-                       $output = wfRunExternal($command, $exitCode);
-               } else {
-                       exec( "$command 2>&1", $output, $exitCode );
-               }
+               $output = wfShellExec($command, $exitCode);
 
 
                # map exit code to AV_xxx constants.