コード例 #1
0
ファイル: Planet.php プロジェクト: j30206868/OGame-Robot
 public static function getPlanets()
 {
     $Config = ConfigManager::declareConfigValue();
     //get overview page html
     $overview = GlobalFunc::httpGet($Config['OVERVIEW_URL'], $Config['COOKIE_FILE']);
     $ov_dom = GlobalFunc::loadHtml($overview);
     $planet_list_dom = $ov_dom->getElementById("planetList");
     $pList = $planet_list_dom;
     if (!is_object($pList)) {
         echo "Error occur, Planet List not found, return empty planet list.\n";
         return array();
     }
     //list 下 每個div都是一個星球
     //每個div下都有兩個span
     //<span class="planet-name  ">jones4</span>
     //<span class="planet-koords  ">[1:83:6]</span>
     $planets_dom = $pList->getElementsByTagName('div');
     //echo "There ". $planets_dom->length . " Planet(s).";
     //存放月亮的起始編號(最後一顆星球之後就是月亮)
     $moon_num = $planets_dom->length + 1;
     //create planets
     $planets = array();
     for ($i = 0; $i < $planets_dom->length; $i++) {
         //get planet link
         $a_list = $planets_dom->item($i)->getElementsByTagName('a');
         $a_dom = $a_list->item(0);
         //產生星球
         $planet = Planet::createPlanetObj($a_dom, $planets_dom, $i);
         //將星球obj 加入list
         $planets[$i] = $planet;
         //確認是否有月球
         $has_moon = false;
         $moon_href = "";
         $moon_coord = array();
         $a_count = $a_list->length;
         $moon_obj = array();
         Planet::updateMoonInfo($a_list, $a_count, $planet, $has_moon, $moon_href, $moon_coord);
         if ($has_moon == true) {
             //有月亮則加到清單最後面
             $moon_obj = new Planet("月亮", $moon_coord, null, $moon_href, $moon_num);
             //將月亮obj 加入list
             //idx為編號-1
             $planets[$moon_num - 1] = $moon_obj;
             $moon_num++;
             //月亮編號+1
         }
     }
     return $planets;
 }