New function to fetch image information. (Will be used in the addons at a later time)
This commit is contained in:
parent
ac78989fc9
commit
52474847cb
2 changed files with 23 additions and 6 deletions
|
@ -755,3 +755,23 @@ function import_profile_photo($photo,$uid,$cid) {
|
||||||
return(array($photo,$thumb,$micro));
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ function get_attached_data($body) {
|
||||||
// if nothing is found, it maybe having an image.
|
// if nothing is found, it maybe having an image.
|
||||||
if (!isset($post["type"])) {
|
if (!isset($post["type"])) {
|
||||||
require_once("mod/parse_url.php");
|
require_once("mod/parse_url.php");
|
||||||
|
require_once("include/Photo.php");
|
||||||
|
|
||||||
$URLSearchString = "^\[\]";
|
$URLSearchString = "^\[\]";
|
||||||
if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) {
|
if (preg_match_all("(\[url=([$URLSearchString]*)\]\s*\[img\]([$URLSearchString]*)\[\/img\]\s*\[\/url\])ism", $body, $pictures, PREG_SET_ORDER)) {
|
||||||
|
@ -64,12 +65,8 @@ function get_attached_data($body) {
|
||||||
$post["text"] = str_replace($pictures[0][0], "", $body);
|
$post["text"] = str_replace($pictures[0][0], "", $body);
|
||||||
} else {
|
} else {
|
||||||
$img_str = fetch_url($pictures[0][1]);
|
$img_str = fetch_url($pictures[0][1]);
|
||||||
|
$imgdata = get_photo_info($img_str);
|
||||||
$tempfile = tempnam(get_config("system","temppath"), "cache");
|
if (substr($imgdata["mime"], 0, 6) == "image/") {
|
||||||
file_put_contents($tempfile, $img_str);
|
|
||||||
$mime = image_type_to_mime_type(exif_imagetype($tempfile));
|
|
||||||
unlink($tempfile);
|
|
||||||
if (substr($mime, 0, 6) == "image/") {
|
|
||||||
$post["type"] = "photo";
|
$post["type"] = "photo";
|
||||||
$post["image"] = $pictures[0][1];
|
$post["image"] = $pictures[0][1];
|
||||||
$post["preview"] = $pictures[0][2];
|
$post["preview"] = $pictures[0][2];
|
||||||
|
|
Loading…
Reference in a new issue