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

This class manage hooks that any other class or panel page can call. More...

Public Member Functions

 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 that any other class or panel page can call.

or hook to.

Definition at line 27 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 38 of file m_hooks.php.

References $c, $classes, and $val.

38  {
39 
40  // Si $hclass est defini, on veut appeler le hooks QUE pour UNE
41  // classe et pas pour toute.
42  if (is_null($hclass)) {
43  global $classes;
44  } else {
45  if (is_array($hclass)) {
46  $classes = $hclass;
47  } else {
48  $classes = array($hclass);
49  }
50  }
51 
52  // On parcourt les classes, si la fonction qu'on cherche
53  // existe on l'execute et on rajoute ce qu'elle a retourné dans
54  // un tableau
55  $val = array();
56  foreach ($classes as $c) {
57  global $$c;
58  if (method_exists($$c, $hname)) {
59  //$val[$$c]=call_user_func_array(array($$c,$hname), $hparam);
60  $val[$c] = call_user_func_array(array($$c, $hname), $hparam);
61  }
62  }
63 
64  // On retourne le tout
65  return $val;
66  }
$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 75 of file m_hooks.php.

References $parameters.

75  {
76 
77  // First, build the list of script we want to launch
78  $to_launch = array();
79  if (is_file($scripts)) {
80  if (is_executable($scripts)) {
81  $to_launch[] = $scripts;
82  }
83  } else if (is_dir($scripts)) {
84  foreach (scandir($scripts) as $ccc) {
85  if (is_file($ccc) && is_executable($ccc)) {
86  $to_launch[] = $ccc;
87  }
88  }
89  } else {
90  // not a file nor a directory
91  return false;
92  }
93 
94  // Protect each parameters
95  $parameters = array_map('escapeshellarg', $parameters);
96  $params = implode(" ", $parameters);
97 
98  // Launch !
99  foreach ($to_launch as $fi) {
100  system($fi . " " . $params);
101  }
102 
103  // TODO: return something more interesting than true
104  return true;
105  }

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