public function setRevision($script, $version = null)
{
if ($version == null) {
$version = $this->getLatestRevision() + 1;
}
$variables = array();
$builtin = array_keys(Scalr_Scripting_Manager::getScriptingBuiltinVariables());
foreach ((array) $this->getCustomVariables($script) as $var) {
if (!in_array($var, $builtin)) {
$variables[$var] = ucwords(str_replace("_", " ", $var));
}
}
$variables = serialize($variables);
$this->db->Execute('INSERT INTO `script_revisions` SET
scriptid = ?,
revision = ?,
script = ?,
variables = ?,
dtcreated = NOW()
ON DUPLICATE KEY UPDATE
script = ?,
variables = ?,
dtcreated = NOW()
', array($this->id, $version, $script, $variables, $script, $variables));
}