CustomPages by HeadHodge

Unmaintained CustomPages by HeadHodge 1.0

No permission to download
Compatible XF 1.x versions
  1. 1.3
License
Liscensed under the MIT License (http://www.opensource.org/licenses/mit-license.php)
Updates duration
N/A
Visible branding
No
CustomPages by HeadHodge
Includes two CustomPages: 'FileTool' and 'Hello'​

I do volunteer database mgmt. and custom coding for The Kavaforums, a worthy non-profit organization.

During the course of my work, I developed a file tool that I use to make my job a little easier. I call it 'FileTool' (original isn't it?).

'FileTool' Screenshot:
Snapshot 1.webp


The work I needed to do required me to learn how to work with the Xenforo framework. To help me learn, I developed a little test program that I use to experiment XF concepts. I call it 'Hello'. It's my rendition of the veritable time-honored hello program.

'Hello' Screenshot:
Snapshot 2.webp


I had such a long learning curve with Xenforo, I thought I would share my code with the hopes that it may help others using the Xenforo framework.

Administrators may find this useful as a remote file tool. Developers and others may find this useful as a working example that demonstrates a variety of techniques I use to interface with the Xenforo framework.

I include my 'Hello' page for those who may be interested in a bare bones example of a CustomPage with a xf style overlay using Ajax/Json.
___________________________________________

'File Tool' Features:
  • Traverse the Server File Structure.
  • Upload Files.
  • Cut, Copy, Paste Directories and Files.
  • Edit/Delete Directories and Files.
  • Unzip Files.
___________________________________________

'File Tool' Techniques:
  • JQuery/Html:
    • Passing objects between client/server using Ajax/Json
    • Creating multpart forms with the HTML5 FormData object
    • Create a multipart post to upload FormData files
    • Encode/Decode binary data in a Json object
    • HTML5 'flex' elements for better layout control
    • Self invoking objects to isolate variables (Namespace)
    • Use of delegation to catch events for dynamic added elements
  • JQuery-Tools:
    • Creating xf style overlays
  • JQuery-UI:
    • Dragging/Dropping Table Columns
    • Dragging/Resizing Table Columns
  • PHP:
    • Various file system functions (i.e. 'rename file', 'delete file')
    • Dynamic class loading
    • Unzipping files
    • Retrieving/Saving uploaded multipart form files
    • Encoding/Decoding binary data for Json objects
  • Xenforo:
    • Interfacing Page Nodes to a callback controller
    • Using a JSON View method to stringify objects to Json format
    • Using a RAW View method to return Html without templates
    • Using Callbacks in templates to inject Html into them.
    • Using $Visitor object to implement a security feature.
___________________________________________

Pricing/Support:

I distribute CustomPages freely to everyone under the MIT License (The MIT License (MIT) | Open Source Initiative).

If you find this tool useful please donate a little (or a lot) to The Kavaforums. It's a worthy non-profit. All donations go directly to them for the exclusive use of offsetting their operation costs to keep their valuable web site alive.

This is not a commercial product so I provide very limited support for it. You will get extra attention from me with any amount of Donations made to The Kavaforums.

Donate to KavaForums.gif

___________________________________________

Installation:

Download the and install the attached zip file.

Verify that the result installed:

Directories:
/root/js/CustomPages
/root/library/CustomPages

Templates:
HeadHodge_FileTools
HeadHodge_FileTools_Edit
HeadHodge_FileTools_Reply
HeadHodge_Hello

Use the Admin CP to create a new Node of type Page (anywhere you like).

For the Page Node you use for FileTool:

Set the URL Portion field in the Page Node form needs to exactly the name 'FileTool' (see attachment).
Snapshot 3.webp


Set the PHP Callback field in the Page Node form to: 'CustomPages_Controller :: getGuestReply' (see attachment)
Snapshot 4.webp

For the Page Node you use for Hello:

Set the URL Portion field in the Page Node form needs to exactly the name 'Hello' (see attachment).
Snapshot 5.webp


Set the PHP Callback field in the Page Node form to: 'CustomPages_Controller :: getGuestReply' (see attachment)
Snapshot 4.webp

Note:

If you downloaded an early version and get a 'Not Authorized' error when running the add-on, edit the following file to disable the security check (see attachment)

Edit this file:
/root/library/CustomPages/FileTool/Controller.php
Snapshot 6.webp
  • Like
Reactions: JP1021
Author
HeadHodge
Downloads
23
Views
476
First release
Last update

Ratings

0.00 star(s) 0 ratings
Top Bottom