예제 #1
0
 /**
  * 获得用户地图
  * @param $uid
  */
 public function getUserMaps($uid)
 {
     $map = new MapModel();
     $maps = $map->getUserMapsByUid($uid);
     $this->debugMsg($map->getLastQuery());
     if (!$maps) {
         return array();
     }
     foreach ($maps as &$map) {
         // TODO
         if ($map->is_multi) {
             $update = $this->checkMultiProducts($map);
             $this->debugMsg($update);
             if ($update) {
                 $map->start_time = isset($update['start_time']) ? $update['start_time'] : 0;
                 $map->products = isset($update['products']) ? $update['products'] : 0;
                 $map->raw_materials = isset($update['raw_materials']) ? $update['raw_materials'] : 0;
             }
             $map->raw_materials = unserialize($map->raw_materials) ? unserialize($map->raw_materials) : array();
             $map->products = unserialize($map->products) ? unserialize($map->products) : array();
         } else {
             $update = $this->checkHarvestItem($map);
             if ($update) {
                 $map->start_time = isset($update['start_time']) ? $update['start_time'] : 0;
                 $map->products += isset($update['products']) ? $update['products'] : 0;
                 $map->raw_materials += isset($update['raw_materials']) ? $update['raw_materials'] : 0;
             }
         }
         if ($map->start_time == 0) {
             unset($map->start_time);
         }
         if ($map->flipped == 0) {
             unset($map->flipped);
         }
         if ($map->animals == 0) {
             unset($map->animals);
         }
         if ($map->products == 0) {
             unset($map->products);
         }
         if ($map->raw_materials == 0) {
             unset($map->raw_materials);
         }
         if ($map->pollinated == 0) {
             unset($map->pollinated);
         }
         if ($map->automatic == 0) {
             unset($map->automatic);
         }
         if ($map->times_used == 0) {
             unset($map->times_used);
         }
         if ($map->is_multi == 0) {
             unset($map->is_multi);
         }
     }
     return $maps;
 }