public function getVapplianceVMIInstances($vapplianceid) { $res = array(); $m = new Default_Model_VAviews(); $f1 = new Default_Model_VAviewsFilter(); $f2 = new Default_Model_VAviewsFilter(); $f3 = new Default_Model_VAviewsFilter(); $f1->appid->numequals($vapplianceid); $f2->va_version_published->equals(true); $f3->va_version_archived->equals(false); $m->filter->chain($f1->chain($f2->chain($f3, "AND"), "AND"), "AND"); if (count($m->items) > 0) { foreach ($m->items as $item) { $res[] = $item->getVmiinstanceID(); } } return $res; }
public function vmiAction() { $guid = trim($this->_getParam('guid')); $is_archived = false; $vmis = new Default_Model_VAviews(); $f0 = new Default_Model_VAviewsFilter(); $f0->vmiinstance_guid->equals($guid); $f1 = new Default_Model_VAviewsFilter(); $f1->va_version_published->equals(true); $f2 = new Default_Model_VAviewsFilter(); $f2->va_version_enabled->equals(true); $vmis->filter->chain($f0->chain($f1->chain($f2, "AND"), "AND"), "AND"); $vmis->filter->orderBy('vmiinstance_addedon DESC'); if (count($vmis->items) === 0) { return $this->echo_file(null); } $vmi = $vmis->items[0]; $vmi_scripts = new Default_Model_VMIinstanceContextScripts(); $vmi_scripts->filter->vmiinstanceid->numequals($vmi->vmiinstanceid); $vmi_scripts->filter->orderBy('addedon DESC'); if (count($vmi_scripts->items) === 0) { return $this->echo_file(null); } $vmi_script = $vmi_scripts->items[0]; $cscripts = new Default_Model_ContextScripts(); $cscripts->filter->id->numequals($vmi_script->contextscriptid); if (count($cscripts->items) === 0) { return $this->echo_file(null); } $cscript = $cscripts->items[0]; $url = $cscript->url; $cs_guid = $cscript->guid; $group = 'cs/vapp'; $filename = basename($url); $path = Storage::search($group, $cs_guid, $filename, false); if (!$path) { $path = Storage::searchArchive($group, $guid, $filename); if ($path) { $is_archived = true; } } $this->echo_file($path, $is_archived); }