Jump to content

Admin Ticket Large Gap between phrases


zitu4life

Recommended Posts

Dear Community

Does anyone find out-there a solution to have a Admin ticket more friendly!!

Some tickets comes with large gap between  phrases. I know that all tickets are imported on email, so perhaps it could be a WHMCS core problem, but possible could be something could be done before WHMCS improve Admin Ticket interface.

Is there any code or setting or css to apply to limit maximum amount of gap?, so even with this WHMCS issue we could ensure more friendly tickets environment when reading a ticket. The way it is now sometimes we start read a ticket and then we need to scroll down to continue reading.

See Print

image.thumb.png.2f3192165aee4aa886f813e465559876.png

 

Link to comment
Share on other sites

13 hours ago, zitu4life said:

Is there any code or setting or css to apply to limit maximum amount of gap?, so even with this WHMCS issue we could ensure more friendly tickets environment when reading a ticket. The way it is now sometimes we start read a ticket and then we need to scroll down to continue reading.

in that space, there must be hidden html code, e.g break returns at least - so what code is there ??

Link to comment
Share on other sites

Understood @brian! but for who are reading ticket it is not friendly those lot of gaps or hidden something else. I understand the reason like you explain, but if something is hidden and probably if we do not need that, to understand ticket message it could be removed by WHMCS, maybe it could a future request regarding Admin ticket... I guess there is in the past some requests regarding a way do allow we choose the way we want to see these tickets messages.

There is an option to integrate kayako to WHMCS, does Kayako fixed this issue?

I will bring WHMCS Staff, @WHMCS John to this post, maybe WHMCS can explain little more why ticket should be like that.

 

Link to comment
Share on other sites

39 minutes ago, zitu4life said:

Understood @brian! but for who are reading ticket it is not friendly those lot of gaps or hidden something else.

which is why you determine what the code is that's being added and remove it with a hook or in the template (if it's only multiple break returns or paragraphs it's adding, then it's simple enough to remove them) - on both admin and/or client sides.

39 minutes ago, zitu4life said:

I understand the reason like you explain, but if something is hidden and probably if we do not need that, to understand ticket message it could be removed by WHMCS, maybe it could a future request regarding Admin ticket...

except feature requests take years to complete - are you prepared to wait that long for a solution?

41 minutes ago, zitu4life said:

I guess there is in the past some requests regarding a way do allow we choose the way we want to see these tickets messages.

well i've never been a big user of importing emails into WHMCS, not least because of issues like this - I tended to get the clients to login if they wanted to open/reply to a ticket.

42 minutes ago, zitu4life said:

I will bring WHMCS Staff, @WHMCS John to this post, maybe WHMCS can explain little more why ticket should be like that.

ultimately you might need to open a ticket with them depending on if this is a known issue... as a general point, if importing emails is causing this, and specifically some encrypted encoding by WHMCS is causing this, then yes they should solve it... all i'm saying is that until that glorious day arrives, there is no point in waiting if an easy solution (a sticking plaster) can be used by you in the meantime. 🙂

Link to comment
Share on other sites

Just now, zitu4life said:

so if we had a hook that will say if there is more than 3 <br> means HTML line-break delete or hidden it, will be amazing.

the tricky part is that they're not just break returns - it actually turns out to be...

<br />\r\n<br />\r\n<br />\r\n

as a quick fix, try editing the viewticket.tpl template in the admin area and change...

{$reply.message}

to...

{$reply.message|replace:"<br />\r\n<br />\r\n<br />\r\n":"</br />"}

btw - the same line should work in the client area equivalent viewticket template too... if those template changes work for you, then they can be rewritten as hooks.

1 hour ago, zitu4life said:

Also I have open a ticket on WHMCS regarding this

and i've seen a couple of them reading the thread, so no point doing the work myself, when there are paid staff to do the work - let's see what their response is and if something in piping needs fixing or if the issue lies elsewhere...

Link to comment
Share on other sites

This is another example of how emails are imported to WHMCS pop from Gsuite email:

WHMCS reply that this issue never been reported before, so I hopefully they fixed it on 7.8 and actually they already had works in ticket cc capture emails, so it would be less work. 

I think all email imported that contains HEADER and FOOTER pronpt with these issues.

How can I read a ticket like this???
PS: I have changed company name to companyA and companyB. I just want to replicate the problem.

I have these problem since version 7.3 where I stated using WHMCS and already thought, develops knows that and it should be like that because ticket could be has some limitations, so i accept it my self. So sometimes I usually use email to read content, instead of WHMCS ticket.

I have used 2 different server for 2 different hosting provider and same problem.

 

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

Receipt for Your Payment to CompanyB


/* PP Sans Font Import */
@font-face {
font-family: 'pp-sans-big-light';
font-weight: 100;
font-style: normal;
src: url("https://www.objects.com/webstatic/mktg/2014design/font/PP-Sans/PSansBig-Light.woff") format("woff"), url("https://www.palobjects.com/webstatic/mktg/2014design/font/headlinedark/festivo1.ttf") format("truetype"), url("https://www.palobjects.com/webstatic/mktg/2014design/font/PP-Sans/PaansBig-Light.svg") format("svg")
}
/* PP Sans Class */
.ppsans {
font-family: 'pp-sans-big-light', 'Noto Sans', Calibri, Trebuchet, Arial, sans serif !important;
}
.ppsansbold {
font-family: 'pp-sans-big-bold', 'Noto Sans', Calibri, Trebuchet, Arial, sans serif !important;
}
/* prevent iOS font upsizing */
* {
-webkit-text-size-adjust: none;
}
/* force Outlook.com to honor line-height */
/*
.ExternalClass * {
line-height: 100%;
}
td {
mso-line-height-rule: exactly;
}
*/
/* prevent iOS auto-linking */

/* Android margin fix */
body {
margin: 0 !important;
}
div[style*="margin: 16px 0"] {
margin: 0 !important;
}
/** Prevent Outlook Purple Links **/
.greyLink a:link {
color: #949595;
}
/* prevent iOS auto-linking */
.applefix a { /* use on a span around the text */
color: inherit;
text-decoration: none;
}
.partner_image {
max-width: 250px !important;
max-height: 90px !important;
display: block;
}
.mpi_image {
width: 98% !important;
display: block;
margin-left: auto;
margin-right: auto;
}

/*** Responsive CSS ***/
@media only screen and (max-width: 414px) {
/*** Layout ***/
body {
width: 100%;
min-width: 100%;
position: relative;
top: 0;
left: 0;
right: 0;
margin: 0;
padding: 0;
}
.marginFix {
position: relative;
top: 0;
left: 0;
right: 0;
}
.mobContent {
width: 100% !important;
min-width: 100% !important;
padding: 0px 0px 0px 0px !important;
}
/*.mobMargin { width: 10% !important; }*/
.hide {
width: 0px !important;
height: 0px !important;
display: none !important;
}
.full-width {
width: 100% !important;
min-width: 100% !important;
}
.stackTbl {
width: 100% !important;
display: table !important;
}
.stackTblMarginTop {
width: 100% !important;
display: table !important;
margin-top: 20px !important;
}
.center {
margin: 0px auto !important;
}
.floatLeft {
float: left !important;
width: 35% !important;
}
.floatRight {
float: right !important;
width: 60% !important;
}
.autoHeight {
height: auto !important;
}
.autoWidth {
width: auto !important;
}
/*** Padding Styles ***/
.mobilePadding {
padding: 20px 20px 20px 20px !important;
}
.mobilePadding1 {
padding: 40px 20px 40px 20px !important;
height: auto !important;
}
.mobilePadding2 {
padding: 0px 20px 40px 20px !important;
}
.mobilePadding3 {
padding: 20px 20px 0px 20px !important;
}
.mobilePadding4 {
padding: 0px 0px 30px 0px !important;
}
.mobilePadding5 {
padding: 0px 20px 30px 20px !important;
}
.mobilePadding6 {
padding: 30px 20px 30px 20px !important;
}
.mobilePadding7 {
padding: 0px 20px 0px 20px !important;
}
.mobilePadding8 {
padding: 50px 0px 50px 0px !important;
}
.mobilePadding9 {
padding: 10px 0px 15px 0px !important;
}
.mobilePadding10 {
padding: 0px 20px 0px 20px !important;
}
.mobilePadding11 {
padding: 40px 0px 40px 0px !important;
}
.mobilePadding12 {
padding: 40px 0px 0px 0px !important;
}
.mobilePadding13 {
padding: 0px 0px 40px 0px !important;
}
.mobilePadding14 {
padding: 40px 30px 10px 30px !important;
}
.mobilePadding15 {
padding: 0px 30px 0px 30px !important;
}
.mobilePadding16 {
padding: 0px 0px 10px 0px !important;
}
.padding0 {
padding: 0px !important;
}
.topPadding0 {
padding-top: 0px !important;
}
.topPadding10 {
padding-top: 10px !important;
}
.topPadding20 {
padding-top: 20px !important;
}
.topPadding30 {
padding-top: 30px !important;
}
.topPadding40 {
padding-top: 40px !important;
}
.bottomPadding0 {
padding-bottom: 0px !important;
}
.bottomPadding10 {
padding-bottom: 10px !important;
}
.bottomPadding20 {
padding-bottom: 20px !important;
}
.bottomPadding30 {
padding-bottom: 30px !important;
}
.bottomPadding40 {
padding-bottom: 40px !important;
}
/* use to make image scale to 100 percent */
.fullWidthImg {
width: auto !important;
height: auto !important;
}
.fullWidthImg img {
width: auto !important;
height: auto !important;
}
.mobile_hero_width {
width: auto !important;
height: auto !important;
}
/* background image replacement scalable height */
.bgSwap {
background-image: url(images/lifestyle-background-mob.jpg) !important;
width: 100% !important;
padding-top: 65% !important; /* update height here */
background-size: cover !important;
background-position: center top !important;
background-repeat: no-repeat !important;
display: block !important;
}
/*** Border Styles ***/
.borderBottomDot {
border-bottom: 1px dotted #999999 !important;
}
/*** Text Align Styles ***/
.textAlignLeft {
text-align: left !important;
}
.textAlignRight {
text-align: right !important;
}
.textAlignCenter {
text-align: center !important;
}
/*** Misc Styles ***/
.mobileStrong {
font-weight: bold !important;
}
/*** Width Styles ***/
.td150px {
width: 150px !important;
}
.td130px {
width: 130px !important;
}
.td120px {
width: 120px !important;
}
.td100px {
width: 100px !important;
}
/*** Image Width Styles ***/
.imgWidth10px {
width: 10px !important;
}

.no_mobile_phone {
display: none !important;
}
/*** END Responsive CSS ***/
}

#button_text a {
text-decoration: none;
color: #fff;
}

.button_blue{
background: #0079c1;
font-family:HelveticaNeueLight,HelveticaNeue-Light,Helvetica Neue Light,HelveticaNeue,Helvetica,Arial,sans-serif;
font-weight:300;
font-stretch:normal;
text-align:center;
color:#fff;
font-size:15px;
/*button styles*/
border-radius:7px !important;
-webkit-border-radius: 7px !important;
-moz-border-radius: 7px !important;
-o-border-radius: 7px !important;
-ms-border-radius: 7px !important;
/*styles from button.jsp */ line-height: 1.45em; padding: 7px 15px 8px; font-size: 1em;
padding-bottom: 7px; margin: 0 auto 16px;
}
.button_orange{
background: #FF3421;
/*font styles*/font-family:HelveticaNeueLight,HelveticaNeue-Light,Helvetica Neue Light,HelveticaNeue,Helvetica,Arial,sans-serif;
font-weight:300;
font-stretch:normal;
text-align:center;
color:#fff;
font-size:15px;
/*button styles*/
border-radius:7px !important;
-webkit-border-radius: 7px !important;
-moz-border-radius: 7px !important;
-o-border-radius: 7px !important;
-ms-border-radius: 7px !important;
/*styles from button.jsp */ line-height: 1.45em; padding: 7px 15px 8px; font-size: 1em;
padding-bottom: 7px; margin: 0 auto 16px;
}

.button_grey{
background: #E0E0E0;
/*font styles*/font-family:HelveticaNeueLight,HelveticaNeue-Light,Helvetica Neue Light,HelveticaNeue,Helvetica,Arial,sans-serif;
font-weight:300;
font-stretch:normal;
text-align:center;
color:#fff;
font-size:15px;
/*button styles*/
border-radius:7px !important;
-webkit-border-radius: 7px !important;
-moz-border-radius: 7px !important;
-o-border-radius: 7px !important;
-ms-border-radius: 7px !important;
/*styles from button.jsp */ line-height: 1.45em; padding: 7px 15px 8px; font-size: 1em;
padding-bottom: 7px; margin: 0 auto 16px;
}

*[class=button_style] {
border-radius: 7px !important;
-webkit-border-radius: 7px !important;
-moz-border-radius: 7px !important;
-o-border-radius: 7px !important;
-ms-border-radius: 7px !important;
}
*[class=button_style]:active {
background: #008bdb !important;
}
*[class=button_style]:hover {
background: #008bdb !important;
}

/* A basic table styling */
.aloha-ephemera-attr 
{
width: 100%;
cellspacing: 0px;
cellpadding: 0px;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
-moz-hyphens : auto;
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word; 
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}

.aloha-ephemera-attr th
{
background-color: #EEE; 
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
border-collapse: collapse;
}

.aloha-ephemera-attr td
{

}

//body, td { font-family:Calibri, Trebuchet, Arial, sans serif; font-size:16px; line-height:22px; color:#333333; font-weight:normal;} 
body, td {font-size:12px; color:#333333; font-weight:normal;} //Save The Trees - To make templates Printer Friendly - Sindhuri 
td.ultility_nav_padding a {
color: #009cde;
font-weight: normal;
text-decoration: none;
font-family: Calibri, Trebuchet, Arial, sans serif;
font-size: 17px;

td.column_split_preheader a {
color: #009cde;
font-weight: normal;
text-decoration: underline;
font-family: Calibri, Trebuchet, Arial, sans serif;
font-size: 17px;
}
a {
color:#009cde;
font-weight: 300;
text-decoration: none;
font-family: Calibri, Trebuchet, Arial, sans serif;
font-size: 17px;
}
.headline{color: #0079c1; font-family: Helvetica Neue Light,Helvetica;font-size: 30px; font-weight: 300 !important;}
.text_lightblue_header { font-family:Calibri, Trebuchet, Arial, sans serif; font-size:36px; line-height:44px; color:#0079c1; -webkit-font-smoothing: antialiased; }


Jul 29, 2019 15:26:35 PDT 

Transaction ID: 
8L90478243435A2045465Y 
https://www.domain.com


 


 

 

Jul 29, 2019 15:26:35 PDT

Transaction ID: 
8L904782A20456565664Y 

 


 


Hello CompanyA ,You sent a payment of $56.00 USD to CompanyB (sales@companyB.com) It may take a few moments for this transaction to appear in your account.

Merchant

CompanyB


sales@companyB.com


Instructions to merchant

You haven't entered any instructions.


Shipping address - 
confirmed

Adress1 ,Apt1000,City, Country

Shipping details


The seller hasn’t provided any shipping details yet.


Description


Unit price


Qty


Amount


CompanyB - Invoice #2438

$56.00 USD


1

$56.00 USD

Subtotal


$56.00 USD

Total


$56.00 USD


Payment

$56.00 USD


Charge will appear on your credit card statement as " *COMPANYB"

Payment sent to sales@companyB.com

From amount


To amount

$56.00 USD

Exchange rate: 1 USD = 0.00972621
USD

Issues with this transaction?You have 180 days from the date of the transaction to open a dispute in the Resolution Center.Currency conversion: To complete this transaction, we converted the payment amount to the currency of your card based on our agreement with you. l's currency conversion fee is added to the exchange rate, set by an external financial institution. For more information about fees, see our user agreement.Questions? Go to the Help Center at www.al.com/cv/help.Please do not reply to this email. This mailbox is not monitored and you will not receive a response. For assistance, log in to your P account and click Help in the top right corner of any l page.You can receive plain text emails instead of HTML emails. To change your Notifications preferences, log in to your account, go to your Profile, and click My settings.

 

 

Copyright © 1999-2019 P. All rights reserved.
Consumer advisory – Pal Pte. Ltd., the holder of Pl's stored value facility, does not require the approval of the Monetary Authority of Singapore. Users are advised to read the terms and conditions carefully.P PPX001066:1.1:b735cb102cc17


  


 

Link to comment
Share on other sites

4 hours ago, brian! said:

as a quick fix, try editing the viewticket.tpl template in the admin area and change...


{$reply.message}

to...


{$reply.message|replace:"<br />\r\n<br />\r\n<br />\r\n":"</br />"}

btw - the same line should work in the client area equivalent viewticket template too... if those template changes work for you, then they can be rewritten as hooks.

Editing viewticket.tpl file with your code, reduce gaps in 50% ☺️ and it looks much better, but still some gaps that should be decrease more. Regarding those HEADER and FOOTER I hope WHMCS find a solutions to fix it, to not import Header or FOOTER to whmcs, only body message or something else that could fix all these issues.

Edited by zitu4life
Link to comment
Share on other sites

4 hours ago, zitu4life said:

WHMCS reply that this issue never been reported before, so I hopefully they fixed it on 7.8 and actually they already had works in ticket cc capture emails, so it would be less work. 

for your own sanity, don't jump to that conclusion... the stuff being worked on in v7.8 will, I hope and assume, have been planned on for months... if someone has told you this hasn't been reported to them before, then a fix won't have been planned for v7.8 (they aren't telepathic!) and so it won't be imminent (perhaps if it were a simple fix, but this might take some serious testing) - time will tell if/when it appears.

4 hours ago, zitu4life said:

I have these problem since version 7.3 where I stated using WHMCS and already thought, develops knows that and it should be like that because ticket could be has some limitations, so i accept it my self. So sometimes I usually use email to read content, instead of WHMCS ticket.

another option, instead of leaving the solution until the output, might be a TicketPiping hook to fix the formatting during import - but as I said above, you'd need to see what the additional coding is that's being added during import, try to detect any consistent wrong content and then remove them from the message in the hook.

3 hours ago, zitu4life said:

Editing viewticket.tpl file with your code, reduce gaps in 50% ☺️ and it looks much better, but still some gaps that should be decrease more.

you could throw a {if $adminLoggedIn }{debug}{/if} into the template; look at the popup window generated and see what crap (technical term) is in the message reply array and then adjust, or more likely, duplicate that replace in the code - you can use multiple replaces on the same variable.

3 hours ago, zitu4life said:

Regarding those HEADER and FOOTER I hope WHMCS find a solutions to fix it, to not import Header or FOOTER to whmcs, only body message or something else that could fix all these issues. 

TicketPiping hook could be the solution as that would give you the power to trim the parts you don't need... I mean if you have a consistent start and end point between which you want to remove content, then that's not difficult to do in PHP.

Link to comment
Share on other sites

WHMCS wont look at those issues. Disappointed 😞!! [Ticket ID: LFI-346733]

So It will be needed to contact every email service to ask than to make changes in their HTML CSS header in a way that WHMCS cam import those emails without  all posted issues 😲.

So would needed to start contacting those giant company Paypal, Google, etc, etc, to kind ask them to change their CSS header 😖

16 hours ago, zitu4life said:

{$reply.message|replace:"<br />\r\n<br />\r\n<br />\r\n":"</br />"}

These modification shows that it could be possible to fix it quickly.

Link to comment
Share on other sites

So the end this post:

WHMCS staff:

These emails are using HTML templates and the WHMCS ticket system does not support such HTML templates. So it is not able to parse the HTML properly, resulting in such spaces. The ticket system is only supposed to import plain text or basic HTML emails as ticket as it expects the support departments to receive only ticket related emails from customers. Full-fledged HTML/CSS emails are not supposed to be imported as tickets.

So, for my need perhaps I will need to hire someone to built a hook that will check if emails has HTML templates and import only message body, and replace all those CSS tamplates, so I will have a clean environment when reading ticket. it is important for me because my client do not usually reply ticket in client area, they just reply on email, and also am using same email setup on ticket departments to receive others commercial email that comes with those templates. I want to use WHMCS as a centralized management place, so that said I do not want to check email every everyday, but instead tickets, ticket should be focal point and email second one. So, that is way i want a clean environment. I not asking to import HTML templates, the most important is message body, if I want to see headers I already has email backup.

Edited by zitu4life
Link to comment
Share on other sites

@brian! They first ask some email sample, I have sent 3 cases sample:

Thanks for the files. Reviewing our codebase and looking at the provided files, it appears that this occurs when an email is sent in HTML only. WHMCS is not fully removing all of the CSS tags when the formatting is incorrect.

In exploring the provided samples, the PayPal example has an invalid header:

        <style type="text/css">
   <style type='text/css'> 

....
CSS CODE
...
</style>

In this case, the HTML has two opening style tags, but only 1 closing tag - thus resulting in the improper stripping of the CSS tags. While I cannot speak for every single email, this is what I have found from your provided example.

Please let me know if we can be of any further assistance.

Thank-you!

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

how can I fix this issue?
do you need me to send more other examples?

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

 That email had invalid HTML code (invalid header) which caused this behavior. There is nothing much we can do in WHMCS to resolve this. You will check the mail service provider or the mail send to look into this html code generated in the mail and have it fixed.

Hope it helps. Do let us know if you need any further assistance.

Best regards,

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

Thank you for the update.

I see the issue now. These emails are using HTML templates and the WHMCS ticket system does not support such HTML templates. So it is not able to parse the HTML properly, resulting in such spaces. The ticket system is only supposed to import plain text or basic HTML emails as ticket as it expects the support departments to receive only ticket related emails from customers. Full-fledged HTML/CSS emails are not supposed to be imported as tickets.

Hope it clears it up. Do let us know if you need any further assistance.

Best regards,

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

My options now...Some one suggest me to look at kayako or zendesk. because WHMCS translates the email replies and it will transform the HTML from the email into HTML from the ticket view.

Does anyone use kayoko Here??? If I integrate kayako with WHMCS I will be able to read ticket inside WHMCS or in kayako Website?

Does anyone uses kayako in this community that can say Hi 😃

 

 

Edited by zitu4life
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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