Jump to content

pKris

Member
  • Content Count

    38
  • Joined

  • Last visited

Everything posted by pKris

  1. Sadly no, it is an issue that may happen once in a blue moon - we could have a ticket open with a customer and be communicating back and forth on it for days when all of the sudden this pops up.
  2. Hey all, looking for some guidance on this OpenSSL issue CURL Error: 56 - OpenSSL SSL_read: error:0A000126:SSL routines::unexpected eof while reading, errno 0 when connecting to the eNom API for a WHMCS installation that exists independently of cPanel (this is not helpful Troubleshooting CURL Error: 56 - OpenSSL SSL_read: Success error | Troubleshooting | Guides & Tutorials (whmcs.com)). The only community articles I seem to find relate to WHMCS environments running on a cPanel server managed by EasyApache, this isn't the case when running on it's own VM. Environment Details: PHP Version 8.1.2-1ubuntu2.8 cURL support: enabled cURL Information: 7.81.0 Apache/2.4.52
  3. Hey all! We recently upgraded to WHMCS 8.6, and all is well except for a few issues. Occasionally a ticket will throw an error when opening it, this ticket could be brand-new or days old with many replies in it: TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in /var/www/html/ponyboy/supporttickets.php:0 Stack trace: #0 /var/www/html/ponyboy/supporttickets.php(0): in_array() #1 {main}\] I can still access the ticket via the WHMCS mobile app, it's just the browser that complains.
  4. I'm also briefly experienced this issue - admin area works fine with full friendly rewrite, but the client area gives a 404 - I see this in the logfile: [Thu Oct 06 22:15:48.982910 2022] [negotiation:error] [pid 230468] [client xxx.xxx.xxx.xxx:53504] AH00687: Negotiation: discovered file(s) matching request: /var/www/html/login (None could be negotiated)., referer: https://my.whmcs.domain/adminurl I can confirm that after adding the following to my .htaccess everything works as intended: Options -MultiViews Obviously if you have more options already there, make sure those are added, I didn't have any so that's all I needed.
  5. Despite my best efforts I am still an idiot (lol). I neglected to uploaded the latest version of the pop.php file in my crons directory. Once I did this, the issue resolved itself.
  6. Interestingly enough I did submit a bug report to WHMCS and they'd mentioned they had seen this in the recent past (presumably since the GA launched) and noted updating IonCube to at least 11.01 fixed it in some occasions (not mine, though).
  7. To clarify this is my dev instance so recovery is one of those 'meh' items as finding any other bugs are more important to me anyhow.
  8. After upgrading to 8.4 GA, tickets are no longer automatically importing via the POP cron, they're sitting in the Ticket Mail Import Queue with an error. I have disabled all add-on modules just in case these are interfering to no avail. Argument 7 passed to processPoppedTicket() must be an instance of WHMCS\Mail\AutoSubmittedHeader, array given, called in /var/www/whmcs-secure/crons/pop.php on line 0 My environment: Ubuntu 20.04.03 LTS WHMCS Version: 8.4.0 PHP Version: PHP 7.4.26 (cli) (built: Nov 22 2021 09:48:15) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd. with Zend OPcache v7.4.26, Copyright (c), by Zend Technologies EDIT: I should clarify so I don't sound like an idiot, this is on my development instance using a development license, so it's not the end of the world 😉
  9. Thank you for the input that's exactly what I'd created while I waited for a response, actually: <?php add_hook('EmailPreSend', 1, function($vars) { $merge_fields = []; if ($vars['messagename'] == 'Invoice Created' && $vars['email'] == 'email@domain.org') { //Stop the email from sending a specific message and related id. $merge_fields['abortsend'] = true; } return $merge_fields; }); However it didn't work so I'm just debugging that now.
  10. We've run into a few clients who only want payment receipts, but do not want invoice generation emails (if fact they're pretty insistent on this) - I could, of course disable the invoice generation email entirely but they're the minority in our client group. I'm thinking I could accomplish this with a hook, but wanted to pass it to the community to see if anyone has also done this in their environment and if anyone had any tips from their experience..
  11. Thanks letting me know Steven, as an interim solution I've implemented a solution based on this hook to initiate a search, I'll keep this thread updated if I find something that pulls the client page up automatically rather than initiating an intelligent search.
  12. Hey there all, Is there a way to allow for the threading of support conversations from the receivers end? Outlook and other email clients / servers does typically take care of this itself but through my testing, something about the format doesn't allow for this in my testing with Outlook, Gmail, and the Outlook web app. Right now each support reply comes in as a separate email despite it having the same subject line, so it contains no history of the conversation - it's not a huge issue, we've got some customers who get lost as to what's being discussed as their only channel to us is through email, but it is enough of an issue where I need to find a solution to it. I looked to this thread for assistance which pointed me here, but the link is dead.
  13. I'm attempting to integrate(ish) my phone system with WHMCS, currently I have the option when the phone rings from an inbound call to pass a URL to Chrome and have it open the contact record - right now that's Hubspot; however, for the bulk of our staff this is useless and having it open the WHMCS profile would be more useful. Is it feasible to perform a customer search by phone number through a URL, such as https://whmcs.url/admin/clients.php?phonenumber=1234567890 or something?
  14. Hey there @steven99 that's correct yes the status changing to "Answered" is still an issue; however, after changing this line it's working the way I expect it to: //We have a message, so add it as a reply $command = 'AddTicketReply'; $postData = array( 'ticketid' => $vars['ticketid'], 'message' => $Message, 'status' => 'Under investigation', 'name'=>'TicketBot', 'email'=>$Email, 'useMarkdown' => true, );
  15. One more question here - any time I set the ticket status now it changes the status back to "Customer Reply" because the reply comes from the customer. Is there a tag to make the reply from the system, or at least the current admin user?
  16. Given the control characters in the [status] segment I took a shot in the dark and removed the apostrophe from my status (was 'We're investigating', changed to 'Under investigation'), and that seems to have been the reason for the breakage. Thank you all for your help!
  17. A good assumption @brian!!, I'm on 7.7.1. @steven99 here is a screenshot of the module debug log for this. When I proved that the previous test hook appeared in the module debug log, I retried the original I had that I posted above and it did not show in the debug log as having run.
  18. I must be screwing something up then - I’ll take a look at what I’ve done.
  19. I must be losing it - I see nothing when I add this to my TicketStatusChange.php file - it doesn't print anything: <? use WHMCS\Database\Capsule; function prefix_TicketStatusChange($vars) { $adminUsername = 'myusername'; // Change me accordingly. This Admin user is the one used to automatically add replies to tickets when status is updated. Set false if you want to open the ticket using your own customers $userID = Capsule::table('tbltickets')->where('id', $vars['ticketid'])->first(['userid'])->userid; // Send email notification to customer when ticket status changes $EmailData = array( 'id' => $userID, 'customtype' => 'general', 'customsubject' => '', 'custommessage' => 'Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue.' .$vars['status'] . '</strong>' );  localAPI('SendEmail', $EmailData); echo '<pre>'; print_r($results); echo '</pre>'; // Add reply to ticket when its status changes $TicketData = array( 'ticketid' => $vars['ticketid'], 'message' => 'Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue.' .$vars['status'] . '</strong>', 'clientid' => $userID, 'adminusername' => $adminUsername, ); localAPI('AddTicketReply', $TicketData); echo '<pre>'; print_r($results); echo '</pre>'; } $results = localAPI('SendEMail', $EmailData); add_hook('TicketStatusChange', 1, 'prefix_TicketStatusChange');
  20. Thank you Kian, I've added this to TicketStatusChange.php in includes/hooks/ and still nothing - there is no reply in the ticket. <? use WHMCS\Database\Capsule; function prefix_TicketStatusChange($vars) { $adminUsername = 'admin'; // Change me accordingly. This Admin user is the one used to automatically add replies to tickets when status is updated. Set false if you want to open the ticket using your own customers $userID = Capsule::table('tbltickets')->where('id', $vars['ticketid'])->first(['userid'])->userid; // Send email notification to customer when ticket status changes $EmailData = array( 'id' => $userID, 'customtype' => 'general', 'customsubject' => '', 'custommessage' => 'Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue.' .$vars['status'] . '</strong>' ); localAPI('SendEmail', $EmailData); // Add reply to ticket when its status changes $TicketData = array( 'ticketid' => $vars['ticketid'], 'message' => 'Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue.' .$vars['status'] . '</strong>', 'clientid' => $userID, 'adminusername' => $adminUsername, ); localAPI('AddTicketReply', $TicketData); } add_hook('TicketStatusChange', 1, 'prefix_TicketStatusChange');
  21. I'm AWFUL at replying, sorry. It looks like that hasn't worked, sadly. I'm seeing no ticket reply (or outbound notification) when I add this to hooks/ticketstatuschange.php
  22. If I wanted to update the ticket with a reply so it's logged in the ticket rather than just emailed to them, would this work? <?php use WHMCS\Database\Capsule; function prefix_TicketStatusChange($vars) { $command = 'AddTicketReply'; $postData = array( 'ticketid' => '['ticketid'])', 'message' => 'Hey there,<br><br>Your ticket has been assigned to one of our technical team members and is currently under review, they will reply back here shortly with an update or to request more information about your issue., 'clientid' => '(['userid'])', 'useMarkdown' => true, ); $adminUsername = 'api_user'; // Optional for WHMCS 7.2 and later $results = localAPI($command, $postData, $adminUsername); print_r($results); } add_hook('TicketStatusChange', 1, 'prefix_TicketStatusChange');
  23. Hey there Community! We've got a handful of custom ticket statuses that I want to be able to send email templates for, such as: Notify customer when ticket is set to status "Under investigation" Notify customer when ticket is set to status "On hold" I'd love your input on how I can make this possible, with hooks or otherwise!
  24. Thanks twhiting9275. Is there a way to notify users of a pending ticket closure automatically without the use of escalation rules, then?
  25. I've just set up escalation notices so that 48 hours before a ticket auto-closes due to inactivity, it notifies the customer that if they don't reply within 48 hours it'll be closed. My question is that does this reply from "System" via the escalation notice count as activity from a ticket standpoint, therefore, will the ticket never actually be closed?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated