From 8e4a8dc4edcdf22f8581b85ea1f157e1f4c5b6d1 Mon Sep 17 00:00:00 2001 From: devjin Date: Mon, 6 Aug 2012 13:12:18 +0000 Subject: [PATCH] issue 1000 add function that select layout on module of member. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@10989 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/member.admin.controller.php | 1 + modules/member/member.admin.view.php | 6 +++ modules/member/member.model.php | 9 +++- modules/member/member.view.php | 48 +++++++++++----------- modules/member/tpl/member_config.html | 8 ++++ 5 files changed, 46 insertions(+), 26 deletions(-) diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 4c473ead4..85bcaacb5 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -143,6 +143,7 @@ 'after_login_url', 'after_logout_url', 'redirect_url', + 'layout_srl', 'skin', 'colorset', 'profile_image', 'profile_image_max_width', 'profile_image_max_height', diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 04d948b5f..2a236eef6 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -109,6 +109,12 @@ Context::set('config',$config); + // Get a layout list + $oLayoutModel = &getModel('layout'); + $layout_list = $oLayoutModel->getLayoutList(); + + Context::set('layout_list', $layout_list); + // list of skins for member module $skin_list = $oModuleModel->getSkins($this->module_path); Context::set('skin_list', $skin_list); diff --git a/modules/member/member.model.php b/modules/member/member.model.php index 322c8eb1a..feca88ca6 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -46,7 +46,8 @@ if(!$config->image_mark_max_height) $config->image_mark_max_height = 20; if(!$config->profile_image_max_width) $config->profile_image_max_width = 80; if(!$config->profile_image_max_height) $config->profile_image_max_height = 80; - if(!$config->skin) $config->skin = "default"; + if(!$config->skin) $config->skin = 'default'; + if(!$config->colorset) $config->colorset = 'white'; if(!$config->editor_skin || $config->editor_skin == 'default') $config->editor_skin = "xpresseditor"; if(!$config->group_image_mark) $config->group_image_mark = "N"; @@ -54,6 +55,12 @@ if (!$config->max_error_count) $config->max_error_count = 10; if (!$config->max_error_count_time) $config->max_error_count_time = 300; + if (!$config->layout_srl) + { + $oModuleModel = &getModel('module'); + $defaultModuleInfo = $oModuleModel->getDefaultMid(); + $config->layout_srl = $defaultModuleInfo->layout_srl; + } return $config; } diff --git a/modules/member/member.view.php b/modules/member/member.view.php index df88ca701..fd2002ed7 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -16,17 +16,23 @@ **/ function init() { // Get the member configuration - $oModuleModel = &getModel('module'); - $this->member_config = $oModuleModel->getModuleConfig('member'); - if(!$this->member_config->skin) $this->member_config->skin = "default"; - if(!$this->member_config->colorset) $this->member_config->colorset = "white"; - + $oMemberModel = &getModel('member'); + $this->member_config = $oMemberModel->getMemberConfig(); Context::set('member_config', $this->member_config); + $skin = $this->member_config->skin; // Set the template path $tpl_path = sprintf('%sskins/%s', $this->module_path, $skin); if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default'); $this->setTemplatePath($tpl_path); + + $oLayoutModel = &getModel('layout'); + $layout_info = $oLayoutModel->getLayout($this->member_config->layout_srl); + if($layout_info) + { + $this->setLayoutPath($layout_info->path); + $this->setLayoutFile('layout'); + } } /** @@ -45,10 +51,6 @@ return $this->dispMemberSignUpForm(); } - $oModuleModel = &getModel('module'); - $member_config = $oMemberModel->getMemberConfig(); - Context::set('member_config', $member_config); - $site_module_info = Context::get('site_module_info'); $columnList = array('member_srl', 'user_id', 'email_address', 'user_name', 'nick_name', 'homepage', 'blog', 'birthday', 'regdate', 'last_login', 'extra_vars'); $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, $site_module_info->site_srl, $columnList); @@ -83,21 +85,20 @@ //setcookie for redirect url in case of going to member sign up setcookie("XE_REDIRECT_URL", $_SERVER['HTTP_REFERER']); + $member_config = $this->member_config; + $oMemberModel = &getModel('member'); // Get the member information if logged-in if($oMemberModel->isLogged()) return $this->stop('msg_already_logged'); // call a trigger (before) - $trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $this->member_config); + $trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $member_config); if(!$trigger_output->toBool()) return $trigger_output; // Error appears if the member is not allowed to join - if($this->member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled'); + if($member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled'); $oMemberAdminView = &getAdminView('member'); $formTags = $oMemberAdminView->_getMemberInputTag($member_info); Context::set('formTags', $formTags); - - $member_config = $oMemberModel->getMemberConfig(); - Context::set('member_config', $member_config); global $lang; $identifierForm->title = $lang->{$member_config->identifier}; @@ -113,9 +114,9 @@ * @brief Modify member information **/ function dispMemberModifyInfo() { + $member_config = $this->member_config; + $oMemberModel = &getModel('member'); - $oModuleModel = &getModel('module'); - $memberModuleConfig = $oModuleModel->getModuleConfig('member'); // A message appears if the user is not logged-in if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); @@ -141,8 +142,8 @@ $option->resizable = false; $option->disable_html = true; $option->height = 200; - $option->skin = $this->member_config->editor_skin; - $option->colorset = $this->member_config->editor_colorset; + $option->skin = $member_config->editor_skin; + $option->colorset = $member_config->editor_colorset; $editor = $oEditorModel->getEditor($member_info->member_srl, $option); Context::set('editor', $editor); } @@ -151,9 +152,6 @@ $formTags = $oMemberAdminView->_getMemberInputTag($member_info); Context::set('formTags', $formTags); - $member_config = $oMemberModel->getMemberConfig(); - Context::set('member_config', $member_config); - global $lang; $identifierForm->title = $lang->{$member_config->identifier}; $identifierForm->name = $member_config->identifier; @@ -246,7 +244,7 @@ // get member module configuration. $oMemberModel = &getModel('member'); - $config = $oMemberModel->getMemberConfig(); + $config = $this->member_config; Context::set('identifier', $config->identifier); // Set a template file @@ -264,7 +262,7 @@ // A message appears if the user is not logged-in if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); - $memberConfig = $oMemberModel->getMemberConfig(); + $memberConfig = $this->member_config; $logged_info = Context::get('logged_info'); $member_srl = $logged_info->member_srl; @@ -295,7 +293,7 @@ // A message appears if the user is not logged-in if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged'); - $memberConfig = $oMemberModel->getMemberConfig(); + $memberConfig = $this->member_config; $logged_info = Context::get('logged_info'); $member_srl = $logged_info->member_srl; @@ -346,7 +344,7 @@ if(Context::get('is_logged')) return $this->stop('already_logged'); $oMemberModel = &getModel('member'); - $config = $oMemberModel->getMemberConfig(); + $config = $this->member_config; Context::set('identifier', $config->identifier); diff --git a/modules/member/tpl/member_config.html b/modules/member/tpl/member_config.html index 7094bb5a1..ab1f0bfb0 100644 --- a/modules/member/tpl/member_config.html +++ b/modules/member/tpl/member_config.html @@ -81,6 +81,14 @@

{$lang->about_redirect_url}

+
  • +

    +

    + +

    +