Alternc  latest
Alternc logiel libre pour l'hébergement
 All Classes Namespaces Files Functions Variables Pages
m_hooks Class Reference

This class manage hooks. More...

Public Member Functions

 m_hooks ()
 Constructor hooks([$mid]) Constructeur de la classe hooks, ne fait rien pour le moment. More...
 
 invoke ($hname, $hparam=array(), $hclass=null)
 invoke() permet de lancer une fonction donné en parametre dans toute les classes connues de alternc, avec les parametres donnés. More...
 
 invoke_scripts ($scripts, $parameters=array())
 invoke each executable script of the directory (or the specified script) More...
 

Detailed Description

This class manage hooks.

Definition at line 32 of file m_hooks.php.

Member Function Documentation

m_hooks::invoke (   $hname,
  $hparam = array(),
  $hclass = null 
)

invoke() permet de lancer une fonction donné en parametre dans toute les classes connues de alternc, avec les parametres donnés.

Parameters
string$hnamenom de la fonction "hooks" que l'on cherche dans les classes
array$hparamtableau contenant les parametres
array | string$hclasstableau contenant les classes spécifique qu'on veux appeler (si on veux pas TOUTE les appeler)
Returns
array with the return of each classes

Definition at line 52 of file m_hooks.php.

References $c, $classes, and $val.

52  {
53 
54  // Si $hclass est defini, on veut appeler le hooks QUE pour UNE
55  // classe et pas pour toute.
56  if (is_null($hclass)) {
57  global $classes;
58  } else {
59  if (is_array($hclass)) {
60  $classes = $hclass;
61  } else {
62  $classes = array($hclass);
63  }
64  }
65 
66  // On parcourt les classes, si la fonction qu'on cherche
67  // existe on l'execute et on rajoute ce qu'elle a retourné dans
68  // un tableau
69  $val = array();
70  foreach ($classes as $c) {
71  global $$c;
72  if (method_exists($$c, $hname)) {
73  //$val[$$c]=call_user_func_array(array($$c,$hname), $hparam);
74  $val[$c] = call_user_func_array(array($$c, $hname), $hparam);
75  }
76  }
77 
78  // On retourne le tout
79  return $val;
80  }
$val
Definition: tempovars.php:15
$classes
Definition: bootstrap.php:45
$c
Definition: bootstrap.php:47
m_hooks::invoke_scripts (   $scripts,
  $parameters = array() 
)

invoke each executable script of the directory (or the specified script)

Parameters
string$scriptsa script or a directory
array$parametersparameters for the scripts
Returns
boolean TRUE

Definition at line 90 of file m_hooks.php.

References $parameters.

90  {
91 
92  // First, build the list of script we want to launch
93  $to_launch = array();
94  if (is_file($scripts)) {
95  if (is_executable($scripts)) {
96  $to_launch[] = $scripts;
97  }
98  } else if (is_dir($scripts)) {
99  foreach (scandir($scripts) as $ccc) {
100  if (is_file($ccc) && is_executable($ccc)) {
101  $to_launch[] = $ccc;
102  }
103  }
104  } else {
105  // not a file nor a directory
106  return false;
107  }
108 
109  // Protect each parameters
110  $parameters = array_map('escapeshellarg', $parameters);
111  $params = implode(" ", $parameters);
112 
113  // Launch !
114  foreach ($to_launch as $fi) {
115  system($fi . " " . $params);
116  }
117 
118  // TODO: return something more interesting than true
119  return true;
120  }
m_hooks::m_hooks ( )

Constructor hooks([$mid]) Constructeur de la classe hooks, ne fait rien pour le moment.

Definition at line 38 of file m_hooks.php.

38  {
39 
40  }

The documentation for this class was generated from the following file: