*/ /** * @class communication * @author NAVER (developers@xpressengine.com) * communication module of the high class */ class communication extends ModuleObject { private $triggers = array( array('moduleHandler.init', 'communication', 'controller', 'triggerModuleHandlerAfter', 'after') ); /** * Implement if additional tasks are necessary when installing * @return Object */ function moduleInstall() { $oModuleController = getController('module'); foreach($this->triggers as $trigger) { $oModuleController->insertTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4]); } // Create a temporary file storage for one new private message notification FileHandler::makeDir('./files/member_extra_info/new_message_flags'); return new Object(); } /** * method to check if successfully installed. * @return boolean true : need to update false : don't need to update */ function checkUpdate() { if(!is_dir("./files/member_extra_info/new_message_flags")) { return TRUE; } $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('message'); if($config->skin) { $config_parse = explode('.', $config->skin); if(count($config_parse) > 1) { $template_path = sprintf('./themes/%s/modules/communication/', $config_parse[0]); if(is_dir($template_path)) { return TRUE; } } } $oModuleModel = getModel('module'); foreach($this->triggers as $trigger) { if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) { return TRUE; } } return FALSE; } /** * Update * @return Object */ function moduleUpdate() { if(!is_dir("./files/member_extra_info/new_message_flags")) { FileHandler::makeDir('./files/member_extra_info/new_message_flags'); } $oModuleModel = getModel('module'); $oModuleController = getController('module'); foreach($this->triggers as $trigger) { if(!$oModuleModel->getTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4])) { $oModuleController->insertTrigger($trigger[0], $trigger[1], $trigger[2], $trigger[3], $trigger[4]); } } $config = $oModuleModel->getModuleConfig('message'); if(!is_object($config)) { $config = new stdClass(); } if($config->skin) { $config_parse = explode('.', $config->skin); if(count($config_parse) > 1) { $template_path = sprintf('./themes/%s/modules/communication/', $config_parse[0]); if(is_dir($template_path)) { $config->skin = implode('|@|', $config_parse); $oModuleController->updateModuleConfig('communication', $config); } } } return new Object(0, 'success_updated'); } /** * Re-generate the cache file * @return void */ function recompileCache() { } } /* End of file communication.class.php */ /* Location: ./modules/comment/communication.class.php */