Example #1
0
 }
 if ($valid) {
     $index = GetMaxFileIndex($c, $dbh);
     $filename = $folder . $subfolder . $index . $extension;
     $upload = "./../channels/" . $filename;
     if (is_uploaded_file($_FILES[$fieldname]['tmp_name'])) {
         move_uploaded_file($_FILES[$fieldname]['tmp_name'], $upload);
     }
     $lat = "";
     $long = "";
     $datetime = "";
     if ($att_type == 1) {
         $sz = getimagesize($upload);
         $w = $sz[0];
         $h = $sz[1];
         $coord = GetCoordinatesFromExif($upload);
         if (sizeof($coord) == 1) {
             $datetime = $coord[0];
         } else {
             if (sizeof($coord) == 2 && $coord[0] != 0 && $coord[1] != 0) {
                 $lat = $coord[0];
                 $long = $coord[1];
             } else {
                 if (sizeof($coord) == 3 && $coord[0] != 0 && $coord[1] != 0) {
                     $lat = $coord[0];
                     $long = $coord[1];
                     $datetime = $coord[2];
                 }
             }
         }
         $tags = GetTagsFromExif($upload);
Example #2
0
function ParseMultipart($type, $m, $a, $c, $folder, $tags, $dbh, $convert_to_mp3, $servpath, $sample_rate, $channel_folder, $static_map_width, $static_map_height, $api_key, $get_reverse_geocoding)
{
    if (strpos($type, "mixed") > 0) {
        $multipart = GetMultipart($a);
    } elseif (strpos($type, "alternative") > 0) {
        $multipart = GetMultipartAlt($a);
    }
    if (sizeof($multipart) > 0) {
        $date_done = false;
        for ($mi = 0; $mi < sizeof($multipart); $mi++) {
            $mtype = $multipart[$mi]["type"];
            $mattach = $multipart[$mi]["attachment"];
            $original_filename = $multipart[$mi]["name"];
            if ($mtype == "jpg" || $mtype == "jpe") {
                $subfolder = "/image/image";
                $extension = ".jpg";
                $att_type = 1;
            } elseif ($mtype == "wav") {
                $subfolder = "/sound/sound";
                $extension = ".wav";
                $att_type = 2;
            } elseif ($mtype == "amr") {
                $subfolder = "/sound/sound";
                $extension = ".amr";
                $att_type = 2;
            } elseif ($mtype == "mp3") {
                $subfolder = "/sound/sound";
                $extension = ".mp3";
                $att_type = 2;
            } elseif ($mtype == "3gp") {
                $subfolder = "/video/video";
                $extension = ".3gp";
                $att_type = 3;
            } elseif ($mtype == "mp4") {
                $subfolder = "/video/video";
                $extension = ".mp4";
                $att_type = 3;
            } elseif ($mtype == "avi") {
                $subfolder = "/video/video";
                $extension = ".avi";
                $att_type = 3;
            } elseif ($mtype == "txt" || $mtype == "text/plain") {
                $att_type = 0;
                $text = trim(utf8_decode(decode_ISO88591($mattach)));
                //tagging from mobile
                if ($tags == "") {
                    $parts = ExtractTagsFromText($text);
                    $text = $parts[0];
                    $tags = $parts[1];
                }
                //
                $text = urlencode($text);
                $query = "UPDATE message SET message_text = '{$text}' WHERE message_id = {$m}";
                $result = mysql_query($query, $dbh);
            } else {
                $att_type = 0;
            }
            if ($att_type > 0) {
                $index = GetMaxFileIndex($c, $dbh);
                $file = $folder . $subfolder . $index . $extension;
                $handle = fopen("channels/" . $file, "wb");
                $ok = fwrite($handle, imap_base64($mattach));
                fclose($handle);
                if ($extension == ".jpg") {
                    $sz = getimagesize("channels/" . $file);
                    $w = $sz[0];
                    $h = $sz[1];
                    if ($get_date_from_exif && !$date_done) {
                        GetMessageDateFromExif("channels/" . $file, $m, $dbh);
                        $date_done = true;
                    }
                } else {
                    if ($extension == ".amr" && $convert_to_mp3 == true) {
                        $file1 = $subfolder . $index . $extension;
                        $file2 = $subfolder . $index . ".mp3";
                        ConvertAMRToMP3($file1, $file2, $servpath, $channel_folder, $folder, $sample_rate);
                        $w = 0;
                        $h = 0;
                        $file = $folder . $file2;
                    } else {
                        $w = 0;
                        $h = 0;
                    }
                }
                //GeoZexe: from filename or exif
                $lat = "";
                $long = "";
                $datetime = "";
                /*
                $coord=GetCoordinatesFromFilename($original_filename);
                */
                //if (sizeof($coord)==0) {
                if ($att_type == 1) {
                    $coord = GetCoordinatesFromExif("channels/" . $file);
                    //}
                    if (sizeof($coord) == 1) {
                        $datetime = $coord[0];
                    } else {
                        if (sizeof($coord) == 2 && $coord[0] != 0 && $coord[1] != 0) {
                            $lat = $coord[0];
                            $long = $coord[1];
                        } else {
                            if (sizeof($coord) == 3 && $coord[0] != 0 && $coord[1] != 0) {
                                $lat = $coord[0];
                                $long = $coord[1];
                                $datetime = $coord[2];
                            }
                        }
                    }
                    if ($lat != "" && $long != "" && $get_reverse_geocoding == true) {
                        $address = GetReverseGeocoding($lat, $long);
                    }
                    $tags_exif = GetTagsFromExif("channels/" . $file);
                    if ($tags == "") {
                        $tags = $tags_exif;
                    } else {
                        $tags .= "," . $tags_exif;
                    }
                }
                $is_published = GetPublishedDefault($c, $dbh);
                $query = "INSERT INTO attachment (message_id, filename, content_type, original_filename,image_width,image_height,latitude,longitude,date_time,map_address,is_published) VALUES ({$m},'{$file}','{$att_type}','{$original_filename}',{$w},{$h},'{$lat}','{$long}','{$datetime}','{$address}',{$is_published})";
                $result = mysql_query($query, $dbh);
                /*
                				if ($lat!="" && $long!="") {
                					$attachment_id=mysql_insert_id();
                					$map_filename=GrabMapImage($lat,$long,$attachment_id,$static_map_width,$api_key);
                					if ($map_filename!="") {
                						$query="UPDATE attachment SET map_filename = '$map_filename' WHERE attachment_id=$attachment_id";
                						$result = mysql_query($query, $dbh);
                					}
                				}*/
                IncreaseFileIndex($c, $dbh);
            }
        }
    }
    return $tags;
}