public function detailsAction() { $wsId = $this->getRequest()->getParam(Workshop::COL_ID); $dbAdapter = Zend_Registry::get('DB_CONNECTION1'); $wsSelect = $dbAdapter->select(); $wsSelect->from(array('work' => Workshop::TABLE_NAME)); $wsSelect->join(array('inst' => ValueList::TABLE_NAME), 'inst.' . ValueList::COL_ID . "=" . 'work.' . Workshop::COL_HOST_ORGANISATION, array('instname' => ValueList::COL_NAME)); $wsSelect->join(array('local' => ValueList::TABLE_NAME), 'local.' . ValueList::COL_ID . "=" . 'work.' . Workshop::COL_LOCATION, array('location' => ValueList::COL_NAME)); $wsSelect->join(array('user' => User::TABLE_NAME), 'user.' . User::COL_ID . "=" . 'work.' . Workshop::COL_USER_ID, array('manager' => User::COL_USERNAME)); $wsSelect->where(Workshop::COL_ID . '=?', $wsId); $workshopArray = $dbAdapter->fetchAll($wsSelect); /** * ce list */ $ceSelect = $dbAdapter->select(); $ceSelect->from(CalibrationExercise::TABLE_NAME); $ceSelect->where(CalibrationExercise::COL_WORKSHOP_ID . '=?', $wsId); $this->view->ceArray = $dbAdapter->fetchAll($ceSelect); /** * links */ $infoTable = new WorkshopInfo(); $linkSelect = $infoTable->select(); $linkSelect->where(WorkshopInfo::COL_WORKSHOP_ID . "=?", $wsId); $linkSelect->where(WorkshopInfo::COL_FILE . " IS NULL"); $linkResult = $infoTable->fetchAll($linkSelect); if ($linkResult != null) { $linkArray = $linkResult->toArray(); } else { $linkArray = array(); } /** * files */ $fileSelect = $infoTable->select(); $fileSelect->where(WorkshopInfo::COL_WORKSHOP_ID . "=?", $wsId); $fileSelect->where(WorkshopInfo::COL_LINK . " IS NULL"); $fileResult = $infoTable->fetchAll($fileSelect); if ($fileResult != null) { $fileArray = $fileResult->toArray(); } else { $fileArray = array(); } $this->view->userRole = AuthQuery::getUserRole(); $this->view->workshopArray = $workshopArray[0]; $this->view->linkArray = $linkArray; $this->view->fileArray = $fileArray; $this->view->wsId = $wsId; }
public function deleterecursiveAction() { //delete workshop files //delete workshop -> triggers delete ce //delete ws info -> DB on delete cascade //delete ce //delete imageset attributes -> DB on delete cascade //delete ce has image -> DB on delete cascade //delete ce has attribute desc. -> DB on delete cascade //delete participants -> DB on delete cascade //delete annotations -> DB on delete cascade //delete dots -> DB on delete cascade $request = $this->getRequest(); $workId = intval($this->getRequest()->getParam(Workshop::COL_ID)); if (AuthQuery::getUserRole() == 'admin') { $request = $this->getRequest(); $workId = intval($this->getRequest()->getParam(Workshop::COL_ID)); $workshop = new Workshop(); $rowset = $workshop->find($workId); if (count($rowset) == 1) { $table = new WorkshopInfo(); //$tableAdapter = $table->getAdapter(); $select = $table->select(); //$select->from(WorkshopInfo::TABLE_NAME); $select->where(WorkshopInfo::COL_WORKSHOP_ID . ' = ?', $workId, 'int'); echo $select; $rowset = $table->fetchAll($select); if (count($rowset) >= 1) { $rowsetArray = $rowset->toArray(); $RELATIVE_WORKSHOP_FILES_PATH = 'infoFiles'; //without pre- and post-slash! foreach ($rowsetArray as $row) { try { $filename = $row[WorkshopInfo::COL_FILE]; if ($filename != NULL) { $myFile = $RELATIVE_WORKSHOP_FILES_PATH . '/' . $filename; $fh = fopen($myFile, 'w'); fclose($fh); unlink($myFile); } } catch (Exception $e) { throw new Zend_Exception('Error: can not open file'); } } } //note: delete of workshop_info is executed from db $workshop->delete($workshop->getAdapter()->quoteInto(Workshop::COL_ID . ' = ?', $workId)); } } $redirect = new Zend_Controller_Action_Helper_Redirector(); $redirect->setGoto('myws', 'search', 'workshop'); }