Phpbb3 version. I've added a player status for ajaxChat which works as it should by adding the following lines of code ...
loggedin.html
<label for="Status">Status:</label>
<select id="status" onchange="document.getElementById('looking').selectedIndex=0; ajaxChat.playerStatus(this.options[this.selectedIndex].value, 0);">
<option> </option>
<option>Here</option>
<option>Busy</option>
<option>Away</option>
<option>BRB</option>
<option>Need a Pard !</option>
</select>
<label for="lookingFor" style="background-color:#CFE7E2; color:black;"> Looking For: </label>
<select id="looking" onchange="document.getElementById('status').selectedIndex=0; ajaxChat.playerStatus(this.options[this.selectedIndex].value, 1);">
<option> </option>
<option>WGTLS 3</option>
<option>WGTLS 9</option>
<option>Match 9</option>
<option>Guilds Open (Alternate)</option>
<option>Guilds Open (Bestball)</option>
<option>Top Dog</option>
<option>WGTLS Tour</option>
<option>KO Tourney</option>
<option>League Tables</option>
<option>WGTLS Open</option>
<option>PGA (9 Holes)</option>
<option>PGA (18 Holes)</option>
<option>WGTLS Blitz</option>
</select
Ajaxchat.php
function playerstatus($status, $colour) {
if($this->isUserOnline($userid)) {
$this->setUserStatus($status);
$this->setUserStatusColour($colour);
$this->updateOnlineList();
$this->addInfoMessage($status, 'userStatus');
$this->addInfoMessage($colour, 'userStatusColour');
// Change status message
$text = '/playerstatus '.$this->getUserName().' '.rawurlencode($this->getUserStatus()).' '.$this->getUserStatusColour();
$this->insertChatBotMessage(
$this->getChannel(),
$text,
null,
1
);
}
// Re-initialize the view:
$this->initView();
}
chat.js
playerStatus: function(usernewStatus, colour) {
if(ajaxChat.inArray(ajaxChat.playerStatuses, usernewStatus)) {
clearTimeout(ajaxChat.timer);
var message = 'playerstatus=' + ajaxChat.encodeText(usernewStatus) + '&colour=' + colour;
ajaxChat.makeRequest(ajaxChat.ajaxURL,'POST',message);
}
},
which as I said earlier does exacty what I need to.
What I wanted to do was call this from an external PHP script to update the players status when a certain event happened.
I tried using the "Display online users" script ...
so it references the functions in Ajaxchat.php but when I call it using "$chatInterface->playerstatus($status, $colour) " nothing happens.
I'm no expert so may very well have missed something here.