Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-08-2002, 06:59 AM
TeddyBare69 TeddyBare69 is offline
 
Join Date: Jun 2002
Location: CA, US
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default New Kid Intro / Coding style question

Hello all,
I have enjoyed lurking the past couple days but now I am ready to jump up and start contributing. I have my fair share of coding experience and enjoy it almost as much as peanut butter and jelly sandwiches. PB&J still has a defect were it gets all over the keyboard though so nothing is perfect aranoid: I didn't find any hacks for that but I am going to keep looking
So not to waste too many electrons, I have been combing the vBulletin code and I am quite impressed. There is some pretty advanced concepts put together in extremely simple code. A very fine piece of artwork! My Congratulations goes out to the development team!
Enough brown nosing. Now down to business. I am a big fan of structure and objectifying application functionality. My style of designing and developing doesn't accomodate much else. In my past experience I haven't been able to get the "if else" combination to give me the same readability as a "switch case" combination can. I have looked at and installed a small set of hacks and have found a constant to be the "if else" combination. Is this a developers choice or are there some coding limitations within vBulletin that prevents "switch case" from working? There is very little performance increase if any that I know of between the two. I am looking only for more readability out of it.
My second question is why, in such an advanced system, are hacks installed by hand? With the advanced abilities of diff both on unix and windows and freely redistributable. Not to mention the advanced string replacement abilities that PHP posesses. A PHP diff hack or addition to the base functionality that put the meat of any change into a system. After that a site owner could then modify there own templates for placement of were the hack is displayed. Is this functionality planned for version 3.0 or is that top secret? :smoke:
I did do a search and found a hack created to do this. I am not sure if it was completed due to an overwhelming lack of interest? In an automated world, that totaly amazed me. With the write design this could allow for more complex hacks and put less of a support/documentation load on the developers of these hacks.

Thanks for listening. I hope to get to know you all and to see a great project grow into a full blown fully automated system that makes us all very rich someday. If anybody cares, I am shooting for tomorrow to be my day. Any help on that would be greatly appreciated. :nervous:

TeddyBare69
Reply With Quote
  #2  
Old 06-08-2002, 07:17 AM
Admin's Avatar
Admin Admin is offline
Coder
 
Join Date: Oct 2023
Location: Server
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Welcome, TeddyBare.
First, if you find vB2 fine, you will be amzed by vB3.

Anyway, back on topic. Regarding switch, it works on vBulletin as it does on any other PHP script.
Personally I only find switch superior when dealing with lots of options, i.e:
PHP Code:
switch ($dowhat) {
    case 
'delete':
        
deleteme();
        break;
    case 
'update':
        
updatehim();
        break;
    case 
'add':
        
inserthem();
        break;
    case 
'list':
    default:
        
listus();
        break;

But when dealing with a simple if-elseif-else statement, I find the latter better.
Either way, use whatever you like, no one will shoot you.

(By the way, if you look in the Admin CP files of vBulletin, you will find that most of it is structured like this:
PHP Code:
if ($action == 'modify') {
    
// Lots and lots of code here
}

if (
$action == 'add') {
    
// Lots and lots of code here
}

if (
$action == 'edit') {
    
// Lots and lots of code here
}

// And so on... 
Theoretically, switch can be implemented, but it's not, (probably) because it's easier to read with if's, since there are large portions of code for each $action.)

As for a automatic hacking tool, I wrote vbHacker, it hacks your files and templates, and runs queries. Check out my profile for the link, or visit some of my hacks which utilize it.
Reply With Quote
  #3  
Old 06-08-2002, 07:35 AM
TeddyBare69 TeddyBare69 is offline
 
Join Date: Jun 2002
Location: CA, US
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

On the more negative side I only know of one person that would shoot me if I used "switch case" and come implementation time it didn't work. His name is on the bottom of the checks :dead:

I haven't taken the time to try out your system but from what I read it is exactly what I was expecting of hack installation. No time to play though, must work. (big brother might be watching ssshhhhh). aranoid:

So, does your vbHacker make it into 3.0? Or would that be concidered spilling the beans? aranoid:

I have no doubts I will be impressed with the next release. Only one stipulation, my hacks have to work error free!

Only time and the coffee pot will ever really know. Thanks for the quick reponse. Back to work now.

TeddyBare69
Reply With Quote
  #4  
Old 06-08-2002, 07:53 AM
Admin's Avatar
Admin Admin is offline
Coder
 
Join Date: Oct 2023
Location: Server
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can forget about having your hacks work. You'll have to extensively adjust them.
Reply With Quote
  #5  
Old 06-08-2002, 07:13 PM
JamesUS's Avatar
JamesUS JamesUS is offline
 
Join Date: Oct 2001
Posts: 347
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

vBHacker won't be in vBulletin 3 as that would suggest we officially support code hacking, which we do not

As Chen said, the use of if over switch is just a personal choice by the development team. The first version of vB used if and no-one has managed to persuade us to change it yet
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 10:06 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06079 seconds
  • Memory Usage 2,209KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete