static function force_wikipedia_taxon($t)
 {
     $wikipedia_resource = Resource::wikipedia();
     $last_wikipedia_harvest = new HarvestEvent($wikipedia_resource->most_recent_published_harvest_event_id());
     $content_manager = new ContentManager();
     $hierarchy_entry = HierarchyEntry::create_entries_for_taxon($t, $wikipedia_resource->hierarchy_id);
     if (@(!$hierarchy_entry->id)) {
         return false;
     }
     $last_wikipedia_harvest->add_hierarchy_entry($hierarchy_entry, 'inserted');
     foreach ($t['data_objects'] as &$d) {
         list($data_object, $status) = DataObject::find_and_compare($wikipedia_resource, $d, $content_manager);
         if (@(!$data_object->id)) {
             return false;
         }
         $hierarchy_entry->add_data_object($data_object->id);
         $last_wikipedia_harvest->add_data_object($data_object, $status);
         if (@$d->info_items_ids) {
             $data_object->delete_info_items();
             foreach ($d->info_items_ids as &$id) {
                 $data_object->add_info_item($id);
                 unset($id);
             }
         }
         return array($hierarchy_entry, $data_object);
     }
     return false;
 }
 private static function lookup_preview_harvests()
 {
     $mysqli =& $GLOBALS['mysqli_connection'];
     $GLOBALS['hierarchy_preview_harvest_event'] = array();
     $result = $mysqli->query("SELECT r.hierarchy_id, max(he.id) as max FROM resources r JOIN harvest_events he ON (r.id=he.resource_id) GROUP BY r.hierarchy_id");
     while ($result && ($row = $result->fetch_assoc())) {
         $harvest_event = HarvestEvent::find($row['max']);
         if (!$harvest_event->published_at) {
             $GLOBALS['hierarchy_preview_harvest_event'][$row['hierarchy_id']] = $row['max'];
         }
     }
 }
Example #3
0
 public function get_marine_stats()
 {
     if (!$this->worms_latest_harvest_event_id) {
         return false;
     }
     $latest_harvest_event = HarvestEvent::find($this->worms_latest_harvest_event_id);
     $result = $this->mysqli_slave->query("SELECT e.created_at FROM eol_statistics e ORDER BY e.id DESC LIMIT 1");
     if ($result && ($row = $result->fetch_assoc())) {
         $latest_stats = $row['created_at'];
     } else {
         return true;
     }
     $latest_harvest = $latest_harvest_event->published_at;
     $date = new \DateTime($latest_harvest);
     $latest_harvest = $date->format('Y-m-d');
     $date = new \DateTime($latest_stats);
     $latest_stats = $date->format('Y-m-d');
     print "\n\n {$latest_stats} -- {$latest_harvest}";
     if ($latest_harvest >= $latest_stats) {
         return true;
     } else {
         return false;
     }
     // No need to calculate marine stats
 }