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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-11-2010, 02:55 PM
ElfenLied1337's Avatar
ElfenLied1337 ElfenLied1337 is offline
 
Join Date: Aug 2009
Posts: 45
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Birthdays = Array?

Hi,

I'm currently running vB 3.7.3. On the bottom of my forum index, birthdays show up as "Array" instead of listing the birthdays of the forum members. Looks like this:



Below is my site's birthday.php

Code:
$tdate = vbdate('Y-m-d', TIMENOW, false, false);

if (!is_array($vbulletin->birthdaycache) OR ($tdate != $vbulletin->birthdaycache['day1'] AND $tdate != $vbulletin->birthdaycache['day2']))
{
	include_once('./includes/functions_databuild.php');
	$vbulletin->birthdaycache = build_birthdays();
}
switch($tdate)
{
	case $vbulletin->birthdaycache['day1']:
		$birthdays =& $vbulletin->birthdaycache['users1'];
	break;

	case $vbulletin->birthdaycache['day2'];
		$birthdays =& $vbulletin->birthdaycache['users2'];
	break;
}
$show['tablerow'] = true;

$birthdays_str = '';
// Birthdays change from a string to array in vB 3.7 RC3
if (is_array($birthdays))
{
	if (empty($birthdays))
	{
		$birthdays_str = $vbphrase['none'];
	}
	else
	{
		foreach ($birthdays AS $birthkey => $birthinfo)
		{
			$birthdays_str .= '<a href="' . $vbulletin->options['bburl'] . '/member.php?' . $vbulletin->session->vars['sessionurl'] . 'u=' . $birthinfo['userid'] . '">' . $birthinfo['username'] . '</a>' . iif($birthinfo['age'], ' (' . $birthinfo['age'] . ')') . '<br />';
		}
	}
}
else if ($birthdays)
{
	$birthdays_str = str_replace(array('member.php', ','), array($vbulletin->options['bburl'] . '/member.php', '<br />'), $birthdays);
}
else
{
	$birthdays_str = $vbphrase['none'];
}

($hook = vBulletinHook::fetch_hook('vba_cmps_module_birthdays')) ? eval($hook) : false;

$home[$mods['modid']]['content'] = $birthdays_str;
How can I make it so it lists the birthdays instead of it displaying "Array" for each day? Any help is appreciated... thanks.
Reply With Quote
  #2  
Old 07-11-2010, 05:45 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The only place I have birthday.php is in my includes/cron folder and it looks nothing like your birthday.php file- is this from some sort of mod?
Reply With Quote
  #3  
Old 07-11-2010, 06:52 PM
ElfenLied1337's Avatar
ElfenLied1337 ElfenLied1337 is offline
 
Join Date: Aug 2009
Posts: 45
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry about that, I posted the wrong one.

Code:
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################

$today = date('m-d', TIMENOW);

$ids = '0';
foreach($vbulletin->usergroupcache AS $usergroupid => $usergroup)
{
	if ($usergroup['genericoptions'] & $vbulletin->bf_ugp_genericoptions['showbirthday'] AND !in_array($usergroup['usergroupid'], array(1, 3, 4)))
	{
		$ids .= ",$usergroupid";
	}
}

$birthdays = $vbulletin->db->query_read("
	SELECT username, email, languageid
	FROM " . TABLE_PREFIX . "user
	WHERE birthday LIKE '$today-%' AND
	(options & " . $vbulletin->bf_misc_useroptions['adminemail'] . ") AND
	usergroupid IN ($ids)
");

vbmail_start();

while ($userinfo = $vbulletin->db->fetch_array($birthdays))
{
	$username = unhtmlspecialchars($userinfo['username']);
	eval(fetch_email_phrases('birthday', $userinfo['languageid']));
	vbmail($userinfo['email'], $subject, $message);
	$emails .= iif($emails, ', ');
	$emails .= $userinfo['username'];
}

vbmail_end();

if ($emails)
{
	log_cron_action($emails, $nextitem, 1);
}
Reply With Quote
  #4  
Old 07-11-2010, 07:59 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

My file is identical except the first if statement for me is:
Code:
if ($usergroup['genericoptions'] & $vbulletin->bf_ugp_genericoptions['showbirthday'] AND $usergroup['genericoptions'] & $vbulletin->bf_ugp_genericoptions['isnotbannedgroup'] AND !in_array($usergroup['usergroupid'], array(1, 3, 4)))
But that's for 3.7.7 so I don't know if it will work for 3.7.3.
Reply With Quote
  #5  
Old 07-12-2010, 12:09 AM
ElfenLied1337's Avatar
ElfenLied1337 ElfenLied1337 is offline
 
Join Date: Aug 2009
Posts: 45
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I tried changing the first if-statement with the one you had and reuploading it, but the birthdays are still showing up as "Array" on the forum index.
Reply With Quote
  #6  
Old 07-12-2010, 12:49 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

did you run the birthday scheduled task manually after making the change?
Reply With Quote
  #7  
Old 07-12-2010, 03:25 PM
snakes1100 snakes1100 is offline
 
Join Date: Dec 2001
Location: Michigan
Posts: 3,733
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you verify that you forumhome & forumhome_birthdaybit templates are correct and not missing any closing </if> statements?

Backup your forumhome & forumhome_birthdaybit templates and then revert them.
Reply With Quote
  #8  
Old 07-14-2010, 05:06 AM
Guest190829
Guest
 
Posts: n/a
Default

If you are looking at the forum index, you should be looking at index.php and I don't think the snippet you provided is from there - it looks like cron file to send out emails.
Reply With Quote
  #9  
Old 07-14-2010, 05:32 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Make sure your index.php is the default file for the version you are using.
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 07:53 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.04116 seconds
  • Memory Usage 2,239KB
  • 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
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (8)postbit_onlinestatus
  • (9)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