Купувам Интеграция на Mobio и Aardvark Topsites

От: От: Купувам Интеграция на Mobio и Aardvark Topsites

Благодаря, като съм пействал във форума някак си съм пропуснал горните редове. Иначе файлът mobio.php включва този ред:

Код:
<?php

function mssql_real_escape_string($str) { return str_replace("'","''",$str); }


$item = mssql_real_escape_string($_REQUEST["item"]);
$fromnum = mssql_real_escape_string($_REQUEST["fromnum"]);
$extid = mssql_real_escape_string($_REQUEST["extid"]);


$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");


$servID = 24831;


$db_serv = '127.0.0.1';
$db_user = '';
$db_pass = '';
$db_name = '';
$credits_to_add = '10000';


if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) {


    $sms_reply = 'Greshka. Spazvaite tochno instrukciite';
    $conn = mssql_connect($db_serv, $db_user, $db_pass);
    if($conn) {
        mssql_select_db($db_name);
        $res = mssql_query("SELECT unq_pv_0_monthly FROM ats_stats WHERE username='$item'");
        if(mssql_num_rows($res)>0) {
            mssql_query("UPDATE ats_stats SET unq_pv_0_monthly=unq_pv_0_monthly+'$credits_to_add' WHERE username='$item'");
        }else{
            mssql_query("INSERT INTO ats_stats (username, unq_pv_0_monthly) VALUES('$item', '$credits_to_add')");
        }
        
        $res = mssql_query("SELECT unq_pv_0_monthly FROM ats_stats WHERE username='$item'");
        if(mssql_num_rows($res)>0) {
            $row = mssql_fetch_row($res);
            $sms_reply = "Vashite krediti sa uspeshno zakupeni. Imate {$row[0]} crediti.";
        }


    }
    file("http://mobio.bg/paynotify/pnsendsms.php?servID=$servID&tonum=$fromnum&extid=$extid&message=".urlencode($sms_reply));
}


?>

Здравей,
не вждам къде са дефинирани IP адресите на на мобио.
Може да е грешка, която сте направили докато сте поствали кода, но ако ги няма никога скрипта няма да влезе в първото условие и съответно да отговори на заявката.
Добавете следният ред веднага след конфигурацията:
Код:
$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");

редакция: сега видях, че в примерите по-горе го има, но във вашият файл липсва
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Сега смъкнах сайта, ще го инсталирам при мен и ще тествам скрипта.

Това и за мен би бил най-добрият вариант, свързан с платената услуга :)

Досега всички предложения на ЛС предполагат достъп до FTP и до phpmyadmin, което доста би ме затруднило като време, тъй като трябва да изнеса phpmyadmin като локална поддиректория към съответния акаунт на сървъра

Докато инсталирането на aardvark на собствен сайт на програмиста не би отнело повече от десетина минути и там може да се тества създаването на работеща sms-услуга. Няма проблеми дори и аз да им инсталирам този скрипт работещ, ако нямат време. От Mobio и без това не активират новата услуга, тъй като описанието е за старата услуга, а не мога да сменя работещо вече няколко години описание за нещо, което може и да не се получи.

Така че за мен е най-добре фрилансър със собствен тестов сайт, на който да е инсталиран aardvark, + познания за видовете услуги на mobio.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Здравейте
и още нещо, което не бях видял преди това.
Базата от данни какъв сървър полва ? 99% съм сигурен, че трябва да е MySQL а не MSSQL. Поне версията на Aardvark Topsites, която аз имам работи само с MySQL. Възможно е да се преработи с MSSQL но пак казвам е малко вероятно.
Виж функциите за връзка и заявките
mssql_connect() трябва да се замени с mysql_connect()
a
mssql_query() - с mysql_query()
Поздрави,
Константин.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Значи пробвах всякакви варианти, но това мобио просто не иска да направи връзка със сървара ми... имам усещането, че тестовите им смс-и не работят.
Иначе кода трябва да е това:
PHP:
<?PHP

$message = $_REQUEST["message"];
$fromnum = $_REQUEST["fromnum"];

$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");

$servID = $_REQUEST["servID"];

$db_serv = '127.0.0.1';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'test';
$credits_to_add = '10000';

if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) {

        $sms_reply = 'Greshka.Spazvaite tochno instrukciite.';
        $conn = mssql_connect($db_serv, $db_user, $db_pass);
        if($conn) {
                mssql_select_db($db_name);
                $res = mssql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$message'");
                if(mssql_num_rows($res)>0) {
                        mssql_query("UPDATE ats_stats SET unq_in_0_monthly=unq_in_0_monthly+'$credits_to_add' WHERE username='$message'");
                }else{
                        mssql_query("INSERT INTO ats_stats (username, unq_in_0_monthly) VALUES('$message', '$credits_to_add')");
                }

                $res = mssql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$message'");
                if(mssql_num_rows($res)>0) {
                        $row = mssql_fetch_row($res);
                        $sms_reply = "Vashite glasove e uspeshno zakupen. Imate {$row[0]} glasa.";
                }

        }
	file("http://mobio.bg/paynotify/pnsendsms.php?servID=$servID&tonum=$fromnum&extid=$extid&message=".urlencode($sms_reply));
}


?>
Само е знам дали изпраща ключа + текста на смс-а или само текста, ако е първото - няма да сработи.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Всъщност, трябва да се променя unq_pv_0_monthly след заплащане, а не unq_in_0_monthly.

$servID не може ли директно да показва конкретния номер при положение, че вече се знае (24831) ?

Потребителят трябва да изпраща sms с текст "pays login" на номер 1092, където login се замества с неговия логин в класацията.

А тестовите sms през Mobio наистина не показват нищо друго (освен изтекло време за връзка със сървъра).
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Всъщност, трябва да се променя unq_pv_0_monthly след заплащане, а не unq_in_0_monthly.
За това те попитах по какво си нагласил да ги подрежда.
Потребителят трябва да изпраща sms с текст "pays login" на номер 1092, където login се замества с неговия логин в класацията.
username='$message' От текста на съобщението скрипта трябва да вземе името на юзъра за да знае каде да запише точките. Въпроса е дали мобио ще прати в текста само "login" или "pays login" ако прати "pays login", трябва да мислим друг вариант.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Нямам представа какво праща mobio. Досега забелязах само, че някой е влязъл да провери услугата, не е забелязал, че описанието описва стара тяхна услуга, а тъй като става въпрос за действаща в момента услуга, то едва ли ще й променям описанието само за да гоня дивото. Други признаци на движение по техния сайт не забелязах. Такава липса на заинтересованост предполага адекватна реакция от страна на клиента и неговата незаинтересованост в разработване и разширяване на услуги, свързани с тяхната дейност. Та вероятно, ако така продължават, ще спра и старата услуга (тя е взаимно неизгодна поради липсата на приходи и за двете страни) и ще се пренасоча към друг вид (не sms разплащане). Поне ще е по-изгодно за потребителите на сайтовете (ако разбира се не са ползвали за sms-услугите телефоните на мама и тати или служебни за лични цели).
 
От: От: Купувам Интеграция на Mobio и Aardvark Topsites

Благодаря отново (не мога да дам още +реп толкова скоро) :)

MySQL е, да

Здравейте
и още нещо, което не бях видял преди това.
Базата от данни какъв сървър полва ? 99% съм сигурен, че трябва да е MySQL а не MSSQL. Поне версията на Aardvark Topsites, която аз имам работи само с MySQL. Възможно е да се преработи с MSSQL но пак казвам е малко вероятно.
Виж функциите за връзка и заявките
mssql_connect() трябва да се замени с mysql_connect()
a
mssql_query() - с mysql_query()
Поздрави,
Константин.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Здравейте.
$_REQUEST["item"] - съдържа литерала след pays, примерно ако потребителят е въвеел pays test, $_REQUEST["item"] ще съдържа test
$_REQUEST["mesage"] - тук мисля е пълният текст на SMS-а.
Проверката на услугата от страна на Мобио обикновенно се свежда до това да проверят дали коректно е попълнена информацията на сайта (дали отговаря наа техните условия).
Съпорта помага, не ми се е случвало да ми откажат помощ.
Поздрави,
Константин.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Тест, ако връзките с базата и останалите неща са верни, няма как да не запали.

Грешка, ще го ъпдейтна, зареди mysql.

PHP:
<?php
$item = $_REQUEST["item"];
$fromnum = $_REQUEST["fromnum"];
$extid = $_REQUEST["extid"];
$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");
$servID = 13395; /// тук си попълни верния код на услугата вижда се в преглед на услугата

if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) {
    // your script action begins

    $dbhost = "localhost"; // хост
    $dbuser = "username"; // mysql потребител
    $dbpassword = "password"; // mysql парола
    $db = "db"; /// базата данни на сайта
    
    $credits_to_add = '10000';
    
    $sms_reply = 'Greshka.Spazvaite tochno instrukciite.';
    $conn = @mysql_connect($dbhost, $dbuser, $dbpassword); 
    if($conn){
                mysql_select_db($db);
                $res = mysql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$item'");
                if(mysql_num_rows($res) != 0) {
                        mysql_query("UPDATE ats_stats SET unq_in_0_monthly=unq_in_0_monthly+'$credits_to_add' WHERE username='$item'");
                }else{
                        mysql_query("INSERT INTO ats_stats (username, unq_in_0_monthly) VALUES('$item', '$credits_to_add')");
                }

                $res = mysql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$item'");
                if(mysql_num_rows($res) != 0) {
                        $row = mysql_fetch_row($res);
                        $sms_reply = "Vashite glasove e uspeshno zakupen. Imate {$row[0]} glasa.";
                }

        }
    
    // your script action ends
    file("http://mobio.bg/paynotify/pnsendsms.php?servID=$servID&tonum=$fromnum&extid=$extid&message=".urlencode($sms_reply));
}
?>
 
Последно редактирано:
От: Купувам Интеграция на Mobio и Aardvark Topsites

А възможно ли е някой от вас да изпробва крайния резултат от горните постове (като скрипт и като мобио-услуга) на свой сайт и да го докара до работещ вариант? Заделил съм сумата, посочен в повечето ЛС, но тъй като в тях се изисква много допълнителна работа от моя страна, свързана с осигуряване на достъп до базата данни, а в темата благодарение на вашите съвместни усилия има почти готов вече вариант, то по мое мнение ще е справедливо да разделя този бюджет (50 лева) между хората, помогнали в темата, при положение, че се докара до практически работеща услуга. А и ще е полезно за другите потребители на форума, надявам се.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

A, изобщо не съм погледнал, че е mssql :cry:... Сега ще го тествам.
 
От: От: Купувам Интеграция на Mobio и Aardvark Topsites

Браво! Запали :)


Тест, ако връзките с базата и останалите неща са верни, няма как да не запали.

Грешка, ще го ъпдейтна, зареди mysql.

PHP:
<?php
$item = $_REQUEST["item"];
$fromnum = $_REQUEST["fromnum"];
$extid = $_REQUEST["extid"];
$mobio_remote_addrs = array("87.120.176.216", "194.12.244.114");
$servID = 13395; /// тук си попълни верния код на услугата вижда се в преглед на услугата

if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) {
    // your script action begins

    $dbhost = "localhost"; // хост
    $dbuser = "username"; // mysql потребител
    $dbpassword = "password"; // mysql парола
    $db = "db"; /// базата данни на сайта
    
    $credits_to_add = '10000';
    
    $sms_reply = 'Greshka.Spazvaite tochno instrukciite.';
    $conn = @mysql_connect($dbhost, $dbuser, $dbpassword); 
    if($conn){
                mysql_select_db($db);
                $res = mysql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$item'");
                if(mysql_num_rows($res) != 0) {
                        mysql_query("UPDATE ats_stats SET unq_in_0_monthly=unq_in_0_monthly+'$credits_to_add' WHERE username='$item'");
                }else{
                        mysql_query("INSERT INTO ats_stats (username, unq_in_0_monthly) VALUES('$item', '$credits_to_add')");
                }

                $res = mysql_query("SELECT unq_in_0_monthly FROM ats_stats WHERE username='$item'");
                if(mysql_num_rows($res) != 0) {
                        $row = mysql_fetch_row($res);
                        $sms_reply = "Vashite glasove e uspeshno zakupen. Imate {$row[0]} glasa.";
                }

        }
    
    // your script action ends
    file("http://mobio.bg/paynotify/pnsendsms.php?servID=$servID&tonum=$fromnum&extid=$extid&message=".urlencode($sms_reply));
}
?>
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Тествай, аз не я знам тази система и си нямам на идея какви са и таблиците, но ако са правилни трябва да запали веднага.

Също да поясня че за да върне отговор мобио, ip адреса в услугата трябва да е правилно зададен, иначе не връща нищо, но пък активира нещата.
A, изобщо не съм погледнал, че е mssql :cry:... Сега ще го тествам.
 
От: От: От: Купувам Интеграция на Mobio и Aardvark Topsites

За нищо, само дано всичко с таблиците е както трябва, защото както казах си нямам на идея с системата и таблиците и. :)
Браво! Запали :)
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Ще помоля Andrew, imagination и uni-web да си изпратят paypal или epay данните на ЛС. Разделям бюджета поравно помежду им.
 
От: От: От: От: Купувам Интеграция на Mobio и Aardvark Topsites

Тестовият sms през mobio отговори "Vashite glasove e uspeshno zakupen. Imate 10024 glasa.". Затова мисля, че едва ли ще има проблеми вече и ще вкарам работния вариант.

За нищо, само дано всичко с таблиците е както трябва, защото както казах си нямам на идея с системата и таблиците и. :)
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Аз, нямам само с банки работя, но това не е толкова важно, важното е, че се нагласи всичко с задружни усилия. :)
 
От: От: От: От: Купувам Интеграция на Mobio и Aardvark Topsites

Мдам, щом е върнал такъв отговор значи не би трябвало да има проблем, но все-пак си го тествай работно. :)
Тестовият sms през mobio отговори "Vashite glasove e uspeshno zakupen. Imate 10024 glasa.". Затова мисля, че едва ли ще има проблеми вече и ще вкарам работния вариант.
 
От: Купувам Интеграция на Mobio и Aardvark Topsites

Екстра, смени си само "unq_in_0_monthly" с която там колонка ги подреждаш :)
 

Горе