Exemplo n.º 1
0
 public function getBestAlgorithm()
 {
     return Rhymix\Framework\Password::getBestSupportedAlgorithm();
 }
Exemplo n.º 2
0
 /**
  * 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();
 }