2010-05-03 22:08:42Jonah
將Xoops的PM模組,將帳號名單改成真實姓名的清單
由於目前的PM模組(Xoops 2.4.2)
如果要傳訊給其他人,要記住其他人的帳號而沒有看到真實姓名還蠻困難的
感謝神讓我想到修改PM模組的方法
將PM模組改為可以顯示真實姓名的模組
提供修改步驟給大家,希望可以對XOOPS的站長們帶來幫助
步驟如下
1.修改Kernel目錄下的member.php
在XoopsMemberHandler這個class之下增加一個Function
function getUserRealNameList($criteria = null)
{
$users = $this->_uHandler->getObjects($criteria, true);
$ret = array();
foreach (array_keys($users) as $i) {
$ret[$i] = $users[$i]->getVar('name');
}
return $ret;
}
2.在class\xoopsforms的目錄下,複製formselectuser.php為formselectusername.php
把第34行改成
class XoopsFormSelectUserName extends XoopsFormElementTray
把第47行改成
function XoopsFormSelectUserName($caption, $name, $include_anon = false, $value = null, $size = 1, $multiple = false)
把第65行改成
$users = $member_handler->getUserRealNameList($criteria);
$users = $member_handler->getUserRealNameList($criteria);
3.修改modules\pm\pmlite.php
把第94行改成
$pm_uname = XoopsUser::getUnameFromId($pm->getVar("from_userid"),1);
把第117行改成
$GLOBALS['xoopsTpl']->assign('to_username', XoopsUser::getUnameFromId($_POST["to_userid"],1));
把第123行改成
$GLOBALS['xoopsTpl']->assign('to_username', XoopsUser::getUnameFromId($to_userid, 1));
把第125行與第126行
$to_username = new XoopsFormSelectUser('', 'to_userid');
$GLOBALS['xoopsTpl']->assign('to_username', $to_username->render());
改成以下兩行文字
require_once $GLOBALS['xoops']->path('class/xoopsform/formselectusername.php');
$to_username = new XoopsFormSelectUserName('', 'to_userid');
4.然後進入管理區更新模組,就大功告成了
相關檔案下載http://www.ballsum.com.tw/pm_hack_www.zip
本修改的方法,歡迎共享
作者:林哲安(jonah@hopechurch.org.tw)
上一篇:2010.3.15小老闆日記
下一篇:有夢雖美,美不過柴米油鹽...
jim
2011-11-10 10:40:52
3.修改modules\pm\pmlite.php
把第125行與第126行
$to_username = new XoopsFormSelectUser('', 'to_userid');
$GLOBALS['xoopsTpl']->assign('to_username', $to_username->render());
改成以下三行文字
require_once $GLOBALS['xoops']->path('class/xoopsform/formselectusername.php');
$to_username = new XoopsFormSelectUserName('', 'to_userid');
$GLOBALS['xoopsTpl']->assign('to_username', $to_username->render());
這樣應該可以用
失敗者
2010-09-22 01:40:39
有的版本跟你一樣~
無論下載檔案,還是用key都不能使用~
收件人 那一欗 空白未帶入使用者
大大這篇寫得很好,剛好小弟需要,感謝您唷^^