View Single Post
(#6)
jomasaco Offline
 
Posts: 21
Join Date: May 2010
02-17-2011, 04:50 PM

Code:
<?php
/*BEGIN_INFO
Show the downloads for an specific site.<br />
Show the sitename<br />
Show the arrowup
END_INFO*/
if(!defined("WCDDL_GUTS"))
	exit;
	    $modEnabled = true; //Change to false if don't use
    if($modEnabled) {	
    	$add = array('SiteRankAdmin' => "Rank Sites");
    $core->admin_links = array_merge($core->admin_links, $add);
function sendemail($row, $rate) {
	global $core;
$from = $core->adminemail;
$from_name = $core->sitename;
// subject
$subject = 'Congratulations '.$row['surl'].' Rank '.$rate.'';
// message
$message = 'Hi, today we re-rate the sites, your site '.$row['sname'].' are rank '.$rate.'
 Remember the ranks are based only on downloads number, continue submitting every day
  or other site gets your place.
 If isn\'t yet on your site our button please add today, can find him on our submit page.
 '.$core->siteurl.'/submit.php
 Can also check your downloads here
 '.$core->siteurl.'/site/'.$row['surl'].'
 Thanks.';
// Mail it
$mail_sent = @mail($row['mail'],$subject,$message,"From: ".$from_name." <".$from.">");
echo $mail_sent ? "<br />Mail sent '".$row['mail']."'" : "Mail failed "; 
}
    		 if(isset($_GET['site'])) {
			$core->site = $_GET['site'];
			if (preg_match('#^[A-Z0-9.-]+\.[A-Z]{2,4}$#i', $core->site)) {
			$core->siteSQL = mysql_real_escape_string($core->site);
		}
		  $core->siteSURL = $core->processURL($core->site);
		  $core->sqlOrder = "views DESC"; //order the downloads list by views, comment if want to show by date
		}
function siteDownloads($where) {
	global $core;	 
		$sid = mysql_query("SELECT id FROM wcddl_sites WHERE url = '".$core->siteSQL."'");
		if(!mysql_num_rows($sid)) {
		unset($core->siteSURL);
		return $where;
		} else { 
		$sid = mysql_result($sid,0);
		if(empty($where))
			$where = " WHERE sid = ".$sid;
		else
			$where = " AND sid = ".$sid;
	return $where;
}
}
$core->attachDataHook("fetchDownloadsSQLWhere","siteDownloads");
/*Show the sitename
if doubled replace by arrowup
show the rank
*/
$lastSiteData = "";
function lastSiteData($download) {
	global $lastSiteData,$core;
	if(empty($download) || !isset($download['title']) || !isset($download['sname']) || !isset($download['surl']))
		return $download;
	if($download['surl'] == $lastSiteData)
	$download['siteLink'] = '<center><img src="/images/arrowup.gif"></center>';
	else
		//$download['siteLink'] = '<center><a href="index.php?site='.$download['surl'].'" target="_blank" title="'.$download['sname'].'">'.$download['sname'].' <img src="'.$core->siteurl.'images/'.$download['rate'].'.gif" alt="'.$download['rate'].'" title="Site Rank '.$download['rate'].'"/></a></center>';
				$download['siteLink'] = '<center><a href="'.$core->siteurl.'site/'.$download['surl'].'" target="_blank" title="'.$download['sname'].'">'.$download['sname'].' <img src="/images/'.$download['rate'].'.png" alt="'.$download['rate'].'" title="Site Rank '.$download['rate'].'" border="0"/></a></center>';
				//<img src="./images/rank/'.$download['rate'].'.gif" alt="'.$download['rate'].'" title="Site Rank '.$download['rate'].'"/></a></center>';
	$lastSiteData = $download['surl'];
	return $download;
}
$core->attachDataHook("fetchDownloadsRow","lastSiteData");
function SiteRankAdmin() { ///administration to rank sites
	global $core;
		// the form to rate sites	 isn't perfect can be better	
		 		echo '<form action="" method="post">
	<input type="submit" value="Rate-Sites" name="Rsites">
</form>';
//
			if(isset($_POST['Rsites']))
			$rsites = $_POST['Rsites'];
		 if(isset($rsites)) {
        $found = mysql_num_rows(mysql_query("SELECT distinct sid FROM wcddl_downloads"));
        mysql_query("UPDATE wcddl_sites SET rating = 0");
$get5percent = mysql_query("SELECT COUNT(title) AS number , sid FROM wcddl_downloads GROUP BY sid 
ORDER BY number DESC LIMIT 0,".round($found / 100 * 5)."");
echo "<center><b>RANK 5 *****</b></center>";
while ($got = mysql_fetch_array($get5percent)) {
             $site = mysql_query("SELECT name as sname,url as surl, email as mail from wcddl_sites WHERE id = '".$got['sid']."'");
             $site = mysql_fetch_assoc($site);
             $row = array_merge($site,$got);
$get5percentup = mysql_query("UPDATE wcddl_sites SET rating= 5 where id = '".$row['sid']."'");
//sendemail($row, $rate="5");
$rank5 ++;
echo $row['sname'].' - '. $row['surl'].'<br />'; }
$get10percent = mysql_query("SELECT COUNT(title) AS number , sid FROM wcddl_downloads GROUP BY sid 
ORDER BY number DESC LIMIT ".round($found / 100 * 5).",".round($found / 100 * 10)."");
echo "<center><b>RANK 4 ****</b></center>";
while ($got = mysql_fetch_array($get10percent)) {
             $site = mysql_query("SELECT name as sname,url as surl, email as mail from wcddl_sites WHERE id = '".$got['sid']."'");
             $site = mysql_fetch_assoc($site);
             $row = array_merge($site,$got);
$get10percentup = mysql_query("UPDATE wcddl_sites SET rating= 4 where url = '".$row['surl']."'");
//sendemail($row, $rate="4");
$rank4 ++;
 }
$get25percent = mysql_query("SELECT COUNT(title) AS number , sid FROM wcddl_downloads GROUP BY sid 
ORDER BY number DESC LIMIT ".round($found / 100 * 10).",".round($found / 100 * 25)."");
echo "<center><b>RANK 3 ***</b></center>";
while ($got = mysql_fetch_array($get25percent)) {
	$site = mysql_query("SELECT name as sname,url as surl, email as mail from wcddl_sites WHERE id = '".$got['sid']."'");
  $site = mysql_fetch_assoc($site);
  $row = array_merge($site,$got);
$get25percentup = mysql_query("UPDATE wcddl_sites SET rating= 3 where url = '".$row['surl']."'");
//sendemail($row, $rate="3");
$rank3 ++;
}
$get50percent = mysql_query("SELECT COUNT(title) AS number , sid FROM wcddl_downloads GROUP BY sid 
ORDER BY number DESC LIMIT ".round($found / 100 * 25).",".round($found / 100 * 50)."");
echo "<center><b>RANK 2 **</b></center>";
/*while ($got = mysql_fetch_array($get50percent)) {
	$site = mysql_query("SELECT name as sname,url as surl, email as mail from wcddl_sites WHERE id = '".$got['sid']."'");
  $site = mysql_fetch_assoc($site);
  $row = array_merge($site,$got);
$get50percentup = mysql_query("UPDATE wcddl_sites SET rating= 2 where url = '".$row['surl']."'");
if($row['surl'] == "devilswarez.org") {
sendemail($row, $rate="2");
}
}*/
while ($got = mysql_fetch_array($get50percent)) {
$get50percentup = mysql_query("UPDATE wcddl_sites SET rating= 2 where id = '".$got['sid']."'");
$rank2 ++;
}
$get75percent = mysql_query("SELECT COUNT(title) AS number , sid FROM wcddl_downloads GROUP BY sid 
ORDER BY number DESC LIMIT ".round($found / 100 * 50).",".round($found / 100 * 75)."");
echo "<center><b>RANK 1 *</b></center>";
/*while ($got = mysql_fetch_array($get75percent)) {
	$site = mysql_query("SELECT name as sname,url as surl, email as mail from wcddl_sites WHERE id = '".$got['sid']."'");
  $site = mysql_fetch_assoc($site);
  $row = array_merge($site,$got);
$get75percentup = mysql_query("UPDATE wcddl_sites SET rating= 1 where url = '".$row['surl']."'");
sendemail($row, $rate="1");
}*/
while ($got = mysql_fetch_array($get75percent)) {
$get75percentup = mysql_query("UPDATE wcddl_sites SET rating= 1 where id = '".$got['sid']."'");
$rank1 ++;
}
echo '<br />'.$found .'TOTAL SITES<br />';
echo $rank1.' Sites ranked 1<br />';
echo $rank2.' Sites ranked 2<br />';
echo $rank3.' Sites ranked 3<br />';
echo $rank4.' Sites ranked 4<br />';
echo $rank5.' Sites ranked 5<br />';
echo '<div align="center" style="color:green;">All Sites Rated</div>';
		 } elseif(!isset($rsites)) {	//show the list
$sort = "DESC";
if(isset($_GET["sort"]) && !empty($_GET["sort"])) {
$sort = ($_GET["sort"]=="ASC") ? "DESC" : "ASC";
}
if( isset($_GET["orderBy"]) && !empty($_GET["orderBy"]) ) {
switch ($_GET["orderBy"]) {
  case id:
      $order = " ORDER by id $sort";
      break;
  case name:
      $order = " ORDER BY name $sort";
      break;
  case url:
      $order = " ORDER BY url $sort";
      break;
  case email:
      $order = " ORDER BY email $sort";
      break;
  case rank:
      $order = " ORDER BY rating $sort";
      break;        
  default:
      $order = " ORDER by rating $sort";
      break;
 }
}
	$adjacents = 3;
  $query1 = "SELECT COUNT(id) as num FROM wcddl_sites";
	$total_pages = mysql_fetch_array(mysql_query($query1));
	$total_pages = $total_pages[num];
	$targetpage = '?go='.$core->go.'&orderBy='.$_GET["orderBy"].'&sort='.$_GET["sort"].''; 	//your file name  (the name of this file)
	$page = $_GET['page'];
	if($page) 
		$core->pg = ($page - 1) * $core->limit; //first item to display on this page
	else
		$core->pg = 0; //if no page var is given, set start to 0
            //Get the data
            $query = mysql_query("SELECT * FROM wcddl_sites".$order." LIMIT ".$core->pg.",".$core->limit);
            if ($page == 0) $page = 1;					//if no page var is given, default to 1.
	$prev = $page - 1;							//previous page is page - 1
	$next = $page + 1;							//next page is page + 1
	$lastpage = ceil($total_pages/$core->limit);		//lastpage is = total pages / items per page, rounded up.
	$lpm1 = $lastpage - 1;						//last page minus 1
	$pagination = "";
	if($lastpage > 1)
	{	
		$pagination .= "<div class=\"pagination\">$total_pages - Sites<br />";
		//previous button
		if ($page > 1) 
			$pagination.= "<a href=\"$targetpage&page=$prev\">« previous</a>";
		else
			$pagination.= "<span class=\"disabled\">« previous</span>";	
		//pages	
		if ($lastpage < 7 + ($adjacents * 2))	//not enough pages to bother breaking it up
		{	
			for ($counter = 1; $counter <= $lastpage; $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage&page=$counter\">$counter</a>";					
			}
		}
		elseif($lastpage > 5 + ($adjacents * 2))	//enough pages to hide some
		{
			//close to beginning; only hide later pages
			if($page < 1 + ($adjacents * 2))		
			{
				for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage&page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage&page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage&page=$lastpage\">$lastpage</a>";		
			}
			//in middle; hide some front and some back
			elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
			{
				$pagination.= "<a href=\"$targetpage&page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage&page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage&page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage&page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage&page=$lastpage\">$lastpage</a>";		
			}
			//close to end; only hide early pages
			else
			{
				$pagination.= "<a href=\"$targetpage&page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage&page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage&page=$counter\">$counter</a>";					
				}
			}
		}	
		//next button
		if ($page < $counter - 1) 
			$pagination.= "<a href=\"$targetpage&page=$next\">next »</a>";
		else
			$pagination.= "<span class=\"disabled\">next »</span>";
		$pagination.= "</div>\n";		
	}
	switch($_GET['go']) {
case "SiteRankAdmin":
echo '<table width="100%" border="0">
<tr><td><a href="?go='.$core->go.'&orderBy=id&sort='.$sort.'"><b>ID</b></a></td>
<td><a href="?go='.$core->go.'&orderBy=name&sort='.$sort.'"><b>Sitename</b></a></td>
<td><a href="?go='.$core->go.'&orderBy=url&sort='.$sort.'"><b>URL</b></a></td>
<td><a href="?go='.$core->go.'&orderBy=email&sort='.$sort.'"><b>Email</b></a></td>
<td><a href="?go='.$core->go.'&orderBy=rank&sort='.$sort.'"><b>Rank</b></a></td>
<td><b>Downloads</b></td></tr>';
while($row = mysql_fetch_assoc($query)) {
	$totil = mysql_num_rows(mysql_query("SELECT id FROM wcddl_downloads Where sid = ".$row['id']));
echo '<tr>
<td>'.$row['id'].'</td>
<td><a href="?go=SiteRankAdminEdit&id='.$row['id'].'">'.$row['name'].'</a></td>
<td><a href="http://'.$row['url'].'" target ="_blank">'.$row['url'].'</a></td>
<td><a href="mailto:'.$row['email'].'">'.$row['email'].'</a></td>
<td>'.$row['rating'].'</td>
<td>'.$totil.'</td>
</tr>';
}
echo '</table>'.$pagination;
break;
case "SiteRankAdminEdit":
if(!isset($_GET['id']))
$msg = 'No ID site set!';
else {
$id = intval($_GET['id']);
if($id < 1)
$msg = 'Invalid site ID given!';
else {
$exists = mysql_query("SELECT * FROM wcddl_sites WHERE id = ".$id);
$exists = mysql_result($exists,0);
if($exists < 1)
$msg = 'Site does not exist!';
else {
$query = mysql_query("SELECT * FROM wcddl_sites WHERE id = ".mysql_real_escape_string($id));
$query = mysql_fetch_assoc($query);
$getit = mysql_query("SELECT count(id) as number FROM wcddl_downloads WHERE sid = '".mysql_real_escape_string($id)."'"); //change 10 to many you want
$site = mysql_fetch_assoc($getit);
$site_data = array_merge($site,$query);
$whitelist = mysql_query("SELECT COUNT(0) FROM wcddl_whitelist WHERE url = '".mysql_real_escape_string($site_data['url'])."'");
$whitelis = mysql_result($whitelist, 0);
if($whitelis > 0)
$white = '<img src="http://cyberskins.info/images/ok.png" title="Site Whitelisted"> Whitelisted';
$blacklist = mysql_query("SELECT COUNT(0) FROM wcddl_blacklist WHERE url = '".mysql_real_escape_string($site_data['url'])."'");
$blacklis = mysql_result($blacklist, 0);
if($blacklis > 0)
$black = '<img src="http://cyberskins.info/images/dead.png" title="Site Blacklisted"> Blacklisted';
if($site_data !== false){ // Make sure we have download
echo '<table width="100%">
<form method="post" action="?go=SiteRankAdminSave&id='.$site_data['id'].'">
<input type="hidden" name="update" value="true" />
<tr><td>Site name</td><td><input type="text" name="name"
value="'.$site_data['name'].'" />'.$white.$black.'</td></tr>
<tr><td>Site url</td><td><input type="text" name="url"
value="'.$site_data['url'].'" /><a href="/index.php?site='.$site_data['url'].'" target="_blank">Check Site Downloads</a></td></tr>
<tr><td>Site email</td><td><input type="text" name="email"
value="'.$site_data['email'].'" /><a href="mailto:'.$site_data['email'].'">Contact Him</a></td></tr>
<tr><td>Site Rank</td><td><input type="text" name="rate"
value="'.$site_data['rating'].'" /></td></tr>
<tr><td>Downloads</td><td><input type="text" name="downloads"
value="'.$site_data['number'].'" readonly="readonly"></td></tr>
<tr><td colspan="2"><input type="submit" value="Update" /></td></tr>
</form>
<tr><td><a href="?go=SiteRankAdmin">Go back to editor!</a></tr></td>
</table>';
}
}
}
}
break;
case 'SiteRankAdminSave':
$id = intval($_GET['id']);
if($id > 0 && isset($_POST)){
$query = "UPDATE wcddl_sites SET name = '%s', url = '%s', email = '%s', rating = '%s' WHERE id = %d";
$query = sprintf($query,mysql_real_escape_string($_POST['name']),mysql_real_escape_string($_POST['url'])
,mysql_real_escape_string($_POST['email']),mysql_real_escape_string($_POST['rate']),(int)$id);
$check = @mysql_query($query);
if($check === false){
echo 'For some reason we was unable to update the database! no changes were made';
}else{
echo '('.$_POST["name"].') Updated!, <a href="?go=SiteRankAdmin">Go back to editor!</a>';
}
}else{
echo 'There was an error, please make sure you came here for the edit form<br />';
}
break;
default:
return true;
break;
}
echo $msg;
}
}
$core->attachHook("adminFunctions","SiteRankAdmin");
}
?>

Last edited by jomasaco; 02-17-2011 at 04:57 PM.