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


PHP Observer::observe方法代码示例

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


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

示例1: __construct

 public function __construct()
 {
     $this->_check();
     $this->setLayout("backend");
     $this->assignToLayout("sidebar", new View("../../plugins/paw_users/admin/sidebar"));
     Observer::observe("view_backend_layout_head", "UserController::_loadCSS");
 }
开发者ID:pawedWolf,项目名称:wolfcms-pawusers,代码行数:7,代码来源:controller.user.php

示例2: Init

 /**
  * Registers the plugin and controller in the system as well as the observers.
  */
 public static function Init()
 {
     // Register plugin
     Plugin::setInfos(array('id' => self::PLUGIN_ID, 'title' => __('Page Part Forms'), 'description' => __('Allows to create custom page part forms'), 'version' => self::PLUGIN_VERSION, 'license' => 'AGPL', 'author' => 'THE M', 'website' => 'http://github.com/them/frog_page_part_forms/', 'update_url' => 'http://github.com/them/frog_page_part_forms/raw/master/frog-plugins.xml', 'require_frog_version' => '0.9.5'));
     // Register controller
     Plugin::addController(self::PLUGIN_ID, __('Page Part Forms'), 'administrator, developer', true);
     // Add extra scripting for JSON
     Plugin::addJavascript(self::PLUGIN_ID, "labs_json.js");
     // The callbacks for the backend
     Observer::observe('view_page_page_metadata', __CLASS__ . '::callback_view_page_page_metadata');
     Observer::observe('view_page_edit_popup', __CLASS__ . '::callback_view_page');
 }
开发者ID:billzeller,项目名称:frog_page_part_forms,代码行数:15,代码来源:PagePartFormsController.php

示例3: __construct

 public function __construct()
 {
     AuthUser::load();
     if (!AuthUser::isLoggedIn()) {
         redirect(get_url("login"));
         die;
     }
     // GET SETTINGS
     $settings = array_merge(array("grid-size" => 3, "widget-position" => serialize(array("events" => array("part" => 1, "order" => 1), "rss_reader" => array("part" => 2, "order" => 1)))), Plugin::getAllSettings("dashboard"));
     // UNSERIALIZE SETTINGS
     foreach ($settings as $key => $value) {
         if (is_string($value)) {
             if (@unserialize($value) !== false) {
                 $settings[$key] = unserialize($value);
             }
         }
     }
     $this->settings = $settings;
     // OBSERVER
     DashboardWidgets::init($settings["widget-position"]);
     Observer::observe("view_backend_layout_head", "DashboardController::loadFiles");
 }
开发者ID:pawedWolf,项目名称:wolfcms-dashboard,代码行数:22,代码来源:DashboardController.php

示例4: function

     */
    Observer::notify('after_page_load');
    /**
     * Блок служит для помещения в него виджета с произволным PHP кодом,
     * который выполняется после загрузки HTML
     */
    Block::run('POST');
});
Observer::observe('view_page_edit_plugins', function ($page) {
    $blocks = Widget_Manager::get_blocks_by_layout($page->layout());
    echo View::factory('widgets/page/edit', array('page' => $page, 'pages' => Model_Page_Sitemap::get(TRUE)->exclude(array($page->id))->flatten(), 'widgets' => Widget_Manager::get_widgets_by_page($page->id), 'blocks' => Arr::get($blocks, $page->layout())));
});
Observer::observe('page_add_after_save', function ($page) {
    $post_data = Request::current()->post('widgets');
    if (!empty($post_data['from_page_id'])) {
        Widget_Manager::copy($post_data['from_page_id'], $page->id);
    }
});
Observer::observe('page_edit_after_save', function ($page) {
    $post_data = Request::current()->post('widget');
    if (!is_array($post_data)) {
        return;
    }
    foreach ($post_data as $widget_id => $block) {
        Widget_Manager::update_location_by_page($page->id, $widget_id, $block);
    }
});
Observer::observe(array('widget_after_delete', 'widget_set_location', 'widget_after_edit', 'widget_after_add'), function () {
    Cache::instance()->delete_tag('layout_blocks');
});
Route::set('handler', 'handler/<id>', array('id' => '[0-9]+'))->defaults(array('directory' => 'system', 'controller' => 'handler'));
开发者ID:ZerGabriel,项目名称:cms-1,代码行数:31,代码来源:init.php

示例5: define

 * @package Plugins
 * @subpackage shopping-cart
 *
 * @author Stefan Miller <linuxsmiller@gmail.com>
 * Copyright (C) 2014 Stefan Miller <linuxsmiller@gmail.com>
 * @license http://www.gnu.org/licenses/gpl.html GPLv3 license
 *
 */
/* Security measure */
if (!defined('IN_CMS')) {
    exit;
}
/**
 * Root location where Files plugin lives.
 */
define('SC_FILES_ROOT', PATH_PUBLIC . 'wolf/plugins/shopping_cart');
/**
 * Root location where files get uploaded to as an absolute path.
 */
define('SC_FILES_DIR', CMS_ROOT . DS . 'public');
/**
 * Root location where files get uploaded to as a URL.
 */
define('BASE_SC_FILES_DIR', URL_PUBLIC . 'public');
// DO NOT EDIT AFTER THIS LINE -----------------------------------------------
Plugin::setInfos(array('id' => 'shopping_cart', 'title' => 'Shopping Cart', 'description' => 'A shopping cart inventory administration module', 'version' => '0.0.1', 'author' => 'Stefan Miller', 'website' => 'http://www.artisticdigital.com', 'require_wolf_version' => '0.7.0'));
Plugin::addController('shopping_cart', __('Shopping Cart'), 'admin_view', true);
// Make sure possible hack attempts get registered if the statistics API is available.
if (Plugin::isEnabled('statistics_api')) {
    Observer::observe('stats_shopping_cart_hack_attempt', 'StatisticsEvent::registerEvent');
}
开发者ID:ariksavage,项目名称:template2.adsourorg,代码行数:31,代码来源:index.php

示例6: __

/**
 * Provides Page not found page types.
 *
 * @package Plugins
 * @subpackage page-not-found
 *
 * @author Philippe Archambault <philippe.archambault@gmail.com>
 * @copyright Philippe Archambault, 2008
 * @license http://www.gnu.org/licenses/gpl.html GPLv3 license
 */
/* Security measure */
if (!defined('IN_CMS')) {
    exit;
}
Plugin::setInfos(array('id' => 'page_not_found', 'title' => __('Page not found'), 'description' => __('Provides Page not found page types.'), 'version' => '1.0.0', 'website' => 'http://www.wolfcms.org/', 'update_url' => 'http://www.wolfcms.org/plugin-versions.xml'));
Behavior::add('page_not_found', '');
Observer::observe('page_not_found', 'behavior_page_not_found');
/**
 * Presents browser with a custom 404 page.
 */
function behavior_page_not_found($url)
{
    $page = Page::findByBehaviour('page_not_found');
    if (is_a($page, 'Page')) {
        header("HTTP/1.0 404 Not Found");
        header("Status: 404 Not Found");
        $page->_executeLayout();
        exit;
        // need to exit otherwise true error page will be sent
    }
}
开发者ID:ariksavage,项目名称:idsog.org,代码行数:31,代码来源:index.php

示例7: __

|	@file		./index.php
|	@author		svanlaere
|	@version	1.0.0 [1.0.0] - Stable
|
|	@license	X11 / MIT License
|	@copyright	Copyright © 2015 pytesNET
*/
if (!defined("IN_CMS")) {
    exit;
}
// SET PLUGIN INFOS
Plugin::setInfos(array("id" => "themer", "title" => "Themer", "description" => __("A WordPress AdminTheme configuration plugin."), "version" => "1.0.0", "license" => "GPL", "author" => "svanlaere", "website" => "http://www.wolfcms.org/forum/", "require_wolf_version" => "0.7.5", "type" => "backend"));
Plugin::addController("themer", __("Wordpress admin theme"), "admin_view", false);
if (Plugin::isEnabled("themer")) {
    if (!defined("THEMER")) {
        define("THEMER", PLUGINS_ROOT . "/themer");
    }
    if (!defined("THEMER_VIEW")) {
        define("THEMER_VIEW", "themer/views/");
    }
    function themer_customize_admin_theme($path)
    {
        $admin_theme = Setting::get("theme");
        $settings = Plugin::getAllSettings("themer");
        if ($admin_theme == "wordpress-3.8") {
            echo new View(THEMER . DS . "views" . DS . "head", array("color" => $settings["color"], "sidebar_width" => $settings["sidebar_width"]));
        }
        return $path;
    }
    Observer::observe("view_backend_layout_head", "themer_customize_admin_theme");
}
开发者ID:svanlaere,项目名称:wolfcms-wordpress-admintheme,代码行数:31,代码来源:index.php

示例8: foreach

            if (empty($folder['sections'])) {
                continue;
            }
            $folder_section = Model_Navigation::get_section($folder['name'], $ds_section);
            foreach ($folder['sections'] as $id => $section) {
                $section->add_to_menu($folder_section);
            }
        }
        foreach ($sections_list as $type => $sections) {
            foreach ($sections as $id => $section) {
                $section->add_to_menu($ds_section);
            }
        }
        $_create_section = Model_Navigation::get_section(__('Create section'), $ds_section, 999);
        foreach ($types as $id => $type) {
            $_create_section->add_page(new Model_Navigation_Page(array('name' => $type, 'url' => Route::get('datasources')->uri(array('controller' => 'section', 'directory' => 'datasources', 'action' => 'create', 'id' => $id)), 'permissions' => $id . '.section.create')));
        }
        unset($sections_list, $folders, $root_section);
    } catch (Exception $ex) {
    }
});
Observer::observe('update_search_index', function () {
    $ds_ids = Datasource_Data_Manager::get_all();
    foreach ($ds_ids as $ds_id => $data) {
        $ds = Datasource_Data_Manager::load($ds_id);
        if (!$ds->loaded()) {
            continue;
        }
        $ds->update_index();
    }
});
开发者ID:ZerGabriel,项目名称:cms-1,代码行数:31,代码来源:init.php

示例9: RegisteredUser

 * ru_register_page()           Use this on the page you want to have for registrations eg mysite.com/register
 * ru_login_page()		Use this on the page you want to have for logging in eg mysite.com/login
 * ru_confirm_page()		This is the page a user clicks through to validate their account
 * ru_auth_required_page()	Users who are not authorised to view the requested page will be redirected here
 * ru_reset_page()		Will allow a user to have an email sent to them with a lnk to reset their password
 * ru_logout()			A page to logout a user and return them to the hompage
 */
Plugin::setInfos(array('id' => 'registered_users', 'title' => 'Registered Users', 'description' => 'Allows you to manage new user registrations on your site.', 'version' => '1.0-dev', 'author' => 'Martijn van der Kleijn', 'require_wolf_version' => '0.7.7'));
// Only when the plugin is enabled
if (Plugin::isEnabled('registered_users')) {
    Plugin::addController('registered_users', 'Registered Users', 'admin_edit', true);
    Observer::observe('view_page_edit_plugins', 'registered_users_access_page_checkbox');
    Observer::observe('page_add_after_save', 'registered_users_add_page_permissions');
    Observer::observe('page_edit_after_save', 'registered_users_edit_page_permissions');
    Observer::observe('page_delete', 'registered_users_delete_page_permissions');
    Observer::observe('page_found', 'registered_users_page_found');
    Behavior::add('login_page', '');
    include 'classes/RegisteredUser.php';
    include 'classes/RUCommon.php';
    include 'observers/RUObservers.php';
    // @todo Switch this stupid stuff to use routes
    function ru_login_page()
    {
        $registered_users_class = new RegisteredUser();
        $loginpage = $registered_users_class->login_page();
        echo $loginpage;
    }
    function ru_register_page()
    {
        $registered_users_class = new RegisteredUser();
        $registerpage = $registered_users_class->registration_page();
开发者ID:blr21560,项目名称:registered_users,代码行数:31,代码来源:index.php

示例10: image_resize_try_resizing

<?php

require_once "ImageResize.php";
Plugin::setInfos(array('id' => 'image_resize', 'title' => 'Image Resize', 'description' => 'Allows for dynamic resizing of images.', 'version' => '1.3.1', 'license' => 'GPL 3.0', 'author' => 'Peter Gassner', 'website' => 'http://www.naehrstoff.ch/code/image-resize-for-frog', 'update_url' => 'http://frog.naehrstoff.ch/plugin-versions.xml', 'require_frog_version' => '0.9.4'));
// Listen for page_not_found messages
Observer::observe('page_not_found', 'image_resize_try_resizing');
// Add the controller without showing a tab (fourth option)
Plugin::addController('image_resize', 'Image Resize', '', FALSE);
/**
 * Execute this function on page_not_found.
 * If the request is for an image file,
 * resize the image.
 */
function image_resize_try_resizing()
{
    // Require that visitor be logged in and has
    // permission to create files
    if (!AuthUser::isLoggedIn()) {
        AuthUser::load();
    }
    if (!AuthUser::hasPermission('administrator,developer,editor')) {
        return false;
    }
    // Check that gd library is available
    if (!ImageResize::gd_available()) {
        return false;
    }
    if (preg_match('#\\.(jpe?g|gif|png|wbmp)$#i', CURRENT_URI)) {
        // If requested file appears to be an accepted format, create the new image
        if (image_resize_scale(CURRENT_URI) && !DEBUG) {
            // If Frog isn't debugging, it writes to a file; redirect to it
开发者ID:naehrstoff,项目名称:image_resize,代码行数:31,代码来源:index.php

示例11: defined

<?php

defined('SYSPATH') or die('No direct script access.');
Observer::observe('part_before_save', function ($part) {
    if (!$part->loaded()) {
        return;
    }
    $data = array('part_id' => $part->id, 'created_on' => date('Y-m-d H:i:s'), 'content' => Arr::get($part->original_values(), 'content'));
    DB::insert('part_revision')->columns(array_keys($data))->values($data)->execute();
});
Observer::observe('part_controls', function () {
    $url = Route::get('backend')->uri(array('controller' => 'part', 'action' => 'revision', 'id' => '<%=id%>'));
    echo '<a class="part-revision-button btn btn-default btn-xs" href="' . URL::site($url) . '">' . __('Part revision') . '</a>';
});
开发者ID:ZerGabriel,项目名称:cms-1,代码行数:14,代码来源:backend.php

示例12: sprintf

 Observer::observe('layout_after_delete', 'dashboard_log_layout_delete');
 Observer::observe('layout_after_add', 'dashboard_log_layout_add');
 Observer::observe('layout_after_edit', 'dashboard_log_layout_edit');
 Observer::observe('snippet_after_delete', 'dashboard_log_snippet_delete');
 Observer::observe('snippet_after_add', 'dashboard_log_snippet_add');
 Observer::observe('snippet_after_edit', 'dashboard_log_snippet_edit');
 Observer::observe('comment_after_delete', 'dashboard_log_comment_delete');
 Observer::observe('comment_after_add', 'dashboard_log_comment_add');
 Observer::observe('comment_after_edit', 'dashboard_log_comment_edit');
 Observer::observe('comment_after_approve', 'dashboard_log_comment_approve');
 Observer::observe('comment_after_unapprove', 'dashboard_log_comment_unapprove');
 Observer::observe('plugin_after_enable', 'dashboard_log_plugin_enable');
 Observer::observe('plugin_after_disable', 'dashboard_log_plugin_disable');
 Observer::observe('admin_login_success', 'dashboard_log_admin_login');
 Observer::observe('admin_login_failed', 'dashboard_log_admin_login_failure');
 Observer::observe('admin_after_logout', 'dashboard_log_admin_logout');
 /* Page */
 function dashboard_log_page_add($page)
 {
     $linked_title = sprintf('<a href="%s">%s</a>', get_url('page/edit/' . $page->id), $page->title);
     $message = __('Page <b>:title</b> was created by :name', array(':title' => $linked_title, ':name' => AuthUser::getRecord()->name));
     dashboard_log_event($message, 'core');
 }
 function dashboard_log_page_edit($page)
 {
     $linked_title = sprintf('<a href="%s">%s</a>', get_url('page/edit/' . $page->id), $page->title);
     $message = __('Page <b>:title</b> was revised by :name', array(':title' => $linked_title, ':name' => AuthUser::getRecord()->name));
     dashboard_log_event($message, 'core');
 }
 function dashboard_log_page_delete($page)
 {
开发者ID:blr21560,项目名称:dashboard,代码行数:31,代码来源:index.php

示例13: defined

<?php

defined('SYSPATH') or die('No direct access allowed.');
Plugin::factory('page_not_found', array('title' => 'Page not found', 'description' => 'Provides Page not found type.', 'author' => 'ButscH'))->register();
Observer::observe('page_not_found', function ($message, $params) {
    throw new HTTP_Exception_Front_404($message, $params);
});
开发者ID:ZerGabriel,项目名称:cms-1,代码行数:7,代码来源:init.php

示例14: Crookston

 * @author Andrew Crookston <andrew@casystems.se>
 * @version 0.1.0
 * @since Frog version 0.9.5
 * @license http://www.gnu.org/licenses/gpl.html GPL License
 * @copyright Andrew Crookston, 2009
 *
 * @todo Only supports text in the Body-part. Should be able to choose fields via settings
 * @todo Known issue: Will not filter out markup like Textile or Markdown. Filters out HTML and PHP etc..
 * @todo Add a disable.php for rolling back the database changes when disabling the plugin
 */
Plugin::setInfos(array('id' => 'fsearch', 'title' => 'FSearch - Frog MySQL Search', 'description' => 'Provides MySQL full-text search capabilities.', 'version' => '1.1.0', 'license' => 'GPLv3', 'author' => 'Andrew Crookston (CA Systems)', 'website' => 'http://www.casystems.se', 'update_url' => 'http://www.casystems.se/frog-plugin-versions.xml', 'require_frog_version' => '0.9.5'));
// Load the FSearch class into the system
AutoLoader::addFile('FSearch', CORE_ROOT . '/plugins/fsearch/FSearch.php');
// Add observers for page editing
Observer::observe('view_page_edit_plugins', 'fsearch_display_select');
Observer::observe('part_edit_after_save', 'fsearch_clean_contents');
/**
 * Retrieve an array with all pages matching the search phrase.
 * 
 * @param Search $search A string containing MySQL full-text search query.
 * @return Array Returns an array of Page objects, if any.
 */
function fsearch($search)
{
    $pages = FSearch::search(array('search' => $search, 'limit' => 10));
    return $pages;
}
/**
 * Adds a 'Make searchable' checkbox on the edit page view in the backend.
 *
 * @param Page $page The object instance for the page that is being edited.
开发者ID:acrookston,项目名称:fsearch,代码行数:31,代码来源:index.php

示例15: __

Plugin::setInfos(array('id' => 'multi_lang', 'title' => __('Multiple Languages'), 'description' => __('Provides language specific content when available based on user preferences.'), 'version' => '1.0.0', 'license' => 'GPL', 'author' => 'Martijn van der Kleijn', 'website' => 'http://freshcms.jules.it/', 'update_url' => 'http://freshcms.jules.it/plugin-versions.xml', 'require_cms_version' => '0.6.0'));
Plugin::addController('multi_lang', __('Multiple Languages'), 'administrator', false);
// Observe the necessary events.
$style = Plugin::getSetting('style', 'multi_lang');
$source = Plugin::getSetting('langsource', 'multi_lang');
if (false !== $style && $style == 'tab') {
    if ($source == 'uri') {
        Observer::observe('page_requested', 'replaceUri');
        Observer::observe('page_found', 'replaceContentByUri');
    } else {
        Observer::observe('page_found', 'replaceContent');
    }
} else {
    if (false !== $style && $style == 'page') {
        if ($source == 'header' || $source == 'preferences') {
            Observer::observe('page_found', 'replaceContent');
        }
    }
}
/**
 * Replaces the content of the 'body' part if a language specific part exists.
 *
 * @param Page $page Page object.
 */
function replaceContent($page)
{
    $source = Plugin::getSetting('langsource', 'multi_lang');
    $style = Plugin::getSetting('style', 'multi_lang');
    if (!$source || !$style) {
        return;
    }
开发者ID:julpi,项目名称:FreshCMS,代码行数:31,代码来源:index.php


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