Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
WebTemplates 4.x: VB Integrated CMS (Content Management System) Details »»
WebTemplates 4.x: VB Integrated CMS (Content Management System)
Version: 4.0.2, by Logician Logician is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Portal Software - Version: 4.x.x Rating:
Released: 09-08-2010 Last Update: 10-11-2013 Installs: 244
DB Changes Uses Plugins
Additional Files  
No support by the author.

(This hack is for vb version 4.x and above. For vb 3.x, version see my profile for relevant threads.)

"WebTemplates" is a vBulletin integrated Content Management System which allows you to create vb integrated "HTML" pages in your vb admin cp very easily. The pages can inherit your vbulletin skin/style, can recognize logged-in user, can be applied permissions per user or usergroup basis, can keep visit logs, hit counts and do many more.


WEBTEMPLATES 4.x BASIC FEATURES:
  • Very Easy Installation : Webtemplates can be installed to your board without modifying even a single vbulletin file. It is coded as a vb product and can be imported very easily.
  • Apply VB Permissions: You can ban any webtemplate to any user or usergroups easily. So for instance you can design a webtemplate which only members can see while guests can not, or only user A can not see etc.
  • Page Counter : Each webtemplate has a built-in counter and you can display page count to your visitors and you can edit it or turn it OFF/ON per webtemplate basis.
  • Visitor Logging&Tracking : You can track certain users' (by usergroup or userid) webtemplate visits to see who visited a webtemplate and when. This is configurable per webtemplate basis.
  • Site Contributers (Editor) Support : You can grant editing permissions for certain users or usergroups for your webtemplates individually and they will be able to update these webtemplates using their own editor interface. vB's WYSIWYG editor is supported in Editor interface.
  • Page Browsers & Who is Online Display: Webtemplates can display who is browsing that webtemplate while visitor is reading them (like default forum browse display of vbulletin). Webtemplate visits can also be monitored in who is online page.
  • Header/Footer Inclusion : Webtemplates can automatically use headers/footers (your default vb header/footer or custom ones)
  • Help Documents : The script comes with an extensive help document.
  • Admin Panel in Webtemplates : Your webtemplates can include an "admin panel" displayed to only admins and by using them you can access many details and stats of your page while you are browsing them.
  • SEO friendly URLs: You can make webtemplate URLs seo friendly in vb settings (Requires apache server).
  • XML Import/Export : XML Import/Export feature allows you to backup your webtemplates and use other hack users webtemplates in your board.
ADVANCED FEATURES FOR ADVANCED USERS:
  • Webquery Feature : With advanced "webquery" feature you can create dynamic webtemplates which include database query results. For instance you can easily add "last 10 threads forum X", "most active users list" etc. to your webtemplates with default webqueries that comes with installation or you can create your custom webqueries with basic SQL knowledge.
  • Multi Parsing : Webtemplates can parse PHP or HTML or TEXT (=smilie/img tags/bbcode parsing like vb posts). This means you can design a page just like vb posts (TEXT parsing), standart HTML (HTML parsing) or even in PHP (PHP parsing).
  • PHPINCLUDE per webtemplate : Every webtemplate has its own "phpinclude" field which you can run PHP codes before loading the Webtemplate
  • Theme Support : Webtemplates support "themes" which are parent webtemplates which include child webtemplates in them. For instance if you have 20 similiar pages which uses the same visual look, you can make a single theme for all of them, then just insert their content into this theme. If you change theme later, all 20 pages' visual will change automatically.
  • Conditionals : Webtemplates supports VB3 template conditionals so you can design webtemplates which change their display under different conditions.
  • Default variables : You can use/display certain variables in your webtemplates like username of the visitor, visitor email address, last visit time, page creation time, page last edit time, Last visitor name, last visit time etc.
Sample WebTemplates from Sites using this hack:
(Most are from 3.x versions but WebTemplate look and feel didn't change much so all will give you the idea.)

http://www.worldwideknights.com/view_mission.htm
http://www.theadminzone.com/forums/view.php?pg=aboutus
http://www.hystersisters.com/vb2/view_guidelines.htm
http://www.worldwideknights.com/view_info.htm
http://www.hystersisters.com/vb2/view_books.htm
http://www.worldwideknights.com/view_spread.htm
http://www.makeuptalk.com/forums/view.php?pg=makeuptalk-newsletter
http://www.bklab.com (entire site is designed with Webtemplates only)
(Actually this hack is one of the most popular vb hacks so it is used by hundreds -if not thousands- of vbulletin sites and you can easily find them if you go to google and search "Logician's WebTemplates" WITH quotation marks)

If you use the hack, clicking here will make sure you'll know about updates&bug fixes. It will also help me understand how many people is using the hack so please click the install button if you use it. Thank you..

Quote:
From FAQ 13: Vbulletin already has a CMS now , why would I need this hack?

If you have CMS license, you might not need Webtemplates. On the other hand, CMS license is paid, webtemplates is free and many forum owners don't have CMS licenses.

Also please note that vb has CMS since 2010. Webtemplates was first released for vb2.x in 2002 and it was around in vb3.x, 3.5.x and above for thousands of vbulletin users who have developed their sites around webtemplates CMS. So regardless of new vb CMS owners might or might not need it, Webtemplates 4.x is still realased and supported as a courtesy to its old users and fans. I personally prefer and use Webtemplates over vb CMS and this hack lives for people who agrees with me.
Version Updates:
12.October.2013 - > Version 4.0.2
* Minor fixes for PHP 5.4.x (Fixes "Deprecated: Assigning the return value of new by reference is deprecated" errors in new PHP versions.
14.July.2012 - > Version 4.0.1
* Vbulletin changed WYSIWYG editor parsing in vb4.2.x so hack's editor.php is updated accordingly.
9.September.2010 - > Version 4.0.00
* Hack 4.00.00 is released.

Download Now

File Type: zip WebTemplates 4.0.2.zip (101.3 KB, 301 views)

Screenshots

File Type: jpg wt_sample1.jpg (114.2 KB, 0 views)
File Type: jpg wt_sample2.jpg (113.8 KB, 0 views)
File Type: jpg wt_sample3.jpg (119.1 KB, 0 views)
File Type: jpg wt_wysiwygediyor.jpg (106.2 KB, 0 views)
File Type: jpg wt_admincp1.jpg (153.0 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
Muhammad Rahman, ryancooper

Comments
  #272  
Old 02-18-2013, 06:22 AM
hugh_ hugh_ is offline
 
Join Date: Mar 2005
Location: Netherlands
Posts: 368
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you. This is very useful.
Reply With Quote
  #273  
Old 03-02-2013, 07:46 PM
haze108 haze108 is offline
 
Join Date: Aug 2012
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thank you so much !
Reply With Quote
  #274  
Old 04-24-2013, 11:28 AM
selwonk's Avatar
selwonk selwonk is offline
 
Join Date: Jul 2005
Location: Manchester, UK
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've just installed WebTemplates on a new forum. I used it very successfully on a forum I sold a few years ago and, IMHO, it remains far and away the best CMS mod available for vBulletin.

One slight problem I'm experiencing is with table styling. It's possible I solved this when I used it before, but I can't get it to work now.

The rendered HTML table looks like this:
Code:
<table cellspacing="5" cellpadding="5" border="1">
  <thead>
    <tr>
      <th>Username</th>
      <th>No. of referrals</th>
    </tr>
  </thead>
  <tbody><tr>
    <td>Prof Pat Pending</td>
    <td>3</td>
  </tr><tr>
    <td>Raven</td>
    <td>1</td>
  </tr><tr>
    <td>Water Cooled</td>
    <td>1</td>
  </tr></tbody>
</table>
The border is rendered correctly, but:

a) the TH attribute does not render as bold;
b) the cellpadding is ignored;
c) the cellspacing is ignored.

Whilst I appreciate that the general consensus is to avoid TABLE tags and replace with DIVs, this is tabular data so perfectly suited to a TABLE.

Are there vBulletin CSS table classes that I've overlooked which might help me to render my tables in a suitably vBulletinesque way?

Thanks in advance!
Reply With Quote
  #275  
Old 04-24-2013, 11:44 AM
selwonk's Avatar
selwonk selwonk is offline
 
Join Date: Jul 2005
Location: Manchester, UK
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok.

I hadn't considered checking the WebTemplate themes.

If anybody is looking to apply custom styling to elements within WebTemplates pages, add a new CSS block before </head> in your selected theme and set customisation there.
Reply With Quote
  #276  
Old 04-24-2013, 03:26 PM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by selwonk View Post
Ok.

I hadn't considered checking the WebTemplate themes.

If anybody is looking to apply custom styling to elements within WebTemplates pages, add a new CSS block before </head> in your selected theme and set customisation there.
Alternatively you can use plain in-line CSS to design any HTML elements.

Eg.
<th style="font-weight:bold; color:#000099">Username</th>

Webtemplates does not "touch" your styling actually. Its vb's style sheet that applies to any webtemplate content.
Reply With Quote
  #277  
Old 05-26-2013, 04:52 PM
EricGT EricGT is offline
 
Join Date: Jan 2004
Posts: 56
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I love this mod. It would be great if each page template could pass a unique 'THIS_SCRIPT' variable though. I have several WebTemplate pages that each have their own navigation tab. Due to the fact that the same script generates all of them, only one of these tabs can be the 'Selected tab'' when it is clicked, allowing it to have a different color title text and to show a submenu. I worked around this by hacking the functions_navigation.php file, but it would be great to have this addressed within the mod.

Thanks for a great system. Even with a v4.2.1 CMS install, there is still a real need for the abilities this mod provides.
Reply With Quote
  #278  
Old 05-30-2013, 02:15 PM
EricGT EricGT is offline
 
Join Date: Jan 2004
Posts: 56
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by EricGT View Post
I love this mod. It would be great if each page template could pass a unique 'THIS_SCRIPT' variable though. I have several WebTemplate pages that each have their own navigation tab. Due to the fact that the same script generates all of them, only one of these tabs can be the 'Selected tab'' when it is clicked, allowing it to have a different color title text and to show a submenu. I worked around this by hacking the functions_navigation.php file, but it would be great to have this addressed within the mod.

Thanks for a great system. Even with a v4.2.1 CMS install, there is still a real need for the abilities this mod provides.
After I posted the above comments, I looked through this thread and found the navigation tab issue brought up over and over, with no satisfactory answer. I think it is pretty important to be able to have more than one WebTemplate-generated page linked to in the navigation bar and still have the 'Selected' function of the nav tabs work. I'm not sure why something this fundamental wasn't addressed long ago.

The answer was a simple one. I put a conditional statement above the line where the 'THIS_SCRIPT' constant was defined. It takes the pg= value and assigns it as the THIS_SCRIPT constant.

Drawing from something Logician did, I took it a step further and looked for an underscore in the pg= value. If one was found, the text to the left of the underscore and the underscore itself becomes the THIS_SCRIPT value. This way, if there are a large number of submenu items for a WebTemplates-generated page, all of the sub-pages can highlight the correct navigation tab if the same prefix is used in their template names, without having to list each of their THIS_SCRIPT values in the navigation tabs admin area. That variable only allows 30 characters of data, so that capacity could quickly become exhausted.

In the canned templates installed with this mod, every template that used the Site Information Pages Template theme has a template name that starts with 'info_'. With this naming schema, every Webtemplates-generated page that used that prefix would highlight the same navigation tab using my mod to this mod, if the value 'info_' was added as the Tab Script(s) value for that tab.

Anyway, I am a little embarrassed to share the code I used. I am a PERL programmer that is new to PHP and I couldn't get the Regex conditionals to function for me cleanly in PHP, so the code is a little sloppy. It works great though. In the view.php file, replace the
PHP Code:
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT''view'); 
with the code below.

PHP Code:
// #################### DEFINE IMPORTANT CONSTANTS #######################

if (preg_match('/view\.php/i'$_SERVER['REQUEST_URI'])) {
   
$SelectResult preg_split'/=/'$_SERVER['REQUEST_URI'] );
   
$SelectVariable $SelectResult[1];
   if (
preg_match('/_/i'$SelectVariable)) {
      
$SelectResult2 preg_split'/_/'$SelectVariable );
      
$SelectVariable $SelectResult2[0] . '_';
   }
} else {
      
$SelectVariable 'view';
}        
define('THIS_SCRIPT'$SelectVariable); 
The THIS_SCRIPT value will then be whatever you named a given template, unless your template name has an underscore '_' in it. Then, it will be all of the name left of the underscore and the underscore itself. I left the underscore in there to prevent any accidental matches with other names. 'Info', for instance, might get used in a variable name that did not start with 'info_'.

I hope this info helps. If you find this helpful and can clean up my See-Spot-Run Regex's in my code, I'd appreciate it if you could post the cleaned up code here, so I can see what I was doing wrong. I had to use the two preg_split commands because I couldn't pull the relevant data out of the string in the conditional matches. This is really easy in PERL. I suspect it is in PHP as well. I just got tired of trying to make it work. Thanks and thanks again to Logician, for a wonderful mod.
Reply With Quote
  #279  
Old 06-12-2013, 05:01 PM
brandon515 brandon515 is offline
 
Join Date: Nov 2006
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a way to create a web query that would list the last x number of threads for a forum for a specific date?

Thanks,
Brandon
Reply With Quote
  #280  
Old 06-13-2013, 07:14 AM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by brandon515 View Post
Is there a way to create a web query that would list the last x number of threads for a forum for a specific date?

Thanks,
Brandon
Its possible. You can customize default webqueries named "$WQ_last10threadfromforum2" OR "$WQ_last5threadcontentsfromforum2".

Eg.
Code:
SELECT t.threadid, t.title, t.firstpostid, t.lastpost, t.replycount, t.postusername, t.postuserid, t.lastposter, t.dateline, t.views, p.pagetext
FROM " . TABLE_PREFIX . "thread t
LEFT JOIN " . TABLE_PREFIX . "post p ON p.postid = t.firstpostid
WHERE t.forumid = '2' 
AND t.open = '1'
AND t.visible = '1'
ORDER BY t.dateline DESC
LIMIT 0 , 5
can become:
Code:
SELECT t.threadid, t.title, t.firstpostid, t.lastpost,  t.replycount, t.postusername, t.postuserid, t.lastposter, t.dateline,  t.views, p.pagetext
FROM " . TABLE_PREFIX . "thread t
LEFT JOIN " . TABLE_PREFIX . "post p ON p.postid = t.firstpostid
WHERE t.forumid = '2' AND t.dateline < UNIX_TIMESTAMP('2010-03-27 03:00:00')
AND t.open = '1'
AND t.visible = '1'
ORDER BY t.dateline DESC
LIMIT 0 , 5
OR

Code:
SELECT t.threadid, t.title, t.firstpostid, t.lastpost,  t.replycount, t.postusername, t.postuserid, t.lastposter, t.dateline,  t.views, p.pagetext
FROM " . TABLE_PREFIX . "thread t
LEFT JOIN " . TABLE_PREFIX . "post p ON p.postid = t.firstpostid
WHERE t.forumid = '2' AND t.dateline < UNIX_TIMESTAMP('2010-03-27 03:00:00') AND t.dateline > UNIX_TIMESTAMP('2010-01-01 03:00:00') 
AND t.open = '1'
AND t.visible = '1'
ORDER BY t.dateline DESC
LIMIT 0 , 5
Reply With Quote
  #281  
Old 07-11-2013, 03:57 AM
Muhammad Rahman Muhammad Rahman is offline
 
Join Date: Jun 2012
Posts: 152
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

try install in vB 4.2.1 ,,
but give error .
HTML Code:
Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\diskus\view.php on line 787

Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\diskus\view.php on line 916
anyone can help ??
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:46 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05374 seconds
  • Memory Usage 2,389KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (1)bbcode_html
  • (2)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (2)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (6)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete