safeRequire() public static method

Require a file from within a Phar
public static safeRequire ( string $file, array $previous_metadata = [] ) : boolean
$file string
$previous_metadata array
return boolean
Example #1
0
 /**
  * Automatic script execution
  *
  * @param array $autoRun
  * @return mixed
  */
 protected function autoRunScript(array $autoRun)
 {
     $ret = null;
     // Get a unique temporary file
     do {
         $script = \tempnam(ROOT . DIRECTORY_SEPARATOR . 'tmp', 'update-script-');
     } while (\file_exists($script));
     // What kind of autoRun script is it?
     switch ($autoRun['type']) {
         case 'php':
             \file_put_contents($script . '.php', Base64::decode($autoRun['data']));
             $ret = Sandbox::safeRequire($script . '.php');
             \unlink($script . '.php');
             break;
         case 'sh':
             \file_put_contents($script . '.sh', Base64::decode($autoRun['data']));
             $ret = \shell_exec($script . '.sh');
             \unlink($script . '.sh');
             break;
         case 'pgsql':
         case 'mysql':
             \file_put_contents($script . '.' . $autoRun['type'], Base64::decode($autoRun['data']));
             $ret = Sandbox::runSQLFile($script . '.' . $autoRun['type'], $autoRun['type']);
             \unlink($script . '.' . $autoRun['type']);
             break;
     }
     return $ret;
 }