setDangerousToolsOff();
$this->display();
}
public function keepalive(){
//echo 'alive';
jExit();
}
public function getMemberStatus() {
vRequest::vmCheckToken();
$data = new stdClass();
if(!vmAccess::manager()){
$data->msg = 'No rights';
echo vmJsApi::safe_json_encode($data);
jExit();
}
$request = 0;
$ackey = VmConfig::get('member_access_number','');
$host = JUri::getInstance()->getHost();
if(!empty($host) AND !empty($ackey)) {
$link = 'https://extensions.virtuemart.net/index.php?option=com_virtuemart&view=plugin&name=istraxx_download_byhost&ackey='.base64_encode( $ackey ).'&host='.$host.'&vmlang='.VmConfig::$vmlangTag.'&sku=VMMS&vmver='.vmVersion::$RELEASE;
try {
$resObj = VmConnector::getHttp(array(), array('curl', 'stream'))->get($link);
$request = $resObj->body;
}
catch (RuntimeException $e) {
$d = new stdClass();
$d->res = 'No connection';
$d->html = '
Your SERVER does not support allow_url_fopen, nor cUrl! Registration process stopped. Please enable on your server either allow_url_fopen or cUrl. '.$e->getMessage().'
';
$request = json_encode($d);
}
if(!empty($request)) {
/*if(preg_match('@(error|access denied)@i', $request)) {
return false;
} else {*/
$datat = vmJsApi::safe_json_decode($request, false);
if(empty($datat->res) or empty($datat->html)){
vmEcho::$echoDebug = 1;
vmdebug('Data is empty',$data);
//$data = new stdClass();
$data->msg = 'Error getting validation file';
} else {
$data = $datat;
$data = $this->nag($data);
if($data->res == 'valid'){
//Lets update the update site
$db = JFactory::getDbo();
$query='SELECT `extension_id` FROM `#__extensions` WHERE `type`="component" AND `element`="com_virtuemart"';
$db->setQuery($query);
$extension_id=$db->loadResult();
$q = 'SELECT * FROM `#__update_sites` as u LEFT JOIN #__update_sites_extensions as us on u.update_site_id = us.update_site_id WHERE `extension_id` = "'.(int)$extension_id.'"';
$db->setQuery($q);
$site = $db->loadObject();
if($site){
$extra_query = 'dlkey='.$data->ackey;
if($site->extra_query!=$extra_query){
$q = 'UPDATE `#__update_sites` SET `extra_query`="'.$extra_query.'" WHERE update_site_id = "'.$site->update_site_id.'"';
$db->setQuery($q);
$db->execute();
}
} else {
$data->msg .= 'Update site missing for extension id '.$extension_id;
}
}
}
//}
}
}
echo vmJsApi::safe_json_encode($data);
jExit();
}
private function nag($data){
if(!empty($data->res)){
if(!empty($data->html)){
$safePath = shopfunctions::getSafePathFor(1,'regcache');
$safePath .= DS.'vmm.ini';
$date = JFactory::getDate();
$today = $date->toUnix();
$content = ';res).'"
html = "'.vRequest::vmSpecialChars($data->html).'"
; */ ?>';
$result = JFile::write($safePath, $content);
}
}
return $data;
}
}