view->bootisolist = $bootisomapper->fetchAll();
$this->view->prebootlist = array();
foreach ($this->view->bootisolist as $bootiso){
$this->view->prebootlist[$bootiso->getID()] = $prebootmapper->find($bootiso->getPrebootID())->getTitle();
$bootiso->setGroupID("[".$bootiso->getGroupID()."] ".$groupmapper->find($bootiso->getGroupID())->getTitle());
$bootiso->setMembershipID("[".$bootiso->getMembershipID()."] ".$personmapper->find($membershipmapper->find($bootiso->getMembershipID())->getPersonID())->getFirstname());
}
}
public function downloadbootisoAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$prebootID = $this->_request->getParam('prebootID');
$serialnumber = $this->_request->getParam('serialnumber');
if(is_dir("../resources/bootmedium/$prebootID/") && is_numeric($prebootID)){
// header('Content-Type: application/x-gzip');
// $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment';
// header('Content-Disposition: ' . $content_disp . '; filename="preboot.tgz"');
// header('Pragma: no-cache');
// header('Expires: 0');
chdir("../resources/bootmedium/$prebootID/preboot/");
$prebootname = array_pop(scandir("./"));
print_a($prebootname);
$fp = fopen($prebootname."/build/rootfs/tmp/proobootisoSerial.txt", "w");
fputs ($fp, $serialnumber);
fclose ($fp);
// create the gzipped tarfile.
passthru("tar -cvz ./");
}
}
public function createbootisoAction()
{
$groupmapper = new Application_Model_GroupMapper();
$prebootmapper = new Application_Model_PreBootMapper();
if (!isset($_POST["createbootiso"])){
$createbootisoForm = new dev_Form_BootisoCreate(array('grouplist' => $groupmapper->fetchAll(),'prebootlist' => $prebootmapper->fetchAll()));
} else {
$createbootisoForm = new dev_Form_BootisoCreate(array('grouplist' => $groupmapper->fetchAll(),'prebootlist' => $prebootmapper->fetchAll()),$_POST);
if ($createbootisoForm->isValid($_POST)) {
$bootiso = new Application_Model_BootIso($_POST);
$bootiso->setMembershipID('1');
$bootisomapper = new Application_Model_BootIsoMapper();
$bootiso->setCreated(time());
$prebootID = $bootiso->getPrebootID();
try {
$bootisoID = $bootisomapper->save($bootiso);
copy("../resources/bootmedium/$prebootID/preboot.zip", "../resources/bootmedium/$prebootID/$bootisoID".".zip");
$zip = new ZipArchive();
$res = $zip->open("../resources/bootmedium/$prebootID/$bootisoID".".zip");
if($res === true){
$rootdir = $zip->getNameIndex(0);
$zip->addFromString($rootdir."build/rootfs/tmp/serial", $bootiso->getSerialnumber());
$zip->close();
}
}catch(Zend_Exception $e)
{
echo "Caught exception: " . get_class($e) . "
";
echo "Message: " . $e->getMessage() . "
";
}
$this->_redirect('/dev/bootiso');
}
}
$this->view->createbootisoForm = $createbootisoForm;
}
public function editbootisoAction()
{
$bootisoID = $this->_request->getParam('bootisoID');
$groupmapper = new Application_Model_GroupMapper();
$prebootmapper = new Application_Model_PreBootMapper();
if (!isset($_POST["editbootiso"])){
$bootisoID = $this->_request->getParam('bootisoID');
if (!isset($bootisoID) || !is_numeric($bootisoID)){
$this->_redirect('/dev/bootiso');
} else {
$bootiso = new Application_Model_BootIso();
$bootisomapper = new Application_Model_BootIsoMapper();
$bootisomapper->find($bootisoID, $bootiso);
$editbootisoForm = new dev_Form_BootisoEdit(array('grouplist' => $groupmapper->fetchAll(),'prebootlist' => $prebootmapper->fetchAll()));
$editbootisoForm->populate($bootiso->toArray());
}
}else{
$editbootisoForm = new dev_Form_BootisoEdit(array('grouplist' => $groupmapper->fetchAll(),'prebootlist' => $prebootmapper->fetchAll()),$_POST);
if ($editbootisoForm->isValid($_POST)) {
$bootiso = new Application_Model_BootIso($_POST);
$bootiso->setMembershipID('1');
$bootisomapper = new Application_Model_BootIsoMapper();
$bootiso->setCreated(time());
$bootiso->setID($bootisoID);
$prebootID = $bootiso->getPrebootID();
try {
$zip = new ZipArchive();
$res = $zip->open("../resources/bootmedium/$prebootID/$bootisoID".".zip");
if($res === true){
$rootdir = $zip->getNameIndex(0);
$zip->addFromString($rootdir."build/rootfs/mnt/serial", $bootiso->getSerialnumber());
$zip->close();
}
$bootisomapper->save($bootiso);
}catch(Zend_Exception $e)
{
echo "Caught exception: " . get_class($e) . "
";
echo "Message: " . $e->getMessage() . "
";
}
$this->_redirect('/dev/bootiso');
}
}
$this->view->editbootisoForm = $editbootisoForm;
}
public function deletebootisoAction()
{
$bootisoID = $this->_request->getParam('bootisoID');
if (!isset($bootisoID)){
$this->_redirect('/dev/bootiso');
} else {
$bootiso = new Application_Model_BootIso();
$bootiso->setID($bootisoID);
$bootisomapper = new Application_Model_BootIsoMapper();
$bootisomapper->delete($bootiso);
}
$this->_redirect('/dev/bootiso');
}
}