/**
* Calculate appropriate values for $this->kommandOSArray and retrieve completed array
*
* @access public
* @param mixed $kommand
* @var array $this->kommandOSArray
*/
function &getKommandOSArray($kommand) { // STATIC ARRAY METHOD
print_r("<P>kommand = $kommand<P>");
if ($_ENV['windir']) { // WINDOWS
switch (strtolower($kommand)) {
case 'ls':
$this->kommandOSArray[$kommand]['kommand'] = 'dir /w';
break;
case 'ls-s':
$this->kommandOSArray[$kommand]['kommand'] = 'dir /s';
break;
case 'cd' :
$this->kommandOSArray[$kommand]['kommand'] = 'cd';
break;
case 'mkdir':
$this->kommandOSArray[$kommand]['kommand'] = 'mkdir';
break;
case 'copy':
$this->kommandOSArray[$kommand]['kommand'] = 'copy /pr';
break;
case 'move':
$this->kommandOSArray[$kommand]['kommand'] = 'move /Y';
break;
case 'rmdir':
$this->kommandOSArray[$kommand]['kommand'] = 'del';
break;
case 'rmdir-force':
$this->kommandOSArray[$kommand]['kommand'] = 'deltree';
break;
case 'zip':
$this->kommandOSArray[$kommand]['kommand'] = 'zip';
break;
case 'zip-jF9':
$this->kommandOSArray[$kommand]['kommand'] = 'zip -jF9';
break;
}
} else { // UNIX
switch (strtolower($kommand)) {
case 'ls':
$this->kommandOSArray[$kommand]['kommand'] = 'ls -l';
break;
case 'ls-s':
$this->kommandOSArray[$kommand]['kommand'] = 'ls -s';
break;
case 'cd' :
$this->kommandOSArray[$kommand]['kommand'] = 'cd';
break;
case 'mkdir':
$this->kommandOSArray[$kommand]['kommand'] = 'mkdir';
break;
case 'copy':
$this->kommandOSArray[$kommand]['kommand'] = 'cp -pr';
break;
case 'move':
$this->kommandOSArray[$kommand]['kommand'] = 'mv';
break;
case 'rmdir':
$this->kommandOSArray[$kommand]['kommand'] = 'rm -R';
break;
case 'rmdir-force':
$this->kommandOSArray[$kommand]['kommand'] = 'rm -rf';
break;
case 'zip':
$this->kommandOSArray[$kommand]['kommand'] = 'zip';
break;
case 'zip-jF9':
$this->kommandOSArray[$kommand] = array('kommand' => 'zip -jF9');
break;
default:
print_r("why are you here?<P>");
break;
}
print_r($this->kommandOSArray);
// WALK IT OUT EVERYWHERE IN 'errorRedirect'
array_walk($this->kommandOSArray[$kommand], create_function('$a', 'if (strcmp($a, "errorRedirect") == 0) return "2>&1";'));
}
return $this->kommandOSArray[$kommand];
}
If using:
list($zipKommand, $zipRedirect) = $this->getKommandOSArray('zip-jF9');
The entire method fails, throws array_walk warning and bombs out..
I don't understand this, please someone interpret as to why this is happening.
Thanx
Phil