public function execute()
{
global $CFG, $DB;
switch ($CFG->dbtype) {
case 'mysqli':
$portoption = '';
if (!empty($CFG->dboptions['dbport'])) {
$portoption = '-P ' . $CFG->dboptions['dbport'];
}
passthru("mysqldump --lock-tables=false -h {$CFG->dbhost} -u {$CFG->dbuser} --password='{$CFG->dbpass}' {$portoption} {$CFG->dbname}");
break;
case 'pgsql':
$portoption = '';
if (!empty($CFG->dboptions['dbport'])) {
$portoption = '-p ' . $CFG->dboptions['dbport'];
}
putenv('PGPASSWORD=' . $CFG->dbpass);
passthru("pg_dump -h {$CFG->dbhost} -U {$CFG->dbuser} {$portoption} {$CFG->dbname}");
break;
default:
cli_error("Sorry, database type '{$CFG->dbtype}' is not supported yet. Feel free to contribute!");
break;
}
}