issue 2471 fixed a bug that show the private information in mobile view.

added the mobile skin setting in member configuration.


git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11434 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2012-09-21 09:05:48 +00:00
parent d3cb41a17b
commit f6a83e335d
22 changed files with 538 additions and 425 deletions

View file

@ -1,223 +1,66 @@
<?php
class memberMobile extends member
require_once(_XE_PATH_.'modules/member/member.view.php');
class memberMobile extends memberView
{
/**
* Support method are
* dispMemberInfo, dispMemberSignUpForm, dispMemberFindAccount, dispMemberGetTempPassword, dispMemberModifyInfo, dispMemberModifyInfoBefore
*/
var $memberInfo;
function init() {
// Get the member configuration
$oModuleModel = &getModel('module');
$this->member_config = $oModuleModel->getModuleConfig('member');
function init()
{
// Get the member configuration
$oMemberModel = &getModel('member');
$this->member_config = $oMemberModel->getMemberConfig();
Context::set('member_config', $this->member_config);
$mskin = $this->member_config->mskin;
// Set the template path
if(!$mskin)
{
$mskin = 'default';
$template_path = sprintf('%sm.skins/%s', $this->module_path, $mskin);
}
else
{
$template_path = sprintf('%sm.skins/%s', $this->module_path, $mskin);
}
// if member_srl exists, set memberInfo
$member_srl = Context::get('member_srl');
if($member_srl) {
if($member_srl)
{
$oMemberModel = &getModel('member');
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
if(!$this->memberInfo) Context::set('member_srl','');
else Context::set('member_info',$this->memberInfo);
if(!$this->memberInfo)
{
Context::set('member_srl','');
}
else
{
Context::set('member_info',$this->memberInfo);
}
}
Context::set('member_config', $this->member_config);
$this->setTemplatePath($this->module_path.'tpl');
}
$this->setTemplatePath($template_path);
function dispMemberLoginForm() {
if(Context::get('is_logged')) {
Context::set('redirect_url', getUrl('act',''));
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('redirect.html');
return;
}
// get member module configuration.
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
Context::set('identifier', $config->identifier);
// Set a template file
Context::set('referer_url', htmlspecialchars($_SERVER['HTTP_REFERER']));
$this->setTemplateFile('login_form');
}
function dispMemberSignUpForm(){
$oMemberModel = &getModel('member');
if($oMemberModel->isLogged()) return $this->stop('msg_already_logged');
$trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $this->member_config);
if(!$trigger_output->toBool()) return $trigger_output;
if ($this->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};
$identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm);
// Set a template file
$this->setTemplateFile('signup_form');
}
function dispMemberInfo() {
$oMemberModel = &getModel('member');
$logged_info = Context::get('logged_info');
// Don't display member info to non-logged user
if(!$logged_info->member_srl) return $this->stop('msg_not_permitted');
$member_srl = Context::get('member_srl');
if(!$member_srl && Context::get('is_logged')) {
$member_srl = $logged_info->member_srl;
} elseif(!$member_srl) {
return $this->dispMemberSignUpForm();
}
$site_module_info = Context::get('site_module_info');
if(!$this->memberInfo)
$oLayoutModel = &getModel('layout');
$layout_info = $oLayoutModel->getLayout($this->member_config->mlayout_srl);
if($layout_info)
{
$columnList = array('user_name', 'nick_name', 'homepage', 'blog', 'birthday', 'regdate', 'last_login');
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, $site_module_info->site_srl, $columnList);
$this->setLayoutPath($layout_info->path);
}
unset($this->memberInfo->password);
unset($this->memberInfo->email_id);
unset($this->memberInfo->email_host);
unset($this->memberInfo->email_address);
if(!$this->memberInfo->member_srl) return $this->dispMemberSignUpForm();
Context::set('member_info', $this->memberInfo);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
$this->setTemplateFile('member_info_mobile');
}
}
/**
* @brief Find user ID and password
**/
function dispMemberFindAccount() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
Context::set('identifier', $config->identifier);
$this->setTemplateFile('find_member_account');
function dispMemberModifyInfo()
{
parent::dispMemberModifyInfo();
if($this->member_info)
{
Context::set('oMemberInfo', get_object_vars($this->member_info));
}
/**
* @brief Generate a temporary password
**/
function dispMemberGetTempPassword() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
Context::set('identifier', $config->identifier);
$user_id = Context::get('user_id');
$temp_password = $_SESSION['xe_temp_password_'.$user_id];
unset($_SESSION['xe_temp_password_'.$user_id]);
if(!$user_id||!$temp_password) return new Object(-1,'msg_invaild_request');
Context::set('temp_password', $temp_password);
$this->setTemplateFile('find_temp_password');
}
/**
* @brief Edit member profile
**/
function dispMemberModifyInfo() {
$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');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
if(!$this->memberInfo) $this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
$this->memberInfo->signature = $oMemberModel->getSignature($member_srl);
Context::set('member_info',$this->memberInfo);
// Receive a member join form
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
// Call getEditor of the editor module and set it for signiture
if($this->memberInfo->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->skin = $this->member_config->editor_skin;
$option->colorset = $this->member_config->editor_colorset;
$editor = $oEditorModel->getEditor($this->memberInfo->member_srl, $option);
Context::set('editor', $editor);
}
// Set a template file
$this->setTemplateFile('modify_info');
}
/**
* @brief Change the user password
**/
function dispMemberModifyPassword() {
$oMemberModel = &getModel('member');
// A message appears if the user is not logged-in
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$config = $oMemberModel->getMemberConfig();
Context::set('identifier', $config->identifier);
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
if(!$this->memberInfo) {
$columnList = array('member_srl', 'user_id');
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
}
Context::set('member_info',$this->memberInfo);
// Set a template file
$this->setTemplateFile('modify_password');
}
/**
* @brief Member withdrawl
**/
function dispMemberLeave() {
$oMemberModel = &getModel('member');
// A message appears if the user is not logged-in
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
if(!$this->memberInfo) {
$columnList = array('member_srl', 'user_id');
$this->memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
}
Context::set('member_info',$this->memberInfo);
// Set a template file
$this->setTemplateFile('leave_form');
}
}
}
?>