2015-11-16 54 views
1

我無法從他們的Kunena個人資料中獲取某人的用戶ID,以便使用已插入的收件人姓名打開一條新的私人消息。我得到的最接近是下面的代碼,這將插入我自己的用戶名...獲取其他人的消息用戶ID

defined('_JEXEC') or die(); 

class KunenaPrivateUddeIM extends KunenaPrivate 
{ 
protected $uddeim = null; 
protected $params = null; 

/** 
* @param $params 
*/ 
public function __construct($params) 
{ 
    $this->params = $params; 

    if (!class_exists('uddeIMAPI')) 
    { 
     return; 
    } 

    $this->uddeim = new uddeIMAPI(); 

    if ($this->uddeim->version() < 1) 
    { 
     return; 
    } 
} 

/** 
* @param $userid 
* 
* @return string 
*/ 
protected function getURL($userid) 
{ 
    static $itemid = false; 

    if ($itemid === false) 
    { 
     $itemid = 0; 

     if (method_exists($this->uddeim, 'getItemid')) 
     { 
      $itemid = $this->uddeim->getItemid(); 
     } 

     if ($itemid) 
     { 
      $itemid = '&Itemid=' . (int) $itemid; 
     } 
     else 
     { 
      $itemid = ''; 
     } 
    } 

    return JRoute::_('index.php?option=com_uddeim&task=new&recip=' . (int) $userid . $itemid); 
} 

/** 
* @param $userid 
* 
* @return mixed 
*/ 
public function getUnreadCount($userid) 
{ 
    return $this->uddeim->getInboxUnreadMessages($userid); 
} 

/** 
* @param $text 
* 
* @return string 
*/ 
public function getInboxLink($text) 
{ 
    if (!$text) 
    { 
     $text = JText::_('COM_KUNENA_PMS_INBOX'); 
    } 

    return '<a href="' . JRoute::_($this->uddeim->getLinkToBox('inbox', false)) . '" rel="follow">' . $text . '</a>'; 
} 

/** 
* @return string 
*/ 
public function getInboxURL() 
{ 
$user = JFactory::getUser($userid); 
return JRoute::_('index.php?option=com_uddeim&task=new&recip=' . ($user ->id)); 
} 

}

回答

0

改變這一行:

return JRoute::_('index.php?option=com_uddeim&task=new&recip=' . (JFactory::getUser()->id)); 

以下2行:

$user = JFactory::getUser($userid); 
return JRoute::_('index.php?option=com_uddeim&task=new&recip=' . ($user ->id)); 

你可以查看我們之前寫過的這篇文章(它是爲Joomla 2.5編寫的,但它仍然有效,前請務必刪除&)如何檢索Joomla中的非緩存用戶:http://www.itoctopus.com/how-to-retrieve-the-non-cached-user-information-from-joomla

+0

似乎要在收件人字段中添加我自己的用戶名仍然...我讀取了您發送的鏈接以及 – brigitte18

+0

請現在嘗試 - 我已修復代碼(將'$ userId'更改爲' $ userid') – itoctopus

+0

我會發布整個代碼,以便查看是否有干擾。我現在更新問題 – brigitte18

相關問題