Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 02-08-2010, 02:28 AM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Send email to support staff

Here's the deal, I have it set so when a new ticket is created it sends a notification to all support staff based on usergroup perms, the problem is it won't send and as far as I know it isn't pulling data to send the email.

Here is the code:
PHP Code:
    // Notify Support Staff
    
$ids '';
// Gather all usergroup information
    
$usergroups $vbulletin->db->query_read("SELECT * FROM `" TABLE_PREFIX "usergroup`");
    while (
$usergroup $vbulletin->db->fetch_array($usergroups))
    {
// only use if the usergroups are support staff or admin
        
if ($usergroup['usergroupid'] == '6' OR $issupport)
        {
            
$ids .= ',' $usergroup['usergroupid'];
        }
    }

// of course if not empty then continue
    
if (!empty($ids))
    {
// gather information on all users that are in the usergroups that are set as staff
        
$users $vbulletin->db->query_read("
            SELECT userid, username
            FROM `" 
TABLE_PREFIX "user`
            WHERE usergroupid IN (0
$ids)
            ORDER BY username
        "
);
        while (
$user $vbulletin->db->fetch_array($users))
        {
// self explanatory I hope
            
$supportstaff[$user['userid']] = array
            (
                
'userid'    => $user['userid'],
                
'username'    => $user['username']
            );
        }
    }
// assign variables which I'm not sure are even working
    
$userids $supportstaff['userid'];
        
$tostaff fetch_userinfo($userids);
       
$toemail $tostaff['email'];
       
$subject $vbulletin->options['bbtitle'] ." New Ticket Created";
       
$message "A new ticket has been created. Please visit the link below to view the ticket.<br />Ticket: ".$vbulletin->options['bburl']."/".$support_file."?do=ticket&amp;id=".$ticketid."";
       
vbmail($toemail$subject$message$headers); 
Keep in mind everything you see in there is for testing purposes only, once I have it working I plan to make phrases and such to use in the emails.

Anyway, I have been trying a few things to get this working, any help would be much appreciated.
Reply With Quote
  #2  
Old 02-08-2010, 05:41 AM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How about something like this
PHP Code:
$ids = array();

foreach (
$vbulletin->usergroupcache as $usergroupid => $usergroup) {
    if (
$usergroupid == or $usergroup['issupport']) {   
        
$ids[] = $usergroupid;   
    }
}

if (
$ids implode(', '$ids)) {
    
$result $vbulletin->db->query_read("
        SELECT userid 
             , username
             , email
          FROM " 
TABLE_PREFIX "user
         WHERE usergroupid IN (
$ids)
        ORDER
            BY username
     "
);
    
    while (
$user $vbulletin->db->fetch_array($result)) {
        
vbmail(
            
$user['email'],
            
sprintf('%s New Ticket Created'$vbulletin->options['bbtitle']),
            
sprintf(
                
'A new ticket has been created.  Please visit the link below to 
                    view the ticket.<br />Ticket: %s/%s/?do=ticket&amp;id=%d'
,
                
                
$vbulletin->options['bburl'],
                
$support_file,
                
$ticketid
            
)
        );
    }

Reply With Quote
  #3  
Old 02-09-2010, 03:37 AM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Tried what you had above, had to change $usergroup['issupport'] to $usergroup['pl9_support'] but emails still not going out to staff. Here is what I am wondering, the sprintf, why use that? Seems as though its not telling it what to do or am I wrong?

Any other suggestions?
Reply With Quote
  #4  
Old 02-09-2010, 03:47 AM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why not do some debugging...?
Reply With Quote
  #5  
Old 02-09-2010, 03:49 AM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

EDIT: Checked up on sprintf and low and behold I had emails waiting that were telling me support tickets exist. So that tells me it is delaying on sending out emails. Is that how it is supposed to work? I have never used sprintf so not sure how it should work.

--------------- Added [DATE]1265698069[/DATE] at [TIME]1265698069[/TIME] ---------------

Adrian, thanks a bunch, it works now that I see there is a delay in sending which I do like.

Now the next issue is that I am having to use $usergroup['pl9_support'] == 16 which means that the setting has to be set to only support staff with no other options, I did it this way on purpose, but how do I go about pulling pl9_support without having to see if the value is set to 16? If I drop == 16 then it will send notifications to everyone.
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:13 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.09071 seconds
  • Memory Usage 2,225KB
  • Queries Executed 13 (?)
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_postinfo_query
  • fetch_postinfo
  • 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