summaryrefslogtreecommitdiff
path: root/modules/exif/helpers/exif_task.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/exif/helpers/exif_task.php')
-rw-r--r--modules/exif/helpers/exif_task.php14
1 files changed, 7 insertions, 7 deletions
diff --git a/modules/exif/helpers/exif_task.php b/modules/exif/helpers/exif_task.php
index b6599395..3ca849f9 100644
--- a/modules/exif/helpers/exif_task.php
+++ b/modules/exif/helpers/exif_task.php
@@ -25,14 +25,14 @@ class exif_task_Core {
$db->query(
"DELETE FROM {exif_records} " .
"WHERE {exif_records}.`item_id` NOT IN " .
- "(SELECT `id` FROM {items})");
+ "(SELECT `id` FROM {items} WHERE {items}.`type` = 'photo')");
// Insert missing exif_records
$db->query(
- "INSERT INTO {exif_records}(`item_id`) (" .
- " SELECT {items}.`id` FROM {items} " .
+ "INSERT INTO {exif_records}(`item_id`) " .
+ "(SELECT {items}.`id` FROM {items} " .
" LEFT JOIN {exif_records} ON ({exif_records}.`item_id` = {items}.`id`) " .
- " WHERE {exif_records}.`id` IS NULL)");
+ " WHERE {items}.`type` = 'photo' AND {exif_records}.`id` IS NULL)");
list ($remaining, $total, $percent) = self::_get_stats();
return array(Task_Definition::factory()
@@ -53,9 +53,9 @@ class exif_task_Core {
foreach (ORM::factory("item")
->join("exif_records", "items.id", "exif_records.item_id")
->where("exif_records.dirty", 1)
- ->limit(10)
+ ->limit(100)
->find_all() as $item) {
- if (microtime(true) - $start > 1) {
+ if (microtime(true) - $start > 1.5) {
break;
}
@@ -82,7 +82,7 @@ class exif_task_Core {
private static function _get_stats() {
$missing_exif = ORM::factory("exif_record")->where("dirty", 1)->count_all();
- $total_items = ORM::factory("item")->count_all();
+ $total_items = ORM::factory("item")->where("type", "photo")->count_all();
return array($missing_exif, $total_items,
round(100 * (($total_items - $missing_exif) / $total_items)));
}