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}"); }