public function getBestAlgorithm() { return Rhymix\Framework\Password::getBestSupportedAlgorithm(); }
/** * Implement if additional tasks are necessary when installing * * @return Object */ function moduleInstall() { // Register action forward (to use in administrator mode) $oModuleController = getController('module'); $oDB =& DB::getInstance(); $oDB->addIndex("member_group", "idx_site_title", array("site_srl", "title"), true); $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('member'); if (empty($config)) { $isNotInstall = true; $config = new stdClass(); } // Set the basic information $config->enable_join = 'Y'; $config->enable_openid = 'N'; if (!$config->enable_auth_mail) { $config->enable_auth_mail = 'N'; } if (!$config->image_name) { $config->image_name = 'Y'; } if (!$config->image_mark) { $config->image_mark = 'Y'; } if (!$config->profile_image) { $config->profile_image = 'Y'; } if (!$config->image_name_max_width) { $config->image_name_max_width = '90'; } if (!$config->image_name_max_height) { $config->image_name_max_height = '20'; } if (!$config->image_mark_max_width) { $config->image_mark_max_width = '20'; } if (!$config->image_mark_max_height) { $config->image_mark_max_height = '20'; } if (!$config->profile_image_max_width) { $config->profile_image_max_width = '90'; } if (!$config->profile_image_max_height) { $config->profile_image_max_height = '90'; } if ($config->group_image_mark != 'Y') { $config->group_image_mark = 'N'; } if (!$config->password_strength) { $config->password_strength = 'normal'; } if (!$config->password_hashing_algorithm) { $config->password_hashing_algorithm = Rhymix\Framework\Password::getBestSupportedAlgorithm(); } if (!$config->password_hashing_work_factor) { $config->password_hashing_work_factor = 8; } if (!$config->password_hashing_auto_upgrade) { $config->password_hashing_auto_upgrade = 'Y'; } global $lang; $oMemberModel = getModel('member'); // Create a member controller object $oMemberController = getController('member'); $oMemberAdminController = getAdminController('member'); if (!$config->signupForm || !is_array($config->signupForm)) { $identifier = 'user_id'; $config->signupForm = $oMemberAdminController->createSignupForm($identifier); $config->identifier = $identifier; // Create Ruleset File FileHandler::makeDir('./files/ruleset'); $oMemberAdminController->_createSignupRuleset($config->signupForm); $oMemberAdminController->_createLoginRuleset($config->identifier); $oMemberAdminController->_createFindAccountByQuestion($config->identifier); } $oModuleController->insertModuleConfig('member', $config); $groups = $oMemberModel->getGroups(); if (!count($groups)) { // Set an administrator, regular member(group1), and associate member(group2) $group_args = new stdClass(); $group_args->title = lang('admin_group'); $group_args->is_default = 'N'; $group_args->is_admin = 'Y'; $output = $oMemberAdminController->insertGroup($group_args); $group_args = new stdClass(); $group_args->title = lang('default_group_1'); $group_args->is_default = 'Y'; $group_args->is_admin = 'N'; $output = $oMemberAdminController->insertGroup($group_args); $group_args = new stdClass(); $group_args->title = lang('default_group_2'); $group_args->is_default = 'N'; $group_args->is_admin = 'N'; $oMemberAdminController->insertGroup($group_args); } // Configure administrator information $admin_args = new stdClass(); $admin_args->is_admin = 'Y'; $output = executeQuery('member.getMemberList', $admin_args); if (!$output->data) { $admin_info = Context::gets('password', 'nick_name', 'email_address', 'user_id'); if ($admin_info->email_address) { $admin_info->user_name = 'admin'; // Insert admin information $oMemberAdminController->insertAdmin($admin_info); // Log-in Processing $output = $oMemberController->doLogin($admin_info->email_address); } } // Register denied ID(default + module name) $oModuleModel = getModel('module'); $module_list = $oModuleModel->getModuleList(); foreach ($module_list as $key => $val) { $oMemberAdminController->insertDeniedID($val->module, ''); } $oMemberAdminController->insertDeniedID('www', ''); $oMemberAdminController->insertDeniedID('root', ''); $oMemberAdminController->insertDeniedID('administrator', ''); $oMemberAdminController->insertDeniedID('telnet', ''); $oMemberAdminController->insertDeniedID('ftp', ''); $oMemberAdminController->insertDeniedID('http', ''); // Create cache directory to use in the member module FileHandler::makeDir('./files/member_extra_info/image_name'); FileHandler::makeDir('./files/member_extra_info/image_mark'); FileHandler::makeDir('./files/member_extra_info/profile_image'); FileHandler::makeDir('./files/member_extra_info/signature'); // 2013. 11. 22 add menu when popup document menu called $oModuleController->insertTrigger('document.getDocumentMenu', 'member', 'controller', 'triggerGetDocumentMenu', 'after'); $oModuleController->insertTrigger('comment.getCommentMenu', 'member', 'controller', 'triggerGetCommentMenu', 'after'); return new Object(); }