Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 46316|回复: 40

[插件] 电子图书插件(不修改数据库,适合所有版本DZ)

[复制链接]
发表于 2005-12-26 04:01:31 | 显示全部楼层 |阅读模式
1、打开服务器的php全局变量,打开php.ini,找到
  1. register_globals = Off
复制代码

改为
  1. register_globals = On
复制代码

保存退出,重启WEB服务器

2、在论坛根目录下建立目录/imagesfiles_txt,权限为777

3、在当前使用模板目录添加 images.htm内容为
  1. <center>
  2. <table align="center" cellpadding="0" cellspacing="0" width="99%">
  3.     <tr>
  4.         <td width="19" height="10">
  5.             <p align="center"><img src="{IMGDIR}/imghack/00027-01.gif" border="0" width="26" height="23" align="middle"></p>
  6.         </td>
  7.         <td width="99%" height="10" background="{IMGDIR}/imghack/00027-02.gif">
  8.             <p> </p>
  9.         </td>
  10.         <td width="19" height="10">
  11.             <p align="center"><img src="{IMGDIR}/imghack/00027-03.gif" border="0" width="26" height="23" align="middle"></p>
  12.         </td>
  13.     </tr>
  14.     <tr>
  15.         <td width="19" height="90" background="{IMGDIR}/imghack/00027-04.gif" align="center" valign="middle" nowrap>
  16.         </td>
  17.         <td width="100%" height="90">
  18. <script language=javascript>
  19. //self.name = "main"; // names current window as "main"
  20. function Fix(PicVal) {
  21.    this.PicVal = PicVal;
  22. }

  23. // Create new main array.
  24. PicVar=0;
  25. var SuzyArray = new Array();
  26. {$imageurl}
  27. last= PicVar - 1;
  28. Allpage=Math.round(last/5)-last/5;
  29. if (Allpage>=0) Allpage=Math.round(last/5);else Allpage=Math.round(last/5)-1;
  30. current = 0;
  31. function PreviousSuzyPic() {

  32.   last = current;
  33.   current--;
  34.   if(current<0) current = PicVar - 1;

  35.   ShowSuzyPic(current);

  36. }
  37. function SuzyPicRemote(picName,whichPic) {

  38.     ShowingImage = new Image();

  39.     ShowingImage.src = picName;

  40.     wid = ShowingImage.width + 50;

  41.     hei = ShowingImage.height + 50;

  42.   if (wid < 30 || hei < 30) {

  43.     wid=650;

  44.     hei=490;

  45.   }

  46.   if (screen.width < wid || screen.height < hei) {

  47.     wid = screen.width - 50;

  48.     hei = screen.height - 50;

  49.   }
  50.   scriptcancle='alert("请勿批量下载,影响其他会员的浏览速度")';

  51.   OpenWindow = window.open("./imagesfiles_txt/index.htm", "remoteWin", "resizable=1, scrollbars=1, toolbar=0, left=15, top=10, width=" + wid + ", height=" + hei);

  52.   OpenWindow.document.write('<html><body onclick=javascript:'+scriptcancle+'><img src=' + picName + ' onclick=window.close()><body></html>');

  53. //  OpenWindow = window.open(picName, "remoteWin", "resizable=1, scrollbars=1, toolbar=0, left=15, top=10, width=" + wid + ", height=" + hei);
  54.   OpenWindow.document.close();

  55. }
  56. function NextSuzyPic() {

  57.         last = current;
  58.         TotalImages=PicVar;
  59.         current++;
  60.         if (current>=PicVar) current = 0;
  61.         ShowSuzyPic(current);
  62. }
  63. function ShowSuzyPic(newpic) {
  64.   current = newpic;
  65.   numbercurrent=current+1;
  66.   //alert (numbercurrent);
  67.   document.getElementById("SuzySpot").innerHTML = '<a href=javascript:SuzyPicRemote("' + SuzyArray[current].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.64;}"></a><br><br><br>当前为第 '+numbercurrent+' 张图片,总共有  ' + PicVar + '  张图片';
  68. }
  69. function GoSuzyPic()
  70. {
  71. //        alert (document.delpost.ThisSuzyPic.value);//delpostSuzyForm
  72.         if (PicVar >= document.delpost.ThisSuzyPic.value && document.delpost.ThisSuzyPic.value>0)
  73.         {
  74.                 last = current=document.delpost.ThisSuzyPic.value-1;
  75.                 //alert (current);
  76.                 ShowSuzyPic(current);
  77.         }
  78.         else
  79.         alert ("输入错误");
  80. }
  81. </script>
  82. <table style="padding:0px; margin:0px" border=0 cellspacing=0><tr align=center>
  83. <td valign="top">
  84. <div id="SuzySpot" align="center">
  85. <script language=javascript>
  86. document.write('<a href=javascript:SuzyPicRemote("' + SuzyArray[current].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.64;}" ></a><br><br><br>当前为第 1 张图片,总共有  ' + PicVar + '  张图片');
  87. //document.write('<a href=javascript:SuzyPicRemote("' + SuzyArray[current++].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.68;}" ></a><br>');
  88. //document.write('<a href=javascript:SuzyPicRemote("' + SuzyArray[current++].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.68;}" ></a><br>');
  89. //document.write('<a href=javascript:SuzyPicRemote("' + SuzyArray[current++].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.68;}" ></a><br>');
  90. //document.write('<a href=javascript:SuzyPicRemote("' + SuzyArray[current++].PicVal + '","last");><img name="PicShowing" src=' + SuzyArray[current].PicVal + ' border=0 onload="if(this.width>screen.width*0.5) {this.resized=true; this.width=screen.width*0.68;}" ></a><br><br><br>当前为第 1 页图片,总共有  ' + Allpage + '  页图片');
  91. //alert(document.imgarray.imgurl[1].value);
  92. </script>
  93. </div>
  94. </td>
  95. </tr></table>
  96. <p>
  97. <table border=0 width="100%"><tr>
  98. <td align="center">
  99. <input type=button value="上一张" onClick="PreviousSuzyPic();" style="font:8pt verdana,helvetica,arial; text-align:center">
  100.    
  101. <input type=button value="下一张" onClick="NextSuzyPic();" style="font:8pt verdana,helvetica,arial; text-align:center">
  102. <br><br>
  103. <input type="text" size="3" name="ThisSuzyPic" value="0">
  104.  <input type=button value="Go..." onClick="GoSuzyPic();"  style="font:8pt verdana,helvetica,arial; text-align:center">
  105. </td>
  106. </td></tr></table>
  107. </td>
  108. <td width="19" height="90" background="{IMGDIR}/imghack/00027-05.gif">
  109.   <p align="center"> </p>
  110.   </td>
  111. </tr>
  112.     <tr>
  113.         <td width="19" height="8">
  114.             <p align="center"><img src="{IMGDIR}/imghack/00027-06.gif" border="0" width="26" height="23" align="middle"></p>
  115.         </td>
  116.         <td width="99%" height="8" background="{IMGDIR}/imghack/00027-07.gif">
  117.             <p> </p>
  118.         </td>
  119.         <td width="19" height="8">
  120.             <p align="center"><img src="{IMGDIR}/imghack/00027-08.gif" border="0" width="26" height="23" align="middle"></p>
  121.         </td>
  122.     </tr>
  123. </table></center>
复制代码


4、修改/viewthread.php  
找到
  1. require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
复制代码

后面加入
  1. function viewimages()
  2. {
  3.         global $tid, $discuz_uid,$db, $tablepre;
  4.         $query = $db->query("SELECT pid FROM {$tablepre}posts WHERE tid='$tid' AND authorid='$discuz_uid' LIMIT 1");
  5.         $imagecodedbquery=$db->result($query, 0);
  6.         return $imagecodedbquery;
  7. }
复制代码


找到
  1. $post['thisbg'] = $thisbg = isset($thisbg) && $thisbg == ALTBG1 ? ALTBG2 : ALTBG1;
复制代码

在这行之前加入:
///增加图片翻页功能
                $imageshackcode=substr($post['message'],-22);
                if (strcmp($imageshackcode,'imageshackfornnaqing》')==0)
                {
                        $imagecodeismoderator=$GLOBALS['forum']['ismoderator'];
                        $imagecodedbquery=viewimages();
                        $imageshackurl=strstr($post['message'],"《imageshackfornnaqing");
                        $post['message']=str_replace($imageshackurl,' ',$post['message']);
                        $imageshackurl=str_replace("《imageshackfornnaqing","",$imageshackurl);
                        $imageshackurl=str_replace("imageshackfornnaqing》","",$imageshackurl);
                        if (file_exists(DISCUZ_ROOT.$imageshackurl)&&!empty($imageshackurl)) require_once DISCUZ_ROOT.$imageshackurl;
                }
//图片翻页功能完毕

5、修改/include/newthread.inc.php
找到
  1. $htmlon = $allowhtml && !empty($htmlon) ? 1 : 0;
复制代码

在这之后加入:
  1. //增加图片翻页功能
  2.         if (!empty($urltextfile) && in_array($adminid, array(1,2,3)))
  3.         {
  4.                 $textfile_path = DISCUZ_ROOT.'imagesfiles_txt/';
  5.                 if(!is_dir($textfile_path)) {
  6.                         mkdir($textfile_path, 0777);
  7.                         fclose(fopen($textfile_path.'/index.htm', 'w'));
  8.                 }
  9.                 $expfilename=random(4);
  10.                 $tofiles=$textfile_path.$expfilename.'_'.$urltextfile_name;
  11.                 $soursfiles='/imagesfiles_txt/'.$expfilename.'_'.$urltextfile_name;
  12.                 // copy(bbs.txt): failed to open stream: No such file or directory in E:\web\web\discuz4\include\newthread.inc.php on line 117
  13.                 if (copy($urltextfile,$tofiles))
  14.                 $message=$message.'《imageshackfornnaqing'.$soursfiles.'imageshackfornnaqing》';
  15.         }
  16. //图片翻页功能完毕
复制代码


6、修改/include/editpost.inc.php
找到:
  1. $postinfo['subject'] = str_replace('"', """, $postinfo['subject']);
复制代码

在这之前加入:
  1. ///增加图片翻页功能
  2.                 $imageshackcode=substr($postinfo['message'],-22);
  3.                 if (strcmp($imageshackcode,'imageshackfornnaqing》')==0)
  4.                 {
  5.                         $imageshackurl=strstr($postinfo['message'],"《imageshackfornnaqing");
  6.                         $postinfo['message']=str_replace($imageshackurl,'',$postinfo['message']);
  7.                         $imageshackurl=str_replace("《imageshackfornnaqing","",$imageshackurl);
  8.                         $imageshackurl=str_replace("imageshackfornnaqing》","",$imageshackurl);
  9.                 }
  10. //图片翻页功能完毕
复制代码


找到:
  1. $bbcodeoff = checkbbcodes($message, !empty($bbcodeoff));
复制代码

在这之前加入:
  1. ///增加图片翻页功能
  2. if (!empty($urltextfile)) $message=$message.'《imageshackfornnaqing'.$urltextfile.'imageshackfornnaqing》';
  3. //图片翻页功能完毕
复制代码


7、修改/templates/default/post_editpost.htm
找到:
  1. <tr>
  2. <td bgcolor="{ALTBG1}" valign="top">
  3. {template post_sminsert}
复制代码

在这之前加入:
  1. <!--{if isset($imageshackurl)}-->
  2. <tr>
  3. <td bgcolor="{ALTBG1}" valign="top" class="bold">管理员专用模式
  4. </td><td bgcolor="{ALTBG1}" valign="top">图书地址文件: $imageshackurl<input type="hidden" name="urltextfile" size="50" value="$imageshackurl"></td>
  5. </tr>
  6. <!--{/if}-->
复制代码


8、修改/templates/default/post_newthread.htm
找到:
  1. <tr>
  2. <td bgcolor="{ALTBG1}" valign="top">
  3. {template post_sminsert}
复制代码

在这之前加入:
  1. <!--{if in_array($adminid, array(1,2,3))}-->
  2. <tr>
  3. <td bgcolor="{ALTBG1}" valign="top" class="bold">管理员专用模式
  4. </td><td bgcolor="{ALTBG1}" valign="top"><input type="checkbox" name="imageon" value="1" onclick=
  5. "this.form.urltextfile.disabled=this.checked; if(1) {this.form.urltextfile.disabled=!this.checked;}">
  6. 进入发图书帖状态: <input type="file" name="urltextfile" size="50" disabled></td>
  7. </tr>
  8. <!--{/if}-->
复制代码


9、修改/templates/default/viewthread.htm
找到:
  1. <span style="font-size: {MSGFONTSIZE}">$post[message]</span>
复制代码

之前加上:
  1.         <!--{if (!empty($imageshackurl)&&$post[number]==1)}-->
  2.         {template images}
  3.         <!--{/if}-->
复制代码


10、解压文件夹到风格图象目录,如 images\default

11、发贴方法:
建立test.txt 内容为
  1. <?php
  2. $imageurl="SuzyArray[PicVar++]=new Fix('http://mag.52mag.com/080511/cn/elle/0511/001.jpg');
  3. SuzyArray[PicVar++]=new Fix('http://mag.52mag.com/080511/cn/elle/0511/002.jpg');
  4. SuzyArray[PicVar++]=new Fix('http://mag.52mag.com/080511/cn/elle/0511/003.jpg');
  5. ";
  6. ?>
复制代码

保存后上传文本发贴

演示  
http://bbs.52mag.com/viewthread.php?tid=16892

完成。。。。

附件放在当前风格的images\***目录下

[ 本帖最后由 linjiarong1004 于 2005-12-26 04:09 编辑 ]

本帖子中包含更多资源

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

x
发表于 2005-12-26 04:03:33 | 显示全部楼层
没演示吗?最好来个演示

[ 本帖最后由 yuja 于 2005-12-26 04:59 编辑 ]
回复

使用道具 举报

发表于 2005-12-26 04:41:48 | 显示全部楼层
功能是什么 介绍一下?
回复

使用道具 举报

发表于 2005-12-26 05:19:53 | 显示全部楼层
晕~~不修改数据库~~要修改服务器~~
回复

使用道具 举报

发表于 2005-12-26 09:07:35 | 显示全部楼层
汗。我是空间。。不是服务器怎么办?
回复

使用道具 举报

发表于 2005-12-26 09:22:23 | 显示全部楼层
看演示是不错啊。
回复

使用道具 举报

发表于 2005-12-26 09:22:29 | 显示全部楼层
不知道是干什么的。
回复

使用道具 举报

发表于 2005-12-26 10:04:07 | 显示全部楼层
支持一下,好东西,精华值得
回复

使用道具 举报

发表于 2005-12-26 10:05:39 | 显示全部楼层
演示不错,不过要改服务器,你牛
回复

使用道具 举报

发表于 2005-12-26 16:03:37 | 显示全部楼层
看一下先!
回复

使用道具 举报

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

本版积分规则

腾讯云市场年终大促!Discuz X3.4论坛系统免费用,虚拟主机低至20元/月,爆款小程序1元起!

QQ|小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2019-12-13 13:23

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

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