public function save(Default_Model_ContextScript $value) { global $application; $data = array(); if (!isnull($value->getId())) { $data['id'] = $value->getId(); } if (!isnull($value->getName())) { $data['name'] = $value->getName(); } if (!isnull($value->getTitle())) { $data['title'] = $value->getTitle(); } if (!isnull($value->getDescription())) { $data['description'] = $value->getDescription(); } if (!isnull($value->getUrl())) { $data['url'] = $value->getUrl(); } if (!isnull($value->getFormatID())) { $data['formatid'] = $value->getFormatID(); } if (!isnull($value->getChecksum())) { $data['checksum'] = $value->getChecksum(); } if (!isnull($value->getChecksumfunc())) { $data['checksumfunc'] = $value->getChecksumfunc(); } if (!isnull($value->getSize())) { $data['size'] = $value->getSize(); } if (!isnull($value->getGuID())) { $data['guid'] = $value->getGuID(); } if (!isnull($value->getAddedByID())) { $data['addedby'] = $value->getAddedByID(); } if (!isnull($value->getAddedOn())) { $data['addedon'] = $value->getAddedOn(); } if (!isnull($value->getLastupdatedByID())) { $data['lastupdatedby'] = $value->getLastupdatedByID(); } if (!isnull($value->getLastupdatedOn())) { $data['lastupdatedon'] = $value->getLastupdatedOn(); } $q1 = 'id = ?'; $q2 = $value->id; if (null === ($id = $value->id)) { unset($data['id']); $value->id = $this->getDbTable()->insert($data); } else { $s = $this->getDbTable()->getAdapter()->quoteInto($q1, $q2); $this->getDbTable()->update($data, $s); } }
private static function addScriptData($data, $vmiinstanceid, $user, $usetransaction = true) { try { if ($usetransaction) { db()->beginTransaction(); } //create context script entry $script = new Default_Model_ContextScript(); //$script->id = -1; $script->name = trim($data["name"]); $script->url = trim($data["url"]); $script->formatid = intval($data["formatid"]); $script->checksum = $data["md5"]; $script->checksumfunc = "md5"; $script->size = $data["size"]; $script->addedbyid = $user->id; $script->save(); $script = VapplianceStorage::store($script, $vmiinstanceid, $user->id); self::relateScriptToVmiInstance($vmiinstanceid, $script, $user, false); if ($usetransaction) { db()->commit(); } } catch (Exception $ex) { if ($usetransaction) { db()->rollback(); return $ex->getMessage(); } else { throw $ex; } } return $script; }
public function createContextScript($contextscriptxml) { //create new context script $contextscript = new Default_Model_ContextScript(); if ($contextscriptxml->xpath("./virtualization:url") > 0) { $csp = $contextscriptxml->xpath("./virtualization:url"); $csp = trim(strval($csp[0])); $contextscript->url = $csp; } if (!$contextscript->url || trim($contextscript->url) === "") { return "Url is mandatory for contextualization scripts"; } if ($contextscriptxml->xpath("./virtualization:checksum") > 0) { $csp = $contextscriptxml->xpath("./virtualization:checksum"); $csp = $csp[0]; $hashtype = trim(strval($csp->attributes()->hashtype)); if ($hashtype === "") { $hashtype = "md5"; } $contextscript->checksumfunc = $hashtype; $csp = trim(strval($csp)); $contextscript->checksum = $csp; } if (trim($contextscript->checksum) === "") { return "Cannot create contextscript without checksum"; } if ($contextscriptxml->xpath("./virtualization:format") > 0) { $csp = $contextscriptxml->xpath("./virtualization:format"); $csp = $csp[0]; $csp = trim(strval($csp->attributes()->id)); if ($csp === "" || is_numeric($csp) && intval($csp) <= 0) { $csp = "1"; } $contextscript->formatid = intval($csp); } if ($contextscriptxml->xpath("./virtualization:name") > 0) { $csp = $contextscriptxml->xpath("./virtualization:name"); $csp = trim(strval($csp[0])); $contextscript->name = $csp; } else { $contextscript->name = ""; } if ($contextscriptxml->xpath("./virtualization:title") > 0) { $csp = $contextscriptxml->xpath("./virtualization:title"); $csp = trim(strval($csp[0])); $contextscript->title = $csp; } if ($contextscriptxml->xpath("./virtualization:size") > 0) { $csp = $contextscriptxml->xpath("./virtualization:size"); $csp = trim(strval($csp[0])); $contextscript->size = $csp; } try { $contextscript->save(); } catch (Exception $ex) { return $ex->getMessage(); } return $contextscript; }