Advertisement
Guest User

Untitled

a guest
Mar 30th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. <?php
  2.  
  3. ini_set('display_errors', 'On');
  4. error_reporting(E_ALL | E_STRICT);
  5.  
  6. include_once("novo.incs/common.php");
  7. $page=isset($_REQUEST['page'])?$_REQUEST['page']:'';
  8. $id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0;
  9.  
  10. if(!$id)
  11. {
  12. if($page)
  13. {
  14. $r=Page::getInstanceByName($page);
  15. if($r && isset($r->id))
  16. {
  17. $id=$r->id;
  18. }
  19. unset($r);
  20. }
  21.  
  22. if(!$id)
  23. {
  24. $special=1;
  25. if(!$page)
  26. {
  27. $r=Page::getInstanceBySpecial($special);
  28.  
  29. if($r && isset($r->id))
  30. {
  31. $id=$r->id;
  32. }
  33.  
  34.  
  35. unset($r);
  36. }
  37. }
  38. }
  39.  
  40.  
  41. if($id)
  42. {
  43. $PAGEDATA=(isset($r) && $r)? $r : Page::getInstance($id);
  44. }
  45.  
  46. else
  47. {
  48. echo '404 thing goes here';
  49. exit;
  50. }
  51. //echo var_dump($PAGEDATA);
  52. require("novo.incs/header.php");
  53. if (isset($_SESSION['userdata']))
  54. {
  55. $PAGEDATA->body = $PAGEDATA->body."<H1> Welcome " . $_SESSION['userdata']['extras']->firstName . " " . $_SESSION['userdata']['extras']->lastName . "</H1>";
  56. echo $PAGEDATA->body;
  57. }
  58. else
  59. {
  60. switch ($PAGEDATA->name)
  61. {
  62. case "tests":
  63. break;
  64.  
  65. default:
  66. echo $PAGEDATA->body;
  67. break;
  68. }
  69. }
  70.  
  71. require("novo.incs/footer.php");
  72.  
  73. <?php
  74. session_start();
  75.  
  76. function myAutoloader($className)
  77. {
  78. require $className . '.php';
  79. }
  80.  
  81. spl_autoload_register('myAutoloader');
  82.  
  83. function dbInit()
  84. {
  85. if(isset($GLOBALS['db']))
  86. return $GLOBALS['db'];
  87.  
  88. global $DBVARS;
  89. $db=new PDO('pgsql:host=[HOST PLACEHOLDER];port=[PORT PLACEHOLDER];dbname=[DB PLACEHOLDER];user=[USER PLACEHOLDER];password=[PASSWORD PLACEHOLDER]');
  90. $db->query('SET NAMES utf8');
  91. $db->num_queries=0;
  92. $GLOBALS['db']=$db;
  93.  
  94. return $db;
  95. }
  96.  
  97. function dbQuery($query)
  98. {
  99. $db=dbInit();
  100. $q=$db->query($query);
  101. $db->num_queries++;
  102.  
  103. return $q;
  104. }
  105.  
  106. function dbRow($query)
  107. {
  108. $q = dbQuery($query);
  109.  
  110. return $q->fetch(PDO::FETCH_ASSOC);
  111. }
  112.  
  113. function dbAll($query, $key='')
  114. {
  115. $q = dbQuery($query);
  116. $results = array();
  117. while ($r=$q->fetch(PDO::FETCH_ASSOC))
  118. {
  119. $results[] = $r;
  120. }
  121.  
  122. if (!$key)
  123. {
  124. return $results;
  125. }
  126.  
  127. $arr = array();
  128.  
  129. foreach ($results as $r)
  130. {
  131. $arr[$r[$key]] = $r;
  132. }
  133.  
  134. return $r;
  135. }
  136.  
  137. function dbOne($query, $field='')
  138. {
  139. $r = dbRow($query);
  140. return $r[$field];
  141. }
  142.  
  143. function dbLastInsertID()
  144. {
  145. return dbOne('select last_insert_id() as id', 'id');
  146. }
  147.  
  148. define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/');
  149.  
  150. require SCRIPTBASE . '.private/config.php';
  151.  
  152. if(!defined('CONFIG_FILE'))
  153. {
  154. define('CONFIG_FILE',SCRIPTBASE.'.private/config.php');
  155. }
  156.  
  157. set_include_path(SCRIPTBASE.'novo.classesPHP/novo.models'.PATH_SEPARATOR.get_include_path());
  158. set_include_path(SCRIPTBASE.'novo.classesPHP/novo.views'.PATH_SEPARATOR.get_include_path());
  159.  
  160. <?php
  161. class Page
  162. {
  163. static $instances = array();
  164. static $instancesByName = array();
  165. static $instancesBySpecial= array();
  166.  
  167. public $vars;
  168.  
  169. function __construct($v,$byField=0,$fromRow=0,$pvq=0)
  170. {
  171. # byField: 0=ID; 1=Name; 3=special
  172. if(!$byField && is_numeric($v))
  173. { // by ID
  174. $r=$this->pdo->query("select * from page where id=:v limit 1");
  175.  
  176. }
  177.  
  178. else if($byField == 1)
  179. { // by name
  180. $name=strtolower(str_replace('-','_',$v));
  181. $fname='page_by_name_'.md5($name);
  182. $r=dbRow("select * from page where name like '".addslashes($name)."' limit 1");
  183. }
  184.  
  185. else if($byField == 3 && is_numeric($v))
  186. { // by special
  187. $fname='page_by_special_'.$v;
  188. $r=dbRow("select * from page where special &:v limit 1");
  189. }
  190.  
  191. else
  192. return false;
  193.  
  194. if(!count($r || !is_array($r)))
  195. return false;
  196.  
  197. if(!isset($r['id']))
  198. $r['id']=0;
  199.  
  200. if(!isset($r['type']))
  201. $r['type']=0;
  202.  
  203. if(!isset($r['special']))
  204. $r['special']=0;
  205.  
  206. if(!isset($r['name']))
  207. $r['name']='NO NAME SUPPLIED';
  208.  
  209. foreach ($r as $k=>$v)
  210. $this->{$k}=$v;
  211.  
  212. $this->urlname=$r['name'];
  213. $this->dbVals=$r;
  214.  
  215. self::$instances[$this->id] =& $this;
  216. self::$instancesByName[preg_replace('/[^a-z0-9]/','-',strtolower($this->urlname))] =& $this;
  217. self::$instancesBySpecial[$this->special] =& $this;
  218.  
  219. if(!$this->vars)
  220. $this->vars='{}';
  221.  
  222. $this->vars=json_decode($this->vars);
  223. }
  224.  
  225.  
  226. static public function getInstance($id=0,$fromRow=false,$pvq=false)
  227. {
  228. if (!is_numeric($id))
  229. return false;
  230.  
  231. if (!@array_key_exists($id,self::$instances))
  232. self::$instances[$id]=new Page($id,0,$fromRow,$pvq);
  233.  
  234. return self::$instances[$id];
  235. }
  236.  
  237. static public function getInstanceByName($name='')
  238. {
  239. $name=strtolower($name);
  240. $nameIndex=preg_replace('#[^a-z0-9/]#','-',$name);
  241.  
  242. if(@array_key_exists($nameIndex,self::$instancesByName))
  243. return self::$instancesByName[$nameIndex];
  244.  
  245. self::$instancesByName[$nameIndex]=new Page($name,1);
  246.  
  247. return self::$instancesByName[$nameIndex];
  248. }
  249.  
  250. static public function getInstanceBySpecial($sp=0)
  251. {
  252. if (!is_numeric($sp))
  253. return false;
  254.  
  255. if (!@array_key_exists($sp,$instancesBySpecial))
  256. $instancesBySpecial[$sp]=new Page($sp,3);
  257.  
  258. return $instancesBySpecial[$sp];
  259. }
  260. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement