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.


