| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- <?php
 
- /**
 
-  * Provides the ECML service.
 
-  *
 
-  * @package ECML
 
-  */
 
- // be sure to run after other plugins
 
- elgg_register_event_handler('init', 'system', 'ecml_init', 9999);
 
- function ecml_init() {
 
- 	// get list of views to process for ECML
 
- 	// entries should be of the form 'view/name' => 'View description'
 
- 	$default_views = array(
 
- 		'output/longtext' => elgg_echo('ecml:view:output_longtext'),
 
- 	);
 
- 	$views = elgg_trigger_plugin_hook('get_views', 'ecml', null, $default_views);
 
- 	foreach ($views as $view => $desc) {
 
- 		elgg_register_plugin_hook_handler('view', $view, 'ecml_process_view');
 
- 	}
 
- 	elgg_register_plugin_hook_handler('unit_test', 'system', 'ecml_unit_test');
 
- 	if (!class_exists('Elgg_Ecml_Token')) {
 
- 		spl_autoload_register('_ecml_load_class');
 
- 	}
 
- }
 
- /**
 
-  * Processes a view output for ECML tags
 
-  *
 
-  * @param string $hook   The name of the hook
 
-  * @param string $name   The name of the view
 
-  * @param string $value  The value of the view
 
-  * @param array  $params The parameters for the view
 
-  * @return string
 
-  */
 
- function ecml_process_view($hook, $name, $value, $params) {
 
- 	return _ecml_get_processor()->process($value, array(
 
- 		'view' => $name,
 
- 		'view_params' => $params,
 
- 	));
 
- }
 
- function ecml_unit_test($hook, $type, $value, $params) {
 
- 	// dumb strict errors caused by simpletest!
 
- 	error_reporting(E_ALL);
 
- 	$path = dirname(__FILE__) . '/tests';
 
- 	//error_reporting(E_ALL);
 
- 	$value[] = "$path/Elgg_Ecml_TokenizerTest.php";
 
- 	$value[] = "$path/Elgg_Ecml_ProcessorTest.php";
 
- 	return $value;
 
- }
 
- /**
 
-  * @return Elgg_Ecml_Processor
 
-  */
 
- function _ecml_get_processor() {
 
- 	static $proc;
 
- 	if (null === $proc) {
 
- 		$proc = new Elgg_Ecml_Processor(new Elgg_Ecml_Tokenizer());
 
- 	}
 
- 	return $proc;
 
- }
 
- /**
 
-  * @param string $class
 
-  */
 
- function _ecml_load_class($class) {
 
- 	if (0 === strpos($class, 'Elgg_Ecml_')) {
 
- 		$file = dirname(__FILE__) . '/classes/' . strtr($class, '_\\', '//') . '.php';
 
- 		is_file($file) && (require $file);
 
- 	}
 
- }
 
 
  |