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