示例#1
1
function combat_ticker($alliances, $users)
{
    $week = dlookup("week", "timeinfo");
    foreach ($users as $uid => $count) {
        ticker($uid, "*lbattlereport.php?act=show_own&_minw={$week}&_maxw={$week}*You were involved in " . $count . " battles!", "a");
    }
    foreach ($alliances as $aid => $count) {
        $members = get_alliance_members($aid);
        foreach ($members as $uid => $name) {
            // mop: gabs ausser den eigenen auch noch kämpfe?
            if ($count - $users[$uid] > 0) {
                ticker($uid, "*lbattlereport.php?act=show_alliance&_minw={$week}&_maxw={$week}*Your alliance was involved in " . ($count - $users[$uid]) . " battles!", "a");
            }
        }
    }
}
function resign()
{
    global $uid;
    $sth = mysql_query("select a.id,a.leader,a.devminister,a.milminister,a.forminister from alliance a,users u where u.alliance=a.id and u.id=" . $uid);
    if (!$sth || mysql_num_rows($sth) == 0) {
        show_error("ERR::GET INFOS");
        return false;
    }
    $alliance = mysql_fetch_assoc($sth);
    // mop: hatter denn nen posten?
    switch ($uid) {
        case $alliance["leader"]:
            $field = "leader";
            $text = "Leader";
            break;
        case $alliance["devminister"]:
            $field = "devminister";
            $text = "Minister of Development";
            break;
        case $alliance["forminister"]:
            $field = "forminister";
            $text = "Foreign Minister";
            break;
        case $alliance["milminister"]:
            $field = "milminister";
            $text = "Minister of Defence";
            break;
        default:
            $field = false;
    }
    if (!$field) {
        show_error("EVIL! EVIL!");
        return false;
    }
    $sth = mysql_query("update alliance set " . $field . "=0 where id=" . $alliance["id"]);
    if (!$sth) {
        show_error("ERR::RESIGN");
        return false;
    }
    show_menu();
    show_message("You have resigned as " . $text);
    // mop: leute informieren
    $members = get_alliance_members($alliance["id"]);
    foreach ($members as $uid => $name) {
        ticker($uid, "Your " . $text . " has resigned!", "w");
    }
}
 /**
  * speichert einen report
  * @param uid
  * @param report
  *      
  */
 function save_report($alliances, $uids, $battlefield, $report)
 {
     if (BATTLEREPORT_SHOW) {
         echo $report;
     } else {
         $sth = mysql_query("insert into battlereports set pid=" . $battlefield->pid . ",sid=" . $battlefield->sid . ",report='" . addslashes($report) . "',week=" . $this->week);
         if (!$sth) {
             echo "ERR::INSERT BATTLEREPORT\n";
             return false;
         }
         $rid = mysql_insert_id();
         // mop: allen allianzen zugänglich machen
         foreach ($alliances as $alliance) {
             $sth = mysql_query("insert into battlereports_alliance set aid=" . $alliance . ",rid=" . $rid);
             if (!$sth) {
                 echo "ERR::INSERT BATTLEREPORT_ALLIANCE\n";
                 return false;
             }
             // mop: die allianzmitglieder EINMAL über allianzkämpfe infomieren
             if (!in_array($alliance, $this->noticed_alliances)) {
                 $members = get_alliance_members($alliance);
                 foreach ($members as $uid => $name) {
                     // mop: beteiligte user bekommen eh nochmal ne separate message, also ausklammern
                     if (!in_array($uid, $uids)) {
                         ticker($uid, "*lbattlereport.php?act=show_alliance&_minw=" . $this->week . "&_maxw=" . $this->week . "*Your alliance was involved in one or more battles!", "a");
                     }
                 }
                 $this->noticed_alliances[] = $alliance;
             }
         }
         // mop: und auch den jeweiligen usern
         foreach ($uids as $uid) {
             $sth = mysql_query("insert into battlereports_user set uid=" . $uid . ",rid=" . $rid);
             if (!$sth) {
                 echo "ERR::INSERT BATTLEREPORT_UID\n";
                 return false;
             }
             if (!in_array($uid, $this->noticed_users)) {
                 ticker($uid, "*lbattlereport.php?act=show_own&_minw=" . $this->week . "&_maxw=" . $this->week . "*You were involved in one or more battles!", "a");
                 $this->noticed_users[] = $uid;
             }
         }
     }
 }