View Single Post
  #5  
Old 05-10-2013, 07:53 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In includes/cron/promotion.php, find this and add the line in red:
Code:
	SELECT user.joindate, user.userid, user.membergroupids, user.posts, user.reputation,
		user.usergroupid, user.displaygroupid, user.customtitle, user.username, user.ipoints, 
                YEAR(user.birthday_search) AS birth_year, MONTH(user.birthday_search) AS birth_month, DAY(user.birthday_search) AS birth_day,
		userpromotion.joinusergroupid, userpromotion.reputation AS jumpreputation, userpromotion.posts AS jumpposts,
		userpromotion.date AS jumpdate, userpromotion.type, userpromotion.strategy,
		usergroup.title, usergroup.usertitle AS ug_usertitle,
		usertextfield.rank

More lines to add:
Code:
$secondarynames = array();
$titles = array();
$today = getdate(TIMENOW);
$min_age = 18;

while ($promotion = $vbulletin->db->fetch_array($promotions))
{

And another:
Code:
		$posts = false;
		$joindate = false;
		$age = false;
		// These strategies are negative reputation checking
		if (($promotion['strategy'] > 7 AND $promotion['strategy'] < 16) OR $promotion['strategy'] == 24)

And another:
Code:
		if ($daysregged >= $promotion['jumpdate'])
		{
			$joindate = true;
		}
                if ($promotion['birth_year'] > 1900 AND 
                    $promotion['birth_month'] >= 1 AND $promotion['birth_month'] <= 12 AND
                    $promotion['birth_day'] >= 1 AND $promotion['birth_day'] <= 31)
                {
                    $yeardiff = $today['year'] - $promotion['birth_year'];
                    if ($yeardiff > $min_age OR
                        ($yeardiff == $min_age AND
                              ($today['mon'] > $promotion['birth_month'] OR
                                      ($today['mon'] == $promotion['birth_month'] AND $today['mday'] >= $promotion['birth_day']))))
                    {
                        $age = true;
                    }
                }

		if ($promotion['strategy'] == 17)
		{
			$dojoin = iif($posts, true, false);
		}

Last one:
Code:
else if ($promotion['strategy'] == 16 OR $promotion['strategy'] == 24)
		{
			$dojoin = iif($reputation, true, false);
		}
		else if ($promotion['strategy'] == 32)
		{
			$dojoin = iif($age, true, false);
		}
		else
		{
			switch($promotion['strategy'])

Then of course you need to go to the Promotions manager and add a promotion using the new "Age >= 18" strategy. The way promotions work is when the scheduled task runs it will promote everyone who's eligible and who has been active recently. If you want to immediately promote everyone who's eligible, you can run the scheduled task manually from the Scheduled Task manager.
Reply With Quote
Благодарность от:
tbworld
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01169 seconds
  • Memory Usage 1,787KB
  • 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
  • (5)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_box_bit
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (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
  • 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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete