当前位置: 首页>>代码示例>>PHP>>正文


PHP Route::accept方法代码示例

本文整理汇总了PHP中Route::accept方法的典型用法代码示例。如果您正苦于以下问题:PHP Route::accept方法的具体用法?PHP Route::accept怎么用?PHP Route::accept使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Route的用法示例。


在下文中一共展示了Route::accept方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testRouteMethodPlugins

 public function testRouteMethodPlugins()
 {
     $r = new Route('/test/', '\\Pex\\HttpTest\\View');
     $this->assertTrue($r->accept('/test/decor'));
     $fn = $r->match('GET', '/test/decor', $parameters);
     $this->assertEquals([new \Pex\HttpTest\View(), 'decor'], $fn->getCallable());
     $dummyPlugin = function ($name, $args) {
         return [$name, $args];
     };
     $this->assertEquals([['decor', ['foo', 'bar']], ['view', ['abc.php']]], $fn->buildPlugins(['view' => $dummyPlugin, 'decor' => $dummyPlugin]));
 }
开发者ID:chuchiy,项目名称:phpex,代码行数:11,代码来源:RouteTest.php

示例2: function

<?php

Route::accept($config->manager->slug . '/plugin/' . File::B(__DIR__) . '/update', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        unset($request['token']);
        $request['twitter_site'] = trim(Text::parse($request['twitter_site'], '->array_key'), '_');
        $request['twitter_creator'] = trim(Text::parse($request['twitter_creator'], '->array_key'), '_');
        File::serialize($request)->saveTo(__DIR__ . DS . 'states' . DS . 'config.txt', 0600);
        Notify::success(Config::speak('notify_success_updated', $speak->plugin));
        Guardian::kick(File::D($config->url_current));
    }
});
开发者ID:tovic,项目名称:twitter-cards-plugin-for-mecha-cms,代码行数:13,代码来源:__launch.php

示例3: function

/**
 * Home Page
 * ---------
 *
 * [1]. /
 *
 */
Route::accept('/', function () use($config, $excludes) {
    Session::kill('search.query');
    Session::kill('search.results');
    $s = Get::articles();
    if ($articles = Mecha::eat($s)->chunk(1, $config->index->per_page)->vomit()) {
        $articles = Mecha::walk($articles, function ($path) use($excludes) {
            return Get::article($path, $excludes);
        });
    } else {
        $articles = false;
    }
    Filter::add('pager:url', function ($url) {
        return Filter::apply('index:url', $url);
    });
    Config::set(array('articles' => $articles, 'pagination' => Navigator::extract($s, 1, $config->index->per_page, $config->index->slug)));
    Shield::attach('page-home');
}, 110);
/**
 * Route Hook: after
 * -----------------
 */
Weapon::fire('routes_after');
/**
 * Do Routing
开发者ID:yiannisSt,项目名称:mecha-cms,代码行数:31,代码来源:launch.php

示例4: function

<?php

/**
 * Shortcode Manager
 * -----------------
 */
Route::accept($config->manager->slug . '/shortcode', function () use($config, $speak) {
    if (!Guardian::happy(1)) {
        Shield::abort();
    }
    $shortcodes = Get::state_shortcode(null, array(), false);
    $G = array('data' => $shortcodes);
    Config::set(array('page_title' => $speak->shortcodes . $config->title_separator . $config->manager->title, 'cargo' => 'cargo.shortcode.php'));
    if ($request = Request::post()) {
        $request = Filter::apply('request:__shortcode', $request);
        Guardian::checkToken($request['token']);
        $data = array();
        for ($i = 0, $keys = $request['key'], $count = count($keys); $i < $count; ++$i) {
            if (trim($keys[$i]) !== "") {
                $data[$keys[$i]] = $request['value'][$i];
            }
        }
        $P = array('data' => $data);
        File::serialize($data)->saveTo(STATE . DS . 'shortcode.txt', 0600);
        Notify::success(Config::speak('notify_success_updated', $speak->shortcode));
        Weapon::fire('on_shortcode_update', array($G, $P));
        Guardian::kick($config->url_current);
    }
    Shield::lot(array('segment' => 'shortcode', 'files' => Mecha::O($shortcodes)))->attach('manager');
});
开发者ID:AdeHaze,项目名称:mecha-cms,代码行数:30,代码来源:route.shortcode.php

示例5: function

<?php

// The `__launch.php` file will be included only in the backend
Route::accept($config->manager->slug . '/plugin/' . File::B(__DIR__) . '/update', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        // [2]
        File::write('test!')->saveTo(__DIR__ . DS . 'states' . DS . 'config.txt', 0600);
        Notify::success(Config::speak('notify_success_updated', $speak->plugin));
        // [3]
        Guardian::kick(File::D($config->url_current));
        // [4]
    }
});
开发者ID:yiannisSt,项目名称:mecha-cms,代码行数:14,代码来源:__launch.php

示例6: function

<?php

Route::accept($config->manager->slug . '/snippet', function () use($config, $speak) {
    // Add `.htaccess` file to prevent direct access
    $htaccess = ASSET . DS . '__snippet' . DS . '.htaccess';
    if (!File::exist($htaccess)) {
        File::write('deny from all')->saveTo($htaccess, 0600);
    }
    Config::set(array('page_title' => $speak->snippets . $config->title_separator . $config->manager->title, 'cargo' => __DIR__ . DS . 'cargo.snippet.php'));
    Shield::lot(array('segment' => 'snippet'))->attach('manager');
});
Route::post($config->manager->slug . '/snippet/ignite', function () use($config, $speak) {
    $request = Request::post();
    $id = time();
    Guardian::checkToken($request['token']);
    if (trim($request['name']) === "") {
        $request['name'] = $id . '.txt';
        // empty file name
    }
    $_path = Text::parse(sprintf($request['name'], $id), '->safe_path_name');
    $e = File::E($_path, false);
    if ($e !== 'txt' && $e !== 'php') {
        $e = 'txt';
        $_path .= '.txt';
    }
    $_path_ = File::path($_path);
    $file = ASSET . DS . '__snippet' . DS . $e . DS . $_path;
    if (File::exist($file)) {
        // file already exists
        Notify::error(Config::speak('notify_file_exist', '<code>' . $_path_ . '</code>'));
    }
开发者ID:tovic,项目名称:snippet-plugin-for-mecha-cms,代码行数:31,代码来源:route.snippet.php

示例7: function

<?php

/**
 * Menu Manager
 * ------------
 */
Route::accept($config->manager->slug . '/menu', function () use($config, $speak) {
    if (Guardian::get('status') !== 'pilot') {
        Shield::abort();
    }
    $menus = Get::state_menu();
    Config::set(array('page_title' => $speak->menus . $config->title_separator . $config->manager->title, 'cargo' => DECK . DS . 'workers' . DS . 'cargo.menu.php'));
    $G = array('data' => array('content' => $menus));
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        // Check for invalid input
        if (preg_match('#(^|\\n)(\\t| {1,3})(?:[^ ])#', $request['content'])) {
            Notify::error($speak->notify_invalid_indent_character);
            Guardian::memorize($request);
        }
        $P = array('data' => $request);
        if (!Notify::errors()) {
            File::write($request['content'])->saveTo(STATE . DS . 'menu.txt', 0600);
            Notify::success(Config::speak('notify_success_updated', $speak->menu));
            Weapon::fire('on_menu_update', array($G, $P));
            Guardian::kick($config->url_current);
        }
    }
    Shield::lot(array('segment' => 'menu', 'the_content' => $menus))->attach('manager', false);
});
开发者ID:razordaze,项目名称:mecha-cms,代码行数:30,代码来源:route.menu.php

示例8: function

<?php

Route::accept($config->manager->slug . '/plugin/' . File::B(__DIR__) . '/update', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        File::write($request['content'])->saveTo(__DIR__ . DS . 'workers' . DS . '404.php');
        Notify::success(Config::speak('notify_success_updated', $speak->plugin));
        Guardian::kick(File::D($config->url_current));
    }
});
开发者ID:tovic,项目名称:custom-404-plugin-for-mecha-cms,代码行数:10,代码来源:__launch.php

示例9: define

<?php

define('PRIVATE_POST_SALT', 'VGF1ZmlrIE51cnJvaG1hbg==' . date('Y-m-d'));
// should be valid for 1 day
Route::accept(File::B(__DIR__) . '/do:access', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token'], $request['kick']);
        if (!isset($request['_'])) {
            Notify::error($speak->plugin_private_post->error);
        }
        // your answer can't contains a `:` because `:` is the separator
        // if the `:` is very important for the answer, then you must
        // replace all `:` character(s) in the password field with `&#58;`
        $request['access'] = str_replace(':', '&#58;', $request['access']);
        $access = md5($request['access'] . PRIVATE_POST_SALT);
        if ((string) $request['_'] === (string) $access) {
            Session::set('is_allow_post_access', $access);
            Guardian::kick($request['kick']);
        }
        Notify::error($speak->plugin_private_post->error);
        Guardian::kick($request['kick']);
    }
    Shield::abort();
});
function do_private_post($content, $results)
{
    global $config, $speak;
    $results = Mecha::O($results);
    $results = $config->is->post ? Get::postHeader($results->path, POST . DS . $config->page_type, '/', $config->page_type . ':') : false;
    if ($results === false) {
        return $speak->plugin_private_post->description;
开发者ID:tovic,项目名称:private-post-plugin-for-mecha-cms,代码行数:31,代码来源:launch.php

示例10: function

<?php

/**
 * Plugin Updater
 * --------------
 */
Route::accept($config->manager->slug . '/plugin/' . File::B(__DIR__) . '/update', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        unset($request['token']);
        // Remove token from request array
        $results = array();
        foreach (explode("\n", $request['content']) as $path) {
            $s = explode(' ~', $path, 2);
            if (trim($path) !== "" && trim($s[0]) !== "") {
                $results[trim($s[0])] = isset($s[1]) && trim($s[1]) !== "" ? (double) trim($s[1]) : true;
            }
        }
        unset($request['content']);
        // Remove content from request array
        $request['path'] = $results;
        File::serialize($request)->saveTo(__DIR__ . DS . 'states' . DS . 'config.txt', 0600);
        Notify::success(Config::speak('notify_success_updated', $speak->plugin));
        Guardian::kick(File::D($config->url_current));
    }
});
/**
 * Cache Killer
 * ------------
 */
function do_remove_cache()
{
开发者ID:AdeHaze,项目名称:mecha-cms,代码行数:32,代码来源:__launch.php

示例11: function

    if ($mode === 'eject') {
        // Rename `launch.php` to `pending.php` or `__launch.php` to `__pending.php`
        File::open(PLUGIN . DS . $slug . DS . 'launch.php')->renameTo('pending.php');
        File::open(PLUGIN . DS . $slug . DS . '__launch.php')->renameTo('__pending.php');
    }
    Guardian::kick($config->manager->slug . '/plugin/' . $page_current);
});
/**
 * Plugin Killer
 * -------------
 */
Route::accept($config->manager->slug . '/plugin/kill/id:(:any)', function ($slug = "") use($config, $speak) {
    if (!Guardian::happy(1) || !($plugin = Plugin::exist($slug))) {
        Shield::abort();
    }
    $info = Plugin::info($slug, true);
    $info['slug'] = $slug;
    Config::set(array('page_title' => $speak->deleting . ': ' . $info['title'] . $config->title_separator . $config->manager->title, 'page' => $info, 'cargo' => 'kill.plugin.php'));
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        $P = array('data' => array('id' => $slug));
        Weapon::fire(array('on_plugin_update', 'on_plugin_destruct', 'on_plugin_' . md5($slug) . '_update', 'on_plugin_' . md5($slug) . '_destruct'), array($P, $P));
        File::open($plugin)->delete();
        // delete later ...
        Notify::success(Config::speak('notify_success_deleted', $speak->plugin));
        Guardian::kick($config->manager->slug . '/plugin');
    } else {
        Notify::warning(Config::speak('notify_confirm_delete_', '<strong>' . $info['title'] . '</strong>'));
    }
    Shield::lot(array('segment' => 'plugin'))->attach('manager');
});
开发者ID:yiannisSt,项目名称:mecha-cms,代码行数:31,代码来源:route.plugin.php

示例12: function

});
/**
 * Page Killer
 * -----------
 */
Route::accept($config->manager->slug . '/page/kill/id:(:num)', function ($id = "") use($config, $speak) {
    if (!($page = Get::page($id, array('comments')))) {
        Shield::abort();
    }
    if (Guardian::get('status') !== 'pilot' && Guardian::get('author') !== $page->author) {
        Shield::abort();
    }
    Config::set(array('page_title' => $speak->deleting . ': ' . $page->title . $config->title_separator . $config->manager->title, 'page' => $page, 'cargo' => DECK . DS . 'workers' . DS . 'kill.page.php'));
    $G = array('data' => Mecha::A($page));
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        File::open($page->path)->delete();
        $task_connect = $page;
        $P = array('data' => $request);
        include DECK . DS . 'workers' . DS . 'task.field.3.php';
        include DECK . DS . 'workers' . DS . 'task.custom.3.php';
        Notify::success(Config::speak('notify_success_deleted', $page->title));
        Weapon::fire('on_page_update', array($G, $G));
        Weapon::fire('on_page_destruct', array($G, $G));
        Guardian::kick($config->manager->slug . '/page');
    } else {
        Notify::warning(Config::speak('notify_confirm_delete_', '<strong>' . $page->title . '</strong>'));
        Notify::warning(Config::speak('notify_confirm_delete_page', strtolower($speak->page)));
    }
    Shield::lot('segment', 'page')->attach('manager', false);
});
开发者ID:razordaze,项目名称:mecha-cms,代码行数:31,代码来源:route.page.php

示例13: function

Weapon::add('thumbnail_before', 'do_thumbnail_http_header', 1);
Route::accept('t/(:num)/(:all)', function ($size = 0, $path = "") {
    $path = Filter::colon('thumbnail:path', ASSET . DS . File::path($path));
    $G = array('data' => array('path' => $path, 'lot' => func_get_args()));
    if (!($path = File::exist($path))) {
        HTTP::status(404);
        exit;
    }
    Weapon::fire('thumbnail_before', array($G, $G));
    Image::take($path)->resize($size)->draw();
}, 12);
Route::accept('t/(:num)/(:num)/(:all)', function ($width = 0, $height = 0, $path = "") {
    $path = Filter::colon('thumbnail:path', ASSET . DS . File::path($path));
    $G = array('data' => array('path' => $path, 'lot' => func_get_args()));
    if (!($path = File::exist($path))) {
        HTTP::status(404);
        exit;
    }
    Weapon::fire('thumbnail_before', array($G, $G));
    Image::take($path)->crop($width, $height)->draw();
}, 11);
Route::accept('t/(:num)/(:num)/(:num)/(:num)/(:all)', function ($x = 0, $y = 0, $width = 0, $height = 0, $path = "") {
    $path = Filter::colon('thumbnail:path', ASSET . DS . File::path($path));
    $G = array('data' => array('path' => $path, 'lot' => func_get_args()));
    if (!($path = File::exist($path))) {
        HTTP::status(404);
        exit;
    }
    Weapon::fire('thumbnail_before', array($G, $G));
    Image::take($path)->crop($x, $y, $width, $height)->draw();
}, 10);
开发者ID:tovic,项目名称:thumbnail-plugin-for-mecha-cms,代码行数:31,代码来源:launch.php

示例14: function

<?php

/**
 * Plugin Updater
 * --------------
 */
Route::accept($config->manager->slug . '/plugin/' . File::B(__DIR__) . '/update', function () use($config, $speak) {
    if ($request = Request::post()) {
        Guardian::checkToken($request['token']);
        $state = PLUGIN . DS . File::B(__DIR__) . DS . 'states' . DS;
        File::write(trim($request['abbr']))->saveTo($state . 'abbr.txt', 0600);
        File::write(trim($request['url']))->saveTo($state . 'url.txt', 0600);
        Notify::success(Config::speak('notify_success_updated', $speak->plugin));
        Guardian::kick(File::D($config->url_current));
    }
});
开发者ID:razordaze,项目名称:mecha-cms,代码行数:16,代码来源:__launch.php

示例15: array

    $new_config['shield'] = $path === 'attach' ? $slug : 'normal';
    File::serialize($new_config)->saveTo(STATE . DS . 'config.txt', 0600);
    $G = array('data' => array('id' => $slug, 'action' => $path));
    Notify::success(Config::speak('notify_success_updated', $speak->shield));
    foreach (glob(LOG . DS . 'asset.*.log', GLOB_NOSORT) as $asset_cache) {
        File::open($asset_cache)->delete();
    }
    Guardian::kick($config->manager->slug . '/shield/' . $slug);
});
/**
 * Shield Updater (Base)
 * ---------------------
 */
if ($route = Route::is($config->manager->slug . '/shield/(:any)/update')) {
    Weapon::add('routes_before', function () use($config, $speak, $route) {
        if (!Route::accepted($route['path'])) {
            Route::accept($route['path'], function () use($config, $speak, $route) {
                if ($request = Request::post()) {
                    $s = $route['lot'][0];
                    $request = Filter::apply('request:__shield', $request, $s);
                    Guardian::checkToken($request['token']);
                    unset($request['token']);
                    // remove token from request array
                    File::serialize($request)->saveTo(SHIELD . DS . $s . DS . 'states' . DS . 'config.txt', 0600);
                    Notify::success(Config::speak('notify_success_updated', $speak->shield));
                    Guardian::kick(File::D($config->url_current));
                }
            });
        }
    }, 1);
}
开发者ID:AdeHaze,项目名称:mecha-cms,代码行数:31,代码来源:route.shield.php


注:本文中的Route::accept方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。