File: /home/httpd/html/nyloncams.com/public_html/admin/functions.camApis.php
<?php
//cam api function calls.
if(!function_exists('xLoveData')) {
function xLoveData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$data = array(
'authServiceId' => 2,
'authItemId' => $params,
'authSecret' => $wm,
'timestamp' => time()
);
$chandler = curl_init();
curl_setopt($chandler, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($chandler, CURLOPT_URL, 'https://webservice-affiliate.xlovecam.com/model/listonline');
curl_setopt($chandler, CURLOPT_POST, true);
curl_setopt($chandler, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($chandler, CURLOPT_POSTFIELDS, http_build_query($data)."&lang=en&limit=2000&offset=0&category=1,13");
curl_setopt($chandler, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($chandler);
curl_close($chandler);
$response = json_decode($resp, true);
if(is_array($response)) {
$output = substr(json_encode($response),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($response) && $response['content']['count'] > 0) {
$key = 0;
foreach ($response['content']['models_list'] as $model) {
if($key == $max) { break; }
unset($i);
$chandler = curl_init();
curl_setopt($chandler, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($chandler, CURLOPT_URL, 'https://webservice-affiliate.xlovecam.com/model/getprofileinfo');
curl_setopt($chandler, CURLOPT_POST, true);
curl_setopt($chandler, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($chandler, CURLOPT_POSTFIELDS, http_build_query($data)."&lang=en&modelid={$model['model_id']}");
curl_setopt($chandler, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($chandler);
curl_close($chandler);
$info = json_decode($resp, true);
$i['username'] = $model['nick'];
$i['seconds_online'] = 0;
$i['spoken_languages'] = ($model->spoken_languages);
$i['num_users'] = 0;
$i['chat_room_url'] = $model['model_link'];
$i['gender'] = 'f';
$i['age'] = $info['content'][$model['model_id']]['model']['age'];
$i['recorded'] = '';
$i['current_show'] = $model['show_type'];
$i['iframe_embed_revshare'] = '<iframe src="https://www.xlovecam.com/prm/livechat/?id_affilie='.$params.'&cf=000000&cc=990000&ct=000000&ca=ff3300&full=1&chat_align=right&vol=100&width=320&psm='.$model['nick'].'" frameborder="0" scrolling="no" style="overflow: hidden;"></iframe>';
$i['birthday'] = '';
$i['image_url'] = $model['camLive'];
$i['location'] = '';
$i['block_from_states'] = '';
$i['block_from_countries'] = '';
$i['iframe_embed'] = $i['iframe_embed_revshare'];
$i['chat_room_url_revshare'] = '';
if(isset($model['tags'])) {
$i['tags'] = implode(',', ($model['tags']));
} else {
$i['tags'] = '';
}
$i['room_subject'] = '';
$i['hd_cam'] = 0;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('stripChatData')) {
function stripChatData($id,$wm, $max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
$array = json_decode(curl_get_contents("https://go.xlirdr.com/api/models?strict=1&fields=tags&limit=".$max."&userId=".$wm."&broadcastGender=".$settings['Gender']));
if(!empty($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array->models)) {
$key = 0;
foreach ($array->models as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = ($model->username);
$i['seconds_online'] = "";
$i['spoken_languages'] = implode(",", $model->languages);
$i['num_users'] = "";
$i['chat_room_url'] = "https://go.schjmp.com/?path=%2Fapi%2Fexternal%2Fv3%2Faffiliates%2Fmodels%2F{$model->username}%2Fonline&userId=".$wm;
$i['gender2'] = ($model->gender);
$i['age'] = "";
$i['race'] = str_replace("ethnicity","",$model->profileEthnicity);
$i['hair'] = str_replace("haircolor","",$model->profileHairColor);
$i['bust'] = "";
$i['pubic_area'] = "";
$i['recorded'] = false;
$i['current_show'] = "";
$i['iframe_embed_revshare'] = "https://lite-iframe.stripcdn.com/{$model->username}?userId=".$wm."";
$i['birthday'] = "";
$i['image_url'] = ($model->popularSnapshotUrl);
$i['location'] = $model->modelsCountry;
$i['block_from_states'] = "";
$i['block_from_countries'] = "";
$i['iframe_embed'] = "";
$i['chat_room_url_revshare'] = "https://lite-iframe.stripcdn.com/{$model->username}?userId=".$wm."";
$i['tags'] = str_replace(array("couples/", "girls/","trans/","men/"), "", implode(",", $model->tags));
$i['room_subject'] = $model->goalMessage;
$i['hd_cam'] = $model->broadcastHD == 1 ? 1 : 0;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'male') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'female') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'couple') !== false) {
$i['gender'] = 'c';
}
if(stripos($i['gender2'],'tranny') !== false) {
$i['gender'] = 't';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('liveJasminData')) {
function liveJasminData($id,$wm, $max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Program'])) {
$program = $settings['Program'];
}
if(isset($settings['LiveJasmin Category'])) {
$category = $settings['LiveJasmin Category'];
}
if(isset($settings['Campaign ID'])) {
$campaignId = $settings['Campaign ID'];
}
if(isset($settings['Site'])) {
$ljsite = $settings['Site'];
}
if(!isset($program)) {
$program = 'revs';
}
if(!isset($ljsite)) {
$ljsite = 'jasmin';
}
if(!isset($campaignId)) {
$campaignId = '';
}
if(!isset($category)) {
$category = '';
} else {
$category = "&category=".$category;
}
$array = json_decode(file_get_contents("https://pt.protawe.com/api/model/feed?siteId=".$ljsite."&psId=".$params."&psTool=213_1&psProgram=".$program."&campaignId=".$campaignId.$category."&limit=".$max."&imageSizes=320x180&imageType=erotic&showOffline=0&extendedDetails=1&responseFormat=json&performerId=&subAffId={SUBAFFID}&accessKey=".$wm."&legacyRedirect=1", false, stream_context_create($arrContextOptions)));
if(!empty($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array->data->models)) {
$key = 0;
foreach ($array->data->models as $model) {
if($key == $max) { break; }
unset($i);
$embedCode = '<div id="object_container" style="width:100%;height:100%"></div><script src="//ptwmemd.com/embed/lf?c=object_container&site=jasmin&cobrandId=&psid='.$params.'&pstool=202_1&psprogram=pps&campaign_id=&category=&forcedPerformers[]='.($model->displayName).'&vp[showChat]=true&vp[chatAutoHide]=false&vp[showCallToAction]=true&vp[showPerformerName]=true&vp[showPerformerStatus]=true&filters=&ms_notrack=1&subAffId={SUBAFFID}"></script>';
$i['username'] = ($model->displayName);
$i['seconds_online'] = ($model->online_time);
$i['spoken_languages'] = implode(",", $model->details->languages);
$i['num_users'] = "";
$i['chat_room_url'] = ($model->chatRoomUrl);
$i['gender2'] = ($model->persons[0]->sex);
$i['age'] = ($model->persons[0]->age);
$i['race'] = ($model->ethnicity);
$i['hair'] = ($model->persons[0]->body->hairColor);
$i['bust'] = "";
$i['pubic_area'] = "";
$i['recorded'] = false;
$i['current_show'] = ($model->status);
$i['iframe_embed_revshare'] = $embedCode;
$i['birthday'] = "";
$i['image_url'] = ($model->profilePictureUrl->size320x180);
$i['location'] = ($model->country);
$i['block_from_states'] = "";
$i['block_from_countries'] = implode(",", $model->bannedCountries);
$i['iframe_embed'] = $embedCode;
$i['chat_room_url_revshare'] = ($model->chatRoomUrl);
$i['tags'] = implode(",", $model->details->willingnesses);
$i['room_subject'] = ($model->details->about->biography);
$i['hd_cam'] = $model->streamQuality >= 8 ? 1 : 0;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'male') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'female') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'couple') !== false) {
$i['gender'] = 'c';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('imliveData')) {
function imliveData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$xmlResponse = file_get_contents("https://bestof.imlive.com/Live-Sex.rss?WID=".$wm."&ItemCount=".$max."&QueryID=&LinkID=701&promocode=".$params."&from=freevideo1&iw=320&ih=240");
$xmlResponse = str_replace("pc:image","pcimage",$xmlResponse); //because it won't parse pc:image for some reason...
$xml = simplexml_load_string($xmlResponse , null, LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
if(is_array($array['channel']['item'])) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array['channel']['item'])) {
$key = 0;
foreach ($array['channel']['item'] as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = ($model['title']);
$i['seconds_online'] = "";
$i['spoken_languages'] = "";
$i['num_users'] = 0;
$i['chat_room_url'] = $model['link'];
$i['age'] = $model['age'];
$i['gender'] = 'f';
$i['race'] = $model['ethnicity'];
$i['hair'] = $model['hair_color'];
$i['bust'] = $model['bust_size'];
$i['pubic_area'] = $model['pubic_hair'];
$i['recorded'] = false;
$i['current_show'] = "";
$i['iframe_embed_revshare'] = $model['link'];
$i['image_url'] = $model['pcimage'].'&wi=320&hi=240';
$i['block_from_states'] = "";
$i['block_from_countries'] = "";
$i['iframe_embed'] = "";
$i['chat_room_url_revshare'] = $model['link'];
$i['tags'] = $model['tags'];
$i['room_subject'] = $model['description'];
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('camSodaData')) {
function camSodaData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$array = json_decode(file_get_contents("https://feed.camsoda.com/api/v1/browse/online_embed?id=".$wm."&type=revs", true));
if(!empty($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array->results) && !empty($array->results)) {
$key = 0;
foreach ($array->results as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = ($model->username);
$i['num_users'] = ($model->viewers);
$i['chat_room_url'] = ($model->link);
$i['gender'] = ($model->gender);
$i['current_show'] = ($model->status);
$i['iframe_embed_revshare'] = '<iframe src="'.($model->link_iframe).'"></iframe>';
$i['image_url'] = ($model->thumb);
$i['iframe_embed'] = ($model->link_iframe);
$i['chat_room_url_revshare'] = ($model->link);
$i['tags'] = implode(',', ($model->tags));
$i['room_subject'] = ($model->subject);
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('cherryTVData')) {
function cherryTVData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$chandler = curl_init();
curl_setopt($chandler, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($chandler, CURLOPT_URL, 'https://api.cherry.tv/affiliates/v1/models?apiKey='.$wm.'&status=online');
curl_setopt($chandler, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($chandler);
curl_close($chandler);
$response = json_decode($resp, true);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$genderFilter = $settings['Gender'];
}
if(is_array($response)) {
$output = substr(json_encode($response),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($response) && count($response['data']) > 0) {
$key = 0;
foreach ($response['data'] as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = $model['model']['username'];
$i['seconds_online'] = 0;
$i['spoken_languages'] = implode(",", $model['model']['spoken_languages']);
$i['num_users'] = $model['room']['viewers'];
$i['chat_room_url'] = $model['links']['affiliate_url'];
$i['gender2'] = $model['model']['gender'];
$i['age'] = $model['model']['age'];
$i['recorded'] = '';
$i['current_show'] = '';
$i['iframe_embed_revshare'] = '<iframe src="'.$model['links']['affiliate_url'].'"></iframe>';
$i['birthday'] = '';
$i['image_url'] = $model['room']['thumbnail'];
$i['location'] = '';
$i['block_from_states'] = '';
$i['block_from_countries'] = '';
$i['iframe_embed'] = '<iframe src="'.$model['links']['affiliate_url'].'"></iframe>';
$i['chat_room_url_revshare'] = $model['links']['affiliate_url'];
$i['tags'] = implode(',', ($model['model']['tags']));
$i['room_subject'] = $model['room']['subject'];
$i['hd_cam'] = 0;
$i = mysql_real_escape_array($i);
$addModel = false;
$test = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($test) || $test['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'other') !== false) {
$i['gender'] = 'f'; //cherrytv marks some women as 'other' for some reason?
}
if(stripos($i['gender2'],'girl') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'couple') !== false) {
$i['gender'] = 'c';
}
if(stripos($i['gender2'],'trans') !== false) {
$i['gender'] = 't';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if(isset($genderFilter) && $genderFilter != "") {
if($genderFilter != $i['gender']) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('cam4Data')) {
function cam4Data($id,$wm,$max = 1000,$extraParameters = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$genderFilter = $settings['Gender'];
} else {
$genderFilter = "";
}
$array = json_decode(file_get_contents("https://pinklabel.com/tools/feed/data.json?aff_id=".$wm."&prog=rs&limit=".$max."&gender=".$genderFilter.$extraParameters, false, stream_context_create($arrContextOptions)));
if(is_array($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array)) {
$key = 0;
foreach ($array as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = ($model->nickname);
$i['seconds_online'] = "";
$i['spoken_languages'] = !empty($model->languages) ? implode(",", $model->languages) : "";
$i['num_users'] = ($model->viewers);
$i['chat_room_url'] = ($model->link);
$i['gender2'] = ($model->gender);
$i['age'] = ($model->age);
$i['race'] = "";
$i['hair'] = "";
$i['bust'] = "";
$i['pubic_area'] = "";
$i['recorded'] = false;
$i['current_show'] = ($model->show_type);
$i['iframe_embed_revshare'] = "https://traffic.pinklabel.com/live-banners?aff_id=".$wm."&site_id=cam4rs&profile=".$i['username']."&live_indicator=top_right&cta_position=bottom&cta_mode=image&cta_src=";
$i['birthday'] = "";
$i['image_url'] = ($model->thumb);
$i['location'] = ($model->country);
$i['block_from_states'] = "";
$i['block_from_countries'] = "";
$i['iframe_embed'] = "https://traffic.pinklabel.com/live-banners?aff_id=".$wm."&site_id=cam4ppl&profile=".$i['username']."&live_indicator=top_right&cta_position=bottom&cta_mode=image&cta_src=";
$i['chat_room_url_revshare'] = ($model->link);
$i['tags'] = !empty($model->show_tags) ? implode(",", $model->show_tags) : "";
$i['room_subject'] = ($model->status);
$i['hd_cam'] = $model->hd_stream;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'male') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'female') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'couple') !== false) {
$i['gender'] = 'c';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('bongaData')) {
function bongaData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$array = json_decode(file_get_contents("https://ssl-tools.bongacams.com/promo.php?c=".$wm."&type=api&api_v=1&api_type=json&lang=en", true));
if(is_array($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$genderFilter = $settings['Gender'];
}
if (is_array($array)) {
$key = 0;
foreach ($array as $model) {
unset($i);
$i['username'] = ($model->display_name);
$i['seconds_online'] = ($model->online_time);
$i['spoken_languages'] = ($model->primary_language) . "," . ($model->secondary_language);
$i['num_users'] = ($model->members_count);
$i['chat_room_url'] = ($model->chat_url);
$i['gender2'] = ($model->gender);
$i['age'] = ($model->display_age);
$i['race'] = ($model->ethnicity);
$i['hair'] = ($model->hair_color);
$i['bust'] = ($model->bust_penis_size);
$i['pubic_area'] = ($model->pubic_hair);
$i['recorded'] = false;
$i['current_show'] = ($model->chat_status);
$i['iframe_embed_revshare'] = ($model->chat_url);
$i['birthday'] = ($model->birthday);
$i['image_url'] = ($model->profile_images->thumbnail_image_big_live);
$i['location'] = ($model->hometown);
$i['block_from_states'] = ($model->restricted_state_ids);
$i['block_from_countries'] = ($model->restricted_country_ids);
$i['iframe_embed'] = ($model->chat_url);
$i['chat_room_url_revshare'] = ($model->chat_url_on_home_page);
$i['tags'] = ($model->ethnicity . "," . $model->hair_color . "," . $model->pubic_hair);
$i['room_subject'] = ($model->turn_on);
$i['hd_cam'] = $model->hd_cam;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'male') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'female') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'couple') !== false) {
$i['gender'] = 'c';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if(isset($genderFilter) && $genderFilter != "") {
if($genderFilter != $i['gender']) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('chaturbateData')) {
function chaturbateData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$genderFilter = $settings['Gender'];
}
if(isset($settings['Tracking Campaign'])) {
$trackingCampaign = $settings['Tracking Campaign'];
} else {
$trackingCampaign = "";
}
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$array = json_decode(curl_get_contents("https://chaturbate.com/affiliates/api/onlinerooms/?format=json&wm=".$wm));
if(is_array($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
if (is_array($array)) {
$key = 0;
foreach ($array as $model) {
if($key == $max) { break; }
unset($i);
$i['username'] = ($model->username);
$i['seconds_online'] = ($model->seconds_online);
$i['spoken_languages'] = ($model->spoken_languages);
$i['num_users'] = ($model->num_users);
$i['chat_room_url'] = ($model->chat_room_url);
$i['gender'] = ($model->gender);
$i['age'] = ($model->age);
$i['recorded'] = ($model->recorded);
$i['current_show'] = ($model->current_show);
$i['iframe_embed_revshare'] = ($model->iframe_embed_revshare);
$i['birthday'] = ($model->birthday);
$i['image_url'] = ($model->image_url);
$i['location'] = ($model->location);
$i['block_from_states'] = ($model->block_from_states);
$i['block_from_countries'] = ($model->block_from_countries);
$i['iframe_embed'] = ($model->iframe_embed);
$i['chat_room_url_revshare'] = ($model->chat_room_url_revshare);
$i['tags'] = implode(',', ($model->tags));
$i['room_subject'] = ($model->room_subject);
$i['hd_cam'] = $model->is_hd;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
//if(isset($siteData['gender'])) {
// if($siteData['gender'] != $i['gender']) {
// $addModel = false;
// }
//}
if(isset($genderFilter) && $genderFilter != "") {
if($genderFilter != $i['gender']) {
$addModel = false;
}
}
if($i['gender'] == 's') {
$i['gender'] = 't';
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('cambuilderData')) {
function cambuilderData($id,$wm,$max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$data = array(
'authServiceId' => 2,
'authItemId' => $params,
'authSecret' => $wm,
'timestamp' => time()
);
$url = 'http://affiliate.streamate.com/SMLive/SMLResult.xml';
$xmlHeader = '';
$xmlRequest = $xmlHeader . '<?xml version="1.0" encoding="UTF-8"?>
<SMLQuery>
<Options MaxResults="'.$max.'" />
<AvailablePerformers QueryId="MyQueryforall">
<Include>
<Descriptions />
<Media>staticbiopic</Media>
<StaticSort />
</Include>
<Constraints>
<PublicProfile />
<StreamType>live</StreamType>
</Constraints>
</AvailablePerformers>
</SMLQuery>';
$ch = curl_init( );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type: text/xml' )
);
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $xmlRequest );
$xmlResponse = curl_exec( $ch );
$xml = simplexml_load_string($xmlResponse);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'",false);
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$genderFilter = $settings['Gender'];
}
if(isset($xmlResponse) && !empty($xmlResponse)) {
$output = substr(json_encode($xmlResponse),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$xmlResponse)."' WHERE record_num = '{$id}'");
}
if (is_array($array['AvailablePerformers'])) {
$key = 0;
foreach ($array['AvailablePerformers']['Performer'] as $model) {
if($key == $max) { break; }
unset($i);
$fullData = $model;
$model = $model['@attributes'];
$i['username'] = $model['Name'];
$i['seconds_online'] = 0;
$i['spoken_languages'] = $model['Language'];
$i['num_users'] = 0;
if(!empty($siteData['whitelabel_domain'])) {
$i['chat_room_url'] = $i['chat_room_url_revshare'] = "https://".$siteData['whitelabel_domain']."/cam/".$model['Name'];
$i['iframe_embed'] = '<iframe allowtransparency="true" style="max-height: 805px;" scrolling="no" src="https://'.$siteData['whitelabel_domain'].'/purecam?performer='.$model['Name'].'&lang=en&color=%23da7922&lp=iframe&AFNO='.$wm.'"></iframe>';
$i['iframe_embed_revshare'] = '<iframe allowtransparency="true" style="max-height: 805px;" scrolling="no" src="https://'.$siteData['whitelabel_domain'].'/purecam?performer='.$model['Name'].'&lang=en&color=%23da7922&lp=iframe&AFNO='.$wm.'"></iframe>';
} else {
$i['chat_room_url'] = $i['chat_room_url_revshare'] = "https://streamate.com/landing/click/cam/".$model['Name']."/click/?AFNO=".$wm;
$i['iframe_embed'] = '<iframe allowtransparency="true" style="max-height: 805px;" scrolling="no" src="https://hybridclient.naiadsystems.com/purecam?performer='.$model['Name'].'&lp=iframe&AFNO='.$wm.'"></iframe>';
$i['iframe_embed_revshare'] = '<iframe allowtransparency="true" style="max-height: 805px;" scrolling="no" src="https://hybridclient.naiadsystems.com/purecam?performer='.$model['Name'].'&lp=iframe&AFNO='.$wm.'"></iframe>';
}
$i['gender'] = $model['Gender'];
$i['age'] = $model['Age'];
$i['recorded'] = '';
$i['current_show'] = $model['StreamType'];
$i['birthday'] = '';
$i['image_url'] = $fullData['Media']['Pic']['Full']['@attributes']['Src'];
$i['location'] = '';
$i['block_from_states'] = '';
$i['block_from_countries'] = '';
$i['tags'] = $model['Fetishes'].','.$model['Theme'].','.$model['Build'].','.$model['BodyMods'];
$i['room_subject'] = "";
$i['hd_cam'] = 1;
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if(isset($genderFilter) && $genderFilter != "") {
if($genderFilter != $i['gender']) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
}
if(!function_exists('flirtForFreeData')) {
function flirtForFreeData($id,$wm, $max = 1000, $params = "") {
global $dblink;
$whiteListData = getSiteWhitelist($id);
dbQuery("UPDATE performers SET num_users = 0, position = 999999, status = 0 WHERE site = '{$id}'");
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$siteData = dbRow("SELECT * FROM paysites WHERE record_num = '{$id}'");
if(!empty($siteData['settings_json'])) {
$settings = json_decode($siteData['settings_json'],true);
}
if(isset($settings['Gender'])) {
$service = $settings['Gender'];
} else {
$service = 'all';
}
if(isset($siteData['whitelabel_domain']) && !empty($siteData['whitelabel_domain'])) {
$domain = $siteData['whitelabel_domain'];
} else {
$domain = "www.flirt4free.com";
}
$array = json_decode(file_get_contents("https://".$domain."/webservices/performers.php?method=getLiveModels&api_key=".$wm."&data_type=json&service=".$service."&mp_code=".$params, false, stream_context_create($arrContextOptions)),true);
if(!empty($array)) {
$output = substr(json_encode($array),0,1000);
dbQuery("UPDATE paysites SET last_log = '".mysqli_real_escape_string($dblink,$output)."' WHERE record_num = '{$id}'");
}
//flirt4free is a bit strange, it returns separate arrays for girls, guys and trans so if all is selected we need to loop through.
if($service == 'all') {
//gender not selected
$servicesArray = array("girls","guys","trans");
//gender selected
foreach($servicesArray as $service) {
if (is_array($array[$service])) {
$key = 0;
foreach ($array[$service] as $model) {
if($key == $max) { break; }
unset($i);
$embedCode = '<iframe src="https://secure.vs3.com/_special/banners/LiveWebCams.php?cta=gtr&style=responsive-lva-theme-004&mp_code='.$params.'&service='.$service.'&language=en&use_promo=0&continuous_play=0&model_id='.$model['id'].'&bgcolor=000000&txtcolor=FFFFFF&linkcolor=00A7E1&num_models=50&target=_blank&btncolor=00A7E1&btntxtcolor=FFFFFF&accentcolor=0859A8" scrolling="no" width="100%" height="100%" frameborder="0"></iframe>';
$categories = array();
if(is_array($model['categories'])) {
foreach($model['categories'] as $c) {
$categories[] = $c['name'];
}
}
$i['username'] = ($model['name']);
$i['seconds_online'] = "";
$i['spoken_languages'] = "";
$i['num_users'] = "";
$i['chat_room_url'] = $model['chat_link'];
$i['gender2'] = $model['service'];
$i['age'] = "";
$i['race'] = "";
$i['hair'] = "";
$i['bust'] = "";
$i['pubic_area'] = "";
$i['recorded'] = false;
$i['current_show'] = $model['room_status'];
$i['iframe_embed_revshare'] = $embedCode;
$i['birthday'] = "";
$i['image_url'] = $model['sample_image_ssl'];
$i['block_from_states'] = implode(",",$model['filters']['states']);
$i['block_from_countries'] = implode(",",$model['filters']['countries']);
$i['iframe_embed'] = $embedCode;
$i['chat_room_url_revshare'] =$model['chat_link'];
if(is_array($categories)) {
$i['tags'] = implode(",", $categories);
} else {
$i['tags'] = '';
}
$i['hd_cam'] = $model['is_hd'];
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'guys') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'girls') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'trans') !== false) {
$i['gender'] = 't';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
}
} else {
//gender selected
if (is_array($array[$service])) {
$key = 0;
foreach ($array[$service] as $model) {
if($key == $max) { break; }
unset($i);
$embedCode = '<iframe src="https://secure.vs3.com/_special/banners/LiveWebCams.php?cta=gtr&style=responsive-lva-theme-004&mp_code='.$params.'&service='.$service.'&language=en&use_promo=0&continuous_play=0&model_id='.$model['id'].'&bgcolor=000000&txtcolor=FFFFFF&linkcolor=00A7E1&num_models=50&target=_blank&btncolor=00A7E1&btntxtcolor=FFFFFF&accentcolor=0859A8" scrolling="no" width="100%" height="100%" frameborder="0"></iframe>';
$categories = array();
if(is_array($model['categories'])) {
foreach($model['categories'] as $c) {
$categories[] = $c['name'];
}
}
$i['username'] = ($model['name']);
$i['seconds_online'] = "";
$i['spoken_languages'] = "";
$i['num_users'] = "";
$i['chat_room_url'] = $model['chat_link'];
$i['gender2'] = $model['service'];
$i['age'] = "";
$i['race'] = "";
$i['hair'] = "";
$i['bust'] = "";
$i['pubic_area'] = "";
$i['recorded'] = false;
$i['current_show'] = $model['room_status'];
$i['iframe_embed_revshare'] = $embedCode;
$i['birthday'] = "";
$i['image_url'] = $model['sample_image_ssl'];
$i['block_from_states'] = implode(",",$model['filters']['states']);
$i['block_from_countries'] = implode(",",$model['filters']['countries']);
$i['iframe_embed'] = $embedCode;
$i['chat_room_url_revshare'] =$model['chat_link'];
if(is_array($categories)) {
$i['tags'] = implode(",", $categories);
} else {
$i['tags'] = '';
}
$i['hd_cam'] = $model['is_hd'];
$i = mysql_real_escape_array($i);
$addModel = false;
$model = dbRow("SELECT deleted FROM performers WHERE site = '{$id}' AND username = '{$i['username']}'");
if(!is_array($model) || $model['deleted'] == 0) {
$addModel = true;
}
if(stripos($i['gender2'],'guys') !== false) {
$i['gender'] = 'm';
}
if(stripos($i['gender2'],'girls') !== false) {
$i['gender'] = 'f';
}
if(stripos($i['gender2'],'trans') !== false) {
$i['gender'] = 't';
}
if(is_array($whiteListData)) {
if(!in_array(strtolower($i['username']),$whiteListData)) {
$addModel = false;
}
}
if ($addModel) {
dbQuery("INSERT INTO performers (username, room_subject, seconds_online, spoken_languages, num_users, chat_room_url, gender, age, race, hair, bust, pubic_area, recorded, current_show, iframe_embed_revshare, birthday, image_url, location, block_from_states, block_from_countries, iframe_embed, chat_room_url_revshare, last_online, tags, status, site, api_counter, hd, position) VALUES('{$i['username']}', '{$i['room_subject']}', '{$i['seconds_online']}', '{$i['spoken_languages']}', '{$i['num_users']}', '{$i['chat_room_url']}', '{$i['gender']}', '{$i['age']}', '{$i['race']}', '{$i['hair']}', '{$i['bust']}', '{$i['pubic_area']}', '{$i['recorded']}', '{$i['current_show']}', '{$i['iframe_embed_revshare']}', '{$i['birthday']}', '{$i['image_url']}', '{$i['location']}', '{$i['block_from_states']}', '{$i['block_from_countries']}', '{$i['iframe_embed']}', '{$i['chat_room_url_revshare']}', NOW(), '{$i['tags']}', 1, '{$id}', 1, '{$i['hd_cam']}', '{$key}') ON DUPLICATE KEY UPDATE seconds_online = '{$i['seconds_online']}', room_subject = '{$i['room_subject']}', spoken_languages = '{$i['spoken_languages']}', num_users = '{$i['num_users']}', chat_room_url = '{$i['chat_room_url']}', gender = '{$i['gender']}', age = '{$i['age']}', race = '{$i['race']}', hair = '{$i['hair']}', bust = '{$i['bust']}', pubic_area = '{$i['pubic_area']}', recorded = '{$i['recorded']}', current_show = '{$i['current_show']}', hd = '{$i['hd_cam']}', iframe_embed_revshare = '{$i['iframe_embed_revshare']}', birthday = '{$i['birthday']}', image_url = '{$i['image_url']}', location = '{$i['location']}', block_from_states = '{$i['block_from_states']}', block_from_countries = '{$i['block_from_countries']}', iframe_embed = '{$i['iframe_embed']}', chat_room_url_revshare = '{$i['chat_room_url_revshare']}', last_online = NOW(), tags = '{$i['tags']}', status = 1, api_counter = api_counter + 1, position = '{$key}'");
}
$key++;
}
}
//eof
}
}
}
function getSiteWhitelist($site) {
$result = dbRow("SELECT whitelist FROM paysites WHERE record_num = '$site'",false);
if(isset($result['whitelist']) && !empty($result['whitelist'])) {
$output = explode(",",$result['whitelist']);
$finalOutput = array();
foreach($output as $i) {
$finalOutput[] = strtolower(trim($i));
}
}
if(is_array($finalOutput)) {
return $finalOutput;
} else {
return false;
}
}
function curl_get_contents($url,$timeout=30,$settings_array=false)
{
if(function_exists("curl_init")){
$curl_options = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => intval($timeout),
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
);
// We assume nobody's going to try to overwrite the settings above
if(is_array($settings_array)){
array_merge($curl_options,$settings_array);
}
if(!$curl_open = curl_init()){
$return = false;
}
curl_setopt_array($curl_open, $curl_options);
$return = curl_exec($curl_open);
curl_close($curl_open); // Close CURL
} elseif(function_exists("passthru")) {
$cmd = "curl -m $timeout -s-url ".$url.""; // Set up command
echo $cmd;
/* The only way I could get a correctly formated file into a variable */
ob_start();
passthru($cmd, $status); // Run command
$return = ob_get_contents(); // Put everything into the variable
ob_end_clean();
if($status > 1) {
$return = false;
}
} else {
trigger_error("Unable to run cURL", E_USER_ERROR);
$return = false;
}
return $return; // Why???
}