Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ini_set('display_errors', 'On');
- error_reporting(E_ALL | E_STRICT);
- include_once("novo.incs/common.php");
- $page=isset($_REQUEST['page'])?$_REQUEST['page']:'';
- $id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0;
- if(!$id)
- {
- if($page)
- {
- $r=Page::getInstanceByName($page);
- if($r && isset($r->id))
- {
- $id=$r->id;
- }
- unset($r);
- }
- if(!$id)
- {
- $special=1;
- if(!$page)
- {
- $r=Page::getInstanceBySpecial($special);
- if($r && isset($r->id))
- {
- $id=$r->id;
- }
- unset($r);
- }
- }
- }
- if($id)
- {
- $PAGEDATA=(isset($r) && $r)? $r : Page::getInstance($id);
- }
- else
- {
- echo '404 thing goes here';
- exit;
- }
- //echo var_dump($PAGEDATA);
- require("novo.incs/header.php");
- if (isset($_SESSION['userdata']))
- {
- $PAGEDATA->body = $PAGEDATA->body."<H1> Welcome " . $_SESSION['userdata']['extras']->firstName . " " . $_SESSION['userdata']['extras']->lastName . "</H1>";
- echo $PAGEDATA->body;
- }
- else
- {
- switch ($PAGEDATA->name)
- {
- case "tests":
- break;
- default:
- echo $PAGEDATA->body;
- break;
- }
- }
- require("novo.incs/footer.php");
- <?php
- session_start();
- function myAutoloader($className)
- {
- require $className . '.php';
- }
- spl_autoload_register('myAutoloader');
- function dbInit()
- {
- if(isset($GLOBALS['db']))
- return $GLOBALS['db'];
- global $DBVARS;
- $db=new PDO('pgsql:host=[HOST PLACEHOLDER];port=[PORT PLACEHOLDER];dbname=[DB PLACEHOLDER];user=[USER PLACEHOLDER];password=[PASSWORD PLACEHOLDER]');
- $db->query('SET NAMES utf8');
- $db->num_queries=0;
- $GLOBALS['db']=$db;
- return $db;
- }
- function dbQuery($query)
- {
- $db=dbInit();
- $q=$db->query($query);
- $db->num_queries++;
- return $q;
- }
- function dbRow($query)
- {
- $q = dbQuery($query);
- return $q->fetch(PDO::FETCH_ASSOC);
- }
- function dbAll($query, $key='')
- {
- $q = dbQuery($query);
- $results = array();
- while ($r=$q->fetch(PDO::FETCH_ASSOC))
- {
- $results[] = $r;
- }
- if (!$key)
- {
- return $results;
- }
- $arr = array();
- foreach ($results as $r)
- {
- $arr[$r[$key]] = $r;
- }
- return $r;
- }
- function dbOne($query, $field='')
- {
- $r = dbRow($query);
- return $r[$field];
- }
- function dbLastInsertID()
- {
- return dbOne('select last_insert_id() as id', 'id');
- }
- define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/');
- require SCRIPTBASE . '.private/config.php';
- if(!defined('CONFIG_FILE'))
- {
- define('CONFIG_FILE',SCRIPTBASE.'.private/config.php');
- }
- set_include_path(SCRIPTBASE.'novo.classesPHP/novo.models'.PATH_SEPARATOR.get_include_path());
- set_include_path(SCRIPTBASE.'novo.classesPHP/novo.views'.PATH_SEPARATOR.get_include_path());
- <?php
- class Page
- {
- static $instances = array();
- static $instancesByName = array();
- static $instancesBySpecial= array();
- public $vars;
- function __construct($v,$byField=0,$fromRow=0,$pvq=0)
- {
- # byField: 0=ID; 1=Name; 3=special
- if(!$byField && is_numeric($v))
- { // by ID
- $r=$this->pdo->query("select * from page where id=:v limit 1");
- }
- else if($byField == 1)
- { // by name
- $name=strtolower(str_replace('-','_',$v));
- $fname='page_by_name_'.md5($name);
- $r=dbRow("select * from page where name like '".addslashes($name)."' limit 1");
- }
- else if($byField == 3 && is_numeric($v))
- { // by special
- $fname='page_by_special_'.$v;
- $r=dbRow("select * from page where special &:v limit 1");
- }
- else
- return false;
- if(!count($r || !is_array($r)))
- return false;
- if(!isset($r['id']))
- $r['id']=0;
- if(!isset($r['type']))
- $r['type']=0;
- if(!isset($r['special']))
- $r['special']=0;
- if(!isset($r['name']))
- $r['name']='NO NAME SUPPLIED';
- foreach ($r as $k=>$v)
- $this->{$k}=$v;
- $this->urlname=$r['name'];
- $this->dbVals=$r;
- self::$instances[$this->id] =& $this;
- self::$instancesByName[preg_replace('/[^a-z0-9]/','-',strtolower($this->urlname))] =& $this;
- self::$instancesBySpecial[$this->special] =& $this;
- if(!$this->vars)
- $this->vars='{}';
- $this->vars=json_decode($this->vars);
- }
- static public function getInstance($id=0,$fromRow=false,$pvq=false)
- {
- if (!is_numeric($id))
- return false;
- if (!@array_key_exists($id,self::$instances))
- self::$instances[$id]=new Page($id,0,$fromRow,$pvq);
- return self::$instances[$id];
- }
- static public function getInstanceByName($name='')
- {
- $name=strtolower($name);
- $nameIndex=preg_replace('#[^a-z0-9/]#','-',$name);
- if(@array_key_exists($nameIndex,self::$instancesByName))
- return self::$instancesByName[$nameIndex];
- self::$instancesByName[$nameIndex]=new Page($name,1);
- return self::$instancesByName[$nameIndex];
- }
- static public function getInstanceBySpecial($sp=0)
- {
- if (!is_numeric($sp))
- return false;
- if (!@array_key_exists($sp,$instancesBySpecial))
- $instancesBySpecial[$sp]=new Page($sp,3);
- return $instancesBySpecial[$sp];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement