|
|
@@ -93,10 +93,10 @@ function download($url, $target){
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Gets an entity com2us_id from it's Swarfarm id.
|
|
|
+ * Gets an unit com2us_id from it's Swarfarm id.
|
|
|
*
|
|
|
- * @param int $swarfarm_id Entity's Swarfarm ID.
|
|
|
- * @return int Entity's com2us_id, -1 on error.
|
|
|
+ * @param int $swarfarm_id Unit's Swarfarm ID.
|
|
|
+ * @return int Skill's com2us_id, -1 on error.
|
|
|
*/
|
|
|
function get_com2us_id($swarfarm_id){
|
|
|
if ($swarfarm_id == null){
|
|
|
@@ -104,8 +104,26 @@ function get_com2us_id($swarfarm_id){
|
|
|
}
|
|
|
$contents = file_get_contents(URL_UNIT . $swarfarm_id . "/");
|
|
|
if($contents === false){
|
|
|
- //Print out the contents.
|
|
|
- output(1, "Unable to retrieve monster.");
|
|
|
+ output(1, "Unable to retrieve unit ID by swarfarm ID: " . $swarfarm_id);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ $contents = json_decode($contents);
|
|
|
+ return $contents->com2us_id;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Gets an skill com2us_id from it's Swarfarm id.
|
|
|
+ *
|
|
|
+ * @param int $swarfarm_id Skill's Swarfarm ID.
|
|
|
+ * @return int Skill's com2us_id, -1 on error.
|
|
|
+ */
|
|
|
+function get_com2us_skill_id($swarfarm_id){
|
|
|
+ if ($swarfarm_id == null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ $contents = file_get_contents(URL_SKILL . $swarfarm_id . "/");
|
|
|
+ if($contents === false){
|
|
|
+ output(1, "Unable to retrieve skill ID by swarfarm ID: " . $swarfarm_id);
|
|
|
return -1;
|
|
|
}
|
|
|
$contents = json_decode($contents);
|
|
|
@@ -241,7 +259,7 @@ for ($i = 1; $i < count($argv); $i++){
|
|
|
return -1;
|
|
|
}
|
|
|
elseif ($argv[$i] == "--verbosity" || $argv[$i] == "-v"){
|
|
|
- if (count($argv) >= $i + 2 && is_int($argv[$i + 1]) && intval($argv[$i + 1]) >= 0 && intval($argv[$i + 1]) <= 5){
|
|
|
+ if (count($argv) >= $i + 2 && ctype_digit($argv[$i + 1]) && intval($argv[$i + 1]) >= 0 && intval($argv[$i + 1]) <= 5){
|
|
|
$args["verbosity"] = intval($argv[$i + 1]);
|
|
|
$i ++;
|
|
|
}
|
|
|
@@ -615,7 +633,7 @@ while ($next != null){
|
|
|
foreach ($monster->skills as $skill){
|
|
|
$statement = $db->prepare("INSERT INTO monster_skill (monster, skill) VALUES (:monster, :skill);");
|
|
|
$statement->bindValue(":monster", $monster->com2us_id, SQLITE3_INTEGER);
|
|
|
- $statement->bindValue(":skill", $skill, SQLITE3_INTEGER);
|
|
|
+ $statement->bindValue(":skill", get_com2us_skill_id($skill), SQLITE3_INTEGER);
|
|
|
output(4, "QUERY: " . $statement->getSQL(true));
|
|
|
$statement->execute();
|
|
|
}
|
|
|
@@ -854,7 +872,10 @@ while ($next != null){
|
|
|
$statement->bindValue(":monster", $monster->com2us_id, SQLITE3_INTEGER);
|
|
|
$q = $statement->execute();
|
|
|
$r = $q->fetchArray(SQLITE3_ASSOC);
|
|
|
- if ($r["c"] != sizeof($monster->skills)){
|
|
|
+ // If some errors happens and the skill list has to be rebuilt,
|
|
|
+ // force this block to execute (it is slow).
|
|
|
+ // if ($r["c"] != sizeof($monster->skills))
|
|
|
+ if ($r["c"] != sizeof($monster->skills) || 1 == 1){
|
|
|
$statement = $db->prepare("DELETE FROM monster_skill WHERE monster = :monster;");
|
|
|
$statement->bindValue(":monster", $monster->com2us_id, SQLITE3_INTEGER);
|
|
|
output(4, "QUERY: " . $statement->getSQL(true));
|
|
|
@@ -862,7 +883,7 @@ while ($next != null){
|
|
|
foreach ($monster->skills as $skill){
|
|
|
$statement = $db->prepare("INSERT INTO monster_skill (monster, skill) VALUES (:monster, :skill);");
|
|
|
$statement->bindValue(":monster", $monster->com2us_id, SQLITE3_INTEGER);
|
|
|
- $statement->bindValue(":skill", $skill, SQLITE3_INTEGER);
|
|
|
+ $statement->bindValue(":skill", get_com2us_skill_id($skill), SQLITE3_INTEGER);
|
|
|
output(4, "QUERY: " . $statement->getSQL(true));
|
|
|
$statement->execute();
|
|
|
}
|