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++) {
var url = item[i].url;
var str = item[i].str;
var classname = item[i]['class'];
var icon = item[i].icon;
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 click_str = "";
/* if(icon) styleText = " style=\"background-image:url('"+icon+"')\" "; */
switch(target) {
case "popup" :
click_str = 'onclick="popopen(this.href, \''+target+'\'); return false;"';
classText += 'popup ';
break;
case "javascript" :
click_str = 'onclick="'+url+'; return false; "';
classText += 'script ';
url='#';
break;
default :
click_str = 'target="_blank"';
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);
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
*/
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');
if(!is_array($member_popup_menu_list)) $member_popup_menu_list = array();
@ -2475,7 +2475,8 @@ class memberController extends member
$obj = new stdClass;
$obj->url = $url;
$obj->str = $str;
$obj->icon = $icon;
$obj->class = $class;
$obj->icon = $icon ?: null;
$obj->target = $target;
$member_popup_menu_list[] = $obj;

View file

@ -210,13 +210,13 @@ class memberModel extends member
// View homepage info
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
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)