コード例 #1
0
<?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"];
コード例 #2
0
 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'));
     }
 }