Exemple #1
0
 /**
  * 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;
 }