$error) {
if ( $i == 0 ) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
} else {
exec ('mktemp -d', $output, $return_var);
$tmpdir = $output[0];
unset($output);
// Create package
$pkg = "TEMPLATE=".$v_template."\n";
$pkg .= "WEB_DOMAINS=".$v_web_domains."\n";
$pkg .= "WEB_ALIASES=".$v_web_aliases."\n";
$pkg .= "DNS_DOMAINS=".$v_dns_domains."\n";
$pkg .= "DNS_RECORDS=".$v_dns_records."\n";
$pkg .= "MAIL_DOMAINS=".$v_mail_domains."\n";
$pkg .= "MAIL_ACCOUNTS=".$v_mail_accounts."\n";
$pkg .= "DATABASES=".$v_databases."\n";
$pkg .= "CRON_JOBS=".$v_cron_jobs."\n";
$pkg .= "DISK_QUOTA=".$v_disk_quota."\n";
$pkg .= "BANDWIDTH=".$v_bandwidth."\n";
$pkg .= "NS=".$v_ns."\n";
$pkg .= "SHELL=".$v_shell."\n";
$pkg .= "BACKUPS=".$v_backups."\n";
$pkg .= "TIME=".$v_time."\n";
$pkg .= "DATE=".$v_date."\n";
// Write package
$fp = fopen($tmpdir."/".$_POST['v_package'].".pkg", 'w');
fwrite($fp, $pkg);
fclose($fp);
// Add new package
if (empty($_SESSION['error_msg'])) {
exec (VESTA_CMD."v_add_user_package ".$tmpdir." ".$v_package, $output, $return_var);
if ($return_var != 0) {
$error = implode('
', $output);
if (empty($error)) $error = 'Error: vesta did not return any output.';
$_SESSION['error_msg'] = $error;
}
unset($output);
}
// Remove tmpdir
exec ('rm -rf '.$tmpdir, $output, $return_var);
unset($output);
// Check output
if (empty($_SESSION['error_msg'])) {
$_SESSION['ok_msg'] = "OK: package ".$_POST['v_package']." has been created successfully.";
unset($v_package);
}
}
}
exec (VESTA_CMD."v_list_web_templates json", $output, $return_var);
check_error($return_var);
$templates = json_decode(implode('', $output), true);
unset($output);
exec (VESTA_CMD."v_list_sys_shells json", $output, $return_var);
check_error($return_var);
$shells = json_decode(implode('', $output), true);
unset($output);
// Set default values
if (empty($v_template)) $v_template = 'default';
if (empty($v_shell)) $v_shell = 'nologin';
if (empty($v_web_domains)) $v_web_domains = "'0'";
if (empty($v_web_aliases)) $v_web_aliases = "'0'";
if (empty($v_dns_domains)) $v_dns_domains = "'0'";
if (empty($v_dns_records)) $v_dns_records = "'0'";
if (empty($v_mail_domains)) $v_mail_domains = "'0'";
if (empty($v_mail_accounts)) $v_mail_accounts = "'0'";
if (empty($v_databases)) $v_databases = "'0'";
if (empty($v_cron_jobs)) $v_cron_jobs = "'0'";
if (empty($v_backups)) $v_backups = "'0'";
if (empty($v_disk_quota)) $v_disk_quota = "'0'";
if (empty($v_bandwidth)) $v_bandwidth = "'0'";
if (empty($v_ns1)) $v_ns1 = 'ns1.example.ltd';
if (empty($v_ns2)) $v_ns2 = 'ns2.example.ltd';
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_add_package.html');
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_package.html');
unset($_SESSION['error_msg']);
unset($_SESSION['ok_msg']);
}
// Footer
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');