Code cleanup and comments.
This commit is contained in:
parent
29a1d7e80c
commit
f862f893fe
@ -51,6 +51,7 @@ class exif_gps_Core {
|
|||||||
$record->item_id = $item->id;
|
$record->item_id = $item->id;
|
||||||
$record->latitude = $keys["Latitude"];
|
$record->latitude = $keys["Latitude"];
|
||||||
$record->longitude = $keys["Longitude"];
|
$record->longitude = $keys["Longitude"];
|
||||||
|
// Represent N/S/E/W as postive and negative numbers
|
||||||
if ($keys["Latitude Reference"] == "S") {
|
if ($keys["Latitude Reference"] == "S") {
|
||||||
$record->latitude = "-" . $record->latitude;
|
$record->latitude = "-" . $record->latitude;
|
||||||
}
|
}
|
||||||
@ -62,6 +63,7 @@ class exif_gps_Core {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static function _keys() {
|
private static function _keys() {
|
||||||
|
// EXIF fields to extract.
|
||||||
if (!isset(self::$exif_keys)) {
|
if (!isset(self::$exif_keys)) {
|
||||||
self::$exif_keys = array(
|
self::$exif_keys = array(
|
||||||
"Latitude Reference" => array("GPS", "Latitude Reference", t("GPS: Latitude Reference"), ),
|
"Latitude Reference" => array("GPS", "Latitude Reference", t("GPS: Latitude Reference"), ),
|
||||||
|
@ -32,6 +32,7 @@ class exif_gps_block_Core {
|
|||||||
|
|
||||||
switch ($block_id) {
|
switch ($block_id) {
|
||||||
case "exif_gps_map":
|
case "exif_gps_map":
|
||||||
|
// Check and see if the item has exif coordinates associated with it.
|
||||||
$record = ORM::factory("exif_coordinate")->where("item_id", "=", $theme->item->id)->find();
|
$record = ORM::factory("exif_coordinate")->where("item_id", "=", $theme->item->id)->find();
|
||||||
if ($record->loaded()) {
|
if ($record->loaded()) {
|
||||||
$block = new Block();
|
$block = new Block();
|
||||||
@ -41,6 +42,7 @@ class exif_gps_block_Core {
|
|||||||
$block->content->latitude = $record->latitude;
|
$block->content->latitude = $record->latitude;
|
||||||
$block->content->longitude = $record->longitude;
|
$block->content->longitude = $record->longitude;
|
||||||
} elseif (module::is_active("tagsmap") && module::is_active("tag")) {
|
} elseif (module::is_active("tagsmap") && module::is_active("tag")) {
|
||||||
|
// If there are no exif coordinates, check for tagsmap coordinates instead.
|
||||||
$tagsItem = ORM::factory("tag")
|
$tagsItem = ORM::factory("tag")
|
||||||
->join("items_tags", "tags.id", "items_tags.tag_id")
|
->join("items_tags", "tags.id", "items_tags.tag_id")
|
||||||
->where("items_tags.item_id", "=", $theme->item->id)
|
->where("items_tags.item_id", "=", $theme->item->id)
|
||||||
@ -55,7 +57,7 @@ class exif_gps_block_Core {
|
|||||||
$block->content = new View("exif_gps_sidebar.html");
|
$block->content = new View("exif_gps_sidebar.html");
|
||||||
$block->content->latitude = $tagsGPS->latitude;
|
$block->content->latitude = $tagsGPS->latitude;
|
||||||
$block->content->longitude = $tagsGPS->longitude;
|
$block->content->longitude = $tagsGPS->longitude;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,21 +38,25 @@ class exif_gps_task_Core {
|
|||||||
static function update_gps_index($task) {
|
static function update_gps_index($task) {
|
||||||
$start = microtime(true);
|
$start = microtime(true);
|
||||||
|
|
||||||
|
// Figure out the total number of photos in the database.
|
||||||
|
// If this is the first run, also set last_id and completed to 0.
|
||||||
$total = $task->get("total");
|
$total = $task->get("total");
|
||||||
if (empty($total)) {
|
if (empty($total)) {
|
||||||
$task->set("total", $total = count(ORM::factory("item")->where("type", "=", "photo")->find_all()));
|
$task->set("total", $total = count(ORM::factory("item")->where("type", "=", "photo")->find_all()));
|
||||||
$task->set("last_id", 0);
|
$task->set("last_id", 0);
|
||||||
$task->set("completed", 0);
|
$task->set("completed", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
$last_id = $task->get("last_id");
|
$last_id = $task->get("last_id");
|
||||||
$completed = $task->get("completed");
|
$completed = $task->get("completed");
|
||||||
|
|
||||||
|
// Generate an array of the next 100 photos to check.
|
||||||
$all_photos = ORM::factory("item")
|
$all_photos = ORM::factory("item")
|
||||||
->where("id", ">", $last_id)
|
->where("id", ">", $last_id)
|
||||||
->where("type", "=", "photo")
|
->where("type", "=", "photo")
|
||||||
->find_all(100);
|
->find_all(100);
|
||||||
|
|
||||||
|
// Check each photo in the array to see if it already has exif gps data associated with it.
|
||||||
|
// If it doesn't, attempt to extract gps coordinates.
|
||||||
foreach (ORM::factory("item")
|
foreach (ORM::factory("item")
|
||||||
->where("id", ">", $last_id)
|
->where("id", ">", $last_id)
|
||||||
->where("type", "=", "photo")
|
->where("type", "=", "photo")
|
||||||
|
Reference in New Issue
Block a user