• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List

E:/E/GEAMP/www/openbiz/openbiz/bin/easy/element/FileUploader.php

00001 <?PHP
00017 include_once("FileInput.php");
00018 
00027 class FileUploader extends FileInput
00028 {
00029     public $m_UploadRoot ;
00030     public $m_UploadRootURL ;
00031     public $m_UploadFolder ;
00032     public $m_UploadFileType ;
00033     public $m_Uploaded =false;     
00034     public $m_Deleteable;
00035     public $m_UseRawName=false;        
00036 
00043     function __construct(&$xmlArr, $formObj)
00044     {
00045         parent::__construct($xmlArr, $formObj);
00046         $this->readMetaData($xmlArr);
00047         if(defined("PUBLIC_UPLOAD_PATH")){
00048               $this->m_UploadRoot= constant("PUBLIC_UPLOAD_PATH");
00049         }else{
00050               $this->m_UploadRoot= APP_HOME."/files/upload";
00051         }
00052         if(defined("PUBLIC_UPLOAD_URL")){
00053               $this->m_UploadRootURL = str_replace(APP_URL,"",constant("PUBLIC_UPLOAD_URL"));
00054         }else{
00055               $this->m_UploadRootURL = "/files/upload";
00056         }
00057     }
00058 
00065     protected function readMetaData(&$xmlArr)
00066     {
00067         parent::readMetaData($xmlArr);
00068         $this->m_UploadFolder = isset($xmlArr["ATTRIBUTES"]["UPLOADFOLDER"]) ? $xmlArr["ATTRIBUTES"]["UPLOADFOLDER"] : null;
00069         $this->m_UploadFileType = isset($xmlArr["ATTRIBUTES"]["FILETYPE"]) ? $xmlArr["ATTRIBUTES"]["FILETYPE"] : null;
00070         $this->m_Deleteable = isset($xmlArr["ATTRIBUTES"]["DELETEABLE"]) ? $xmlArr["ATTRIBUTES"]["DELETEABLE"] : "N";
00071         $this->m_UseRawName = isset($xmlArr["ATTRIBUTES"]["USERAWNAME"]) ? $xmlArr["ATTRIBUTES"]["USERAWNAME"] : false;
00072     }
00073 
00080     function setValue($value)
00081     {
00082         if($this->m_Deleteable=='N')
00083        {
00084 
00085        }
00086        else
00087        {
00088               $delete_user_opt=BizSystem::clientProxy()->getFormInputs($this->m_Name."_DELETE");
00089               if($delete_user_opt)
00090               {
00091                      $this->m_Value="";
00092                      return;
00093               }
00094               else
00095               {
00096                      if(count($_FILES)>0){
00097                             
00098                      }else{
00099                             $this->m_Value = $value;
00100                      }   
00101               } 
00102        }
00103        if(count($_FILES)>0)
00104                {
00105                    if(!$this->m_Uploaded)
00106                    {
00107                        $file = $_FILES[$this->m_Name];
00108        
00109                        if(!is_dir($this->m_UploadRoot.$this->m_UploadFolder))
00110                        {
00111                            mkdir($this->m_UploadRoot.$this->m_UploadFolder ,0777,true);
00112                        }
00113                        if($this->m_UseRawName){
00114                             $uploadFile = $this->m_UploadFolder."/".$file['name'];
00115                        }else{
00116                             $uploadFile = $this->m_UploadFolder."/".date("YmdHis")."-".md5($file['name']);
00117                        }
00118                        if($this->m_UploadFileType){
00119                             $pattern = "/".$this->m_UploadFileType."$/si";
00120                             if(!preg_match($pattern,$file['name'])){
00121                                    return;
00122                             }                                                       
00123                        }
00124                        if(move_uploaded_file($file['tmp_name'], $this->m_UploadRoot.$uploadFile))
00125                        {
00126                            $this->m_Value = $this->m_UploadRootURL.$uploadFile;
00127                            $this->m_Uploaded=true;
00128                        }                                         
00129                        return $uploadFile;              
00130                    }
00131                }     
00132     }
00133 
00134     public function render()
00135     {
00136        if($this->m_Deleteable=="Y"){
00137               $delete_opt="<input type=\"checkbox\" name=\"" . $this->m_Name . "_DELETE\" id=\"" . $this->m_Name ."_DELETE\" >Delete";
00138         } else{
00139               $delete_opt="";
00140         }
00141         $disabledStr = ($this->getEnabled() == "N") ? "disabled=\"true\"" : "";
00142         $style = $this->getStyle();
00143         $func = $this->getFunction();
00144         $sHTML .= "<input type=\"file\" name='$this->m_Name' id=\"" . $this->m_Name ."\" value='$this->m_Value' $disabledStr $this->m_HTMLAttr $style $func />        
00145                             $delete_opt";
00146         return $sHTML;
00147     }    
00148 
00149 }
00150 ?>

Generated on Thu Apr 19 2012 17:09:13 for openbiz by  doxygen 1.7.2