by Ezrael » Thu Dec 28, 2023 10:45 pm
I updated the page-forum.php and the overall_footer.html.
Unfortunately it looks like there is an issue with the overall_footer.
Code: Select all
var wordpress_url_page_forum = 'https://photography.surferparadise.de/forum'; // MANDATORY! // (DO NOT ADD/INCLUDE final slash here) Url that point to your iframed wordpress forum page
If I use the code like you wrote it, creates a script loop. I check
your page here and if I use the your login in the forum, your site doesn't refresh as well. In the attachment you can see the site which shows up after login in your forum.
I could absolutely life with it, if the users are forwarded to an extra site (not the iframe phpbb) after login. This won't fix the issue in general but this will solve my issue.
Overall_Footer:
Code: Select all
{% EVENT overall_footer_content_after %}
</div>
{% if definition.SIDEBAR == 'yes'%}
</div>
<div class="sidebar"> {% INCLUDE 'sidebar.html' %} </div>
{% endif %}
{% EVENT overall_footer_page_body_after %}
<div id="page-footer" class="page-footer" role="contentinfo">
{% INCLUDE 'navbar_footer.html' %}
<div class="copyright">
<p class="footer-row">
<span class="footer-copyright">{{ CREDIT_LINE }}</span>
</p>
{% if TRANSLATION_INFO %}
<p class="footer-row">
<span class="footer-copyright">{{ TRANSLATION_INFO }}</span>
</p>
{% endif %}
{% EVENT overall_footer_copyright_append %}
{% if DEBUG_OUTPUT %}
<p class="footer-row">
<span class="footer-info">{{ DEBUG_OUTPUT }}</span>
</p>
{% endif %}
{% if U_ACP %}
<p class="footer-row">
<a class="footer-link text-strong" href="{{ U_ACP }}">{{ lang('ACP') }}</a>
</p>
{% endif %}
</div>
<div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="{{ lang('AJAX_ERROR_TITLE') }}" data-ajax-error-text="{{ lang('AJAX_ERROR_TEXT') }}" data-ajax-error-text-abort="{{ lang('AJAX_ERROR_TEXT_ABORT') }}" data-ajax-error-text-timeout="{{ lang('AJAX_ERROR_TEXT_TIMEOUT') }}" data-ajax-error-text-parsererror="{{ lang('AJAX_ERROR_TEXT_PARSERERROR') }}">
<div id="darken" class="darken"> </div>
</div>
<div id="phpbb_alert" class="phpbb_alert" data-l-err="{{ lang('ERROR') }}" data-l-timeout-processing-req="{{ lang('TIMEOUT_PROCESSING_REQ') }}">
<a href="#" class="alert_close">
<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<h3 class="alert_title"> </h3><p class="alert_text"></p>
</div>
<div id="phpbb_confirm" class="phpbb_alert">
<a href="#" class="alert_close">
<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<div class="alert_text"></div>
</div>
</div>
</div>
<div>
<a id="bottom" class="anchor" accesskey="z"></a>
{% if not S_IS_BOT %}{{ RUN_CRON_TASK }}{% endif %}
</div>
<script src="{{ T_JQUERY_LINK }}"></script>
{% if S_ALLOW_CDN %}<script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.6.0.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script>{% endif %}
<script src="{{ T_ASSETS_PATH }}/javascript/core.js?assets_version={{ T_ASSETS_VERSION }}"></script>
{% INCLUDEJS 'forum_fn.js' %}
{% INCLUDEJS 'ajax.js' %}
{% if S_ALLOW_CDN %}
<script>
(function($){
var $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
$span = $('<span class="fa" style="display:none"></span>').appendTo('body');
if ($span.css('fontFamily') !== 'FontAwesome' ) {
$fa_cdn.after('<link href="{{ T_ASSETS_PATH }}/css/font-awesome.min.css" rel="stylesheet">');
$fa_cdn.remove();
}
$span.remove();
})(jQuery);
</script>
{% endif %}
{% if S_COOKIE_NOTICE %}
<script src="{{ T_ASSETS_PATH }}/cookieconsent/cookieconsent.min.js?assets_version={{ T_ASSETS_VERSION }}"></script>
<script>
if (typeof window.cookieconsent === "object") {
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#0F538A"
},
"button": {
"background": "#E5E5E5"
}
},
"theme": "classic",
"content": {
"message": "{{ lang('COOKIE_CONSENT_MSG')|escape('js') }}",
"dismiss": "{{ lang('COOKIE_CONSENT_OK')|escape('js') }}",
"link": "{{ lang('COOKIE_CONSENT_INFO')|escape('js') }}",
"href": "{{ UA_PRIVACY }}"
}
});
});
}
</script>
{% endif %}
{% EVENT overall_footer_after %}
{% if S_PLUPLOAD %}{% INCLUDE 'plupload.html' %}{% endif %}
{{ definition.SCRIPTS }}
{% EVENT overall_footer_body_after %}
</div>
<!-- IF not S_IS_BOT -->
<script type="text/javascript">
// START MANDATORY CHANGES
var w3allAllowDomain = '*'; // MANDATORY! // Set/Change this value with your WordPress URL (example: https://axew3.com)
var wordpress_url_page_forum = 'https://photography.surferparadise.de/forum'; // MANDATORY! // (DO NOT ADD/INCLUDE final slash here) Url that point to your iframed wordpress forum page
var w3all_custom_wp_w3fancyurl = 'w3'; // MANDATORY! If you changed the default w3 to have 'fancy URL' query string into the related WP plugin admin option, then change this value to match the same as it is the fancy URL setting
// END MANDATORY CHANGES
var pmn = "{PRIVATE_MESSAGE_COUNT}";
var w3all_phpbb_u_logged = "{S_USER_LOGGED_IN}";
var w3allappend = false;
var boardU = "{BOARD_URL}";
// Lightbox scroll fix:
// remove /* and */ to activate, also more below to complete ...
/*
$(".postimage").on("click", function(event) {
var pos = event.pageY - 100;
$(parent.window).scrollTop( 200 );
var el = document.getElementById("lightbox");
$("#lightboxOverlay").on("click", function() {
$(parent.window).scrollTop( pos );
});
$(".lb-close").on("click", function() {
$(parent.window).scrollTop( pos );
});
$(".lightbox").on("click", function() {
$(parent.window).scrollTop( pos );
});
});
*/
function w3allNormalize_phpBBUrl(href){
// try to 'normalize' passed relative links: needed all after last slash /
// exception are kind of passed urls like: /phpbb323/app.php/help/faq
// and if SEO mods that may assign some different kind of links values
// by the way, SEO absolute urls http(s) should be (all?) already considered here ...
var phpbbRUrl = href.split(/^.+?(\w+.+)$/);
if( href.indexOf('app.php') > -1 ){ // since the previous not 'normalize' this type of passed value (and may miss something else)
phpbburl = href.split(/^.+?(app\.php.+)$/);
w3allappend = phpbburl[1];
} else if ( /^https?/ig.exec(href) !== null ){ // absolute http(s) passed: try to 'normalize' a possible seo mod
phpbburl = href.split(boardU);
w3allappend = phpbburl[1];
} else if ( phpbbRUrl[1] && phpbbRUrl[1].length > 1 ){ // 'normalize' any other
w3allappend = phpbbRUrl[1];
} else if ( phpbbRUrl[0].length > 1 ){
w3allappend = phpbbRUrl[0];
}
// ... if still not normalized
if(/^\W/ig.exec(w3allappend) !== null){
w3allappend = w3allappend.split(/^.+?(\w+.+)$/);
if(w3allappend[1]){
w3allappend = w3allappend[1];
}
if ( w3allappend[1] && w3allappend[1].charAt(0) == '/' ){
w3allappend = w3allappend[1].substr(1);
}
}
return w3allappend;
}
$(document).on("click", "a", function(e) {
var href = $(this).attr("href");
var w3all_onview_attach = (href.indexOf('file.php') > -1);
if( this.getAttribute('target') !== null ){
e.preventDefault();
window.open(href,'_blank');
return;
}
if ( href.charAt(0) == '#' || href.indexOf('\./download\/file\.php') > -1 ){ return; }
// external link?
if ((this.href.indexOf(boardU) > -1) != true){
if(/^(f|ht)tps?:\/\//i.test(href))
{
e.preventDefault();
parent.location.replace(href);
return;
}
}
if ( /\/adm\//ig.exec(href) !== null )
{
e.preventDefault();
parent.location.replace(href);
return;
}
if ( href.indexOf('view=print') > -1 !== false )
{
e.preventDefault();
window.open(href,'_blank');
return;
}
if ( href.indexOf('quickmod') > -1 ) {
w3allNOappend = true;
return;
}
if( /posting\.php\?mode=[reply|post|bump]/ig.exec(href) !== null || /mcp\.php\?/ig.exec(href) !== null ){
w3allNOappend = true;
}
// complete Lightbox correct attachment display // activate removing /* and */
// or used to open on new tab attachments
/*
if(w3all_onview_attach !== false){
e.preventDefault();
window.open(href,'_blank');
return;
} */
w3allappend = w3allNormalize_phpBBUrl(href);
if ('parentIFrame' in window){
if( typeof w3allNOappend == 'undefined' || w3allNOappend == false ){
window.parentIFrame.sendMessage(w3allappend);
}
}
});
// w3all UPDATES for phpBB events
if(window.self !== window.top){
$("#quickmod,.bookmark-link").on("click", function(event) {
var pos = window.scrollY + document.querySelector('#quickmod').getBoundingClientRect().top;
$(parent.window).scrollTop( 200 );
$("#darkenwrapper").on("click", function() {
$(parent.window).scrollTop( pos );
});
$("#darken").on("click", function() {
$(parent.window).scrollTop( pos );
});
});
if( window.location.hash.substr(1) == 'unread' ){
var postN = 1;
$( "h3 > a" ).each(function (e) {
ns = this.href.split('#p');
if( typeof ns != 'undefined' && /viewtopic.php\?p=/ig.exec(this.href) != null ){
if(ns[1] > postN){
w3lh = ns[1];
}
}
})
if( typeof w3lh != 'undefined' ){
w3lh = "p" + w3lh;
}
}
if( typeof w3allNOappend == 'undefined' || w3allNOappend == false )
{
$( window ).on( "load", function()
{
if(/#p/ig.exec(window.location.hash)){
//let e = document.getElementById(window.location.hash.substr(1)).getBoundingClientRect();
let p = document.getElementById(window.location.hash.substr(1));
let e = $(p).offset().top;
let w3append = '#w3all_phpbbpmcount=' + pmn + '#w3all_phpbb_u_logged=' + w3all_phpbb_u_logged + '#w3all_lochash=' + parseInt(e);
window.parent.postMessage({
'message': w3append
}, w3allAllowDomain);
} else {
let w3append = '#w3all_phpbbpmcount=' + pmn + '#w3all_phpbb_u_logged=' + w3all_phpbb_u_logged + '#w3all_lochash=0';
window.parent.postMessage({
'message': w3append
}, w3allAllowDomain);
}
// fix vertical iframe centered
var w3iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
if(w3iOS == false)
{
var bd = document.getElementsByTagName("body");
var t = document.getElementById(bd[0].getAttribute("id"));
if( typeof t != 'undefined' || t != false )
{
t.setAttribute("style", "position:fixed;top:0%;left:0%;width:100%;margin:0px;");
}
}
});
}
/*if (window.performance){
if( performance.getEntriesByType("navigation")[0].type == 'back_forward' )
{
var w3E = performance.getEntriesByType("navigation");
var w3ER = w3allNormalize_phpBBUrl(w3E[0].name);
parent.w3all_phpbb_pushUrlToParentOnBackForward(w3ER);
}
}*/
} // END if(window.self !== window.top){
</script>
<script type="text/javascript" src="https://forum.surferparadise.de/iframeResizer.contentWindow.min.js" defer></script>
<!-- ENDIF -->
<div data-iframe-height=""></div>
</body>
</html>
forum-page.php:
Code: Select all
<?php get_header(); ?>
<div class="content section-inner">
<?php defined( 'ABSPATH' ) or die( 'forbidden' );
/*
Template Name: Forum
Template Post Type: page
* The default wp_w3all template to display content for the embedded phpBB
* @package WordPress
* @subpackage wp_w3all
* @V5 JS -> https://www.axew3.com/w3/2018/12/phpbb-wordpress-template-integration-iframe-v5/
*/
// @2023 axew3.com //
// START MAYBE DO NOT EDIT, but maybe yes!
if(defined("W3PHPBBCONFIG")){
// detect if it is the uid2 in phpBB and avoid iframe loop
$phpBBuid2 = (isset($_COOKIE[W3PHPBBCONFIG["cookie_name"].'_u']) && $_COOKIE[W3PHPBBCONFIG["cookie_name"].'_u'] == 2) ? 2 : 0;
} else { $phpBBuid2 = 0; }
// detect if running as no linked users mode and avoid iframe loop
if(defined("WPW3ALL_NOT_ULINKED")) { $phpBBuid2 = 0; }
global $w3all_iframe_custom_w3fancyurl,$w3all_url_to_cms,$w3all_iframe_custom_top_gap,$w3cookie_domain,$wp_w3all_forum_folder_wp;
$w3allhomeurl = get_home_url();
$current_user = wp_get_current_user();
$w3all_url_to_cms_clean = $w3all_url_to_cms;
$w3all_url_to_cms_clean0 = strpos($w3all_url_to_cms_clean, 'https://') !== false ? str_replace('https://', 'http://', $w3all_url_to_cms_clean) : str_replace('http://', 'https://', $w3all_url_to_cms_clean);
// guess to get the domain.com to display into preloader // array order here is !important
if(!empty($w3all_url_to_cms)){
$w3guessdomaindisplay = str_replace(array("http://www.","https://www.","http://","https://"), array("","","",""), $w3all_url_to_cms);
$spos = strpos($w3guessdomaindisplay,'/');
if($spos !== false)
{
$w3guessdomaindisplay = substr($w3guessdomaindisplay, 0, $spos);
}} else { $w3guessdomaindisplay = 'Did you setup the URL that point to phpBB into the integration plugin admin page<br /> and is it correct?'; }
if(!empty($w3cookie_domain)){
if(substr($w3cookie_domain, 0, 1) == '.'){
$document_domain = substr($w3cookie_domain, 1);
} else {
$document_domain = $w3cookie_domain;
}
} else { $document_domain = 'localhost'; }
// do not use wp is_ssl() because it fail on some server
$w3all_orig = strpos($w3all_url_to_cms,'https') !== false ? 'https://'. $document_domain : 'http://' . $document_domain;
$w3all_orig_www = strpos($w3all_url_to_cms,'https') !== false ? 'https://www.'. $document_domain : 'http://www.' . $document_domain;
// security switch
$w3all_url_to_cms0 = $w3all_url_to_cms;
if( isset($_GET["w3"]) ){ // default
$phpbb_url = trim(base64_decode($_GET["w3"]));
$w3all_url_to_cms = $w3all_url_to_cms . '/' . $phpbb_url;
if( preg_match('/[^-0-9A-Za-z\._#\:\?\/=&%]/ui',$phpbb_url) ){
$w3all_url_to_cms = $w3all_url_to_cms0;
}
} elseif ( isset($_GET[$w3all_iframe_custom_w3fancyurl]) ){ //fancy
$phpbb_url = trim(base64_decode($_GET[$w3all_iframe_custom_w3fancyurl]));
$w3all_url_to_cms = $w3all_url_to_cms . '/' . $phpbb_url;
if( preg_match('/[^-0-9A-Za-z\._#\:\?\/=&%]/ui',$phpbb_url) ){
$w3all_url_to_cms = $w3all_url_to_cms0;
}
}
if(substr($w3all_url_to_cms, 0, 5) == 'https'){
$w3all_url_to_cms_htt = substr($w3all_url_to_cms, 0, 5);
$w3all_url_to_cms_htt = 'http' . substr($w3all_url_to_cms, 5);
} else {
$w3all_url_to_cms_htt = substr($w3all_url_to_cms, 0, 4);
$w3all_url_to_cms_htt = 'https'.substr($w3all_url_to_cms, 4);
}
// old way - to be removed
// assure that passed url is correctly all decoded // may something else need to be added in certain conditions
$w3all_url_to_cms = str_replace(array("%2F", "%23", "%2E"), array("/", "#", "."), $w3all_url_to_cms);
// bug -> https://wordpress.org/support/topic/problem-using-iframe-feature-with-https/
if( strlen($w3all_url_to_cms) == strlen(get_option( 'w3all_url_to_cms' )) OR strlen($w3all_url_to_cms) == strlen(get_option( 'w3all_url_to_cms' )) + 1 )
{
// do not re-write value of the global $w3all_url_to_cms or index.php will be may appended into widgets avatars urls, so that will make it fail image loads
$w3all_url_to_cms_sw = $w3all_url_to_cms;
$w3all_url_to_cms_sw .= (substr($w3all_url_to_cms, -1) == '/' ? '' : '/');
} else { $w3all_url_to_cms_sw = $w3all_url_to_cms; }
// cleanup possible passed js undefined
if(substr($w3all_url_to_cms, -10) == '/undefined'){
$w3all_url_to_cms = str_replace('undefined', '', $w3all_url_to_cms);
$w3all_url_to_cms .= 'index.php';
}elseif(substr($w3all_url_to_cms, -11) == '/undefined/')
{
$w3all_url_to_cms = str_replace('undefined/', '', $w3all_url_to_cms);
$w3all_url_to_cms .= 'index.php';
}
function w3all_enqueue_scripts() {
wp_enqueue_script("jquery");
}
function wp_w3all_add_ajax() {
global $w3all_url_to_cms,$w3all_url_to_cms_sw,$wp_w3all_forum_folder_wp,$w3allhomeurl;
$w3all_url_to_phpbb_ib = $w3all_url_to_cms . "/ucp.php?i=pm&folder=inbox";
$s = "
<script type=\"text/javascript\" src=\"".plugins_url()."/wp-w3all-phpbb-integration/addons/resizer/iframeResizer.min.js\"></script>
<script type=\"text/javascript\">
// pre loader js code for iframe content
jQuery( document ).ready(function() {
jQuery('#w3idwloader').attr( \"class\", \"w3_wrap_loader\" );
});
jQuery(window).load(function() {
jQuery('#w3idwloader').css(\"display\",\"none\");
});
function w3all_ajaxup_from_phpbb_do(res){
jQuery(document).ready(function() {
if ( parseInt(res,10) > 0 && null == (document.getElementById('wp-admin-bar-w3all_phpbb_pm')) ){
var resp = '".__( 'You have ', 'wp-w3all-phpbb-integration' )."' + parseInt(res,10) + '".__( ' unread forum PM', 'wp-w3all-phpbb-integration' )."';
jQuery('#wp-admin-bar-root-default').append('<li id=\"wp-admin-bar-w3all_phpbb_pm\"><a class=\"ab-item\" href=\"".$w3all_url_to_phpbb_ib."\">' + resp + '</li>');
// window.location.reload(true);// this could be a work around for different themes, but lead to loop in this way
} else if (parseInt(res,10) > 0){
var r = '".__( 'You have ', 'wp-w3all-phpbb-integration' )."' + parseInt(res,10) + '".__( ' unread forum PM', 'wp-w3all-phpbb-integration' )."';
jQuery( 'li.w3all_phpbb_pmn' ).children().text( r );
} else {
if( parseInt(res,10) == 0 && null !== (document.getElementById('wp-admin-bar-w3all_phpbb_pm'))){
jQuery('li[id=wp-admin-bar-w3all_phpbb_pm]').remove();
}
}
});
}
</script>
<style type=\"text/css\" media=\"screen\">
.w3preloadtext{
color:#DDD;
font-size:3.5em;
font-family:impact,arial, sans-serif;
font-style:italic;
text-shadow: rgba(0,0,0,0) -1px 0px;
}
.w3_wrap_loader{
position:fixed;
top:0%;
bottom:0%;
left:0%;
right:0%;
background: rgba(0,0,0,0.95);
z-index:99999;
opacity:90;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
width:100%;
text-align:center;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
pointer-events:none;
height:100%;
}
.ww3_loader{
width:100%;
text-align:center;
}
.w3_loader {
height: 8px;
width: 30%;
align-items: center;
justify-content: center;
position: relative; left: 50%;
transform: translateX(-50%);
overflow: hidden;
background-color: #DDD;
border-radius: 20px;
margin:0px;padding:0px;
}
.w3_loader:before{
height: 8px;
border-radius: 20px;
display: block;
position: absolute;
content: \"\";
left: -200px;
width: 200px;
background-color: #333;
animation: loading 1s linear infinite;
}
@keyframes loading {
from {left: -200px; width: 30%;}
50% {width: 30%;}
70% {width: 70%;}
80% { left: 50%;}
95% {left: 120%;}
to {left: 100%;}
}
</style>
";
echo $s;
}
add_action('wp_enqueue_scripts', 'w3all_enqueue_scripts');
add_action('wp_head','wp_w3all_add_ajax');
// END MAY DO NOT MODIFY
// START a default WordPress page
get_header();
?>
<!-- noscript warning and simple preloader -->
<div id="w3idwloader" class="w3_wrap_loader">
<noscript><h3 style="background-color:#333;color:#FFF;padding:15px;font-size:0.8em;pointer-events:auto;">Javascript disabled: can't load the forum page at this Url.<br />Enable Javascript on your browser or visit the forum here:<br /><br /><?php echo $w3all_url_to_cms;?><br /><a href="<?php echo $w3all_url_to_cms;?>">To be auto-redirected click here<br />(may this link will not work)</a></h3></noscript>
<div class="w3preloadtext"><?php echo $w3guessdomaindisplay ; ?></div>
<div class="ww3_loader"><div class="w3_loader"></div></div>
</div>
<!-- START iframe div -->
<div style="width:100%;min-width:100%" id="" class="">
<iframe id="w3all_phpbb_iframe" style="width:1px;min-width:100%;*width:100%;border:0;" scrolling="no" src="<?php echo $w3all_url_to_cms; ?>"></iframe>
<?php
echo "<script>
var wp_u_logged = ".$current_user->ID.";
var phpBBuid2 = ".$phpBBuid2.";
var w3allhomeurl = '".$w3allhomeurl."';
var wp_w3all_forum_folder_wp = '".$wp_w3all_forum_folder_wp."';
var w3all_iframe_custom_w3fancyurl = '".$w3all_iframe_custom_w3fancyurl."';
function w3all_phpbb_pushUrlToParentOnBackForward(w3ER){
if(w3ER != ''){
var rem = w3ER.slice(-1);
if(rem == '#'){ w3ER = w3ER.substring(0, w3ER.length - 1); }
w3ER = window.btoa(unescape(encodeURIComponent(w3ER)));
var w3all_url_pushER = w3allhomeurl + '/' + wp_w3all_forum_folder_wp + '/?' + w3all_iframe_custom_w3fancyurl + '=' + w3ER;
window.history.replaceState({}, \"\", w3all_url_pushER);
}
}
function w3all_ajaxup_from_phpbb(res){
var w3all_phpbb_u_logged = /#w3all_phpbb_u_logged=1/ig.exec(res);
if(phpBBuid2 != 2){ // if not phpBB uid 2 or get loop for this user
if( w3all_phpbb_u_logged == null && wp_u_logged > 1 || wp_u_logged == 0 && w3all_phpbb_u_logged != null ){
document.location.replace('".$w3allhomeurl."/".$wp_w3all_forum_folder_wp."/');
}
}
jQuery('#w3idwloader').css(\"display\",\"none\");
var w3all_phpbbpmcount = /.*(#w3all_phpbbpmcount)=([0-9]+).*/ig.exec(res);
if(w3all_phpbbpmcount !== null){
w3all_ajaxup_from_phpbb_do(w3all_phpbbpmcount[2]);
}
var w3all_lochash = /.*(#w3all_lochash)=([0-9]+).*/ig.exec(res);
if(w3all_lochash !== null && w3all_lochash[2] != 0){
jQuery('html, body').animate({ scrollTop: w3all_lochash[2]}, 400);
} else {
jQuery('html, body').animate({ scrollTop: ".$w3all_iframe_custom_top_gap."}, 400);
}
} // END w3all_ajaxup_from_phpbb(res){
// array() of allowed domains
var w3all_orig_domains = ['".$w3all_url_to_cms0."','".$w3all_orig."','".$w3all_orig_www."','".$w3all_url_to_cms_clean."','".$w3all_url_to_cms_clean0."','https://localhost','http://localhost'];
iFrameResize({
log : false,
inPageLinks : true,
targetOrigin: '".$w3all_url_to_cms_sw."',
checkOrigin : w3all_orig_domains,
// heightCalculationMethod: 'documentElementOffset', // If iframe not resize correctly, un-comment (or change with one of others available resize methods)
// see: https://github.com/davidjbradshaw/iframe-resizer#heightcalculationmethod
onMessage : function(messageData){ // Callback fn when message is received
// w3all simple js check and redirects
var w3all_passed_url = messageData.message.toString();
var w3all_ck = \"".$_SERVER['SERVER_NAME']."\";
var w3all_pass_ext = (w3all_passed_url.indexOf(w3all_ck) > -1);
var w3all_ck_preview = (w3all_passed_url.indexOf('preview') > -1);
if (w3all_ck_preview == false) { // or the phpBB passed preview link, will be recognized as external, and preview will redirect to full forum url instead
// so these are maybe, external iframe redirects
if (w3all_pass_ext == true) {
window.location.replace(w3all_passed_url);
}
if (/^(f|ht)tps?:\/\//i.test(w3all_passed_url)) {
window.location.replace(w3all_passed_url);
}
}
if(/#w3all/ig.exec(w3all_passed_url)){
w3all_ajaxup_from_phpbb(w3all_passed_url);
}
// do not pass to be encoded an url with sid or if it point to phpBB admin ACP via iframe
if( /[^-0-9A-Za-z\._#\:\?\/=&%]/ig.exec(w3all_passed_url) !== null || /adm\//ig.exec(w3all_passed_url) !== null || /sid=/ig.exec(w3all_passed_url) !== null ){
w3all_passed_url = '';
}
// PUSH phpBB URLs //
if(w3all_passed_url != ''){
w3all_passed_url = window.btoa(unescape(encodeURIComponent(w3all_passed_url)));
var w3all_passed_url_push = '".$w3allhomeurl."/".$wp_w3all_forum_folder_wp."/?".$w3all_iframe_custom_w3fancyurl."=' + w3all_passed_url;
history.replaceState({}, \"\", w3all_passed_url_push);
}
} // end // onMessage
,
onScroll: function(x,y){
//return false;
}
});
window.addEventListener('message', function (event)
{
if (event.origin != '".$w3all_url_to_cms0."')
{
// console.error('The event origin do not match');
// console.error(event);
// return;
// the event origin will not match if the ssl certificate is not valid
// on chrome (and not only) it make it fail the iframe load
// to test locally with a self signed cert or expired cert:
// chrome://flags/#allow-insecure-localhost
}
// jQuery( window ).on( \"load\", function() {
if(/#w3all/ig.exec(event.data.message)){
w3all_ajaxup_from_phpbb(event.data.message);
}
//});
});
</script>";
?>
</div>
<!-- END iframe div -->
<?php get_footer();
- Attachments
-
- Screenshot 2023-12-28 at 23.37.10.png (45.48 KiB) Viewed 3588 times
I updated the page-forum.php and the overall_footer.html.
Unfortunately it looks like there is an issue with the overall_footer.
[code]var wordpress_url_page_forum = 'https://photography.surferparadise.de/forum'; // MANDATORY! // (DO NOT ADD/INCLUDE final slash here) Url that point to your iframed wordpress forum page
[/code]
If I use the code like you wrote it, creates a script loop. I check [b]your[/b] page here and if I use the your login in the forum, your site doesn't refresh as well. In the attachment you can see the site which shows up after login in your forum.
I could absolutely life with it, if the users are forwarded to an extra site (not the iframe phpbb) after login. This won't fix the issue in general but this will solve my issue.
Overall_Footer:
[code] {% EVENT overall_footer_content_after %}
</div>
{% if definition.SIDEBAR == 'yes'%}
</div>
<div class="sidebar"> {% INCLUDE 'sidebar.html' %} </div>
{% endif %}
{% EVENT overall_footer_page_body_after %}
<div id="page-footer" class="page-footer" role="contentinfo">
{% INCLUDE 'navbar_footer.html' %}
<div class="copyright">
<p class="footer-row">
<span class="footer-copyright">{{ CREDIT_LINE }}</span>
</p>
{% if TRANSLATION_INFO %}
<p class="footer-row">
<span class="footer-copyright">{{ TRANSLATION_INFO }}</span>
</p>
{% endif %}
{% EVENT overall_footer_copyright_append %}
{% if DEBUG_OUTPUT %}
<p class="footer-row">
<span class="footer-info">{{ DEBUG_OUTPUT }}</span>
</p>
{% endif %}
{% if U_ACP %}
<p class="footer-row">
<a class="footer-link text-strong" href="{{ U_ACP }}">{{ lang('ACP') }}</a>
</p>
{% endif %}
</div>
<div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="{{ lang('AJAX_ERROR_TITLE') }}" data-ajax-error-text="{{ lang('AJAX_ERROR_TEXT') }}" data-ajax-error-text-abort="{{ lang('AJAX_ERROR_TEXT_ABORT') }}" data-ajax-error-text-timeout="{{ lang('AJAX_ERROR_TEXT_TIMEOUT') }}" data-ajax-error-text-parsererror="{{ lang('AJAX_ERROR_TEXT_PARSERERROR') }}">
<div id="darken" class="darken"> </div>
</div>
<div id="phpbb_alert" class="phpbb_alert" data-l-err="{{ lang('ERROR') }}" data-l-timeout-processing-req="{{ lang('TIMEOUT_PROCESSING_REQ') }}">
<a href="#" class="alert_close">
<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<h3 class="alert_title"> </h3><p class="alert_text"></p>
</div>
<div id="phpbb_confirm" class="phpbb_alert">
<a href="#" class="alert_close">
<i class="icon fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<div class="alert_text"></div>
</div>
</div>
</div>
<div>
<a id="bottom" class="anchor" accesskey="z"></a>
{% if not S_IS_BOT %}{{ RUN_CRON_TASK }}{% endif %}
</div>
<script src="{{ T_JQUERY_LINK }}"></script>
{% if S_ALLOW_CDN %}<script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.6.0.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script>{% endif %}
<script src="{{ T_ASSETS_PATH }}/javascript/core.js?assets_version={{ T_ASSETS_VERSION }}"></script>
{% INCLUDEJS 'forum_fn.js' %}
{% INCLUDEJS 'ajax.js' %}
{% if S_ALLOW_CDN %}
<script>
(function($){
var $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
$span = $('<span class="fa" style="display:none"></span>').appendTo('body');
if ($span.css('fontFamily') !== 'FontAwesome' ) {
$fa_cdn.after('<link href="{{ T_ASSETS_PATH }}/css/font-awesome.min.css" rel="stylesheet">');
$fa_cdn.remove();
}
$span.remove();
})(jQuery);
</script>
{% endif %}
{% if S_COOKIE_NOTICE %}
<script src="{{ T_ASSETS_PATH }}/cookieconsent/cookieconsent.min.js?assets_version={{ T_ASSETS_VERSION }}"></script>
<script>
if (typeof window.cookieconsent === "object") {
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#0F538A"
},
"button": {
"background": "#E5E5E5"
}
},
"theme": "classic",
"content": {
"message": "{{ lang('COOKIE_CONSENT_MSG')|escape('js') }}",
"dismiss": "{{ lang('COOKIE_CONSENT_OK')|escape('js') }}",
"link": "{{ lang('COOKIE_CONSENT_INFO')|escape('js') }}",
"href": "{{ UA_PRIVACY }}"
}
});
});
}
</script>
{% endif %}
{% EVENT overall_footer_after %}
{% if S_PLUPLOAD %}{% INCLUDE 'plupload.html' %}{% endif %}
{{ definition.SCRIPTS }}
{% EVENT overall_footer_body_after %}
</div>
<!-- IF not S_IS_BOT -->
<script type="text/javascript">
// START MANDATORY CHANGES
var w3allAllowDomain = '*'; // MANDATORY! // Set/Change this value with your WordPress URL (example: https://axew3.com)
var wordpress_url_page_forum = 'https://photography.surferparadise.de/forum'; // MANDATORY! // (DO NOT ADD/INCLUDE final slash here) Url that point to your iframed wordpress forum page
var w3all_custom_wp_w3fancyurl = 'w3'; // MANDATORY! If you changed the default w3 to have 'fancy URL' query string into the related WP plugin admin option, then change this value to match the same as it is the fancy URL setting
// END MANDATORY CHANGES
var pmn = "{PRIVATE_MESSAGE_COUNT}";
var w3all_phpbb_u_logged = "{S_USER_LOGGED_IN}";
var w3allappend = false;
var boardU = "{BOARD_URL}";
// Lightbox scroll fix:
// remove /* and */ to activate, also more below to complete ...
/*
$(".postimage").on("click", function(event) {
var pos = event.pageY - 100;
$(parent.window).scrollTop( 200 );
var el = document.getElementById("lightbox");
$("#lightboxOverlay").on("click", function() {
$(parent.window).scrollTop( pos );
});
$(".lb-close").on("click", function() {
$(parent.window).scrollTop( pos );
});
$(".lightbox").on("click", function() {
$(parent.window).scrollTop( pos );
});
});
*/
function w3allNormalize_phpBBUrl(href){
// try to 'normalize' passed relative links: needed all after last slash /
// exception are kind of passed urls like: /phpbb323/app.php/help/faq
// and if SEO mods that may assign some different kind of links values
// by the way, SEO absolute urls http(s) should be (all?) already considered here ...
var phpbbRUrl = href.split(/^.+?(\w+.+)$/);
if( href.indexOf('app.php') > -1 ){ // since the previous not 'normalize' this type of passed value (and may miss something else)
phpbburl = href.split(/^.+?(app\.php.+)$/);
w3allappend = phpbburl[1];
} else if ( /^https?/ig.exec(href) !== null ){ // absolute http(s) passed: try to 'normalize' a possible seo mod
phpbburl = href.split(boardU);
w3allappend = phpbburl[1];
} else if ( phpbbRUrl[1] && phpbbRUrl[1].length > 1 ){ // 'normalize' any other
w3allappend = phpbbRUrl[1];
} else if ( phpbbRUrl[0].length > 1 ){
w3allappend = phpbbRUrl[0];
}
// ... if still not normalized
if(/^\W/ig.exec(w3allappend) !== null){
w3allappend = w3allappend.split(/^.+?(\w+.+)$/);
if(w3allappend[1]){
w3allappend = w3allappend[1];
}
if ( w3allappend[1] && w3allappend[1].charAt(0) == '/' ){
w3allappend = w3allappend[1].substr(1);
}
}
return w3allappend;
}
$(document).on("click", "a", function(e) {
var href = $(this).attr("href");
var w3all_onview_attach = (href.indexOf('file.php') > -1);
if( this.getAttribute('target') !== null ){
e.preventDefault();
window.open(href,'_blank');
return;
}
if ( href.charAt(0) == '#' || href.indexOf('\./download\/file\.php') > -1 ){ return; }
// external link?
if ((this.href.indexOf(boardU) > -1) != true){
if(/^(f|ht)tps?:\/\//i.test(href))
{
e.preventDefault();
parent.location.replace(href);
return;
}
}
if ( /\/adm\//ig.exec(href) !== null )
{
e.preventDefault();
parent.location.replace(href);
return;
}
if ( href.indexOf('view=print') > -1 !== false )
{
e.preventDefault();
window.open(href,'_blank');
return;
}
if ( href.indexOf('quickmod') > -1 ) {
w3allNOappend = true;
return;
}
if( /posting\.php\?mode=[reply|post|bump]/ig.exec(href) !== null || /mcp\.php\?/ig.exec(href) !== null ){
w3allNOappend = true;
}
// complete Lightbox correct attachment display // activate removing /* and */
// or used to open on new tab attachments
/*
if(w3all_onview_attach !== false){
e.preventDefault();
window.open(href,'_blank');
return;
} */
w3allappend = w3allNormalize_phpBBUrl(href);
if ('parentIFrame' in window){
if( typeof w3allNOappend == 'undefined' || w3allNOappend == false ){
window.parentIFrame.sendMessage(w3allappend);
}
}
});
// w3all UPDATES for phpBB events
if(window.self !== window.top){
$("#quickmod,.bookmark-link").on("click", function(event) {
var pos = window.scrollY + document.querySelector('#quickmod').getBoundingClientRect().top;
$(parent.window).scrollTop( 200 );
$("#darkenwrapper").on("click", function() {
$(parent.window).scrollTop( pos );
});
$("#darken").on("click", function() {
$(parent.window).scrollTop( pos );
});
});
if( window.location.hash.substr(1) == 'unread' ){
var postN = 1;
$( "h3 > a" ).each(function (e) {
ns = this.href.split('#p');
if( typeof ns != 'undefined' && /viewtopic.php\?p=/ig.exec(this.href) != null ){
if(ns[1] > postN){
w3lh = ns[1];
}
}
})
if( typeof w3lh != 'undefined' ){
w3lh = "p" + w3lh;
}
}
if( typeof w3allNOappend == 'undefined' || w3allNOappend == false )
{
$( window ).on( "load", function()
{
if(/#p/ig.exec(window.location.hash)){
//let e = document.getElementById(window.location.hash.substr(1)).getBoundingClientRect();
let p = document.getElementById(window.location.hash.substr(1));
let e = $(p).offset().top;
let w3append = '#w3all_phpbbpmcount=' + pmn + '#w3all_phpbb_u_logged=' + w3all_phpbb_u_logged + '#w3all_lochash=' + parseInt(e);
window.parent.postMessage({
'message': w3append
}, w3allAllowDomain);
} else {
let w3append = '#w3all_phpbbpmcount=' + pmn + '#w3all_phpbb_u_logged=' + w3all_phpbb_u_logged + '#w3all_lochash=0';
window.parent.postMessage({
'message': w3append
}, w3allAllowDomain);
}
// fix vertical iframe centered
var w3iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
if(w3iOS == false)
{
var bd = document.getElementsByTagName("body");
var t = document.getElementById(bd[0].getAttribute("id"));
if( typeof t != 'undefined' || t != false )
{
t.setAttribute("style", "position:fixed;top:0%;left:0%;width:100%;margin:0px;");
}
}
});
}
/*if (window.performance){
if( performance.getEntriesByType("navigation")[0].type == 'back_forward' )
{
var w3E = performance.getEntriesByType("navigation");
var w3ER = w3allNormalize_phpBBUrl(w3E[0].name);
parent.w3all_phpbb_pushUrlToParentOnBackForward(w3ER);
}
}*/
} // END if(window.self !== window.top){
</script>
<script type="text/javascript" src="https://forum.surferparadise.de/iframeResizer.contentWindow.min.js" defer></script>
<!-- ENDIF -->
<div data-iframe-height=""></div>
</body>
</html>
[/code]
forum-page.php:
[code]<?php get_header(); ?>
<div class="content section-inner">
<?php defined( 'ABSPATH' ) or die( 'forbidden' );
/*
Template Name: Forum
Template Post Type: page
* The default wp_w3all template to display content for the embedded phpBB
* @package WordPress
* @subpackage wp_w3all
* @V5 JS -> https://www.axew3.com/w3/2018/12/phpbb-wordpress-template-integration-iframe-v5/
*/
// @2023 axew3.com //
// START MAYBE DO NOT EDIT, but maybe yes!
if(defined("W3PHPBBCONFIG")){
// detect if it is the uid2 in phpBB and avoid iframe loop
$phpBBuid2 = (isset($_COOKIE[W3PHPBBCONFIG["cookie_name"].'_u']) && $_COOKIE[W3PHPBBCONFIG["cookie_name"].'_u'] == 2) ? 2 : 0;
} else { $phpBBuid2 = 0; }
// detect if running as no linked users mode and avoid iframe loop
if(defined("WPW3ALL_NOT_ULINKED")) { $phpBBuid2 = 0; }
global $w3all_iframe_custom_w3fancyurl,$w3all_url_to_cms,$w3all_iframe_custom_top_gap,$w3cookie_domain,$wp_w3all_forum_folder_wp;
$w3allhomeurl = get_home_url();
$current_user = wp_get_current_user();
$w3all_url_to_cms_clean = $w3all_url_to_cms;
$w3all_url_to_cms_clean0 = strpos($w3all_url_to_cms_clean, 'https://') !== false ? str_replace('https://', 'http://', $w3all_url_to_cms_clean) : str_replace('http://', 'https://', $w3all_url_to_cms_clean);
// guess to get the domain.com to display into preloader // array order here is !important
if(!empty($w3all_url_to_cms)){
$w3guessdomaindisplay = str_replace(array("http://www.","https://www.","http://","https://"), array("","","",""), $w3all_url_to_cms);
$spos = strpos($w3guessdomaindisplay,'/');
if($spos !== false)
{
$w3guessdomaindisplay = substr($w3guessdomaindisplay, 0, $spos);
}} else { $w3guessdomaindisplay = 'Did you setup the URL that point to phpBB into the integration plugin admin page<br /> and is it correct?'; }
if(!empty($w3cookie_domain)){
if(substr($w3cookie_domain, 0, 1) == '.'){
$document_domain = substr($w3cookie_domain, 1);
} else {
$document_domain = $w3cookie_domain;
}
} else { $document_domain = 'localhost'; }
// do not use wp is_ssl() because it fail on some server
$w3all_orig = strpos($w3all_url_to_cms,'https') !== false ? 'https://'. $document_domain : 'http://' . $document_domain;
$w3all_orig_www = strpos($w3all_url_to_cms,'https') !== false ? 'https://www.'. $document_domain : 'http://www.' . $document_domain;
// security switch
$w3all_url_to_cms0 = $w3all_url_to_cms;
if( isset($_GET["w3"]) ){ // default
$phpbb_url = trim(base64_decode($_GET["w3"]));
$w3all_url_to_cms = $w3all_url_to_cms . '/' . $phpbb_url;
if( preg_match('/[^-0-9A-Za-z\._#\:\?\/=&%]/ui',$phpbb_url) ){
$w3all_url_to_cms = $w3all_url_to_cms0;
}
} elseif ( isset($_GET[$w3all_iframe_custom_w3fancyurl]) ){ //fancy
$phpbb_url = trim(base64_decode($_GET[$w3all_iframe_custom_w3fancyurl]));
$w3all_url_to_cms = $w3all_url_to_cms . '/' . $phpbb_url;
if( preg_match('/[^-0-9A-Za-z\._#\:\?\/=&%]/ui',$phpbb_url) ){
$w3all_url_to_cms = $w3all_url_to_cms0;
}
}
if(substr($w3all_url_to_cms, 0, 5) == 'https'){
$w3all_url_to_cms_htt = substr($w3all_url_to_cms, 0, 5);
$w3all_url_to_cms_htt = 'http' . substr($w3all_url_to_cms, 5);
} else {
$w3all_url_to_cms_htt = substr($w3all_url_to_cms, 0, 4);
$w3all_url_to_cms_htt = 'https'.substr($w3all_url_to_cms, 4);
}
// old way - to be removed
// assure that passed url is correctly all decoded // may something else need to be added in certain conditions
$w3all_url_to_cms = str_replace(array("%2F", "%23", "%2E"), array("/", "#", "."), $w3all_url_to_cms);
// bug -> https://wordpress.org/support/topic/problem-using-iframe-feature-with-https/
if( strlen($w3all_url_to_cms) == strlen(get_option( 'w3all_url_to_cms' )) OR strlen($w3all_url_to_cms) == strlen(get_option( 'w3all_url_to_cms' )) + 1 )
{
// do not re-write value of the global $w3all_url_to_cms or index.php will be may appended into widgets avatars urls, so that will make it fail image loads
$w3all_url_to_cms_sw = $w3all_url_to_cms;
$w3all_url_to_cms_sw .= (substr($w3all_url_to_cms, -1) == '/' ? '' : '/');
} else { $w3all_url_to_cms_sw = $w3all_url_to_cms; }
// cleanup possible passed js undefined
if(substr($w3all_url_to_cms, -10) == '/undefined'){
$w3all_url_to_cms = str_replace('undefined', '', $w3all_url_to_cms);
$w3all_url_to_cms .= 'index.php';
}elseif(substr($w3all_url_to_cms, -11) == '/undefined/')
{
$w3all_url_to_cms = str_replace('undefined/', '', $w3all_url_to_cms);
$w3all_url_to_cms .= 'index.php';
}
function w3all_enqueue_scripts() {
wp_enqueue_script("jquery");
}
function wp_w3all_add_ajax() {
global $w3all_url_to_cms,$w3all_url_to_cms_sw,$wp_w3all_forum_folder_wp,$w3allhomeurl;
$w3all_url_to_phpbb_ib = $w3all_url_to_cms . "/ucp.php?i=pm&folder=inbox";
$s = "
<script type=\"text/javascript\" src=\"".plugins_url()."/wp-w3all-phpbb-integration/addons/resizer/iframeResizer.min.js\"></script>
<script type=\"text/javascript\">
// pre loader js code for iframe content
jQuery( document ).ready(function() {
jQuery('#w3idwloader').attr( \"class\", \"w3_wrap_loader\" );
});
jQuery(window).load(function() {
jQuery('#w3idwloader').css(\"display\",\"none\");
});
function w3all_ajaxup_from_phpbb_do(res){
jQuery(document).ready(function() {
if ( parseInt(res,10) > 0 && null == (document.getElementById('wp-admin-bar-w3all_phpbb_pm')) ){
var resp = '".__( 'You have ', 'wp-w3all-phpbb-integration' )."' + parseInt(res,10) + '".__( ' unread forum PM', 'wp-w3all-phpbb-integration' )."';
jQuery('#wp-admin-bar-root-default').append('<li id=\"wp-admin-bar-w3all_phpbb_pm\"><a class=\"ab-item\" href=\"".$w3all_url_to_phpbb_ib."\">' + resp + '</li>');
// window.location.reload(true);// this could be a work around for different themes, but lead to loop in this way
} else if (parseInt(res,10) > 0){
var r = '".__( 'You have ', 'wp-w3all-phpbb-integration' )."' + parseInt(res,10) + '".__( ' unread forum PM', 'wp-w3all-phpbb-integration' )."';
jQuery( 'li.w3all_phpbb_pmn' ).children().text( r );
} else {
if( parseInt(res,10) == 0 && null !== (document.getElementById('wp-admin-bar-w3all_phpbb_pm'))){
jQuery('li[id=wp-admin-bar-w3all_phpbb_pm]').remove();
}
}
});
}
</script>
<style type=\"text/css\" media=\"screen\">
.w3preloadtext{
color:#DDD;
font-size:3.5em;
font-family:impact,arial, sans-serif;
font-style:italic;
text-shadow: rgba(0,0,0,0) -1px 0px;
}
.w3_wrap_loader{
position:fixed;
top:0%;
bottom:0%;
left:0%;
right:0%;
background: rgba(0,0,0,0.95);
z-index:99999;
opacity:90;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
width:100%;
text-align:center;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
pointer-events:none;
height:100%;
}
.ww3_loader{
width:100%;
text-align:center;
}
.w3_loader {
height: 8px;
width: 30%;
align-items: center;
justify-content: center;
position: relative; left: 50%;
transform: translateX(-50%);
overflow: hidden;
background-color: #DDD;
border-radius: 20px;
margin:0px;padding:0px;
}
.w3_loader:before{
height: 8px;
border-radius: 20px;
display: block;
position: absolute;
content: \"\";
left: -200px;
width: 200px;
background-color: #333;
animation: loading 1s linear infinite;
}
@keyframes loading {
from {left: -200px; width: 30%;}
50% {width: 30%;}
70% {width: 70%;}
80% { left: 50%;}
95% {left: 120%;}
to {left: 100%;}
}
</style>
";
echo $s;
}
add_action('wp_enqueue_scripts', 'w3all_enqueue_scripts');
add_action('wp_head','wp_w3all_add_ajax');
// END MAY DO NOT MODIFY
// START a default WordPress page
get_header();
?>
<!-- noscript warning and simple preloader -->
<div id="w3idwloader" class="w3_wrap_loader">
<noscript><h3 style="background-color:#333;color:#FFF;padding:15px;font-size:0.8em;pointer-events:auto;">Javascript disabled: can't load the forum page at this Url.<br />Enable Javascript on your browser or visit the forum here:<br /><br /><?php echo $w3all_url_to_cms;?><br /><a href="<?php echo $w3all_url_to_cms;?>">To be auto-redirected click here<br />(may this link will not work)</a></h3></noscript>
<div class="w3preloadtext"><?php echo $w3guessdomaindisplay ; ?></div>
<div class="ww3_loader"><div class="w3_loader"></div></div>
</div>
<!-- START iframe div -->
<div style="width:100%;min-width:100%" id="" class="">
<iframe id="w3all_phpbb_iframe" style="width:1px;min-width:100%;*width:100%;border:0;" scrolling="no" src="<?php echo $w3all_url_to_cms; ?>"></iframe>
<?php
echo "<script>
var wp_u_logged = ".$current_user->ID.";
var phpBBuid2 = ".$phpBBuid2.";
var w3allhomeurl = '".$w3allhomeurl."';
var wp_w3all_forum_folder_wp = '".$wp_w3all_forum_folder_wp."';
var w3all_iframe_custom_w3fancyurl = '".$w3all_iframe_custom_w3fancyurl."';
function w3all_phpbb_pushUrlToParentOnBackForward(w3ER){
if(w3ER != ''){
var rem = w3ER.slice(-1);
if(rem == '#'){ w3ER = w3ER.substring(0, w3ER.length - 1); }
w3ER = window.btoa(unescape(encodeURIComponent(w3ER)));
var w3all_url_pushER = w3allhomeurl + '/' + wp_w3all_forum_folder_wp + '/?' + w3all_iframe_custom_w3fancyurl + '=' + w3ER;
window.history.replaceState({}, \"\", w3all_url_pushER);
}
}
function w3all_ajaxup_from_phpbb(res){
var w3all_phpbb_u_logged = /#w3all_phpbb_u_logged=1/ig.exec(res);
if(phpBBuid2 != 2){ // if not phpBB uid 2 or get loop for this user
if( w3all_phpbb_u_logged == null && wp_u_logged > 1 || wp_u_logged == 0 && w3all_phpbb_u_logged != null ){
document.location.replace('".$w3allhomeurl."/".$wp_w3all_forum_folder_wp."/');
}
}
jQuery('#w3idwloader').css(\"display\",\"none\");
var w3all_phpbbpmcount = /.*(#w3all_phpbbpmcount)=([0-9]+).*/ig.exec(res);
if(w3all_phpbbpmcount !== null){
w3all_ajaxup_from_phpbb_do(w3all_phpbbpmcount[2]);
}
var w3all_lochash = /.*(#w3all_lochash)=([0-9]+).*/ig.exec(res);
if(w3all_lochash !== null && w3all_lochash[2] != 0){
jQuery('html, body').animate({ scrollTop: w3all_lochash[2]}, 400);
} else {
jQuery('html, body').animate({ scrollTop: ".$w3all_iframe_custom_top_gap."}, 400);
}
} // END w3all_ajaxup_from_phpbb(res){
// array() of allowed domains
var w3all_orig_domains = ['".$w3all_url_to_cms0."','".$w3all_orig."','".$w3all_orig_www."','".$w3all_url_to_cms_clean."','".$w3all_url_to_cms_clean0."','https://localhost','http://localhost'];
iFrameResize({
log : false,
inPageLinks : true,
targetOrigin: '".$w3all_url_to_cms_sw."',
checkOrigin : w3all_orig_domains,
// heightCalculationMethod: 'documentElementOffset', // If iframe not resize correctly, un-comment (or change with one of others available resize methods)
// see: https://github.com/davidjbradshaw/iframe-resizer#heightcalculationmethod
onMessage : function(messageData){ // Callback fn when message is received
// w3all simple js check and redirects
var w3all_passed_url = messageData.message.toString();
var w3all_ck = \"".$_SERVER['SERVER_NAME']."\";
var w3all_pass_ext = (w3all_passed_url.indexOf(w3all_ck) > -1);
var w3all_ck_preview = (w3all_passed_url.indexOf('preview') > -1);
if (w3all_ck_preview == false) { // or the phpBB passed preview link, will be recognized as external, and preview will redirect to full forum url instead
// so these are maybe, external iframe redirects
if (w3all_pass_ext == true) {
window.location.replace(w3all_passed_url);
}
if (/^(f|ht)tps?:\/\//i.test(w3all_passed_url)) {
window.location.replace(w3all_passed_url);
}
}
if(/#w3all/ig.exec(w3all_passed_url)){
w3all_ajaxup_from_phpbb(w3all_passed_url);
}
// do not pass to be encoded an url with sid or if it point to phpBB admin ACP via iframe
if( /[^-0-9A-Za-z\._#\:\?\/=&%]/ig.exec(w3all_passed_url) !== null || /adm\//ig.exec(w3all_passed_url) !== null || /sid=/ig.exec(w3all_passed_url) !== null ){
w3all_passed_url = '';
}
// PUSH phpBB URLs //
if(w3all_passed_url != ''){
w3all_passed_url = window.btoa(unescape(encodeURIComponent(w3all_passed_url)));
var w3all_passed_url_push = '".$w3allhomeurl."/".$wp_w3all_forum_folder_wp."/?".$w3all_iframe_custom_w3fancyurl."=' + w3all_passed_url;
history.replaceState({}, \"\", w3all_passed_url_push);
}
} // end // onMessage
,
onScroll: function(x,y){
//return false;
}
});
window.addEventListener('message', function (event)
{
if (event.origin != '".$w3all_url_to_cms0."')
{
// console.error('The event origin do not match');
// console.error(event);
// return;
// the event origin will not match if the ssl certificate is not valid
// on chrome (and not only) it make it fail the iframe load
// to test locally with a self signed cert or expired cert:
// chrome://flags/#allow-insecure-localhost
}
// jQuery( window ).on( \"load\", function() {
if(/#w3all/ig.exec(event.data.message)){
w3all_ajaxup_from_phpbb(event.data.message);
}
//});
});
</script>";
?>
</div>
<!-- END iframe div -->
<?php get_footer();[/code]