/**
  * 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;
 }