Merge pull request #4480 from annando/better-resource-id
Improved resource id creation
This commit is contained in:
commit
cf74da9c86
12
boot.php
12
boot.php
|
@ -854,11 +854,13 @@ function check_addons(App $a)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_guid($size = 16, $prefix = "")
|
function get_guid($size = 16, $prefix = '')
|
||||||
{
|
{
|
||||||
if ($prefix == "") {
|
if (is_bool($prefix) && !$prefix) {
|
||||||
|
$prefix = '';
|
||||||
|
} elseif ($prefix == '') {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
$prefix = hash("crc32", $a->get_hostname());
|
$prefix = hash('crc32', $a->get_hostname());
|
||||||
}
|
}
|
||||||
|
|
||||||
while (strlen($prefix) < ($size - 13)) {
|
while (strlen($prefix) < ($size - 13)) {
|
||||||
|
@ -867,10 +869,10 @@ function get_guid($size = 16, $prefix = "")
|
||||||
|
|
||||||
if ($size >= 24) {
|
if ($size >= 24) {
|
||||||
$prefix = substr($prefix, 0, $size - 22);
|
$prefix = substr($prefix, 0, $size - 22);
|
||||||
return(str_replace(".", "", uniqid($prefix, true)));
|
return str_replace('.', '', uniqid($prefix, true));
|
||||||
} else {
|
} else {
|
||||||
$prefix = substr($prefix, 0, max($size - 13, 0));
|
$prefix = substr($prefix, 0, max($size - 13, 0));
|
||||||
return(uniqid($prefix));
|
return uniqid($prefix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4614,7 +4614,7 @@ function save_media_to_database($mediatype, $media, $type, $album, $allow_cid, $
|
||||||
$height = $Image->getHeight();
|
$height = $Image->getHeight();
|
||||||
|
|
||||||
// create a new resource-id if not already provided
|
// create a new resource-id if not already provided
|
||||||
$hash = ($photo_id == null) ? photo_new_resource() : $photo_id;
|
$hash = ($photo_id == null) ? Photo::newResource() : $photo_id;
|
||||||
|
|
||||||
if ($mediatype == "photo") {
|
if ($mediatype == "photo") {
|
||||||
// upload normal image (scales 0, 1, 2)
|
// upload normal image (scales 0, 1, 2)
|
||||||
|
|
|
@ -489,31 +489,6 @@ function item_new_uri($hostname, $uid, $guid = "") {
|
||||||
return $uri;
|
return $uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate a guaranteed unique photo ID.
|
|
||||||
* safe from birthday paradox
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function photo_new_resource() {
|
|
||||||
|
|
||||||
do {
|
|
||||||
$found = false;
|
|
||||||
$resource = hash('md5',uniqid(mt_rand(),true));
|
|
||||||
$r = q("SELECT `id` FROM `photo` WHERE `resource-id` = '%s' LIMIT 1",
|
|
||||||
dbesc($resource)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
$found = true;
|
|
||||||
}
|
|
||||||
} while ($found == true);
|
|
||||||
|
|
||||||
return $resource;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated
|
* @deprecated
|
||||||
* wrapper to load a view template, checking for alternate
|
* wrapper to load a view template, checking for alternate
|
||||||
|
|
|
@ -838,7 +838,7 @@ function photos_post(App $a)
|
||||||
|
|
||||||
$smallest = 0;
|
$smallest = 0;
|
||||||
|
|
||||||
$photo_hash = photo_new_resource();
|
$photo_hash = Photo::newResource();
|
||||||
|
|
||||||
$r = Photo::store($Image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
|
$r = Photo::store($Image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
|
||||||
|
|
||||||
|
|
|
@ -308,7 +308,7 @@ function profile_photo_crop_ui_head(App $a, Image $Image) {
|
||||||
$height = $Image->getHeight();
|
$height = $Image->getHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
$hash = photo_new_resource();
|
$hash = Photo::newResource();
|
||||||
|
|
||||||
|
|
||||||
$smallest = 0;
|
$smallest = 0;
|
||||||
|
|
|
@ -222,7 +222,7 @@ function wall_upload_post(App $a, $desktopmode = true) {
|
||||||
$width = $Image->getWidth();
|
$width = $Image->getWidth();
|
||||||
$height = $Image->getHeight();
|
$height = $Image->getHeight();
|
||||||
|
|
||||||
$hash = photo_new_resource();
|
$hash = Photo::newResource();
|
||||||
|
|
||||||
$smallest = 0;
|
$smallest = 0;
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,7 @@ class Photo
|
||||||
if (x($photo['resource-id'])) {
|
if (x($photo['resource-id'])) {
|
||||||
$hash = $photo['resource-id'];
|
$hash = $photo['resource-id'];
|
||||||
} else {
|
} else {
|
||||||
$hash = photo_new_resource();
|
$hash = self::newResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
$photo_failure = false;
|
$photo_failure = false;
|
||||||
|
@ -267,4 +267,14 @@ class Photo
|
||||||
$key = "photo_albums:".$uid.":".local_user().":".remote_user();
|
$key = "photo_albums:".$uid.":".local_user().":".remote_user();
|
||||||
Cache::set($key, null, CACHE_DAY);
|
Cache::set($key, null, CACHE_DAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate a unique photo ID.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function newResource()
|
||||||
|
{
|
||||||
|
return get_guid(32, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -521,7 +521,7 @@ class User
|
||||||
if ($Image->isValid()) {
|
if ($Image->isValid()) {
|
||||||
$Image->scaleToSquare(175);
|
$Image->scaleToSquare(175);
|
||||||
|
|
||||||
$hash = photo_new_resource();
|
$hash = Photo::newResource();
|
||||||
|
|
||||||
$r = Photo::store($Image, $uid, 0, $hash, $filename, L10n::t('Profile Photos'), 4);
|
$r = Photo::store($Image, $uid, 0, $hash, $filename, L10n::t('Profile Photos'), 4);
|
||||||
|
|
||||||
|
|
|
@ -937,7 +937,7 @@ class Image
|
||||||
$width = $Image->getWidth();
|
$width = $Image->getWidth();
|
||||||
$height = $Image->getHeight();
|
$height = $Image->getHeight();
|
||||||
|
|
||||||
$hash = photo_new_resource();
|
$hash = Photo::newResource();
|
||||||
|
|
||||||
$smallest = 0;
|
$smallest = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue