50 |
50 |
$include_head_link_css = '';
|
51 |
51 |
$include_body_links = '';
|
52 |
52 |
$include_head_links = '';
|
53 |
|
|
|
53 |
// workout to included frontend.css, fronten.js and frontend_body.js in snippets
|
54 |
54 |
$query="SELECT directory FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'snippet'";
|
55 |
55 |
$query_result=$database->query($query);
|
56 |
56 |
if ($query_result->numRows()>0) {
|
... | ... | |
105 |
105 |
// split $string into pieces - "cut away" styles, scripts, comments, HTML-tags and eMail-addresses
|
106 |
106 |
// we have to cut <pre> and <code> as well.
|
107 |
107 |
// for HTML-Tags use <(?:[^<]|<.*>)*> which will match strings like <input ... value="<b>value</b>" >
|
108 |
|
$matches = preg_split("~(\[\[.*\]\]|<style.*</style>|<script.*</script>|<pre.*</pre>|<code.*</code>|<!--.*-->|<(?:[^<]|<.*>)*>|\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}\b)~iUs",$foo,-1,(PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY));
|
|
108 |
$matches = preg_split("~(\[\[.*\]\]|<style.*</style>|<script.*</script>|<pre.*</pre>|<code.*</code>|<!--.*-->|<(?:[^<]|<.*>)*>|\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}\b)~iUs",$foo,-1,(PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY));
|
109 |
109 |
if(is_array($matches) && $matches != array()) {
|
110 |
110 |
$foo = "";
|
111 |
111 |
foreach($matches as $match) {
|
112 |
|
if($match{0}!="<" && !preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}$/i', $match) && !preg_match('~\[\[.*\]\]~', $match)) {
|
|
112 |
if($match{0}!="<" && !preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,8}$/i', $match) && !preg_match('~\[\[.*\]\]~', $match)) {
|
113 |
113 |
$match = str_replace(array('<', '>', '&', '"', ''', ' '), array('<', '>', '&', '"', '\'', "\xC2\xA0"), $match);
|
114 |
114 |
$match = preg_replace('~('.$string.')~ui', '_span class=_highlight__$1_/span_',$match);
|
115 |
115 |
$match = str_replace(array('&', '<', '>', '"', '\'', "\xC2\xA0"), array('&', '<', '>', '"', ''', ' '), $match);
|
... | ... | |
206 |
206 |
// Make sure block is numeric
|
207 |
207 |
if(!is_numeric($block)) { $block = 1; }
|
208 |
208 |
// Include page content
|
209 |
|
if(!defined('PAGE_CONTENT') OR $block!=1) {
|
|
209 |
if(!defined('PAGE_CONTENT') OR $block!=1)
|
|
210 |
{
|
210 |
211 |
$page_id=$wb->page_id;
|
|
212 |
// set session variable to save page_id only if PAGE_CONTENT is empty
|
|
213 |
$_SESSION['PAGE_ID'] = !isset($_SESSION['PAGE_ID']) ? $page_id : $_SESSION['PAGE_ID'];
|
|
214 |
// set to new value if page_id changed and not 0
|
|
215 |
if(($page_id != 0) AND ($_SESSION['PAGE_ID'] <> $page_id))
|
|
216 |
{
|
|
217 |
$_SESSION['PAGE_ID'] = $page_id;
|
|
218 |
}
|
|
219 |
|
211 |
220 |
// First get all sections for this page
|
212 |
221 |
$query_sections = $database->query("SELECT section_id,module,publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '".$page_id."' AND block = '$block' ORDER BY position");
|
213 |
222 |
// If none were found, check if default content is supposed to be shown
|
... | ... | |
290 |
299 |
$query_menu=$database->query("SELECT menu_title,link FROM ".TABLE_PREFIX."pages WHERE page_id=$temp");
|
291 |
300 |
$page=$query_menu->fetchRow();
|
292 |
301 |
if ($links==true AND $temp!=$page_id)
|
293 |
|
{
|
294 |
302 |
print '<a href="'.page_link($page['link']).'">'.$page['menu_title'].'</a>';
|
295 |
|
}
|
296 |
303 |
else
|
297 |
|
{
|
298 |
|
print '<span>'.$page['menu_title'].'</span>';
|
299 |
|
}
|
|
304 |
print '<span class="crumb">'.$page['menu_title'].'</span>';
|
300 |
305 |
}
|
301 |
306 |
$counter++;
|
302 |
307 |
}
|
... | ... | |
356 |
361 |
}
|
357 |
362 |
}
|
358 |
363 |
|
|
364 |
function bind_jquery ($file_id='jquery')
|
|
365 |
{
|
|
366 |
$jquery_links = '';
|
|
367 |
/* include the Javascript jquery api */
|
|
368 |
if( $file_id == 'jquery' AND file_exists(WB_PATH .'/include/jquery/jquery-min.js'))
|
|
369 |
{
|
|
370 |
$wbpath = str_replace('\\','/',WB_PATH); // fixed localhost problem with ie
|
|
371 |
$jquery_links .= "<script type=\"text/javascript\">\n"
|
|
372 |
."var URL = '".WB_URL."';\n"
|
|
373 |
."var WB_PATH = '".$wbpath."';\n"
|
|
374 |
."var WB_URL = '".WB_URL."';\n"
|
|
375 |
."var TEMPLATE_DIR = '".TEMPLATE_DIR."';\n"
|
|
376 |
."</script>\n";
|
|
377 |
|
|
378 |
$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-min.js" type="text/javascript"></script>'."\n";
|
|
379 |
$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-ui-min.js" type="text/javascript"></script>'."\n";
|
|
380 |
$jquery_links .= '<script src="'.WB_URL.'/include/jquery/jquery-insert.js" type="text/javascript"></script>'."\n";
|
|
381 |
/* workout to insert ui.css and theme */
|
|
382 |
$jquery_theme = WB_PATH.'/modules/jquery/jquery_theme.js';
|
|
383 |
$jquery_links .= file_exists($jquery_theme)
|
|
384 |
? '<script src="'.WB_URL.'/modules/jquery/jquery_theme.js" type="text/javascript"></script>'."\n"
|
|
385 |
: '<script src="'.WB_URL.'/include/jquery/jquery_theme.js" type="text/javascript"></script>'."\n";
|
|
386 |
/* workout to insert plugins functions, set in templatedir */
|
|
387 |
$jquery_frontend_file = TEMPLATE_DIR.'/jquery_frontend.js';
|
|
388 |
$jquery_links .= file_exists(str_replace( WB_URL, WB_PATH, $jquery_frontend_file))
|
|
389 |
? '<script src="'.$jquery_frontend_file.'" type="text/javascript"></script>'."\n"
|
|
390 |
: '';
|
|
391 |
}
|
|
392 |
return $jquery_links;
|
|
393 |
}
|
|
394 |
|
|
395 |
|
359 |
396 |
// Function to add optional module Javascript into the <body> section of the frontend
|
360 |
|
if(!function_exists('register_frontend_modfiles_body')) {
|
361 |
|
function register_frontend_modfiles_body($file_id="js") {
|
|
397 |
if(!function_exists('register_frontend_modfiles_body'))
|
|
398 |
{
|
|
399 |
function register_frontend_modfiles_body($file_id="js")
|
|
400 |
{
|
362 |
401 |
// sanity check of parameter passed to the function
|
363 |
402 |
$file_id = strtolower($file_id);
|
364 |
|
if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js") {
|
|
403 |
if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js" && $file_id !== "jquery")
|
|
404 |
{
|
365 |
405 |
return;
|
366 |
406 |
}
|
367 |
407 |
|
|
408 |
// define constant indicating that the register_frontent_files was invoked
|
|
409 |
if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED', true);
|
368 |
410 |
global $wb, $database, $include_body_links;
|
369 |
411 |
// define default baselink and filename for optional module javascript files
|
370 |
412 |
$body_links = "";
|
371 |
|
$base_link = '<script src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend_body.js" type="text/javascript"></script>';
|
372 |
|
$base_file = "frontend_body.js";
|
373 |
413 |
|
374 |
|
if(!empty($include_body_links)) {
|
375 |
|
if(strpos($body_links, $include_body_links) === false) {
|
376 |
|
$body_links .= $include_body_links;
|
377 |
|
}
|
378 |
|
$include_body_links = '';
|
379 |
|
}
|
|
414 |
/* include the Javascript jquery api */
|
|
415 |
$body_links .= bind_jquery($file_id);
|
380 |
416 |
|
381 |
|
// gather information for all models embedded on actual page
|
382 |
|
$page_id = $wb->page_id;
|
383 |
|
$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
|
384 |
|
WHERE page_id=$page_id AND module<>'wysiwyg'");
|
|
417 |
if($file_id !== "css" && $file_id == "js" && $file_id !== "jquery")
|
|
418 |
{
|
|
419 |
$base_link = '<script src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend_body.js" type="text/javascript"></script>';
|
|
420 |
$base_file = "frontend_body.js";
|
385 |
421 |
|
386 |
|
while($row = $query_modules->fetchRow()) {
|
387 |
|
// check if page module directory contains a frontend_body.js file
|
388 |
|
if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file")) {
|
389 |
|
// create link with frontend_body.js source for the current module
|
390 |
|
$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
|
|
422 |
// ensure that frontend_body.js is only added once per module type
|
|
423 |
if(!empty($include_body_links))
|
|
424 |
{
|
|
425 |
if(strpos($body_links, $include_body_links) === false)
|
|
426 |
{
|
|
427 |
$body_links .= $include_body_links;
|
|
428 |
}
|
|
429 |
$include_body_links = '';
|
|
430 |
}
|
391 |
431 |
|
392 |
|
// define constant indicating that the register_frontent_files was invoked
|
393 |
|
if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED', true);
|
|
432 |
// gather information for all models embedded on actual page
|
|
433 |
$page_id = $wb->page_id;
|
|
434 |
$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
|
|
435 |
WHERE page_id=$page_id AND module<>'wysiwyg'");
|
394 |
436 |
|
395 |
|
// ensure that frontend_body.js is only added once per module type
|
396 |
|
if(strpos($body_links, $tmp_link) === false) {
|
397 |
|
$body_links .= $tmp_link ."\n";
|
398 |
|
}
|
399 |
|
};
|
400 |
|
}
|
|
437 |
while($row = $query_modules->fetchRow())
|
|
438 |
{
|
|
439 |
// check if page module directory contains a frontend_body.js file
|
|
440 |
if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file")) {
|
|
441 |
// create link with frontend_body.js source for the current module
|
|
442 |
$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
|
401 |
443 |
|
402 |
|
/* include the Javascript email protection function
|
403 |
|
if( $file_id != 'css' && file_exists(WB_PATH .'/modules/droplets/js/mdcr.js')) {
|
404 |
|
$body_links .= '<script type="text/javascript" src="'.WB_URL.'/modules/droplets/js/mdcr.js"></script>'."\n";
|
405 |
|
} elseif( $file_id != 'css' && file_exists(WB_PATH .'/modules/output_filter/js/mdcr.js')) {
|
406 |
|
$body_links .= '<script type="text/javascript" src="'.WB_URL.'/modules/output_filter/js/mdcr.js"></script>'."\n";
|
407 |
|
} */
|
408 |
|
echo $body_links;
|
|
444 |
// define constant indicating that the register_frontent_files_body was invoked
|
|
445 |
if(!defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED', true);
|
|
446 |
|
|
447 |
// ensure that frontend_body.js is only added once per module type
|
|
448 |
if(strpos($body_links, $tmp_link) === false) {
|
|
449 |
$body_links .= $tmp_link;
|
|
450 |
}
|
|
451 |
}
|
|
452 |
}
|
|
453 |
}
|
|
454 |
|
|
455 |
print $body_links."\n"; ;
|
409 |
456 |
}
|
410 |
457 |
}
|
411 |
458 |
|
412 |
459 |
|
413 |
460 |
// Function to add optional module Javascript or CSS stylesheets into the <head> section of the frontend
|
414 |
|
if(!function_exists('register_frontend_modfiles')) {
|
415 |
|
function register_frontend_modfiles($file_id="css") {
|
|
461 |
if(!function_exists('register_frontend_modfiles'))
|
|
462 |
{
|
|
463 |
function register_frontend_modfiles($file_id="css")
|
|
464 |
{
|
416 |
465 |
// sanity check of parameter passed to the function
|
417 |
466 |
$file_id = strtolower($file_id);
|
418 |
|
if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js") {
|
|
467 |
if($file_id !== "css" && $file_id !== "javascript" && $file_id !== "js" && $file_id !== "jquery")
|
|
468 |
{
|
419 |
469 |
return;
|
420 |
470 |
}
|
421 |
471 |
|
... | ... | |
423 |
473 |
// define default baselink and filename for optional module javascript and stylesheet files
|
424 |
474 |
$head_links = "";
|
425 |
475 |
|
426 |
|
if($file_id == "css") {
|
|
476 |
switch ($file_id)
|
|
477 |
{
|
|
478 |
case 'css':
|
427 |
479 |
$base_link = '<link href="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend.css"';
|
428 |
480 |
$base_link.= ' rel="stylesheet" type="text/css" media="screen" />';
|
429 |
481 |
$base_file = "frontend.css";
|
430 |
|
} else {
|
|
482 |
if(!empty($include_head_link_css))
|
|
483 |
{
|
|
484 |
$head_links .= !strpos($head_links, $include_head_link_css) ? $include_head_link_css : '';
|
|
485 |
$include_head_link_css = '';
|
|
486 |
}
|
|
487 |
break;
|
|
488 |
case 'jquery':
|
|
489 |
$head_links .= bind_jquery($file_id);
|
|
490 |
break;
|
|
491 |
case 'js':
|
431 |
492 |
$base_link = '<script src="'.WB_URL.'/modules/{MODULE_DIRECTORY}/frontend.js" type="text/javascript"></script>';
|
432 |
493 |
$base_file = "frontend.js";
|
|
494 |
if(!empty($include_head_links))
|
|
495 |
{
|
|
496 |
$head_links .= !strpos($head_links, $include_head_links) ? $include_head_links : '';
|
|
497 |
$include_head_links = '';
|
|
498 |
}
|
|
499 |
break;
|
|
500 |
default:
|
|
501 |
break;
|
433 |
502 |
}
|
434 |
503 |
|
435 |
504 |
if(!empty($include_head_link_css)) {
|
... | ... | |
446 |
515 |
}
|
447 |
516 |
}
|
448 |
517 |
|
449 |
|
// gather information for all models embedded on actual page
|
450 |
|
$page_id = $wb->page_id;
|
451 |
|
$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
|
452 |
|
WHERE page_id=$page_id AND module<>'wysiwyg'");
|
|
518 |
if( $file_id != 'jquery')
|
|
519 |
{
|
453 |
520 |
|
454 |
|
while($row = $query_modules->fetchRow()) {
|
455 |
|
// check if page module directory contains a frontend.js or frontend.css file
|
456 |
|
if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file")) {
|
457 |
|
// create link with frontend.js or frontend.css source for the current module
|
458 |
|
$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
|
|
521 |
// gather information for all models embedded on actual page
|
|
522 |
$page_id = $wb->page_id;
|
|
523 |
$query_modules = $database->query("SELECT module FROM " .TABLE_PREFIX ."sections
|
|
524 |
WHERE page_id=$page_id AND module<>'wysiwyg'");
|
459 |
525 |
|
460 |
|
// define constant indicating that the register_frontent_files was invoked
|
461 |
|
if($file_id == 'css') {
|
462 |
|
if(!defined('MOD_FRONTEND_CSS_REGISTERED')) define('MOD_FRONTEND_CSS_REGISTERED', true);
|
463 |
|
} else {
|
464 |
|
if(!defined('MOD_FRONTEND_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_JAVASCRIPT_REGISTERED', true);
|
465 |
|
}
|
466 |
|
// ensure that frontend.js or frontend.css is only added once per module type
|
467 |
|
if(strpos($head_links, $tmp_link) === false) {
|
468 |
|
$head_links .= $tmp_link ."\n";
|
469 |
|
}
|
470 |
|
};
|
471 |
|
}
|
|
526 |
while($row = $query_modules->fetchRow())
|
|
527 |
{
|
|
528 |
// check if page module directory contains a frontend.js or frontend.css file
|
|
529 |
if(file_exists(WB_PATH ."/modules/" .$row['module'] ."/$base_file"))
|
|
530 |
{
|
|
531 |
// create link with frontend.js or frontend.css source for the current module
|
|
532 |
$tmp_link = str_replace("{MODULE_DIRECTORY}", $row['module'], $base_link);
|
472 |
533 |
|
473 |
|
// include the Javascript email protection function
|
474 |
|
if( $file_id != 'css' && file_exists(WB_PATH .'/modules/droplets/js/mdcr.js')) {
|
475 |
|
$head_links .= '<script type="text/javascript" src="'.WB_URL.'/modules/droplets/js/mdcr.js"></script>'."\n";
|
476 |
|
} elseif( $file_id != 'css' && file_exists(WB_PATH .'/modules/output_filter/js/mdcr.js')) {
|
477 |
|
$head_links .= '<script type="text/javascript" src="'.WB_URL.'/modules/output_filter/js/mdcr.js"></script>'."\n";
|
478 |
|
}
|
479 |
|
echo $head_links;
|
480 |
|
}
|
|
534 |
// define constant indicating that the register_frontent_files was invoked
|
|
535 |
if($file_id == 'css')
|
|
536 |
{
|
|
537 |
if(!defined('MOD_FRONTEND_CSS_REGISTERED')) define('MOD_FRONTEND_CSS_REGISTERED', true);
|
|
538 |
} else
|
|
539 |
{
|
|
540 |
if(!defined('MOD_FRONTEND_JAVASCRIPT_REGISTERED')) define('MOD_FRONTEND_JAVASCRIPT_REGISTERED', true);
|
|
541 |
}
|
|
542 |
// ensure that frontend.js or frontend.css is only added once per module type
|
|
543 |
if(strpos($head_links, $tmp_link) === false)
|
|
544 |
{
|
|
545 |
$head_links .= $tmp_link."\n";
|
|
546 |
}
|
|
547 |
};
|
|
548 |
}
|
|
549 |
// include the Javascript email protection function
|
|
550 |
if( $file_id != 'css' && file_exists(WB_PATH .'/modules/droplets/js/mdcr.js'))
|
|
551 |
{
|
|
552 |
$head_links .= '<script src="'.WB_URL.'/modules/droplets/js/mdcr.js" type="text/javascript"></script>'."\n";
|
|
553 |
}
|
|
554 |
elseif( $file_id != 'css' && file_exists(WB_PATH .'/modules/output_filter/js/mdcr.js'))
|
|
555 |
{
|
|
556 |
$head_links .= '<script src="'.WB_URL.'/modules/output_filter/js/mdcr.js" type="text/javascript"></script>'."\n";
|
|
557 |
}
|
|
558 |
}
|
|
559 |
print $head_links;
|
|
560 |
}
|
481 |
561 |
}
|
482 |
562 |
|
483 |
563 |
// Begin WB < 2.4.x template compatibility code
|