예제 #1
0
파일: panel.php 프로젝트: Kuzat/kofradia
 /**
  * Ta ut kuler
  */
 protected function bullets_out()
 {
     if (!login::$user->player->weapon) {
         redirect::handle();
     }
     $num = (int) postval("bullets_out", 0);
     if ($num <= 0) {
         redirect::handle();
     }
     // på vegne av en spiller?
     $up = login::$user->player;
     $real_up = null;
     if ($this->ff->uinfo->data['ffm_priority'] != 4 && !empty($_POST['bullets_up'])) {
         // har vi ikke ansvar for denne spilleren?
         $id = postval("bullets_up");
         if (!isset($this->ff->members['members'][$id]) || $this->ff->uinfo->data['ffm_priority'] == 3 && $this->ff->members['members'][$id]->data['ffm_parent_up_id'] != login::$user->player->id || $this->ff->uinfo->data['ffm_priority'] < 3 && $this->ff->members['members'][$id]->data['ffm_priority'] != 4) {
             ess::$b->page->add_message("Ugyldig spillervalg.", "error");
             redirect::handle();
         }
         $real_up = $up;
         $up = player::get($id);
         // har ikke våpen?
         if (!$up->weapon) {
             ess::$b->page->add_message('Spilleren <user id="' . $up->id . '" /> har ikke noe våpen og har derfor ikke plass til noen kuler.', "error");
             redirect::handle();
         }
     }
     $ret = $this->ff->bullets_out($num, $up, $real_up);
     switch ($ret) {
         case "missing":
             ess::$b->page->add_message("Det er ikke så mange kuler i broderskapet.", "error");
             break;
         case "full":
             if ($real_up) {
                 $f = max(0, $up->weapon->data['bullets'] - $up->data['up_weapon_bullets'] - $up->data['up_weapon_bullets_auksjon']);
                 ess::$b->page->add_message('<user id="' . $up->id . '" /> har ' . ($f == 0 ? 'ikke plass til flere kuler' : 'bare plass til ' . fwords("%d kule til", "%d kuler til", $f)) . '.', "error");
             } else {
                 ess::$b->page->add_message("Du har ikke plass til så mange kuler.", "error");
             }
             break;
         default:
             if ($real_up) {
                 ess::$b->page->add_message("Du gav " . fwords("%d kule", "%d kuler", $num) . ' til <user id="' . $up->id . '" /> fra kulelageret til broderskapet.');
             } else {
                 ess::$b->page->add_message("Du tok ut " . fwords("%d kule", "%d kuler", $num) . " fra kulelageret til broderskapet.");
             }
             redirect::handle();
     }
 }