/*****************************************************************/
/* Program Name : Neoscripts SpyName */
/* Program Version : 2.01 */
/* Program Author : Neoscripts */
/* Site : http://www.neoscripts.com */
/* Email : contact@neoscripts.com */
/* */
/* Copyright (c) 2002,2003 Neoscripts.com All rights reserved. */
/* Do NOT remove any of the copyright notices in the script. */
/* This script can not be distributed or resold by anyone else */
/* than the author, unless special permisson is given. */
/* */
/*****************************************************************/
include("fns.php");
require("config.php");
require "../lib/template.php";
//db_connect();
//define results per page
$resperpage=50;
session_name('sClient');
session_start();
if (!isset($_SESSION["login"])) {
header("Location: ./");
exit;
}
if (isset($_GET["logout"])) {
session_destroy();
header("Location: ./");
exit;
}
$_SESSION["login"] = $login;
print template_parse("<%include(menu.template)");
?>
if (@$_POST || @$next=="yes"){
$query=$_POST;
if ($_POST && @!$next)
{session_unregister('results'); $results="";}
if (!session_is_registered('results')){
session_register('results'); /*@session_destroy();*/ }
//set_time_limit(0);
//$siteid=5;
$sitesid=db_result_to_array("select id from jobspider_sites_general where status='on'");
$sitesid[0][0]=0;
$sitesid[0]['id']=0;
$reswehave=0;
if (@$next)
{
//check if we need to run spider
for ($e=0; $e=$resperpage)
$greenlight=0;
else $greenlight=1;
}
else
{
$results['number']=0;
for ($f=0; $f";
$sitesamt=count($sitesid);
if ($greenlight){
for ($j=0; $j<$sitesamt; $j++)
{
if (@$next)
if ($results[$j]['nextpage']=="ok")
$resultsgot[$j]=spider($j, "next", $query);
else "";
else $resultsgot[$j]=spider($j, "", $query);
}
}
//in case of first search: no result
//counting good sites
$goodsitesamt=0;
for ($k=0; $k<$sitesamt; $k++)
{//echo "
checking good sites, status of $k".$results[$k]['status']."
";
if (@$results[$k]['status']=="ok") $goodsitesamt++;}
//echo "good sites: $goodsitesamt
";
$nores=0;
if (!@$next)
for ($d=0; $d<$sitesamt; $d++)
if (@$results[$d]['status']=="error" || @$results[$d]['status']=="no results") $nores++;
//echo "
lastresult:".$results[2]['lastresult'];
//echo "
lastusedresult:".$results[2]['lastusedresult'];
if (@$next)
for ($e=0; $e<$sitesamt; $e++)
@$reswehave+=$resultsgot[$e];
else for ($e=0; $e<$sitesamt; $e++)
@$reswehave+=$results[$e]['lastresult'];
//echo "
results after first update:$reswehave
";
$deadsitesamt=0;
if ($reswehave<$resperpage)
while ($reswehave<$resperpage)
{
for ($e=0; $e<$sitesamt; $e++)
if (@$results[$e]['nextpage']=="ok") {//echo "
SHOULD BE 1 TIME!!! cycle-$e, sitesamt=$sitesamt
";
$resultsgot=spider($e, "next", $query); $reswehave+=$resultsgot;}
else $deadsitesamt++;
if ($deadsitesamt==$sitesamt) {$lastpage=1; break;}
}
//echo "
results after:$reswehave
";
//imported
if (@$usid) {$header="ussearchheader"; $footer="ussearchfooter";}
else {$header="header"; $footer="footer";}
/*$title="Job search results:";
include ("templates/$header.php");
*/
$j=0;
echo "
";
//echo "Your query: Keyword: $keyword";
//echo " Category: ".$cattext[0][0]."";
//echo " Location: $loca";
//echo " Total matches: $totaltotal Showing from: $jobstart to: $jobsfinish ";
echo "
|
";
//imported is above
if ($nores!=$sitesamt)
{
if (@!$lastpage) echo "";
else {echo "Last Page
";}
echo "";
echo "";
echo "NUM | ";
echo "DOMAIN | ";
echo "STATUS | ";
echo "DATE | ";
echo "WHOIS | ";
echo "LINKS | ";
echo "WAYBACK | ";
echo "ALEXA |
";
$z=0;
$noresultsmore=0;
for ($q=0; $q<$resperpage; $q++)
for ($w=0; $w<$sitesamt; $w++)
{
if (@$results[$z]['url'][($results[$z]['lastusedresult']+1)] && ($results[$z]['lastusedresult']+1)<$results[$z]['lastresult'])
{
$results[$z]['lastusedresult']++; $results['number']++;
echo "".$results['number']." | ".$results[$z]['title'][$results[$z]['lastusedresult']]." | ".$results[$z]['linkstatus'][$results[$z]['lastusedresult']]." | ".$results[$z]['date'][$results[$z]['lastusedresult']]." | WHOIS | Check | Check | Traffic |
\n";
//echo "".$results[$z]['title'][$results[$z]['lastusedresult']]."
".$results[$z]['description'][$results[$z]['lastusedresult']]."
".$results[$z]['url'][$results[$z]['lastusedresult']]."
";
$z++;
$noresultsmore=0;
if ($z==$sitesamt) $z=0;
break;
}
else {$noresultsmore++; }
if ($noresultsmore==$sitesamt) {$q=$resperpage; break;}
$z++;
if ($z==$sitesamt) $z=0;
}
//echo $noresultsmore;
/*for ($q=0; $q$z | ".$results[$q]['date'][$z]." | ".$results[$q]['location'][$z]." | ".$results[$q]['title'][$z]." | ".$results[$q]['company'][$z]." | ";
if ($z==(count($results[$q]['title'])-1)) @$results[$q]['lastusedresult']+=$z+1;
}
*/
echo "
";
//echo "
last used result:".$results[2]['lastusedresult'];
if (@!$lastpage) echo "";
else {echo "Last Page
";}
}
else echo "no results found
";
//echo "
".$results[0]['lastresult'].",".$results[0]['lastusedresult']."
".$results[1]['lastresult'].",".$results[1]['lastusedresult']."
".$results[2]['lastresult'].",".$results[2]['lastusedresult']."
".$results[3]['lastusedresult']."
".$results[4]['lastusedresult'];
}
function spider($siteid, $attr, $query)
{
//echo "
attr- ".$attr;
//global $cookievalue;
global $results;
global $unformatedresult;
global $sitesid;
$r=$siteid;
$siteid=$sitesid[$r][0];
$search_feeds=db_result_to_array("select * from saerch_feeds");
$querystring="?";
foreach ($query as $key => $value)
$querystring.="&$key=$value";
$querystring=str_replace("?&", "?", $querystring);
$results[$r]['pagenum']++;
$results[$r]['status']="ok";
if (@$results[$r]['cookievalue'])
$cookievalue=$results[$r]['cookievalue'];
$jobspider_sites_general=db_result_to_array("select scriptpath, keyvarname, addvars, siteurl, keywfilter, noresulttext, errortext, pagevarname, fstpagevalue, nextbyjobs, method, nextcriteria, username, password, loginpath, cookieid, nextpagepath from jobspider_sites_general where id='$siteid'");
$jobspider_sites_general=getConfig("scriptpath,keyvarname,addvars,siteurl,keywfilter,noresulttext,errortext,pagevarname,fstpagevalue,nextbyjobs,method,nextcriteria,username,password,loginpath,cookieid,nextpagepath",$siteid);
$scriptpath=$jobspider_sites_general[0][0];
$keyvarname=$jobspider_sites_general[0][1];
$addvars=$jobspider_sites_general[0][2];
$siteurl=$jobspider_sites_general[0][3];
@$keywfilter=$jobspider_sites_general[0][4];
$noresulttext=$jobspider_sites_general[0][5];
$errortext=$jobspider_sites_general[0][6];
$pagevarname=$jobspider_sites_general[0][7];
$fstpagevalue=$jobspider_sites_general[0][8];
$nextbyjobs=$jobspider_sites_general[0][9];
$method=$jobspider_sites_general[0][10];
$nextcriteria=$jobspider_sites_general[0][11];
// поля надо заполнить
$PostData=$querystring;
if ($attr=="next")
$PostData="$pagevarname=".$results[$r]['title'][$results[$r]['lastresult']-1];
$cookieid=$jobspider_sites_general[0][15];
$cookievalue=$results[$r]['cookievalue'];
$unformatedresult=read_page("$method", $siteurl, $scriptpath, $PostData, $cookieid, @$cookievalue);
//getting coockie
if ($attr!="next")
{
$cookiepos=strpos($unformatedresult, $cookieid)+strlen($cookieid)+1;
$cookieendpos=strpos($unformatedresult, ";", $cookiepos);
$len=$cookieendpos-$cookiepos;
$cookievalue=substr($unformatedresult, $cookiepos, $len);
$results[$r]['cookievalue']=$cookievalue;
}
/////////////////
if ($nextcriteria) $add=$nextcriteria; else $add=" ";
if ((strstr($unformatedresult, "$pagevarname=") || strstr($unformatedresult, "=$pagevarname") || strstr($unformatedresult, "=\"$pagevarname") || strstr($unformatedresult, "=$pagevarname") || strstr($unformatedresult, "= \"$pagevarname") || strstr($unformatedresult, "$pagevarname%3d")) && strstr($unformatedresult, "$add"))
$results[$r]['nextpage']="ok";
else $results[$r]['nextpage']="fail";
if ($noresulttext)
if (strstr($unformatedresult, $noresulttext)) $results[$r]['status']="no results";
if ($errortext)
if (strstr($unformatedresult, $errortext)) $results[$r]['status']="error";
//$template=db_result_to_array("select code from jobspider_searchres_templates where siteid='$siteid'");
$template[0][0]=REG_EXP;
if ($template[0][0])//starting meta templates method
{
$template=$template[0][0];
$reg_exp=$template;
//$reg_exp="#Date# | | #JobSummary#
| #Company# | #Location# |
";
$reg_exp=str_replace("#ANYTHING#>", "[^>]*>", $reg_exp);
$reg_exp=str_replace("#ANYTHING#", ".*?", $reg_exp);
$reg_exp=str_replace("(", "(?:", $reg_exp);
$reg_exp=str_replace(")", ")?", $reg_exp);
$reg_exp=str_replace(" ", "\s", $reg_exp);
$reg_exp=str_replace("/", "\/", $reg_exp);
//$reg_exp=str_replace("\"", "\\\"", $reg_exp);
$result=preg_match_all("/(#.*?#)/", $reg_exp, $keys);
//after finding #KEYS# in template changing them to .*?
for ($i=0; $i(.*?)<\/td> | ]*> <\/td>]*>(.*?)<\/a>
<\/td>]*>(.*?)<\/td>]*>(.*?)<\/td><\/tr>";
//$reg_exp="#Date# | | #JobSummary#
| #Company# | #Location# |
";
$result=preg_match_all("/$reg_exp/i", $unformatedresult, $array);
//print_r($array);
if ($results[$r]['lastresult'])
$num=$results[$r]['lastresult'];
else $num=0;
for ($i=0; $i";
echo "0: ".$results[2]['date'][0]."
";*/
//echo "
STATUS:".$results[$r]['status'].", ERROR: $error, rrrrrrr- $r
";
return @$counter;
}
print template_parse("<%include(index.template)");
?>