Fix #1373 add classname to popup menu items

This commit is contained in:
Kijin Sung 2020-08-03 14:01:18 +09:00
parent 1e2317f313
commit 5571a16619
4 changed files with 14 additions and 6 deletions

View file

@ -206,26 +206,33 @@
for(var i=0;i<item.length;i++) { for(var i=0;i<item.length;i++) {
var url = item[i].url; var url = item[i].url;
var str = item[i].str; var str = item[i].str;
var classname = item[i]['class'];
var icon = item[i].icon; var icon = item[i].icon;
var target = item[i].target; var target = item[i].target;
var actmatch = url.match(/\bact=(\w+)/) || url.match(/\b((?:disp|proc)\w+)/);
var act = actmatch ? actmatch[1] : null;
var classText = 'class="' + (classname ? classname : (act ? (act + ' ') : ''));
var styleText = ""; var styleText = "";
var click_str = ""; var click_str = "";
/* if(icon) styleText = " style=\"background-image:url('"+icon+"')\" "; */ /* if(icon) styleText = " style=\"background-image:url('"+icon+"')\" "; */
switch(target) { switch(target) {
case "popup" : case "popup" :
click_str = 'onclick="popopen(this.href, \''+target+'\'); return false;"'; click_str = 'onclick="popopen(this.href, \''+target+'\'); return false;"';
classText += 'popup ';
break; break;
case "javascript" : case "javascript" :
click_str = 'onclick="'+url+'; return false; "'; click_str = 'onclick="'+url+'; return false; "';
classText += 'script ';
url='#'; url='#';
break; break;
default : default :
click_str = 'target="_blank"'; click_str = 'target="_blank"';
break; break;
} }
classText = classText.trim() + '" ';
html += '<li '+styleText+'><a href="'+url+'" '+click_str+'>'+str+'</a></li> '; html += '<li '+classText+styleText+'><a href="'+url+'" '+click_str+'>'+str+'</a></li> ';
} }
} }
} }

View file

@ -751,7 +751,7 @@ class boardController extends board
} }
$url = getUrl('', 'mid', $mid, 'member_srl', $obj->member_srl); $url = getUrl('', 'mid', $mid, 'member_srl', $obj->member_srl);
getController('member')->addMemberPopupMenu($url, 'cmd_view_own_document', ''); getController('member')->addMemberPopupMenu($url, 'cmd_view_own_document', '', 'self', 'board_own_document');
} }
/** /**

View file

@ -2467,7 +2467,7 @@ class memberController extends member
/** /**
* Nickname and click Log In to add a pop-up menu that appears when the method * Nickname and click Log In to add a pop-up menu that appears when the method
*/ */
function addMemberPopupMenu($url, $str, $icon = '', $target = 'self') function addMemberPopupMenu($url, $str, $icon = '', $target = 'self', $class = '')
{ {
$member_popup_menu_list = Context::get('member_popup_menu_list'); $member_popup_menu_list = Context::get('member_popup_menu_list');
if(!is_array($member_popup_menu_list)) $member_popup_menu_list = array(); if(!is_array($member_popup_menu_list)) $member_popup_menu_list = array();
@ -2475,7 +2475,8 @@ class memberController extends member
$obj = new stdClass; $obj = new stdClass;
$obj->url = $url; $obj->url = $url;
$obj->str = $str; $obj->str = $str;
$obj->icon = $icon; $obj->class = $class;
$obj->icon = $icon ?: null;
$obj->target = $target; $obj->target = $target;
$member_popup_menu_list[] = $obj; $member_popup_menu_list[] = $obj;

View file

@ -210,13 +210,13 @@ class memberModel extends member
// View homepage info // View homepage info
if($member_info->homepage && $homepage_is_public) if($member_info->homepage && $homepage_is_public)
{ {
$oMemberController->addMemberPopupMenu(escape($member_info->homepage, false), 'homepage', '', 'blank'); $oMemberController->addMemberPopupMenu(escape($member_info->homepage, false), 'homepage', '', 'blank', 'homepage');
} }
// View blog info // View blog info
if($member_info->blog && $blog_is_public) if($member_info->blog && $blog_is_public)
{ {
$oMemberController->addMemberPopupMenu(escape($member_info->blog, false), 'blog', '', 'blank'); $oMemberController->addMemberPopupMenu(escape($member_info->blog, false), 'blog', '', 'blank', 'blog');
} }
// Call a trigger (after) // Call a trigger (after)