From aa716b0b246bb9efa678dae48c1e36a315b5e3e4 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger <fefferburbia@gmail.com> Date: Sat, 6 Sep 2008 21:14:00 +0000 Subject: Series: Started work on Series Control Refs #28 --- series/core/trunk/includes/db.php | 23 +++++ series/core/trunk/includes/instadisc.php | 43 +++++++++ series/core/trunk/includes/template.php | 160 +++++++++++++++++++++++++++++++ 3 files changed, 226 insertions(+) create mode 100644 series/core/trunk/includes/db.php create mode 100644 series/core/trunk/includes/instadisc.php create mode 100644 series/core/trunk/includes/template.php (limited to 'series/core/trunk/includes') diff --git a/series/core/trunk/includes/db.php b/series/core/trunk/includes/db.php new file mode 100644 index 0000000..6c08708 --- /dev/null +++ b/series/core/trunk/includes/db.php @@ -0,0 +1,23 @@ +<?php + +/* InstaDisc Series - A Four Island Project */ + +if (!file_exists('includes/config.php')) +{ + header('Location: install.php'); + exit; +} + +if (file_exists('install.php')) +{ + die('Excuse me, but you need to delete install.php before you can use this as leaving install.php there is a biiiig security hole.'); +} + +session_start(); + +include('includes/config.php'); + +mysql_connect($dbhost, $dbuser, $dbpass); +mysql_select_db($dbname); + +?> diff --git a/series/core/trunk/includes/instadisc.php b/series/core/trunk/includes/instadisc.php new file mode 100644 index 0000000..f67ce44 --- /dev/null +++ b/series/core/trunk/includes/instadisc.php @@ -0,0 +1,43 @@ +<?php + +/* InstaDisc Series - A Four Island Project */ + +include('includes/db.php'); +include('includes/template.php'); + +function instaDisc_subscriptionExists($id) +{ + $getsub = "SELECT * FROM subscriptions WHERE identity = \"" . mysql_real_escape_string($id) . "\""; + $getsub2 = mysql_query($getsub); + $getsub3 = mysql_fetch_array($getsub2); + if ($getsub3['identity'] != $id) + { + return 'false'; + } else { + return 'true'; + } +} + +function instaDisc_getSubscription($id) +{ + $getsub = "SELECT * FROM subscriptions WHERE identity = \"" . mysql_real_escape_string($id) . "\""; + $getsub2 = mysql_query($getsub); + $getsub3 = mysql_fetch_array($getsub2); + + return $getsub3; +} + +function instaDisc_getAllSubscriptions() +{ + $getsubs = "SELECT * FROM subscriptions"; + $getsubs2 = mysql_query($getsubs); + $i=0; + while ($getsubs3[$i] = mysql_fetch_array($getsubs2)) + { + $i++; + } + + return $getsubs3; +} + +?> diff --git a/series/core/trunk/includes/template.php b/series/core/trunk/includes/template.php new file mode 100644 index 0000000..b4ec16b --- /dev/null +++ b/series/core/trunk/includes/template.php @@ -0,0 +1,160 @@ +<?php +/* + 444444444 + 4::::::::4 + 4:::::::::4 + 4::::44::::4 + 4::::4 4::::4 Four Island + 4::::4 4::::4 + 4::::4 4::::4 Written and maintained by Starla Insigna +4::::444444::::444 +4::::::::::::::::4 includes/template.php +4444444444:::::444 + 4::::4 Please do not use, reproduce or steal the + 4::::4 contents of this file without explicit + 4::::4 permission from Hatkirby. + 44::::::44 + 4::::::::4 + 4444444444 +*/ + +class FITemplate +{ + + var $file; + var $tags; + var $blocks; + var $refs; + + function FITemplate($filename) + { + $tfn = 'theme/' . $filename . '.tpl'; + if (file_exists($tfn)) + { + $this->file = $tfn; + } else { + throw new Exception($tfn . ' does not exist'); + } + } + + function add($name, $value) + { + $this->tags[$name] = $value; + } + + function adds($tagarr) + { + foreach ($tagarr as $name => $value) + { + $this->add($name,$value); + } + } + + function adds_block($block, $tagarr) + { + if (!isset($this->blocks[$block])) + { + $this->blocks[$block] = array('count' => 1); + } + foreach ($tagarr as $name => $value) + { + $this->blocks[$block][$this->blocks[$block]['count']][$name] = $value; + } + $this->blocks[$block]['count']++; + } + + function add_ref($id, $block, $tagarr) + { + $this->adds_block($block,$tagarr); + $this->refs[$id] = &$this->blocks[$block][$this->blocks[$block]['count']-1];//'$this->blocks[\'' . $block . '\'][' . ($this->blocks[$block]['count']-1) . ']'; + } + + function adds_ref($id, $tagarr) + { + foreach ($tagarr as $name => $value) + { + $this->refs[$id][$name] = $value; + } + } + + function adds_ref_sub($id, $block, $tagarr) + { + if (!isset($this->refs[$id][$block])) + { + $this->refs[$id][$block] = array('count' => 1); + } + foreach ($tagarr as $name => $value) + { + $this->refs[$id][$block][$this->refs[$id][$block]['count']][$name] = $value; + } + $this->refs[$id][$block]['count']++; + } + + function display() + { + $template = file_get_contents($this->file); + while (preg_match('/<!--INCLUDE ([^>]*)-->/',$template) == 1) + { + preg_match('/<!--INCLUDE ([^>]*)-->/',$template,$mat); + $fname = $mat[1]; + $itmp = new FITemplate($fname); + $template = str_replace('<!--INCLUDE ' . $fname . '-->',file_get_contents($itmp->file),$template); + } + if (isset($this->tags)) + { + foreach ($this->tags as $name => $value) + { + $template = str_replace('<!--' . $name . '-->',$value,$template); + } + } + if (isset($this->blocks)) + { + foreach ($this->blocks as $bname => $block) + { + $this->parseBlock($template, $bname, $block); + } + } + while (preg_match('/<!--BEGIN ([^>]*)-->/',$template) == 1) + { + preg_match('/<!--BEGIN ([^>]*)-->/',$template,$mat); + $bname = $mat[1]; + $start = strpos($template,'<!--BEGIN ' . $bname . '-->'); + $end = strpos($template,'<!--END ' . $bname . '-->'); + $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),'',$template); + } + $template = preg_replace('/<!--([^>]*)-->/','',$template); + echo($template); + } + + function parseBlock(&$template, $bname, $block) + { + while (strpos($template,'<!--BEGIN ' . $bname . '-->') !== FALSE) + { + $start = strpos($template,'<!--BEGIN ' . $bname . '-->'); + $end = strpos($template,'<!--END ' . $bname . '-->'); + $gencont = substr($template,$start+strlen($bname)+13,$end-$start-strlen($bname)-13); + $blockcont = ''; + foreach ($block as $lname => $blocktags) + { + if ($lname != 'count') + { + $scrcont = $gencont; + foreach ($blocktags as $name => $value) + { + if (!is_array($value)) + { + $scrcont = str_replace('<!--' . $bname . '.' . $name . '-->',$value,$scrcont); + } else { + $this->parseBlock($scrcont, $bname . '.' . $name, $value); + } + } + $blockcont .= $scrcont; + } + } + $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),$blockcont,$template); + } + } + +} + +?> -- cgit 1.4.1