Ejemplo n.º 1
0
 public function update()
 {
     if ($this->mNeedCheckIn && !$this->prms['manage']) {
         $this->errorOutput(NO_OPRATION_PRIVILEGE);
     }
     if (empty($this->input['id'])) {
         $this->errorOutput('水印名称不能为空');
     }
     if (empty($this->input['config_name'])) {
         $this->errorOutput('配置名称不能为空');
     }
     if (intval($this->input['water_type']) == 1 && empty($this->input['water_filename'])) {
         $this->errorOutput('水印图片不能为空');
     }
     if (intval($this->input['water_type']) == 0 && empty($this->input['water_text'])) {
         $this->errorOutput('水印文字不能为空');
     }
     $id = intval($this->input['id']);
     $config_name = urldecode($this->input['config_name']);
     switch (intval($this->input['water_type'])) {
         case 0:
             //文字水印
             if (empty($this->input['water_text'])) {
                 $this->errorOutput('水印文字不能为空');
             }
             $water = array('config_name' => $config_name, 'type' => 0, 'position' => intval($this->input['get_photo_waterpos']), 'filename' => '', 'margin_x' => intval($this->input['margin_x']), 'margin_y' => intval($this->input['margin_y']), 'condition_x' => intval($this->input['condition_x']), 'condition_y' => intval($this->input['condition_y']), 'water_text' => urldecode($this->input['water_text']), 'water_angle' => intval($this->input['water_angle']) ? intval($this->input['water_angle']) : 1, 'water_font' => urldecode($this->input['water_font']), 'font_size' => intval($this->input['font_size']), 'opacity' => urldecode($this->input['opacity']), 'water_color' => urldecode($this->input['water_color']), 'global_default' => $this->input['default'] ? 1 : '');
             $ret = $this->obj->update($water, $id);
             if ($water['global_default']) {
                 $this->obj->update_water_nodefault($id);
             }
             break;
         case 1:
             //图片水印
             if (empty($this->input['water_filename'])) {
                 $this->errorOutput('水印图片不能为空');
             }
             $water_name = urldecode($this->input['water_filename']);
             $water = array('config_name' => $config_name, 'type' => 1, 'position' => intval($this->input['get_photo_waterpos']), 'filename' => $water_name, 'margin_x' => intval($this->input['margin_x']), 'margin_y' => intval($this->input['margin_y']), 'condition_x' => intval($this->input['condition_x']), 'condition_y' => intval($this->input['condition_y']), 'water_text' => '', 'water_angle' => '', 'water_font' => '', 'font_size' => '', 'opacity' => urldecode($this->input['opacity']), 'water_color' => '', 'global_default' => $this->input['default'] ? 1 : '');
             $ret = $this->obj->update($water, $id);
             if ($water['global_default']) {
                 $this->obj->update_water_nodefault($id);
             }
             //移动水印图片
             $temp_file = hg_getimg_default_dir() . MATERIAL_TMP_PATH . $water_name;
             $path = hg_getimg_default_dir() . WATER_PATH;
             if (!hg_mkdir($path)) {
                 return false;
             }
             if (file_exists($temp_file)) {
                 @copy($temp_file, $path . $water_name);
             }
             break;
         default:
             break;
     }
     hg_unlink_file(CACHE_DIR, '.water.cache.php');
     //删除水印缓存文件
     if ($ret) {
         $data = array('update_time' => TIMENOW);
         $this->obj->update($data, $id);
         $this->addLogs('修改水印配置', '', $water, $water['config_name']);
     }
     $this->addItem('success');
     $this->output();
 }
Ejemplo n.º 2
0
 public function delete($id)
 {
     if (!$id) {
         return false;
     }
     $sql = "SELECT * FROM " . DB_PREFIX . "water_config WHERE id IN (" . $id . ")";
     $q = $this->db->query($sql);
     while (false !== ($row = $this->db->fetch_array($q))) {
         if (file_exists(hg_getimg_default_dir() . WATER_PATH . $row['filename'])) {
             hg_unlink_file(hg_getimg_default_dir() . WATER_PATH, $row['filename']);
             //删除水印
         }
     }
     $sql = "DELETE FROM " . DB_PREFIX . "water_config WHERE id IN (" . $id . ")";
     $this->db->query($sql);
     hg_unlink_file(CACHE_DIR, '.water.cache.php');
     //删除水印缓存文件
     return $id;
 }