[vbresults.com] Custom PHP Pages

[vbresults.com] Custom PHP Pages 1.2.2

No permission to download
Compatible XF 2.x versions
  1. 2.0
  2. 2.1
  3. 2.2
  4. 2.3
Additional requirements
PHP 7.1+
Visible branding
Yes, but removable with payment
Summary

This add-on allows creating any number of custom PHP pages with or without the XF layout.
A custom page has access to the XF engine's functions, including sessions and permissions.

All custom pages are their own PHP script with individual configuration; PHP knowledge is required.
A custom page script can be above, below or within the XF install folder, no restrictions.

You can optionally configure any of the following items on a per-page basis:
  • The custom <head> tag items on top of XenForo's defaults (presumably from an external script)
  • The custom page title
  • The custom page content
  • Whether or not to wrap above content in the XenForo layout
  • Whether or not to include XF's social meta tags for social media content previews
  • Whether or not to show breadcrumbs, and what breadcrumbs to show
[Branding-free license includes 11+ add-ons]

⭐⭐⭐⭐⭐ If you like this add-on and want more, please leave a short review here!

  1. Under Admin > Add-ons > Install/upgrade from archive, import/install the attached add-on zip
  2. Make a copy of sample.php script and name it whatever you want
  3. Point the script's XF constant value to your XenForo install folder; the default is DIR
  4. Set the $head and/or $content variables
  5. Adjust the \ScriptsPages\Setup::set parameters (below), and installation is complete
Sample.php
PHP:
<?php

// Set PHP Reporting
error_reporting(E_ALL & ~E_NOTICE);

define('__XF__', __DIR__); // EDIT VALUE IF SCRIPT IS NOT IN XF FOLDER
require __XF__ . '/src/XF.php';

$_SERVER['SCRIPT_NAME'] = __XF__ . '/index.php';
$_SERVER['REQUEST_URI'] = preg_replace("|^" . preg_quote(preg_replace('|(/+)$|', '', $_SERVER['DOCUMENT_ROOT'])) . "|", '', __XF__ . '/index.php');

XF::start(__XF__);

$app = \XF::setupApp('XF\Pub\App');
// $app->start(); // comment out for 2.3+
$request = $app->request();

\ScriptsPages\Setup::set('init', true);

// EDIT BELOW to set the page's $head and/or $content; the code below is a sample

/** ob_start();
require_once __DIR__ . DIRECTORY_SEPARATOR . pathinfo(__FILE__, PATHINFO_FILENAME) . "-head.php";
$head = ob_get_contents();
ob_end_clean(); **/

/** ob_start();
require_once __DIR__ . DIRECTORY_SEPARATOR . pathinfo(__FILE__, PATHINFO_FILENAME) . "-content.php";
$content = ob_get_contents();
ob_end_clean();  */

// EDIT BELOW TO CONFIGURE

\ScriptsPages\Setup::set([
    'breadcrumbs' => ['Item 1' => '/1', 'Item 2' => '/2', 'Item 3' => '/3'],
    'head' => $head,
    'content' => $content
]);

// STOP HERE

$app->run()->send($request);

Parameters
PHP:
[
    'navigation_id' => null, // the navigation tab to highlight
    'head' => null, // code to embed inside the <head> tag
    'metadata' => true, // include social media meta tags like 'og:*' for social media previews
    'title' => null, // the page title; if null, falls back to board title
    'breadcrumbs' => true, // true to include breadcrumbs, false to not, or an array of [name => href, ...]
    'content' => null, // the page content; this is required
    'raw' => false // whether or not to remove the XenForo layout
]
To set any parameter above from an external script, define the PHP constant SCRIPT_PAGE_{KEY} prior to loading XenForo, i.e.

PHP:
define('SCRIPT_PAGE_CONTENT', '<b>Hello world</b>');

Enterprise custom development - vbresults.com
Author
vbresults
Downloads
109
Views
2,156
First release
Last update

Ratings

5.00 star(s) 1 ratings

More resources from vbresults

Latest updates

  1. v1.2.2

    Fixed major bug causing custom breadcrumb and title parameters to be ignored. Changed minimum...
  2. v1.2.1

    Fixed InvalidArgumentException error.
  3. v1.2

    Cleaned out old code A companion add-on to make these custom php pages searchable is now...

Latest reviews

Been using this add-on for XenForo since its' first release in early 2019. I have also used a similar functioning add-on this same developer created for vB4 in years prior. This add-on works great and easily allows you to add custom php pages to your forum.
Back
Top Bottom