Вход Регистрация
Файл: InstantSocial/uploud/api/invite.php
Строк: 99
<?php

/*******************************************************************************/
//                          InstantCMS v1.8                                    //
//                      http://www.instantcms.ru/                              //
//                     API to http://nextgame.ru                               //
//                     written by Marat Fatikhov                               //
//                      (nickname Марат on a site)                             //
//                       E-mail: f-marat@mail.ru                               //
//                                                                             //
//                      LICENSED BY GNU/GPL v2                                 //
//                                                                             //
/********************************************************************************/



define("VALID_CMS"1);
define('PATH'$_SERVER['DOCUMENT_ROOT']);

include(
PATH.'/core/cms.php');
include(
PATH.'/includes/nextgame.inc.php');

$inCore cmsCore::getInstance();
$inDB       cmsDatabase::getInstance();
$inCore->loadClass('user');
$inUser cmsUser::getInstance();


$uid         $inCore->request('uid''str''');
$sender_id $inCore->request('sender_id''int'0);
$app_id $inCore->request('app_id''int'0);
$time        $inCore->request('time''str''');
$sig        $inCore->request('sig''str''');

if (!
$uid || !$time || !$sig || !$sender_id || !$app_id ){
     echo 
ErrorReply('1''Неверные параметры запроса');
     exit();
}

//проверяем сигнатуру
if(!isSignatureValid ()){
       echo 
ErrorReply('2''Неверная сигнатура');
     exit();
}


// проверяем отправителя на пользователя

if(!$inDB->get_field('cms_users'"id= {$sender_id}"'id')) {
echo 
ErrorReply('4''Отправитель сообщения не найден');
exit();
}

//начинаем формировать ответ платформе
$site_reply '<?xml version="1.0" encoding="UTF-8"?><invite>';

// заносим id пользователей в массив $users
$users explode(','$uid);

//перебираем массив и заполняем для каждого данные в ответ
foreach($users as $value ){

     
$user_id $value;
     
     
// проверяем, является ли получатель пользователем
     
if(!$inDB->get_field('cms_users'"id= {$user_id}"'id')) {
        echo 
ErrorReply('3''Пользователь не найден');
        exit();
     }

     
//формируем код для получения ссылки на игру
     
$url 'http://api2.nextgame.ru/iframe/js/link/?app_id='.$app_id.'&site_id='.SITE_ID.'&user_id='.$user_id.'&ng_ref_id='.$sender_id ;
     
$url =  addServerSignature($url);
     
$code =  '<script type='text/javascript' src=''.$url.''></script>';

      
//готовим сообщение с приглашением
      
$sender_link $inUser->getGenderLink($sender_id);

      
$message 'Ваш друг '.$sender_link.' приглашает Вас в приложение '.$code.' .';
      
      
$ismessage $inUser->sendMessage(USER_UPDATER$user_id$message);
      
       if(
$ismessage){

           
//проверяем подписку на уведомления
            
$needmail $inDB->get_field('cms_user_profiles'"user_id='{$user_id}'"'email_newmsg');

            
//Проверяем, если юзер онлайн, то уведомление на почту не отправляем.
            
$isonline $inDB->get_field('cms_online'"user_id='{$user_id}'"'id');

            
//если подписан и не онлайн, отправляем уведомление на email
            
if (!$isonline && $needmail){
                
$inConf     cmsConfig::getInstance();

                
$postdate   date('d/m/Y H:i:s');
                
$to_email   $inDB->get_field('cms_users'"id='{$user_id}'"'email');
                
$from_nick  "Служба обновлений";
                
$host 'http://'.$_SERVER['SERVER_NAME'];
                
$answerlink $host.'/users/'.$user_id.'/messages.html';

                
$letter_path    PATH.'/includes/letters/newmessage.txt';
                
$letter         file_get_contents($letter_path);

                
$letterstr_replace('{sitename}'$inConf->sitename$letter);
                
$letterstr_replace('{answerlink}'$answerlink$letter);
                
$letterstr_replace('{date}'$postdate$letter);
                
$letterstr_replace('{from}'$from_nick$letter);
                
$inCore->mailText($to_email'У Вас новое сообщение! - '.$inConf->sitename$letter);
            }


         }


       
$site_reply .= '<user>'.$user_id.'</user>';

}
//отправляем данные площадке
$site_reply .= '</invite>';
echo 
iconv('cp1251''utf-8'$site_reply);

?>
Онлайн: 2
Реклама