The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Template Cache System Details »» | |||||||||||||||||||||||||
Notice: While filesystem caching does provide a performance increase; it can be futher increased. I plan on including mmcache, eaccelerator, and APC shared memory support in the near future. This will eliminate the need for reading/writing file to and from the filesystem. Summary: This modification will cache the templates that your forum uses to the file system saving you a mysql query. Normally this data is requested from the database on every page load, with this however we cache all the templates we would normally use into a file to be included as a standard php code. This will save you a pretty large query, the full size of the templates can be anywhere from 40kb to 200kb per page; even larger on some forums. It will literally take 1 or 2 minutes to install, not long for the benefits that you receive. PS. Use this in conjunction with my Other Hack (Compress Forum Templates) for speeding up your forum even more by compressing templates. https://vborg.vbsupport.ru/showthread.php?t=107615 PS. Use this in conjunction with my Other Hack (Accelerated Plugins) for speeding up your forum even more by Inlining your plugins. https://vborg.vbsupport.ru/showthread.php?t=107315 Instructions: 1. Download Zip File. 2. Read the INSTALL.txt 3. Click install if you like Updates: 3/14/2006 8:34am : Large update, adding additional file locking code as well as moved some redundant code into functions. If you have an active site I recommend that you update with the newest version. 3/14/2006 7:07am : Cleaned up the code a little bit, no need to redo the edits unless you are a perfectionist like myself 3/13/2006 12:52 / Typo Update: There was a typo in the global.php edit, please re-do that step. 3/13/2006 11:48 / Massive Critical Update: 1. Automatically caches any uncached templates. 2. Files are now stored as .php files to prevent easy viewing. I strongly recommend you update ASAP. Just follow the INSTALL.txt and go through the procedures again. PS. Make sure to empty the template_cache directory after upgrading. Thankyou. 3/12/2006 12:20pm 1. Now caches most action templates 2. The cache cleaner will not delete index.htm or index.html files. 3. Also updated the install.txt 4. Fixed parse error. To upgrade, just re-do the code modifications listed in the install.txt file. PLEASE clear the template_cache directory, after you redo the modifications. The new changes cache the actiontemplates as well. Troubleshooting: Start browsing your forum, going to your main page then browsing threads etc.. should start seeing items appear in that template_cache directory such as index_1.php, showthread_1.php etc.. if not you need to give this directory WRITE permissions (CHMOD 777) Show Your Support
|
Comments |
#82
|
||||
|
||||
After I upgraded it from version 2.1 to 2.5.2 or 2.5.4, these scripts show twice on forumhome.
Members who have visited the forum (Today or last 24 hours). https://vborg.vbsupport.ru/showthread.php?t=82769 Display count of unread posts in welcome box https://vborg.vbsupport.ru/showthread.php?t=96522 |
#83
|
||||
|
||||
Quote:
|
#84
|
||||
|
||||
yes, I did.
|
#85
|
||||
|
||||
Quote:
Will look into it later. |
#86
|
||||
|
||||
Your version 2.1 works fine.
|
#87
|
|||
|
|||
This is a cool addition but I have a double welcome panel after it gets cached.
I did clear the cache a couple tmes and get the same results after the second page load.. see attachment EDIT: I now also noticed my "Who has viewed thread" hack is no longer showing up |
#88
|
||||
|
||||
Will work on it later, its always the damn plugins.
|
#89
|
||||
|
||||
Quote:
|
#90
|
||||
|
||||
those wanting to sort global.php back to original
search Code:
($hook = vBulletinHook::fetch_hook('cache_templates')) ? eval($hook) : false; Code:
// now get all the templates we have specified /** * @author Dusty Burns (Trigunflame@charter.net) * @copyright 2006-2007 Dusty Burns * @package Vbulletin Template Cache * @version 2.5.0.0 * @todo Add Shared Memory Support */ /* * Is this actually necessary? * * Probably not, but right now I don't want hacks * whos authors did not copy the define() for * THIS_SCRIPT and change it; causing us to get * the wrong cache and screwing the page up. * * This basically makes sure that THE_SCRIPT does * correspond to the actual filename being requested. * * PS. You can change .php down below this to whatever * file ext you use for Your PHP files: ie .php4,.php5 */ if (THIS_SCRIPT == basename($vbulletin->script, '.php')) { // Cache Templates $vbulletin->cache_templates = true; /* * It is nice to have some sort of function * for locking while writing data. We could * just use flock, but for the sake of * conforming to how jelsoft does some things. * * Begin Generic Lock */ function tpl_cache_lock() { global $db; $lock_attempts = 5; while ($lock_attempts >= 1) { $result = $db->query_write( 'UPDATE ' . TABLE_PREFIX . 'adminutil SET ' . 'text = UNIX_TIMESTAMP() ' . "WHERE title = 'datastorelock' " . 'AND text < UNIX_TIMESTAMP() - 15' ); if ($db->affected_rows() > 0) { return true; } else { $lock_attempts--; sleep(1); } } return false; } function tpl_cache_unlock() { global $db; $db->query_write( 'UPDATE ' . TABLE_PREFIX . 'adminutil ' . "SET text = 0 WHERE title = 'datastorelock'" ); } /* * End Generic Lock */ // Check Existance $tpl_cache_name = DIR . '/template_cache/' . THIS_SCRIPT . '_' . STYLEID . '.php'; // Look For Cached File if (@include($tpl_cache_name)) { // Fake Cached Templates & Update Style cache_templates(array(), $style['templatelist']); } // Write Cache else { // Build Template Cache cache_templates($globaltemplates, $style['templatelist']); // Get File Lock if (tpl_cache_lock()) { $tpl_cache = "<?php\r\n" . '$vbulletin->templatecache = ' . var_export($vbulletin->templatecache, true) . ';' . "\r\n?>"; // Debugging Purposes if ($fp = @fopen($tpl_cache_name, 'w+')) { @fwrite($fp, $tpl_cache); @fclose($fp); unset($tpl_cache); tpl_cache_unlock(); } // Could Not Create File else { tpl_cache_unlock(); exit("Could not cache template file. The template_cache dir must be writable (CHMOD 777)."); } } } } // Vbulletin Default else { // now get all the templates we have specified cache_templates($globaltemplates, $style['templatelist']); } unset($globaltemplates, $actiontemplates, $_get_edit_templates, $_templatedo); Code:
// now get all the templates we have specified cache_templates($globaltemplates, $style['templatelist']); unset($globaltemplates, $actiontemplates, $_get_edit_templates, $_templatedo); |
#91
|
||||
|
||||
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|