/** * @return true[] */ public function getBootstrapModules() { $bootstrap_modules = array(); foreach ($this->discoverModuleFilenames('module') as $name => $filename) { $php = file_get_contents($filename); foreach (PureFunctions::bootstrapHooks() as $hook) { if (FALSE !== strpos($php, 'function ' . $name . '_' . $hook)) { $bootstrap_modules[$name] = TRUE; break; } } } return $bootstrap_modules; }
/** * @see module_invoke() * * @param string $module * @param string $hook * * @return mixed * * @throws \Exception */ function moduleInvoke($module, $hook) { $args = func_get_args(); switch (count($args)) { case 2: return PureFunctions::moduleInvoke($module, $hook); case 3: return PureFunctions::moduleInvoke($module, $hook, $args[2]); case 4: return PureFunctions::moduleInvoke($module, $hook, $args[2], $args[3]); default: throw new \Exception("More arguments than expected."); } }