Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBSupport v2.0.0 Beta 2 Details »»
vBSupport v2.0.0 Beta 2
Version: 2.0.0 B2, by CMX_CMGSCCC CMX_CMGSCCC is offline
Developer Last Online: Sep 2014 Show Printable Version Email this Page

Version: 3.5.4 Rating:
Released: 08-09-2005 Last Update: 06-10-2007 Installs: 276
DB Changes Uses Plugins Template Edits
Additional Files Is in Beta Stage  
No support by the author.

vbSupport v2.0.0 BETA 2 by CMX (http://www.cmgsccc.com)
Official Homepage - http://www.vbplaza.com


v1.1 of this modification was found to contain an SQL injection. If you run v1.1 of this modification, you are hereby advised to update to v1.1a of this modification. To update from v1.1 to v1.1a, grab the v1.1a ZIP and overwrite the vBSupport.php file on your server with the new version.

Note that while no other vulnerabilities were noticed by vBorg Staff, this does not mean that such things do not exist. vBorg Staff fixed the one SQL injection according to these rules. Any other fixes that may be needed now or in the future are left to the original author.

-- vBorg Staff



Welcome to the latest hack by CMX for your vBulletin Message Board. This is a fully featured Ticket based support system for you website. If you had installed the older version of vBSupport v1.1, then you already have an idea what this sytem is all about.

Basically, this system will allow your Forum Members to create new support tickets using the same login as your vBulletin forums login for your users. There have been many improvements from the older v1.1 vBSupport System I made a while back.

New Features for v2.0.0+:
1) Permission Checks are better implemented and are more useful now.
2) AJAX Open/Closing tickets by double clicking the thread icon when listing tickets.
3) AJAX Ticket Title editing just like the forums Thread editing as well.
4) Post Quick Reply is now using the AJAX system where possible to post replies to tickets.
5) You can now Edit posts inline using the AJAX system as well.
6) Inline Moderation when listing tickets includes Delete Ticket, Open Ticket, Close Ticket.
7) You can now delete individual Posts from Tickets via the Inline Moderation as well.
8) MASSIVE performance load improvements. On my forums with 200,000 members, it would take 4 seconds to view a ticket due to a very strenuous query. Now it loads tickets in 0.13 seconds.
9) Category Administration has now been moved into the Admin CP instead of on the vbSupport page itself.
10) Everything should be fully phrased now as well.

Other Features:
1) IF you have installed the older vBSupport version, it will auto uninstall it for you. (It will NOT delete the old tickets!)
2) Admin CP -> vbSupport Maintenance -> Import Old Tickets is now in and working to import the old tickets if you had vBSupport installed.
3) A ton of permissions per Usergroup to set the settings up the way you want them.

vbSupport v2.0.0 BETA 2 Updates:
1) Bugfix: Quick Reply functions properly when you have the Quick Reply option enabled for Yes - Click Required.
2) Bugfix: Normal Reply/Closed button is there when viewing a ticket.
3) Bugfix: Admin CP Deleting a ticket now functions properly.
4) Bugfix: AJAX Edit feature does not display an alert(postid) anymore.
5) Bugfix: Active On/Off works for each category when enabled/disabled from the Admin CP.
6) Bugfix: Usergroup Permissions are now working for Allowed Usergroups & Denied Usergroups.
7) Bugfix: Changed some templates that linked to the wrong PHP files.
8) Bugfix: New Thread template is cleaned up a bit and it displays properly in Firefox too now.
9) Bugfix: Active phrase now is installed as a vbSupport phrase.


PLEASE NOTE: This is the very first release of vbSupport 2.0.0. Which means that this is a BETA release. I will try to correct any issues found ASAP.

I have vbSupport v2.0.0 BETA 1 running on my production site at www.cmgsccc.com, so I should be able to find most bugs since there are over 200,000 registers members there and it will get put to the test quite a bit. However, if you find something, please post it here.

By installing this BETA version, it will uninstall the previous vBSupport system automatically. It will leave the old ticket tables upon installation. It should import the older Ticket Categories that you had before as well.

I would also like to recommend that you backup your MySQL database, just in case a mishap occurs as this is BETA.

ALSO: The older version vBSupport v1.1 will be here for download until v2.0.0 comes out of BETA. vBSupport v1.1 is NOT in the BETA stage, only vbSupport v2.0.0 is in the BETA stage.

Upgrading Instructions From vBSupport v1.x
NOTE: These are ONLY applicable if you are upgrading from vBSupport v1.x!

1) Delete all of the older vBSupport files from your server. If you are not sure which files they are, the vBSupport v1.1 is still available for download here so you can download that and look at the files in there.

2) Upload all of the files in the upload folder to your forums ROOT folder. Make sure that if it asks about any files, that you set Overwrite to overwrite all files as well.

3) In your Admin CP, goto Plugin System -> Manage Products -> Add/Import Products at the bottom -> Select the XML file that you have downloaded in the package named product-vbsupport.xml -> Set Allow Overwrite to YES -> Import.

4) Perform the template edits below and you have vbSupport v2.0.0 up and running!

5) Refresh your forums Admin CP page.

6) Admin CP -> vbSupport Maintenance -> Import Old Tickets if you want to save the older tickets. Otherwise you can skip this feature.


New Installation Instructions:

1) Upload all of the files in the upload folder to your forums ROOT folder. Make sure that if it asks about any files, that you set Overwrite to overwrite all files as well.

2) In your Admin CP, goto Plugin System -> Manage Products -> Add/Import Products at the bottom -> Select the XML file that you have downloaded in the package named product-vbsupport.xml -> Set Allow Overwrite to YES -> Import.

3) Perform the template edits below and you have vbSupport v2.0.0 up and running!


Template Edits:

A) Template 'navbar':

Find:
Code:
		<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
Add Below:
Code:
<!-- vbSupport start -->
			<if condition="$vboptions['vbsupport_enabled']"><td class="vbmenu_control"><a href="vbsupport.php$session[sessionurl_q">$vbphrase[vbsupport_title]</a></td></if>
<!-- vbSupport end -->
B) Template 'postbit_legacy':

Find:
[code]
<if condition="$show['postcount']">#<a href="showpost.php?$session[sessionurl]p=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a></if>
[code]

Add Above:
Code:
<!-- vbSupport start -->
			<if condition="$show['ticketcount']">#<a href="vbsupport.php?$session[sessionurl]do=viewpost&amp;pid=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a></if>
<!-- vbSupport end -->
C) Template 'postbit':

Find:
Code:
			<if condition="$show['postcount']">#<a href="showpost.php?$session[sessionurl]p=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a> &nbsp;</if>
Add Above
Code:
<!-- vbSupport start -->
			<if condition="$show['ticketcount']">#<a href="vbsupport.php?$session[sessionurl]do=viewpost&amp;pid=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a> &nbsp;</if>
<!-- vbSupport end -->
ENJOY!!

-CMX

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #412  
Old 08-22-2006, 02:54 PM
Cajun Cajun is offline
 
Join Date: Jan 2006
Posts: 53
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have installed this mod 3 times on my test site with a fresh install of vB 3.6 and it worked every time. I only get this problem on a upgrade to vB3.6.
Reply With Quote
  #413  
Old 08-22-2006, 04:48 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I have installed it in a fresh install of 3.6 and it works good but I did find one rather significant bug. If an Admin deletes a classified, when one of the other staff clicks the link in the PM or E-mail they will get an ugly MYSQL error:

Quote:

Database error in vBulletin 3.6.0:

Invalid SQL:

SELECT postid
FROM PREFIXvbs_ticket_post AS post
WHERE threadid =
AND visible = 1
ORDER BY dateline
LIMIT 0, 10;

MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND visible = 1
ORDER BY dateline
LIMIT 0, 10' at line 4
Error Number : 1064
Date : Tuesday, August 22nd 2006 @ 12:41:53 PM
Script : http://www.MYDOMAIN.com/forums/vbsup...ewthread&tid=5
Referrer : http://www.MYDOMAIN.com/forums/priva...wpm&pmid=10490
IP Address : my ip address
Username : Quarterbore
Classname : vb_database
EDIT - HERE IS THE FIX FOR THE ABOVE ERROR (at least this works for me)

Open vbsupport.php

Find:

Code:
		// get the postids for this thread
		$getpostids = $vbulletin->db->query_read("
			SELECT postid
			FROM " . TABLE_PREFIX . "vbs_ticket_post AS post
			WHERE threadid = $threadid
				AND visible = 1
			ORDER BY dateline
			LIMIT $limitlower, $perpage
		");
Before Add:

Code:
	if(empty($threadid)){
	eval(standard_error(fetch_error('vbsupport_thread_notexists')));
	}
Next, create phrase in vBulletin:

type: Error
Product: vBSupport
varName: vbsupport_thread_notexists
text: The requested ticket does not exist in the system. It is possible that the ticket has been deleted by an Admin.

Solves this issue on my site!
Reply With Quote
  #414  
Old 08-22-2006, 05:09 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I found one more issue... Unregistered or People not logged in are not able to use this system on my board...

I have set the vBSupport for Unregistered to "Yes" and I have the given Unregistered group the appropriate permissions but I get a "No Permissions" error still...

EDIT FOR UPDATE:

When I set the Admin setting to "No" for allowing Unregistered users with the usergroup setting to "YES" to "Can Create Tickets", unregisteerd people can access the trouble Ticket System BUT on my board it is allowing them to see tickets entered by other members (or at least a test ticket I listed by my Admin account). So, I am confused but this looks like two seperate bugs affecting unregistered users in 3.6
Reply With Quote
  #415  
Old 08-23-2006, 08:28 PM
RMS-Chef RMS-Chef is offline
 
Join Date: Aug 2003
Location: MA, USA
Posts: 326
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am hoping it is just a hook location change with v3.6 or something easy. Not sure how to replace this hack.

By not requiring a category seems to allow new tickets to be created even with the "foreach()" error.
Reply With Quote
  #416  
Old 08-24-2006, 11:47 PM
CypherSTL CypherSTL is offline
 
Join Date: Mar 2006
Location: St. Charles, MO
Posts: 306
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There is an error when installing on vB3.6.0, the error is when doing the navbar templete edit, other than that it does install, but and unable to access the ticket system.

This is the error I get when editing the navbar:

Code:
The following error occurred when attempting to evaluate this template:

Parse error: syntax error, unexpected T_CHARACTER, expecting ']' in /home/excalibu/public_html/testforum/includes/adminfunctions_template.php(3593) : eval()'d code on line 101

This is likely caused by a malformed conditional statement. It is highly recommended that you fix this error before continuing, but you may continue as-is if you wish.
Fixed where I could access the ticket system but get error when creating a ticket:

Code:
Database error in vBulletin 3.6.0:

Invalid SQL:

		SELECT
			post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
			user.*, userfield.*, usertextfield.*,
			
			avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,
			level,
			IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
			
		FROM vbs_ticket_post AS post
		LEFT JOIN user AS user ON(user.userid = post.userid)
		LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
		LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
		
		LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid) LEFT JOIN reputationlevel AS reputationlevel ON(user.reputationlevelid = reputationlevel.reputationlevelid)
		WHERE post.postid IN (0,14)
			
		ORDER BY post.dateline;

MySQL Error  : Unknown column 'level' in 'field list'
Error Number : 1054
Date         : Thursday, August 24th 2006 @ 08:21:52 PM
Script       : http://www.excalibursystems.net/testforum/vbsupport.php?do=viewthread&tid=6
Referrer     : http://www.excalibursystems.net/testforum/vbsupport.php?do=newthread
IP Address   : xxx.xxx.xxx.xxx
Username     : Perry
Classname    : vb_database
although when I go back into the ticket system the ticket is there, and get another error when I click on the ticket itself:

Code:
Database error in vBulletin 3.6.0:

Invalid SQL:

		SELECT
			post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
			user.*, userfield.*, usertextfield.*,
			
			avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,
			level,
			IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
			
		FROM vbs_ticket_post AS post
		LEFT JOIN user AS user ON(user.userid = post.userid)
		LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
		LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
		
		LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid) LEFT JOIN reputationlevel AS reputationlevel ON(user.reputationlevelid = reputationlevel.reputationlevelid)
		WHERE post.postid IN (0,13)
			
		ORDER BY post.dateline;

MySQL Error  : Unknown column 'level' in 'field list'
Error Number : 1054
Date         : Thursday, August 24th 2006 @ 08:23:44 PM
Script       : http://www.excalibursystems.net/testforum/vbsupport.php?do=viewthread&tid=5
Referrer     : http://www.excalibursystems.net/testforum/vbsupport.php
IP Address   : xxx.xxx.xxx.xxx
Username     : Perry
Classname    : vb_database
the excact same applies to upgrade from 1.1 and even a fresh install of 3.6.0. and version 2.0
Reply With Quote
  #417  
Old 08-25-2006, 05:19 AM
CypherSTL CypherSTL is offline
 
Join Date: Mar 2006
Location: St. Charles, MO
Posts: 306
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I fixed my issue, what I did was ignore the part of the instructions that mentioned to edit the "navbar" template, instead of useing the edit in version 2.0 I used the "navbar" edit in 1.1, this stopped the error I was getting when doing the edit and also stopped all other errors.

To get this plugin to work:
1. Upload all the from 2.0
2. import the product
3. use the following template edits:


Template Edits:

A) In Template navbar

Find:
Code:
		<if condition="$show['member']">
			<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
		</if>
Replace With:
Code:
		<if condition="$show['member']">
			<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
			<td class="vbmenu_control"><a href="vbsupport.php$session[sessionurl_q]">vBSupport</a></td>
		</if>
B) Template 'postbit_legacy':

Find:
Code:
			<if condition="$show['postcount']">#<a href="showpost.php?$session[sessionurl]p=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a></if>
Add Above:
Code:
<!-- vbSupport start -->
			<if condition="$show['ticketcount']">#<a href="vbsupport.php?$session[sessionurl]do=viewpost&amp;pid=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a></if>
<!-- vbSupport end -->
C) Template 'postbit':

Find:
Code:
			<if condition="$show['postcount']">#<a href="showpost.php?$session[sessionurl]p=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a> &nbsp;</if>
Add Above
Code:
<!-- vbSupport start -->
			<if condition="$show['ticketcount']">#<a href="vbsupport.php?$session[sessionurl]do=viewpost&amp;pid=$post[postid]&amp;postcount=$post[postcount]" target="new" rel="nofollow" id="postcount$post[postid]" name="$post[postcount]"><strong>$post[postcount]</strong></a> &nbsp;</if>
<!-- vbSupport end -->
Reply With Quote
  #418  
Old 08-25-2006, 07:48 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, I forgot to post that I had the same issue as above with my 3.6 install...

Now, can I make a suggestion for an addition to this sript?

I have two big additions I would love to see:

One: If the person entering the trouble ticket is UNREGISTERED or perhaps not logged in, I would love to have a manditory field for them to add their e-mail address. The e-mail address could then be merged into the "POST" but too often we don't have a way to contact a person that enters a trouble ticket if we don't force them to give us a way.

Two: Add a option for users to receive an e-mail or PM or both or none (their choice) when an update is added to their trouble ticket. This way they will know when it has been updated. The notice should also likely include when the ticket is closed or deleted.

Lastly, I still have not figured out how to let unregistered users use this... I have not had a lot of time to work through all the code however...
Reply With Quote
  #419  
Old 08-26-2006, 09:17 PM
lovejoy lovejoy is offline
 
Join Date: Dec 2005
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cajun
I am having the same problem. I had someone look at the problem and could not fix. Looks like this happens when up upgrade to vb 3.6. I know this mod works on a fresh install for vb 3.6 but not on a upgrade.
Same problem in here. The only solution for it to work until somebody can fix it is setting the "Categories Required for New Tickets?" field to no

At least you can use the VBSupport.

::LoVejoY::
Reply With Quote
  #420  
Old 08-27-2006, 10:13 AM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was working on the code a little and I think there might be a couple bugs still...

When a new Ticket is entered by one of my members, I get a PM that says:

Quote:
Support Ticket Updated: Another test

--------------------------------------------------------------------------------

The support ticket has been replied to by testaccount.

Please click here to view the ticket

All the best,
Timeshare Forums
Shouldn't this PM have a subject or "NEW Support Ticket" with the text inside the PM saying "A new support ticket has been entered by ..."

I looked and there are no such phrases! I also checked the vBsupport.php file and in fact in the notify staff area it does use these "Update" phrases as opposed to a "New"!

So, I created two new phrases:

Phrase 1:
Phrase Type: vb_Support Phrases
Product: vbSupport
Varname: vbsupport_pm_new_message
Text (Note spacing matters below - ask me how I found out:

PHP Code:
new support ticket has been submitted by {1}. 
[
url={2}]Please click here to view the ticket[/url

All the best
{
3
Phrase 2:
Phrase Type: vb_Support Phrases
Product: vbSupport
Varname: vbsupport_pm_new_title
Text: New {1} {2} Added: {3}

Next, find:

PHP Code:
                {
                    
// send a private message to the user
                    
$pmtitle construct_phrase($vbphrase['vbsupport_pm_update_title'], $vbphrase['vbsupport_title'], $vbphrase['vbsupport_ticket'], $newpost['title']);
                    
$pmtext construct_phrase($vbphrase['vbsupport_pm_update_message'], $vbulletin->userinfo['username'], $vbulletin->options['bburl'] . $linkurl$vbulletin->options['bbtitle']);
                    
vbsupport_send_pm(0$touser$pmtitle$pmtext);
                } 
Replace with:

PHP Code:

                
// check if it should send a pm
                
if (in_array($userid$pmids))
                {
                    
// send a private message to the Site Staff
                    
$pmtitle construct_phrase($vbphrase['vbsupport_pm_new_title'], $vbphrase['vbsupport_title'], $vbphrase['vbsupport_ticket'], $newpost['title']);
                    
$pmtext construct_phrase($vbphrase['vbsupport_pm_new_message'], $vbulletin->userinfo['username'], $vbulletin->options['bburl'] . $linkurl$vbulletin->options['bbtitle']);
                    
vbsupport_send_pm(0$touser$pmtitle$pmtext);
                } 
This is what the above generated for me!!!

New Support Ticket Added: Another trouble ticket test

--------------------------------------------------------------------------------

A new support ticket has been submitted by Site Staff.

Please click here to view the ticket

All the best,
Quarterbore



-------------------------------------------------------------------------------------------------
//////////// Next Issue \\\\\\\\\
-------------------------------------------------------------------------------------------------

Also, when an Admin or Mod does reply to a ticket the member that started the ticket is not getting a PM. I looked at the code and it looks like the code is written to do this...

See following in vbsupport.php:

PHP Code:
// check if it should send a private message
        
if (($threadinfo['postuserid'] != $vbulletin->userinfo['userid']) && $threadinfo['replynotice'])
        {
            
// fetch the $userinfo for this user
            
$touser fetch_userinfo($threadinfo['postuserid']);

            
// build the $linkurl
            
$touser['repliedby'] = $vbulletin->userinfo['username'];
            
$linkurl "/vbsupport.php?do=viewthread&tid=" $threadinfo['threadid'];

            
// check if it should send a pm
            
if ($threadinfo['replynotice'] & 1)
            {
                
// send a private message to the user
                
$pmtitle construct_phrase($vbphrase['vbsupport_pm_update_title'], $vbphrase['vbsupport_title'], $vbphrase['vbsupport_ticket'], $threadinfo['title']);
                
$pmtext construct_phrase($vbphrase['vbsupport_pm_update_message'], $vbulletin->userinfo['username'], $vbulletin->options['bburl'] . $linkurl$vbulletin->options['bbtitle']);
                
vbsupport_send_pm(0$touser$pmtitle$pmtext);
             }

            
// check if it should send an email
            
if ($threadinfo['replynotice'] & 2)
            {
                
// set the $title used in the email subject
                
$emailtitle $threadinfo['title'];

                
// send an email to the user
                
eval(fetch_email_phrases('ticketreplied'$touser['languageid']));
                
vbmail($touser['email'], $subject$messagetrue);
            }
        } 
Now, when I change the above to as follows, the person that posts the trouble ticket gets a PM when a reply is posted!

PHP Code:
        // check if it should send a private message
        
if ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'])
        
// if (($threadinfo['postuserid'] != $vbulletin->userinfo['userid']) && $threadinfo['replynotice'])
        
{
            
// fetch the $userinfo for this user
            
$touser fetch_userinfo($threadinfo['postuserid']);

            
// build the $linkurl
            
$touser['repliedby'] = $vbulletin->userinfo['username'];
            
$linkurl "/vbsupport.php?do=viewthread&tid=" $threadinfo['threadid'];

            
// check if it should send a pm
            // if ($threadinfo['replynotice'] & 1)
            // {
                // send a private message to the user
                
$pmtitle construct_phrase($vbphrase['vbsupport_pm_update_title'], $vbphrase['vbsupport_title'], $vbphrase['vbsupport_ticket'], $threadinfo['title']);
                
$pmtext construct_phrase($vbphrase['vbsupport_pm_update_message'], $vbulletin->userinfo['username'], $vbulletin->options['bburl'] . $linkurl$vbulletin->options['bbtitle']);
                
vbsupport_send_pm(0$touser$pmtitle$pmtext);
            
// }

            // check if it should send an email
            
if ($threadinfo['replynotice'] & 2)
            {
                
// set the $title used in the email subject
                
$emailtitle $threadinfo['title'];

                
// send an email to the user
                
eval(fetch_email_phrases('ticketreplied'$touser['languageid']));
                
vbmail($touser['email'], $subject$messagetrue);
            }
        } 
So, this tells me that in vB 3.6 that the value of $threadinfo['replynotice'] is not "1" but I have no idea where that is set.... I want members to get a PM when their ticket is updated anyways so this works but I guess I should conditional out unregistered guests "userid = "0"" as I am not sure what that will cause... But, given unregistereds can not use the system yet I will waite on an update...

-------------------------------------------------------------------------------------------------
//////////// Next Issue \\\\\\\\\
-------------------------------------------------------------------------------------------------

There is no code in the script that will notify the staff when a member comes back and updates their ticket (or if it is there it doesn't work on my site and I don't see the code to do this).

EDIT - I did the code as in the following post!


Thanks!
Reply With Quote
  #421  
Old 08-27-2006, 11:24 AM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Following is the code needed to allow a PM to the appropriate members of the staff when the member comes back and replies to their trouble ticket! It is working on my site!

Before:

Code:
		// ### NOT PREVIEW - ACTUAL POST ###
		if ($vbulletin->GPC['ajax'])
		{

Add:

PHP Code:


        
// check if it should send a private message to staff
        
if ($threadinfo['postuserid'] == $vbulletin->userinfo['userid'])
        {

            
// build the $linkurl
            
$touser['repliedby'] = $vbulletin->userinfo['username'];
            
$linkurl "/vbsupport.php?do=viewthread&tid=" $threadinfo['threadid'];


    
$threadid $threadinfo['threadid'];


    
$getthreadids $vbulletin->db->query_read("
        SELECT categoryid
        FROM " 
TABLE_PREFIX "vbs_ticket_thread AS thread
        WHERE threadid = 
$threadid
        LIMIT 1
    "
);


    while (
$thread $vbulletin->db->fetch_array($getthreadids))
    {
        
$categoryid $thread['categoryid'];
    }


        
// build the $emailids
        
$pmids explode(','$vbulletin->vbs_category["$categoryid"]['adminpmusers']);
        
$emailids explode(','$vbulletin->vbs_category["$categoryid"]['adminemailusers']);




            
// check for PM notifications
            
if (is_array($pmids))
            {
                
// process add admins
                
foreach($vbulletin->vbs_admin AS $userid => $user)
                {
                    
// fetch the $userinfo for this user
                    
$touser fetch_userinfo($userid);
    
                    
// build the $linkurl
                    
$touser['repliedby'] = $vbulletin->userinfo['username'];
                    
$linkurl "/vbsupport.php?do=viewthread&tid=" $threadid;
    
                    
// check if it should send a pm
                    
if (in_array($userid$pmids))
                    {
                    
// send a private message to the staff
                    
$pmtitle construct_phrase($vbphrase['vbsupport_pm_update_title'], $vbphrase['vbsupport_title'], $vbphrase['vbsupport_ticket'], $threadinfo['title']);
                    
$pmtext construct_phrase($vbphrase['vbsupport_pm_update_message'], $vbulletin->userinfo['username'], $vbulletin->options['bburl'] . $linkurl$vbulletin->options['bbtitle']);
                    
vbsupport_send_pm(0$touser$pmtitle$pmtext);
                    }

                }
            }
        } 
There may well be a better way to code this but it works on my site now... This took a lot of time for me to figure out... WOW! Also note I ONLY coded PMs as that is all I am using on my site!
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:48 AM.


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.08038 seconds
  • Memory Usage 2,443KB
  • Queries Executed 26 (?)
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
  • (17)bbcode_code
  • (6)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete