コード例 #1
0
ファイル: adv_controller.php プロジェクト: tilitala/nForum
 public function advAdd()
 {
     $p = 1;
     if (isset($this->params['form']['p'])) {
         $p = $this->params['form']['p'];
     }
     $url = $sTime = $eTime = $remark = "";
     $privilege = $weight = $switch = 0;
     if (isset($this->params['form']['img'])) {
         $errno = $this->params['form']['img']['error'];
     } else {
         $errno = UPLOAD_ERR_PARTIAL;
     }
     switch ($errno) {
         case UPLOAD_ERR_OK:
             $tmpFile = $this->params['form']['img']['tmp_name'];
             $tmpName = $this->params['form']['img']['name'];
             if (!is_uploaded_file($tmpFile)) {
                 $this->redirect("/adv/{$this->_type}?p={$p}");
             }
             $ext = strrchr($tmpName, '.');
             $file = date("Y-m-d-H-i-s", time()) . $ext;
             $dir = Configure::read('adv.path');
             $path = $dir . DS . $file;
             $fullDir = WWW_ROOT . $dir;
             $fullPath = WWW_ROOT . $path;
             if (!is_dir($fullDir)) {
                 @mkdir($fullDir);
             }
             if (is_file($fullPath)) {
                 $this->redirect("/adv/{$this->_type}?p={$p}");
             }
             $imgInf = @getimagesize($tmpFile);
             if ($imgInf === false) {
                 $this->redirect("/adv/{$this->_type}?p={$p}");
             }
             if (!in_array($imgInf[2], range(1, 3))) {
                 $this->redirect("/adv/{$this->_type}?p={$p}");
             }
             if (!move_uploaded_file($tmpFile, $fullPath)) {
                 $this->redirect("/adv/{$this->_type}?p={$p}");
             }
             break;
         case UPLOAD_ERR_INI_SIZE:
         case UPLOAD_ERR_FORM_SIZE:
         case UPLOAD_ERR_PARTIAL:
         case UPLOAD_ERR_NO_FILE:
             $this->redirect("/adv/{$this->_type}?p={$p}");
         default:
             $this->redirect("/adv/{$this->_type}?p={$p}");
     }
     if (isset($this->params['form']['url'])) {
         $url = $this->params['form']['url'];
     }
     if (isset($this->params['form']['sTime'])) {
         $sTime = $this->params['form']['sTime'];
     }
     if (isset($this->params['form']['eTime'])) {
         $eTime = $this->params['form']['eTime'];
     }
     if (isset($this->params['form']['privilege'])) {
         $privilege = 1;
     }
     if (isset($this->params['form']['switch'])) {
         $switch = 1;
     }
     if (isset($this->params['form']['weight'])) {
         $weight = $this->params['form']['weight'];
     }
     if (isset($this->params['form']['remark'])) {
         $remark = $this->params['form']['remark'];
     }
     $adv = new Adv();
     $adv->type = $this->_type;
     $adv->add($this->_type, $file, $url, $sTime, $eTime, $switch, $weight, $privilege, $remark);
     $this->redirect("/adv/{$this->_type}?p={$p}");
 }