View Single Post
  #1  
Old 04-21-2003, 01:57 AM
N9ne N9ne is offline
 
Join Date: Feb 2002
Posts: 1,495
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default My Latest Hack: Age Restrictions on Forums

(before anyone asks or thinks - yes, I've done a N9ne, yes, there are long instructions, but that's just because I want no backdoors, workarounds, and fully packed with features )

Firstly, a warning about the hack, it will have the following for installation:

- Run 2 Queries
- Modify 12 different files
- Modify 9 different templates
- Add 3 templates

This hack has a main purpose, and a complete sub-hack to it, which stops the famous 'fake your age' workaround.

Onto the features:

- Adds an option to each forum's options: Use Age Restriction? YES//NO ~ Minimum Age to Access: __

- On forumhome, under forum descriptions, there are 3 different states: (No restriction: nothing shown) - (Restriction and user too young - States there is restriction, and how old you need to be, and that you can't access) - (Restriction and user is old enough - States there is restriction, and how old you need to be, and that you are OK to access)

- If you are too young and try to access the forum, you get told you are too young, and the minimum age.

- If you try, through urls, to get directly to the newreply or newthread pages, for that forum, it won't work, you will be presented with the same error.

- Searching: This is something that is overlooked with many restrictive hacks, but not by me! If you are too young to see posts of a certain forum, they won't show up when searching a user's posts from their profile, or from search.php.

- Forumjump: If you are too young to access a forum, it won't be listed in the forumjump (no point in doing so!)

- When a user is registering, birthdate is now compulsary. They must enter it.

- After registration, users cannot change their birthdate [why should they need to! it doesn't change!]

- Upon registration, users are presented with an additional option of making their birthday public. Default is yes.

- Users can see the above option in modify options page in userCP too, after registration.

- The above option affects showing the birthday on the calendar and in their profile. Admins can still go to the adminCP to see their birthday.

- The whole hack is fully templated, for your language needs [or if you wish to change wording].

- No extra queries are run anywhere.

- The variable $yourage is made global in global.php, where there is code added which calculates a user's age from their birthdate.

- NOTE: It is advisable that you tell your members to put in their full birthdate before installing this hack.


I made this hack on 2.3.0 but it should work on 2.2.x with a little modification .

It's 3am and I've finished making the hack, so I thought i'd post about it, and I'll be documenting the hack for release tomorrow.

Thanks go out to assassingod who assisted with the testing of some code.

Any questions?
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01134 seconds
  • Memory Usage 1,771KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete