All pastes #951044 Raw Edit

Miscellany

public php v1 · immutable
·published 2008-03-21 00:11 UTC
rendered paste body
<?phpsession_start();zcms::init();class zcms {	static $mysql_conn;		public static function init() {		zcms::$mysql_conn = new mysqli("localhost", "zcms", "zcms", "zcms_test");		if (mysqli_connect_errno()) {			echo "<html><head><title>Database Error</title></head>";			echo "<body><font size=6 color=\"red\"><p>Database error:</p>";			echo "<p>".mysqli_connect_error()."</p>"; //Todo: replace with cryptic message			echo "</font></body></html>";			exit;		}		if (empty($_SESSION['zcms_sess']))			$_SESSION['zcms_sess'] = new zcms_session;		//Todo: Validate session here, ip, etcetera	}	static function get_articles_bydate($start, $count) {		if (! (is_numeric($start) && is_numeric($count)))			return FALSE;		$start = intval($start);		$count = intval($count);		$articles = zcms::$mysql_conn->query("SELECT * FROM zcms_infos ORDER BY info_date LIMIT ".$start.",".$count);		if (! $articles)			return FALSE;		$res = array();		while ($row = $articles->fetch_assoc()) {			$res[] = new zcms_info($row["info_id"], $row["info_date"], $row["info_type"], $row["info_title"], $row["info_category"]);		}		return $res;	}		static function htmlize_db_text($text) {		return nl2br(htmlspecialchars($text));	}}class zcms_session {	//Todo: Actually define session data}class zcms_info {	public $id; //Info ID	public $date; //Info date	public $type; //Info type, article, tip, or series	public $title; //Info title	public $category; //Info category		public function get_full_text () {		$stmt = zcms::$mysql_conn->prepare("SELECT info_fulltext FROM zcms_info_fulltext WHERE info_id = ?");		$stmt->bind_param("i",$this->id);		$stmt->bind_result($fulltext);		if (! $stmt->execute()) {			$stmt->close();			return FALSE;		}		if (! $stmt->fetch()) {			$stmt->close();			return FALSE;		}		return zcms::htmlize_db_text($fulltext);	}			public function __construct($i_id, $i_date, $i_type, $i_title, $i_category) {		if (! (is_numeric($i_id) && is_numeric($i_date) && is_numeric($i_type) && is_numeric($i_category)))			throw new Exception("ID, Date, Type, and Category are numeric");		$this->id = $i_id;		$this->date = $i_date;		$this->type = $i_type;		$this->title = $i_title;		$this->category = $i_category;	}	}class zcms_info_series extends zcms_info {	public $series_id;	public $series_seqnum;	}?>