1
0
mirror of https://github.com/e107inc/e107.git synced 2025-06-07 11:28:22 +02:00

New e_event.php v2.x specification. (e_module is no longer required for registering events.) Example added to e107_plugins/_blank

This commit is contained in:
Cameron 2016-04-06 19:43:31 -07:00
parent 8143469f5c
commit 6d0aa7cdd9
4 changed files with 82 additions and 5 deletions

View File

@ -2064,7 +2064,7 @@ class e107
$elist = self::getPref($filename.'_list');
if($elist)
if(!empty($elist))
{
foreach(array_keys($elist) as $key)
{
@ -2117,6 +2117,7 @@ class e107
{
if(E107_DBG_INCLUDES)
{
//$debug_backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 6);
$mes->addDebug('Executing <strong>'.$class_name.' :: '.$method_name.'()</strong>');
}
return call_user_func(array($obj, $method_name),$param, $param2);
@ -2856,7 +2857,12 @@ class e107
$key = $tmp[1];
}
$tmp = e107::getAddonConfig('e_url');
if(!$tmp = self::getRegistry('core/e107/addons/e_url'))
{
$tmp = e107::getAddonConfig('e_url');
self::setRegistry('core/e107/addons/e_url',$tmp);
}
$tp = e107::getParser();
$pref = self::getPref('e_url_alias');
@ -3866,7 +3872,7 @@ class e107
{
define('e_LOGIN', SITEURL.(file_exists(e_BASE.'customlogin.php') ? 'customlogin.php' : 'login.php'));
}
return $this;
}

View File

@ -36,6 +36,26 @@ class e107_event
function __construct()
{
$temp = e107::getAddonConfig('e_event');
if(!empty($temp))
{
foreach($temp as $plug=>$data)
{
foreach($data as $event)
{
$name = $event['name'];
$class = array($plug."_event", $event['function']);
if(!empty($name) && !empty($event['function']))
{
$this->register($name, $class);
}
}
}
}
}

View File

@ -0,0 +1,51 @@
<?php
/*
* e107 website system
*
* Copyright (C) 2008-2013 e107 Inc (e107.org)
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
* XXX HIGHLY EXPERIMENTAL AND SUBJECT TO CHANGE WITHOUT NOTICE.
*/
if (!defined('e107_INIT')) { exit; }
class _blank_event // plugin-folder + '_event'
{
/**
* Configure functions/methods to run when specific e107 events are triggered.
* For a list of events, please visit: http://e107.org/developer-manual/classes-and-methods#events
* Developers can trigger their own events using: e107::getEvent()->trigger('plugin_event',$array);
* Where 'plugin' is the folder of their plugin and 'event' is a unique name of the event.
* $array is data which is sent to the triggered function. eg. myfunction($array) in the example below.
*
* @return array
*/
function config()
{
$event = array();
$event[] = array(
'name' => "login", // when this is triggered... (see http://e107.org/developer-manual/classes-and-methods#events)
'function' => "myfunction", // ..run this function (see below).
);
return $event;
}
function myfunction($data) // the method to run.
{
print_a($data);
}
} //end class

View File

@ -107,7 +107,7 @@ class social_shortcodes extends e_shortcode
if($data['href'] != '')
{
$text .= '<a rel="external" href="'.$data['href'].'" data-tooltip-position="'.$tooltipPos.'" class="'.$tooltip.' social-icon social-'.$id.'" title="'.$data['title'].'"><span class="fa fa-'.$id.' '.$class.'"></span></a>';
$text .= '<a rel="external" href="'.$data['href'].'" data-tooltip-position="'.$tooltipPos.'" class="'.$tooltip.' social-icon social-'.$id.'" title="'.$data['title'].'"><span class="fa fa-fw fa-'.$id.' '.$class.'"></span></a>';
$text .= "\n";
}
}
@ -288,7 +288,7 @@ class social_shortcodes extends e_shortcode
$opt[$k] = "<a class='".$tooltip." btn ".$butSize." btn-default social-share' target='_blank' title='".$val["title"]."' href='".$shareUrl."'>".$tp->toIcon($val["icon"])."</a>";
$opt[$k] = "<a class='".$tooltip." btn ".$butSize." btn-default social-share' target='_blank' title='".$val["title"]."' href='".$shareUrl."'>".$tp->toIcon($val["icon"], array('fw'=>1))."</a>";
}
// Show only Email, Facebook, Twitter and Google.