예제 #1
0
파일: account.php 프로젝트: TorbenKoehn/lok
 public function not_logged_in_action()
 {
     if (account::logged_in()) {
         //y u lie tho?
         page::redirect('/world');
     }
 }
예제 #2
0
파일: world.php 프로젝트: TorbenKoehn/lok
 public function __construct()
 {
     //the whole world needs both, valid account and character
     if (!account::logged_in()) {
         page::redirect('/account/not-logged-in');
     }
     if (!character::selected()) {
         page::redirect('/character/select');
     }
 }
예제 #3
0
 public function select_action($id)
 {
     character::unselect();
     if (!account::logged_in()) {
         page::redirect('/account/not-logged-in');
     }
     if ($id) {
         $id = (int) $id;
         $q = db::query('select count(*) from ' . character::table_name() . ' where id=? and account_id=?', $id, account::current()->id);
         $count = $q->fetchColumn(0);
         if (!$count) {
             //character doesn't exist or this isn't your character, reload
             //the character selection (AND DONT TRY TO F**K WITH ME!)
             page::redirect('/character/select');
         }
         character::select($id);
         page::redirect('/world');
     }
     $characters = character::load(account::current()->id, 'account_id');
     $this->set('characters', $characters->fetchAll());
 }
예제 #4
0
 public function info_action($id)
 {
     $char = null;
     if (!$id) {
         if (!account::logged_in()) {
             return api::result(false, array('message' => 'Not_logged_in'));
         }
         if (!character::selected()) {
             return api::result(false, array('message' => 'No_character_selected'));
         }
         $char = character::current();
     } else {
         if (is_numeric($id)) {
             $char = character::load_one((int) $id);
         } else {
             $char = character::load_one($id, 'name');
         }
         if (!$char) {
             //character doesn't exist
             return api::result(false, array('message' => 'Character_not_found'));
         }
     }
     return api::result(true, $char->info());
 }
예제 #5
0
파일: index.php 프로젝트: TorbenKoehn/lok
 public function index_action()
 {
     if (account::logged_in()) {
         page::redirect('/world');
     }
 }
예제 #6
0
 public static function create($name, $gender = character::GENDER_MALE, $account = null)
 {
     $acc = null;
     if ($acc instanceof account) {
         $acc = $account;
     } else {
         if (is_numeric($account)) {
             $acc = account::load_one($account);
         } else {
             if (is_string($account)) {
                 $acc = account::load_one($account, 'email');
             } else {
                 if (!account::logged_in()) {
                     return false;
                 } else {
                     $acc = account::current();
                 }
             }
         }
     }
     $char = new static();
     $char->name = $name;
     $char->account_id = $acc->id;
     $char->save();
     //actually just for getting the ID and attach the real shit
     $char->gender = $gender;
     $char->save();
     return $char;
 }