return(array($photo,$thumb,$micro));
}
+
+function get_photo_info($url) {
+ $data = array();
+
+ $data = Cache::get($url);
+
+ if (is_null($data)) {
+ $img_str = fetch_url($url, true, $redirects, 4);
+
+ $tempfile = tempnam(get_config("system","temppath"), "cache");
+ file_put_contents($tempfile, $img_str);
+ $data = getimagesize($tempfile);
+ unlink($tempfile);
+
+ Cache::set($url, serialize($data));
+ } else
+ $data = unserialize($data);
+
+ return $data;
+}
// if nothing is found, it maybe having an image.
if (!isset($post["type"])) {
require_once("mod/parse_url.php");
+ require_once("include/Photo.php");
$URLSearchString = "^\[\]";
if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) {
$post["text"] = str_replace($pictures[0][0], "", $body);
} else {
$img_str = fetch_url($pictures[0][1]);
-
- $tempfile = tempnam(get_config("system","temppath"), "cache");
- file_put_contents($tempfile, $img_str);
- $mime = image_type_to_mime_type(exif_imagetype($tempfile));
- unlink($tempfile);
- if (substr($mime, 0, 6) == "image/") {
+ $imgdata = get_photo_info($img_str);
+ if (substr($imgdata["mime"], 0, 6) == "image/") {
$post["type"] = "photo";
$post["image"] = $pictures[0][1];
$post["preview"] = $pictures[0][2];