Jump to content

[SOLVED] class error i do not understand :S.


jamesxg1

Recommended Posts

Hiya peeps,

 

Simple code,

 

<?php session_start();

  class Uploader {
      
       private $profilepicturename;
       
       function ProfilePicture($profilepicturename) {
           
             $this->ProfilePictureName = mysql_real_escape_string(trim(addslashes(strip_tags($profilepicturename))));
             $this->SessionUsername = mysql_real_escape_string(trim(addslashes(strip_tags(base64_encode($_SESSION['username'])))));
             $this->SessionUserID = mysql_real_escape_string(trim(addslashes(strip_tags($_SESSION['user_id']))));

             $this->ProfilePictureCheck = "SELECT `photo` FROM `profile` WHERE username = '$this->SessionUsername' AND user_id = '$this->SessionUserID'";
             $this->RunProfilePictureCheck = mysql_query($this->ProfilePictureCheck) or trigger_error('Query failed: ' . mysql_error(), E_USER_ERROR);
             
             if(mysql_num_rows($this->RunProfilePictureCheck) > 0) {
             
              $this->UpdateProfilePicture = "UPDATE `photo` SET photo = '$this->ProfilePictureName' WHERE username = '$this->SessionUsername' AND user_id = 

'$this->SessionUserID'";
              $this->RunUpdateProfilePicture = mysql_query($this->UpdateProfilePicture) or trigger_error('Query failed: ' . mysql_error(), E_USER_ERROR); 
              
             
             } elseif (mysql_num_rows($this->RunProfilePictureCheck) > 1) {
             
                 $this->InsertProfilePicture = "INSERT INTO `profile` (`photo`) VALUES('$this->ProfilePictureName') WHERE username = '$this->SessionUsername' 

AND user_id = '$this->SessionUserID'";
              $this->RunInsertProfilePicture = mysql_query($this->InsertProfilePicture) or trigger_error('Query failed: ' . mysql_error(), E_USER_ERROR); 

             } 
       }
  }
?>

 

I get this,

 

Fatal error: Call to a member function ProfilePicture() on a non-object in C:\Program Files\xampp\xampp\htdocs\socialbuild\test\scripts\ajaxupload.php on line 31

 

Line 31 = is the first end tag ( } ).

 

Many thanks,

 

James.

How are you trying to use this class you have defined? I don't see the code where you are using it anywhere. first you define a class. Then you create an instance (object) of that class. And then you use the class methods with that object. E.g.

 

<?php
// Picture name
$somePicName = 'test.jpg';

// Create object
$uploader = new Uploader();

// Call the class method
$uploader->ProfilePicture($somePicName);

Is this usable ?

 

<?php session_start();

include '../library/Uploaders.inc.php';
include '../library/Mysql.inc.php';

$mysql = new Database();
$mysql->Connection();
$uploader = new Uploader();

function uploadImage($fileName, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH = null){
	$folder = $relPath;
	$maxlimit = $maxSize;
	$allowed_ext = "jpg,jpeg,gif,png,bmp";
	$match = "";
	$filesize = $_FILES[$fileName]['size'];
	if($filesize > 0){	
		$filename = strtolower($_FILES[$fileName]['name']);
		$filename = preg_replace('/\s/', '_', $filename);
	   	if($filesize < 1){ 
			$errorList[] = "File size is empty.";
		}
		if($filesize > $maxlimit){ 
			$errorList[] = "File size is too big.";
		}
		if(count($errorList)<1){
			$file_ext = preg_split("/\./",$filename);
			$allowed_ext = preg_split("/\,/",$allowed_ext);
			foreach($allowed_ext as $ext){
				if($ext==end($file_ext)){
					$match = "1"; // File is allowed
					$NUM = time();
					$front_name = substr($file_ext[0], 0, 15);
					$newfilename = $_SESSION['username']."_".$_SESSION['user_id']."_".$NUM."_mainprofilepic.".end($file_ext);
					$uploader->ProfilePicture($newfilename);
					$filetype = end($file_ext);
					$save = $folder.$newfilename;
					if(!file_exists($save)){
						list($width_orig, $height_orig) = getimagesize($_FILES[$fileName]['tmp_name']);
						if($maxH == null){
							if($width_orig < $maxW){
								$fwidth = $width_orig;
							}else{
								$fwidth = $maxW;
							}
							$ratio_orig = $width_orig/$height_orig;
							$fheight = $fwidth/$ratio_orig;

							$blank_height = $fheight;
							$top_offset = 0;

						}else{
							if($width_orig <= $maxW && $height_orig <= $maxH){
								$fheight = $height_orig;
								$fwidth = $width_orig;
							}else{
								if($width_orig > $maxW){
									$ratio = ($width_orig / $maxW);
									$fwidth = $maxW;
									$fheight = ($height_orig / $ratio);
									if($fheight > $maxH){
										$ratio = ($fheight / $maxH);
										$fheight = $maxH;
										$fwidth = ($fwidth / $ratio);
									}
								}
								if($height_orig > $maxH){
									$ratio = ($height_orig / $maxH);
									$fheight = $maxH;
									$fwidth = ($width_orig / $ratio);
									if($fwidth > $maxW){
										$ratio = ($fwidth / $maxW);
										$fwidth = $maxW;
										$fheight = ($fheight / $ratio);
									}
								}
							}
							if($fheight == 0 || $fwidth == 0 || $height_orig == 0 || $width_orig == 0){
								die("FATAL ERROR REPORT ERROR CODE [add-pic-line-67-orig] to <a href='http://www.atwebresults.com'>AT WEB RESULTS</a>");
							}
							if($fheight < 45){
								$blank_height = 45;
								$top_offset = round(($blank_height - $fheight)/2);
							}else{
								$blank_height = $fheight;
							}
						}
						$image_p = imagecreatetruecolor($fwidth, $blank_height);
						$white = imagecolorallocate($image_p, $colorR, $colorG, $colorB);
						imagefill($image_p, 0, 0, $white);
						switch($filetype){
							case "gif":
								$image = @imagecreatefromgif($_FILES[$fileName]['tmp_name']);
							break;
							case "jpg":
								$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);
							break;
							case "jpeg":
								$image = @imagecreatefromjpeg($_FILES[$fileName]['tmp_name']);
							break;
							case "png":
								$image = @imagecreatefrompng($_FILES[$fileName]['tmp_name']);
							break;
						}
						@imagecopyresampled($image_p, $image, 0, $top_offset, 0, 0, $fwidth, $fheight, $width_orig, $height_orig);
						switch($filetype){
							case "gif":
								if(!@imagegif($image_p, $save)){
									$errorList[]= "PERMISSION DENIED [GIF]";
								}
							break;
							case "jpg":
								if(!@imagejpeg($image_p, $save, 100)){
									$errorList[]= "PERMISSION DENIED [JPG]";
								}
							break;
							case "jpeg":
								if(!@imagejpeg($image_p, $save, 100)){
									$errorList[]= "PERMISSION DENIED [JPEG]";
								}
							break;
							case "png":
								if(!@imagepng($image_p, $save, 0)){
									$errorList[]= "PERMISSION DENIED [PNG]";
								}
							break;
						}
						@imagedestroy($filename);
					}else{
						$errorList[]= "CANNOT MAKE IMAGE IT ALREADY EXISTS";
					}	
				}
			}		
		}
	}else{
		$errorList[]= "NO FILE SELECTED";
	}
	if(!$match){
	   	$errorList[]= "File type isn't allowed: $filename";
	}
	if(sizeof($errorList) == 0){
		return $fullPath.$newfilename;
	}else{
		$eMessage = array();
		for ($x=0; $x<sizeof($errorList); $x++){
			$eMessage[] = $errorList[$x];
		}
	   	return $eMessage;
	}
}

$filename = strip_tags($_REQUEST['filename']);
$maxSize = strip_tags($_REQUEST['maxSize']);
$maxW = strip_tags($_REQUEST['maxW']);
$fullPath = strip_tags($_REQUEST['fullPath']);
$relPath = strip_tags($_REQUEST['relPath']);
$colorR = strip_tags($_REQUEST['colorR']);
$colorG = strip_tags($_REQUEST['colorG']);
$colorB = strip_tags($_REQUEST['colorB']);
$maxH = strip_tags($_REQUEST['maxH']);
$filesize_image = $_FILES[$filename]['size'];
if($filesize_image > 0){
	$upload_image = uploadImage($filename, $maxSize, $maxW, $fullPath, $relPath, $colorR, $colorG, $colorB, $maxH);
	if(is_array($upload_image)){
		foreach($upload_image as $key => $value) {
			if($value == "-ERROR-") {
				unset($upload_image[$key]);
			}
		}
		$document = array_values($upload_image);
		for ($x=0; $x<sizeof($document); $x++){
			$errorList[] = $document[$x];
		}
		$imgUploaded = false;
	}else{
		$imgUploaded = true;
	}
}else{
	$imgUploaded = false;
	$errorList[] = "File Size Empty";
}

if($imgUploaded){
	echo '<img src="images/success.gif" width="16" height="16" border="0" style="marin-bottom: -4px;" /> Success!<br /><img src="'.$upload_image.'" border="0" />';

}else{
	echo '<img src="images/error.gif" width="16" height="16px" border="0" style="marin-bottom: -3px;" /> Error(s) Found: ';
	foreach($errorList as $value){
    		echo $value.', ';
	}
}
?>

 

Many thanks,

 

James.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.