aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2010-11-09 18:24:35 -0800
committerFriendika <info@friendika.com>2010-11-09 18:24:35 -0800
commitf4fd67992812c5c356ff51e875077921a2222d90 (patch)
tree0ca3e25a5760c3d9d1598bca716f24767fe234fa
parent70bcf000e3662266df8683d57269a0b75af60330 (diff)
downloadvolse-hubzilla-f4fd67992812c5c356ff51e875077921a2222d90.tar.gz
volse-hubzilla-f4fd67992812c5c356ff51e875077921a2222d90.tar.bz2
volse-hubzilla-f4fd67992812c5c356ff51e875077921a2222d90.zip
couple of issues w/ profile photo update propogation
-rw-r--r--boot.php5
-rw-r--r--include/Photo.php9
-rw-r--r--include/dba.php18
-rw-r--r--include/items.php65
-rw-r--r--mod/dfrn_request.php2
-rw-r--r--mod/photos.php8
-rw-r--r--mod/profile_photo.php11
7 files changed, 69 insertions, 49 deletions
diff --git a/boot.php b/boot.php
index 4fc917bcc..2ac6ee791 100644
--- a/boot.php
+++ b/boot.php
@@ -954,6 +954,7 @@ function webfinger_dfrn($s) {
return $s;
}
$links = webfinger($s);
+ logger('webfinger_dfrn: ' . $s . ':' . print_r($links,true), LOGGER_DATA);
if(count($links)) {
foreach($links as $link)
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
@@ -978,6 +979,7 @@ function webfinger($s) {
}
if(strlen($host)) {
$tpl = fetch_lrdd_template($host);
+ logger('webfinger: lrdd template: ' . $tpl);
if(strlen($tpl)) {
$pxrd = str_replace('{uri}', urlencode('acct:'.$s), $tpl);
$links = fetch_xrd_links($pxrd);
@@ -1066,9 +1068,12 @@ function fetch_lrdd_template($host) {
if(! function_exists('fetch_xrd_links')) {
function fetch_xrd_links($url) {
+
$xml = fetch_url($url);
if (! $xml)
return array();
+
+ logger('fetch_xrd_links: ' . $xml, LOGGER_DATA);
$h = simplexml_load_string($xml);
$arr = convert_xml_element_to_array($h);
diff --git a/include/Photo.php b/include/Photo.php
index 98b11ab39..9934b9a39 100644
--- a/include/Photo.php
+++ b/include/Photo.php
@@ -175,8 +175,7 @@ class Photo {
- public function store($uid, $cid, $rid, $filename, $album, $scale,
- $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
+ public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
$r = q("INSERT INTO `photo`
( `uid`, `contact-id`, `resource-id`, `created`, `edited`, `filename`, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
@@ -188,9 +187,9 @@ class Photo {
dbesc(datetime_convert()),
dbesc(basename($filename)),
dbesc($album),
- intval($this->height),
- intval($this->width),
- dbesc($this->imageString()),
+ intval($this->height),
+ intval($this->width),
+ dbesc($this->imageString()),
intval($scale),
intval($profile),
dbesc($allow_cid),
diff --git a/include/dba.php b/include/dba.php
index 54084d835..4e3f11f7b 100644
--- a/include/dba.php
+++ b/include/dba.php
@@ -37,7 +37,7 @@ class dba {
$mesg = '';
if($this->db->errno)
- $debug_text .= $this->db->error . EOL;
+ logger('dba: ' . $this->db->error);
if($result === false)
$mesg = 'false';
@@ -48,14 +48,7 @@ class dba {
$str = 'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg . EOL;
- switch($this->debug) {
- case 3:
- echo $str;
- break;
- default:
- $debug_text .= $str;
- break;
- }
+ logger('dba: ' . $str );
}
else {
if($result === false) {
@@ -75,11 +68,8 @@ class dba {
$result->free_result();
}
- if($this->debug == 2)
- $debug_text .= printable(print_r($r, true). EOL);
- elseif($this->debug == 3)
- echo printable(print_r($r, true) . EOL) ;
-
+ if($this->debug)
+ logger('dba: ' . printable(print_r($r, true)), LOGGER_DATA);
return($r);
}
diff --git a/include/items.php b/include/items.php
index 20f843613..8dbb59128 100644
--- a/include/items.php
+++ b/include/items.php
@@ -761,17 +761,12 @@ function consume_feed($xml,$importer,$contact, &$hub, $datedir = 0) {
$photo_url = $elems['link'][0]['attribs']['']['href'];
}
}
- if(! $photo_timestamp) {
- $photo_rawupdate = $feed->get_feed_tags(NAMESPACE_DFRN,'icon-updated');
- if($photo_rawupdate) {
- $photo_timestamp = datetime_convert('UTC','UTC',$photo_rawupdate[0]['data']);
- $photo_url = $feed->get_image_url();
- }
- }
- if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $contact['avatar-date'])) {
+ if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $contact['avatar-date'])) {
+ logger('Consume feed: Updating photo for ' . $contact['name']);
require_once("Photo.php");
$photo_failure = false;
+ $have_photo = false;
$r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
intval($contact['id']),
@@ -779,33 +774,45 @@ function consume_feed($xml,$importer,$contact, &$hub, $datedir = 0) {
);
if(count($r)) {
$resource_id = $r[0]['resource-id'];
- $img_str = fetch_url($photo_url,true);
- $img = new Photo($img_str);
- if($img->is_valid()) {
- q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND contact-id` = %d AND `uid` = %d",
+ $have_photo = true;
+ }
+ else {
+ $resource_id = photo_new_resource();
+ }
+
+ $img_str = fetch_url($photo_url,true);
+ $img = new Photo($img_str);
+ if($img->is_valid()) {
+ if($have_photo) {
+ q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
dbesc($resource_id),
intval($contact['id']),
intval($contact['uid'])
);
-
- $img->scaleImageSquare(175);
+ }
- $hash = $resource_id;
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 4);
+ $img->scaleImageSquare(175);
- $img->scaleImage(80);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 5);
-
- $img->scaleImage(48);
- $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 6);
-
- if($r)
- q("UPDATE `contact` SET `avatar-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
- dbesc(datetime_convert()),
- intval($contact['uid']),
- intval($contact['id'])
- );
- }
+ $hash = $resource_id;
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 4);
+
+ $img->scaleImage(80);
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 5);
+
+ $img->scaleImage(48);
+ $r = $img->store($contact['uid'], $contact['id'], $hash, basename($photo_url), t('Contact Photos') , 6);
+
+ $a = get_app();
+
+ q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
+ WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ dbesc(datetime_convert()),
+ dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.jpg'),
+ dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.jpg'),
+ dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.jpg'),
+ intval($contact['uid']),
+ intval($contact['id'])
+ );
}
}
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 8c259f231..60106661c 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -192,6 +192,8 @@ function dfrn_request_post(&$a) {
$network = 'dfrn';
}
+ logger('dfrn_request: url: ' . $url);
+
if(! strlen($url)) {
notice( t("Unable to resolve your name at the provided location.") . EOL);
return;
diff --git a/mod/photos.php b/mod/photos.php
index e1926bb56..addc04d76 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -453,6 +453,14 @@ function photos_post(&$a) {
$filename = basename($_FILES['userfile']['name']);
$filesize = intval($_FILES['userfile']['size']);
+ $maximagesize = get_config('system','maximagesize');
+
+ if(($maximagesize) && ($filesize > $maximagesize)) {
+ notice( t('Image exceeds size limit of ') . $maximagesize . EOL);
+ @unlink($src);
+ return;
+ }
+
$imagedata = @file_get_contents($src);
$ph = new Photo($imagedata);
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index 32ace62f0..39808776b 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -42,7 +42,7 @@ function profile_photo_post(&$a) {
$srcY = $_POST['ystart'];
$srcW = $_POST['xfinal'] - $srcX;
$srcH = $_POST['yfinal'] - $srcY;
-//dbg(3);
+
$r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d AND `scale` = %d LIMIT 1",
dbesc($image_id),
dbesc(local_user()),
@@ -97,6 +97,7 @@ function profile_photo_post(&$a) {
else
notice( t('Unable to process image') . EOL);
}
+
goaway($a->get_baseurl() . '/profiles');
return; // NOTREACHED
}
@@ -105,6 +106,14 @@ function profile_photo_post(&$a) {
$filename = basename($_FILES['userfile']['name']);
$filesize = intval($_FILES['userfile']['size']);
+ $maximagesize = get_config('system','maximagesize');
+
+ if(($maximagesize) && ($filesize > $maximagesize)) {
+ notice( t('Image exceeds size limit of ') . $maximagesize . EOL);
+ @unlink($src);
+ return;
+ }
+
$imagedata = @file_get_contents($src);
$ph = new Photo($imagedata);