myvesta/func/main.php

66 lines
1.9 KiB
PHP

<?php
$myvesta_current_user=exec('whoami', $myvesta_output, $myvesta_return_var);
if ($myvesta_current_user != 'root') {echo "ERROR: You must be root to execute this script\n"; exit(1);}
$myvesta_exit_on_error=true;
define('MYVESTA_ERROR_PERMISSION_DENIED', 1);
define('MYVESTA_ERROR_MISSING_ARGUMENTS', 2);
define('MYVESTA_ERROR_FILE_DOES_NOT_EXISTS', 3);
define('MYVESTA_ERROR_STRING_NOT_FOUND', 4);
function myvesta_throw_error($code, $message) {
global $myvesta_exit_on_error;
echo "ERROR: ".$message."\n";
if ($myvesta_exit_on_error) myvesta_exit($code);
return $code;
}
function myvesta_fix_backslashes($s) {
$s=str_replace("\\n", "\n", $s);
$s=str_replace("\\r", "\r", $s);
$s=str_replace("\\t", "\t", $s);
return $s;
}
function myvesta_check_args ($requried_arguments, $arguments) {
global $argv;
$argument_counter=count($argv);
$argument_counter--;
$argv[0]=str_replace('/usr/local/vesta/bin/', '', $argv[0]);
// echo "-------------------- ".$argv[0]." --------------------\n";
if ($argument_counter<$requried_arguments) {
$arguments=str_replace(" ", "' '", $arguments);
$arguments="'".$arguments."'";
return myvesta_throw_error(MYVESTA_ERROR_MISSING_ARGUMENTS, "Usage: $command $arguments");
}
$argument_arr=explode(" ", $arguments);
$i=1;
foreach ($argument_arr as $argument) {
$GLOBALS[$argument]=myvesta_fix_backslashes($argv[$i]);
$i++;
}
}
function myvesta_fix_args() {
global $argv;
$i=0;
foreach ($argv as $argument) {
if ($i==0) {$i++; continue;}
$argv[$i]=myvesta_fix_backslashes($argv[$i]);
$i++;
}
}
function myvesta_exit($code) {
global $argv;
// echo "==================== ".$argv[0].": ".$code." ====================\n";
exit($code);
}
function myvesta_test_func () {
$args=func_get_args();
echo "You said: ";
print_r ($args);
echo "\n";
}