mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
* use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ * use magic constant __DIR__ to load only functions.php * replace spaces with tab character * update dirname command to use levels instead of nesting * use magic constant __DIR__ * update dirname command to use levels instead of nesting * Update access_control_edit.php * Update access_control_import.php * Update access_controls.php * Update dnd.php * Update access_controls_reload.php * Update call_center_agents.php * Update call_center_agents.php * Update fax_queue.php * Update login.php * Update pdo.php * Update pdo_vm.php * Update switch.php * Update index.php * Update css.php * Update v_mailto.php * Update fax_to_email.php --------- Co-authored-by: FusionPBX <markjcrane@gmail.com>
54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Events class:
|
|
* - manages events in the FusionPBX
|
|
* use:
|
|
* $e = new Events;
|
|
* $e->add_event_function('myfunction') it could be a static method as well
|
|
* $e->execute_event(ADD, $params) event type, params is an associative array
|
|
*/
|
|
|
|
//includes files
|
|
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
|
|
|
|
|
define ("MODULE_LOAD", 1); // when loading a FS module with FS
|
|
define ("MODULE_UNLOAD", 2);
|
|
define ("RELOADXML", 3); // when reloading xml
|
|
define ("ADD", 4); // when adding something
|
|
define ("EDIT", 5); // when editing something
|
|
define ("DEL", 6); // when deleting something
|
|
define ("LOGIN", 7); // when login
|
|
define ("LOGOUT", 8); // when logout
|
|
|
|
if (!class_exists('database')) {
|
|
class Events{
|
|
private $handler = array();
|
|
private $event = array();
|
|
|
|
public function __construct(){
|
|
}
|
|
// declare log file and file pointer as private properties
|
|
|
|
public function add_event_function($event_type, $event_function){
|
|
$event[$event_type][] = $event_function;
|
|
}
|
|
|
|
public function execute_event($event_type, $params=null){
|
|
foreach ($this->event[$event_type] as $event_function){
|
|
try{
|
|
call_user_func($event_function, $params);
|
|
}
|
|
catch (Exception $e) {
|
|
echo 'Exception: ', $e->getMessage(), "\n";
|
|
}
|
|
// Lets log
|
|
foreach ($this->handler as $handler){
|
|
$handler->log_event($event_type, $params);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|