PageRenderTime 52ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/xiazai/class/comfun.php

http://xianshihai.codeplex.com
PHP | 332 lines | 298 code | 7 blank | 27 comment | 39 complexity | 73d5608c9ee6635a1025c682be207ca0 MD5 | raw file
  1. <?php
  2. //????????
  3. function RepDownLevel($add,$userid,$username){
  4. global $empire,$public_r,$class_r,$dbtbpre;
  5. //????
  6. CheckLevel($userid,$username,$classid,"repip");
  7. if(!($add[downpath]||$add[onlinepath])||!($add[dogroup]||$add[dofen]||$add[doqz]||$add[dopath]||$add[doname]))
  8. {
  9. printerror("??????????????","history.go(-1)");
  10. }
  11. $start=(int)$add['start'];
  12. //????
  13. if(empty($add[oldgroupid]))
  14. {
  15. $add[oldgroupid]=0;
  16. }
  17. if(empty($add[newgroupid]))
  18. {
  19. $add[newgroupid]=0;
  20. }
  21. if(empty($add[oldfen]))
  22. {
  23. $add[oldfen]=0;
  24. }
  25. if(empty($add[newfen]))
  26. {
  27. $add[newfen]=0;
  28. }
  29. if(empty($add[oldqz]))
  30. {
  31. $add[oldqz]=0;
  32. }
  33. if(empty($add[newqz]))
  34. {
  35. $add[newqz]=0;
  36. }
  37. //??
  38. $field="softid";
  39. if($add['downpath'])
  40. {
  41. $field.=",downpath";
  42. $dh=",";
  43. }
  44. if($add['onlinepath'])
  45. {
  46. $field.=",onlinepath";
  47. }
  48. $wheresql="";
  49. //??
  50. $classid=(int)$add['classid'];
  51. if($classid)
  52. {
  53. if(empty($class_r[$classid][islast]))//????
  54. {
  55. $where=ReturnClass($class_r[$classid][sonclass]);
  56. }
  57. else//????
  58. {
  59. $where="classid='$classid'";
  60. }
  61. $wheresql.=" and (".$where.")";
  62. }
  63. //??sql??
  64. $query=$add['query'];
  65. if($query)
  66. {
  67. //??adds
  68. $query=ClearAddsData($query);
  69. $wheresql.=" and (".$query.")";
  70. }
  71. $update="";
  72. $b=0;
  73. $sql=$empire->query("select ".$field." from {$dbtbpre}down where softid>$start".$wheresql." order by softid limit ".$public_r[repnum]);
  74. while($r=$empire->fetch($sql))
  75. {
  76. $b=1;
  77. $newstart=$r[softid];
  78. $update='';
  79. //????
  80. $newdownpath="";
  81. if($add[downpath])
  82. {
  83. $newdownpath=RepDownLevelStrip($r[downpath],$add);
  84. $update="downpath='".addslashes($newdownpath)."'";
  85. }
  86. //????
  87. $newonlinepath="";
  88. if($add[onlinepath])
  89. {
  90. $newonlinepath=RepDownLevelStrip($r[onlinepath],$add);
  91. $update.=$dh."onlinepath='".addslashes($newonlinepath)."'";
  92. }
  93. $usql=$empire->query("update {$dbtbpre}down set ".$update." where softid=$r[softid]");
  94. }
  95. //????
  96. if(empty($b))
  97. {
  98. printerror("??????????","RepIp.php");
  99. }
  100. EchoRepDownLevelForm($add,$newstart);
  101. }
  102. //????????
  103. function RepDownLevelStrip($downpath,$add){
  104. if(empty($downpath))
  105. {
  106. return "";
  107. }
  108. $add[oldpath]=ClearAddsData($add[oldpath]);
  109. $add[newpath]=ClearAddsData($add[newpath]);
  110. $add[oldname]=ClearAddsData($add[oldname]);
  111. $add[newname]=ClearAddsData($add[newname]);
  112. $f_exp="::::::";
  113. $r_exp="\r\n";
  114. $newdownpath="";
  115. $downpath=stripSlashes($downpath);
  116. $down_rr=explode($r_exp,$downpath);
  117. $count=count($down_rr);
  118. for($i=0;$i<$count;$i++)
  119. {
  120. $down_fr=explode($f_exp,$down_rr[$i]);
  121. //????
  122. $d_groupid=(int)$down_fr[2];
  123. if($add[dogroup])
  124. {
  125. if($add[oldgroupid]=="no")//???
  126. {
  127. $d_groupid=$add[newgroupid];
  128. }
  129. else//??
  130. {
  131. if($d_groupid==$add[oldgroupid])
  132. {
  133. $d_groupid=$add[newgroupid];
  134. }
  135. }
  136. }
  137. //????
  138. $d_fen=(int)$down_fr[3];
  139. if($add[dofen])
  140. {
  141. if($add[oldfen]=="no")//???
  142. {
  143. $d_fen=$add[newfen];
  144. }
  145. else//??
  146. {
  147. if($d_fen==$add[oldfen])
  148. {
  149. $d_fen=$add[newfen];
  150. }
  151. }
  152. }
  153. //????
  154. $d_qz=(int)$down_fr[4];
  155. if($add[doqz])
  156. {
  157. if($add[oldqz]=="no")//???
  158. {
  159. $d_qz=$add['newqz'];
  160. }
  161. else//??
  162. {
  163. if($d_qz==$add[oldqz])
  164. {
  165. $d_qz=$add[newqz];
  166. }
  167. }
  168. }
  169. //????
  170. $d_path=$down_fr[1];
  171. if($add[dopath]&&$add[oldpath])
  172. {
  173. $d_path=str_replace($add[oldpath],$add[newpath],$down_fr[1]);
  174. }
  175. //????
  176. $d_name=$down_fr[0];
  177. if($add[doname]&&$add[oldname])
  178. {
  179. $d_name=str_replace($add[oldname],$add[newname],$down_fr[0]);
  180. }
  181. //??
  182. $newdownpath.=$d_name.$f_exp.$d_path.$f_exp.$d_groupid.$f_exp.$d_fen.$f_exp.$d_qz.$r_exp;
  183. }
  184. //???????
  185. $newdownpath=substr($newdownpath,0,strlen($newdownpath)-2);
  186. return $newdownpath;
  187. }
  188. //????????????
  189. function EchoRepDownLevelForm($add,$newstart){
  190. global $fun_r;
  191. ?>
  192. ????????,??????......(ID:<font color=red><b><?=$newstart?></b></font>)
  193. <form name="RepDownLevelForm" method="post" action="comphome.php">
  194. <input type=hidden name="phome" value="RepIp">
  195. <input type=hidden name="start" value="<?=$newstart?>">
  196. <input type=hidden name="classid" value="<?=$add['classid']?>">
  197. <input type=hidden name="downpath" value="<?=$add['downpath']?>">
  198. <input type=hidden name="onlinepath" value="<?=$add['onlinepath']?>">
  199. <input type=hidden name="dogroup" value="<?=$add['dogroup']?>">
  200. <input type=hidden name="oldgroupid" value="<?=$add['oldgroupid']?>">
  201. <input type=hidden name="newgroupid" value="<?=$add['newgroupid']?>">
  202. <input type=hidden name="dofen" value="<?=$add['dofen']?>">
  203. <input type=hidden name="oldfen" value="<?=$add['oldfen']?>">
  204. <input type=hidden name="newfen" value="<?=$add['newfen']?>">
  205. <input type=hidden name="doqz" value="<?=$add['doqz']?>">
  206. <input type=hidden name="oldqz" value="<?=$add['oldqz']?>">
  207. <input type=hidden name="newqz" value="<?=$add['newqz']?>">
  208. <input type=hidden name="dopath" value="<?=$add['dopath']?>">
  209. <input type=hidden name="oldpath" value="<?=htmlspecialchars(ClearAddsData($add['oldpath']))?>">
  210. <input type=hidden name="newpath" value="<?=htmlspecialchars(ClearAddsData($add['newpath']))?>">
  211. <input type=hidden name="doname" value="<?=$add['doname']?>">
  212. <input type=hidden name="oldname" value="<?=htmlspecialchars(ClearAddsData($add['oldname']))?>">
  213. <input type=hidden name="newname" value="<?=htmlspecialchars(ClearAddsData($add['newname']))?>">
  214. <input type=hidden name="query" value="<?=htmlspecialchars(ClearAddsData($add['query']))?>">
  215. </form>
  216. <script>
  217. document.RepDownLevelForm.submit();
  218. </script>
  219. <?
  220. exit();
  221. }
  222. //????
  223. function DelPl($plid,$userid,$username){
  224. global $empire,$dbtbpre;
  225. $plid=(int)$plid;
  226. if(!$plid)
  227. {
  228. printerror("?????????","history.go(-1)");
  229. }
  230. $sql=$empire->query("delete from {$dbtbpre}downpl where plid='$plid'");
  231. if($sql)
  232. {
  233. printerror("??????",$_SERVER['HTTP_REFERER']);
  234. }
  235. else
  236. {
  237. printerror("?????","history.go(-1)");
  238. }
  239. }
  240. //??????
  241. function DelPl_all($plid,$userid,$username){
  242. global $empire,$dbtbpre;
  243. $count=count($plid);
  244. if(!$count)
  245. {
  246. printerror("?????????","history.go(-1)");
  247. }
  248. for($i=0;$i<$count;$i++)
  249. {
  250. $add.="plid='".intval($plid[$i])."' or ";
  251. }
  252. $add=substr($add,0,strlen($add)-4);
  253. $sql=$empire->query("delete from {$dbtbpre}downpl where ".$add);
  254. if($sql)
  255. {
  256. printerror("??????",$_SERVER['HTTP_REFERER']);
  257. }
  258. else
  259. {
  260. printerror("?????","history.go(-1)");
  261. }
  262. }
  263. //????
  264. function AddGg($title,$ggtext,$ggtime,$userid,$username){
  265. global $empire,$dbtbpre;
  266. if(!$title||!$ggtext)
  267. {
  268. printerror("??????????","history.go(-1)");
  269. }
  270. //????
  271. CheckLevel($userid,$username,$classid,"gg");
  272. $sql=$empire->query("insert into {$dbtbpre}downgg(title,ggtime,ggtext) values('$title','$ggtime','$ggtext');");
  273. GetGgJs();
  274. if($sql)
  275. {
  276. printerror("??????","AddGg.php?phome=AddGg");
  277. }
  278. else
  279. {
  280. printerror("?????","history.go(-1)");
  281. }
  282. }
  283. //????
  284. function EditGg($ggid,$title,$ggtext,$ggtime,$userid,$username){
  285. global $empire,$dbtbpre;
  286. $ggid=(int)$ggid;
  287. if(!$ggid||!$title||!$ggtext)
  288. {
  289. printerror("??????????","history.go(-1)");
  290. }
  291. //????
  292. CheckLevel($userid,$username,$classid,"gg");
  293. $sql=$empire->query("update {$dbtbpre}downgg set title='$title',ggtext='$ggtext',ggtime='$ggtime' where ggid='$ggid'");
  294. GetGgJs();
  295. if($sql)
  296. {
  297. printerror("??????","ListGg.php");
  298. }
  299. else
  300. {
  301. printerror("?????","history.go(-1)");
  302. }
  303. }
  304. //????
  305. function DelGg($ggid,$userid,$username){
  306. global $empire,$dbtbpre;
  307. $ggid=(int)$ggid;
  308. if(!$ggid)
  309. {
  310. printerror("?????????","history.go(-1)");
  311. }
  312. //????
  313. CheckLevel($userid,$username,$classid,"gg");
  314. $sql=$empire->query("delete from {$dbtbpre}downgg where ggid='$ggid'");
  315. GetGgJs();
  316. if($sql)
  317. {
  318. printerror("??????","ListGg.php");
  319. }
  320. else
  321. {
  322. printerror("?????","history.go(-1)");
  323. }
  324. }
  325. ?>