XThreads
Author Message
My Spiel
XThreads is one of my larger plugins which I have been working on for a while.  Originally planned to release it inline with MyBB 1.6, but who knows when that'll be out.  It perhaps doesn't include everything I wanted it to, but does have most of the things (plus I want to move onto other projects).

What does it do?
Take a look at RateU's forum for some nice ideas of what it can do.  I also have some more basic examples here of what can be done with XThreads.  I'm pretty sure there are many other applications of this plugin, but those examples just give you some simple ideas.

The basic idea is giving you the ability to define custom fields for your threads, and providing methods to give you a lot of flexibility with customising forums.

Warning: I'm not going to bother with "beta" labels and so on.  I've done some testing on this myself, but it's by no means extensive.  Use this at your own risk.

Installation Instructions: standard installation procedures apply - you can find them in the announcement here.
You may need to CHMOD the uploads/xthreads_ul/ folder to 0777 after uploading the files (probably won't though).

Upgrade Instructions: unless stated otherwise, the general procedure for upgrades is to simply upload the new files, then visit your AdminCP.  In there, you'll be presented with a notice to run the upgrade - just follow what it says from there on.

Usage Instructions: this is a complex plugin, and unfortunately, you're probably going to have to figure this out yourself, depending on what you want to achieve with this plugin.  HTML and CSS knowledge is strongly recommended; you should also be familiar with MyBB's template system.  Some demonstrations can be found here - hopefully these will give you a good idea of how things work.  I suggest looking at the thread descriptions example, as this is fairly easy to understand (IMO).  If you can understand how everything works, there, perhaps try out the gallery example.

Known conflicting plugins
- MyPlaza Turbo -
If you are using MyPlaza Turbo, note that the author decided to use a particularly odd method to implement certain functionality, practically destroying compatibility with any plugin which hooks into the forum add/edit routines.  I've included a patch to address this issue - you need to replace inc/myplaza/myplaza_admin_plugin.php with the following file (it's unlikely that this will be committed as the author has decided to discontinue development)

.php  myplaza_admin_plugin.php (Size: 56.27 KB / Downloads: 2417)

- PL9 Forum Icons -
Affects certain functionality.  See here for a solution.

- PHP in Templates, v1.4 or older -
Similar to PL9 Forum Icons - solution is just to update to the latest version.

- MyAdvertisements - (update: older versions only, later versions may not conflict)
Affects some thread functionality, see here for a solution.

- Group Post CSS -
See here http://mybbhacks.zingaburga.com/showthre...http://mybbhacks.zingaburga.com/showthread.php?tid=378&pid=59

All bug reports, suggestions, criticisms are appreciated (though I may not always implement suggestions) so please feel free to post them.
If you find this plugin useful, I would be grateful if you could give some token of appreciation for the work that has gone into this, and perhaps post some example usages you've come up with in the XThreads forum to help others get an idea of what can be achieve with this plugin (and for my own interest's sake Tongue).


Github: https://github.com/zingaburga/XThreads-MyBB-Plugin
Note: do NOT use the Github version, unless you know what you're doing
Changelogs: v1.10, v1.20, v1.21, v1.22, v1.23, v1.24, v1.25, v1.26, v1.27, v1.30, v1.31, v1.32, v1.337, v1.40, v1.41, v1.42, v1.43, v1.44, v1.45, v1.46, v1.47, v1.50, v1.51, v1.52, v1.53, v1.60, v1.61, v1.62, v1.63, v1.64, v1.65, v1.66, v1.67, v1.68
(This post was last modified: 12-25-2015 12:46 PM by ZiNgA BuRgA.)
Find all posts by this user
Quote this message in a reply
Download: xthreads-1.68.7z (114.53 KB)
Plugin Version: 1.68
Last Updated: 12-25-2015, 12:46 PM

Downloads: 8,437
MyBB Compatibility: 1.4.x, 1.6.x, 1.8.x
Plugin License: GPLv3
Uploader: ZiNgA BuRgA
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #831
RE: XThreads
Sorting by prefix is slow enough as it is, I don't really want to imagine the performance impact of (text) sorting on a joined field.
In other words, I wouldn't expect it to come soon, unless you don't mind murdering your database.

My Blog
06-19-2015 10:34 AM
Find all posts by this user Quote this message in a reply
XPMai Offline
Junior Member
**
Posts: 8
Joined: May 2015
Post: #832
RE: XThreads
Most of us are shared hosting, thus, the servers aren't ours. Hence, it's fine. Tongue
06-19-2015 03:48 PM
Find all posts by this user Quote this message in a reply
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #833
RE: XThreads
(06-19-2015 03:48 PM)XPMai Wrote:  Most of us are shared hosting, thus, the servers aren't ours.
Hence the host will kick you off if you use the slightest bit of load.

Of course, in reality, like 90% of MyBB forums have no visitors and no threads, hence no load to worry about.

My Blog
06-20-2015 12:19 PM
Find all posts by this user Quote this message in a reply
Sir Tempest Offline
Junior Member
**
Posts: 4
Joined: Jun 2015
Post: #834
RE: XThreads
Hi,

Just got this on the latest myBB version (1.8.5), since I was impressed with what I could do with it. On a brand new forum with the only other plugin being the Preparser Cache (1.12), I'm having some issues. With XThreads installed and activated, the web server returns a 500 error on the index and the portal (and by extension I'm guessing userCP and post). Only the adminCP works. Nothing appears in my logs either. Some stats about the stack:

Ubuntu 14.04.02
Nginx 1.7.10
HHVM 5.6.99
PHP-FPM 5.5.9ubuntu4.9 + APC
MariaDB 10.0.20

It shouldn't be an issue with my stack, since both HHVM and PHP-FPM (HHVM is the primary PHP processor with PHP-FPM as a fallback) failed. MariaDB is a drop in replacement for MySQL, so that also should not be an issue. Is it an issue with the newest version of myBB?

Thanks,
Tempest
(This post was last modified: 06-24-2015 02:11 PM by Sir Tempest.)
06-24-2015 02:03 PM
Find all posts by this user Quote this message in a reply
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #835
RE: XThreads
Are PHP errors actually being logged?  Check your configuration.
You can also try enabling errors to be displayed (unsure about HHVM config, but it's "display_errors" for regular PHP).

My guess would be that you may not have correct file permissions somewhere, but check the logged errors if possible.

My Blog
06-24-2015 05:24 PM
Find all posts by this user Quote this message in a reply
Sir Tempest Offline
Junior Member
**
Posts: 4
Joined: Jun 2015
Post: #836
RE: XThreads
Alright. I got HHVM to finally log errors (Both PHP and HHVM are a bitch about logging errors correctly) and here's the relevant lines:

Code:
1
2
3
4
5
6
\nFatal error: syntax error, unexpected '{' in /usr/share/nginx/forum/cache/xthreads_evalcache.php on line 47
\nNotice: Undefined property: MyBB::$request_mode in /usr/share/nginx/forum/inc/xthreads/xt_admin.php on line 1780
\nNotice: Undefined variable: msg in /usr/share/nginx/forum/inc/xthreads/xt_admin.php on line 1837
\nNotice: Undefined index: 2 in /usr/share/nginx/forum/admin/styles/default/style.php on line 50
\nNotice: Undefined index: 2 in /usr/share/nginx/forum/admin/styles/default/style.php on line 47
\nFatal error: syntax error, unexpected '{' in /usr/share/nginx/forum/cache/xthreads_evalcache.php on line 47


So it seems the real issue, since the notices don't mean much, is the the syntax error on line 47 of xthreads_evalcache.php. I'll see if I can fix it quick.

06-25-2015 07:37 AM
Find all posts by this user Quote this message in a reply
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #837
RE: XThreads
The evalcache file is auto generated, so probably not a good idea to edit it as it can just get overwritten.
If you still have a copy of the broken file, could you upload it?

My Blog
06-25-2015 09:36 AM
Find all posts by this user Quote this message in a reply
Sir Tempest Offline
Junior Member
**
Posts: 4
Joined: Jun 2015
Post: #838
RE: XThreads
Here you go. While I admit I'm not great with PHP -- I do more with node and python -- I couldn't find an issue. I looked through it in my IDE and everything seemed to line up. Must be some PHP semantics I don't know or I'm dumb and missed it.


Attached File(s)
.php  xthreads_evalcache.php (Size: 6.26 KB / Downloads: 350)
06-25-2015 03:17 PM
Find all posts by this user Quote this message in a reply
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #839
RE: XThreads
Hmm, do you know if that file is generated by HHVM?  You can force the file to be regenerated by deleting it then visiting a page in the AdminCP.
I'm not sure why, but the file is definitely not generating correctly (the correct file should look like the one in the attachment below).

If you're keen on debugging it yourself, the culprit is likely in the xthreads_phptpl_parse_fields function in inc/xthreads/xt_phptpl_lib.php
If I force the $in_string variable to be true, I get the same output as you do.  But otherwise, I can't see why it's like that. Erf


Attached File(s)
.php  xthreads_evalcache.php (Size: 6.33 KB / Downloads: 335)

My Blog
06-26-2015 12:26 PM
Find all posts by this user Quote this message in a reply
Sir Tempest Offline
Junior Member
**
Posts: 4
Joined: Jun 2015
Post: #840
RE: XThreads
Well, it seems HHVM was the culprit. Disabling HHVM and forcing Nginx to use PHP-FPM caused the file to be generated correctly. Once it's generated, HHVM seems to work fine again. It seems I've run into one of the disparities between HHVM and the Zend engine. Oh well. HHVM is so damn fast I'm willing to put up with a few hiccups. Anyways, thanks. XThreads will be a great edition to my forums.
06-26-2015 01:44 PM
Find all posts by this user Quote this message in a reply


Forum Jump: