Author Topic: SkypeClick2Call 500 Internal Error updating order status to "Confirmed" (all versions)  (Read 4334 times)

LTCreations

  • Beginner
  • *
  • Posts: 37
  • Mr. Garrison
    • City Directory On Line
I'm using VM 2.0.26d with J2.5.18

This morning, and I'm still frantic in trying to resolve the issue, all orders were met with the following 500 error upon confirmation:

TCPDF ERROR: [Image] Unable to get image: resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png

I have not been able to find the file or script that is calling that resource. I have found, through extensive research, that ImageBundle "somewhere" is obviously not using the correct path. But, I have no idea where to look since "I" have never installed anything dealing with Skype, nor added any code referencing Skype.
Additionally, I found the following "wrapped around" a custom html module in the site:
<p><strong>Alaska and Hawaii orders may save on shipping by calling <span class="skype_c2c_print_container">360-366-5522</span><span class="skype_c2c_container" dir="ltr" onmouseover="SkypeClick2Call.MenuInjectionHandler.showMenu(this, event)" onmouseout="SkypeClick2Call.MenuInjectionHandler.hideMenu(event)"><span class="skype_c2c_highlighting_inactive_common" dir="ltr"><span class="skype_c2c_textarea_span"><img class="skype_c2c_logo_img" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png" alt="" /><span class="skype_c2c_text_span">360-366-5522</span><span class="skype_c2c_free_text_span"></span></span></span></span></strong>
</p>
<div id="skype_c2c_menu_container" class="skype_c2c_menu_container" style="display: none;" onmouseover="SkypeClick2Call.MenuInjectionHandler.showMenu(this, event)" onmouseout="SkypeClick2Call.MenuInjectionHandler.hideMenu(event)">
    <div class="skype_c2c_menu_click2call"><a id="skype_c2c_menu_click2call_action" class="skype_c2c_menu_click2call_action">Call</a>
    </div>
    <div class="skype_c2c_menu_click2sms"><a id="skype_c2c_menu_click2sms_action" class="skype_c2c_menu_click2sms_action">Send SMS</a>
    </div>
    <div class="skype_c2c_menu_add2skype"><a id="skype_c2c_menu_add2skype_text" class="skype_c2c_menu_add2skype_text">Add to Skype</a>
    </div>
    <div class="skype_c2c_menu_toll_info"><span class="skype_c2c_menu_toll_callcredit">You'll need Skype Credit</span><span class="skype_c2c_menu_toll_free">Free via Skype</span>
    </div>
</div>

Even after I removed that, the only thing that stopped were the annoying logos and clicktocall wherever a phone number was found in the site.

I have also noticed that there is a menu change.

If anybody had some clue about where to look for this file that's causing the TCPDF error, I will be forever in your debt.
Obviously it has to do with the Pdf document.
But I can't figure out where to look.

I can see in the logs that there is every attempt for the system to send the order to Authorize.net although I have it in "test mode".
Everything works perfectly until you get to the "Confirm" button after inputting the credit card information.

When you confirm, VM logs the sale, showing that is a confirmed order.
But the user is met with the blank page and error:
TCPDF ERROR: [Image] Unable to get image: resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png

Thoughts? And since this is urgent, I hope someone has some ideas soon.

Thanks.

LTCreations

  • Beginner
  • *
  • Posts: 37
  • Mr. Garrison
    • City Directory On Line
FOLLOW UP

It took me nearly 8 hours to consider that I should search in the database, but that's what I did to find a "patch".

In the Terms of Service (TOS) page, there were 6 areas that had the click-to-call code.
I developed this site in a sub-directory of my main company site. Nobody had access to the site, and only a few people in management for my client had any knowledge of where to find the site in development.

I tracked down the code "also" in my local development. The local copy was a backup taken the day before I moved the current site into it's present domain.
I found the same code in the local backup, but it was only in the Joomla custom html module. So, I know that the code was part of the development prior to the move - just not part of VM.

What I don't understand is, the site was untouched (basically) after 02/14/2014. Yet, the skype code was in the site and didn't bother anything until this morning, 02/19/2014.

Since the code was found in Joomla and Virtuemart, I have to conclude that it's part of "something" in one of the plugins.
I have never installed anything relating to skype, so I know there is nothing I "knowingly" installed.

"Could" someone have hacked the site?
I doubt that, and I'm waiting for confirmation from the server tech's to confirm that.

"I" think the code was something that is part of working plugins/modules/components and that Microsoft moved the image being called:
src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png"
Once Microsoft moved the image the 500 error began.

We've had successful order since 02/14/2014 all through 02/18/2014.

Today, orders "were" confirmed, but to the user, they only saw the 500 error.

Authorize.net has confirmed orders and so does the Virtuemart "Orders". We have a lot of customer service to do in order to refund the money since those same people called and ordered over the phone.
I saw every one of the orders "I" made with "test mode" from Authorize.net as well as all the orders customers made before me...which we thought were never confirmed.

So, I searched the database for "skype_logo" and that's how I found where the issues lied.
In the table _virtuemart_vendors_en_gb
I found over 30 lines of that skype click-to-call code in that one table.

The only other place I found that code was in the initial "ah-ha" - in a Joomla custom html module.

This is NOT a resolve. This is simply my finding the code and removing it - via the database. That should not have been necessary, and I don't know if it will return because I have no idea what created the code.
I don't know from where that code came, but I think we need to look into that before a lot of other people have the same issue.

I'm open for feedback if you have some questions or comments.

Thanks.

LTCreations

  • Beginner
  • *
  • Posts: 37
  • Mr. Garrison
    • City Directory On Line
I'm hoping that someone will respond to this thread even though it's title has "Solved" - it is not!

Here is what I found last night and today.

The Skype Click to Call code was what stopped the "Thank You" page from showing to customers. Orders were being completed, but because the Click to Call has the wrong resource for the image, it threw a 500 error instead of the customer seeing the "Thank You" page.
Orders were confirmed in the system and Authorize.net, but the user had no way of knowing. And the invoice wasn't sent to the user.

I've confirmed that the site was NOT hacked, and the domain/server was NOT infiltrated.

What I have not confirmed, but what I have found (after some very, very intensive research), Skype itself is the culprit.

I have reason to believe that simply having Skype installed on your machine allows Microsoft to update and install Click to Call.
Here is the only place I found that refers to this very issue - http://www.mojoportal.com/Forums/Thread.aspx?pageid=5&t=11158~-1

I'm still investigating, but the bottom line is this.
If you have Skype Click to Call installed on your machine, there is a good possibility that you will infect your articles and anywhere in your CMS where there is an editor and a phone number in the text.
Click to Call, apparently, makes no distinction between an editor in a CMS and your own desktop editor. So, the code will be added without your knowledge if you are using the CMS editor and Click to Call finds a phone number.

I do not know if you can see the code being added when you are in WYSIWYG view. I do know that you can switch to Source View and see the code pretty quickly since it's not short.

I don't know if the code can replicate itself, but I don't think that's possible. I think a computer with Click to Call needs to open the specific file or article to add the code. And, the code will only be added to pages where Skype finds a phone number.

I hope this helps others...and any feedback would be appreciated.

Milbo

  • Virtuemart Projectleader
  • Administrator
  • Super Hero
  • *
  • Posts: 9941
  • VM3.2 Cached and Optimized
    • VM3 Extensions
  • VirtueMart Version: VirtueMart 3 on joomla 3
Perfect. I think you found the reason. You can disable this behaviour in skype btw.
I should fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

LTCreations

  • Beginner
  • *
  • Posts: 37
  • Mr. Garrison
    • City Directory On Line
Thank you for moving this, Milbo, to a place where it's new.
And, thank you for the input.

However, that doesn't really resolve the issue.

It "may" have been my computer that introduced the code. But, I don't think that's possible.
I've never used nor installed Click to Call.

Why would I think to disable Click to Call if I've never installed nor used that software? Why would I think that was something "I" did to the site?
Not that anybody has those answers, but I'm just saying that unless there was "some reason" for a developer to use and become very familiar with Click to Call, there would be no reason to suspect that it would be something "I" did.

What's really odd is, when I investigated to find out the cause, and I realized that it was Click to Call, I looked to see if that was installed on my machine (Windows 8.1). Sure enough, there it was in the Control Panel of removable software.

"AND"....the installation date?
02/13/2014
The date that I created the backup with Akeeba and downloaded the backup.
"I" did NOT install that program. What's worse, I'm positive that Windows 8 update did that automatically. And, a Microsoft employee (see below) stated that no software is installed without the permission of the user.
Wait...we ALL know that's not true. Microsoft updates have been installing software we don't want for years.

I installed the backup locally and researched the same files.
ONLY in the custom html file did I find the code.
In the working site, what "stopped" the thank you page from appearing is the code was added to the TOS of Virtuemart.

The site was moved on 02/14/2014.
The backup did not have the code in the VM TOS.
The working site had the code in VM TOS and "that" is what stopped the "Thank You" page from rendering because the code was looking for the image somewhere it was not found.

Even if "I" were the one that was in the site and Skype "jumped into" the TOS without my knowing, I saw the phone numbers in the site on 02/14/2014 with the Skype logo, but thought nothing of them. The site was working perfectly.
In fact, the site was working until 09:30 02/19/2014.
I hadn't been into the back end since 02/18/2014.
So even if I was responsible for the code being added, it worked perfectly until the morning of 02/19/2014 - 24 hours after I'd accessed the site.

I'm saying that Microsoft made a change in where the logo for Click to Call is found at Microsoft.
That change is what brought down Virtuemart - more correctly, it stopped the "Thank You" page from appearing.

Allowing Skype to add that code "anywhere" it sees a phone number is wrong.
I'm hoping to get Microsoft to see how the code has effected hundreds of thousands of sites around the world.

Go to Google and search this:
//skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png

Your search results will be thousands of sites that have the exact same error I've described.
It seems this issue is much more serious than simply me being a pain in the a--

I took a look at the settings for Skype as you suggested.
I found in "Tools > Options > Advanced > Advanced Settings" that there are two boxes checked by default: " Use Skype to call callto: links on the web" and "Use Skype to call tel: links on the web"
I unchecked them both so "I" won't be the one responsible.
I also uninstalled Click to Call 02/19/2014.

I'm also in contact with Microsoft. I contacted technical support for Skype and was told someone would call me on Saturday.
Additionally, as it turns out, someone in high management for Skype in London is related to a person at my client's company.
Needless to say, prior to my communicating with him, the company thought I was lying about why the site went down and my credibility is in a horrible state with the company until I get a resolve and conclusion from Microsoft.

What I "hope" to gain from this is to get Microsoft to make changes to Skype so that when developers, who "depend" on Skype in their work, don't "ever" have that code added to a site they are developing.

Milbo, I hope you have some input as to how developers can avoid this when using Virtuemart. I don't know that "I" was the culprit because I have Skype. But the fact remains, Microsoft has something that negatively effects how businesses operate.

This isn't over...

LTCreations

  • Beginner
  • *
  • Posts: 37
  • Mr. Garrison
    • City Directory On Line
The latest - Microsoft has admitted that this IS a problem and a direct result of Skype Click to Call.

I sent the link to this thread to Microsoft and they realized that there is most certainly something that needs to be done. They suggested that I uninstall Click to Call immediately...which I did the day this all started - 02/19/2014.
They had no idea how widespread this issue has become until I brought it to their attention.
But, because it's Microsoft, there is no way to know if they will take action.

The last I heard, and this is a quote from the Microsoft management at Skype, "Regarding the suggestions below – I will take them under consideration as we look at how we improve the experience over time."
..."below"... was in reference to the 2 points I said need to change in Skype - the resource and the default settings to disable Click to Call until the user "knows" they want to use that software.

The resource, I figured out, is wrong only because the resource is part of the JavaScript for the program. If the code and resource are used on your local machine, the "resource" is correct. But when Skype "launches" the code into your CMS, the "resource" is wrong because it's looking for the logo on your CMS. It doesn't exist there.

You may not have any problem with the Click to Call code in your site(s).
If you never touch the Virtuemart portion of the site you administrate then you'll never have problems.
But if you have Click to Call installed and you navigate through any part of Virtuemart, and you happen to edit something, that code "will" be added to the page(s) you edit and save.

At this point I have no resolve with Microsoft.
The only resolve is this:
If you use Skype - which most developers have learned to keep as part of their main "toolbox" - then you need to know that Click to Call "will" cause problems.
So check your machine once in a while to assure that Microsoft hasn't installed it on your machine.

You can easily know if Click to Call is installed on your machine. If you see phone numbers in Web sites highlighted in blue, and you can tell the phone number is an active link, and you see the Skype logo next to the phone numbers, then Click to Call is on your machine...and, perhaps the code has even been added to the Web page you are viewing.

If you have it installed you'll find it through your standard Control Panel, and you can remove it as you would any software. Click on the program and "uninstall".

One last thing.
If you have done "any" research on this specific subject, you will find only 1 other thread on the Net that discusses this...but not to the lengths that I have.

I hope I've helped others to avoid any issues.

AH

  • Global Moderator
  • Sr. Member
  • *
  • Posts: 2970
  • VirtueMart Version: 3.6.3
Blimey that sounds like a real bag of spanners!

I will certainly take care and do some sql searches in the db to see, always removed click to call functionality as it sucks!
regards
A

Joomla 3.9.12
php 7.2

32beyond

  • Beginner
  • *
  • Posts: 1
Hi,

I came across this form wile search the same issue for Joomla and i think i have found the issue, and this might help you here. as the same thing was happening to me ever time i edited something in the back end that had a phone number, it would appear with a Skype logo and blue color even on email templates. and i did not add it.

I am using Firefox; and this is where is found the issues.

Go to the add-ons/extensions and disable the Skype click to call.

this worked for me and it has stopped adding its self to all my code.

Regards,

 8)