Fix #2522 browser titles for member pages not following admin template

This commit is contained in:
Kijin Sung 2025-03-13 23:21:33 +09:00
parent beec50f217
commit fd103ba67d
4 changed files with 46 additions and 33 deletions

View file

@ -848,15 +848,10 @@ class ModuleHandler extends Handler
$seo_title = config('seo.subpage_title') ?: '$SITE_TITLE - $SUBPAGE_TITLE'; $seo_title = config('seo.subpage_title') ?: '$SITE_TITLE - $SUBPAGE_TITLE';
} }
$seo_title = Context::replaceUserLang($seo_title); $seo_title = Context::replaceUserLang($seo_title);
$subpage_title = $module_info->browser_title;
if (in_array($module_info->module, ['member']))
{
$subpage_title = '';
}
Context::setBrowserTitle($seo_title, array( Context::setBrowserTitle($seo_title, array(
'site_title' => Context::getSiteTitle(), 'site_title' => Context::getSiteTitle(),
'site_subtitle' => Context::getSiteSubtitle(), 'site_subtitle' => Context::getSiteSubtitle(),
'subpage_title' => $subpage_title, 'subpage_title' => $module_info->browser_title,
'page' => Context::get('page') ?: 1, 'page' => Context::get('page') ?: 1,
)); ));

View file

@ -139,11 +139,11 @@ class CommunicationView extends communication
if ($message) if ($message)
{ {
Context::addBrowserTitle($message->title); MemberView::setMemberPageBrowserTitle($message->title);
} }
else else
{ {
Context::addBrowserTitle(lang('communication.message_box.' . $message_type)); MemberView::setMemberPageBrowserTitle(lang('communication.message_box.' . $message_type));
} }
$this->setTemplateFile($template_filename); $this->setTemplateFile($template_filename);
@ -186,7 +186,7 @@ class CommunicationView extends communication
Context::set('message', $message); Context::set('message', $message);
} }
Context::addBrowserTitle($message->title ?? lang('cmd_view_message_box')); MemberView::setMemberPageBrowserTitle($message->title ?? lang('cmd_view_message_box'));
$this->setTemplateFile('new_message'); $this->setTemplateFile('new_message');
} }
@ -313,7 +313,7 @@ class CommunicationView extends communication
$editor = $oEditorModel->getEditor(getNextSequence(), $option); $editor = $oEditorModel->getEditor(getNextSequence(), $option);
$editor = $editor . "\n" . '<input type="hidden" name="temp_srl" value="" />' . "\n"; $editor = $editor . "\n" . '<input type="hidden" name="temp_srl" value="" />' . "\n";
Context::set('editor', $editor); Context::set('editor', $editor);
Context::addBrowserTitle(lang('cmd_send_message')); MemberView::setMemberPageBrowserTitle(lang('cmd_send_message'));
$this->setTemplateFile('send_message'); $this->setTemplateFile('send_message');
// Fix for skins that don't support window_type=self // Fix for skins that don't support window_type=self
@ -387,7 +387,7 @@ class CommunicationView extends communication
Context::set('friend_list', $output->data); Context::set('friend_list', $output->data);
Context::set('page_navigation', $output->page_navigation); Context::set('page_navigation', $output->page_navigation);
Context::addBrowserTitle(lang('cmd_view_friend')); MemberView::setMemberPageBrowserTitle(lang('cmd_view_friend'));
$this->setTemplateFile('friends'); $this->setTemplateFile('friends');
} }
@ -460,7 +460,7 @@ class CommunicationView extends communication
$friend_group_list = $oCommunicationModel->getFriendGroups(); $friend_group_list = $oCommunicationModel->getFriendGroups();
Context::set('friend_group_list', $friend_group_list); Context::set('friend_group_list', $friend_group_list);
Context::addBrowserTitle(lang('cmd_add_friend')); MemberView::setMemberPageBrowserTitle(lang('cmd_add_friend'));
$this->setTemplateFile('add_friend'); $this->setTemplateFile('add_friend');
// Fix for skins that don't support window_type=self // Fix for skins that don't support window_type=self
@ -524,7 +524,7 @@ class CommunicationView extends communication
} }
} }
Context::addBrowserTitle(lang('cmd_add_friend_group')); MemberView::setMemberPageBrowserTitle(lang('cmd_add_friend_group'));
$this->setTemplateFile('add_friend_group'); $this->setTemplateFile('add_friend_group');
// Fix for skins that don't support window_type=self // Fix for skins that don't support window_type=self

View file

@ -114,6 +114,24 @@ class MemberView extends Member
} }
} }
/**
* Set the browser title for a page belonging to the member menu.
*
* @param string $title
* @return void
*/
public static function setMemberPageBrowserTitle(string $title): void
{
$seo_title = config('seo.subpage_title') ?: '$SITE_TITLE - $SUBPAGE_TITLE';
$seo_title = Context::replaceUserLang($seo_title);
Context::setBrowserTitle($seo_title, array(
'site_title' => Context::getSiteTitle(),
'site_subtitle' => Context::getSiteSubtitle(),
'subpage_title' => $title,
'page' => Context::get('page') ?: 1,
));
}
/** /**
* Module index * Module index
*/ */
@ -181,7 +199,7 @@ class MemberView extends Member
$member_info->group_list[$key] = Context::replaceUserLang($val, true); $member_info->group_list[$key] = Context::replaceUserLang($val, true);
} }
Context::addBrowserTitle(lang('cmd_view_member_info')); self::setMemberPageBrowserTitle(lang('cmd_view_member_info'));
Context::set('memberInfo', get_object_vars($member_info)); Context::set('memberInfo', get_object_vars($member_info));
$extendForm = MemberModel::getCombineJoinForm($member_info); $extendForm = MemberModel::getCombineJoinForm($member_info);
@ -376,7 +394,7 @@ class MemberView extends Member
$member_config->agreement = $member_config->agreements[1]->content ?? ''; $member_config->agreement = $member_config->agreements[1]->content ?? '';
// Set a template file // Set a template file
Context::addBrowserTitle(lang('cmd_signup')); self::setMemberPageBrowserTitle(lang('cmd_signup'));
$this->setTemplateFile('signup_form'); $this->setTemplateFile('signup_form');
} }
@ -413,7 +431,7 @@ class MemberView extends Member
Context::set('identifierValue', $logged_info->user_id); Context::set('identifierValue', $logged_info->user_id);
} }
Context::addBrowserTitle(lang('cmd_modify_member_info')); self::setMemberPageBrowserTitle(lang('cmd_modify_member_info'));
$this->setTemplateFile('rechecked_password'); $this->setTemplateFile('rechecked_password');
} }
@ -499,7 +517,7 @@ class MemberView extends Member
$this->addExtraFormValidatorMessage(); $this->addExtraFormValidatorMessage();
// Set a template file // Set a template file
Context::addBrowserTitle(lang('cmd_modify_member_info')); self::setMemberPageBrowserTitle(lang('cmd_modify_member_info'));
$this->setTemplateFile('modify_info'); $this->setTemplateFile('modify_info');
} }
@ -550,7 +568,7 @@ class MemberView extends Member
$oSecurity = new Security(); $oSecurity = new Security();
$oSecurity->encodeHTML('document_list...title', 'search_target', 'search_keyword'); $oSecurity->encodeHTML('document_list...title', 'search_target', 'search_keyword');
Context::addBrowserTitle(lang('cmd_view_own_document')); self::setMemberPageBrowserTitle(lang('cmd_view_own_document'));
$this->setTemplateFile('document_list'); $this->setTemplateFile('document_list');
} }
@ -598,7 +616,7 @@ class MemberView extends Member
$oSecurity = new Security(); $oSecurity = new Security();
$oSecurity->encodeHTML('search_target', 'search_keyword'); $oSecurity->encodeHTML('search_target', 'search_keyword');
Context::addBrowserTitle(lang('cmd_view_own_comment')); self::setMemberPageBrowserTitle(lang('cmd_view_own_comment'));
$this->setTemplateFile('comment_list'); $this->setTemplateFile('comment_list');
} }
@ -708,7 +726,7 @@ class MemberView extends Member
$security = new Security($output->data); $security = new Security($output->data);
$security->encodeHTML('..nick_name'); $security->encodeHTML('..nick_name');
Context::addBrowserTitle(lang('cmd_view_scrapped_document')); self::setMemberPageBrowserTitle(lang('cmd_view_scrapped_document'));
$this->setTemplateFile('scrapped_list'); $this->setTemplateFile('scrapped_list');
} }
@ -743,7 +761,7 @@ class MemberView extends Member
Context::set('document_list', $output->data); Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation); Context::set('page_navigation', $output->page_navigation);
Context::addBrowserTitle(lang('cmd_view_saved_document')); self::setMemberPageBrowserTitle(lang('cmd_view_saved_document'));
$this->setTemplateFile('saved_list'); $this->setTemplateFile('saved_list');
} }
@ -783,7 +801,7 @@ class MemberView extends Member
$output = executeQueryArray('member.getMemberDevice', $args); $output = executeQueryArray('member.getMemberDevice', $args);
Context::set('registered_devices', $output->data); Context::set('registered_devices', $output->data);
Context::addBrowserTitle(lang('cmd_view_active_logins')); self::setMemberPageBrowserTitle(lang('cmd_view_active_logins'));
$this->setTemplateFile('active_logins'); $this->setTemplateFile('active_logins');
} }
@ -822,7 +840,7 @@ class MemberView extends Member
} }
// Set a template file // Set a template file
Context::addBrowserTitle(lang('cmd_login')); self::setMemberPageBrowserTitle(lang('cmd_login'));
$this->setTemplateFile('login_form'); $this->setTemplateFile('login_form');
} }
@ -858,7 +876,7 @@ class MemberView extends Member
Context::set('formValue', $member_info->email_address); Context::set('formValue', $member_info->email_address);
} }
// Set a template file // Set a template file
Context::addBrowserTitle(lang('cmd_modify_member_password')); self::setMemberPageBrowserTitle(lang('cmd_modify_member_password'));
$this->setTemplateFile('modify_password'); $this->setTemplateFile('modify_password');
} }
@ -893,7 +911,7 @@ class MemberView extends Member
Context::set('formValue', $member_info->email_address); Context::set('formValue', $member_info->email_address);
} }
// Set a template file // Set a template file
Context::addBrowserTitle(lang('msg_leave_member')); self::setMemberPageBrowserTitle(lang('msg_leave_member'));
$this->setTemplateFile('leave_form'); $this->setTemplateFile('leave_form');
} }
@ -948,7 +966,7 @@ class MemberView extends Member
Context::set('identifier', $this->member_config->identifier); Context::set('identifier', $this->member_config->identifier);
Context::set('enable_find_account_question', 'N'); Context::set('enable_find_account_question', 'N');
Context::addBrowserTitle(lang('cmd_find_member_account')); self::setMemberPageBrowserTitle(lang('cmd_find_member_account'));
$this->setTemplateFile('find_member_account'); $this->setTemplateFile('find_member_account');
} }
@ -967,7 +985,7 @@ class MemberView extends Member
return; return;
} }
Context::addBrowserTitle(lang('cmd_resend_auth_mail')); self::setMemberPageBrowserTitle(lang('cmd_resend_auth_mail'));
$this->setTemplateFile('resend_auth_mail'); $this->setTemplateFile('resend_auth_mail');
} }
@ -987,7 +1005,7 @@ class MemberView extends Member
$_SESSION['rechecked_password_step'] = 'INPUT_DATA'; $_SESSION['rechecked_password_step'] = 'INPUT_DATA';
Context::addBrowserTitle(lang('cmd_modify_member_email_address')); self::setMemberPageBrowserTitle(lang('cmd_modify_member_email_address'));
$this->setTemplateFile('modify_email_address'); $this->setTemplateFile('modify_email_address');
} }
@ -1106,7 +1124,7 @@ class MemberView extends Member
Context::set('nickname_list', $output->data); Context::set('nickname_list', $output->data);
Context::set('page_navigation', $output->page_navigation); Context::set('page_navigation', $output->page_navigation);
Context::addBrowserTitle(lang('cmd_modify_nickname_log')); self::setMemberPageBrowserTitle(lang('cmd_modify_nickname_log'));
$this->setTemplateFile('member_nick'); $this->setTemplateFile('member_nick');
} }
} }

View file

@ -28,7 +28,7 @@ class NcenterliteView extends Ncenterlite
Context::set('ncenterlite_list', $output->data); Context::set('ncenterlite_list', $output->data);
Context::set('page_navigation', $output->page_navigation); Context::set('page_navigation', $output->page_navigation);
Context::addBrowserTitle(lang('ncenterlite_my_list')); MemberView::setMemberPageBrowserTitle(lang('ncenterlite_my_list'));
$this->setTemplateFileOrDefault('NotifyList'); $this->setTemplateFileOrDefault('NotifyList');
} }
@ -86,7 +86,7 @@ class NcenterliteView extends Ncenterlite
Context::set('sms_available', Rhymix\Framework\SMS::getDefaultDriver()->getName() !== 'Dummy'); Context::set('sms_available', Rhymix\Framework\SMS::getDefaultDriver()->getName() !== 'Dummy');
Context::set('push_available', count(Rhymix\Framework\Config::get('push.types') ?? []) > 0); Context::set('push_available', count(Rhymix\Framework\Config::get('push.types') ?? []) > 0);
Context::addBrowserTitle(lang('ncenterlite_my_settings')); MemberView::setMemberPageBrowserTitle(lang('ncenterlite_my_settings'));
$this->setTemplateFileOrDefault('userconfig'); $this->setTemplateFileOrDefault('userconfig');
} }
@ -140,7 +140,7 @@ class NcenterliteView extends Ncenterlite
Context::set('unsubscribe_list', $output->data); Context::set('unsubscribe_list', $output->data);
Context::set('page_navigation', $output->page_navigation); Context::set('page_navigation', $output->page_navigation);
Context::addBrowserTitle(lang('unsubscribe_list')); MemberView::setMemberPageBrowserTitle(lang('unsubscribe_list'));
$this->setTemplateFileOrDefault('unsubscribeList'); $this->setTemplateFileOrDefault('unsubscribeList');
} }
@ -230,7 +230,7 @@ class NcenterliteView extends Ncenterlite
Context::set('text', $text); Context::set('text', $text);
Context::set('type', $type); Context::set('type', $type);
Context::addBrowserTitle(lang('unsubscribe_list')); MemberView::setMemberPageBrowserTitle(lang('unsubscribe_list'));
$this->setTemplateFileOrDefault('unsubscribe'); $this->setTemplateFileOrDefault('unsubscribe');
} }