<?php /** * Created by PhpStorm. * User: csibi * Date: 2014.10.20. * Time: 10:33 */ require '../../../Routerunner/Routerunner.php'; use Routerunner\Routerunner as runner; $post = array_merge($_GET, $_POST); new runner(array('mode' => 'backend', 'params' => $post, 'method' => 'post', 'resource' => '/', 'bootstrap' => false), function () use($post) { $settings = \Routerunner\Routerunner::$static->settings; \Routerunner\Bootstrap::initialize($settings, true); $response = array("success" => false, "apply" => false, "change_id" => false, "error" => array()); $SQL = "CALL {PREFIX}change_get(:change_id, :session, :draft, :applied)"; $params = array(":change_id" => is_numeric($post["change_id"]) ? $post["change_id"] : 0, ":session" => \runner::stack("session_id") ? \runner::stack("session_id") : 0, ":draft" => 1, ":applied" => 0); if ($change_get = \db::query($SQL, $params)) { foreach ($change_get as $change) { $response["change_id"] = $change["change_id"]; $SQL_apply = "CALL `{PREFIX}change_apply`(:change_id, :session)"; $params_apply = array(":change_id" => $change["change_id"], ":session" => \runner::stack("session_id") ? \runner::stack("session_id") : 0); $model_class = false; if (is_numeric($change["reference"])) { $SQL = 'SELECT model_class FROM {PREFIX}models WHERE reference = ?'; if ($result = \db::query($SQL, array($change["reference"]))) { $model_class = $result[0]["model_class"]; } } if (($resource = json_decode($change["resource"], true)) && isset($resource["route"])) { $model_route = $resource["route"];
public function middleware($routerunner_object, $arguments = array()) { self::cache_connect(); \Routerunner\Routerunner::$slim->flashKeep(); \Routerunner\User::initialize(); if ($uid = \Routerunner\User::me($email, $name, $gid)) { /* $this->uid = $uid; $this->gid = $gid; */ } if (isset($routerunner_object->container['settings']['log.writer'])) { $log_class = $routerunner_object->container['settings']['log.writer']; $app = \Routerunner\Routerunner::$slim; $app->log->setWriter(new $log_class()); $app->error(function (\Exception $e) use($app, $log_class) { new $log_class($e); }); } if (!isset($arguments["bootstrap"]) || $arguments["bootstrap"] !== false) { \Routerunner\Bootstrap::initialize($routerunner_object->settings); $history = \Routerunner\Routerunner::$slim->flash('history'); if (!is_array($history)) { $history = array(); } if (count($history) > 20) { $history = array_slice($history, -20, 20); } if (!count($history) || count($history) && $history[count($history) - 1] != \Routerunner\Bootstrap::$fullUri) { $history[] = \Routerunner\Bootstrap::$fullUri; } \Routerunner\Bootstrap::$history = $history; \Routerunner\Routerunner::$slim->flash('history', \Routerunner\Bootstrap::$history); if (count($history) > 1) { \Routerunner\Routerunner::$slim->now('history.back', $history[count($history) - 2]); } } if (!isset($arguments["skip_route"]) || !$arguments["skip_redirect"]) { \Routerunner\Routerunner::route(); } if (\Routerunner\Routerunner::$slim->now('redirect_url') && (!isset($arguments["skip_redirect"]) || !$arguments["skip_redirect"])) { \Routerunner\Routerunner::$slim->redirect(\Routerunner\Routerunner::$slim->now('redirect_url')); } }