X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=02c37a93f126b91da56851b954059514467adf23;hb=aff4f63ff8e005bb3ce1d726405fd6d5d2dcfa60;hp=70280fc02cde9b8c9c00b8ece100f7d1ff1393b7;hpb=1270243d8090fa4795475d29a918602f037cd86a;p=friendica.git diff --git a/boot.php b/boot.php index 70280fc02c..02c37a93f1 100644 --- a/boot.php +++ b/boot.php @@ -21,13 +21,15 @@ class App { public $page; public $profile; public $user; + public $cid; + public $contact; public $content; public $error = false; public $cmd; public $argv; public $argc; public $module; - + public $pager; private $scheme; private $hostname; private $path; @@ -37,6 +39,7 @@ class App { $this->config = array(); $this->page = array(); + $this->pager= array(); $this->scheme = ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'])) ? 'https' : 'http' ); @@ -48,9 +51,9 @@ class App { if(substr($_SERVER['QUERY_STRING'],0,2) == "q=") $_SERVER['QUERY_STRING'] = substr($_SERVER['QUERY_STRING'],2); -// $this->cmd = trim($_SERVER['QUERY_STRING'],'/'); $this->cmd = trim($_GET['q'],'/'); + $this->argv = explode('/',$this->cmd); $this->argc = count($this->argv); if((array_key_exists('0',$this->argv)) && strlen($this->argv[0])) { @@ -59,6 +62,10 @@ class App { else { $this->module = 'home'; } + $this->pager['page'] = ((x($_GET,'page')) ? $_GET['page'] : 1); + $this->pager['itemspage'] = 50; + $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage']; + $this->pager['total'] = 0; } function get_baseurl($ssl = false) { @@ -72,6 +79,15 @@ class App { $this->path = ltrim(trim($p),'/'); } + function set_pager_total($n) { + $this->pager['total'] = intval($n); + } + function set_pager_itemspage($n) { + $this->pager['itemspage'] = intval($n); + $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage']; + + } + function init_pagehead() { if(file_exists("view/head.tpl")) $s = file_get_contents("view/head.tpl"); @@ -175,7 +191,9 @@ function notags($string) { // The PHP built-in tag escape function has traditionally been buggy if(! function_exists('escape_tags')) { function escape_tags($string) { - return(str_replace(array("<",">","&"), array('<','>','&'), $string)); + return(str_replace( + array('&', '"', "'", '<', '>'), + array('&', '"', ''', '<', '>'), $string)); }} if(! function_exists('login')) { @@ -310,4 +328,118 @@ function notice($s) { $_SESSION['sysmsg'] .= $s; -}} \ No newline at end of file +}} + + +if(! function_exists('xmlify')) { +function xmlify($str) { + $buffer = ''; + + for($x = 0; $x < strlen($str); $x ++) { + $char = $str[$x]; + + switch( $char ) { + + case "\r" : + break; + case "&" : + $buffer .= '&'; + break; + case "'" : + $buffer .= '''; + break; + + case "\"" : + $buffer .= '"'; + break; + case '<' : + $buffer .= '<'; + break; + case '>' : + $buffer .= '>'; + break; + case "\n" : + $buffer .= ' '; + break; + default : + $buffer .= $char; + break; + } + } + $buffer = trim($buffer); + return($buffer); +}} + +function unxmlify($s) { + $ret = str_replace('&','&', $s); + $ret = str_replace(array('<','>','"','''),array('<','>','"',"'"),$ret); + return $ret; +} + +function hex2bin($s) { + return(pack("H*",$s)); +} + + +function paginate(&$a) { + $o = ''; + $stripped = ereg_replace("(&page=[0-9]*)","",$_SERVER['QUERY_STRING']); + $stripped = str_replace('q=','',$stripped); + $stripped = trim($stripped,'/'); + $url = $a->get_baseurl() . '/' . $stripped; + + + if($a->pager['total'] > $a->pager['itemspage']) { + $o .= '
'; + if($a->pager['page'] != 1) + $o .= ''."pager['page'] - 1).'">prev '; + + $o .= "first "; + + $numpages = $a->pager['total'] / $a->pager['itemspage']; + + $numstart = 1; + $numstop = $numpages; + + if($numpages > 14) { + $numstart = (($pagenum > 7) ? ($pagenum - 7) : 1); + $numstop = (($pagenum > ($numpages - 7)) ? $numpages : ($numstart + 14)); + } + + for($i = $numstart; $i <= $numstop; $i++){ + if($i == $a->pager['page']) + $o .= ''.(($i < 10) ? ' '.$i : $i); + else + $o .= "".(($i < 10) ? ' '.$i : $i).""; + $o .= ' '; + } + + if(($a->pager['total'] % $a->pager['itemspage']) != 0) { + if($i == $a->pager['page']) + $o .= ''.(($i < 10) ? ' '.$i : $i); + else + $o .= "".(($i < 10) ? ' '.$i : $i).""; + $o .= ' '; + } + + $lastpage = (($numpages > intval($numpages)) ? intval($numpages)+1 : $numpages); + $o .= "last "; + + if(($a->pager['total'] - ($a->pager['itemspage'] * $a->pager['page'])) > 0) + $o .= ''."pager['page'] + 1).'">next'; + $o .= '
'."\r\n"; + } + return $o; +} + +function expand_acl($s) { + + if(strlen($s)) { + $a = explode('<',$s); + for($x = 0; $x < count($a); $x ++) { + $a[$x] = intval(str_replace(array('<','>'),array('',''),$a[$x])); + } + return $a; + } + return array(); +}