blob: 244b43e1454c27eba052aa6672757980bf5be06f [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2010 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Denis Roy (Eclipse Foundation)- initial API and implementation
* Nathan Gervais (Eclipse Foundation) - Expanded new fields being added
*******************************************************************************/
require_once(realpath(dirname(__FILE__) . "/../../system/app.class.php"));
class MemberImage {
#*****************************************************************************
#
# membershipimage.class.php
#
# Author: M. Ward
# Date: 06/01/10
# Based on work by: Denis Roy 2005-10-25
#
# Description: functions around membership image details
#
# HISTORY:
#
#*****************************************************************************
var $DEBUG;
var $details = array();
# default constructor
function MemberImage() {
$this->DEBUG = 0;
$this->details[0] = -1;
$this->details[1] = -1;
}
function getsmall_image($member_id) {
if ($this->getMetaImage($member_id,"small") == -1 ) {
if ($this->DEBUG) {echo "Error retrieving image details for member $_member_id.";}
}
return $this->details;
}
function getlarge_image($member_id) {
if ($this->getMetaImage($member_id,"large") == -1 ) {
if ($this->DEBUG){echo "Error retrieving image details for member $_member_id.";}
}
return $this->details;
}
function setdebug($val){
$this->DEBUG = $val;
}
private function getMetaImage($_member_id, $_size) {
if ( $_member_id <= 0 || !is_numeric($_member_id)){return -1;}
$image = "";
$App = new App();
$sql = "SELECT ".$_size."_height as height, ".$_size."_width as width , ".$_size."_logo as image from OrganizationInformation where OrganizationID = ".$_member_id." LIMIT 1";
$sql = $App->sqlSanitize($sql);
$result = $App->eclipse_sql($sql);
while($myrow = mysql_fetch_array($result))
{
$this->details[0]=$myrow["width"];
$this->details[1]=$myrow["height"];
$image=$myrow["image"];
}
if ($this->details[0] == 0 && $this->details[1] == 0 ) {
if ( $image != "" ) {
$img = imagecreatefromstring($image);
$this->details[1] = imagesy($img);
$this->details[0] = imagesx($img);
imagedestroy($img);
if ( $this->details[0] == 0 && $this->details[1] == 0 ) {
//try and get the data the old fashined way
$image_url = 'http://eclipse.org/membership/scripts/get_image.php?size=small&id=';
list ($this->details[0], $this->details[1], $type, $attr) = getimagesize($image_url . $array['memberID']);
}
}
if ( $this->details[1] == 0 && $this->details[0] == 0 ) { //error!
return -1;
}
$sql = "UPDATE OrganizationInformation SET ".$_size."_height = ".$this->details[1].",".$_size."_width = ".$this->details[0]." where OrganizationID = ".$_member_id;
//insert data
$sql = $App->sqlSanitize($sql);
$result = $App->eclipse_sql($sql);
}
return 1;
}
}
?>