protected function _doBatchUnlinkAction() { try { $this->_start(); if (!$this->getPermiso()->getAcl()->privateAccessGranted($this->getFrontController()->getProtoPackage()->getAuthorizedGroups())) { return $this->_forwardToLogin(); } require_once 'Sitengine/Http.php'; if (!Sitengine_Http::checkReferer()) { require_once 'Sitengine/Proto/Backend/Goodies/Shouldies/Exception.php'; throw new Sitengine_Proto_Backend_Goodies_Shouldies_Exception('bad request', Sitengine_Env::ERROR_BAD_REQUEST); } if (!$this->getEntity()->start()) { return $this->_forwardToLogin(); } $deleted = 0; $rows = Sitengine_Controller_Request_Http::getSelectedRows($_POST); if (sizeof($rows) > 0) { foreach ($rows as $id => $v) { $filename = isset($_POST['FILENAME' . $id]) ? $_POST['FILENAME' . $id] : null; $file = $this->getTempDir() . '/' . $filename; if ($filename !== null && is_writeable($file) && unlink($file)) { $deleted++; } else { $this->_markedRows[$id] = 1; } } if ($deleted < sizeof($rows)) { $this->getStatus()->set(Sitengine_Env::STATUS_ERRORBATCHUNLINK, $this->getTranslate()->translate(Sitengine_Env::STATUS_ERRORBATCHUNLINK), true); return $this->_goToAction(self::ACTION_ASSIGN); } else { if (sizeof($rows) > 0) { $this->getStatus()->set(Sitengine_Env::STATUS_OKBATCHUNLINK, $this->getTranslate()->translate(Sitengine_Env::STATUS_OKBATCHUNLINK), false); } } } $this->getStatus()->save(); $args = array(Sitengine_Env::PARAM_ANCESTORID => $this->getEntity()->getAncestorId()); $route = $this->getFrontController()->getRouter()->getRoute(Sitengine_Proto_Backend_Front::ROUTE_GOODIES_SHOULDIES_ASSIGN); $uri = $this->getRequest()->getBasePath() . '/' . $route->assemble($args); $this->getResponse()->setRedirect($uri); $this->getResponse()->sendResponse(); print ' '; } catch (Exception $exception) { throw $this->_prepareErrorHandler($exception); } }
protected function _doBatchUnlinkAction() { try { $this->_start(); if (!$this->getPermiso()->getAcl()->privateAccessGranted($this->getFrontController()->getNewsletterPackage()->getAuthorizedGroups())) { return $this->_forwardToLogin(); } require_once 'Sitengine/Http.php'; if (!Sitengine_Http::checkReferer()) { require_once 'Sitengine/Newsletter/Backend/Campaigns/Attachments/Exception.php'; throw new Sitengine_Newsletter_Backend_Campaigns_Attachments_Exception('bad request', Sitengine_Env::ERROR_BAD_REQUEST); } if (!$this->getEntity()->start()) { return $this->_forwardToLogin(); } $deleted = 0; $rows = Sitengine_Controller_Request_Http::getSelectedRows($_POST); if (sizeof($rows) > 0) { foreach ($rows as $id => $v) { $filename = isset($_POST['FILENAME' . $id]) ? $_POST['FILENAME' . $id] : null; $file = $this->getTempDir() . '/' . $filename; if ($filename !== null && is_writeable($file) && unlink($file)) { $deleted++; } else { $this->_markedRows[$id] = 1; } } if ($deleted < sizeof($rows)) { $this->getStatus()->set(Sitengine_Env::STATUS_ERRORBATCHUNLINK, $this->getTranslate()->translate(Sitengine_Env::STATUS_ERRORBATCHUNLINK), true); } else { if (sizeof($rows) > 0) { $this->getStatus()->set(Sitengine_Env::STATUS_OKBATCHUNLINK, $this->getTranslate()->translate(Sitengine_Env::STATUS_OKBATCHUNLINK), false); } } } return $this->_goToAction(self::ACTION_ASSIGN); } catch (Exception $exception) { throw $this->_prepareErrorHandler($exception); } }
protected function _doBatchDeleteAction() { try { $this->_start(); if (!$this->getPermiso()->getAcl()->privateAccessGranted($this->getFrontController()->getPermiso()->getAuthorizedGroups())) { return $this->_forwardToLogin(); } require_once 'Sitengine/Http.php'; if (!Sitengine_Http::checkReferer()) { require_once 'Sitengine/Permiso/Backend/Users/Memberships/Exception.php'; throw new Sitengine_Permiso_Backend_Users_Memberships_Exception('bad request', Sitengine_Env::ERROR_BAD_REQUEST); } if (!$this->getEntity()->start()) { return $this->_forwardToLogin(); } $modifier = $this->_getModifierModelInstance(); $deleted = 0; $rows = Sitengine_Controller_Request_Http::getSelectedRows($_POST); /* $tables = array( $this->getFrontController()->getPermiso()->getUsersTableName() => 'READ', $this->getFrontController()->getPermiso()->getMembershipsTableName() => 'WRITE' ); */ if (sizeof($rows) > 0) { /* # lock tables require_once 'Sitengine/Sql.php'; $q = Sitengine_Sql::getLockQuery($tables); $this->getDatabase()->getConnection()->exec($q); */ foreach ($rows as $id => $v) { $affectedRows = $modifier->delete($id); if ($affectedRows > 0) { $deleted++; } else { $this->_markedRows[$id] = 1; } } if ($deleted < sizeof($rows)) { $this->getStatus()->set(Sitengine_Env::STATUS_ERRORBATCHTRASH, $this->getTranslate()->translate(Sitengine_Env::STATUS_ERRORBATCHTRASH), true); return $this->_goToAction(self::ACTION_INDEX); } else { if (sizeof($rows) > 0) { $this->getStatus()->set(Sitengine_Env::STATUS_OKBATCHTRASH, $this->getTranslate()->translate(Sitengine_Env::STATUS_OKBATCHTRASH), false); } } #$this->getDatabase()->getConnection()->exec('UNLOCK TABLES'); } $this->getStatus()->save(); $args = array(Sitengine_Env::PARAM_ANCESTORID => $this->getEntity()->getAncestorId()); $query = array(Sitengine_Env::PARAM_SORT => $this->getRequest()->get(Sitengine_Env::PARAM_SORT), Sitengine_Env::PARAM_ORDER => $this->getRequest()->get(Sitengine_Env::PARAM_ORDER)); $route = $this->getFrontController()->getRouter()->getRoute(Sitengine_Permiso_Backend_Front::ROUTE_USERS_MEMBERSHIPS); $uri = $this->getRequest()->getBasePath() . '/' . $route->assemble($args); $uri .= Sitengine_Controller_Request_Http::makeNameValueQuery($query, '&'); $this->getResponse()->setRedirect($uri); $this->getResponse()->sendResponse(); print ' '; } catch (Exception $exception) { throw $this->_prepareErrorHandler($exception); } }
public function doBatchDeleteAction() { try { $this->_start(); if (!$this->getPermiso()->getAcl()->privateAccessGranted($this->_authorizedGroups)) { return $this->_forwardToLogin(); } require_once 'Sitengine/Http.php'; if (!Sitengine_Http::checkReferer()) { require_once 'Sitengine/Sitemap/Backend/Exception.php'; throw new Sitengine_Sitemap_Backend_Exception('bad request', Sitengine_Env::ERROR_BAD_REQUEST); } if (!$this->_startEntity()) { return $this->_forwardToLogin(); } $modifier = $this->_getModifierModelInstance(); $deleted = 0; $rows = Sitengine_Controller_Request_Http::getSelectedRows($_POST); /* $tables = array( $this->getFrontController()->getSitemapPackage()->getTableSitemap() => 'WRITE' ); */ if (sizeof($rows) > 0) { /* # lock tables require_once 'Sitengine/Sql.php'; $q = Sitengine_Sql::getLockQuery($tables); $this->getDatabase()->getConnection()->exec($q); */ foreach ($rows as $id => $v) { $affectedRows = $modifier->delete($id); if ($affectedRows > 0) { $deleted++; } else { $this->_markedRows[$id] = 1; } } if ($deleted < sizeof($rows)) { $this->getStatus()->set(Sitengine_Env::STATUS_ERRORBATCHTRASH, $this->getTranslate()->translate(Sitengine_Env::STATUS_ERRORBATCHTRASH), true); } else { if (sizeof($rows) > 0) { $this->getStatus()->set(Sitengine_Env::STATUS_OKBATCHTRASH, $this->getTranslate()->translate(Sitengine_Env::STATUS_OKBATCHTRASH), false); } } #$this->getDatabase()->getConnection()->exec('UNLOCK TABLES'); } return $this->_goToAction(self::ACTION_INDEX); } catch (Exception $exception) { throw $this->_prepareErrorHandler($exception); } }