Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] D4图片水印完美版,可根据用户组权限选择--更新于20060217

[复制链接]
晶莹雪花 发表于 2005-12-27 16:14:39 | 显示全部楼层 |阅读模式

说明:
1、将图片附件水印调入前台控制,发贴、回复时可选择是否水印、类型、位置、透明度等
2、要使前台水印起作用,必须开启“后台--附件设置中的水印控制选项”
3、黑色部分为正常安装部分,绿色部分为选择安装部分
4、对早上发布的语法做了相应的优化,前面一贴已经改为卸载方法,请对照卸载后安装本贴内容
前面一贴地址: https://discuz.dismall.com/viewthread.php?tid=212522

5、更新于20060217下午,修正在D41212以后版本中无法选择图的bug,请先正常安装,然后对照最后的红色部分进行修改就可以了


安装过程:

1、templates\default\post_attachments.htm
查找

  1. <tr class="category"><td colspan="2">{lang attachment_new} ({lang lower_than} $maxattachsize_kb kb <!--{if $attachextensions}-->, {lang attachment_allow_exts}: $attachextensions<!--{/if}-->)</td></tr>
复制代码


后面添加

  1. <!--前台水印控制--><!--{if $watermarkstatus}-->
  2. <tr class="altbg2"><td colspan="2">
  3.         <div style="float:left;text-align:left">
  4.                 <input type="checkbox" name="setwater" value="1" checked align="absmiddle" onclick="if(this.checked){setwaterdiv.style.display = '';}else{setwaterdiv.style.display = 'none';}">为图片附件添加水印
  5.         </div>
  6.         <div id="setwaterdiv"  style="float:left">
  7.         <div style="float:left;margin-bottom:4px">  水印:
  8.                 <input type="radio" name="waterfliename" value="water01.gif" align="absmiddle" checked><img src="images/common/water01.gif">
  9.                 <input type="radio" name="waterfliename" value="water02.gif" align="absmiddle"><img src="images/common/water02.gif">
  10.                 <input type="radio" name="waterfliename" value="water03.gif" align="absmiddle"><img src="images/common/water03.gif">
  11.         </div>       
  12.         <div style="float:left"> 位置:
  13.                 <input type="radio" name="watermarkstatu" value="1" onclick="pos1.innerHTML='顶端居左'">
  14.         <input type="radio" name="watermarkstatu" value="2" onclick="pos1.innerHTML='顶端居中'">
  15.         <input type="radio" name="watermarkstatu" value="3" onclick="pos1.innerHTML='顶端居右'">
  16.         
  17.         <input type="radio" name="watermarkstatu" value="4" onclick="pos1.innerHTML='中部居左'">
  18.         <input type="radio" name="watermarkstatu" value="5" onclick="pos1.innerHTML='中部居中'">
  19.         <input type="radio" name="watermarkstatu" value="6" onclick="pos1.innerHTML='中部居右'">
  20.         
  21.         <input type="radio" name="watermarkstatu" value="7" onclick="pos1.innerHTML='底部居左'">
  22.         <input type="radio" name="watermarkstatu" value="8" onclick="pos1.innerHTML='底部居中'">
  23.         <input type="radio" name="watermarkstatu" value="9" onclick="pos1.innerHTML='底部居右'" checked>
  24.                    <span id="pos1">底部居右</span>
  25.         </div>
  26.         <div style="float:left">  
  27.                 透明度:<input type="text" name="watermarktran" size="1" value="100">
  28.         </div>
  29.         <div style="border-top:0px solid transparent !important;margin-top:-1px !important;border-top:0px;margin-top:-4px;clear:both;visibility:hidden"></div>
  30.         </div>
  31. </td></tr><!--{/if}-->
  32. <!--前台水印控制结束-->
复制代码



2、include\post.func.php
查找

  1. $watermarkstatus, $watermarktrans,
复制代码


后面添加

  1. $watermarkstatu, $watermarktran,$setwater, $waterfliename,
复制代码


查找

  1.         $watermark_file = './images/common/watermark.gif';
  2.         $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 : $watermarkstatus;
复制代码


替换为

  1.         //前台水印控制
  2.         if($setwater){
  3.                 $watermark_file = "./images/common/".$waterfliename;
  4.                 $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 :$watermarkstatu;
  5.                 $watermarktrans = $watermarktran;
  6.         }else{
  7.                 $watermarkstatus = 0;
  8.         }       
  9.         //结束,替换了原来的语句:
  10.         /*$watermark_file = './images/common/watermark.gif';
  11.         $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 : $watermarkstatus;*/
复制代码


3、制作三个水印图片,分别命名为water01.gif、water02.gif、water03.gif,放置于images\common目录下

如果想有更多的图片来选择,请修改第一步代码,具体方法是


  1. <input type="radio" name="waterfliename" value="water03.gif" align="absmiddle"><img src="images/common/water03.gif">
复制代码


后面添加

  1. <input type="radio" name="waterfliename" value="水印文件名" align="absmiddle"><img src="images/common/水印文件名">
复制代码

把“水印文件名”换成你做好的水印文件名就行,比如water04.gif




正常安装部分到此就结束了,下面是对各用户组的水印权限控制,请选择安装








可选择部分:
说明:这一部分安装后,可以在后台的用户组管理中,对相应用户组开放前台水印控制权限,如果设置为关闭状态,则采用“后台-附件设置”中的默认选项,请根据需要进行安装吧


1、升级数据库

  1. ALTER TABLE `cdb_usergroups` ADD `water` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `maxsigsize` ;
复制代码



这句默认为允许所有用户组使用前台水印控制选项,如果你想默认禁止所有用户组使用前台水印控制,请用下面一句升级数据库

  1. ALTER TABLE `cdb_usergroups` ADD `water` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `maxsigsize` ;
复制代码



2、admin\groups.inc.php
查找

  1. showtype('usergroups_edit_attachment');
复制代码


在下面一行添加:

  1. showsetting('usergroups_edit_water', 'waternew', $group['water'], 'radio');
复制代码


查找

  1. maxsigsize='$maxsigsizenew',
复制代码


在后面添加

  1. water='$waternew',
复制代码


3、templates\default\admincp.lang.php
查找

  1. 'usergroups_edit_attach_ext' => '允许附件类型:',
复制代码


在上面一行添加

  1.         'usergroups_edit_water' => '使用前台水印控制:',
  2.         'usergroups_edit_water_comment' => '设置是否允许使用前台水印控制选项,包括是否使用水印、水印位置、类型、透明度等,选择“是”,该用户组用户可以在发贴时控制水印,选择“否”,将使用后台“附件设置”中设置',
复制代码


4、include\post.func.php
查找

  1.         //前台水印控制
  2.         if($setwater){
  3.                 $watermark_file = "./images/common/".$waterfliename;
  4.                 $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 :$watermarkstatu;
  5.                 $watermarktrans = $watermarktran;
  6.         }else{
  7.                 $watermarkstatus = 0;
  8.         }       
  9.         //结束,替换了原来的语句:
  10.         /*$watermark_file = './images/common/watermark.gif';
  11.         $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 : $watermarkstatus;*/
复制代码


替换为

  1.         //前台水印控制
  2.         $water = $forum['water']; //后台用户组控制选项
  3.         if($water){
  4.                 if($setwater){
  5.                         $watermark_file = "./images/common/".$waterfliename;
  6.                         $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 :$watermarkstatu;
  7.                         $watermarktrans = $watermarktran;
  8.                 }else{
  9.                         $watermarkstatus = 0;
  10.                 }
  11.         }else{
  12.                 $watermark_file = './images/common/water01.gif';
  13.                 $watermarkstatus = $GLOBALS['forum']['disablewatermark'] ? 0 : $watermarkstatus;
  14.         }//结束
复制代码



5、templates\default\post_attachments.htm
查找

  1. <!--{if $watermarkstatus}-->
复制代码


替换为

  1. <!--{if $water && $watermarkstatus}-->
复制代码







20060217修正在D41212以后版本中无法选择图的bug


post_attachments.htm
查找

  1. <span id="pos1">底部居右</span>
复制代码

在后面添加
  1. <input type="hidden" name="wt" value="1">
复制代码


include\post.func.php
查找
  1. $waterfliename,
复制代码

在后面添加

  1. $wt,
复制代码


查找

  1. if($water){
复制代码


替换为

  1. if($wt){
复制代码


完成


[ 本帖最后由 晶莹雪花 于 2006-2-17 15:22 编辑 ]
123223 发表于 2005-12-27 16:17:52 | 显示全部楼层
真不错  顶了
回复

使用道具 举报

 楼主| 晶莹雪花 发表于 2005-12-27 16:21:31 | 显示全部楼层
演示截图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

5025488.net 发表于 2005-12-27 16:25:47 | 显示全部楼层
支持
回复

使用道具 举报

freddy 发表于 2005-12-27 17:23:51 | 显示全部楼层
好东西!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

dichli 发表于 2005-12-27 17:28:25 | 显示全部楼层
嗯 .这个有用.
回复

使用道具 举报

泡哥 发表于 2005-12-27 17:32:05 | 显示全部楼层
问题是 后台的水印不用  用了 就变两个  我是最完美!

我把他和后台水印结合一下
回复

使用道具 举报

lobid 发表于 2005-12-27 17:43:23 | 显示全部楼层
强`````
回复

使用道具 举报

中央论坛 发表于 2005-12-27 17:45:05 | 显示全部楼层
templates/default/
回复

使用道具 举报

 楼主| 晶莹雪花 发表于 2005-12-27 17:57:18 | 显示全部楼层
原帖由 泡哥 于 2005-12-27 17:32 发表
问题是 后台的水印不用  用了 就变两个  我是最完美!

我把他和后台水印结合一下



?什么意思呢?

如果后台--附件设置不打开的话,这个水印选项是不会出现的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-21 23:12 , Processed in 0.028513 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表