function sendNotification($id, $sender, $public)
{
    echo '<h1>';
    echo $sender ? 'With sender' : 'Without sender';
    echo ' and ';
    echo $public ? 'public' : 'private';
    echo '</h1>';
    $player = Dolumar_Players_Player::getFromId($id);
    $other = Dolumar_Players_Player::getFromId(Neuron_Core_Tools::getInput('_GET', 'from', 'int', 1));
    if ($sender) {
        echo '<p>Message was sent from ' . $other->getNickname() . '.</p>';
    }
    $player->sendNotification('test', 'system', array('target' => $other, 'defender' => $other->getMainVillage(), 'pl_defender' => $other, 'village' => $player->getMainVillage(), 'player' => $player), $sender ? $other : null, $public);
    echo '<p style="color: green;">A notification has been sent to user ' . $player->getName() . '.</p>';
}
<?php

$player = new Dolumar_Players_Player(1);
echo print_r($player->calculateNewStartLocation(array(0, 0), Dolumar_Races_Race::getRace('DarkElves')));
Example #3
0
 public function addEndVacationLog(Dolumar_Players_Player $member)
 {
     $village = $member->getMainVillage();
     $this->addLog($village, 'vacation_end');
 }
<?php

define('NOTIFICATION_DEBUG', true);
//echo '<h1>With sender & private</h1>';
//$player->sendNotification ('test', 'system', array ('user' => $other), $other);
$plid = Neuron_Core_Tools::getInput('_GET', 'id', 'int', 0);
$action = Neuron_Core_Tools::getInput('_GET', 'action', 'varchar', false);
$player = $plid > 0 ? Dolumar_Players_Player::getFromId($plid) : false;
if ($player) {
    $player->updateScore();
} else {
    echo '<p style="color: red;">User not found! Append id=USER_ID to the URL.</p>';
}
<?php

define('NOTIFICATION_DEBUG', true);
$player = Dolumar_Players_Player::getFromId(612);
//echo '<h1>With sender & private</h1>';
//$player->sendNotification ('test', 'system', array ('user' => $other), $other);
echo '<h1>Updating profilebox</h1>';
/*
	$pl_attacker->sendNotification 
	(
		'attacking', 
		'battle', 
		array
		(
			'defender' => $oTarget,
			'pl_defender' => $oTarget->getOwner (),
			'village' => $this
		),
		$pl_attacker,
		true // This is a public message
	);
*/
$player->updateProfilebox();
echo '<p style="color: green;">Players ' . $player->getName() . ' profilebox has been updated.</p>';
Example #6
0
 public function getPlayerSide(Dolumar_Players_Player $player)
 {
     //return new Dolumar_Underworld_Models_Side (1);
     $clan = $player->getMainClan();
     if ($clan) {
         if ($side = $this->getSide($clan)) {
             return $side;
         } else {
             return new Dolumar_Underworld_Models_Side(0);
         }
     } else {
         return new Dolumar_Underworld_Models_Side(0);
     }
 }
Example #7
0
 public static function removeLeader(Dolumar_Underworld_Models_Army $army, Dolumar_Players_Player $player)
 {
     Neuron_DB_Database::getInstance()->query("\n\t\t\tDELETE FROM\n\t\t\t\tunderworld_armies_leaders\n\t\t\tWHERE\n\t\t\t\tua_id = {$army->getId()} AND\n\t\t\t\tplid = {$player->getId()}\n\t\t");
 }
Example #8
0
 public function canView(Dolumar_Players_Player $me)
 {
     $mission = $this->getMap()->getMission();
     $side = $mission->getSide($me->getMainClan());
     return $this->getSide()->equals($side);
 }
<?php

define('NOTIFICATION_DEBUG', true);
$player = Dolumar_Players_Player::getFromId(Neuron_Core_Tools::getInput('_GET', 'user', 'int'));
//echo '<h1>With sender & private</h1>';
//$player->sendNotification ('test', 'system', array ('user' => $other), $other);
echo '<h1>Updating profilebox</h1>';
/*
	$pl_attacker->sendNotification 
	(
		'attacking', 
		'battle', 
		array
		(
			'defender' => $oTarget,
			'pl_defender' => $oTarget->getOwner (),
			'village' => $this
		),
		$pl_attacker,
		true // This is a public message
	);
*/
$player->updateScore();
echo '<p style="color: green;">Players ' . $player->getName() . ' profilebox has been updated.</p>';
 public function getRefresh()
 {
     $db = Neuron_Core_Database::__getInstance();
     $input = $this->getRequestData();
     if (!isset($input['channel'])) {
         $this->switchChannel($this->getDefaultChannel());
     } else {
         $this->channel = intval($input['channel']);
     }
     $data = $this->getRequestData();
     $newStuff = $data['lastMessage'];
     $maxtime = NOW + 25;
     // Check for new messages
     $messages = $this->getLastMessages($newStuff);
     if ($messages === false) {
         return;
     }
     // Close the session (lock)
     session_write_close();
     // Only use persistent connection if we also use memcache
     // Otherwise it would stress out the database
     $usePersistence = self::USE_PERSISTENT_CONNECTIONS && defined('MEMCACHE_IP');
     // Sleep until there are messages
     if ($usePersistence) {
         while (count($messages) == 0 && time() < $maxtime) {
             // Check again
             $messages = $this->getLastMessages($newStuff);
             if ($messages === false) {
                 return;
             }
             // Sleep half a second
             //usleep (500);
             usleep(0.5 * 1000000);
         }
     } else {
         $messages = $this->getLastMessages($newStuff);
         if ($messages == false) {
             return;
         }
     }
     // Debug check
     if (count($messages) == 0) {
         return;
     }
     $page = new Neuron_Core_Template();
     $i = 0;
     $login = Neuron_Core_Login::__getInstance();
     $plid = $login->isLogin() ? $login->getUserId() : 0;
     $player = Neuron_GameServer::getPlayer();
     foreach ($messages as $v) {
         $sender = Neuron_GameServer::getPlayer($v['plid']);
         $biggest = $v['msgId'];
         if ($player && $player->isIgnoring($v['plid'])) {
             continue;
         }
         $i++;
         $sTarget = null;
         $iTarget = null;
         $message = $v['msg'];
         /*
         	const CHAT_GROUP_ALL = 0;
         	const CHAT_GROUP_USER = 1;
         	const CHAT_GROUP_CLAN = 2;
         */
         switch ($v['target_group']) {
             case self::CHAT_GROUP_USER:
                 $sClassname = 'message';
                 $sTarget = Dolumar_Players_Player::getFromId($v['target_id'])->getDisplayName();
                 $iTarget = $v['target_id'];
                 break;
             case self::CHAT_GROUP_CLAN:
                 $sClassname = 'clan';
                 break;
             case self::CHAT_GROUP_ALL:
             default:
                 switch ($v['mtype']) {
                     case self::CHAT_CLASS_ME:
                         $sClassname = 'all me';
                         break;
                     case self::CHAT_CLASS_REGULAR:
                     default:
                         $sClassname = 'all';
                         break;
                 }
                 break;
         }
         $page->addListValue('msgs', array('message' => Neuron_Core_Tools::output_text($message, true, true, false, false), 'date' => date(self::DATE_FORMAT, $v['datum']), 'nickname' => $sender->getDisplayName(), 'plid' => $v['plid'], 'class' => $sClassname, 'target' => $sTarget, 'targetId' => $iTarget, 'isMine' => $v['plid'] == $plid));
     }
     if ($i > 0) {
         // Shouldn't ever be true... but well, just to be sure.
         if ($biggest > $this->objCache->getCache($this->sCacheKey)) {
             $this->objCache->setCache($this->sCacheKey, $biggest);
         }
         $this->addHtmlToElement('chatdiv', $page->parse('chatmsgs.tpl'), 'bottom');
     }
     if ($biggest > $newStuff) {
         $this->updateRequestData(array('lastMessage' => $biggest, 'channel' => $this->channel));
     }
 }