本文整理汇总了PHP中Guardian::kick方法的典型用法代码示例。如果您正苦于以下问题:PHP Guardian::kick方法的具体用法?PHP Guardian::kick怎么用?PHP Guardian::kick使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guardian
的用法示例。
在下文中一共展示了Guardian::kick方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
<?php
if ($package = File::exist($destination . DS . $name)) {
if (is_file($package)) {
Package::take($package)->extract();
// Extract the ZIP file
File::open($package)->delete();
// Delete the ZIP file
Config::load();
// Refresh the configuration data ...
Guardian::kick(Config::get('manager.slug') . '/' . $segment);
}
}
示例2: do_comment_construct
function do_comment_construct()
{
$config = Config::get();
$speak = Config::speak();
if ($config->page_type === 'article') {
$comment_id = 'comment-%d';
// Your comment ID
$comment_form_id = 'comment-form';
// Your comment form ID
$article = isset($config->article->path) ? $config->article : false;
$G = array('data' => array('article' => Mecha::A($article), 'comment_id' => $comment_id, 'comment_form_id' => $comment_form_id));
if ($article !== false && ($request = Request::post())) {
if ($task = File::exist(SHIELD . DS . $config->shield . DS . 'workers' . DS . 'task.comment.php')) {
require $task;
// Custom comment constructor
} else {
// Check token
Guardian::checkToken($request['token'], $article->url . '#' . $comment_form_id);
$extension = $config->comments->moderation && !Guardian::happy() ? '.hold' : '.txt';
// Check name
if (trim($request['name']) === "") {
Notify::error(Config::speak('notify_error_empty_field', $speak->name));
}
// Check email
if (trim($request['email']) !== "") {
if (!Guardian::check($request['email'], '->email')) {
Notify::error($speak->notify_invalid_email);
} else {
// Disallow passenger(s) from entering your email address in the comment email field
if (!Guardian::happy() && $request['email'] === $config->author->email) {
Notify::warning(Config::speak('notify_warning_forbidden_input', array('<em>' . $request['email'] . '</em>', strtolower($speak->email))));
}
}
} else {
Notify::error(Config::speak('notify_error_empty_field', $speak->email));
}
// Check URL
if (trim($request['url']) !== "" && !Guardian::check($request['url'], '->url')) {
Notify::error($speak->notify_invalid_url);
}
// Check message
if (trim($request['message']) === "") {
Notify::error(Config::speak('notify_error_empty_field', $speak->message));
}
// Check challenge
if (!Guardian::checkMath($request['math'])) {
Notify::error($speak->notify_invalid_math_answer);
}
// Check name length
if (Guardian::check($request['name'], '->too_long', 100)) {
Notify::error(Config::speak('notify_error_too_long', $speak->name));
}
// Check email length
if (Guardian::check($request['email'], '->too_long', 100)) {
Notify::error(Config::speak('notify_error_too_long', $speak->email));
}
// Check URL length
if (Guardian::check($request['url'], '->too_long', 100)) {
Notify::error(Config::speak('notify_error_too_long', $speak->url));
}
// Check message length
if (Guardian::check($request['message'], '->too_long', 1700)) {
Notify::error(Config::speak('notify_error_too_long', $speak->message));
}
// Check for spam keyword(s) in comment
$fucking_words = explode(',', $config->keywords_spam);
foreach ($fucking_words as $spam) {
if ($fuck = trim($spam)) {
if ($request['email'] === $fuck || strpos(strtolower($request['message']), strtolower($fuck)) !== false) {
Notify::warning($speak->notify_warning_intruder_detected . ' <strong class="text-error pull-right">' . $fuck . '</strong>');
break;
}
}
}
if (!Notify::errors()) {
$post = Date::slug($article->time);
$id = (int) time();
$parent = Request::post('parent');
$P = array('data' => $request);
$P['data']['id'] = $id;
$name = strip_tags($request['name']);
$email = Text::parse($request['email'], '->broken_entity');
$url = isset($request['url']) && trim($request['url']) !== "" ? $request['url'] : false;
$parser = strip_tags(Request::post('content_type', $config->html_parser->active));
$message = Text::parse($request['message'], '->text', WISE_CELL . '<img>', false);
$field = Request::post('fields', array());
include File::D(__DIR__, 2) . DS . 'task.fields.php';
// Temporarily disallow image(s) in comment to prevent XSS
$message = preg_replace('#<img(\\s[^<>]*?)>#i', '<img$1>', $message);
Page::header(array('Name' => $name, 'Email' => $email, 'URL' => $url, 'Status' => Guardian::happy() ? 1 : 2, 'Content Type' => $parser, 'Fields' => !empty($field) ? Text::parse($field, '->encoded_json') : false))->content($message)->saveTo(COMMENT . DS . $post . '_' . Date::slug($id) . '_' . ($parent ? Date::slug($parent) : '0000-00-00-00-00-00') . $extension);
Notify::success(Config::speak('notify_success_submitted', $speak->comment));
if ($extension === '.hold') {
Notify::info($speak->notify_info_comment_moderation);
}
Weapon::fire(array('on_comment_update', 'on_comment_construct'), array($G, $P));
Guardian::kick($config->url_current . $config->ur_query . (!Guardian::happy() && $config->comments->moderation ? '#' . $comment_form_id : '#' . sprintf($comment_id, Date::format($id, 'U'))));
} else {
Guardian::kick($config->url_current . $config->url_query . '#' . $comment_form_id);
}
}
//.........这里部分代码省略.........
示例3: count
$_path = ASSET . DS . $v;
File::open($_path)->delete();
return $_path;
});
$is_folder_or_file = count($deletes) === 1 && is_dir(ASSET . DS . $deletes[0]) ? 'folder' : 'file';
$P = array('data' => array('files' => $info_path));
Notify::success(Config::speak('notify_' . $is_folder_or_file . '_deleted', '<code>' . implode('</code>, <code>', $deletes) . '</code>'));
Weapon::fire(array('on_asset_update', 'on_asset_destruct'), array($P, $P));
Guardian::kick($config->manager->slug . '/asset/1' . str_replace('&', '&', HTTP::query('path', $p)));
} else {
Notify::warning(count($deletes) === 1 ? Config::speak('notify_confirm_delete_', '<code>' . File::path($name) . '</code>') : $speak->notify_confirm_delete);
}
Shield::lot(array('segment' => 'asset', 'files' => Mecha::O($deletes)))->attach('manager');
});
/**
* Multiple Asset Action
* ---------------------
*/
Route::accept($config->manager->slug . '/asset/do', function ($path = "") use($config, $speak) {
if ($request = Request::post()) {
Guardian::checkToken($request['token']);
if (!isset($request['selected'])) {
Notify::error($speak->notify_error_no_files_selected);
Guardian::kick($config->manager->slug . '/asset/1');
}
$files = Mecha::walk($request['selected'], function ($v) {
return str_replace('%2F', '/', Text::parse($v, '->encoded_url'));
});
Guardian::kick($config->manager->slug . '/asset/' . $request['action'] . '/files:' . implode(';', $files));
}
});
示例4:
<?php
if ($uploaded = File::exist($task_connect_path . DS . $name)) {
Package::take($uploaded)->extract();
// Extract the ZIP file
File::open($uploaded)->delete();
// Delete the ZIP file
Config::load();
// Refresh the configuration data ...
Guardian::kick(Config::get('manager')->slug . '/' . $task_connect_kick);
}
示例5: function
<?php
/**
* Login Page
* ----------
*
* [1]. manager/login
*
*/
Route::accept($config->manager->slug . '/login', function () use($config, $speak) {
if (!File::exist(File::D(__DIR__) . DS . 'launch.php')) {
Shield::abort('404-manager');
}
if (Guardian::happy()) {
Guardian::kick($config->manager->slug . '/article');
}
Config::set(array('page_title' => $speak->log_in . $config->title_separator . $config->title, 'cargo' => 'cargo.login.php'));
include __DIR__ . DS . 'cargo.php';
if ($request = Request::post()) {
Guardian::authorize()->kick(isset($request['kick']) ? $request['kick'] : $config->manager->slug . '/article');
}
Shield::attach('manager-login');
}, 20);
/**
* Logout Page
* -----------
*
* [1]. manager/logout
*
*/
Route::accept($config->manager->slug . '/logout', function () use($config, $speak) {
示例6: 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');
});
示例7: function
/**
* Static Page
* -----------
*
* [1]. page-slug
*
*/
Route::accept('(:any)', function ($slug = "") use($config) {
if (!($page = Get::page($slug))) {
Shield::abort('404-page');
}
if ($page->state === 'drafted') {
Shield::abort('404-page');
}
if (isset($_GET['repair']) && Guardian::happy()) {
Guardian::kick($config->manager->slug . '/page/repair/id:' . $page->id);
}
Filter::add('pager:url', function ($url) {
return Filter::apply('page:url', $url);
});
Config::set(array('page_title' => $page->title . $config->title_separator . $config->title, 'page' => $page));
Weapon::add('shell_after', function () use($page) {
if (isset($page->css) && trim($page->css) !== "") {
echo O_BEGIN . $page->css . O_END;
}
});
Weapon::add('sword_after', function () use($page) {
if (isset($page->js) && trim($page->js) !== "") {
echo O_BEGIN . $page->js . O_END;
}
});
示例8: function
* ----------
*/
Route::accept($config->manager->slug . '/tag/kill/id:(:any)', function ($id = false) use($config, $speak, $tags) {
if (!Guardian::happy(1)) {
Shield::abort();
}
if (!isset($tags[$id])) {
Shield::abort();
// Tag not found!
}
$title = $tags[$id]['name'];
Config::set(array('page_title' => $speak->deleting . ': ' . $title . $config->title_separator . $config->manager->title, 'cargo' => 'kill.tag.php'));
$G = array('data' => $tags);
$G['data']['id'] = $id;
if ($request = Request::post()) {
$request = Filter::apply('request:__tag', $request, $id);
Guardian::checkToken($request['token']);
unset($tags[$id]);
// delete ...
ksort($tags);
$P = array('data' => $tags);
$P['data']['id'] = $id;
File::serialize($tags)->saveTo(STATE . DS . 'tag.txt', 0600);
Notify::success(Config::speak('notify_success_deleted', $title));
Weapon::fire(array('on_tag_update', 'on_tag_destruct'), array($G, $P));
Guardian::kick($config->manager->slug . '/tag');
} else {
Notify::warning(Config::speak('notify_confirm_delete_', '<strong>' . $title . '</strong>'));
}
Shield::lot(array('segment' => 'tag', 'id' => $id, 'file' => Mecha::O($tags[$id])))->attach('manager');
});
示例9: array
if (!Guardian::happy(1) && Guardian::get('author') !== $post->author) {
Shield::abort();
}
Config::set(array('page_title' => $speak->deleting . ': ' . $post->title . $config->title_separator . $config->manager->title, 'page' => $post, 'cargo' => 'kill.post.php'));
$G = array('data' => Mecha::A($post));
if ($request = Request::post()) {
Guardian::checkToken($request['token']);
File::open($post->path)->delete();
// Deleting response(s) ...
if ($responses = call_user_func('Get::' . $response . 's', 'DESC', 'post:' . $id, 'txt,hold')) {
foreach ($responses as $v) {
File::open($v)->delete();
}
}
$P = array('data' => $request);
include __DIR__ . DS . 'task.kill.substance.php';
// Deleting custom CSS and JavaScript file of post ...
File::open(CUSTOM . DS . Date::slug($id) . '.txt')->delete();
File::open(CUSTOM . DS . Date::slug($id) . '.draft')->delete();
Weapon::fire(array('on_custom_update', 'on_custom_destruct'), array($G, $P));
// Deleting custom PHP file of post ...
File::open(File::D($post->path) . DS . $post->slug . '.php')->delete();
Notify::success(Config::speak('notify_success_deleted', $post->title));
Weapon::fire(array('on_' . $segment . '_update', 'on_' . $segment . '_destruct'), array($G, $G));
Guardian::kick($config->manager->slug . '/' . $segment);
} else {
Notify::warning(Config::speak('notify_confirm_delete_', '<strong>' . $post->title . '</strong>'));
Notify::warning(Config::speak('notify_confirm_delete_page', strtolower($speak->{$segment}), strtolower($speak->{$response . 's'})));
}
Shield::lot(array('segment' => $segment))->attach('manager');
});
示例10: unset
// Check if slug already exists on static page(s)
if (isset($slugs[$request[$page]['slug']])) {
Notify::error(Config::speak('notify_error_slug_exist', $request[$page]['slug']));
Guardian::memorize($request);
}
}
if (Request::post('per_page') < 1 || floor(Request::post('per_page')) != Request::post('per_page')) {
Notify::error($speak->notify_invalid_per_page_number);
Guardian::memorize($request);
}
// Check for invalid email address
if (trim($request['author']['email']) !== "" && !Guardian::check($request['author']['email'], '->email')) {
Notify::error($speak->notify_invalid_email);
Guardian::memorize($request);
}
unset($request['token']);
// Remove token from request array
$G = array('data' => Mecha::A($config));
$P = array('data' => $request);
if (!Notify::errors()) {
File::serialize($request)->saveTo(STATE . DS . 'config.txt', 0600);
Notify::success(Config::speak('notify_success_updated', $speak->config));
foreach (glob(LOG . DS . 'asset.*.log', GLOB_NOSORT) as $asset_cache) {
File::open($asset_cache)->delete();
}
Weapon::fire('on_config_update', array($G, $P));
Guardian::kick($request['manager']['slug'] . '/config');
}
}
Shield::lot(array('segment' => 'config'))->attach('manager');
});
示例11: function
* -----------
*/
Route::accept($config->manager->slug . '/menu/kill/key:(:any)', function ($key = false) use($config, $speak) {
if (!Guardian::happy(1)) {
Shield::abort();
}
$menus = Get::state_menu(null, array(), false);
if (!isset($menus[$key])) {
Shield::abort();
// Menu not found!
}
Config::set(array('page_title' => $speak->deleting . ': ' . $speak->menu . $config->title_separator . $config->manager->title, 'cargo' => 'kill.menu.php'));
$G = array('data' => $menus);
$G['data']['key'] = $key;
if ($request = Request::post()) {
$request = Filter::apply('request:__menu', $request, $key);
Guardian::checkToken($request['token']);
unset($menus[$key]);
// delete ...
ksort($menus);
$P = array('data' => $menus);
$P['data']['key'] = $key;
File::serialize($menus)->saveTo(STATE . DS . 'menu.txt', 0600);
Notify::success(Config::speak('notify_success_deleted', $speak->menu));
Weapon::fire(array('on_menu_update', 'on_menu_destruct'), array($G, $P));
Guardian::kick($config->manager->slug . '/menu');
} else {
Notify::warning(Config::speak('notify_confirm_delete_', '<code>Menu::' . $key . '()</code>'));
}
Shield::lot(array('segment' => 'menu', 'id' => $key, 'file' => Mecha::O($menus[$key])))->attach('manager');
});
示例12: function
});
/**
* Comment Killer
* --------------
*/
Route::accept($config->manager->slug . '/comment/kill/id:(:num)', function ($id = "") use($config, $speak) {
if (Guardian::get('status') !== 'pilot') {
Shield::abort();
}
if (!($comment = Get::comment($id))) {
Shield::abort();
// File not found!
}
Config::set(array('page_title' => $speak->deleting . ': ' . $speak->comment . $config->title_separator . $config->manager->title, 'response' => $comment, 'cargo' => DECK . DS . 'workers' . DS . 'kill.comment.php'));
if ($request = Request::post()) {
$P = array('data' => Mecha::A($comment));
Guardian::checkToken($request['token']);
File::open($comment->path)->delete();
$task_connect = $comment;
include DECK . DS . 'workers' . DS . 'task.field.3.php';
File::write($config->total_comments_backend - 1)->saveTo(SYSTEM . DS . 'log' . DS . 'comments.total.log', 0600);
Notify::success(Config::speak('notify_success_deleted', $speak->comment));
Weapon::fire('on_comment_update', array($P, $P));
Weapon::fire('on_comment_destruct', array($P, $P));
Guardian::kick($config->manager->slug . '/comment');
} else {
File::write($config->total_comments_backend)->saveTo(SYSTEM . DS . 'log' . DS . 'comments.total.log', 0600);
Notify::warning($speak->notify_confirm_delete);
}
Shield::lot('segment', 'comment')->attach('manager', false);
});
示例13: str_replace
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 `:`
$request['access'] = str_replace(':', ':', $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;
}
$s = isset($results->fields->pass) ? $results->fields->pass : "";
if (strpos($s, ':') !== false) {
$s = explode(':', $s, 2);
if (isset($s[1])) {
示例14: 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');
});
示例15: array
Notify::success(Config::speak('notify_file_deleted', '<code>' . File::B($_file) . '</code>'));
} else {
Notify::success(Config::speak('notify_success_deleted', $speak->shield));
}
Weapon::fire(array('on_shield_update', 'on_shield_destruct'), array($P, $P));
Guardian::kick($config->manager->slug . '/shield' . ($_file !== false ? '/' . $folder : ""));
} else {
Notify::warning(Config::speak('notify_confirm_delete_', $file !== false ? '<code>' . $path . '</code>' : '<strong>' . $info->title . '</strong>'));
}
Shield::lot(array('segment' => 'shield', 'folder' => $folder, 'files' => Mecha::O(Get::files(SHIELD . DS . $folder, '*')), 'path' => $path))->attach('manager');
});
/**
* Shield Attacher
* ---------------
*/
Route::accept($config->manager->slug . '/shield/(attach|eject)/id:(:any)', function ($path = "", $slug = "") use($config, $speak) {
if (!Guardian::happy(1) || !file_exists(SHIELD . DS . $slug)) {
Shield::abort();
}
$new_config = Get::state_config();
$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));
$mode = $path === 'eject' ? 'eject' : 'mount';
Notify::success(Config::speak('notify_success_updated', $speak->shield));
Weapon::fire(array('on_shield_update', 'on_shield_' . $mode, 'on_shield_' . md5($slug) . '_update', 'on_shield_' . md5($slug) . '_' . $mode), array($G, $G));
foreach (glob(LOG . DS . 'asset.*.log', GLOB_NOSORT) as $asset_cache) {
File::open($asset_cache)->delete();
}
Guardian::kick($config->manager->slug . '/shield/' . $slug);
});