You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							131 lines
						
					
					
						
							3.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							131 lines
						
					
					
						
							3.9 KiB
						
					
					
				
								<?php
							 | 
						|
								/*********************************************************************************
							 | 
						|
								 * The contents of this file are subject to the SugarCRM Public License Version 1.1.2
							 | 
						|
								 * ("License"); You may not use this file except in compliance with the
							 | 
						|
								 * License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
							 | 
						|
								 * Software distributed under the License is distributed on an  "AS IS"  basis,
							 | 
						|
								 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
							 | 
						|
								 * the specific language governing rights and limitations under the License.
							 | 
						|
								 * The Original Code is:  SugarCRM Open Source
							 | 
						|
								 * The Initial Developer of the Original Code is SugarCRM, Inc.;
							 | 
						|
								 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
							 | 
						|
								 * All Rights Reserved.
							 | 
						|
								 * Contributor(s): ______________________________________..
							 | 
						|
								 ********************************************************************************/
							 | 
						|
								/*********************************************************************************
							 | 
						|
								 * $Header $
							 | 
						|
								 * Description:
							 | 
						|
								 ********************************************************************************/
							 | 
						|
								
							 | 
						|
								require_once('config.php');
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class UploadFile 
							 | 
						|
								{
							 | 
						|
								
							 | 
						|
									var $field_name;
							 | 
						|
									var $stored_file_name;
							 | 
						|
								
							 | 
						|
								        function UploadFile ($field_name)
							 | 
						|
								        {
							 | 
						|
										$this->field_name = $field_name;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
									function get_url($stored_file_name,$bean_id)
							 | 
						|
									{
							 | 
						|
										global $site_URL;
							 | 
						|
										global $upload_dir;
							 | 
						|
								                //echo $site_URL.'/'.$upload_dir.$bean_id.$stored_file_name;
							 | 
						|
								                //echo $_ENV['HOSTNAME'] .':' .$_SERVER["SERVER_PORT"].'/'.$upload_dir.$bean_id.$stored_file_name;
							 | 
						|
								                return 'http://'.$_ENV['HOSTNAME'] .':' .$_SERVER["SERVER_PORT"].'/'.$upload_dir.$bean_id.$stored_file_name;
							 | 
						|
								                //return $site_URL.'/'.$upload_dir.$bean_id.$stored_file_name;
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									function duplicate_file($old_id, $new_id, $file_name)
							 | 
						|
									{
							 | 
						|
										global $root_directory;
							 | 
						|
										global $upload_dir;
							 | 
						|
								                $source = $root_directory.'/'.$upload_dir.$old_id.$file_name;
							 | 
						|
								                $destination = $root_directory.'/'.$upload_dir.$new_id.$file_name;
							 | 
						|
										copy( $source,$destination);
							 | 
						|
									}
							 | 
						|
									
							 | 
						|
									function confirm_upload()
							 | 
						|
									{
							 | 
						|
										global $root_directory;
							 | 
						|
										global $upload_dir;
							 | 
						|
										global $upload_maxsize;
							 | 
						|
								                global $upload_badext;
							 | 
						|
								
							 | 
						|
								
							 | 
						|
										if (!is_uploaded_file($_FILES[$this->field_name]['tmp_name']) )
							 | 
						|
										{
							 | 
						|
											return false;
							 | 
						|
										}
							 | 
						|
										else if ($_FILES[$this->field_name]['size'] > $upload_maxsize)
							 | 
						|
										{
							 | 
						|
											die("ERROR: uploaded file was too big: max filesize:$upload_maxsize");
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
								
							 | 
						|
										if( !is_writable( $root_directory.'/'.$upload_dir))
							 | 
						|
										{
							 | 
						|
											die ("ERROR: cannot write to directory: $root_directory/$upload_dir for uploads");
							 | 
						|
										}
							 | 
						|
								
							 | 
						|
										$this->stored_file_name = $this->create_stored_filename();
							 | 
						|
								
							 | 
						|
										return true;
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									function get_stored_file_name()
							 | 
						|
									{
							 | 
						|
										return $this->stored_file_name;
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									function create_stored_filename()
							 | 
						|
									{
							 | 
						|
										global $upload_badext;
							 | 
						|
								                $stored_file_name = $_FILES[$this->field_name]['name'];
							 | 
						|
								
							 | 
						|
								                $ext_pos = strrpos($stored_file_name, ".");
							 | 
						|
								
							 | 
						|
										$ext = substr($stored_file_name, $ext_pos + 1);
							 | 
						|
								
							 | 
						|
								                if (in_array($ext, $upload_badext)) 
							 | 
						|
										{
							 | 
						|
								                        $stored_file_name .= ".txt";
							 | 
						|
								                }
							 | 
						|
								
							 | 
						|
										return $stored_file_name;
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									function final_move($bean_id)
							 | 
						|
									{
							 | 
						|
										global $root_directory;
							 | 
						|
										global $upload_dir;
							 | 
						|
								
							 | 
						|
								                $file_name = $bean_id.$this->stored_file_name;
							 | 
						|
								
							 | 
						|
								                $destination = $root_directory.'/'.$upload_dir.$file_name;
							 | 
						|
								
							 | 
						|
										if (!move_uploaded_file($_FILES[$this->field_name]['tmp_name'], $destination))
							 | 
						|
								                {
							 | 
						|
											die ("ERROR: can't move_uploaded_file to $destination");
							 | 
						|
								                }
							 | 
						|
								
							 | 
						|
								                return true;
							 | 
						|
								
							 | 
						|
								
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									function unlink_file($bean_id,$file_name)
							 | 
						|
								        {
							 | 
						|
								                global $root_directory;
							 | 
						|
										global $upload_dir;
							 | 
						|
								                return unlink($root_directory."/".$upload_dir.$bean_id.$file_name);
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								?>
							 | 
						|
								
							 |