* @copyright Copyright (C) 2010 - SQLi Agency. All rights reserved * @licence http://www.gnu.org/licenses/gpl-2.0.txt GNU GPLv2 * @author Jerome Vieilledent * @version @@@VERSION@@@ * @package sqliimport */ $Module = $Params['Module']; $Result = array(); $tpl = SQLIImportUtils::templateInit(); try { $user = eZUser::currentUser(); $userID = $user->attribute('contentobject_id'); $userLogin = $user->attribute('login'); $action = $Params['Action']; $importID = $Params['ImportID']; $import = SQLIImportItem::fetch($importID); if (!$import instanceof SQLIImportItem) { throw new SQLIImportBaseException(SQLIImportUtils::translate('extension/sqliimport/error', "No import item found with ID #%importID", null, array('%importID' => $importID))); } // Check if user has access to handler alteration $aLimitation = array('SQLIImport_Type' => $import->attribute('handler')); $hasAccess = SQLIImportUtils::hasAccessToLimitation($Module->currentModule(), 'manageimports', $aLimitation); if (!$hasAccess) { return $Module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel'); } switch ($action) { case 'cancel': // Check if import is already running. Maybe user has not refreshed import list in the admin... $status = $import->attribute('status') == SQLIImportItem::STATUS_RUNNING ? SQLIImportItem::STATUS_INTERRUPTED : SQLIImportItem::STATUS_CANCELED; SQLIImportLogger::logNotice('User "' . $userLogin . '" (#' . $userID . ') requested cancelation of pending import #' . $importID . ' on ' . date('Y-m-d H:i'), false); $import->setAttribute('status', $status);