private $image;
private $width;
private $height;
+ private $valid;
public function __construct($data) {
+ $this->valid = false;
$this->image = @imagecreatefromstring($data);
if($this->image !== FALSE) {
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
+ $this->valid = true;
}
}
imagedestroy($this->image);
}
+ public function is_valid() {
+ return $this->valid;
+ }
+
public function getWidth() {
return $this->width;
}
}
public function saveImage($path) {
- imagejpeg($this->image,$path,100);
+ $quality = get_config('system','jpeg_quality');
+ if((! $quality) || ($quality > 100))
+ $quality = JPEG_QUALITY;
+ imagejpeg($this->image,$path,$quality);
}
public function imageString() {
ob_start();
- imagejpeg($this->image,NULL,100);
+
+ $quality = get_config('system','jpeg_quality');
+ if((! $quality) || ($quality > 100))
+ $quality = JPEG_QUALITY;
+
+ imagejpeg($this->image,NULL,$quality);
$s = ob_get_contents();
ob_end_clean();
return $s;
- public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0) {
+ 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` )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d )",
+ ( `uid`, `contact-id`, `resource-id`, `created`, `edited`, `filename`, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )",
intval($uid),
intval($cid),
dbesc($rid),
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)
+ intval($profile),
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid)
);
return $r;
}
}}
+function import_profile_photo($photo,$uid,$cid) {
+
+ $a = get_app();
+
+ $photo_failure = false;
+
+ $filename = basename($photo);
+ $img_str = fetch_url($photo,true);
+ $img = new Photo($img_str);
+ if($img->is_valid()) {
+
+ $img->scaleImageSquare(175);
+
+ $hash = photo_new_resource();
+
+ $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 4 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(80);
+
+ $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 5 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(48);
+
+ $r = $img->store($uid, $cid, $hash, $filename, t('Contact Photos'), 6 );
+
+ if($r === false)
+ $photo_failure = true;
+
+
+
+ $photo = $a->get_baseurl() . '/photo/' . $hash . '-4.jpg';
+ $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.jpg';
+ $micro = $a->get_baseurl() . '/photo/' . $hash . '-6.jpg';
+ }
+ else
+ $photo_failure = true;
+
+ if($photo_failure) {
+ $photo = $a->get_baseurl() . '/images/default-profile.jpg';
+ $thumb = $a->get_baseurl() . '/images/default-profile-sm.jpg';
+ $micro = $a->get_baseurl() . '/images/default-profile-mm.jpg';
+ }
+
+ return(array($photo,$thumb,$micro));
+
+}