Revision 1702
Added by Luisehahne about 13 years ago
| class.frontend.php | ||
|---|---|---|
| 4 | 4 |
* @category framework |
| 5 | 5 |
* @package frontend |
| 6 | 6 |
* @author Ryan Djurovich, WebsiteBaker Project |
| 7 |
* @copyright 2009-2011, Website Baker Org. e.V.
|
|
| 7 |
* @copyright 2009-2012, WebsiteBaker Org. e.V.
|
|
| 8 | 8 |
* @link http://www.websitebaker2.org/ |
| 9 | 9 |
* @license http://www.gnu.org/licenses/gpl.html |
| 10 | 10 |
* @platform WebsiteBaker 2.8.x |
| ... | ... | |
| 40 | 40 |
|
| 41 | 41 |
public $page_access_denied; |
| 42 | 42 |
public $page_no_active_sections; |
| 43 |
|
|
| 43 |
|
|
| 44 | 44 |
// website settings |
| 45 | 45 |
public $website_title,$website_description,$website_keywords,$website_header,$website_footer; |
| 46 | 46 |
|
| 47 | 47 |
// ugly database stuff |
| 48 | 48 |
public $extra_where_sql, $sql_where_language; |
| 49 |
|
|
| 49 |
|
|
| 50 | 50 |
public function __construct() {
|
| 51 | 51 |
parent::__construct(SecureForm::FRONTEND); |
| 52 | 52 |
} |
| ... | ... | |
| 98 | 98 |
// Check if we should redirect or include page inline |
| 99 | 99 |
if(HOMEPAGE_REDIRECTION) {
|
| 100 | 100 |
// Redirect to page |
| 101 |
header("Location: ".$this->page_link($this->default_link));
|
|
| 102 |
exit(); |
|
| 101 |
// header("Location: ".$this->page_link($this->default_link));
|
|
| 102 |
// exit(); |
|
| 103 |
$this->send_header($this->page_link($this->default_link)); |
|
| 103 | 104 |
} else {
|
| 104 | 105 |
// Include page inline |
| 105 | 106 |
$this->page_id = $this->default_page_id; |
| ... | ... | |
| 191 | 192 |
// Page link |
| 192 | 193 |
$this->link=$this->page_link($this->page['link']); |
| 193 | 194 |
$_SESSION['PAGE_ID'] = $this->page_id; |
| 194 |
$_SESSION['HTTP_REFERER'] = $this->link; |
|
| 195 |
$bCanRedirect = ($this->visibility == 'registered' || $this->visibility == 'privat'); |
|
| 196 |
$_SESSION['HTTP_REFERER'] = $bCanRedirect != true ? $this->link : WB_URL; |
|
| 195 | 197 |
|
| 196 | 198 |
// End code to set details as either variables of constants |
| 197 | 199 |
} |
| ... | ... | |
| 226 | 228 |
// User isnt allowed on this page so tell them |
| 227 | 229 |
$this->page_access_denied=true; |
| 228 | 230 |
} |
| 229 |
|
|
| 231 |
|
|
| 230 | 232 |
} |
| 231 | 233 |
} |
| 232 | 234 |
// check if there is at least one active section |
| ... | ... | |
| 261 | 263 |
} elseif(SEARCH == 'private' AND $this->is_authenticated() == true) {
|
| 262 | 264 |
define('SHOW_SEARCH', true);
|
| 263 | 265 |
} elseif(SEARCH == 'registered' AND $this->is_authenticated() == true) {
|
| 264 |
define('SHOW_SEARCH', true);
|
|
| 266 |
define('SHOW_SEARCH', true);
|
|
| 265 | 267 |
} else {
|
| 266 | 268 |
define('SHOW_SEARCH', false);
|
| 267 | 269 |
} |
| ... | ... | |
| 286 | 288 |
* @return void |
| 287 | 289 |
* @history 100216 17:00:00 optimise errorhandling, speed, SQL-strict |
| 288 | 290 |
*/ |
| 289 |
public function preprocess(&$content) |
|
| 290 |
{
|
|
| 291 |
global $database; |
|
| 292 |
$replace_list = array(); |
|
| 293 |
$pattern = '/\[wblink([0-9]+)\]/isU'; |
|
| 294 |
if(preg_match_all($pattern,$content,$ids)) |
|
| 295 |
{
|
|
| 296 |
foreach($ids[1] as $key => $page_id) |
|
| 297 |
{
|
|
| 298 |
$replace_list[$page_id] = $ids[0][$key]; |
|
| 299 |
} |
|
| 300 |
foreach($replace_list as $page_id => $tag) |
|
| 301 |
{
|
|
| 302 |
$sql = 'SELECT `link` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.(int)$page_id; |
|
| 303 |
$link = $database->get_one($sql); |
|
| 304 |
if(!is_null($link)) |
|
| 305 |
{
|
|
| 306 |
$link = $this->page_link($link); |
|
| 307 |
$content = str_replace($tag, $link, $content); |
|
| 308 |
} |
|
| 309 |
} |
|
| 310 |
} |
|
| 311 |
} |
|
| 291 |
public function preprocess(&$content) |
|
| 292 |
{
|
|
| 293 |
// do nothing |
|
| 294 |
} |
|
| 312 | 295 |
|
| 313 |
/* |
|
| 314 |
function preprocess(&$content) {
|
|
| 315 |
global $database; |
|
| 316 |
// Replace [wblink--PAGE_ID--] with real link |
|
| 317 |
$pattern = '/\[wblink(.+?)\]/s'; |
|
| 318 |
preg_match_all($pattern,$content,$ids); |
|
| 319 |
foreach($ids[1] AS $page_id) {
|
|
| 320 |
$pattern = '/\[wblink'.$page_id.'\]/s'; |
|
| 321 |
// Get page link |
|
| 322 |
$get_link = $database->query("SELECT link FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id' LIMIT 1");
|
|
| 323 |
$fetch_link = $get_link->fetchRow(); |
|
| 324 |
$link = $this->page_link($fetch_link['link']); |
|
| 325 |
$content = preg_replace($pattern,$link,$content); |
|
| 326 |
} |
|
| 327 |
} |
|
| 328 |
*/ |
|
| 329 | 296 |
public function menu() {
|
| 330 | 297 |
global $wb; |
| 331 | 298 |
if (!isset($wb->menu_number)) {
|
| ... | ... | |
| 363 | 330 |
} |
| 364 | 331 |
$wb->show_menu(); |
| 365 | 332 |
} |
| 366 |
|
|
| 333 |
|
|
| 367 | 334 |
public function show_menu() {
|
| 368 | 335 |
global $database; |
| 369 | 336 |
if ($this->menu_start_level>0) {
|
| ... | ... | |
| 451 | 418 |
} |
| 452 | 419 |
} |
| 453 | 420 |
|
| 454 |
?> |
|
Also available in: Unified diff
! /framework/class.frontend.php
! set $_SESSION['HTTP_REFERER'] to WB_URL if menu url is a registered page
! set some header("Location:.. to new method send_header(