Файл: modules/settings/ajax.php
Строк: 153
<?
if($CONFIG['uid']==0) die('Access denied.');
switch($this->Act){
case 'genkey':
$url = $_POST['url'];
$uu = parse_url($url);
if($uu['host']=='vk.com' || $uu['host']=='www.vk.com'){
/* VK GENERATE KEY */
preg_match_all("#id([0-9]+)#",$url,$mid);
if(is_numeric($mid[1][0]) && strlen($mid[1][0])>5 && strlen($mid[1][0])<11){
//id юзера $mid[1][0]
$uid = $mid[1][0];
} else {
//глянем, вдруг подсунули ссылку с юзернеймом?
$uid = substr($uu['path'],1);
}
$res = file_get_contents('https://api.vk.com/method/users.get?uids='.$uid);
$resp = json_decode($res, true);
if($resp['response'][0]['uid']){
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$numChars = strlen($chars);
$string = '';
for ($i = 0; $i < 8; $i++) {
$string .= substr($chars, rand(1, $numChars) - 1, 1);
}
$Messages = array(
'Жизнь — слишком серьезная штука, чтобы говорить о ней всерьез.',
'Это ужасно тяжелая работа — ничего не делать.',
'Жизнь коротка, искусство бесконечно.',
'Самый большой порок — поверхностность.',
'Переделать других — очень легко, себя — намного труднее.',
'Порой, у самых веселых людей, самая грустная душа.',
'Трагедия старости не в том, что ты стар, а в том, что не молод.',
'Когда на руках выигрышные карты, следует играть честно.',
'Любовь должна прощать все грехи, только не грех против любви.',
'Циник знает всему цену, но не знает ценности.',
'Есть дороги, которые нужно пройти в одиночку.',
'Не важно, кто напротив. Важно, кто рядом.',
);
$Rsp = $Messages[rand(0,count($Messages)-1)].' '.$string;
Ajax::Responce(array('key'=>$Rsp));
$_SESSION['socialhash'] = $Rsp;
} else {
Ajax::Responce(array('err'));
}
/* VK GENERATE KEY END */
} elseif($uu['host']=='twitter.com' || $uu['host']=='www.twitter.com') {
/* TWITTER GENERATE KEY */
$uid = substr($uu['path'],1);
$res = file_get_contents('https://api.twitter.com/1/users/show.json?screen_name='.$uid);
$resp = json_decode($res, true);
$uid_id = $resp['id'];
if(is_numeric($uid_id)){
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$numChars = strlen($chars);
$string = '';
for ($i = 0; $i < 8; $i++) {
$string .= substr($chars, rand(1, $numChars) - 1, 1);
}
$Messages = array(
'Я зарабатываю на http://enterlike.com/ #EnterLike '.$string,
'Самые дешёвые фолловеры http://enterlike.com/ #ЭнтерЛайк '.$string,
'Обмен фолловерами и ретвитами http://enterlike.com/ #EnterLike '.$string,
'Хочешь много фолловеров? Узнай как на http://enterlike.com/ #ЭнтерЛайк '.$string
);
$Rsp = $Messages[rand(0,count($Messages)-1)];
Ajax::Responce(array('key'=>$Rsp));
$_SESSION['socialhash'] = $string;
} else {
Ajax::Responce(array('err'));
}
/* TWITTER GENERATE KEY END */
} elseif($uu['host']=='facebook.com' || $uu['host']=='www.facebook.com') {
preg_match_all("#profile.php?id=([0-9]+)#",$url,$mid);
if(is_numeric($mid[1][0]) && strlen($mid[1][0])>5 && strlen($mid[1][0])<16){
//id юзера $mid[1][0]
$uid = $mid[1][0];
} else {
//глянем, вдруг подсунули ссылку с юзернеймом?
$uid = substr($uu['path'],1);
}
$token = Tasks::fbGetToken();
$res = file_get_contents('https://graph.facebook.com/'.$uid.'?fields=id&access_token='.$token);
$resp = json_decode($res, true);
if(is_numeric($resp['id'])){
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$numChars = strlen($chars);
$string = '';
for ($i = 0; $i < 8; $i++) {
$string .= substr($chars, rand(1, $numChars) - 1, 1);
}
$Messages = array(
'Жизнь — слишком серьезная штука, чтобы говорить о ней всерьез.',
'Это ужасно тяжелая работа — ничего не делать.',
'Жизнь коротка, искусство бесконечно.',
'Самый большой порок — поверхностность.',
'Переделать других — очень легко, себя — намного труднее.',
'Порой, у самых веселых людей, самая грустная душа.',
'Трагедия старости не в том, что ты стар, а в том, что не молод.',
'Когда на руках выигрышные карты, следует играть честно.',
'Любовь должна прощать все грехи, только не грех против любви.',
'Циник знает всему цену, но не знает ценности.',
'Есть дороги, которые нужно пройти в одиночку.',
'Не важно, кто напротив. Важно, кто рядом.',
);
$Rsp = $Messages[rand(0,count($Messages)-1)].' '.$string;
Ajax::Responce(array('key'=>$Rsp));
$_SESSION['socialhash'] = $Rsp;
} else {
Ajax::Responce(array('err'));
}
} else {
echo Ajax::Responce(array('err'));
}
break; //End genkey
case 'checkkey':
$url = $_POST['url'];
$uu = parse_url($url);
if($uu['host']=='vk.com' || $uu['host']=='www.vk.com'){
if($CONFIG['Globals']['social:vk']!='0') die(Ajax::Responce(array('err')));
/* VK CHECK KEY */
preg_match_all("#id([0-9]+)#",$url,$mid);
if(is_numeric($mid[1][0]) && strlen($mid[1][0])>5 && strlen($mid[1][0])<11){
//id юзера $mid[1][0]
$uid = $mid[1][0];
} else {
//глянем, вдруг подсунули ссылку с юзернеймом?
$uid = substr($uu['path'],1);
}
$res = file_get_contents('https://api.vk.com/method/users.get?uids='.$uid.'&fields=activity');
$resp = json_decode($res, true);
if(Core::MysqlSelect('users','id',array('social:vk'=>$resp['response'][0]['uid']))) die(Ajax::Responce(array('acc')));
if($resp['response'][0]['activity']==$_SESSION['socialhash']){
Ajax::Responce(array('ok'));
$setid = mysql_real_escape_string($resp['response'][0]['uid']);
$uid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:vk` = '$setid' WHERE `id` = $uid"); //Далаем привязку ВК
unset($_SESSION['socialhash']);
if($CONFIG['Globals']['social:vk']=='0' && $CONFIG['Globals']['social:tw']=='0' && $CONFIG['Globals']['social:fb']=='0'){
$res = file_get_contents('https://api.vk.com/method/users.get?uids='.$setid.'&fields=photo_50');
$resp = json_decode($res, true);
if($resp['response'][0]['photo_50']){
$photo = $resp['response'][0]['photo_50'];
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
}
}
} else {
Ajax::Responce(array('err'));
}
/* VK CHECK KEY END */
} elseif($uu['host']=='twitter.com' || $uu['host']=='www.twitter.com') {
if($CONFIG['Globals']['social:tw']!='0') die(Ajax::Responce(array('err')));
/* TWITTER CHECK KEY */
$uid = substr($uu['path'],1);
$res = file_get_contents('https://api.twitter.com/1/statuses/user_timeline.json?count=1&screen_name='.$uid);
$resp = json_decode($res, true);
if(Core::MysqlSelect('users','id',array('social:tw'=>$resp[0]['user']['id']))) die(Ajax::Responce(array('acc')));
if(strpos($resp[0]['text'], $_SESSION['socialhash'])){
Ajax::Responce(array('ok'));
$setid = mysql_real_escape_string($resp[0]['user']['id']);
$userid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:tw` = '$setid' WHERE `id` = $userid"); //Далаем привязку Твиттера
unset($_SESSION['socialhash']);
if($CONFIG['Globals']['social:vk']=='0' && $CONFIG['Globals']['social:tw']=='0' && $CONFIG['Globals']['social:fb']=='0'){
$photo = 'https://api.twitter.com/1/users/profile_image?user_id='.$setid.'&size=normal';
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
}
} else {
Ajax::Responce(array('err'));
}
} elseif($uu['host']=='facebook.com' || $uu['host']=='www.facebook.com') {
if($CONFIG['Globals']['social:fb']!='0') die(Ajax::Responce(array('err')));
/* FACEBOOK CHECK KEY */
$mid = array();
preg_match_all("#profile.php?id=([0-9]+)#",$url,$mid);
if(is_numeric($mid[1][0]) && strlen($mid[1][0])>5 && strlen($mid[1][0])<16){
//id юзера $mid[1][0]
$uid = $mid[1][0];
} else {
//глянем, вдруг подсунули ссылку с юзернеймом?
$uid = substr($uu['path'],1);
}
$token = Tasks::fbGetToken();
//echo 'https://graph.facebook.com/'.$uid.'?fields=id,statuses&access_token='.$token;
$res = file_get_contents('https://graph.facebook.com/'.$uid.'?fields=id,statuses&access_token='.$token);
$resp = json_decode($res, true);
if(Core::MysqlSelect('users','id',array('social:fb'=>$resp['id']))) die(Ajax::Responce(array('acc')));
if($resp['statuses']['data'][0]['message'] == $_SESSION['socialhash']){
Ajax::Responce(array('ok'));
$setid = mysql_real_escape_string($resp['id']);
$userid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:fb` = '$setid' WHERE `id` = $userid"); //Далаем привязку Твиттера
unset($_SESSION['socialhash']);
if($CONFIG['Globals']['social:vk']=='0' && $CONFIG['Globals']['social:tw']=='0' && $CONFIG['Globals']['social:fb']=='0'){
$photo = 'https://graph.facebook.com/'.$setid.'/picture';
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
}
} else {
//Ajax::Responce(array('err'));
Ajax::Responce(array('err'));
}
/* FACEBOOK CHECK KEY END */
} else {
Ajax::Responce(array('err'));
}
break;
case 'unlink':
if($_POST['social']=='vk'){
$uid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:vk` = '0' WHERE `id` = $uid"); //Отвязываем вк
//vk unlink
} elseif($_POST['social']=='tw'){
$uid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:tw` = '0' WHERE `id` = $uid"); //Отвязываем тв
//twitter unlink
} elseif($_POST['social']=='fb'){
$uid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `social:fb` = '0' WHERE `id` = $uid"); //Отвязываем фб
//facebook unlink
}
break;
case 'setphoto':
if($_POST['social']=='vk'){
$uid = $_POST['id'];
if(is_numeric($uid)){
$res = file_get_contents('https://api.vk.com/method/users.get?uids='.$uid.'&fields=photo_50');
$resp = json_decode($res, true);
if($resp['response'][0]['photo_50']){
$photo = $resp['response'][0]['photo_50'];
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
} else {
Ajax::Responce(array('err'));
}
} else {
Ajax::Responce(array('err'));
}
} elseif($_POST['social']=='tw'){
$uid = $_POST['id'];
if(is_numeric($uid)){
$photo = 'https://api.twitter.com/1/users/profile_image?user_id='.$uid.'&size=normal';
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
} else {
Ajax::Responce(array('err'));
}
} elseif($_POST['social']=='fb'){
$uid = $_POST['id'];
if(is_numeric($uid)){
$photo = 'https://graph.facebook.com/'.$uid.'/picture';
$usid = $CONFIG['uid'];
mysql_query("UPDATE `users` SET `photo` = '$photo' WHERE `id` = $usid");
} else {
Ajax::Responce(array('err'));
}
}
break;
}