mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 20:57:26 +02:00
Added e107::getEvent()->triggered() for manually checking if an event has already been triggered.
This commit is contained in:
@@ -55,6 +55,7 @@ if (isset($_POST['submit_cache']))
|
|||||||
if (isset($_POST['trigger_empty_cache']))
|
if (isset($_POST['trigger_empty_cache']))
|
||||||
{
|
{
|
||||||
e107::getLog()->addSuccess(CACLAN_6);
|
e107::getLog()->addSuccess(CACLAN_6);
|
||||||
|
$triggerName = $_POST['option_clear_cache'];
|
||||||
switch ($_POST['option_clear_cache'])
|
switch ($_POST['option_clear_cache'])
|
||||||
{
|
{
|
||||||
case 'empty_contentcache':
|
case 'empty_contentcache':
|
||||||
@@ -101,8 +102,11 @@ if (isset($_POST['trigger_empty_cache']))
|
|||||||
e107::getCache()->clearAll('css');
|
e107::getCache()->clearAll('css');
|
||||||
e107::getSession()->clear('addons-update-status');
|
e107::getSession()->clear('addons-update-status');
|
||||||
e107::getLog()->flushMessages(CACLAN_26);
|
e107::getLog()->flushMessages(CACLAN_26);
|
||||||
|
$triggerName = 'default';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e107::getEvent()->trigger('admin_after_clear_cache', $triggerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
$syscache_files = glob(e_CACHE_CONTENT.'S_*.*');
|
$syscache_files = glob(e_CACHE_CONTENT.'S_*.*');
|
||||||
|
@@ -21,6 +21,7 @@ class e107_event
|
|||||||
var $includes = array();
|
var $includes = array();
|
||||||
|
|
||||||
protected $coreEvents;
|
protected $coreEvents;
|
||||||
|
private $triggered = array();
|
||||||
|
|
||||||
protected $oldCoreEvents = array(
|
protected $oldCoreEvents = array(
|
||||||
|
|
||||||
@@ -181,13 +182,13 @@ class e107_event
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trigger event
|
* Triggers an event
|
||||||
*
|
*
|
||||||
* @param string $eventname
|
* @param string $eventname
|
||||||
* @param mixed $data
|
* @param mixed $data
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
function trigger($eventname, $data='')
|
function trigger($eventname, $data=null)
|
||||||
{
|
{
|
||||||
/*if (isset($this->includes[$eventname]))
|
/*if (isset($this->includes[$eventname]))
|
||||||
{
|
{
|
||||||
@@ -201,10 +202,12 @@ class e107_event
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
// echo ($this->debug());
|
// echo ($this->debug());
|
||||||
|
$this->triggered[$eventname] = true;
|
||||||
|
|
||||||
if (isset($this->functions[$eventname]))
|
if (isset($this->functions[$eventname]))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
foreach($this->functions[$eventname] as $i => $evt_func)
|
foreach($this->functions[$eventname] as $i => $evt_func)
|
||||||
{
|
{
|
||||||
$location = '';
|
$location = '';
|
||||||
@@ -257,7 +260,15 @@ class e107_event
|
|||||||
return (isset($ret) ? $ret : false);
|
return (isset($ret) ? $ret : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if an event has been triggered.
|
||||||
|
* @param $eventname
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function triggered($eventname)
|
||||||
|
{
|
||||||
|
return !empty($this->triggered[$eventname]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
84
e107_tests/tests/unit/e107_eventTest.php
Normal file
84
e107_tests/tests/unit/e107_eventTest.php
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
class e107_eventTest extends \Codeception\Test\Unit
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var e107_event */
|
||||||
|
protected $ev;
|
||||||
|
|
||||||
|
protected function _before()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$this->ev = $this->make('e107_event');
|
||||||
|
}
|
||||||
|
catch(Exception $e)
|
||||||
|
{
|
||||||
|
$this->fail($e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testTriggered()
|
||||||
|
{
|
||||||
|
e107::getEvent()->trigger('user_profile_display', ['foo'=>'bar']);
|
||||||
|
|
||||||
|
$result = e107::getEvent()->triggered('user_profile_display');
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$result = e107::getEvent()->triggered('non_event');
|
||||||
|
$this->assertFalse($result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
public function testTrigger()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testOldCoreList()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDebug()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testTriggerAdminEvent()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCoreList()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test__construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRegister()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testTriggerHook()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user