예제 #1
0
	/** 
	 * When passed an "event" as a string, a user-defined method will be run INSIDE this page's controller
	 * whenever an event takes place. The name/location of this event is not customizable. If you want more
	 * customization, used extend() below.
	 */
	public static function extendPageType($ctHandle, $event = false, $params = array()) {
		Events::enableEvents();
		if ($event == false) {
			// then we're registering ALL the page type events for this particular page type
			Events::extendPageType($ctHandle, 'on_page_add', $params);
			Events::extendPageType($ctHandle, 'on_page_update', $params);
			Events::extendPageType($ctHandle, 'on_page_duplicate', $params);
			Events::extendPageType($ctHandle, 'on_page_move', $params);
			Events::extendPageType($ctHandle, 'on_page_view', $params);
			Events::extendPageType($ctHandle, 'on_page_version_approve', $params);
			Events::extendPageType($ctHandle, 'on_page_delete', $params);
		} else {
			$ce = Events::getInstance();
			$class = Object::camelcase($ctHandle) . 'PageTypeController';
			$method = $event;
			$filename = Loader::pageTypeControllerPath($ctHandle);
			$ce->registeredEvents[$event][] = array(
				Events::EVENT_TYPE_PAGETYPE,
				$class,
				$method,
				$filename,
				$params
			);
		}
	}
예제 #2
0
 public function on_start()
 {
     //		stuff here will run on every page request before anything else.
     //		if full page cache is turned on, this will not run on cached pages
     //
     //		events are the most common use case
     //		for more details on events, check out the documentation here:
     //		http://www.concrete5.org/documentation/developers/system/events
     //
     Events::extendPageType('boilerplate', 'on_page_add');
     $html = Loader::helper("html");
     $v = View::getInstance();
     $v->addHeaderItem($html->css("boilerplate.css", "c5_boilerplate"));
     $v->addHeaderItem($html->javascript("boilerplate.js", "c5_boilerplate"));
 }
예제 #3
0
<?php

Events::extendPageType('walk', 'on_page_update');
// Setup user when created
Events::extend('on_user_add', '\\JanesWalk\\Models\\Users\\WalkLeader', 'setupUserJoinInfo', 'models/users/WalkLeader.php');