getModuleConfig('member'); // Set to use SSL upon actions related member join/information/password and so on if(Context::get('_use_ssl') == 'optional') { Context::addSSLAction('dispMemberModifyPassword'); Context::addSSLAction('dispMemberSignUpForm'); Context::addSSLAction('dispMemberModifyInfo'); Context::addSSLAction('procMemberLogin'); Context::addSSLAction('procMemberModifyPassword'); Context::addSSLAction('procMemberInsert'); Context::addSSLAction('procMemberModifyInfo'); Context::addSSLAction('procMemberFindAccount'); } } /** * @brief Implement if additional tasks are necessary when installing **/ 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'); $args = $oModuleModel->getModuleConfig('member'); // Set the basic information $args->enable_join = 'Y'; if(!$args->enable_openid) $args->enable_openid = 'N'; if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N'; if(!$args->image_name) $args->image_name = 'Y'; if(!$args->image_mark) $args->image_mark = 'Y'; if(!$args->profile_image) $args->profile_image = 'Y'; if(!$args->image_name_max_width) $args->image_name_max_width = '90'; if(!$args->image_name_max_height) $args->image_name_max_height = '20'; if(!$args->image_mark_max_width) $args->image_mark_max_width = '20'; if(!$args->image_mark_max_height) $args->image_mark_max_height = '20'; if(!$args->profile_image_max_width) $args->profile_image_max_width = '80'; if(!$args->profile_image_max_height) $args->profile_image_max_height = '80'; if($args->group_image_mark!='Y') $args->group_image_mark = 'N'; $oModuleController->insertModuleConfig('member',$args); // Create a member controller object $oMemberModel = &getModel('member'); $oMemberController = &getController('member'); $oMemberAdminController = &getAdminController('member'); $groups = $oMemberModel->getGroups(); if(!count($groups)) { // Set an administrator, regular member(group1), and associate member(group2) $group_args->title = Context::getLang('admin_group'); $group_args->is_default = 'N'; $group_args->is_admin = 'Y'; $output = $oMemberAdminController->insertGroup($group_args); unset($group_args); $group_args->title = Context::getLang('default_group_1'); $group_args->is_default = 'Y'; $group_args->is_admin = 'N'; $output = $oMemberAdminController->insertGroup($group_args); unset($group_args); $group_args->title = Context::getLang('default_group_2'); $group_args->is_default = 'N'; $group_args->is_admin = 'N'; $oMemberAdminController->insertGroup($group_args); } // Configure administrator information $admin_args->is_admin = 'Y'; $output = executeQuery('member.getMemberList', $admin_args); if(!$output->data) { $admin_info = Context::gets('user_id','password','nick_name','user_name', 'email_address'); if($admin_info->user_id) { // Insert admin information $oMemberAdminController->insertAdmin($admin_info); // Log-in Processing $output = $oMemberController->doLogin($admin_info->user_id); } } // 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'); $oDB->addIndex("member_openid_association","idx_assoc", array("server_url(255)","handle"), false); return new Object(); } /** * @brief a method to check if successfully installed **/ function checkUpdate() { $oDB = &DB::getInstance(); $oModuleModel = &getModel('module'); // check member directory (11/08/2007 added) if(!is_dir("./files/member_extra_info")) return true; // check member directory (22/10/2007 added) if(!is_dir("./files/member_extra_info/profile_image")) return true; // Add a column(is_register) to "member_auth_mail" table (22/04/2008) $act = $oDB->isColumnExists("member_auth_mail", "is_register"); if(!$act) return true; // Add a column(site_srl) to "member_group_member" table (11/15/2008) if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true; if(!$oDB->isColumnExists("member_group", "site_srl")) return true; if($oDB->isIndexExists("member_group","uni_member_group_title")) return true; // Add a column for image_mark (02/14/2009) if(!$oDB->isColumnExists("member_group", "image_mark")) return true; // Add c column for password expiration date if(!$oDB->isColumnExists("member", "change_password_date")) return true; // Add columns of question and answer to verify a password if(!$oDB->isColumnExists("member", "find_account_question")) return true; if(!$oDB->isColumnExists("member", "find_account_answer")) return true; if(!$oDB->isColumnExists("member", "list_order")) return true; if(!$oDB->isIndexExists("member","idx_list_order")) return true; return false; } /** * @brief Execute update **/ function moduleUpdate() { $oDB = &DB::getInstance(); $oModuleController = &getController('module'); // Check member directory FileHandler::makeDir('./files/member_extra_info/image_name'); FileHandler::makeDir('./files/member_extra_info/image_mark'); FileHandler::makeDir('./files/member_extra_info/signature'); FileHandler::makeDir('./files/member_extra_info/profile_image'); // Add a column if (!$oDB->isColumnExists("member_auth_mail", "is_register")) { $oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true); } // Add a column(site_srl) to "member_group_member" table (11/15/2008) if (!$oDB->isColumnExists("member_group_member", "site_srl")) { $oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true); $oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false); } if (!$oDB->isColumnExists("member_group", "site_srl")) { $oDB->addColumn("member_group", "site_srl", "number", 11, 0, true); $oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true); } if($oDB->isIndexExists("member_group","uni_member_group_title")) { $oDB->dropIndex("member_group","uni_member_group_title",true); } // Add a column for image_mark (02/14/2009) if(!$oDB->isColumnExists("member_group", "image_mark")) { $oDB->addColumn("member_group", "image_mark", "text"); } // Add a column for password expiration date if(!$oDB->isColumnExists("member", "change_password_date")) { $oDB->addColumn("member", "change_password_date", "date"); executeQuery('member.updateAllChangePasswordDate'); } // Add columns of question and answer to verify a password if(!$oDB->isColumnExists("member", "find_account_question")) { $oDB->addColumn("member", "find_account_question", "number", 11); } if(!$oDB->isColumnExists("member", "find_account_answer")) { $oDB->addColumn("member", "find_account_answer", "varchar", 250); } if(!$oDB->isColumnExists("member", "list_order")) { $oDB->addColumn("member", "list_order", "number", 11); set_time_limit(0); $args->list_order = 'member_srl'; executeQuery('member.updateMemberListOrderAll',$args); executeQuery('member.updateMemberListOrderAll'); } if(!$oDB->isIndexExists("member","idx_list_order")) { $oDB->addIndex("member","idx_list_order", array("list_order")); } return new Object(0, 'success_updated'); } /** * @brief Re-generate the cache file **/ function recompileCache() { set_include_path(_XE_PATH_."modules/member/php-openid-1.2.3"); require_once('Auth/OpenID/XEStore.php'); $store = new Auth_OpenID_XEStore(); $store->reset(); } } ?>