fork download
  1.  
  2. <?php
  3. /*******************************************
  4. * Ultimate Sphider Version 2.0.1*
  5. * This program is licensed under the GNU GPL.
  6. * By Ando Saabas ando(a t)cs.ioc.ee<br />
  7. * By Shaquille Ray
  8. ********************************************/
  9.  
  10. error_reporting (E_ALL ^ E_NOTICE);
  11.  
  12. $include_dir = "../include";
  13. include "auth.php";
  14. include "$include_dir/commonfuncs.php";
  15. extract (getHttpVars());
  16. $settings_dir = "../settings";
  17. $template_dir = "../templates";
  18. include "$settings_dir/conf.php";
  19.  
  20.  
  21. ?>
  22. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://w...content-available-to-author-only...3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  23. <html xmlns="http://w...content-available-to-author-only...3.org/1999/xhtml" xml:lang="en">
  24. <head>
  25. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  26. <title>Ultimate Sphider CMS</title>
  27. <link rel="stylesheet" href="admin.css" type="text/css" />
  28. </head>
  29. <body>
  30. <div id="container">
  31. <div id="headleft">
  32. <a href="http://w...content-available-to-author-only...r.com/"><img src="sulogo-head.png" align="left" /></a>
  33. </div>
  34.  
  35. <div id="headright">
  36. <?php include_once('http://o...content-available-to-author-only...r.com/us-resources/2.0.1/2.0.1announce.php') ?>
  37.  
  38. </div>
  39. </div>
  40. <?php
  41. if (!isset($f)) {
  42. $f=2;
  43. }
  44. $site_funcs = Array (22=> "default",21=> "default",4=> "default", 19=> "default", 1=> "default", 2 => "default", "add_site" => "default", 20=> "default", "edit_site" => "default", 5=>"default");
  45. $stat_funcs = Array ("statistics" => "default", "delete_log"=> "default");
  46. $settings_funcs = Array ("settings" => "default");
  47. $index_funcs = Array ("index" => "default");
  48. $index_funcs = Array ("index" => "default");
  49. $clean_funcs = Array ("clean" => "default", 15=>"default", 16=>"default", 17=>"default", 23=>"default");
  50. $cat_funcs = Array (11=> "default", 10=> "default", "categories" => "default", "edit_cat"=>"default", "delete_cat"=>"default", "add_cat" => "default", 7=> "default");
  51. $database_funcs = Array ("database" => "default");
  52. ?>
  53.  
  54. <div id="admin">
  55. <div id="tabs">
  56. <ul>
  57. <?php
  58. if ($stat_funcs[$f] ) {
  59. $stat_funcs[$f] = "selected";
  60. } else {
  61. $stat_funcs[$f] = "default";
  62. }
  63.  
  64. if ($site_funcs[$f] ) {
  65. $site_funcs[$f] = "selected";
  66. }else {
  67. $site_funcs[$f] = "default";
  68. }
  69.  
  70. if ($settings_funcs[$f] ) {
  71. $settings_funcs[$f] = "selected";
  72. } else {
  73. $settings_funcs[$f] = "default";
  74. }
  75.  
  76. if ($index_funcs[$f] ) {
  77. $index_funcs[$f] = "selected";
  78. } else {
  79. $index_funcs[$f] = "default";
  80. }
  81.  
  82. if ($cat_funcs[$f] ) {
  83. $cat_funcs[$f] = "selected";
  84. } else {
  85. $cat_funcs[$f] = "default";
  86. }
  87.  
  88. if ($clean_funcs[$f] ) {
  89. $clean_funcs[$f] = "selected";
  90. } else {
  91. $clean_funcs[$f] = "default";
  92. }
  93.  
  94. if ($database_funcs[$f] ) {
  95. $database_funcs[$f] = "selected";
  96. } else {
  97. $database_funcs[$f] = "default";
  98. }
  99. ?>
  100.  
  101. <li><a href="admin.php?f=2" id="<?php print $site_funcs[$f]?>">Sites</a> </li>
  102. <li><a href="admin.php?f=categories" id="<?php print $cat_funcs[$f]?>">Categories</a></li>
  103. <li><a href="admin.php?f=index" id="<?php print $index_funcs[$f]?>">Index</a></li>
  104. <li><a href="admin.php?f=clean" id="<?php print $clean_funcs[$f]?>">Clean tables</a> </li>
  105. <li><a href="admin.php?f=settings" id="<?php print $settings_funcs[$f]?>">Settings</a></li>
  106. <li><a href="admin.php?f=statistics" id="<?php print $stat_funcs[$f]?>">Statistics</a> </li>
  107. <li><a href="admin.php?f=database" id="<?php print $database_funcs[$f]?>">Database</a></li>
  108. <li><a href="admin.php?f=24" id="default">Log out</a></li>
  109. </ul>
  110. </div>
  111. <div id="main">
  112.  
  113. <?php
  114. function list_cats($parent, $lev, $color, $message) {
  115. global $mysql_table_prefix;
  116. if ($lev == 0) {
  117. ?>
  118. <div id="submenu">
  119. <ul>
  120. <li><a href="admin.php?f=add_cat">Add category</a> </li>
  121. </ul>
  122. </div>
  123. <?php
  124. print $message;
  125. print "<br/>";
  126. print "<br/><div align=\"center\"><center><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\" width =\"600\"><tr><td><table table cellpadding=\"3\" cellspacing=\"1\" width=\"100%\">\n";
  127. }
  128. $space = "";
  129. for ($x = 0; $x < $lev; $x++)
  130. $space .= "&nbsp;&nbsp;&nbsp;&nbsp;";
  131.  
  132. $query = "SELECT * FROM ".$mysql_table_prefix."categories WHERE parent_num=$parent ORDER BY category";
  133. $result = mysql_query($query);
  134. echo mysql_error();
  135.  
  136. if (mysql_num_rows($result) <> '')
  137. while ($row = mysql_fetch_array($result)) {
  138. if ($color =="white")
  139. $color = "grey";
  140. else
  141. $color = "white";
  142.  
  143. $id = $row['category_id'];
  144. $cat = $row['category'];
  145. print "<tr class=\"$color\"><td width=90% align=left>$space<a href=\"admin.php?f=edit_cat&cat_id=$id\">".stripslashes($cat). "</a></td><td><a href=\"admin.php?f=edit_cat&cat_id=$id\" id=\"small_button\">Edit</a></td><td> <a href=\"admin.php?f=11&cat_id=$id\" onclick=\"return confirm('Are you sure you want to delete? Subcategories will be lost.')\" id=\"small_button\">Delete</a></td></tr>\n";
  146.  
  147. $color = list_cats($id, $lev + 1, $color, "");
  148. }
  149.  
  150. if ($lev == 0)
  151. print "</table></td></tr></table></center></div>\n";
  152. return $color;
  153. }
  154.  
  155. function walk_through_cats($parent, $lev, $site_id) {
  156. global $mysql_table_prefix;
  157. $space = "";
  158. for ($x = 0; $x < $lev; $x++)
  159. $space .= "&nbsp;&nbsp;&nbsp;&nbsp;";
  160.  
  161. $query = "SELECT * FROM ".$mysql_table_prefix."categories WHERE parent_num=$parent ORDER BY category";
  162. $result = mysql_query($query);
  163. echo mysql_error();
  164.  
  165. if (mysql_num_rows($result) <> '')
  166. while ($row = mysql_fetch_array($result)) {
  167. $id = $row['category_id'];
  168. $cat = $row['category'];
  169. $state = '';
  170. if ($site_id <> '') {
  171. $result2 = mysql_query("select * from ".$mysql_table_prefix."site_category where site_id=$site_id and category_id=$id");
  172. echo mysql_error();
  173. $rows = mysql_num_rows($result2);
  174.  
  175. if ($rows > 0)
  176. $state = "checked";
  177. }
  178.  
  179. print $space . "<input type=checkbox name=cat[$id] $state>" . $cat . "<br/>\n";
  180. ;
  181. walk_through_cats($id, $lev + 1, $site_id);
  182. }
  183. }
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190. function addcatform($parent) {
  191. global $mysql_table_prefix;
  192. $par2 = "";
  193. $par2num = "";
  194. ?>
  195. <div id="submenu">
  196. </div>
  197. <?php
  198. if ($parent=='')
  199. $par='(Top level)';
  200. else {
  201. $query = "SELECT category, parent_num FROM ".$mysql_table_prefix."categories WHERE category_id='$parent'";
  202. $result = mysql_query($query);
  203. if (!mysql_error()) {
  204. if ($row = mysql_fetch_row($result)) {
  205. $par=$row[0];
  206. $query = "SELECT Category_ID, Category FROM ".$mysql_table_prefix."categories WHERE Category_ID='$row[1]'";
  207. $result = mysql_query($query);
  208. echo mysql_error();
  209. if (mysql_num_rows($result)<>'') {
  210. $row = mysql_fetch_row($result);
  211. $par2num = $row[0];
  212. $par2 = $row[1];
  213. }
  214. else
  215. $par2 = "Top level";
  216.  
  217. }
  218. }
  219. else
  220. echo mysql_error();
  221. print "</td></tr></table>";
  222. }
  223.  
  224. ?>
  225. <br/><center><table><tr><td valign=top align=center colspan=2><b>Parent: <?php print "<a href=admin.php?f=add_cat&parent=$par2num>$par2</a> >".stripslashes($par)?></b></td></tr>
  226. <form action=admin.php method=post>
  227. <input type=hidden name=f value=7>
  228. <input type=hidden name=parent value="<?php print $parent?>"
  229. <tr><td><b>Category:</b></td><td> <input type=text name=category size=40></td></tr>
  230. <tr><td></td><td><input type=submit id="submit" value=Add></td></tr></form>
  231.  
  232. <?php
  233. print "<tr><td colspan=2>";
  234. $query = "SELECT category_ID, Category FROM ".$mysql_table_prefix."categories WHERE parent_num='$parent'";
  235. $result = mysql_query($query);
  236. echo mysql_error();
  237. if (mysql_num_rows($result)>0) {
  238. print "<br/><b>Create subcategory under</b><br/><br/>";
  239. }
  240. while ($row = mysql_fetch_row($result)) {
  241. print "<a href=\"admin.php?f=add_cat&parent=$row[0]\">".stripslashes($row[1])."</a><br/>";
  242. }
  243. print "</td></tr></table></center>";
  244. }
  245.  
  246.  
  247. function addcat ($category, $parent) {
  248. global $mysql_table_prefix;
  249. if ($category=="") return;
  250. $category = addslashes($category);
  251. if ($parent == "") {
  252. $parent = 0;
  253. }
  254. $query = "INSERT INTO ".$mysql_table_prefix."categories (category, parent_num)
  255. VALUES ('$category', ".$parent.")";
  256. mysql_query($query);
  257. If (!mysql_error()) {
  258. return "<center><b>Category $category added.</b></center>" ;
  259. } else {
  260. return mysql_error();
  261. }
  262. }
  263.  
  264.  
  265.  
  266.  
  267. function addsiteform() {
  268. ?>
  269. <div id="submenu"><center><b>Add a site</b></center></div>
  270. <br/><div align=center><center><table>
  271. <form action=admin.php method=post>
  272. <input type=hidden name=f value=1>
  273. <input type=hidden name=af value=2>
  274. <tr><td><b>URL:</b></td><td align ="right"></td><td><input type=text name=url size=60 value ="http://"></td></tr>
  275. <tr><td><b>Title:</b></td><td></td><td> <input type=text name=title size=60></td></tr>
  276. <tr><td><b>Short description:</b></td><td></td><td><textarea name=short_desc cols=45 rows=3 wrap="virtual"></textarea></td></tr>
  277. <tr><td>Category:</td><td></td><td>
  278. <?php walk_through_cats(0, 0, '');?></td></tr>
  279. <tr><td></td><td></td><td><input type=submit id="submit" value=Add></td></tr></form></table></center></div>
  280. <?php
  281. }
  282.  
  283. function editsiteform($site_id) {
  284. global $mysql_table_prefix;
  285. $result = mysql_query("SELECT site_id, url, title, short_desc, spider_depth, required, disallowed, can_leave_domain from ".$mysql_table_prefix."sites where site_id=$site_id");
  286. echo mysql_error();
  287. $row = mysql_fetch_array($result);
  288. $depth = $row['spider_depth'];
  289. $fullchecked = "";
  290. $depthchecked = "";
  291. if ($depth == -1 ) {
  292. $fullchecked = "checked";
  293. $depth ="";
  294. } else {
  295. $depthchecked = "checked";
  296. }
  297. $leave_domain = $row['can_leave_domain'];
  298. if ($leave_domain == 1 ) {
  299. $domainchecked = "checked";
  300. } else {
  301. $domainchecked = "";
  302. }
  303. ?>
  304. <div id="submenu"><center><b>Edit site</b></center>
  305. </div>
  306. <br/><div align=center><center><table>
  307. <form action=admin.php method=post>
  308. <input type=hidden name=f value=4>
  309. <input type=hidden name=site_id value=<?php print $site_id;?>>
  310. <tr><td><b>URL:</b></td><td align ="right"></td><td><input type=text name=url value=<?php print "\"".$row['url']."\""?> size=60></td></tr>
  311. <tr><td><b>Title:</b></td><td></td><td> <input type=text name=title value=<?php print "\"".stripslashes($row['title'])."\""?> size=60></td></tr>
  312. <tr><td><b>Short description:</b></td><td></td><td><textarea name=short_desc cols=45 rows=3 wrap><?php print stripslashes($row['short_desc'])?></textarea></td></tr>
  313. <tr><td><b>Spidering options:</b></td><td></td><td><input type="radio" name="soption" value="full" <?php print $fullchecked;?>> Full<br/>
  314. <input type="radio" name="soption" value="level" <?php print $depthchecked;?>>To depth: <input type="text" name="depth" size="2" value="<?php print $depth;?>"><br/>
  315. <input type="checkbox" name="domaincb" value="1" <?php print $domainchecked;?>> Spider can leave domain
  316. </td></tr>
  317. <tr><td><b>URLs must include:</b></td><td></td><td><textarea name=in cols=45 rows=2 wrap="virtual"><?php print $row['required'];?></textarea></td></tr>
  318. <tr><td><b>URLs must not include:</b></td><td></td><td><textarea name=out cols=45 rows=2 wrap="virtual"><?php print $row['disallowed'];?></textarea></td></tr>
  319.  
  320. <tr><td>Category:</td><td></td><td>
  321. <?php walk_through_cats(0, 0, $site_id);?></td></tr>
  322. <tr><td></td><td></td><td><input type="submit" id="submit" value="Update"></td></tr></form></table></center></div>
  323. <?php
  324. }
  325.  
  326.  
  327. function editsite ($site_id, $url, $title, $short_desc, $depth, $required, $disallowed, $domaincb, $cat) {
  328. global $mysql_table_prefix;
  329. $short_desc = addslashes($short_desc);
  330. $title = addslashes($title);
  331. mysql_query("delete from ".$mysql_table_prefix."site_category where site_id=$site_id");
  332. echo mysql_error();
  333. $compurl=parse_url($url);
  334. if ($compurl['path']=='')
  335. $url=$url."/";
  336. mysql_query("UPDATE ".$mysql_table_prefix."sites SET url='$url', title='$title', short_desc='$short_desc', spider_depth =$depth, required='$required', disallowed='$disallowed', can_leave_domain=$domaincb WHERE site_id=$site_id");
  337. echo mysql_error();
  338. $result=mysql_query("select category_id from ".$mysql_table_prefix."categories");
  339. echo mysql_error();
  340. print mysql_error();
  341. while ($row=mysql_fetch_row($result)) {
  342. $cat_id=$row[0];
  343. if ($cat[$cat_id]=='on') {
  344. mysql_query("INSERT INTO ".$mysql_table_prefix."site_category (site_id, category_id) values ('$site_id', '$cat_id')");
  345. echo mysql_error();
  346. }
  347. }
  348. If (!mysql_error()) {
  349. return "<br/><center><b>Site updated.</b></center>" ;
  350. } else {
  351. return mysql_error();
  352. }
  353. }
  354.  
  355. function editcatform($cat_id) {
  356. global $mysql_table_prefix;
  357. $result = mysql_query("SELECT category FROM ".$mysql_table_prefix."categories where category_id='$cat_id'");
  358. echo mysql_error();
  359. $row=mysql_fetch_array($result);
  360. $category=$row[0];
  361. ?>
  362. <div id="submenu">
  363. <center><b>Edit category</b></center>
  364. </div>
  365. <br/>
  366. <div align="center"><center><table>
  367. <form action="admin.php" method="post">
  368. <input type="hidden" name="f" value="10">
  369. <input type="hidden" name="cat_id" value="<?php print $cat_id;?>"
  370. <tr><td><b>Category:</b></td><td> <input type="text" name="category" value="<?php print $category?>"size=40></td></tr>
  371. <tr><td></td><td><input type="submit" id="submit" value="Update"></td></tr></form></table></center></div>
  372. <?php
  373. }
  374.  
  375.  
  376. function editcat ($cat_id, $category) {
  377. global $mysql_table_prefix;
  378. $qry = "UPDATE ".$mysql_table_prefix."categories SET category='".addslashes($category)."' WHERE category_id='$cat_id'";
  379. mysql_query($qry);
  380. if (!mysql_error()) {
  381. return "<br/><center><b>Category updated</b></center>";
  382. } else {
  383. return mysql_error();
  384. }
  385. }
  386.  
  387.  
  388.  
  389. function showsites($message) {
  390. global $mysql_table_prefix;
  391. $result = mysql_query("SELECT site_id, url, title, indexdate from ".$mysql_table_prefix."sites ORDER By indexdate, title");
  392. echo mysql_error();
  393. ?>
  394. <div id='submenu'>
  395. <ul>
  396. <li><a href='admin.php?f=add_site'>Add site</a> </li>
  397. <?php
  398. if (mysql_num_rows($result) > 0) {
  399. ?>
  400. <li><a href='spider.php?all=1'> Reindex all</a></li>
  401. <?php
  402. }
  403. ?>
  404. </ul>
  405. </div>
  406.  
  407. <?php
  408. print $message;
  409. print "<br/>";
  410. if (mysql_num_rows($result) > 0) {
  411. print "<div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing=\"1\">
  412. <tr class=\"grey\"><td align=\"center\"><b>Site name</b></td><td align=\"center\"><b>Site url</b></td><td align=\"center\"><b>Last indexed</b></td><td colspan=4></td></tr>\n";
  413. } else {
  414. ?><center><p><b>Welcom to Sphider. <br><br>Choose "Add site" from the submenu to add a new site, or "Index" to directly go to the indexing section.</b></p></center><?php
  415. }
  416. $class = "grey";
  417. while ($row=mysql_fetch_array($result)) {
  418. if ($row['indexdate']=='') {
  419. $indexstatus="<font color=\"red\">Not indexed</font>";
  420. $indexoption="<a href=\"admin.php?f=index&url=$row[url]\">Index</a>";
  421. } else {
  422. $site_id = $row['site_id'];
  423. $result2 = mysql_query("SELECT site_id from ".$mysql_table_prefix."pending where site_id =$site_id");
  424. echo mysql_error();
  425. $row2=mysql_fetch_array($result2);
  426. if ($row2['site_id'] == $row['site_id']) {
  427. $indexstatus = "Unfinished";
  428. $indexoption="<a href=\"admin.php?f=index&url=$row[url]\">Continue</a>";
  429.  
  430. } else {
  431. $indexstatus = $row['indexdate'];
  432. $indexoption="<a href=\"admin.php?f=index&url=$row[url]&reindex=1\">Re-index</a>";
  433. }
  434. }
  435. if ($class =="white")
  436. $class = "grey";
  437. else
  438. $class = "white";
  439. print "<tr class=\"$class\"><td align=\"left\">".stripslashes($row[title])."</td><td align=\"left\"><a href=\"$row[url]\">$row[url]</a></td><td>$indexstatus</td>";
  440. print "<td><a href=admin.php?f=20&site_id=$row[site_id] id=\"small_button\">Options</a></td></tr>\n";
  441.  
  442. }
  443. if (mysql_num_rows($result) > 0) {
  444. print "</table></td></tr></table></div>";
  445. }
  446. }
  447.  
  448. function deletecat($cat_id) {
  449. global $mysql_table_prefix;
  450. $list = implode(",", get_cats($cat_id));
  451. mysql_query("delete from ".$mysql_table_prefix."categories where category_id in ($list)");
  452. echo mysql_error();
  453. mysql_query("delete from ".$mysql_table_prefix."site_category where category_id=$cat_id");
  454. echo mysql_error();
  455. return "<center><b>Category deleted.</b></center>";
  456. }
  457. function deletesite($site_id) {
  458. global $mysql_table_prefix;
  459. mysql_query("delete from ".$mysql_table_prefix."sites where site_id=$site_id");
  460. echo mysql_error();
  461. mysql_query("delete from ".$mysql_table_prefix."site_category where site_id=$site_id");
  462. echo mysql_error();
  463. $query = "select link_id from ".$mysql_table_prefix."links where site_id=$site_id";
  464. $result = mysql_query($query);
  465. echo mysql_error();
  466. $todelete = array();
  467. while ($row=mysql_fetch_array($result)) {
  468. $todelete[]=$row['link_id'];
  469. }
  470.  
  471. if (count($todelete)>0) {
  472. $todelete = implode(",", $todelete);
  473. for ($i=0;$i<=15; $i++) {
  474. $char = dechex($i);
  475. $query = "delete from ".$mysql_table_prefix."link_keyword$char where link_id in($todelete)";
  476. mysql_query($query);
  477. echo mysql_error();
  478. }
  479. }
  480.  
  481. mysql_query("delete from ".$mysql_table_prefix."links where site_id=$site_id");
  482. echo mysql_error();
  483. mysql_query("delete from ".$mysql_table_prefix."pending where site_id=$site_id");
  484. echo mysql_error();
  485. return "<br/><center><b>Site deleted</b></center>";
  486. }
  487.  
  488. function deletePage($link_id) {
  489. global $mysql_table_prefix;
  490. mysql_query("delete from ".$mysql_table_prefix."links where link_id=$link_id");
  491. echo mysql_error();
  492. for ($i=0;$i<=15; $i++) {
  493. $char = dechex($i);
  494. mysql_query("delete from ".$mysql_table_prefix."link_keyword$char where link_id=$link_id");
  495. }
  496. echo mysql_error();
  497. return "<br/><center><b>Page deleted</b></center>";
  498. }
  499.  
  500.  
  501. function cleanTemp() {
  502. global $mysql_table_prefix;
  503. $result = mysql_query("delete from ".$mysql_table_prefix."temp where level >= 0");
  504. echo mysql_error();
  505. ?>
  506. <div id="submenu">
  507. </div><?php
  508. print "<br/><center><b>Temp table cleared, $del items deleted.</b></center>";
  509. }
  510.  
  511. function clearLog() {
  512. global $mysql_table_prefix;
  513. $result = mysql_query("delete from ".$mysql_table_prefix."query_log where time >= 0");
  514. echo mysql_error();
  515. ?>
  516. <div id="submenu">
  517. </div><?php
  518. print "<br/><center><b>Search log cleared, $del items deleted.</b></center>";
  519. }
  520.  
  521.  
  522. function cleanLinks() {
  523. global $mysql_table_prefix;
  524. $query = "select site_id from ".$mysql_table_prefix."sites";
  525. $result = mysql_query($query);
  526. echo mysql_error();
  527. $todelete = array();
  528. if (mysql_num_rows($result)>0) {
  529. while ($row=mysql_fetch_array($result)) {
  530. $todelete[]=$row['site_id'];
  531. }
  532. $todelete = implode(",", $todelete);
  533. $sql_end = " not in ($todelete)";
  534. }
  535.  
  536. $result = mysql_query("select link_id from ".$mysql_table_prefix."links where site_id".$sql_end);
  537. echo mysql_error();
  538. $del = mysql_num_rows($result);
  539. while ($row=mysql_fetch_array($result)) {
  540. $link_id=$row[link_id];
  541. for ($i=0;$i<=15; $i++) {
  542. $char = dechex($i);
  543. mysql_query("delete from ".$mysql_table_prefix."link_keyword$char where link_id=$link_id");
  544. echo mysql_error();
  545. }
  546. mysql_query("delete from ".$mysql_table_prefix."links where link_id=$link_id");
  547. echo mysql_error();
  548. }
  549.  
  550. $result = mysql_query("select link_id from ".$mysql_table_prefix."links where site_id is NULL");
  551. echo mysql_error();
  552. $del += mysql_num_rows($result);
  553. while ($row=mysql_fetch_array($result)) {
  554. $link_id=$row[link_id];
  555. for ($i=0;$i<=15; $i++) {
  556. $char = dechex($i);
  557. mysql_query("delete from ".$mysql_table_prefix."link_keyword$char where link_id=$link_id");
  558. echo mysql_error();
  559. }
  560. mysql_query("delete from ".$mysql_table_prefix."links where link_id=$link_id");
  561. echo mysql_error();
  562. }
  563. ?>
  564. <div id="submenu">
  565. </div><?php
  566. print "<br/><center><b>Links table cleaned, $del links deleted.</b></center>";
  567. }
  568.  
  569. function cleanKeywords() {
  570. global $mysql_table_prefix;
  571. $query = "select keyword_id, keyword from ".$mysql_table_prefix."keywords";
  572. $result = mysql_query($query);
  573. echo mysql_error();
  574. $del = 0;
  575. while ($row=mysql_fetch_array($result)) {
  576. $keyId=$row['keyword_id'];
  577. $keyword=$row['keyword'];
  578. $wordmd5 = substr(md5($keyword), 0, 1);
  579. $query = "select keyword_id from ".$mysql_table_prefix."link_keyword$wordmd5 where keyword_id = $keyId";
  580. $result2 = mysql_query($query);
  581. echo mysql_error();
  582. if (mysql_num_rows($result2) < 1) {
  583. mysql_query("delete from ".$mysql_table_prefix."keywords where keyword_id=$keyId");
  584. echo mysql_error();
  585. $del++;
  586. }
  587. }?>
  588. <div id="submenu">
  589. </div><?php
  590. print "<br/><center><b>Keywords table cleaned, $del keywords deleted.</b></center>";
  591. }
  592.  
  593. function getStatistics() {
  594. global $mysql_table_prefix;
  595. $stats = array();
  596. $keywordQuery = "select count(keyword_id) from ".$mysql_table_prefix."keywords";
  597. $linksQuery = "select count(url) from ".$mysql_table_prefix."links";
  598. $siteQuery = "select count(site_id) from ".$mysql_table_prefix."sites";
  599. $categoriesQuery = "select count(category_id) from ".$mysql_table_prefix."categories";
  600.  
  601. $result = mysql_query($keywordQuery);
  602. echo mysql_error();
  603. if ($row=mysql_fetch_array($result)) {
  604. $stats['keywords']=$row[0];
  605. }
  606. $result = mysql_query($linksQuery);
  607. echo mysql_error();
  608. if ($row=mysql_fetch_array($result)) {
  609. $stats['links']=$row[0];
  610. }
  611. for ($i=0;$i<=15; $i++) {
  612. $char = dechex($i);
  613. $result = mysql_query("select count(link_id) from ".$mysql_table_prefix."link_keyword$char");
  614. echo mysql_error();
  615. if ($row=mysql_fetch_array($result)) {
  616. $stats['index']+=$row[0];
  617. }
  618. }
  619. $result = mysql_query($siteQuery);
  620. echo mysql_error();
  621. if ($row=mysql_fetch_array($result)) {
  622. $stats['sites']=$row[0];
  623. }
  624. $result = mysql_query($categoriesQuery);
  625. echo mysql_error();
  626. if ($row=mysql_fetch_array($result)) {
  627. $stats['categories']=$row[0];
  628. }
  629. return $stats;
  630. }
  631.  
  632.  
  633.  
  634. function addsite ($url, $title, $short_desc, $cat) {
  635. global $mysql_table_prefix;
  636. $short_desc = addslashes($short_desc);
  637. $title = addslashes($title);
  638. $compurl=parse_url("".$url);
  639. if ($compurl['path']=='')
  640. $url=$url."/";
  641. $result = mysql_query("select site_ID from ".$mysql_table_prefix."sites where url='$url'");
  642. echo mysql_error();
  643. $rows = mysql_numrows($result);
  644. if ($rows==0 ) {
  645. mysql_query("INSERT INTO ".$mysql_table_prefix."sites (url, title, short_desc) VALUES ('$url', '$title', '$short_desc')");
  646. echo mysql_error();
  647. $result = mysql_query("select site_ID from ".$mysql_table_prefix."sites where url='$url'");
  648. echo mysql_error();
  649. $row = mysql_fetch_row($result);
  650. $site_id = $row[0];
  651. $result=mysql_query("select category_id from ".$mysql_table_prefix."categories");
  652. echo mysql_error();
  653. while ($row=mysql_fetch_row($result)) {
  654. $cat_id=$row[0];
  655. if ($cat[$cat_id]=='on') {
  656. mysql_query("INSERT INTO ".$mysql_table_prefix."site_category (site_id, category_id) values ('$site_id', '$cat_id')");
  657. echo mysql_error();
  658. }
  659. }
  660.  
  661. If (!mysql_error()) {
  662. $message = "<br/><center><b>Site added</b></center>" ;
  663. } else {
  664. $message = mysql_error();
  665. }
  666.  
  667. } else {
  668. $message = "<center><b>Site already in database</b></center>";
  669. }
  670. return $message;
  671. }
  672.  
  673.  
  674. function indexscreen ($url, $reindex) {
  675. global $mysql_table_prefix;
  676. $check = "";
  677. $levelchecked = "checked";
  678. $spider_depth = 2;
  679. if ($url=="") {
  680. $url = "http://";
  681. $advurl = "";
  682. } else {
  683. $advurl = $url;
  684. $result = mysql_query("select spider_depth, required, disallowed, can_leave_domain from ".$mysql_table_prefix."sites " .
  685. "where url='$url'");
  686. echo mysql_error();
  687. if (mysql_num_rows($result) > 0) {
  688. $row = mysql_fetch_row($result);
  689. $spider_depth = $row[0];
  690. if ($spider_depth == -1 ) {
  691. $fullchecked = "checked";
  692. $spider_depth ="";
  693. $levelchecked = "";
  694. }
  695. $must = $row[1];
  696. $mustnot = $row[2];
  697. $canleave = $row[3];
  698. }
  699. }
  700.  
  701. ?>
  702. <div id="submenu">
  703. <ul>
  704. <li>
  705. <?php
  706. if ($must !="" || $mustnot !="" || $canleave == 1 ) {
  707. $_SESSION['index_advanced']=1;
  708. }
  709. if ($_SESSION['index_advanced']==1){
  710. print "<a href='admin.php?f=index&adv=0&url=$advurl'>Hide advanced options</a>";
  711. } else {
  712. print "<a href='admin.php?f=index&adv=1&url=$advurl'>Advanced options</a>";
  713. }
  714.  
  715. ?>
  716. </li>
  717. </ul>
  718. </div>
  719. <br/>
  720. <div id="indexoptions"><table>
  721. <form action="spider.php" method="post">
  722. <tr><td><b>Address:</b></td><td> <input type="text" name="url" size="48" value=<?php print "\"$url\"";?>></td></tr>
  723. <tr><td><b>Indexing options:</b></td><td>
  724. <input type="radio" name="soption" value="full" <?php print $fullchecked;?>> Full<br/>
  725. <input type="radio" name="soption" value="level" <?php print $levelchecked;?>>To depth: <input type="text" name="maxlevel" size="2" value="<?php print $spider_depth;?>"><br/>
  726. <?php if ($reindex==1) $check="checked"?>
  727. <input type="checkbox" name="reindex" value="1" <?php print $check;?>> Reindex<br/>
  728. </td></tr>
  729. <?php
  730. if ($_SESSION['index_advanced']==1){
  731. ?>
  732. <?php if ($canleave==1) {$checkcan="checked" ;} ?>
  733. <tr><td></td><td><input type="checkbox" name="domaincb" value="1" <?php print $checkcan;?>> Spider can leave domain <!--a href="javascript:;" onClick="window.open('hmm','newWindow','width=300,height=300,left=600,top=200,resizable');" >?</a--><br/></td></tr>
  734. <tr><td><b>URL must include:</b></td><td><textarea name=in cols=35 rows=2 wrap="virtual"><?php print $must;?></textarea></td></tr>
  735. <tr><td><b>URL must not include:</b></td><td><textarea name=out cols=35 rows=2 wrap="virtual"><?php print $mustnot;?></textarea></td></tr>
  736. <?php
  737. }
  738. ?>
  739.  
  740. <tr><td></td><td><input type="submit" id="submit" value="Start indexing"></td></tr>
  741. </form></table></div>
  742. <?php
  743. }
  744.  
  745. function siteScreen($site_id, $message) {
  746. global $mysql_table_prefix;
  747. $result = mysql_query("SELECT site_id, url, title, short_desc, indexdate from ".$mysql_table_prefix."sites where site_id=$site_id");
  748. echo mysql_error();
  749. $row=mysql_fetch_array($result);
  750. $url = replace_ampersand($row[url]);
  751. if ($row['indexdate']=='') {
  752. $indexstatus="<font color=\"red\">Not indexed</font>";
  753. $indexoption="<a href=\"admin.php?f=index&url=$url\">Index</a>";
  754. } else {
  755. $site_id = $row['site_id'];
  756. $result2 = mysql_query("SELECT site_id from ".$mysql_table_prefix."pending where site_id =$site_id");
  757. echo mysql_error();
  758. $row2=mysql_fetch_array($result2);
  759. if ($row2['site_id'] == $row['site_id']) {
  760. $indexstatus = "Unfinished";
  761. $indexoption="<a href=\"admin.php?f=index&url=$url\">Continue indexing</a>";
  762.  
  763. } else {
  764. $indexstatus = $row['indexdate'];
  765. $indexoption="<a href=\"admin.php?f=index&url=$url&reindex=1\">Re-index</a>";
  766. }
  767. }
  768. ?>
  769.  
  770. <div id="submenu">
  771. </div>
  772. <?php print $message;?>
  773. <br/>
  774.  
  775. <center>
  776. <div style="width:755px;">
  777. <div style="float:left; margin-right:0px;">
  778. <div class="darkgrey">
  779. <table cellpadding="3" cellspacing="0">
  780.  
  781. <table cellpadding="5" cellspacing="1" width="640">
  782. <tr >
  783. <td class="grey" valign="top" width="20%" align="left">URL:</td>
  784. <td class="white" align="left"><a href="<?php print $row['url']; print "\">"; print $row['url'];?></a></td>
  785. </tr>
  786. <tr>
  787. <td class="grey" valign="top" align="left">Title:</td>
  788. <td class="white" align="left"><b><?php print stripslashes($row['title']);?></b></td>
  789. </tr>
  790. <tr>
  791. <td class="grey" valign="top" align="left">Description:</td>
  792. <td width="80%" class="white" align="left"><?php print stripslashes($row['short_desc']);?></td>
  793. </tr>
  794. <tr>
  795. <td class="grey" valign="top" align="left">Last indexed:</td>
  796. <td class="white" align="left"><?php print $indexstatus;?></td>
  797. </tr>
  798. </table>
  799. </div>
  800. </div>
  801. <div id= "vertmenu">
  802. <ul>
  803. <li><a href=admin.php?f=edit_site&site_id=<?php print $row['site_id']?>>Edit</a></li>
  804. <li><?php print $indexoption?></li>
  805. <li><a href=admin.php?f=21&site_id=<?php print $row['site_id']?>>Browse pages</a></li>
  806. <li><a href=admin.php?f=5&site_id=<?php print $row['site_id'];?> onclick="return confirm('Are you sure you want to delete? Index will be lost.')">Delete</a></li>
  807. <li><a href=admin.php?f=19&site_id=<?php print $row['site_id'];?>>Stats</a></li>
  808. </div>
  809. </ul>
  810. </div>
  811. </center>
  812. <div class="clear">
  813. </div>
  814. <br/>
  815. <?php
  816. }
  817.  
  818.  
  819. function siteStats($site_id) {
  820. global $mysql_table_prefix;
  821. $result = mysql_query("select url from ".$mysql_table_prefix."sites where site_id=$site_id");
  822. echo mysql_error();
  823. if ($row=mysql_fetch_array($result)) {
  824. $url=$row[0];
  825.  
  826. $lastIndexQuery = "SELECT indexdate from ".$mysql_table_prefix."sites where site_id = $site_id";
  827. $sumSizeQuery = "select sum(length(fulltxt)) from ".$mysql_table_prefix."links where site_id = $site_id";
  828. $siteSizeQuery = "select sum(size) from ".$mysql_table_prefix."links where site_id = $site_id";
  829. $linksQuery = "select count(*) from ".$mysql_table_prefix."links where site_id = $site_id";
  830.  
  831. $result = mysql_query($lastIndexQuery);
  832. echo mysql_error();
  833. if ($row=mysql_fetch_array($result)) {
  834. $stats['lastIndex']=$row[0];
  835. }
  836.  
  837. $result = mysql_query($sumSizeQuery);
  838. echo mysql_error();
  839. if ($row=mysql_fetch_array($result)) {
  840. $stats['sumSize']=$row[0];
  841. }
  842. $result = mysql_query($linksQuery);
  843. echo mysql_error();
  844. if ($row=mysql_fetch_array($result)) {
  845. $stats['links']=$row[0];
  846. }
  847.  
  848. for ($i=0;$i<=15; $i++) {
  849. $char = dechex($i);
  850. $result = mysql_query("select count(*) from ".$mysql_table_prefix."links, ".$mysql_table_prefix."link_keyword$char where ".$mysql_table_prefix."links.link_id=".$mysql_table_prefix."link_keyword$char.link_id and ".$mysql_table_prefix."links.site_id = $site_id");
  851. echo mysql_error();
  852. if ($row=mysql_fetch_array($result)) {
  853. $stats['index']+=$row[0];
  854. }
  855. }
  856. for ($i=0;$i<=15; $i++) {
  857. $char = dechex($i);
  858. $wordQuery = "select count(distinct keyword) from ".$mysql_table_prefix."keywords, ".$mysql_table_prefix."links, ".$mysql_table_prefix."link_keyword$char where ".$mysql_table_prefix."links.link_id=".$mysql_table_prefix."link_keyword$char.link_id and ".$mysql_table_prefix."links.site_id = $site_id and ".$mysql_table_prefix."keywords.keyword_id = ".$mysql_table_prefix."link_keyword$char.keyword_id";
  859. $result = mysql_query($wordQuery);
  860. echo mysql_error();
  861. if ($row=mysql_fetch_array($result)) {
  862. $stats['words']+=$row[0];
  863. }
  864. }
  865.  
  866. $result = mysql_query($siteSizeQuery);
  867. echo mysql_error();
  868. if ($row=mysql_fetch_array($result)) {
  869. $stats['siteSize']=$row[0];
  870. }
  871. if ($stats['siteSize']=="")
  872. $stats['siteSize'] = 0;
  873. $stats['siteSize'] = number_format($stats['siteSize'], 2);
  874. print"<div id=\"submenu\"></div>";
  875. print "<br/><div align=\"center\"><center><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td colspan=\"2\">";
  876. print "Statistics for site <a href=\"admin.php?f=20&site_id=$site_id\">$url</a>";
  877. print "<tr class=\"white\"><td>Last indexed:</td><td align=\"center\"> ".$stats['lastIndex']."</td></tr>";
  878. print "<tr class=\"grey\"><td>Pages indexed:</td><td align=\"center\"> ".$stats['links']."</td></tr>";
  879. print "<tr class=\"white\"><td>Total index size:</td><td align=\"center\"> ".$stats['index']."</td></tr>";
  880. $sum = number_format($stats['sumSize']/1024, 2);
  881. print "<tr class=\"grey\"><td>Cached texts:</td><td align=\"center\"> ".$sum."kb</td></tr>";
  882. print "<tr class=\"white\"><td>Total number of keywords:</td><td align=\"center\"> ".$stats['words']."</td></tr>";
  883. print "<tr class=\"grey\"><td>Site size:</td><td align=\"center\"> ".$stats['siteSize']."kb</td></tr>";
  884. print "</table></td></tr></table></center></div>";
  885. }
  886. }
  887.  
  888. function browsePages($site_id, $start, $filter, $per_page) {
  889. global $mysql_table_prefix;
  890. $result = mysql_query("select url from ".$mysql_table_prefix."sites where site_id=$site_id");
  891. echo mysql_error();
  892. $row = mysql_fetch_row($result);
  893. $url = $row[0];
  894.  
  895. $query_add = "";
  896. if ($filter != "") {
  897. $query_add = "and url like '%$filter%'";
  898. }
  899. $linksQuery = "select count(*) from ".$mysql_table_prefix."links where site_id = $site_id $query_add";
  900. $result = mysql_query($linksQuery);
  901. echo mysql_error();
  902. $row = mysql_fetch_row($result);
  903. $numOfPages = $row[0];
  904.  
  905. $result = mysql_query($linksQuery);
  906. echo mysql_error();
  907. $from = ($start-1) * 10;
  908. $to = min(($start)*10, $numOfPages);
  909.  
  910.  
  911. $linksQuery = "select link_id, url from ".$mysql_table_prefix."links where site_id = $site_id and url like '%$filter%' order by url limit $from, $per_page";
  912. $result = mysql_query($linksQuery);
  913. echo mysql_error();
  914. ?>
  915. <div id="submenu"></div>
  916. <br/>
  917. <center>
  918. <b>Pages of site <a href="admin.php?f=20&site_id=<?php print $site_id?>"><?php print $url;?></a></b><br/>
  919. <p>
  920. <form action="admin.php" method="post">
  921. Urls per page: <input type="text" name="per_page" size="3" value="<?php print $per_page;?>">
  922. Url contains: <input type="text" name="filter" size="15" value="<?php print $filter;?>">
  923. <input type="submit" id="submit" value="Filter">
  924. <input type="hidden" name="start" value="1">
  925. <input type="hidden" name="site_id" value="<?php print $site_id?>">
  926. <input type="hidden" name="f" value="21">
  927. </form>
  928. </p>
  929. <table width="600"><tr><td>
  930. <table cellspacing ="0" cellpadding="0" class="darkgrey" width ="100%"><tr><td>
  931. <table cellpadding="3" cellspacing="1" width="100%">
  932.  
  933. <?php
  934. $class = "white";
  935. while ($row = mysql_fetch_array($result)) {
  936. if ($class =="white")
  937. $class = "grey";
  938. else
  939. $class = "white";
  940. print "<tr class=\"$class\"><td><a href=\"".$row['url']."\">".$row['url']."</a></td><td width=\"8%\"> <a href=\"admin.php?link_id=".$row['link_id']."&f=22&site_id=$site_id&start=1&filter=$filter&per_page=$per_page\">Delete</a></td></tr>";
  941. }
  942.  
  943. print "</table></td></tr></table>";
  944.  
  945. $pages = ceil($numOfPages / $per_page);
  946. $prev = $start - 1;
  947. $next = $start + 1;
  948.  
  949. if ($pages > 0)
  950. print "<center>Pages: ";
  951.  
  952. $links_to_next =10;
  953. $firstpage = $start - $links_to_next;
  954. if ($firstpage < 1) $firstpage = 1;
  955. $lastpage = $start + $links_to_next;
  956. if ($lastpage > $pages) $lastpage = $pages;
  957.  
  958. for ($x=$firstpage; $x<=$lastpage; $x++)
  959. if ($x<>$start) {
  960. print "<a href=admin.php?f=21&site_id=$site_id&start=$x&filter=$filter&per_page=$per_page>$x</a> ";
  961. } else
  962. print "<b>$x </b>";
  963. print"</td></tr></table></center>";
  964.  
  965. }
  966.  
  967.  
  968. function cleanForm () {
  969. global $mysql_table_prefix;
  970. $result = mysql_query("select count(*) from ".$mysql_table_prefix."query_log");
  971. echo mysql_error();
  972. if ($row=mysql_fetch_array($result)) {
  973. $log=$row[0];
  974. }
  975. $result = mysql_query("select count(*) from ".$mysql_table_prefix."temp");
  976. echo mysql_error();
  977. if ($row=mysql_fetch_array($result)) {
  978. $temp=$row[0];
  979. }
  980.  
  981.  
  982. ?>
  983. <div id="submenu">
  984. </div>
  985. <br/><div align="center">
  986. <table cellspacing ="0" cellpadding="0" class="darkgrey"><tr><td align="left"><table cellpadding="3" cellspacing = "1" width="100%"><tr class="grey" ><td align="left"><a href="admin.php?f=15" id="small_button">Clean keywords</a>
  987. </td><td align="left"> Delete all keywords not associated with any link.</td></tr>
  988. <tr class="grey" ><td align="left"><a href="admin.php?f=16" id="small_button">Clean links</a>
  989. </td><td align="left"> Delete all links not associated with any site.</td></tr>
  990. <tr class="grey" ><td align="left"><a href="admin.php?f=17" id="small_button">Clear temp tables </a>
  991. </td><td align="left"> <?php print $temp;?> items in temporary table.</td></tr>
  992. <tr class="grey" ><td align="left"><a href="admin.php?f=23" id="small_button">Clear search log </a>
  993. </td><td align="left"><?php print $log;?> items in search log.
  994. </td></tr></table> </td></tr></table></div>
  995. <?php
  996. }
  997.  
  998. function statisticsForm ($type) {
  999. global $mysql_table_prefix, $log_dir;
  1000. ?>
  1001. <div id='submenu'>
  1002. <ul>
  1003. <li><a href="admin.php?f=statistics&type=keywords">Top keywords</a></li>
  1004. <li><a href="admin.php?f=statistics&type=pages">Largest pages</a></li>
  1005. <li><a href="admin.php?f=statistics&type=top_searches">Most popular searches</a></li>
  1006. <li><a href="admin.php?f=statistics&type=log">Search log</a></li>
  1007. <li><a href="admin.php?f=statistics&type=spidering_log">Spidering logs</a></li>
  1008. </ul>
  1009. </div>
  1010.  
  1011. <?php
  1012. if ($type == "") {
  1013. $cachedSumQuery = "select sum(length(fulltxt)) from ".$mysql_table_prefix."links";
  1014. $result=mysql_query("select sum(length(fulltxt)) from ".$mysql_table_prefix."links");
  1015. echo mysql_error();
  1016. if ($row=mysql_fetch_array($result)) {
  1017. $cachedSumSize = $row[0];
  1018. }
  1019. $cachedSumSize = number_format($cachedSumSize / 1024, 2);
  1020.  
  1021. $sitesSizeQuery = "select sum(size) from ".$mysql_table_prefix."links";
  1022. $result=mysql_query("$sitesSizeQuery");
  1023. echo mysql_error();
  1024. if ($row=mysql_fetch_array($result)) {
  1025. $sitesSize = $row[0];
  1026. }
  1027. $sitesSize = number_format($sitesSize, 2);
  1028.  
  1029. $stats = getStatistics();
  1030. print "<br/><div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td><b>Sites:</b></td><td align=\"center\">".$stats['sites']."</td></tr>";
  1031. print "<tr class=\"white\"><td><b>Links:</b></td><td align=\"center\"> ".$stats['links']."</td></tr>";
  1032. print "<tr class=\"grey\"><td><b>Categories:</b></td><td align=\"center\"> ".$stats['categories']."</td></tr>";
  1033. print "<tr class=\"white\"><td><b>Keywords:</b></td><td align=\"center\"> ".$stats['keywords']."</td></tr>";
  1034. print "<tr class=\"grey\"><td><b>Keyword-link realations:</b></td><td align=\"center\"> ".$stats['index']."</td></tr>";
  1035. print "<tr class=\"white\"><td><b>Cached texts total:</b></td><td align=\"center\"> $cachedSumSize kb</td></tr>";
  1036. print "<tr class=\"grey\"><td><b>Sites size total:</b></td><td align=\"center\"> $sitesSize kb</td></tr>";
  1037. print "</table></td></tr></table></div>";
  1038. }
  1039.  
  1040. if ($type=='keywords') {
  1041. $class = "grey";
  1042. print "<br/><div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td><b>Keyword</b></td><td><b>Occurrences</b></td></tr>";
  1043. for ($i=0;$i<=15; $i++) {
  1044. $char = dechex($i);
  1045. $result=mysql_query("select keyword, count(".$mysql_table_prefix."link_keyword$char.keyword_id) as x from ".$mysql_table_prefix."keywords, ".$mysql_table_prefix."link_keyword$char where ".$mysql_table_prefix."keywords.keyword_id = ".$mysql_table_prefix."link_keyword$char.keyword_id group by keyword order by x desc limit 30");
  1046. echo mysql_error();
  1047. while (($row=mysql_fetch_row($result))) {
  1048. $topwords[$row[0]] = $row[1];
  1049. }
  1050. }
  1051. arsort($topwords);
  1052. $count = 0;
  1053. while ((list($word, $weight) = each($topwords)) && $count <= 30) {
  1054.  
  1055. $count++;
  1056. if ($class =="white")
  1057. $class = "grey";
  1058. else
  1059. $class = "white";
  1060.  
  1061. print "<tr class=\"$class\"><td align=\"left\">".$word."</td><td> ".$weight."</td></tr>\n";
  1062. }
  1063. print "</table></td></tr></table></div>";
  1064. }
  1065. if ($type=='pages') {
  1066. $class = "grey";
  1067. ?>
  1068. <br/><div align="center">
  1069. <table cellspacing ="0" cellpadding="0" class="darkgrey"><tr><td>
  1070. <table cellpadding="2" cellspacing="1">
  1071. <tr class="grey"><td>
  1072. <b>Page</b></td>
  1073. <td><b>Text size</b></td></tr>
  1074. <?php
  1075. $result=mysql_query("select ".$mysql_table_prefix."links.link_id, url, length(fulltxt) as x from ".$mysql_table_prefix."links order by x desc limit 20");
  1076. echo mysql_error();
  1077. while ($row=mysql_fetch_row($result)) {
  1078. if ($class =="white")
  1079. $class = "grey";
  1080. else
  1081. $class = "white";
  1082. $url = $row[1];
  1083. $sum = number_format($row[2]/1024, 2);
  1084. print "<tr class=\"$class\"><td align=\"left\"><a href=\"$url\">".$url."</td><td align= \"center\"> ".$sum."kb</td></tr>";
  1085. }
  1086. print "</table></td></tr></table></div>";
  1087. }
  1088.  
  1089. if ($type=='top_searches') {
  1090. $class = "grey";
  1091. print "<br/><div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td><b>Query</b></td><td><b>Count</b></td><td><b> Average results</b></td><td><b>Last queried</b></td></tr>";
  1092. $result=mysql_query("select query, count(*) as c, date_format(max(time), '%Y-%m-%d %H:%i:%s'), avg(results) from ".$mysql_table_prefix."query_log group by query order by c desc");
  1093. echo mysql_error();
  1094. while ($row=mysql_fetch_row($result)) {
  1095. if ($class =="white")
  1096. $class = "grey";
  1097. else
  1098. $class = "white";
  1099.  
  1100. $word = $row[0];
  1101. $times = $row[1];
  1102. $date = $row[2];
  1103. $avg = number_format($row[3], 1);
  1104. print "<tr class=\"$class\"><td align=\"left\">".htmlentities($word)."</td><td align=\"center\"> ".$times."</td><td align=\"center\"> ".$avg."</td><td align=\"center\"> ".$date."</td></tr>";
  1105. }
  1106. print "</table></td></tr></table></div>";
  1107. }
  1108. if ($type=='log') {
  1109. $class = "grey";
  1110. print "<br/><div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td align=\"center\"><b>Query</b></td><td align=\"center\"><b>Results</b></td><td align=\"center\"><b>Queried at</b></td><td align=\"center\"><b>Time taken</b></td></tr>";
  1111. $result=mysql_query("select query, date_format(time, '%Y-%m-%d %H:%i:%s'), elapsed, results from ".$mysql_table_prefix."query_log order by time desc");
  1112. echo mysql_error();
  1113. while ($row=mysql_fetch_row($result)) {
  1114. if ($class =="white")
  1115. $class = "grey";
  1116. else
  1117. $class = "white";
  1118.  
  1119. $word = $row[0];
  1120. $time = $row[1];
  1121. $elapsed = $row[2];
  1122. $results = $row[3];
  1123. print "<tr class=\"$class\"><td align=\"left\">".htmlentities($word)."</td><td align=\"center\"> ".$results."</td><td align=\"center\"> ".$time."</td><td align=\"center\"> ".$elapsed."</td></tr>";
  1124. }
  1125. print "</table></td></tr></table></div>";
  1126. }
  1127.  
  1128. if ($type=='spidering_log') {
  1129. $class = "grey";
  1130. $files = get_dir_contents($log_dir);
  1131. if (count($files)>0) {
  1132. print "<br/><div align=\"center\"><table cellspacing =\"0\" cellpadding=\"0\" class=\"darkgrey\"><tr><td><table cellpadding=\"3\" cellspacing = \"1\"><tr class=\"grey\"><td align=\"center\"><b>File</b></td><td align=\"center\"><b>Time</b></td><td align=\"center\"><b></b></td></tr>";
  1133.  
  1134. for ($i=0; $i<count($files); $i++) {
  1135. $file=$files[$i];
  1136. $year = substr($file, 0,2);
  1137. $month = substr($file, 2,2);
  1138. $day = substr($file, 4,2);
  1139. $hour = substr($file, 6,2);
  1140. $minute = substr($file, 8,2);
  1141. if ($class =="white")
  1142. $class = "grey";
  1143. else
  1144. $class = "white";
  1145. print "<tr class=\"$class\"><td align=\"left\"><a href='$log_dir/$file' tareget='_blank'>$file</a></td><td align=\"center\"> 20$year-$month-$day $hour:$minute</td><td align=\"center\"> <a href='?f=delete_log&file=$file' id='small_button'>Delete</a></td></tr>";
  1146. }
  1147.  
  1148. print "</table></td></tr></table></div>";
  1149. } else {
  1150. ?>
  1151. <br/><br/>
  1152. <center><b>No saved logs.</b></center>
  1153. <?php
  1154. }
  1155. }
  1156.  
  1157. }
  1158.  
  1159. switch ($f) {
  1160. case 1:
  1161. $message = addsite($url, $title, $short_desc, $cat);
  1162. $compurl=parse_url($url);
  1163. if ($compurl['path']=='')
  1164. $url=$url."/";
  1165.  
  1166. $result = mysql_query("select site_id from ".$mysql_table_prefix."sites where url='$url'");
  1167. echo mysql_error();
  1168. $row = mysql_fetch_row($result);
  1169. if ($site_id != "")
  1170. siteScreen($site_id, $message);
  1171. else
  1172. showsites($message);
  1173. break;
  1174. case 2:
  1175. showsites();
  1176. break;
  1177. case edit_site:
  1178. editsiteform($site_id);
  1179. break;
  1180. case 4:
  1181. if (!isset($domaincb))
  1182. $domaincb = 0;
  1183. if (!isset($cat))
  1184. $cat = "";
  1185. if ($soption =='full') {
  1186. $depth = -1;
  1187. }
  1188. $message = editsite ($site_id, $url, $title, $short_desc, $depth, $in, $out, $domaincb, $cat);
  1189. showsites($message);
  1190. break;
  1191. case 5:
  1192. deletesite ($site_id);
  1193. showsites();
  1194. break;
  1195. case add_cat:
  1196. if (!isset($parent))
  1197. $parent = "";
  1198. addcatform ($parent);
  1199. break;
  1200. case 7:
  1201. if (!isset($parent)) {
  1202. $parent = "";
  1203. }
  1204. $message = addcat ($category, $parent);
  1205. list_cats (0, 0, "white", $message);
  1206. break;
  1207. case categories:
  1208. list_cats (0, 0, "white", "");
  1209. break;
  1210. case edit_cat;
  1211. editcatform($cat_id);
  1212. break;
  1213. case 10;
  1214. $message = editcat ($cat_id, $category);
  1215. list_cats (0, 0, "white", $message);
  1216. break;
  1217. case 11;
  1218. deletecat($cat_id);
  1219. list_cats (0, 0, "white");
  1220. break;
  1221. case index;
  1222. if (!isset($url))
  1223. $url = "";
  1224. if (!isset($reindex))
  1225. $reindex = "";
  1226. if (isset($adv)) {
  1227. $_SESSION['index_advanced']=$adv;
  1228. }
  1229. indexscreen($url, $reindex);
  1230. break;
  1231. case add_site;
  1232. addsiteform();
  1233. break;
  1234. case clean;
  1235. cleanForm();
  1236. break;
  1237.  
  1238. case 15;
  1239. cleanKeywords();
  1240. break;
  1241. case 16;
  1242. cleanLinks();
  1243. break;
  1244.  
  1245. case 17;
  1246. cleanTemp();
  1247. break;
  1248.  
  1249. case statistics;
  1250. if (!isset($type))
  1251. $type = "";
  1252. statisticsForm($type);
  1253. break;
  1254.  
  1255. case 19;
  1256. siteStats($site_id);
  1257. break;
  1258. case 20;
  1259. siteScreen($site_id);
  1260. break;
  1261. case 21;
  1262. if (!isset($start))
  1263. $start = 1;
  1264. if (!isset($filter))
  1265. $filter = "";
  1266. if (!isset($per_page))
  1267. $per_page = 10;
  1268.  
  1269. browsePages($site_id, $start, $filter, $per_page);
  1270. break;
  1271. case 22;
  1272. deletePage($link_id);
  1273. if (!isset($start))
  1274. $start = 1;
  1275. if (!isset($filter))
  1276. $filter = "";
  1277. if (!isset($per_page))
  1278. $per_page = 10;
  1279. browsePages($site_id, $start, $filter, $per_page);
  1280. break;
  1281. case 23;
  1282. clearLog();
  1283. break;
  1284. case 24;
  1285. header("Location: admin.php");
  1286. break;
  1287. case database;
  1288. include "db_main.php";
  1289. break;
  1290. case settings;
  1291. include('configset.php');
  1292. break;
  1293. case delete_log;
  1294. unlink($log_dir."/".$file);
  1295. statisticsForm('spidering_log');
  1296. break;
  1297. case '':
  1298. showsites();
  1299. break;
  1300. }
  1301. $stats = getStatistics();
  1302. print "<br/><br/> <center>Currently in database: ".$stats['sites']." sites, ".$stats['links']." links, ".$stats['categories']." categories and ".$stats['keywords']." keywords.<br/><br/></center>\n";
  1303.  
  1304. ?>
  1305. </div>
  1306. </div>
  1307. </body>
  1308. </html>
Runtime error #stdin #stdout 0.02s 13064KB
stdin
Standard input is empty
stdout

Warning: include(auth.php): failed to open stream: No such file or directory in /home/j3cBie/prog.php on line 13

Warning: include(): Failed opening 'auth.php' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in /home/j3cBie/prog.php on line 13

Warning: include(../include/commonfuncs.php): failed to open stream: No such file or directory in /home/j3cBie/prog.php on line 14

Warning: include(): Failed opening '../include/commonfuncs.php' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in /home/j3cBie/prog.php on line 14

Fatal error: Call to undefined function getHttpVars() in /home/j3cBie/prog.php on line 15