Someone remotely encrypted my original source - php

I was having a remote session with someone 2 days back for a web application demonstration, and suddenly, I don't know what he did, but my screen froze for 10 minutes and then when it got back to work, all my main original source files were encrypted.
I don't have any back up and it took so much to code all that files but now all my work has gone to waste. When I opened those files, it says "Encrypted by PHPMasterCrypt and when I visited that website, it says its one-way encryption and cannot be reverted back.
<?$__C44s='This program is encrypted by PHP MasterCrypt - phpMC v2.6.0. This encryption system has been developed by Subhash Bose. Visit http://programming.subhashbose.com/phpmc for using phpMC';$__v=1879;if(!function_exists('c___65gf')){function c___65gf($__44re,$__4bd7,$__hdh7){return substr($__44re.$__44re,$__4bd7%strlen($__44re),$__hdh7);}}$m__hes7j='==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';$s___g6='__';$__v++;$m__c7df2=create_function(base64_decode('JG5fX2hmNzQsJGxfMzQzag=='),base64_decode('cmV0dXJuIGNyZWF0ZV9mdW5jdGlvbigkbl9faGY3NCwkbF8zNDNqKTs='));$m__065a3=$m__c7df2(base64_decode('JGhfXzY0M2g='),base64_decode('cmV0dXJuIGJhc2U2NF9kZWNvZGUoc3RycmV2KCRoX182NDNoKSk7'));$__C44s=base64_encode($__C44s);$m__a3e35=${'m'.$s___g6.substr(md5(c___65gf($__C44s,$__v,23)),8,5)}($m__065a3('=kjMmJ2XfRGJ'),$m__065a3('=sTKpkjMmJ2XfRGJoYXZyJHdzhSZ0FGbm5Wa6dGIuJXd0Vmc'));eval(strrev(${'m'.$s___g6.substr(md5(c___65gf($__C44s,($__v*3)*$__v,23)),8,5)}(${'m'.$s___g6.substr(md5(c___65gf($__C44s,$__v*$__v,23)),8,5)}(str_replace(md5($__C44s.'MC'),'',$m__hes7j)))));?>

I believe I have retrieved your code through sheer stubbornness.
<?php
require('mysql_func.php');
//ONLINE [REDACTED]
define('GAPS_SERVER', 'localhost'); // eg, localhost
define('GAPS_SERVER_USERNAME', 'root');
define('GAPS_SERVER_PASSWORD', '[REDACTED]');
define('GAPS_DATABASE', 'edaddy_irinfotech');
define('SITE_URL','http://localhost/edaddy');
define('SITE_ADMIN_URL','http://localhost/edaddy');
define('SITE_NAME','E-Daddy');
define('SITE_PAGE_REGISTRECTED','<div style="text-align:center;color:#FF0000" class="alert"><strong style="color:#FF0000">You do not have access to this page.</strong></div>');
//****** Table's Name of database ***********///
$SQLDB = array(
'CRM_MENU' => 'crm_menu',
'CRM_USERS' => 'crm_users',
'CRM_MODULE' => 'crm_module',
'CRM_CUSTOMER' => 'crm_customer',
'CRM_DETAILS' => 'crm_detail',
'CRM_CASE' => 'crm_case',
'CRM_SUBCRIPTION_TYPE' => 'crm_subcription_type',
'CRM_OPERATING_SYSTEM' => 'crm_operating_system',
'CRM_SYSTEM_CONFIG' => 'crm_system_config',
'CRM_RAM' => 'crm_ram',
'CRM_HDD' => 'crm_hdd',
'CRM_VERIFICATION_QUESTION' => 'crm_verification_question',
'CRM_REGISTERED_COMPUTER' => 'crm_registered_computers',
'CRM_CURRENCY' => 'crm_currency',
'CRM_COUNTRIES' => 'crm_countries',
'CRM_ZONES' => 'crm_zones',
'CRM_CASE_STATUS' => 'crm_case_status',
'CRM_TEAM_MASTER' => 'crm_team_master',
'CRM_COMPONENTS' => 'crm_components',
'CRM_CUSTOMER_CASE_TEMP' => 'crm_customer_case_temp',
'CRM_CUSTOMER_CASE' => 'crm_customer_case',
'CRM_TIMEZONE' => 'crm_timezone',
'CRM_CUSTOMER_NOTES' => 'crm_customer_notes',
'CRM_CASE_EDITED_DATE' => 'crm_case_edited_date',
'CRM_BREAK_MASTER' => 'crm_break_master',
'CRM_USER_TIME_SLOT' => 'crm_user_time_slot',
'CRM_SETTINGS' => 'crm_settings',
'CRM_CALL_TYPE' => 'crm_call_type',
'CRM_CALL_MASTER' => 'crm_call_master',
'CRM_CUSTOMER_CALLING_DATE' => 'crm_customer_calling_date',
'CRM_CUSTOMER_REACTION' => 'crm_customer_reaction',
'CRM_USER_RIGHT_MASTER' => 'crm_user_right_master',
'CRM_USER_RIGHT_CUSTOMER' => 'crm_user_right_customer',
'CRM_INTERNAL_EMAIL' => 'crm_internal_email',
'CRM_INTERNAL_EMAIL_USERS' => 'crm_internal_email_users',
'CRM_NOTICE_BOARD' => 'crm_notice_board',
'CRM_NOTICE_BOARD_USER' => 'crm_notice_board_user',
'CRM_INTERNAL_EMAIL_REPLY' => 'crm_internal_email_reply',
'CRM_REFUND_REQUEST' => 'crm_refund_request',
'CRM_CALL_DISPOSITION' => 'crm_call_disposition',
'CRM_KNOWLEDGE_MANAGEMENT' => 'crm_knowledge_management',
'CRM_RESOURCE_MANAGEMENT' => 'crm_resource_management',
'CRM_NEWSLETTER_SEND' => 'crm_newsletter_send',
'CRM_USER_EMPLOYMENT' => 'crm_user_employment',
'CRM_USER_ATTENDANCE' => 'crm_user_attendance',
'CRM_CAMPAIGN' => 'crm_campaign',
'CRM_CAMPAIGN_EXPECTED_RESPONSE' => 'crm_campaign_expected_response',
'CRM_CAMPAIGN_STATUS' => 'crm_campaign_status',
'CRM_CAMPAIGN_TYPE' => 'crm_campaign_type',
'CRM_LEAD' => 'crm_lead',
'CRM_LEAD_INDUSTRY' => 'crm_lead_industry',
'CRM_LEAD_RATING' => 'crm_lead_rating',
'CRM_LEAD_SOURCE' => 'crm_lead_source',
'CRM_LEAD_STATUS' => 'crm_lead_status',
'CRM_QA_MASTER' => 'crm_qa_master',
'CRM_QA_MASTER_TYPE' => 'crm_qa_master_type',
'CRM_QA_MASTER_USERS' => 'crm_qa_master_users',
'CRM_CASE_FEEDBACK' => 'crm_case_feedback',
'CRM_INTERNET_OPTION' => 'crm_internet_option',
'CRM_QUALITY_REMARK' => 'crm_quality_remark',
'CRM_CHARGE_BACK' => 'crm_charge_back',
'CRM_AVG_KEY' => 'crm_avg_key',
'CRM_CLEAROMIZE' => 'crm_clearomize_key',
'CRM_ANTISPYWARE' => 'crm_antispyware',
'CRM_ANTIHIJACKING' => 'crm_antihijacking',
'CRM_BACKUP_TOOL' => 'crm_backup_tool',
'CRM_OPEN_CASE' => 'crm_open_case',
'CRM_CALL_SCHEDULE' => 'crm_call_schedule',
'CRM_REQUEST_CHARGEBACK_REFUND' => 'crm_request_chargeback_refund',
'CRM_USER_PENDING_ATTANDENCE' => 'crm_user_pending_attandence',
'CRM_ATTENDANCE_MASTER' => 'crm_attendance_master',
'CRM_UNRELATED_CALLS' => 'crm_unrelated_calls',
);
define('ERROR_MESSAGE','<div id="login_error"> %s</div>');
define('SUBMIT_MESSAGE','<div class="message_div"> %s</div>');
define('RECORD_DELETE','<div id="login_error"><strong>DELETE</strong>: %s</div>');
define('RECORD_UPDATE','<div class="message_div"><strong>UPDATE</strong>: %s</div>');
define('RECORD_INSERT','<div class="message_div"><strong>INSERT</strong>: %s</div>');
define('RECORD_STATUS_CHANGE','<div class="message_div"><strong>STATUS</strong>: %s</div>');
$gaps_obj_1 = new gaps_sql();
$gaps_obj_1->gaps_connect();
$gaps_obj_2 = new gaps_sql();
$gaps_obj_2->gaps_connect();
$gaps_obj_3 = new gaps_sql();
$gaps_obj_3->gaps_connect();
error_reporting(0);
The process can be applied to any other files you have, but considering the time and effort involved I wouldn't be able to do it for free =/
On further review, I have succeeded in automating the process. I have created a tool that reverses this supposedly irreversible process.
You can find the tool here: http://thedarkworld.net/phpmc260.php The server has since been taken down, but I've re-created it in a JSFiddle.

and suddenly, I don't know what he did, but my screen froze for 10 minutes
Blind bet is that your app allows file uploads and this feature is very much broken in your code as you allow uploaded files to be reached directly if one knows the right url. I suggest to inspect upload folder however the uploaded PHP script that did the mess could self-remove too.
it says its one-way encryption and cannot be reverted back.
There's no one way encryption as it would be no point of such.
I don't have any back up and it took so much to code
"so much to code" and no backup, no VCS. Well...

Related

Accessing a child node using JSON within PHP and file_get_contents()

OK I am stumped.
I have tried numerous different approaches and I've spent the best part of a good few hours searching to no avail to my exact situation, that or I am tired and blind.
Here is the raw json pulled from a URI using file_get_contents():
{"id":"XXX","name":"Customer1","os":"CentOS Linux 7.3.1611 Core","cpu_type":"Intel(R) Xeon(R) CPU E3-1245 V2 # 3.40GHz","networking_v4":[{"addr":"xxx.xxx.xxx.xxx","if":"eth0"}],"networking_v6":[{"addr":"xxxx","if":"eth0"},{"addr":"xxxx","if":"eth0"}],"agent_version":0.96,"status":"up","last_update":1505949230,"first_update":1500588943,"notifications_count":8,"ip_whois":{"ip":"xxx.xxx.xxx.xxx","hostname":"xxx","city":"Garwood","region":"New Jersey","country":"US","loc":"xxx","org":"AS20473 Choopa, LLC","postal":"xxx"},"additional_fields":[{"value":"xxx","key":"Datacenter"},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""},{"value":"","key":""}]}
As you can see its a pretty simple request and I have every bit of data except those nested within networking_v4 and networking_v6.
I tried to access those like so:
'ipv4' => $json->networking_v4->addr,
'ipv4dev' => $json->networking_v4->if,
'ipv6' => $json->networking_v6->addr,
'ipv6dev' => $json->networking_v6->if,
Here is the full snapshot of code in its entirety:
$content = file_get_contents($url);
$json = json_decode($content);
$server_lastupd = $json->last_update;
$server_firstupd = $json->first_update;
$server = array(
'id' => $json->id,
'name' => $json->name,
'os' => $json->os,
'cputype' => $json->cpu_type,
'ipv4' => $json->networking_v4->addr,
'ipv4dev' => $json->networking_v4->if,
'ipv6' => $json->networking_v6->addr,
'ipv6dev' => $json->networking_v6->if,
'status' => $json->status,
'lastupd' => $json->$server_lastupd,
'firstupd' => $json->$server_firstupd,
'notifications' => $json->notifications_count,
'ip' => $json->ip_whois->ip,
'hostname' => $json->ip_whois->hostname,
'city' => $json->ip_whois->city,
'region' => $json->ip_whois->region,
'country' => $json->ip_whois->country,
'loc' => $json->ip_whois->loc,
'org' => $json->ip_whois->org,
'postal' => $json->ip_whois->postal,
'dctag' => $json->additonal_fields->dctag,
'source' => "XXX"
);
return $server;
So my issue is I appear to be unable to access the child content within networking_v4 and networking_v6.
Any help on this would be massively appreciated, its stumped me for the best part of 6 hours last night and a few more today, so I give in, someone please show me the light!
Many thanks :)
It looks like those are nested in arrays from the [{"key':"value"},{"key":"value"}] square brackets. have you tried
ipv4 => $json->networking_v4[0]->addr,
Try $json->networking_v4[0]->addr.
Both the networking_v4 and the networking_v6 keys point to arrays, so you need to pick which index you want to look at. The former only has one element, so it's easy to pick index 0, but the latter has multiple elements, so you'll need to figure out which one you want.

mongoDB, PHP update specific value not all the values

I am having a problem in updating values i get from web service ..
$collection = $modb->$table;
$collection->update(array("id" => (int)$row['id']),
array('$set' => array(
"user_id" => (int)$post_data_array['user_id'],
"story" => (int)$post_data_array['story'],
"surprize_sub1" => (int)$post_data_array['surprize_sub1'],
"surprize_sub2" => (int)$post_data_array['surprize_sub2'],
"surprize_sub3" => (int)$post_data_array['surprize_sub3'],
"exr_solve" => (int)$post_data_array['exr_solve'],
"exr_assessmnt" => (int)$post_data_array['exr_assessmnt'],
"exr_refresh" => (int)$post_data_array['exr_refresh'],
"sound_control" => (int)$post_data_array['sound_control'],
"clock_control" => (int)$post_data_array['clock_control'],
"switch_user" => (int)$post_data_array['switch_user'],
"exr_print" => (int)$post_data_array['exr_print'],
"write_on_wall" => (int)$post_data_array['write_on_wall'],
"switch_letter" => (int)$post_data_array['switch_letter'],
"view_controls" => (int)$post_data_array['view_controls'],
)));
I get these values from end users.. i want the specific field sent to be updated without loosing all the rest of data ..
in this code only sent data is set while removing the rest .. i want to change only sent ones by keeping the rest as they are, please advice
you need to use updateOne instead of update .
updateOne
Use the MongoDB\Collection::updateOne() method to update a single document matching a filter.
$collection = $modb->$table;
$collection->updateOne(array("id" => (int)$row['id']),
array('$set' => array(
// .... array elements
)));

Prestashop 1.6.1.11 If user not logged show (This.)

Currently trying to dig my way around Prestashop, 1.6.1.11. I understand it a little bit but I wouldn't say I'm experienced.
I'm after a way to check if the user is logged in, which I have found examples for this elsewhere using .tpl files. However I need to action a response if the user is not logged in The thread I found is the reverse of which.
e.g. If user is not logged show element.
I found this line {if $logged} ..... {/if} , on the prestashop forums, but the thread is rather old and I'm not sure if this holds up as it dates back to version 1.5. I may be showing my inexperience here, but you don't know until you ask.
As a bit of background as to what it is specifically that I'm trying to achieve is to display a full width / height image with a sign-in element layered over top within the center.
I want to essentially give the user only one element to interact with and use to sign in.
I hope I have explained myself well enough, any help is appreciated. I'll keep looking and if I find anything useful I'll post it here.
Edit
Link to Prestashop thread.
My Own Prestashop question.
So after some digging, I was able to use the following to get the function I desired.
<!-- Check Login -->
<div id="check-log">
{if $is_logged}
<a href=".." id="Logout" />Logout</a>
{else}
<a href=".." id="Login" />Login</a>
{/if}
</div>
This code should be placed within the header.tpl Theme file.
This variable is defined in class /classes/controller/FrontController.php in method init():
$this->context->smarty->assign(array(
// Useful for layout.tpl
'mobile_device' => $this->context->getMobileDevice(),
'link' => $link,
'cart' => $cart,
'currency' => $currency,
'currencyRate' => (float)$currency->getConversationRate(),
'cookie' => $this->context->cookie,
'page_name' => $page_name,
'hide_left_column' => !$this->display_column_left,
'hide_right_column' => !$this->display_column_right,
'base_dir' => _PS_BASE_URL_.__PS_BASE_URI__,
'base_dir_ssl' => $protocol_link.Tools::getShopDomainSsl().__PS_BASE_URI__,
'force_ssl' => Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE'),
'content_dir' => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__,
'base_uri' => $protocol_content.Tools::getHttpHost().__PS_BASE_URI__.(!Configuration::get('PS_REWRITING_SETTINGS') ? 'index.php' : ''),
'tpl_dir' => _PS_THEME_DIR_,
'tpl_uri' => _THEME_DIR_,
'modules_dir' => _MODULE_DIR_,
'mail_dir' => _MAIL_DIR_,
'lang_iso' => $this->context->language->iso_code,
'lang_id' => (int)$this->context->language->id,
'language_code' => $this->context->language->language_code ? $this->context->language->language_code : $this->context->language->iso_code,
'come_from' => Tools::getHttpHost(true, true).Tools::htmlentitiesUTF8(str_replace(array('\'', '\\'), '', urldecode($_SERVER['REQUEST_URI']))),
'cart_qties' => (int)$cart->nbProducts(),
'currencies' => Currency::getCurrencies(),
'languages' => $languages,
'meta_language' => implode(',', $meta_language),
'priceDisplay' => Product::getTaxCalculationMethod((int)$this->context->cookie->id_customer),
'is_logged' => (bool)$this->context->customer->isLogged(),
'is_guest' => (bool)$this->context->customer->isGuest(),
'add_prod_display' => (int)Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
'shop_name' => Configuration::get('PS_SHOP_NAME'),
'roundMode' => (int)Configuration::get('PS_PRICE_ROUND_MODE'),
'use_taxes' => (int)Configuration::get('PS_TAX'),
'show_taxes' => (int)(Configuration::get('PS_TAX_DISPLAY') == 1 && (int)Configuration::get('PS_TAX')),
'display_tax_label' => (bool)$display_tax_label,
'vat_management' => (int)Configuration::get('VATNUMBER_MANAGEMENT'),
'opc' => (bool)Configuration::get('PS_ORDER_PROCESS_TYPE'),
'PS_CATALOG_MODE' => (bool)Configuration::get('PS_CATALOG_MODE') || (Group::isFeatureActive() && !(bool)Group::getCurrent()->show_prices),
'b2b_enable' => (bool)Configuration::get('PS_B2B_ENABLE'),
'request' => $link->getPaginationLink(false, false, false, true),
'PS_STOCK_MANAGEMENT' => Configuration::get('PS_STOCK_MANAGEMENT'),
'quick_view' => (bool)Configuration::get('PS_QUICK_VIEW'),
'shop_phone' => Configuration::get('PS_SHOP_PHONE'),
'compared_products' => is_array($compared_products) ? $compared_products : array(),
'comparator_max_item' => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM'),
'currencySign' => $currency->sign, // backward compat, see global.tpl
'currencyFormat' => $currency->format, // backward compat
'currencyBlank' => $currency->blank, // backward compat
));
// Deprecated
$this->context->smarty->assign(array(
'id_currency_cookie' => (int)$currency->id,
'logged' => $this->context->customer->isLogged(),
'customerName' => ($this->context->customer->logged ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : false)
));

IP.Board - Single Sign On in php

I'm developing a small hand made web portal for a community and I want it to have a loggin system with IP.Board (easier for the end user).
I have the forum and the app on the same hosting.
For the loggin, the user clicks on a button and is redirected to this page:
<?php
require_once '../www/forum/init.php';
include_once 'includes/functions.php';
error_reporting(E_ALL);
session_start();
\IPS\Session\Front::i();
print_r( \IPS\Member::loggedIn());
if(\IPS\Member::loggedIn()->member_id) {
$name = \IPS\Member::loggedIn()->name;
if(checkUserExistance($name)==0){
//header("Location: ../index.php");
print("LOGED EXIT!!!!!!!!!!!!!!!!!!!!");
}else{
print("LOGED INNNN!!!!!!!!!!!!!!!!!!!!");
$_SESSION['authenticated'] = 'yes';
$_SESSION['user'] = $name;
$userphoto = \IPS\Member::loggedIn()->photo;
$result = getUserData($_SESSION['user']);
$_SESSION['isLeader'] = $result['isLeader'];
$_SESSION['isAdmin'] = $result['isAdmin'];
}
} else{
print("LOGED OUT!!!!!!!!!!!!!!!!!!!!");
$_SESSION['authenticated'] = 'no';
if(session_destroy()){ // Destroying All Sessions
//header("Location: index.php");
}
}
//echo "Auth by LOGIN";
?>
If is not logged in IP.Board session (forum), it goes back to index.php
For now im developing a basic version of it, more improvements will be done once I get this working.
As you can see I have a print for debuging some data.
On Edge everything works, but on Firefox or chrome I get a string of 32 characters, each time a diferent one, instead of getting the username.
Example of what i get in Firefox and Chrome.
ef5cd2de05387b9b01048efad2173efd
Does any one know why is this?
INFO: I followed: IP.Board SSO Documentation
INFO2: Forum post
I'm using IPS Community Suite as the "Master".
EDIT 1: Debug of \IPS\Member::loggedIn()
IPS\Member Object ( [nodeClass:protected] => IPS\awards\Cats
[_followData] => [_previousPhotoType:protected] => [_group] =>
[restrictions:protected] => [modPermissions:protected] =>
[calculatedLanguageId:protected] => [markers] => Array ( )
[markersResetTimes:protected] => Array ( ) [haveAllMarkers:protected]
=> [defaultStreamId:protected] => [changedCustomFields] => Array ( ) [previousName:protected] => [_socialGroups:protected] =>
[sessionData:protected] => [_lang:protected] => [_url:protected] =>
[profileFields] => [_reputationData:protected] =>
[_following:protected] => Array ( ) [reportCount:protected] =>
[ignorePreferences:protected] => [_ppdLimit:protected] =>
[_data:protected] => Array ( [member_group_id] => 2 [mgroup_others] =>
[joined] => 1483440989 [ip_address] => 83.36.150.111 [timezone] => UTC
[allow_admin_mails] => 1 [pp_photo_type] => [member_posts] => 0
[pp_main_photo] => [pp_thumb_photo] => [failed_logins] =>
[pp_reputation_points] => 0 [signature] => [auto_track] =>
{"content":0,"comments":0,"method":"immediate"} ) [_new:protected] =>
1 [changed] => Array ( [member_group_id] => 2 [mgroup_others] =>
[joined] => 1483440989 [ip_address] => 83.36.150.111 [timezone] => UTC
[allow_admin_mails] => 1 [pp_photo_type] => [member_posts] => 0 )
[skipCloneDuplication] => )
Well I recognise that this is over two years ago now, but I haverecently ran into the same problem using a localhost installation. In my case, when I tried in a blank new file it did the same problem but eventually fixed itself.
When I tried to actually integrate it with my site, it did this every single time. It turned out in my case that it was something to do with stripping bad UTF-8 characters.
I have absolutely no idea why this made any difference, but as soon as I took the code out that was stripping these characters out of GET, POST and most importantly, COOKIE, it started working perfectly.
For anyone doing this now, there's really nothing you can do other than trial and error in commenting out lines of code until you find it. IPS really aren't helpful at all with this kind of thing and leave you feeling like you're on your own with it (which you virtually are).
Make sure the url (domain part) to your system is the same as IPS, ie www.example.com not only example.com
example.com will give that hash, while www.example.com will not.
Spent some time before seeing this....
Edit: and that was not it at all. If I log out of the forum and in, maybe several times, it works in all browsers. I do not see a pattern, except trying several times (at least once). Sorry for poor answer!
Eirik
I decided to use the other option for SSO in IP.Board Te other option, sends the login request to the forum, and does not need to check the sessions. Forum API does it.

Pusher/Wrench on Ubuntu 12.04 with PHP

A site I am currently grabbing a lot of data from via API recently implemented Pusher to provide real-time updates. They then link to the page http://pusher.com/docs/client_libraries for client side libraries in several languages.
So the PHP client library linked to at http://pusher.com/docs/client_libraries appears to be bad.
First, the Git repo (via browser) doesn't download everything but once you get that figured out it still doesn't work. The basic flow is connect to Psher server with App key, then subscribe to one or more channels, then listen forever to those channels for updates.
The connect appears to work. The subscribe appears to work. The top level object from the PHP library leads to a recursion error (too deep) when I use var_export on it. Here's the resulting object after I subscribe to a channel:
Wrench\Payload\HybiPayload::__set_state(array( 'frames' => array ( 0 => Wrench\Frame\HybiFrame::__set_state(array( 'masked' => false, 'mask' => NULL, 'offset_payload' => 2, 'offset_mask' => 2, 'length' => 84, 'type' => NULL, 'buffer' => 'T{"event":"pusher:connection_established","data":"{\\"socket_id\\":\\"34937.7965561\\"}"}', 'payload' => '', )), ), ))
From there it waits for an update from the channel and when an update occurs I get the following:
Wrench\Payload\HybiPayload::__set_state(array( 'frames' => array ( 0 => Wrench\Frame\HybiFrame::__set_state(array( 'masked' => false, 'mask' => NULL, 'offset_payload' => 4, 'offset_mask' => 4, 'length' => 153, 'type' => NULL, 'buffer' => '~' . "\0" . '™{"event":"pusher:error","data":{"code":null,"message":"Pusher protocol versions <= 3 have been deprecated. Support will be removed after November 2013"}}', 'payload' => '', )), ), ))
and
array ( 0 => WrenchPusher\PusherMessage::__set_state(array( 'event' => 'pusher:connection_established', 'channel' => NULL, 'data' => stdClass::__set_state(array( 'socket_id' => '34937.7965561', )), )), 1
=> WrenchPusher\PusherMessage::__set_state(array( 'event' => 'connection_established', 'channel' => NULL, 'data' => stdClass::__set_state(array( 'socket_id' => '34937.7965561', )), )), 2
=> WrenchPusher\PusherMessage::__set_state(array( 'event' => 'pusher:error', 'channel' => NULL, 'data' => stdClass::__set_state(array( 'code' => NULL, 'message' => 'Pusher protocol versions <= 3 have been deprecated. Support will be removed after November 2013', )), )),
Now the obvious issue would be the part about version 3 not being supported. The script fails on a json_decode call which is expecting a string but is getting an object.
Despite several Google searches on the matter I have not been able to find an updated library.
Has anyone worked with a more up-to-date Pusher/Wrench PHP library? Any recommendations are welcome.
Thanks
Update 04/11/14:
Pusher support was kind enough to take 2 days to confirm that the library is in fact broken. And to tell me that they won't do anything about it. So if you want Pusher client in PHP you appear to be out of luck for now.
I also know Ruby and checked into that library. It also looked old but I didn't spend a lot of time looking into the details. After wasting my time on the broken PHP library I assumed the Ruby one was probably broken as well. Pusher seems to prefer javascript.

Categories