Review and Use statements
use statements and review changes.
This commit is contained in:
parent
eb148cad55
commit
0373056448
15 changed files with 83 additions and 247 deletions
|
@ -2376,7 +2376,7 @@ function api_get_attachments(&$body)
|
||||||
$attachments = array();
|
$attachments = array();
|
||||||
|
|
||||||
foreach ($images[1] as $image) {
|
foreach ($images[1] as $image) {
|
||||||
$imagedata = Photo::getPhotoInfo($image);
|
$imagedata = Photo::getInfoFromURL($image);
|
||||||
|
|
||||||
if ($imagedata) {
|
if ($imagedata) {
|
||||||
$attachments[] = array("url" => $image, "mimetype" => $imagedata["mime"], "size" => $imagedata["size"]);
|
$attachments[] = array("url" => $image, "mimetype" => $imagedata["mime"], "size" => $imagedata["size"]);
|
||||||
|
@ -2508,7 +2508,7 @@ function api_get_entitities(&$text, $bbcode)
|
||||||
|
|
||||||
$start = iconv_strpos($text, $url, $offset, "UTF-8");
|
$start = iconv_strpos($text, $url, $offset, "UTF-8");
|
||||||
if (!($start === false)) {
|
if (!($start === false)) {
|
||||||
$image = Photo::getPhotoInfo($url);
|
$image = Photo::getInfoFromURL($url);
|
||||||
if ($image) {
|
if ($image) {
|
||||||
// If image cache is activated, then use the following sizes:
|
// If image cache is activated, then use the following sizes:
|
||||||
// thumb (150), small (340), medium (600) and large (1024)
|
// thumb (150), small (340), medium (600) and large (1024)
|
||||||
|
|
|
@ -8,7 +8,7 @@ use Friendica\Core\System;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Photo;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Protocol\Diaspora;
|
use Friendica\Protocol\Diaspora;
|
||||||
use Friendica\Protocol\OStatus;
|
use Friendica\Protocol\OStatus;
|
||||||
use Friendica\Protocol\PortableContact;
|
use Friendica\Protocol\PortableContact;
|
||||||
|
@ -250,7 +250,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the avatar
|
// Update the avatar
|
||||||
Photo::updateContactAvatar($ret['photo'], $uid, $contact_id);
|
Contact::updateAvatar($ret['photo'], $uid, $contact_id);
|
||||||
|
|
||||||
// pull feed and consume it, which should subscribe to the hub.
|
// pull feed and consume it, which should subscribe to the hub.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Model\GlobalContact;
|
use Friendica\Model\GlobalContact;
|
||||||
use Friendica\Object\Contact;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Object\Photo;
|
|
||||||
use Friendica\Protocol\DFRN;
|
use Friendica\Protocol\DFRN;
|
||||||
use Friendica\Protocol\OStatus;
|
use Friendica\Protocol\OStatus;
|
||||||
use Friendica\Util\Lock;
|
use Friendica\Util\Lock;
|
||||||
|
@ -1690,7 +1689,7 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) {
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
$contact_record = $r[0];
|
$contact_record = $r[0];
|
||||||
Photo::updateContactAvatar($photo, $importer["uid"], $contact_record["id"], true);
|
Contact::updateAvatar($photo, $importer["uid"], $contact_record["id"], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @TODO Encapsulate this into a function/method
|
/// @TODO Encapsulate this into a function/method
|
||||||
|
|
|
@ -51,7 +51,7 @@ function get_old_attachment_data($body) {
|
||||||
|
|
||||||
if (preg_match("/\[img\]([$URLSearchString]*)\[\/img\]/ism", $attacheddata, $matches)) {
|
if (preg_match("/\[img\]([$URLSearchString]*)\[\/img\]/ism", $attacheddata, $matches)) {
|
||||||
|
|
||||||
$picturedata = Photo::getPhotoInfo($matches[1]);
|
$picturedata = Photo::getInfoFromURL($matches[1]);
|
||||||
|
|
||||||
if (($picturedata[0] >= 500) && ($picturedata[0] >= $picturedata[1]))
|
if (($picturedata[0] >= 500) && ($picturedata[0] >= $picturedata[1]))
|
||||||
$post["image"] = $matches[1];
|
$post["image"] = $matches[1];
|
||||||
|
@ -221,7 +221,7 @@ function get_attached_data($body, $item = array()) {
|
||||||
$post["preview"] = $pictures[0][2];
|
$post["preview"] = $pictures[0][2];
|
||||||
$post["text"] = str_replace($pictures[0][0], "", $body);
|
$post["text"] = str_replace($pictures[0][0], "", $body);
|
||||||
} else {
|
} else {
|
||||||
$imgdata = Photo::getPhotoInfo($pictures[0][1]);
|
$imgdata = Photo::getInfoFromURL($pictures[0][1]);
|
||||||
if (substr($imgdata["mime"], 0, 6) == "image/") {
|
if (substr($imgdata["mime"], 0, 6) == "image/") {
|
||||||
$post["type"] = "photo";
|
$post["type"] = "photo";
|
||||||
$post["image"] = $pictures[0][1];
|
$post["image"] = $pictures[0][1];
|
||||||
|
|
|
@ -9,7 +9,6 @@ use Friendica\Database\DBM;
|
||||||
use Friendica\Model\GlobalContact;
|
use Friendica\Model\GlobalContact;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Contact;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Object\Photo;
|
|
||||||
|
|
||||||
require_once 'include/contact_selectors.php';
|
require_once 'include/contact_selectors.php';
|
||||||
require_once 'mod/proxy.php';
|
require_once 'mod/proxy.php';
|
||||||
|
@ -311,7 +310,7 @@ function _contact_update_profile($contact_id) {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Update the entry in the contact table
|
// Update the entry in the contact table
|
||||||
Photo::updateContactAvatar($data['photo'], local_user(), $contact_id, true);
|
Contact::updateAvatar($data['photo'], local_user(), $contact_id, true);
|
||||||
|
|
||||||
// Update the entry in the gcontact table
|
// Update the entry in the gcontact table
|
||||||
GlobalContact::updateFromProbe($data["url"]);
|
GlobalContact::updateFromProbe($data["url"]);
|
||||||
|
|
|
@ -6,7 +6,6 @@ use Friendica\App;
|
||||||
use Friendica\Core\Config;
|
use Friendica\Core\Config;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Object\Contact;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Object\Photo;
|
|
||||||
|
|
||||||
require_once 'include/contact_selectors.php';
|
require_once 'include/contact_selectors.php';
|
||||||
require_once 'mod/contacts.php';
|
require_once 'mod/contacts.php';
|
||||||
|
@ -90,7 +89,7 @@ function crepair_post(App $a) {
|
||||||
if ($photo) {
|
if ($photo) {
|
||||||
logger('mod-crepair: updating photo from ' . $photo);
|
logger('mod-crepair: updating photo from ' . $photo);
|
||||||
|
|
||||||
Photo::updateContactAvatar($photo, local_user(), $contact['id']);
|
Contact::updateAvatar($photo, local_user(), $contact['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Core\System;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Photo;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Protocol\Diaspora;
|
use Friendica\Protocol\Diaspora;
|
||||||
|
|
||||||
require_once 'include/enotify.php';
|
require_once 'include/enotify.php';
|
||||||
|
@ -326,7 +326,7 @@ function dfrn_confirm_post(App $a, $handsfree = null) {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Photo::updateContactAvatar($contact['photo'],$uid,$contact_id);
|
Contact::updateAvatar($contact['photo'], $uid, $contact_id);
|
||||||
|
|
||||||
logger('dfrn_confirm: confirm - imported photos');
|
logger('dfrn_confirm: confirm - imported photos');
|
||||||
|
|
||||||
|
@ -675,7 +675,7 @@ function dfrn_confirm_post(App $a, $handsfree = null) {
|
||||||
$photo = System::baseUrl() . '/images/person-175.jpg';
|
$photo = System::baseUrl() . '/images/person-175.jpg';
|
||||||
}
|
}
|
||||||
|
|
||||||
Photo::updateContactAvatar($photo,$local_uid,$dfrn_record);
|
Contact::updateAvatar($photo,$local_uid,$dfrn_record);
|
||||||
|
|
||||||
logger('dfrn_confirm: request - photos imported');
|
logger('dfrn_confirm: request - photos imported');
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ use Friendica\Core\PConfig;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Photo;
|
use Friendica\Object\Contact;
|
||||||
|
|
||||||
require_once 'include/enotify.php';
|
require_once 'include/enotify.php';
|
||||||
require_once 'include/group.php';
|
require_once 'include/group.php';
|
||||||
|
@ -195,7 +195,7 @@ function dfrn_request_post(App $a) {
|
||||||
group_add_member(local_user(), '', $r[0]['id'], $def_gid);
|
group_add_member(local_user(), '', $r[0]['id'], $def_gid);
|
||||||
|
|
||||||
if (isset($photo))
|
if (isset($photo))
|
||||||
Photo::updateContactAvatar($photo, local_user(), $r[0]["id"], true);
|
Contact::updateAvatar($photo, local_user(), $r[0]["id"], true);
|
||||||
|
|
||||||
$forwardurl = System::baseUrl()."/contacts/".$r[0]['id'];
|
$forwardurl = System::baseUrl()."/contacts/".$r[0]['id'];
|
||||||
} else {
|
} else {
|
||||||
|
@ -586,7 +586,7 @@ function dfrn_request_post(App $a) {
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
$contact_record = $r[0];
|
$contact_record = $r[0];
|
||||||
Photo::updateContactAvatar($photo, $uid, $contact_record["id"], true);
|
Contact::updateAvatar($photo, $uid, $contact_record["id"], true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ use Friendica\Core\System;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Photo;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Object\Profile;
|
use Friendica\Object\Profile;
|
||||||
use Friendica\Protocol\PortableContact;
|
use Friendica\Protocol\PortableContact;
|
||||||
use dba;
|
use dba;
|
||||||
|
@ -881,7 +881,7 @@ class GlobalContact
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
logger("Update public contact ".$r[0]["id"], LOGGER_DEBUG);
|
logger("Update public contact ".$r[0]["id"], LOGGER_DEBUG);
|
||||||
|
|
||||||
Photo::updateContactAvatar($contact["photo"], 0, $r[0]["id"]);
|
Contact::updateAvatar($contact["photo"], 0, $r[0]["id"]);
|
||||||
|
|
||||||
$fields = array('name', 'nick', 'addr',
|
$fields = array('name', 'nick', 'addr',
|
||||||
'network', 'bd', 'gender',
|
'network', 'bd', 'gender',
|
||||||
|
|
|
@ -644,7 +644,7 @@ class Contact extends BaseObject
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Photo::updateContactAvatar($data["photo"], $uid, $contact_id);
|
self::updateAvatar($data["photo"], $uid, $contact_id);
|
||||||
|
|
||||||
$contact = dba::select('contact', array('url', 'nurl', 'addr', 'alias', 'name', 'nick', 'keywords', 'location', 'about', 'avatar-date'), array('id' => $contact_id), array('limit' => 1));
|
$contact = dba::select('contact', array('url', 'nurl', 'addr', 'alias', 'name', 'nick', 'keywords', 'location', 'about', 'avatar-date'), array('id' => $contact_id), array('limit' => 1));
|
||||||
|
|
||||||
|
@ -818,4 +818,49 @@ class Contact extends BaseObject
|
||||||
|
|
||||||
return $account_type;
|
return $account_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Updates the avatar links in a contact only if needed
|
||||||
|
*
|
||||||
|
* @param string $avatar Link to avatar picture
|
||||||
|
* @param int $uid User id of contact owner
|
||||||
|
* @param int $cid Contact id
|
||||||
|
* @param bool $force force picture update
|
||||||
|
*
|
||||||
|
* @return array Returns array of the different avatar sizes
|
||||||
|
*/
|
||||||
|
public static function updateAvatar($avatar, $uid, $cid, $force = false)
|
||||||
|
{
|
||||||
|
// Limit = 1 returns the row so no need for dba:inArray()
|
||||||
|
$r = dba::select('contact', array('avatar', 'photo', 'thumb', 'micro', 'nurl'), array('id' => $cid), array('limit' => 1));
|
||||||
|
if (!DBM::is_result($r)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$data = array($r["photo"], $r["thumb"], $r["micro"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($r["avatar"] != $avatar) || $force) {
|
||||||
|
$photos = Photo::importProfilePhoto($avatar, $uid, $cid, true);
|
||||||
|
|
||||||
|
if ($photos) {
|
||||||
|
dba::update(
|
||||||
|
'contact',
|
||||||
|
array('avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => datetime_convert()),
|
||||||
|
array('id' => $cid)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Update the public contact (contact id = 0)
|
||||||
|
if ($uid != 0) {
|
||||||
|
$pcontact = dba::select('contact', array('id'), array('nurl' => $r[0]['nurl']), array('limit' => 1));
|
||||||
|
if (DBM::is_result($pcontact)) {
|
||||||
|
self::updateAvatar($avatar, 0, $pcontact['id'], $force);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $photos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ use Friendica\Core\Config;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
use dba;
|
use dba;
|
||||||
|
use Imagick;
|
||||||
|
use ImagickPixel;
|
||||||
|
|
||||||
require_once "include/photos.php";
|
require_once "include/photos.php";
|
||||||
|
|
||||||
|
@ -33,6 +35,7 @@ class Photo
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief supported mimetypes and corresponding file extensions
|
* @brief supported mimetypes and corresponding file extensions
|
||||||
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function supportedTypes()
|
public static function supportedTypes()
|
||||||
{
|
{
|
||||||
|
@ -446,18 +449,18 @@ class Photo
|
||||||
// based off comment on http://php.net/manual/en/imagick.getimageorientation.php
|
// based off comment on http://php.net/manual/en/imagick.getimageorientation.php
|
||||||
$orientation = $this->image->getImageOrientation();
|
$orientation = $this->image->getImageOrientation();
|
||||||
switch ($orientation) {
|
switch ($orientation) {
|
||||||
case imagick::ORIENTATION_BOTTOMRIGHT:
|
case Imagick::ORIENTATION_BOTTOMRIGHT:
|
||||||
$this->image->rotateimage("#000", 180);
|
$this->image->rotateimage("#000", 180);
|
||||||
break;
|
break;
|
||||||
case imagick::ORIENTATION_RIGHTTOP:
|
case Imagick::ORIENTATION_RIGHTTOP:
|
||||||
$this->image->rotateimage("#000", 90);
|
$this->image->rotateimage("#000", 90);
|
||||||
break;
|
break;
|
||||||
case imagick::ORIENTATION_LEFTBOTTOM:
|
case Imagick::ORIENTATION_LEFTBOTTOM:
|
||||||
$this->image->rotateimage("#000", -90);
|
$this->image->rotateimage("#000", -90);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->image->setImageOrientation(imagick::ORIENTATION_TOPLEFT);
|
$this->image->setImageOrientation(Imagick::ORIENTATION_TOPLEFT);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// based off comment on http://php.net/manual/en/function.imagerotate.php
|
// based off comment on http://php.net/manual/en/function.imagerotate.php
|
||||||
|
@ -805,51 +808,6 @@ class Photo
|
||||||
return $type;
|
return $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Updates the avatar links in a contact only if needed
|
|
||||||
*
|
|
||||||
* @param string $avatar Link to avatar picture
|
|
||||||
* @param int $uid User id of contact owner
|
|
||||||
* @param int $cid Contact id
|
|
||||||
* @param bool $force force picture update
|
|
||||||
*
|
|
||||||
* @return array Returns array of the different avatar sizes
|
|
||||||
*/
|
|
||||||
public function updateContactAvatar($avatar, $uid, $cid, $force = false)
|
|
||||||
{
|
|
||||||
// Limit = 1 returns the row so no need for dba:inArray()
|
|
||||||
$r = dba::select('contact', array('avatar', 'photo', 'thumb', 'micro', 'nurl'), array('id' => $cid), array('limit' => 1));
|
|
||||||
if (!DBM::is_result($r)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
$data = array($r["photo"], $r["thumb"], $r["micro"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (($r["avatar"] != $avatar) || $force) {
|
|
||||||
$photos = $this->importProfilePhoto($avatar, $uid, $cid, true);
|
|
||||||
|
|
||||||
if ($photos) {
|
|
||||||
dba::update(
|
|
||||||
'contact',
|
|
||||||
array('avatar' => $avatar, 'photo' => $photos[0], 'thumb' => $photos[1], 'micro' => $photos[2], 'avatar-date' => datetime_convert()),
|
|
||||||
array('id' => $cid)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Update the public contact (contact id = 0)
|
|
||||||
if ($uid != 0) {
|
|
||||||
$pcontact = dba::select('contact', array('id'), array('nurl' => $r[0]['nurl']), array('limit' => 1));
|
|
||||||
if (DBM::is_result($pcontact)) {
|
|
||||||
$this->updateContactAvatar($avatar, 0, $pcontact['id'], $force);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $photos;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $photo photo
|
* @param string $photo photo
|
||||||
* @param integer $uid user id
|
* @param integer $uid user id
|
||||||
|
@ -946,14 +904,14 @@ class Photo
|
||||||
$micro = System::baseUrl() . '/images/person-48.jpg';
|
$micro = System::baseUrl() . '/images/person-48.jpg';
|
||||||
}
|
}
|
||||||
|
|
||||||
return(array($photo, $thumb, $micro));
|
return array($photo, $thumb, $micro);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $url url
|
* @param string $url url
|
||||||
* @return object
|
* @return object
|
||||||
*/
|
*/
|
||||||
public function getPhotoInfo($url)
|
public function getInfoFromURL($url)
|
||||||
{
|
{
|
||||||
$data = array();
|
$data = array();
|
||||||
|
|
||||||
|
@ -1040,167 +998,4 @@ class Photo
|
||||||
}
|
}
|
||||||
return array("width" => $dest_width, "height" => $dest_height);
|
return array("width" => $dest_width, "height" => $dest_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function doesn't seem to be used
|
|
||||||
* @param object $a App
|
|
||||||
* @param integer $uid user id
|
|
||||||
* @param string $imagedata optional, default empty
|
|
||||||
* @param string $url optional, default empty
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
private function storePhoto(App $a, $uid, $imagedata = "", $url = "")
|
|
||||||
{
|
|
||||||
$r = q(
|
|
||||||
"SELECT `user`.`nickname`, `user`.`page-flags`, `contact`.`id` FROM `user` INNER JOIN `contact` on `user`.`uid` = `contact`.`uid`
|
|
||||||
WHERE `user`.`uid` = %d AND `user`.`blocked` = 0 AND `contact`.`self` = 1 LIMIT 1",
|
|
||||||
intval($uid)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!DBM::is_result($r)) {
|
|
||||||
logger("Can't detect user data for uid ".$uid, LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
}
|
|
||||||
|
|
||||||
$page_owner_nick = $r[0]['nickname'];
|
|
||||||
|
|
||||||
/// @TODO
|
|
||||||
/// $default_cid = $r[0]['id'];
|
|
||||||
/// $community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
|
|
||||||
|
|
||||||
if ((strlen($imagedata) == 0) && ($url == "")) {
|
|
||||||
logger("No image data and no url provided", LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
} elseif (strlen($imagedata) == 0) {
|
|
||||||
logger("Uploading picture from ".$url, LOGGER_DEBUG);
|
|
||||||
|
|
||||||
$stamp1 = microtime(true);
|
|
||||||
$imagedata = @file_get_contents($url);
|
|
||||||
$a->save_timestamp($stamp1, "file");
|
|
||||||
}
|
|
||||||
|
|
||||||
$maximagesize = Config::get('system', 'maximagesize');
|
|
||||||
|
|
||||||
if (($maximagesize) && (strlen($imagedata) > $maximagesize)) {
|
|
||||||
logger("Image exceeds size limit of ".$maximagesize, LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
}
|
|
||||||
|
|
||||||
$tempfile = tempnam(get_temppath(), "cache");
|
|
||||||
|
|
||||||
$stamp1 = microtime(true);
|
|
||||||
file_put_contents($tempfile, $imagedata);
|
|
||||||
$a->save_timestamp($stamp1, "file");
|
|
||||||
|
|
||||||
$data = getimagesize($tempfile);
|
|
||||||
|
|
||||||
if (!isset($data["mime"])) {
|
|
||||||
unlink($tempfile);
|
|
||||||
logger("File is no picture", LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
}
|
|
||||||
|
|
||||||
$ph = new Photo($imagedata, $data["mime"]);
|
|
||||||
|
|
||||||
if (!$ph->isValid()) {
|
|
||||||
unlink($tempfile);
|
|
||||||
logger("Picture is no valid picture", LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
}
|
|
||||||
|
|
||||||
$ph->orient($tempfile);
|
|
||||||
unlink($tempfile);
|
|
||||||
|
|
||||||
$max_length = Config::get('system', 'max_image_length');
|
|
||||||
if (! $max_length) {
|
|
||||||
$max_length = MAX_IMAGE_LENGTH;
|
|
||||||
}
|
|
||||||
if ($max_length > 0) {
|
|
||||||
$ph->scaleImage($max_length);
|
|
||||||
}
|
|
||||||
|
|
||||||
$width = $ph->getWidth();
|
|
||||||
$height = $ph->getHeight();
|
|
||||||
|
|
||||||
$hash = photo_new_resource();
|
|
||||||
|
|
||||||
$smallest = 0;
|
|
||||||
|
|
||||||
// Pictures are always public by now
|
|
||||||
//$defperm = '<'.$default_cid.'>';
|
|
||||||
$defperm = "";
|
|
||||||
$visitor = 0;
|
|
||||||
|
|
||||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 0, 0, $defperm);
|
|
||||||
|
|
||||||
if (!$r) {
|
|
||||||
logger("Picture couldn't be stored", LOGGER_DEBUG);
|
|
||||||
return(array());
|
|
||||||
}
|
|
||||||
|
|
||||||
$image = array("page" => System::baseUrl().'/photos/'.$page_owner_nick.'/image/'.$hash,
|
|
||||||
"full" => System::baseUrl()."/photo/{$hash}-0.".$ph->getExt());
|
|
||||||
|
|
||||||
if ($width > 800 || $height > 800) {
|
|
||||||
$image["large"] = System::baseUrl()."/photo/{$hash}-0.".$ph->getExt();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($width > 640 || $height > 640) {
|
|
||||||
$ph->scaleImage(640);
|
|
||||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 1, 0, $defperm);
|
|
||||||
if ($r) {
|
|
||||||
$image["medium"] = System::baseUrl()."/photo/{$hash}-1.".$ph->getExt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($width > 320 || $height > 320) {
|
|
||||||
$ph->scaleImage(320);
|
|
||||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 2, 0, $defperm);
|
|
||||||
if ($r) {
|
|
||||||
$image["small"] = System::baseUrl()."/photo/{$hash}-2.".$ph->getExt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($width > 160 && $height > 160) {
|
|
||||||
$x = 0;
|
|
||||||
$y = 0;
|
|
||||||
|
|
||||||
$min = $ph->getWidth();
|
|
||||||
if ($min > 160) {
|
|
||||||
$x = ($min - 160) / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($ph->getHeight() < $min) {
|
|
||||||
$min = $ph->getHeight();
|
|
||||||
if ($min > 160) {
|
|
||||||
$y = ($min - 160) / 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$min = 160;
|
|
||||||
$ph->cropImage(160, $x, $y, $min, $min);
|
|
||||||
|
|
||||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 3, 0, $defperm);
|
|
||||||
if ($r) {
|
|
||||||
$image["thumb"] = System::baseUrl()."/photo/{$hash}-3.".$ph->getExt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the full image as preview image. This will be overwritten, if the picture is larger than 640.
|
|
||||||
$image["preview"] = $image["full"];
|
|
||||||
|
|
||||||
// Deactivated, since that would result in a cropped preview, if the picture wasn't larger than 320
|
|
||||||
//if (isset($image["thumb"]))
|
|
||||||
// $image["preview"] = $image["thumb"];
|
|
||||||
|
|
||||||
// Unsure, if this should be activated or deactivated
|
|
||||||
//if (isset($image["small"]))
|
|
||||||
// $image["preview"] = $image["small"];
|
|
||||||
|
|
||||||
if (isset($image["medium"])) {
|
|
||||||
$image["preview"] = $image["medium"];
|
|
||||||
}
|
|
||||||
|
|
||||||
return($image);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -353,7 +353,7 @@ class ParseUrl
|
||||||
}
|
}
|
||||||
|
|
||||||
$src = self::completeUrl($attr["src"], $url);
|
$src = self::completeUrl($attr["src"], $url);
|
||||||
$photodata = Photo::getPhotoInfo($src);
|
$photodata = Photo::getInfoFromURL($src);
|
||||||
|
|
||||||
if (($photodata) && ($photodata[0] > 150) && ($photodata[1] > 150)) {
|
if (($photodata) && ($photodata[0] > 150) && ($photodata[1] > 150)) {
|
||||||
if ($photodata[0] > 300) {
|
if ($photodata[0] > 300) {
|
||||||
|
@ -374,7 +374,7 @@ class ParseUrl
|
||||||
|
|
||||||
unset($siteinfo["image"]);
|
unset($siteinfo["image"]);
|
||||||
|
|
||||||
$photodata = Photo::getPhotoInfo($src);
|
$photodata = Photo::getInfoFromURL($src);
|
||||||
|
|
||||||
if (($photodata) && ($photodata[0] > 10) && ($photodata[1] > 10)) {
|
if (($photodata) && ($photodata[0] > 10) && ($photodata[1] > 10)) {
|
||||||
$siteinfo["images"][] = array("src" => $src,
|
$siteinfo["images"][] = array("src" => $src,
|
||||||
|
|
|
@ -1660,7 +1660,7 @@ class DFRN
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Photo::updateContactAvatar(
|
Contact::updateAvatar(
|
||||||
$author["avatar"],
|
$author["avatar"],
|
||||||
$importer["uid"],
|
$importer["uid"],
|
||||||
$contact["id"],
|
$contact["id"],
|
||||||
|
@ -2035,7 +2035,7 @@ class DFRN
|
||||||
dbesc(normalise_link($old["url"]))
|
dbesc(normalise_link($old["url"]))
|
||||||
);
|
);
|
||||||
|
|
||||||
Photo::updateContactAvatar($relocate["avatar"], $importer["importer_uid"], $importer["id"], true);
|
Contact::updateAvatar($relocate["avatar"], $importer["importer_uid"], $importer["id"], true);
|
||||||
|
|
||||||
if ($x === false) {
|
if ($x === false) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -19,7 +19,6 @@ use Friendica\Database\DBM;
|
||||||
use Friendica\Model\GlobalContact;
|
use Friendica\Model\GlobalContact;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Object\Contact;
|
use Friendica\Object\Contact;
|
||||||
use Friendica\Object\Photo;
|
|
||||||
use Friendica\Object\Profile;
|
use Friendica\Object\Profile;
|
||||||
use Friendica\Util\XML;
|
use Friendica\Util\XML;
|
||||||
|
|
||||||
|
@ -2211,7 +2210,7 @@ class Diaspora
|
||||||
$image_url = "http://".$handle_parts[1].$image_url;
|
$image_url = "http://".$handle_parts[1].$image_url;
|
||||||
}
|
}
|
||||||
|
|
||||||
Photo::updateContactAvatar($image_url, $importer["uid"], $contact["id"]);
|
Contact::updateAvatar($image_url, $importer["uid"], $contact["id"]);
|
||||||
|
|
||||||
// Generic birthday. We don't know the timezone. The year is irrelevant.
|
// Generic birthday. We don't know the timezone. The year is irrelevant.
|
||||||
|
|
||||||
|
@ -2471,7 +2470,7 @@ class Diaspora
|
||||||
group_add_member($importer["uid"], "", $contact_record["id"], $def_gid);
|
group_add_member($importer["uid"], "", $contact_record["id"], $def_gid);
|
||||||
}
|
}
|
||||||
|
|
||||||
Photo::updateContactAvatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
|
Contact::updateAvatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
|
||||||
|
|
||||||
if ($importer["page-flags"] == PAGE_NORMAL) {
|
if ($importer["page-flags"] == PAGE_NORMAL) {
|
||||||
logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
|
logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
|
||||||
|
@ -2494,7 +2493,7 @@ class Diaspora
|
||||||
|
|
||||||
logger("Does an automatic friend approval for author ".$author.".", LOGGER_DEBUG);
|
logger("Does an automatic friend approval for author ".$author.".", LOGGER_DEBUG);
|
||||||
|
|
||||||
Photo::updateContactAvatar($contact_record["photo"], $importer["uid"], $contact_record["id"]);
|
Contact::updateAvatar($contact_record["photo"], $importer["uid"], $contact_record["id"]);
|
||||||
|
|
||||||
// technically they are sharing with us (CONTACT_IS_SHARING),
|
// technically they are sharing with us (CONTACT_IS_SHARING),
|
||||||
// but if our page-type is PAGE_COMMUNITY or PAGE_SOAPBOX
|
// but if our page-type is PAGE_COMMUNITY or PAGE_SOAPBOX
|
||||||
|
|
|
@ -203,7 +203,7 @@ class OStatus
|
||||||
|
|
||||||
if (!empty($author["author-avatar"]) && ($author["author-avatar"] != $current['avatar'])) {
|
if (!empty($author["author-avatar"]) && ($author["author-avatar"] != $current['avatar'])) {
|
||||||
logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
|
logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
|
||||||
Photo::updateContactAvatar($author["author-avatar"], $importer["uid"], $contact["id"]);
|
Contact::updateAvatar($author["author-avatar"], $importer["uid"], $contact["id"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that we are having this contact (with uid=0)
|
// Ensure that we are having this contact (with uid=0)
|
||||||
|
@ -223,7 +223,7 @@ class OStatus
|
||||||
dba::update('contact', $fields, array('id' => $cid), $old_contact);
|
dba::update('contact', $fields, array('id' => $cid), $old_contact);
|
||||||
|
|
||||||
// Update the avatar
|
// Update the avatar
|
||||||
Photo::updateContactAvatar($author["author-avatar"], 0, $cid);
|
Contact::updateAvatar($author["author-avatar"], 0, $cid);
|
||||||
}
|
}
|
||||||
|
|
||||||
$contact["generation"] = 2;
|
$contact["generation"] = 2;
|
||||||
|
@ -1326,7 +1326,7 @@ class OStatus
|
||||||
|
|
||||||
switch ($siteinfo["type"]) {
|
switch ($siteinfo["type"]) {
|
||||||
case 'photo':
|
case 'photo':
|
||||||
$imgdata = Photo::getPhotoInfo($siteinfo["image"]);
|
$imgdata = Photo::getInfoFromURL($siteinfo["image"]);
|
||||||
$attributes = array("rel" => "enclosure",
|
$attributes = array("rel" => "enclosure",
|
||||||
"href" => $siteinfo["image"],
|
"href" => $siteinfo["image"],
|
||||||
"type" => $imgdata["mime"],
|
"type" => $imgdata["mime"],
|
||||||
|
@ -1346,7 +1346,7 @@ class OStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Config::get('system', 'ostatus_not_attach_preview') && ($siteinfo["type"] != "photo") && isset($siteinfo["image"])) {
|
if (!Config::get('system', 'ostatus_not_attach_preview') && ($siteinfo["type"] != "photo") && isset($siteinfo["image"])) {
|
||||||
$imgdata = Photo::getPhotoInfo($siteinfo["image"]);
|
$imgdata = Photo::getInfoFromURL($siteinfo["image"]);
|
||||||
$attributes = array("rel" => "enclosure",
|
$attributes = array("rel" => "enclosure",
|
||||||
"href" => $siteinfo["image"],
|
"href" => $siteinfo["image"],
|
||||||
"type" => $imgdata["mime"],
|
"type" => $imgdata["mime"],
|
||||||
|
|
Loading…
Reference in a new issue