foreach ($args as $arg) {
if (!is_array($arg)) {
- $cmd .= ' ' . escapeshellarg($arg);
+ $cmd .= ' ' . MTrackSCM::escapeshellarg($arg);
continue;
}
foreach ($arg as $a) {
- $cmd .= ' ' . escapeshellarg($a);
+ $cmd .= ' ' . MTrackSCM::escapeshellarg($a);
}
}
}
}
-
+ static function escapeshellarg($a) {
+ if (preg_match('/\-[a-z0-9]+$/i', $a)) {
+ return $a; // raw -a
+ }
+ if (preg_match('/\-\-[a-z0-9]+=/i', $a)) {
+ $lr = explode('=', $a,2);
+ return $lr[0].'=' . escapeshellarg($lr[1]); // raw -a
+ }
+ return escapeshellarg($a);
+
+
+ }
public $repopath = '';
/*