]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
more cleanup - start on ajax
[friendica.git] / boot.php
index 70280fc02cde9b8c9c00b8ece100f7d1ff1393b7..5efa9a24f4dd625a59e782505f0a41e399717e4d 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -21,22 +21,27 @@ 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;
+       private $baseurl;
        private $db;
 
        function __construct() {
 
                $this->config = array();
                $this->page = array();
+               $this->pager= array();
 
                $this->scheme = ((isset($_SERVER['HTTPS']) 
                                && ($_SERVER['HTTPS'])) ?  'https' : 'http' );
@@ -48,9 +53,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,19 +64,52 @@ 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) {
-               
-               return (($ssl) ? 'https' : $this->scheme) . "://" . $this->hostname
+               if(strlen($this->baseurl))
+                       return $this->baseurl;
+
+               $this->baseurl = (($ssl) ? 'https' : $this->scheme) . "://" . $this->hostname
                        . ((isset($this->path) && strlen($this->path)) 
                        ? '/' . $this->path : '' );
+               return $this->baseurl;
+       }
+
+       function set_baseurl($url) {
+               $this->baseurl = $url;
+       }
+
+       function get_hostname() {
+               return $this->hostname;
+       }
+
+       function set_hostname($h) {
+               $this->hostname = $h;
        }
 
        function set_path($p) {
                $this->path = ltrim(trim($p),'/');
        } 
 
+       function get_path() {
+               return $this->path;
+       }
+
+       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");
@@ -172,10 +210,10 @@ function notags($string) {
        return(str_replace(array("<",">","\xBA","\xBC","\xBE"), array('[',']','','',''), $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('&lt;','&gt;','&amp;'), $string));
+
+       return(htmlspecialchars($string));
 }}
 
 if(! function_exists('login')) {
@@ -279,7 +317,7 @@ function goaway($s) {
 
 if(! function_exists('xml_status')) {
 function xml_status($st) {
-       header( "Content-type: text/xml");
+       header( "Content-type: text/xml" );
        echo '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
        echo "<result><status>$st</status></result>\r\n";
        killme();
@@ -310,4 +348,123 @@ function notice($s) {
 
        $_SESSION['sysmsg'] .= $s;
 
-}}
\ No newline at end of file
+}}
+
+if(! function_exists('get_max_import_size')) {
+function get_max_import_size() {
+       global $a;
+       return ((x($a->config,'max_import_size')) ? $a->config['max_import_size'] : 0 );
+}}
+
+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 .= '&amp;';
+                               break;
+                       case "'" :
+                               $buffer .= '&apos;';
+                               break;
+
+                       case "\"" :
+                               $buffer .= '&quot;';
+                               break;
+                       case '<' :
+                               $buffer .= '&lt;';
+                               break;
+                       case '>' :
+                               $buffer .= '&gt;';
+                               break;
+                       case "\n" :
+                               $buffer .= ' ';
+                               break;
+                       default :
+                               $buffer .= $char;
+                               break;
+               }       
+       }
+       $buffer = trim($buffer);
+       return($buffer);
+}}
+
+function unxmlify($s) {
+       $ret = str_replace('&amp;','&', $s);
+       $ret = str_replace(array('&lt;','&gt;','&quot;','&apos;'),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 .= '<div class="pager">';
+               if($a->pager['page'] != 1)
+                       $o .= '<span class="pager_prev">'."<a href=\"$url".'&page='.($a->pager['page'] - 1).'">prev</a></span> ';
+
+               $o .=  "<span class=\"pager_first\"><a href=\"$url"."&page=1\">first</a></span> ";
+
+               $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 .= '<span class="pager_current">'.(($i < 10) ? '&nbsp;'.$i : $i);
+                       else
+                               $o .= "<span class=\"pager_n\"><a href=\"$url"."&page=$i\">".(($i < 10) ? '&nbsp;'.$i : $i)."</a>";
+                       $o .= '</span> ';
+               }
+
+               if(($a->pager['total'] % $a->pager['itemspage']) != 0) {
+                       if($i == $a->pager['page'])
+                               $o .= '<span class="pager_current">'.(($i < 10) ? '&nbsp;'.$i : $i);
+                       else
+                               $o .= "<span class=\"pager_n\"><a href=\"$url"."&page=$i\">".(($i < 10) ? '&nbsp;'.$i : $i)."</a>";
+                       $o .= '</span> ';
+               }
+
+               $lastpage = (($numpages > intval($numpages)) ? intval($numpages)+1 : $numpages);
+               $o .= "<span class=\"pager_last\"><a href=\"$url"."&page=$lastpage\">last</a></span> ";
+
+               if(($a->pager['total'] - ($a->pager['itemspage'] * $a->pager['page'])) > 0)
+                       $o .= '<span class="pager_next">'."<a href=\"$url"."&page=".($a->pager['page'] + 1).'">next</a></span>';
+               $o .= '</div>'."\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();
+}