I don't know what the rules are here about editing someone elses work,
so if the mods feel this is "over the line" then please delete.
I take absolutely no credit for ibproarcade, it is a fantastic mod and so good, it was essential I get it up and running on VB4.
Perhaps there are better ways to do this and there could be glitches, but here is what I did to get my arcade back.
First, this assumes you still have ibproarcade installed.
Step 1: Log into Admin, deactive "ibProArcade: ARCADE Template Cache"
(Perhaps someone else can help with this plugin)
Step 2: Erase and replace your ARCADE template with the following:
Code:
{vb:stylevar htmldoctype}
<html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
<head>
<title>{vb:raw vboptions.bbtitle}</title>
{vb:raw headinclude}
</head>
<body>
{vb:raw header}
{vb:raw navbar}
<div id="pagetitle">
<h1>{vb:raw pagetitle}</h1>
</div>
<h2 class="blockhead">Arcade</h2>
<div class="blockbody">
<div class="blockrow">
{vb:raw arcadeheader}
{vb:raw maincontent}
</div>
</div>
{vb:raw footer}
</body>
</html>
Step 3:
Locate the arcade standard file functions.php in /arcade/functions/
Near line 1345 you will see the following:
Code:
// HTML-TITLE DONE :)
$debug = false;
$navbits = $output_array['NAV'];
$navbits = construct_navbits($navbits);
eval('$navbar="' . fetch_template('navbar') . '";');
eval('$footer="' . fetch_template('footer') . '";');
$maincontent = $this->to_print;
eval('print_output("' . fetch_template('ARCADE') . '");');
exit;
Erase this code and replace with:
Code:
// HTML-TITLE DONE :)
$debug = false;
$navbits = $output_array['NAV'];
$navbits = construct_navbits($navbits);
$navbits = construct_navbits(array('' => 'Arcade'));
$navbar = render_navbar_template($navbits);
$maincontent = $this->to_print;
$templater = vB_Template::create('ARCADE');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('footer', $footer);
$templater->register('pagetitle', 'Arcade');
$templater->register('maincontent', $maincontent);
$templater->register('arcadeheader', $arcadeheader);
print_output($templater->render());
exit;
Step 4:
Edit your index.php file in root to support the score saving routine by adding the following code at or near the top of the index.php file.
Code:
// ibProArcade modification
if($_POST['module'] == "pnFlashGames"){
$_GET[act] = "Arcade";
$_GET['module'] = "arcade";
}
if($_POST['module'] == "pnFlashGames"){
$_GET[autocom] = "arcade";
$_GET['module'] = "arcade";
}
if($_POST['func'] == "storeScore"){
$_GET['do'] = "pnFStoreScore";
}
if($_POST['func'] == "saveGame"){
$_GET['do'] = "pnFSaveGame";
}
if($_POST['func'] == "loadGame"){
$_GET['do'] = "pnFLoadGame";
}
$act = $_GET[act];
$showuser= $_GET[showuser];
if($act == "Arcade") {
include "arcade.php";
exit();
}
if($act == "autocom") {
include "arcade.php";
exit();
}
if(!empty($showuser) && $showuser >= 1) {
$u = $showuser;
$_GET[u] = $showuser;
include "member.php";
exit();
}
// end of ibProArcade modification
Hopefully this will work for you. I am by no means a pro so don't bust my chops if this don't work for you.
Just trying to get a patch out there until the REAL coders provides a better solution.
One more note... Be sure to make a backup of your index.php file as - like me - I am sure you will overwrite it with future VB4 updates.
Oh an props to Lynne for her consolidated article here:
https://vborg.vbsupport.ru/showthread.php?t=228112
It helped me get the idea behind this alteration.