/var/www/hkosl.com/aga/wp-includes/Requests/Hooks.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
 * Handles adding and dispatching events
 *
 * @package Requests
 * @subpackage Utilities
 */

/**
 * Handles adding and dispatching events
 *
 * @package Requests
 * @subpackage Utilities
 */
class Requests_Hooks implements Requests_Hooker {
    
/**
     * Registered callbacks for each hook
     *
     * @var array
     */
    
protected $hooks = array();

    
/**
     * Constructor
     */
    
public function __construct() {
        
// pass
    
}

    
/**
     * Register a callback for a hook
     *
     * @param string $hook Hook name
     * @param callback $callback Function/method to call on event
     * @param int $priority Priority number. <0 is executed earlier, >0 is executed later
     */
    
public function register($hook$callback$priority 0) {
        if (!isset(
$this->hooks[$hook])) {
            
$this->hooks[$hook] = array();
        }
        if (!isset(
$this->hooks[$hook][$priority])) {
            
$this->hooks[$hook][$priority] = array();
        }

        
$this->hooks[$hook][$priority][] = $callback;
    }

    
/**
     * Dispatch a message
     *
     * @param string $hook Hook name
     * @param array $parameters Parameters to pass to callbacks
     * @return boolean Successfulness
     */
    
public function dispatch($hook$parameters = array()) {
        if (empty(
$this->hooks[$hook])) {
            return 
false;
        }

        foreach (
$this->hooks[$hook] as $priority => $hooked) {
            foreach (
$hooked as $callback) {
                
call_user_func_array($callback$parameters);
            }
        }

        return 
true;
    }
}