PageRenderTime 26ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/uploads/dede/sys_repair.php

http://pj-photohost.googlecode.com/
PHP | 286 lines | 278 code | 2 blank | 6 comment | 9 complexity | d5d3ca8d88eb98a03d01a401c724fac0 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. require_once(dirname(__FILE__).'/config.php');
  3. CheckPurview('sys_ArcBatch');
  4. require_once(dirname(__FILE__).'/../include/oxwindow.class.php');
  5. ShowMsg("?????????????????????????????<br /><a href='index_body.php'>&lt;&lt;?????&gt;&gt;</a>", "javascript:;");
  6. exit();
  7. if(empty($dopost))
  8. {
  9. $win = new OxWindow();
  10. $win->Init("sys_repair.php","js/blank.js","POST' enctype='multipart/form-data' ");
  11. $win->mainTitle = "??????";
  12. $wecome_info = "<a href='index_body.php'>????</a> &gt;&gt; ????????";
  13. $win->AddTitle('?????????????????????');
  14. $msg = "
  15. <table width='98%' border='0' cellspacing='0' cellpadding='0' align='center'>
  16. <tr>
  17. <td height='250' valign='top'>
  18. <br />
  19. ???????????????SQL???????????????????????????????????????????<br /><br />
  20. <b>??????????????</b><br />
  21. 1????DedeCms V5.3??????????????<br />
  22. 2?????dede_arctiny?????<br />
  23. 3??????????????????????id??????<br />
  24. <br />
  25. <br />
  26. <a href='sys_repair.php?dopost=1' style='font-size:14px;color:red'><b>???????????&gt;&gt;</b></a>
  27. <br /><br /><br />
  28. </td>
  29. </tr>
  30. </table>
  31. ";
  32. $win->AddMsgItem("<div style='padding-left:20px;line-height:150%'>$msg</div>");
  33. $winform = $win->GetWindow('hand','');
  34. $win->Display();
  35. exit();
  36. }
  37. /*-------------------
  38. ??????
  39. function 1_test_db() { }
  40. --------------------*/
  41. else if($dopost==1)
  42. {
  43. $msg = '';
  44. $dsql->Execute('n',"Show Create Table `#@__arctiny` ");
  45. $row = $dsql->GetArray('n', MYSQL_BOTH);
  46. if(!eregi('typeid2', $row[1]))
  47. {
  48. $rs = $dsql->ExecuteNoneQuery(" ALTER TABLE `#@__arctiny` ADD `typeid2` SMALLINT( 5 ) UNSIGNED DEFAULT '0' NOT NULL AFTER `typeid` ; ");
  49. if($rs) $msg .= "??? #@__arctiny ???????typeid2??????<br />";
  50. else $msg .= "<font color='red'>??? #@__arctiny ???????typeid2??????</font><br />";
  51. }
  52. else
  53. {
  54. $msg .= "??? #@__arctiny ??????????<br />";
  55. }
  56. $dsql->Execute('n',"Show Create Table `#@__archives` ");
  57. $row = $dsql->GetArray('n', MYSQL_BOTH);
  58. if(!eregi('typeid2', $row[1]))
  59. {
  60. $rs = $dsql->ExecuteNoneQuery(" ALTER TABLE `#@__archives` ADD `typeid2` SMALLINT( 5 ) UNSIGNED DEFAULT '0' NOT NULL AFTER `typeid` ; ");
  61. if($rs) $msg .= "?? #@__archives ???????typeid2??????<br />";
  62. else $msg .= "<font color='red'>?? #@__archives ???????typeid2??????</font><br />";
  63. }
  64. else
  65. {
  66. $msg .= "??? #@__archives ??????????<br />";
  67. }
  68. $upsqls[] = "ALTER TABLE `#@__tagindex` CHANGE `tag` `tag` VARCHAR( 20 ) NOT NULL default ''; ";
  69. $upsqls[] = "ALTER TABLE `#@__taglist` CHANGE `tag` `tag` VARCHAR( 20 ) NOT NULL default ''; ";
  70. $upsqls[] = "ALTER TABLE `#@__archives` CHANGE `litpic` `litpic` VARCHAR( 80 ) NOT NULL default ''; ";
  71. $upsqls[] = "INSERT INTO `#@__sysconfig` (`aid` ,`varname` ,`info` ,`value` ,`type` ,`groupid`) VALUES (713, 'cfg_need_typeid2', '???????', 'N', 'bool', 6); ";
  72. $upsqls[] = "INSERT INTO `#@__sysconfig` (`aid` ,`varname` ,`info` ,`value` ,`type` ,`groupid`) VALUES (715, 'cfg_mb_pwdtype', '???????????32 — 32?md5????<br />l16 — ?16?? r16 — ?16?? m16 — ??16?', '32', 'string', 4); ";
  73. $upsqls[] = "Update `#@__sysconfig` set `groupid` = '8' where `varname` like 'cfg_group_%'; ";
  74. $upsqls[] = "ALTER TABLE `#@__arccache` ADD `stylehash` CHAR(32) NOT NULL default '' AFTER `md5hash`; ";
  75. $msg .= "????????????????????SQL?????????????????...<br />";
  76. foreach($upsqls as $upsql)
  77. {
  78. $rs = $dsql->ExecuteNoneQuery($upsql);
  79. $msg .= "ˇ?? <font color='green'>".$upsql."</font> ok!<br />";
  80. }
  81. $msg .= "??? #@__advancedsearch ?????...<br />";
  82. $createQuery = "CREATE TABLE IF NOT EXISTS `#@__advancedsearch` (
  83. `mid` int(11) NOT NULL,
  84. `maintable` varchar(255) NOT NULL default '',
  85. `mainfields` text,
  86. `addontable` varchar(255) default '',
  87. `addonfields` text,
  88. `forms` text,
  89. `template` varchar(255) NOT NULL default '',
  90. UNIQUE KEY `mid` (`mid`)
  91. ) TYPE=MyISAM; ";
  92. $dsql->ExecuteNoneQuery($createQuery);
  93. $win = new OxWindow();
  94. $win->Init("sys_repair.php","js/blank.js","POST' enctype='multipart/form-data' ");
  95. $win->mainTitle = "??????";
  96. $wecome_info = "<a href='sys_repair.php'>????????</a> &gt;&gt; ??????";
  97. $win->AddTitle('?????????????????????');
  98. $msg = "
  99. <table width='98%' border='0' cellspacing='0' cellpadding='0' align='center'>
  100. <tr>
  101. <td height='250' valign='top'>
  102. {$msg}
  103. <b><font color='green'>?????????????</font></b>
  104. <hr size='1'/>
  105. <br />
  106. <b>????????????????????????</b><br />
  107. 1??????????????????<br />
  108. 2??????archives????<br />
  109. 3?????????????????<br />
  110. <br />
  111. <a href='sys_repair.php?dopost=2' style='font-size:14px;'><b>??????????&gt;&gt;</b></a>
  112. <br /><br /><br />
  113. </td>
  114. </tr>
  115. </table>
  116. ";
  117. $win->AddMsgItem("<div style='padding-left:20px;line-height:150%'>$msg</div>");
  118. $winform = $win->GetWindow('hand','');
  119. $win->Display();
  120. exit();
  121. }
  122. /*-------------------
  123. ????????????
  124. function 2_test_arctiny() { }
  125. --------------------*/
  126. else if($dopost==2)
  127. {
  128. $msg = '';
  129. $allarcnum = 0;
  130. $row = $dsql->GetOne("Select count(*) as dd From `#@__archives` ");
  131. $allarcnum = $arcnum = $row['dd'];
  132. $msg .= "ˇ#@__archives ?????? {$arcnum} <br />";
  133. $shtables = array();
  134. $dsql->Execute('me', " Select addtable From `#@__channeltype` where id < -1 ");
  135. while($row = $dsql->GetArray('me') )
  136. {
  137. $addtable = strtolower(trim(str_replace('#@__', $cfg_dbprefix, $row['addtable'])));
  138. if(empty($addtable)) {
  139. continue;
  140. }
  141. else
  142. {
  143. if( !isset($shtables[$addtable]) )
  144. {
  145. $shtables[$addtable] = 1;
  146. $row = $dsql->GetOne("Select count(aid) as dd From `$addtable` ");
  147. $msg .= "ˇ{$addtable} ?????? {$row['dd']} <br />";
  148. $allarcnum += $row['dd'];
  149. }
  150. }
  151. }
  152. $msg .= "???????? {$allarcnum} <br /> ";
  153. $errall = "<a href='index_body.php' style='font-size:14px;'><b>??????????&gt;&gt;</b></a>";
  154. $row = $dsql->GetOne("Select count(*) as dd From `#@__arctiny` ");
  155. $msg .= "????????? {$row['dd']}<br />";
  156. if($row['dd']==$allarcnum)
  157. {
  158. $msg .= "<p style='color:green;font-size:16px'><b>????????????</b></p><br />";
  159. }
  160. else
  161. {
  162. $sql = " TRUNCATE TABLE `#@__arctiny`";
  163. $dsql->executenonequery($sql);
  164. $msg .= "<font color='red'>????????????????...</font><br />";
  165. //?????????
  166. $sql = "insert into `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
  167. Select id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid from `#@__archives` ";
  168. $dsql->executenonequery($sql);
  169. //?????????
  170. foreach($shtables as $tb=>$v)
  171. {
  172. $sql = "insert into `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
  173. Select aid, typeid, 0, arcrank, channel, senddate, 0, mid from `$tb` ";
  174. $rs = $dsql->executenonequery($sql);
  175. $doarray[$tb] = 1;
  176. }
  177. $row = $dsql->GetOne("Select count(*) as dd From `#@__arctiny` ");
  178. if($row['dd']==$allarcnum)
  179. {
  180. $msg .= "<p style='color:green;font-size:16px'><b>???????</b></p><br />";
  181. }
  182. else
  183. {
  184. $msg .= "<p style='color:red;font-size:16px'><b>??????????????????</b></p><br />";
  185. $errall = " <a href='sys_repair.php?dopost=3' style='font-size:14px;'><b>?????????&gt;&gt;</b></a> ";
  186. }
  187. }
  188. UpDateCatCache();
  189. $win = new OxWindow();
  190. $win->Init("sys_repair.php","js/blank.js","POST' enctype='multipart/form-data' ");
  191. $win->mainTitle = "??????";
  192. $wecome_info = "<a href='sys_repair.php'>????????</a> &gt;&gt; ???????";
  193. $win->AddTitle('?????????????????????');
  194. $msg = "
  195. <table width='98%' border='0' cellspacing='0' cellpadding='0' align='center'>
  196. <tr>
  197. <td height='250' valign='top'>
  198. {$msg}
  199. <hr />
  200. <br />
  201. {$errall}
  202. </td>
  203. </tr>
  204. </table>
  205. ";
  206. $win->AddMsgItem("<div style='padding-left:20px;line-height:150%'>$msg</div>");
  207. $winform = $win->GetWindow('hand','');
  208. $win->Display();
  209. exit();
  210. }
  211. /*-------------------
  212. ????????(???????????)
  213. function 3_re_arctiny() { }
  214. --------------------*/
  215. else if($dopost==3)
  216. {
  217. $errnum = 0;
  218. $sql = " TRUNCATE TABLE `#@__arctiny`";
  219. $dsql->executenonequery($sql);
  220. $sql = "Select arc.id, arc.typeid, arc.typeid2, arc.arcrank, arc.channel, arc.senddate, arc.sortrank,
  221. arc.mid, ch.addtable FROM `#@__archives` arc left join `#@__channeltype` ch on ch.id=arc.channel ";
  222. $dsql->Execute('me', $sql);
  223. while($row = $dsql->GetArray('me') )
  224. {
  225. $sql = "Insert Into `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
  226. Values('{$row['id']}','{$row['typeid']}','{$row['typeid2']}','{$row['arcrank']}',
  227. '{$row['channel']}','{$row['senddate']}','{$row['sortrank']}','{$row['mid']}'); ";
  228. $rs = $dsql->executenonequery($sql);
  229. if(!$rs)
  230. {
  231. $addtable = trim($addtable);
  232. $errnum ++;
  233. $dsql->executenonequery("Delete From `#@__archives` where id='{$row['id']}' ");
  234. if(!empty($addtable)) $dsql->executenonequery("Delete From `$addtable` where id='{$row['id']}' ");
  235. }
  236. }
  237. //?????????
  238. $dsql->SetQuery("Select id,addtable From `#@__channeltype` where id < -1 ");
  239. $dsql->Execute();
  240. $doarray = array();
  241. while($row = $dsql->GetArray())
  242. {
  243. $tb = str_replace('#@__', $cfg_dbprefix, $row['addtable']);
  244. if(empty($tb) || isset($doarray[$tb]) )
  245. {
  246. continue;
  247. }
  248. else
  249. {
  250. $sql = "insert into `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)
  251. Select aid, typeid, 0, arcrank, channel, senddate, 0, mid from `$tb` ";
  252. $rs = $dsql->executenonequery($sql);
  253. $doarray[$tb] = 1;
  254. }
  255. }
  256. $win = new OxWindow();
  257. $win->Init("sys_repair.php","js/blank.js","POST' enctype='multipart/form-data' ");
  258. $win->mainTitle = "??????";
  259. $wecome_info = "<a href='sys_repair.php'>????????</a> &gt;&gt; ????????";
  260. $win->AddTitle('?????????????????????');
  261. $msg = "
  262. <table width='98%' border='0' cellspacing='0' cellpadding='0' align='center'>
  263. <tr>
  264. <td height='250' valign='top'>
  265. ??????????????? {$errnum} ??
  266. <hr />
  267. <br />
  268. <a href='index_body.php' style='font-size:14px;'><b>??????????&gt;&gt;</b></a>
  269. </td>
  270. </tr>
  271. </table>
  272. ";
  273. $win->AddMsgItem("<div style='padding-left:20px;line-height:150%'>$msg</div>");
  274. $winform = $win->GetWindow('hand','');
  275. $win->Display();
  276. exit();
  277. }
  278. ?>