/** * Registers a module ($register_mod) TO another module ($register_to_mod) * In other words, the first parameter is going to perform * an action on the second parameter */ public function registerModToMod($register_to_mod, $register_mod, &$content) { $registerFile = $register_to_mod->getDirectory() . 'boost/register.php'; if (!is_file($registerFile)) { return PHPWS_Error::get(BOOST_NO_REGISTER_FILE, 'boost', 'registerModToMod', $registerFile); } if (PHPWS_Boost::isRegistered($register_to_mod->title, $register_mod->title)) { return NULL; } include_once $registerFile; $registerFunc = $register_to_mod->title . '_register'; if (!function_exists($registerFunc)) { return PHPWS_Error::get(BOOST_NO_REGISTER_FUNCTION, 'boost', 'registerModToMod', $registerFile); } $result = $registerFunc($register_mod->title, $content); if (PHPWS_Error::isError($result)) { $content[] = sprintf(dgettext('boost', 'An error occurred while registering the %s module.'), $register_mod->getProperName()); $content[] = PHPWS_Boost::addLog($register_mod->title, $result->getMessage()); $content[] = PHPWS_Error::log($result); } elseif ($result == true) { PHPWS_Boost::setRegistered($register_to_mod->title, $register_mod->title); $content[] = sprintf(dgettext('boost', "%1\$s successfully registered to %2\$s."), $register_mod->getProperName(true), $register_to_mod->getProperName(true)); } return true; }