/** * */ public function setDirectAction() { $am = AccountManager::getInstance(); if (!$am->isLogged()) { return JsonResponseBuilder::failure(); } $action = $this->getRequestVariable('action'); $patchID = $this->getRequestVariable('patchID'); $idDB = $this->getRequestVariable('idDB'); if ($action == 'putIntoMyPatches') { $r = RepositoryManager::getInstance()->moveToPatch($patchID, $idDB); if ($r === true) { return JsonResponseBuilder::success(); } else { return JsonResponseBuilder::failure(array('err' => $r)); } } if ($action == 'deleteThisChange') { $r = RepositoryManager::getInstance()->clearLocalChangeByModifiedID($idDB); if (is_array($r)) { return JsonResponseBuilder::success(); } else { return JsonResponseBuilder::failure(array('err' => $r)); } } }
<?php /** * Ext JS controller file */ session_start(); error_reporting(E_ALL); set_time_limit(0); require_once "./ExtJsController.php"; require_once "./JsonResponseBuilder.php"; $controller = new ExtJsController(array_merge($_GET, $_POST)); $method = str_replace('-', '_', $controller->getRequestVariable('task')); if (isset($_SESSION['csrfToken']) && $controller->getRequestVariable('csrfToken') !== $_SESSION['csrfToken']) { $response = JsonResponseBuilder::failure(array('msg' => 'CSRF token missing or invalid')); } else { if (method_exists($controller, $method)) { $response = $controller->{$method}(); } else { $response = JsonResponseBuilder::failure(array('msg' => sprintf('Unknown controller action: %s', $method))); } } // Place here all method who already send hers headers if (in_array($method, array('getImageContent', 'downloadPatch'))) { echo $response; exit; } header('Content-type: text/plain; charset=utf-8'); header('X-Content-Type-Options: nosniff'); header('Content-Length:' . strlen($response)); echo $response; exit;