[44] | 1 | <?php
|
---|
| 2 | class PBA extends BDPRSS2
|
---|
| 3 | {
|
---|
| 4 |
|
---|
| 5 | // Redefine the output function by wrapping the old output function
|
---|
| 6 | function outputwrapper($pba_calling_paras=1){
|
---|
| 7 | //when called with a single number, we understand output id is meant
|
---|
| 8 | $numargs = func_num_args();
|
---|
| 9 | if(!is_array($pba_calling_paras) && $numargs > 0) {
|
---|
| 10 | if(preg_match('/^([0-9]+)$/', $pba_calling_paras)) {
|
---|
| 11 | $pba_calling_paras_tmp=$pba_calling_paras;
|
---|
| 12 | $pba_calling_paras=array();
|
---|
| 13 | $pba_calling_paras['outputid']=$pba_calling_paras_tmp;
|
---|
| 14 | }
|
---|
| 15 | }
|
---|
| 16 |
|
---|
| 17 | $pbaout['debug'] .= "\n<br>Debug: using new outputwrapper from class PBA extending BDPRSS2";
|
---|
| 18 | $pbaout['profiler']['Start of outputwrapper']=microtime();
|
---|
| 19 |
|
---|
| 20 | //global objects
|
---|
| 21 | global $bdprss_db, $bdprss_search;
|
---|
| 22 |
|
---|
| 23 | //quick - time is money - to answer questions:
|
---|
| 24 | //do we want the plugin to show anything at all?
|
---|
| 25 | //do we need to shutdown wordpress after outputwrapper was called?
|
---|
| 26 | //what to do - we expect parameter array containing output id, but just have $post
|
---|
| 27 | //can we cache parameter bootstrap?
|
---|
| 28 |
|
---|
| 29 | $resultparas=PBALIB::bootstrap_parameters($pba_calling_paras);
|
---|
| 30 |
|
---|
| 31 | if(!is_array($resultparas)){ //fix sidebar and box displaying and detection of correct output page later?
|
---|
| 32 | $pbaout['shutdown']=false;
|
---|
| 33 | $pbaout['result']=false;
|
---|
| 34 | return $pbaout;
|
---|
| 35 | }
|
---|
| 36 |
|
---|
| 37 | //check for redirect - fix me later, this would be much better placed in the library and use the resultparas calculated before
|
---|
| 38 | if($resultparas['short_cache_link']){
|
---|
| 39 | $redirect_debug=false;
|
---|
| 40 | $exp2match="'" . get_option('home') . "/([a-zA-Z0-9-]+)/(index.php)?\?searchphrase=([a-zA-Z0-9-+%_]+)'s";
|
---|
| 41 | if($redirect_debug) echo "<br/>exp2match: " . $exp2match;
|
---|
| 42 | $request="http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
---|
| 43 | if($redirect_debug) echo "<br>request_uri: " . $request;
|
---|
| 44 | preg_match($exp2match, $request, $matches);
|
---|
| 45 | if($redirect_debug) echo "<br>matches: " . PBALIB::get_r($matches);
|
---|
| 46 | if(isset($matches[1]) && isset($matches[3])){
|
---|
| 47 | $searchstring=str_replace("_","%5F",$matches[3]);
|
---|
| 48 | $searchstring=str_replace("+","_",$searchstring);
|
---|
| 49 | $searchstring=urlencode(str_replace("/","_",urldecode($searchstring)));
|
---|
| 50 | $redirect = get_option('home') . '/' . $matches[1] . "/s/" . $searchstring . "/";
|
---|
| 51 | if($redirect_debug) echo "<br/>redirect: " . $redirect;
|
---|
| 52 | //header("Location: " . $redirect);
|
---|
| 53 | //exit;
|
---|
| 54 | $pbaout['redirect']=true;
|
---|
| 55 | $pbaout['result']=$redirect;
|
---|
| 56 | return $pbaout;
|
---|
| 57 | }
|
---|
| 58 | } // end checking for redirect
|
---|
| 59 |
|
---|
| 60 | //checkpoint parameter bootstrap finished
|
---|
| 61 | //the one and only result from all lines before this point shall be the resultparas array
|
---|
| 62 | //which has exactly the same keys as the default parameter array
|
---|
| 63 | //but we also got pbaout debug and pbaout profiler
|
---|
| 64 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['End of parameter bootstrap']=microtime();
|
---|
| 65 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: resultparas at checkpoint parameter bootstrap finished: " . PBALIB::get_r($resultparas);
|
---|
| 66 |
|
---|
| 67 | if($resultparas['pba_full_cache_time'] > 0) {
|
---|
| 68 | $fullcache=@PBALIB::pba_cache($resultparas, $dummy, 'get', 'full', 'mixed', $resultparas['pba_full_cache_time'], 'OK');
|
---|
| 69 | if($fullcache[1]) {
|
---|
| 70 | $profilertmp = $pbaout['profiler'];
|
---|
| 71 | $pbaout = $fullcache[0];
|
---|
| 72 | $pbaout['profiler'] = $profilertmp;
|
---|
| 73 | if($resultparas["profiler_enabled"]) {
|
---|
| 74 | $pbaout['profiler']['Got full cache']=microtime();
|
---|
| 75 | $pbaout['profiler']=PBALIB::process_profiler($pbaout['profiler']);
|
---|
| 76 | }
|
---|
| 77 | return $pbaout;
|
---|
| 78 | }
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | //let's do some calculations based on these parameters not producing output
|
---|
| 82 | //but just producing more parameters, that shall make us living more easy later :-)
|
---|
| 83 |
|
---|
| 84 | //calculate displayonlybox parameter - this is only a temporary solution and shall be removed later
|
---|
| 85 | //and unset all other displayonly, makeonly and feedlistrequest parameters
|
---|
| 86 | //lot's of parameter junk avoided
|
---|
| 87 | if($resultparas['opmlrequest'] == true || $resultparas['opmlrequest'] == 'Y'){
|
---|
| 88 | $resultparas['displayonlybox']='opml_box';
|
---|
| 89 | }elseif($resultparas['feedlistrequest'] == true || $resultparas['feedlistrequest'] == 'Y'){
|
---|
| 90 | $resultparas['displayonlybox']='feedlist_box';
|
---|
| 91 | }elseif(strlen($resultparas['displayonlybox'])>1){
|
---|
| 92 | //displayonlybox parameter is used, we will not care for more displayonly and makeonly parameters
|
---|
| 93 | true; //no need to unset display only and makeonly values here, unset a few rows later anyway
|
---|
| 94 | }elseif($resultparas['displayonlykalender'] == 'Y'){
|
---|
| 95 | if($resultparas['kalender_as_box']){
|
---|
| 96 | $resultparas['displayonlybox']='kalender_box';
|
---|
| 97 | }else{
|
---|
| 98 | $resultparas['displayonlybox']='kalenderlist_box';
|
---|
| 99 | }
|
---|
| 100 | }else{
|
---|
| 101 | true; //no need to unset here, anyway done in next lines, unset($resultparas['displayonlybox']);
|
---|
| 102 | }
|
---|
| 103 | unset($resultparas['displayonlykalender']);
|
---|
| 104 | unset($resultparas['displayonlysearchbox']);
|
---|
| 105 | unset($resultparas['makeonlyfeedlist']);
|
---|
| 106 | unset($resultparas['feedlistrequest']);
|
---|
| 107 | unset($resultparas['opmlrequest']);
|
---|
| 108 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: Displayonlybox calculated: " . PBALIB::get_r($resultparas['displayonlybox']);
|
---|
| 109 |
|
---|
| 110 | //generally available system constants
|
---|
| 111 | $resultparas["now"]=date('r');
|
---|
| 112 |
|
---|
| 113 | //quickly calculate some href values for global navigation -
|
---|
| 114 | //these might be used in boxes and anywhere else in templates
|
---|
| 115 |
|
---|
| 116 | //calculate some more global href values
|
---|
| 117 | //uses $resultparas['feedrequest'], $resultparas['feedpage'],
|
---|
| 118 | //$resultparas['srequri'], $resultparas['baseurl'], $resultparas['short_cache_link']
|
---|
| 119 | //$resultparas['searchphrase'], $resultparas['archivdate']
|
---|
| 120 |
|
---|
| 121 | //calculate the href to the feedalized version of this page
|
---|
| 122 | $resultparas['feedhref']= PBALIB::makefeedhref($resultparas);
|
---|
| 123 |
|
---|
| 124 | if($resultparas['feedrequest']){
|
---|
| 125 | $resultparas['htmlhref']= PBALIB::makehtmlhref($resultparas);
|
---|
| 126 | }
|
---|
| 127 |
|
---|
| 128 | //calculate the href to the feedlist and opml for this page - where is output_id and list_id?
|
---|
| 129 | $resultparas['feedlisthref']= PBALIB::makefeedlisthref($resultparas);
|
---|
| 130 | $resultparas['feedopmlhref']= PBALIB::makefeedopmlhref($resultparas);
|
---|
| 131 |
|
---|
| 132 | //link to kalender start page makedatepagehref($thedate="", &$resultparas, $regardkalenderlinkpart=false, $forcekalender=false)
|
---|
| 133 | $resultparas['kalenderhref']=PBALIB::makedatepagehref("", $resultparas, false, true);
|
---|
| 134 |
|
---|
| 135 | //what page template was requested with this output function call?
|
---|
| 136 | //let's find out $resultparas['pagetype'], $resultparas['template']
|
---|
| 137 |
|
---|
| 138 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before analyze pagetype']=microtime();
|
---|
| 139 |
|
---|
| 140 | $pagetype=PBALIB::analysepagetype($resultparas);
|
---|
| 141 | $resultparas['pagetype']=$pagetype['pagetype'];
|
---|
| 142 | $resultparas['template']=$pagetype['template'];
|
---|
| 143 | $pbaout['error'].=$pagetype['error'];
|
---|
| 144 |
|
---|
| 145 | //$resultparas['pagetype'] is now one of these: 'tickerpage'; 'searchpage'; 'datepage'; 'startpage'; 'feedpage'; 'feedsearchpage'; 'feeddatepage'; 'cachepage'; 'kalpage'; 'feedlistpage'; 'opmlpage'; 'nopage'; 'errorpage';
|
---|
| 146 | //$resultparas['template'] is one of these: ticker, feed, cache, kalender, $resultparas['displayonlybox']
|
---|
| 147 | //or a pseudotemplate for boxonlyrequests: kalender_box, kalenderlist_box, search_box, feedlistsidebar_box
|
---|
| 148 | //or error if we can't find out
|
---|
| 149 |
|
---|
| 150 | if($resultparas['template'] == 'feed'
|
---|
| 151 | || $resultparas['template'] == 'feedlist_box'
|
---|
| 152 | || $resultparas['template'] == 'opml_box'
|
---|
| 153 | ) $pbaout['shutdown'] = true;
|
---|
| 154 |
|
---|
| 155 | //calculate resultparas rawtemplate to understand which boxes we will have to build
|
---|
| 156 | if($resultparas['pagetype']=='nopage') {
|
---|
| 157 | $resultparas['rawtemplate'] = '###' . strtoupper($resultparas['template']) . '###';
|
---|
| 158 | } elseif(strlen($resultparas['template'])>0) {
|
---|
| 159 | //to do: this shall come via resultparas from db later
|
---|
| 160 | $resultparas['rawtemplate'] = $resultparas['template_' . $resultparas['template']];
|
---|
| 161 | }
|
---|
| 162 | if(!isset($resultparas['rawtemplate'])){
|
---|
| 163 | //to do: this shall come via resultparas from db later
|
---|
| 164 | $resultparas['rawtemplate'] = $resultparas['template_error'];
|
---|
| 165 | $pbaout['error'].= "Something went wrong with page type detection and template assignment:" . $resultparas['template'];
|
---|
| 166 | }
|
---|
| 167 |
|
---|
| 168 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: Before analyze needed boxes: pagetype: " . PBALIB::get_r($pagetype) . " Raw Template: " . $resultparas['rawtemplate'];
|
---|
| 169 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before analyze needed boxes']=microtime();
|
---|
| 170 |
|
---|
| 171 | //now we can analyze our rawtemplate
|
---|
| 172 | //do we need boxes? which boxes do we need?
|
---|
| 173 | // we have the following boxes:
|
---|
| 174 | //1. search_box, 2. kalender_box, 3. kalenderlist_box, 4. feedlistsidebar_box, 5. sendfeedpermail_box - uh missing, but should be here
|
---|
| 175 |
|
---|
| 176 | //ask config if to change this list, remove boxes, which are forbidden by config, add those explicitely required by config
|
---|
| 177 | $resultparas['rawtemplate'] .= $resultparas['forceboxmaking'];
|
---|
| 178 |
|
---|
| 179 | $boxesneeded=PBALIB::analyze_needed_elements($resultparas['rawtemplate'], '_BOX');
|
---|
| 180 | $resultparas["boxesneeded"]=$boxesneeded['result'];
|
---|
| 181 |
|
---|
| 182 |
|
---|
| 183 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: Detected needed boxes: " . PBALIB::get_r($resultparas["boxesneeded"]);
|
---|
| 184 | //now we know which boxes we need and can make them
|
---|
| 185 | if(is_array($resultparas["boxesneeded"])){
|
---|
| 186 | //no array means no box to make
|
---|
| 187 | foreach($resultparas["boxesneeded"] as $boxtomake => $dummy){
|
---|
| 188 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before making ' . $boxtomake]=microtime();
|
---|
| 189 | $box[$boxtomake]=PBALIB::makebox($boxtomake, $resultparas, $pbaout);
|
---|
| 190 | //if($resultparas["profiler_enabled"]) $pbaout['profiler']=array_merge($pbaout['profiler'], $box[$boxtomake]['profiler']);
|
---|
| 191 | }
|
---|
| 192 | } //end if(is_array($resultparas["boxesneeded"]))
|
---|
| 193 |
|
---|
| 194 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: Box making done. box: " . PBALIB::get_r($box);
|
---|
| 195 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Box making done']=microtime();
|
---|
| 196 |
|
---|
| 197 | if($resultparas["debug"]) $pbaout['debug1'] .= "\n<br>See my box collection: " . PBALIB::get_r($box);
|
---|
| 198 | //process boxes, shall be much earlier? why pbaout?
|
---|
| 199 | if(is_array($box)){
|
---|
| 200 | foreach($box as $boxname => $boxvalue){
|
---|
| 201 | if($boxvalue['result']) $pbaout[$boxname] = $boxvalue['result'];
|
---|
| 202 | }
|
---|
| 203 | }
|
---|
| 204 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['After copying boxes to pbaout']=microtime();
|
---|
| 205 |
|
---|
| 206 | if($resultparas['displayonlybox']){
|
---|
| 207 | $pbaout['result']=$box[$resultparas['displayonlybox']]['result'];
|
---|
| 208 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: We exit here, because box making done and resultparas['displayonlybox']: " . $resultparas['displayonlybox'];
|
---|
| 209 | if($resultparas["profiler_enabled"]) $pbaout['profiler']=PBALIB::process_profiler($pbaout['profiler']);
|
---|
| 210 | return $pbaout;
|
---|
| 211 | }
|
---|
| 212 |
|
---|
| 213 | //to be completed - sensible input and prevent system outpage due to misconfiguration
|
---|
| 214 | if( $resultparas['maxitems'] > $resultparas['maxitemslimit']
|
---|
| 215 | || $resultparas['maxitems'] == 0 || $resultparas['maxitems'] == 'N'
|
---|
| 216 | ) $resultparas['maxitems'] = $resultparas['maxitemslimit'];
|
---|
| 217 |
|
---|
| 218 | //calculate some basic parameters like used in old output routine
|
---|
| 219 | //start parameter for db query from tickerpage and maxitems
|
---|
| 220 | $resultparas['start']=($resultparas['tickerpage']-1) * $resultparas['maxitems'];
|
---|
| 221 |
|
---|
| 222 | //disable social bookmarks for search results - more conditions for disabling? where to do it best?
|
---|
| 223 | if($resultparas['searchphrase'] !="") $resultparas['add_social_bookmarks']="N";
|
---|
| 224 |
|
---|
| 225 | //checkpoint all resultparas calculated - better name would be: before main loop
|
---|
| 226 | // here are all input resultparas calculated, no more resultparas changing after this line. exception: gettheage set's it's array resultparameter on first call
|
---|
| 227 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['All resultparas calculated']=microtime();
|
---|
| 228 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: resultparas at checkpoint all resultparas calculated: " . PBALIB::get_r($resultparas);
|
---|
| 229 |
|
---|
| 230 | //use new output routine
|
---|
| 231 | //when not a kalender request, - onlybox requests exited already - let's query the ids, for kalender request we need completely diffrent handling
|
---|
| 232 | if($resultparas['pagetype']!='errorpage' && $resultparas['pagetype']!= 'kalpage' && !$resultparas['displayonlybox']){
|
---|
| 233 | //prepare some basic values - may be do better later, when explicitely requested?
|
---|
| 234 |
|
---|
| 235 | // prepare the acceptable tags - it's constant per output id, so it could be made already when storing the output config !!!
|
---|
| 236 | $resultparas['formattedtagset']=PBALIB::processtagset($resultparas['tagset']);
|
---|
| 237 |
|
---|
| 238 | //set parameters depending on formattype
|
---|
| 239 | //possible formattypes: 'countrecentitem', 'daterecentitem', 'sitealpha', 'siteupdate'
|
---|
| 240 |
|
---|
| 241 | if($resultparas['formattype']=='daterecentitem') $resultparas['fromtimestamp'] = time() - $resultparas['daterecentitemthreshold'];
|
---|
| 242 | if($resultparas['formattype']=='siteupdate') $resultparas['opsfilter']=true;
|
---|
| 243 | if($resultparas['formattype']=='sitealpha') {
|
---|
| 244 | $resultparas['opsfilter']=true;
|
---|
| 245 | $resultparas['orderbysitename']=true;
|
---|
| 246 | $resultparas['fromtimestamp'] = time() - $resultparas['sitealphathreshold'];
|
---|
| 247 | }
|
---|
| 248 |
|
---|
| 249 | global $bdprsssearchdebug;
|
---|
| 250 | $bdprsssearchdebug=false;
|
---|
| 251 | //parameter site ids and parameter feed not used so far
|
---|
| 252 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before search4items']=microtime();
|
---|
| 253 | $id_result = $bdprss_search->bdprss_search4items($resultparas['searchphrase'], $resultparas['start'], $resultparas['maxitems'], false, $resultparas['listid'], $resultparas['archivdate'], "", $resultparas['fromtimestamp'], $resultparas['totimestamp'], $resultparas['opsfilter'], $resultparas['orderbysitename'], $resultparas['cacheid']);
|
---|
| 254 | $bdprsssearchdebug=false;
|
---|
| 255 | global $found_tickeritems;
|
---|
| 256 | $pbaout['founditems']=$found_tickeritems;
|
---|
| 257 | $pbaout['startitem']=$resultparas['start'] + 1;
|
---|
| 258 | if($found_tickeritems == 0) $pbaout['startitem'] = "0";
|
---|
| 259 | $pbaout['lastitem']=min($found_tickeritems,$resultparas['start']+$resultparas['maxitems']);
|
---|
| 260 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: we got an item id list from the search engine: " . PBALIB::get_r($id_result);
|
---|
| 261 |
|
---|
| 262 | //calculate last page and next page href
|
---|
| 263 | if($resultparas['tickerpage']>1) {
|
---|
| 264 | $pbaout['lastpageexists']=true;
|
---|
| 265 | $pbaout['lastpage']=$resultparas['tickerpage'] - 1;
|
---|
| 266 | $pbaout['lastpagehref']=PBALIB::makelastpagehref($pbaout['lastpage'], $resultparas);
|
---|
| 267 | }
|
---|
| 268 |
|
---|
| 269 | if($pbaout['lastitem'] < $pbaout['founditems']) {
|
---|
| 270 | $pbaout['nextpageexists']=true;
|
---|
| 271 | $pbaout['nextpage']=$resultparas['tickerpage'] + 1;
|
---|
| 272 | $pbaout['nextpagehref']=PBALIB::makenextpagehref($pbaout['nextpage'], $resultparas);
|
---|
| 273 | }
|
---|
| 274 |
|
---|
| 275 | //get the real row data
|
---|
| 276 | //to do better would be to have row wise query in while loop
|
---|
| 277 | if($id_result){
|
---|
| 278 |
|
---|
| 279 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before getsitenitems']=microtime();
|
---|
| 280 | $itemset = $bdprss_db->getsitenitems(&$id_result, $resultparas['orderbysitename']);
|
---|
| 281 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: we got result from the item table: " . PBALIB::get_r($itemset);
|
---|
| 282 |
|
---|
| 283 | //might be sensible to make programmer interface to give out original db row results as option?
|
---|
| 284 | //$pbaout['rawrowdata']=$itemset;
|
---|
| 285 |
|
---|
| 286 |
|
---|
| 287 | //now let's loop through the data rows and format them
|
---|
| 288 | if($itemset){
|
---|
| 289 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['Before formatting items']=microtime();
|
---|
| 290 |
|
---|
| 291 | if($resultparas['pagetype']!='cachepage') {
|
---|
| 292 | $itemtemplate=PBALIB::preprocess_itemtemplate($resultparas);
|
---|
| 293 | }else{
|
---|
| 294 | $footertemplate=PBALIB::preprocess_headertemplate(&$resultparas, &$pbaout, true);
|
---|
| 295 | $itemtemplate=$footertemplate;
|
---|
| 296 | }
|
---|
| 297 | $itemvaluesneeded=PBALIB::analyze_needed_elements($itemtemplate);
|
---|
| 298 | if($resultparas['cacheid']>0) $itemtemplate ="";
|
---|
| 299 | if($resultparas["debug"]) $pbaout['debug'] .= "\n<br>Debug: we need to calculate the following item values: " . PBALIB::get_r($itemvaluesneeded);
|
---|
| 300 | foreach($itemset as $resultrownumber => $item) {
|
---|
| 301 | if($resultparas["profiler_enabled"] > 1) $pbaout['profiler']['Before formatitem ' . $resultrownumber]=microtime();
|
---|
| 302 | $formatteditem = PBALIB::formatitem($item, $resultparas, $itemtemplate, $resultrownumber, $itemvaluesneeded['result']);
|
---|
| 303 | if(!$resultparas['cacheid']>0) $pbaout['body'] .= $formatteditem['result']; //cache page made in footer!!!
|
---|
| 304 | if($resultparas["debug"]) $pbaout['debug'] .= $formatteditem['debug'];
|
---|
| 305 | $pbaout['firstitem_datefeed'] .= $formatteditem['firstitem_datefeed'];
|
---|
| 306 | }
|
---|
| 307 | if($resultparas["profiler_enabled"]) $pbaout['profiler']['After formatting items']=microtime();
|
---|
| 308 | } // end if itemset, to do: fine error output, when no row found
|
---|
| 309 | } //end if($id_result), to do: fine error output, when no row found
|
---|
| 310 |
|
---|
| 311 | } //end if (!$resultparas['kalreq'] && !$resultparas['displayonlybox'])
|
---|
| 312 |
|
---|
| 313 |
|
---|
| 314 | if(!$resultparas['cacheid']>0) $formatteditem = false; // we need these items only for cache displaying
|
---|
| 315 | //make a header
|
---|
| 316 | if(!$resultparas['cacheid']>0 && !$resultparas['kalreq'] && !$resultparas['displayonlybox']
|
---|
| 317 | && !($resultparas['suppressheaderonpage1'] == 'Y' && $resultparas['pagetype'] == 'startpage')
|
---|
| 318 | ) {
|
---|
| 319 | $headertemplate=PBALIB::preprocess_headertemplate(&$resultparas, &$pbaout);
|
---|
| 320 | $formattedheader = PBALIB::formatheader($resultparas, $pbaout, false, false, $headertemplate);
|
---|
| 321 | $pbaout['header'] = $formattedheader['result'];
|
---|
| 322 | if($resultparas["debug"]) $pbaout['debug'] .= $formattedheader['debug'];
|
---|
| 323 | }
|
---|
| 324 |
|
---|
| 325 | //make a footer
|
---|
| 326 | if(!$resultparas['displayonlybox']) {
|
---|
| 327 | if(!$footertemplate) $footertemplate=PBALIB::preprocess_headertemplate(&$resultparas, &$pbaout, true);
|
---|
| 328 | $formattedfooter = PBALIB::formatheader($resultparas, $pbaout, true, $formatteditem, $footertemplate);
|
---|
| 329 | $pbaout['footer'] = $formattedfooter['result'];
|
---|
| 330 | if($resultparas["debug"]) $pbaout['debug'] .= $formattedfooter['debug'];
|
---|
| 331 | }
|
---|
| 332 |
|
---|
| 333 | //some more output
|
---|
| 334 | $pbaout['searchphrase']=$resultparas['searchphrase'];
|
---|
| 335 | $pbaout['archivdate']=$resultparas['archivdate'];
|
---|
| 336 | $pbaout['feedhref']=$resultparas['feedhref'];
|
---|
| 337 | $pbaout['feedlisthref']=$resultparas['feedlisthref'];
|
---|
| 338 | $pbaout['feedopmlhref']=$resultparas['feedopmlhref'];
|
---|
| 339 | $pbaout['kalreq']=$resultparas['kalreq'];
|
---|
| 340 | $pbaout['cacheid']=$resultparas['cacheid'];
|
---|
| 341 |
|
---|
| 342 | $pbaout['result']=$pbaout['header'] . $pbaout['body'] . $pbaout['footer'];
|
---|
| 343 | if(strlen($pbaout['error']) >0) $pbaout['result'] .= str_replace('###ERRORMESSAGE###', $pbaout['error'], $resultparas['template_error']);
|
---|
| 344 | if($resultparas["profiler_enabled"]) $pbaout['profiler']=PBALIB::process_profiler($pbaout['profiler']);
|
---|
| 345 |
|
---|
| 346 | if($resultparas['pba_full_cache_time'] > 0) {
|
---|
| 347 | $pba_cachereturn=PBALIB::pba_cache($fullcache[0], $pbaout, 'write', 'full', 'mixed', 0, 'OK');
|
---|
| 348 | if($resultparas["debug"] && $pba_cachereturn) $pbaout['debug'] .= "\n<br>Wrote cache: full";
|
---|
| 349 | }
|
---|
| 350 |
|
---|
| 351 | return $pbaout;
|
---|
| 352 | } // end of new output function
|
---|
| 353 |
|
---|
| 354 | }
|
---|
| 355 |
|
---|
| 356 | require_once(dirname(__FILE__) . '/pba_output_library.php');
|
---|
| 357 | ?> |
---|