/** * This function takes a ORM incident model and creates the required parameter for the report task. * * @param ORM Object of an Ushahidi incident $incident */ public static function fromORM($incident) { $category_str = ""; $i = 0; foreach ($incident->incident_category as $cat) { $i++; if ($i > 1) { $category_str .= ","; } $category_str .= $cat->category->id; } $retVal = new UshApiLib_Report_Task_Parameter($incident->incident_title, $incident->incident_description, date("m/d/Y", strtotime($incident->incident_date)), date("h", strtotime($incident->incident_date)), date("i", strtotime($incident->incident_date)), date("a", strtotime($incident->incident_date)), $category_str, $incident->location->latitude, $incident->location->longitude, $incident->location->location_name); if (isset($incident->incident_person->person_first)) { $retVal->setPerson_first($incident->incident_person->person_first); } if (isset($incident->incident_person->person_last)) { $retVal->setPerson_last($incident->incident_person->person_last); } if (isset($incident->incident_person->person_email)) { $retVal->setPerson_email($incident->incident_person->person_email); } //save the media elements foreach ($incident->media as $media) { switch ($media->media_type) { case 4: $retVal->addIncident_news($media->media_link); break; case 2: $retVal->addIncident_video($media->media_link); break; case 1: $retVal->addIncident_photo("@" . Kohana::config('upload.directory', TRUE) . $media->media_link); break; } } return $retVal; }