SMS класация за MuOnline Webshop
Този скрипт позволява организирането на услуга за автоматично добавяне на кредити към профили в MuOnline Webshop. Допълнителна функционалност към скрипта за добавяне на кретиди е запазването на статистика за изпратените SMS-и от всеки акаунт така, че да е възможно да се организира класация по броя изпратени SMS-и. Резултатите от класацията могат да се използват за предоставяне на допълнителни бонуси (кредити) на играчите, изпратили най-много SMS-и.
Информация за услугата "Известявна за плащане"
Конфигуриране на услугата "Известявна за плащане"
Видео-урок за услугата "Известявна за плащане"
Модула за SMS класация се състой от два файла: smslog.php и smsrank.php. Файла smslog.php обработва входящите SMS-и, като добавя нужните кредити към съответния акаунт и запазва статистика за броя на изпратените SMS-и за съответния акаунт. Файла smsrank.php показва текущите резултати от класацията и може да бъде променян така, че да съотвества с дизайна на Вашият сайт/webshop. За да видите текущите резултати от SMS класацията трябва да отворите URL адрес подобен на: http://vashiatsite.com/smsrank.php .
За да работи правилно модула е нужно да поставите двата файла smslog.php и smsrank.php в директорията на Вашият webshop и да промените следните параметри в скрипта:
- $db_serv: IP адреса на Вашият MSSQL сървър
- $db_user: Потребителско име за достъп до MSSQL сървъра
- $db_pass: Парола за достъп до MSSQL сървъра
- $db_name: Име на базата данни за MuOnline
Файловете smslog.php и smsrank.php може да изтеглите от тук: smsrank.zip.
Сорс-код на файла smslog.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 = $_REQUEST["extid"]; $mobio_remote_addrs = array("87.120.176.216", "194.12.244.114"); $servID = $_REQUEST["servID"]; $db_serv = '10.0.2.10'; $db_user = 'sa'; $db_pass = 'password'; $db_name = 'MuOnline'; $credits_to_add = '500'; if(in_array($_SERVER['REMOTE_ADDR'], $mobio_remote_addrs)) { $sms_reply = 'Greshka. Spazvaite to4no instrukciite'; $conn = mssql_connect($db_serv, $db_user, $db_pass); if($conn) { mssql_select_db($db_name); mssql_query("IF NOT EXISTS(SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[SMS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) CREATE TABLE [dbo].[SMS_LOG] ( [memb___id] [varchar] (50), [gsmnum] [varchar] (50), [smscount] [int] );"); $res = mssql_query("SELECT * FROM SMS_LOG WHERE memb___id='$item'"); if(mssql_num_rows($res)>0) { mssql_query("UPDATE SMS_LOG SET smscount=smscount+1 WHERE memb___id='$item'"); }else{ mssql_query("INSERT INTO SMS_LOG (memb___id, gsmnum, smscount) VALUES('$item', '$fromnum', 1)"); } $res = mssql_query("SELECT credits FROM MEMB_CREDITS WHERE memb___id='$item'"); if(mssql_num_rows($res)>0) { mssql_query("UPDATE MEMB_CREDITS SET credits=credits+'$credits_to_add' WHERE memb___id='$item'"); }else{ mssql_query("INSERT INTO MEMB_CREDITS (memb___id, credits) VALUES('$item', '$credits_to_add')"); } $res = mssql_query("SELECT credits FROM MEMB_CREDITS WHERE memb___id='$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)); } } ?>
Сорс-код на файла smsrank.php:
<h2 style="color:#2641A1; margin-left:auto;margin:20px auto 20px auto; font-weight:bold;">SMS Ranking:</h2> <table align="center" width="375" cellpadding="0" cellspacing="0" border="0"> <tr style="text-align:center;font-weight:bold;color:#2641A1"> <td style="width:16px">#</td> <td style="width:76px">Account</td> <td style="width:97px">GSM Number</td> <td style="width:87px;color:green">SMS count</td> </tr> <? $db_serv = '10.0.2.10'; $db_user = 'sa'; $db_pass = 'password'; $db_name = 'MuOnline'; $conn = mssql_connect($db_serv, $db_user, $db_pass); if($conn) { mssql_select_db($db_name); mssql_query("IF NOT EXISTS(SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[SMS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) CREATE TABLE [dbo].[SMS_LOG] ( [memb___id] [varchar] (50), [gsmnum] [varchar] (50), [smscount] [int] );"); $res = mssql_query("SELECT memb___id, gsmnum, smscount FROM SMS_LOG ORDER BY smscount DESC"); $pos = 1; while($row = mssql_fetch_object($res)) { $account = $row->memb___id; $gsmnum = substr($row->gsmnum, 0, 10)."**"; $smscount = intval($row->smscount); echo '<tr> <td width="20" align="center">'.$pos.'</td> <td width="90" align="center">'.$account.'</td> <td width="150" align="center">'.$gsmnum.'</td> <td width="80" align="center">'.$smscount.'</td> </tr>'; $pos += 1; } } ?> </table>
Модула за SMS класация е достъпен в help.mobio.bg благодарение на нашият потребител DWBaHu0.