All pastes #629725 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-07-22 16:47 UTC
rendered paste body
<?php

/**
 * @author Froobe.co.uk - Ryan
 * @copyright 2007
 * @license XK12-KLSA-SHA9
 * @name News Panel
 * 
 */

/**
 * MySQL query stuff, just to make it easy
 */

class sql_connect
{
	
	function sql_login( $username, $password, $sever, $database )
	{
		
		if( !@mysql_connect( $sever, $username, $password) && !@mysql_selectdb( $database ) )
		{
			
			header( "Location: error.php?id=1001" );
			
		} else {
			
			mysql_connect( $sever, $username, $password );
			
			mysql_selectdb( $database );
			
		}
		
		if( !@mysql_connect( $sever, $username, $password ) )
		{
			
			header( "Location: error.php?id=1002" );
			
			
		} else {
			
			mysql_connect( $sever, $username, $password );
			
		}
		
		if( !@mysql_selectdb( $database ) )
		{
			
			header( "Location: error.php?id=1003" );			
					
		} else {
					
			mysql_selectdb( $database );
			
		}
		
	}
	
}

class sql
{
	
	function sql_fetch( $string )
	{
		
		$new_string = mysql_fetch_array( mysql_query ( $string ) );
		
		return $new_string;
		
	}
	
	function sql_string ( $fetch )
	{
		
			echo $new_string["$fetch"];
			
	}
	
	function sql_num( $string )
	{
		
			$new_string = mysql_num_rows( mysql_query( $string ) );
		
			return $new_string;
				
	}
	
	function error ( $errorcode, $error )
	{
		
		html::create_main( "default", "sql_error", "", "", $errorcode, $error );
	}
	
}

/**
 * Get all the details etc
 */
 
class details
{
	
	function get_title( )
	{
		
		$title = sql::sql_fetch( "SELECT * FROM `details`");
		
		return $title["title"];
		
	}
	
	function get_name ( )
	{
		$name = sql::sql_fetch( "SELECT * FROM `details`" );
		
		return $name["name"];
	}
	
	function get_nav ( )
	{
		$sql = mysql_query( "SELECT * FROM `nav`" );
		
		while( $nav = mysql_fetch_array( $sql ) )
		{
			$string .= '<a href="' . $nav["link"] . '.php">' . $nav["name"] . '</a><br />
			';
		}
		
		return $string;
	}

	function get_templates ( )
	{
		$sql = mysql_query( "SELECT * FROM `templates`" );
		
		while( $result = mysql_fetch_array( $sql ) )
		{
			$string .= '<a href="index.php?template=' . $result["name"] . '">' . $result["name"] . '</a><br />
			';
		}
		
		return $string;
	}
	
	function set_template ( $template )
	{
		if( $template )
		{
			$_SESSION['template'] = $template;
			return $_SESSION['template'];
		}
		else
		{
			$template = sql::sql_fetch("SELECT * FROM `templates` WHERE `default` = 'yes'");
			$_SESSION['template'] = $template["name"];
			return $_SESSION['template'];
		}
	}
}

/**
 * Login
 */
 
class login
{
	
	function log( $username, $password )
	{
		
		if( isset( $username ) && isset( $password ) )
		{
			
			$sql = mysql_query( "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'");
			
			if( mysql_num_rows( $sql ) == 1 )
			{
				
				$_SESSION["username"] = $username;
				// Contine your sessions here
				
			}
			
		}
		
	}
	
	function login_check( $username, $password ) // This is to check if a user is logged in on the top of the page
	{
		
		if( isset( $username ) && isset( $password ) ) // This will work! USE: login::login_check( $_SESSION["username"]) etc
		{
			
			$sql = mysql_query( "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'");
			
			if( mysql_num_rows( $sql ) == "1" )
			{
				return true;
			} else
			{
				return false;
			}
						
		}
	}
	
}

/**
* Cleaning functions
* Made by Dan!
*/

class cleaning
{
	function clean( $string )
	{
		$string = str_replace( "\"", "", $string );
		$string = nl2br( $string );
		$string = htmlentities( $string );
		$words = array( "UNION",
						"SELECT FROM",
						"ORDER BY",
						"INSERT INTO",
						"TRUNCATE",
						"DROP TABLE",
						"CREATE TABLE",
						"DROP DATABASE" ); // All the queries we want to stop
		$string = preg_replace( "/$words/i", "", $string );
	}
	
	function encode( $string )
	{
		$string = md5( $string );
		$string = sha1( $string );
		return $string;
	}
}

/**
 * News..
 */
 
class news
{
	function display_news( $field, $type = null )
	{
		if( $type == null )
		{
			$sql = mysql_query( "SELECT MAX(id) AS total FROM `news`" );
			
			while( $result = mysql_fetch_array( $sql ) ) 
			{
				$id = $result['total'];
			}
			
			$ok = mysql_query( "SELECT * FROM `news` WHERE `id` = '{$id}'");
			
			$news = mysql_fetch_array( $ok );
			
			if( mysql_num_rows( $ok ) == 1 )
			{
				if( $field == "news" )
				{
					if( strlen( $news["news"] ) > "315" )
					{
						return $news["$field"] . "</p> <div class=\"postbreak\"></div>";
					} else
					{
						return $news["$field"] . "</p> <br /><br /><div class=\"postbreak\"></div>";
					}
				} else
				{
					return $news["$field"];
				}
			}
			
		}
		elseif( $type == "1" )
		{
			$sql = mysql_query( "SELECT MAX(id) AS total FROM `news`" );
			
			while( $result = mysql_fetch_array( $sql ) ) 
			{
				$id = $result['total'] - 1;
			}
			
			$ok = mysql_query( "SELECT * FROM `news` WHERE `id` = '{$id}'");
			
			$news = mysql_fetch_array( $ok );
			
			if( mysql_num_rows( $ok ) == 1 )
			{
				if( $field == "news" )
				{
					if( strlen( $news["news"] ) > "315" )
					{
						return $news["$field"] . "</p> <div class=\"postbreak\"></div>";
					} else
					{
						return $news["$field"] . "</p> <br /><br /><div class=\"postbreak\"></div>";
					}
				} else
				{
					return $news["$field"];
				}
			}
				
		}
		elseif( $type == "2" )
		{
			$sql = mysql_query( "SELECT MAX(id) AS total FROM `news`" );
			
			while( $result = mysql_fetch_array( $sql ) ) 
			{
				$id = $result['total'] - 2;
			}
			
			$ok = mysql_query( "SELECT * FROM `news` WHERE `id` = '{$id}'");
			
			$news = mysql_fetch_array( $ok );
			
			if( mysql_num_rows( $ok ) == 1 )
			{
				if( $field == "news" )
				{
					if( strlen( $news["news"] ) > "315" )
					{
						return $news["$field"] . "</p> <div class=\"postbreak\"></div>";
					} else
					{
						return $news["$field"] . "</p> <br /><br /><div class=\"postbreak\"></div>";
					}
				} else
				{
					return $news["$field"];
				}
			}
		
		}
	}

	function display_news_id( $field, $id )
	{
			
		$ok = mysql_query( "SELECT * FROM `news` WHERE `id` = '{$id}'");
			
		$news = mysql_fetch_array( $ok );
		
		if( mysql_num_rows( $ok ) == 1 )
		{
			if( $field == "news" )
			{
				return $news["$field"] . "</p> <div class=\"postbreak\"></div>";
			} else
			{
				return $news["$field"];
			}
		}
	}
}

/**
 * The date and time stuff
 */

class date_time
{
	function get_time ( )
	{
		$checkdst = date ( "I" );
		$date = gmdate( "H:i:s" );
		if( $checkdst == 1 )
		{
			$splittime = split( ":", $date );
			$hour = $splittime[0] + 1;
			if( $hour > 23)  // Are we at 11pm (E.g, is it reporting 24:00 instead of 23:00)
			{
				$hour = "00";
			}
			$newdate = $hour . ":" . $splittime[1] . ":". $splittime[2];
			return ( "Time (onload):" . symbols::space( ) . $newdate );
		}
		else
		{
			return ( "Time (onload):" . symbols::space( ) . $date );
		}
   }
}
/**
 * HTML Bits
 */
 
class html
{
	
	function create_header( $dir )
	{
		return ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="' . details::get_name( ) . '">

<title>' . details::get_title( ) . '</title>
<style type="text/css">
	.error
	{
		font-family: "Trebuchet MS", Verdana;
		font-size: 12px;
	}
</style>
<link rel="stylesheet" href="' . $url . '/templates/' . $dir . '/style.css" type="text/css" />
</head>
<body>
' );
	}

/**
 * This template system is off phpfreaks.com - thanks!
 */
	function create_main ( $template, $page, $view = null, $id = null )
	{
		if( $view != "admin" )
		{
			require( "inc/template_core.php" );
		} else
		{
			require( "../inc/template_core.php" );
		}

		$tplObj = new tplSys( "./" );

    	if( $view != "admin" ) // Now you see, we have to do this as I dont want the list getting to populated. I was bored.
    	{
       		$tplObj->getFile( array(
    	    $page => 'templates/' . $template . '/' . $page . '.tpl',
			)
   		 	);
			require( "inc/config.php" );
			$tplObj->varRef( $page, array( 
			'TITLE' => news::display_news( "title" ),
			'TITLE1' => news::display_news( "title", "1" ),
			'TITLE2' => news::display_news( "title", "2" ),
			'TITLE_ID' => news::display_news_id( "title", $id ),
			'SUB_TITLE' => news::display_news( "subtitle" ),
			'SUB_TITLE1' => news::display_news( "subtitle", "1" ),
			'SUB_TITLE2' => news::display_news( "subtitle", "2" ),
			'SUB_TITLE_ID' => news::display_news_id( "subtitle", $id ),
			'POSTED_BY' => news::display_news( "posted_by"),
			'POSTED_BY1' => news::display_news( "posted_by", "1"),
			'POSTED_BY2' => news::display_news( "posted_by", "2"),
			'POSTED_BY_ID' => news::display_news_id( "postedby", $id ),
			'AUTHOR' => news::display_news( "author" ),
			'AUTHOR1' => news::display_news( "author", "1" ),
			'AUTHOR2' => news::display_news( "author", "2" ),
			'AUTHOR_ID' => news::display_news_id( "author", $id ),
			'NEWS' => news::display_news( "news" ),
			'NEWS1' => news::display_news( "news", "1" ),
			'NEWS2' => news::display_news( "news", "2" ),
			'NEWS_ID' => news::display_news_id( "news", $id ),
			'NEWS_TIME' => news::display_news( "time" ),
			'NEWS_TIME1' => news::display_news( "time", "1" ),
			'NEWS_TIME2' => news::display_news( "time", "2" ),
			'NEWS_TIME_ID' => news::display_news_id( "time", $id ),
			'URL' => $url . "/view/" . news::display_news( "id" ),
			'URL1' => $url . "/view/" . news::display_news( "id", "1" ),
			'URL2' => $url . "/view/" . news::display_news( "id", "2" ),
			'NAVIGATION' => "Navigation Links",
			'NAME' => details::get_name( ),
			'HTML_TITLE' => details::get_title( ),
			'STYLE' => "templates/" . $template . "/style.css",
			'COPYRIGHT' => html::create_footer( ),
			'BANNER' => details::get_name( ),
			'TIME' => date_time::get_time( ),
			'SKIN' => details::get_templates( ),
			'LINKS' => details::get_nav( )
			)
			);
	    	$tplObj->parseDynamic( $page ); 
		} else
		{
       		$tplObj->getFile( array(
    	    $page => '../templates/' . $template . '/admin/' . $page . '.tpl',
			)
   		 	);
			$tplObj->varRef( $page, array( 
			'TITLE' => news::display_news( "title" ),
			'NAVIGATION' => "Navigation Links",
			'CONTENT' => "sup dude",
			'STYLE' => "../templates/" . $template . "/admin/style.css",
			'NEWS_TIME' => news::display_news( "time" ),
			'POSTED_BY' => news::display_news( "posted_by"),
			'BANNER' => details::get_name( ),
			'TIME' => date_time::get_time( ),
			'COPYRIGHT' => html::create_footer( ),			
			'LINKS' => details::get_nav( )
			)
			);
	    	$tplObj->parseDynamic( $page ); 			
		}
	}

	function create_footer( )
	{
		return ('
<div class="copyright"> Copyright ' . symbols::symbol( "copyright" ) . symbols::space( ) . date( "Y" ) . ', ' . details::get_name( ) . '
<br />
Powered by Froobe News Panel
</div>
</div>
</body>
</html>');
	}
	
	function br( )
	{
		echo ("
		<br />
		");
	}
	
}

/**
 * Symbols
 */

class symbols
{
	function space ( ) // If you cant be bothered to add . " " . again...
	{
		return " ";
	}
	function symbol( $type )
	{
		if( isset( $type ) == "copyright" )
		{
			return "©";
		}
	// More to be added..
	}
}
?>