<?php
/*********************/
/* */
/* Version : 5.1.0 */
/* Author : RM */
/* Comment : 071223 */
/* */
/*********************/
function send_sms( $SEND_TIME, $FROM_ID, $TO_ID, $SMS_TYPE, $CONTENT, $REMIND_URL = "" )
{
global $connection;
if ( $SEND_TIME == "" )
{
$SEND_TIME = date( "Y-m-d H:i:s", time( ) );
}
if ( $SMS_TYPE == "0" )
{
$CENSOR = censor( $CONTENT, "1" );
}
else
{
$CENSOR = $CONTENT;
}
if ( $SMS_TYPE == "0" && $CENSOR == "BANNED" )
{
button_back( );
exit( );
}
if ( $SMS_TYPE == "0" && $CENSOR == "MOD" )
{
$CENSOR_DATA = array( );
$CENSOR_DATA['FROM_ID'] = $FROM_ID;
$CENSOR_DATA['TO_ID'] = $TO_ID;
$CENSOR_DATA['SEND_TIME'] = $SEND_TIME;
$CENSOR_DATA['CONTENT'] = $CONTENT;
$CENSOR_DATA['SMS_TYPE'] = $SMS_TYPE;
$CENSOR_DATA['REMIND_URL'] = $REMIND_URL;
censor_data( "1", $CENSOR_DATA );
return "MOD";
}
$CONTENT = $CENSOR;
$query = "insert into SMS_BODY(FROM_ID,SMS_TYPE,CONTENT,SEND_TIME,REMIND_URL) values ('".$FROM_ID."','{$SMS_TYPE}','{$CONTENT}','{$SEND_TIME}','{$REMIND_URL}')";
exequery( $connection, $query );
$BODY_ID = mysql_insert_id( );
$MY_ARRAY = explode( ",", $TO_ID );
$ARRAY_COUNT = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$value_str = "";
$I = 0;
/*替换函数准备*/
$table_change = array('['=>'【');
$table_change += array(']'=>'】');
for ( ; $I < $ARRAY_COUNT; ++$I )
{
if ( !( $MY_ARRAY[$I] == "" ) )
{
if ( $MY_ARRAY[$I] == "" )
{
break;
}
}
else
{
continue;
}
$USER_ID_SENT .= $MY_ARRAY[$I].",";
/*以下为修改的代码*/
/*收信人是否设置了RTX号码*/
/*是,马上发送RTX短信*/
/*否,记录,后段执行OA短信发送*/
$BP=IdToBp($MY_ARRAY[$I]);
if(strlen($BP)==4)
{
SendImRTX($BP,IdToName($FROM_ID).":".strtr($CONTENT,$table_change));
}
else
{
$value_str .= "('".$MY_ARRAY[$I].( "','1','0','".$BODY_ID."')," );
}
}
if(strlen($value_str)>0)
{
$query = "insert into SMS(TO_ID,REMIND_FLAG,DELETE_FLAG,BODY_ID) values ".substr( $value_str, 0, -1 );
exequery( $connection, $query );
if ( strtotime( $SEND_TIME ) - time( ) < 60 )
{
$query = "select UID from USER where find_in_set(USER_ID,'".$USER_ID_SENT."')";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
new_sms_remind( $ROW['UID'], 1 );
}
}
}
}
function IdToBp($id) //这函数作用是根据OA的ID取得RTX的号码,我是把RTX号码放在ICQ这个字段里面,也可以重新建个字段,麻烦些
{
global $connection;
$query0 = "SELECT * from USER where USER_ID='$id'";
$cursor0= exequery($connection,$query0);
if($ROW0=mysql_fetch_array($cursor0))
{
$Bp=$ROW0["ICQ_NO"];
}
else
$Bp="";
Return $Bp;
}
function IdToName($id) //这函数作用是根据OA的ID取得用户姓名
{
global $connection;
$query0 = "SELECT * from USER where USER_ID='$id'";
$cursor0= exequery($connection,$query0);
if($ROW0=mysql_fetch_array($cursor0))
{
$Bp=$ROW0["USER_NAME"];
}
else
$Bp=$id;
Return $Bp;
}
function SendImRTX($number,$msg) //这函数是新建COM对象,用SDK的内置函数发送到RTX客户端,确保你已安装了SDK开发包
{
$RTXObj1=new COM('rtxserver.rtxobj')or die('not found the COMOBJ');
$RTXParams1=new COM('rtxserver.collection') or die('not found the COMOBJ');
$RTXObj2=new COM('rtxserver.rtxobj')or die('not found the COMOBJ');
$RTXParams2=new COM('rtxserver.collection') or die('not found the COMOBJ');
$RTXObj1->Name = "USERMANAGER";
$RTXParams1->add("USERNAME",$number);
$Result=$RTXObj1->Call2(0x8,$RTXParams1); //这函数判断有没有这个RTX号码,有就发送,没有拉倒
if($Result==0)
{
$RTXParams2->add("USERNAME",$number); //接收者的RTX号码
$RTXParams2->add("MSGINFO",$msg) ; //内容
$RTXParams2->add("TITLE","OA系统提醒"); //标题
$RTXParams2->add("DELAYTIME","0"); //停留时间,0表示一直显示
$RTXParams2->add("TYPE","0");//0:普通消息,1:紧急消息。
$RTXParams2->add("SENDMODE",'0');//离线时发送手机短信。
$RTXResult = $RTXObj2->Call2(0X2100, $RTXParams2);
}
}
function send_sms1( $SEND_TIME, $FROM_ID, $TO_ID, $SMS_TYPE, $CONTENT, $REMIND_URL = "" )
{
global $connection;
if ( $SEND_TIME == "" )
{
$SEND_TIME = date( "Y-m-d H:i:s", time( ) );
}
else
{
$SMS_TIME = $SEND_TIME;
}
$query = "insert into SMS_BODY(FROM_ID,SMS_TYPE,CONTENT,SEND_TIME,REMIND_URL) values ('".$FROM_ID."','{$SMS_TYPE}','{$CONTENT}','{$SEND_TIME}','{$REMIND_URL}')";
exequery( $connection, $query );
$BODY_ID = mysql_insert_id( );
$MY_ARRAY = explode( ",", $TO_ID );
$ARRAY_COUNT = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$value_str = "";
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
if ( !( $MY_ARRAY[$I] == "" ) )
{
if ( $MY_ARRAY[$I] == "" )
{
break;
}
}
else
{
continue;
}
$USER_ID_SENT .= $MY_ARRAY[$I].",";
$value_str .= "('".$MY_ARRAY[$I].( "','1','0','".$BODY_ID."')," );
}
$query = "insert into SMS(TO_ID,REMIND_FLAG,DELETE_FLAG,BODY_ID) values ".substr( $value_str, 0, -1 );
exequery( $connection, $query );
if ( strtotime( $SEND_TIME ) - time( ) < 60 )
{
$query = "select UID from USER where find_in_set(USER_ID,'".$USER_ID_SENT."')";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
new_sms_remind( $ROW['UID'], 1 );
}
}
}
function delete_sms( $SMS_ID_STR, $DEL_TYPE )
{
global $connection;
global $LOGIN_USER_ID;
global $LOGIN_UID;
$query = "select SMS_ID,REMIND_FLAG,DELETE_FLAG,SMS.BODY_ID from SMS,SMS_BODY where SMS.BODY_ID=SMS_BODY.BODY_ID and find_in_set(SMS_ID,'".$SMS_ID_STR."')";
if ( $DEL_TYPE == "1" )
{
$query .= " and TO_ID='".$LOGIN_USER_ID."'";
}
else
{
$query .= " and FROM_ID='".$LOGIN_USER_ID."'";
}
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$SMS_ID = $ROW['SMS_ID'];
$REMIND_FLAG = $ROW['REMIND_FLAG'];
$DELETE_FLAG = $ROW['DELETE_FLAG'];
$BODY_ID = $ROW['BODY_ID'];
if ( $DEL_TYPE == "1" )
{
if ( $DELETE_FLAG == "2" )
{
$SMS_ID_DEL .= $SMS_ID.",";
}
else
{
$SMS_ID_UPD1 .= $SMS_ID.",";
}
}
else if ( $DELETE_FLAG == "1" || $REMIND_FLAG == "1" )
{
$SMS_ID_DEL .= $SMS_ID.",";
}
else
{
$SMS_ID_UPD2 .= $SMS_ID.",";
}
if ( find_id( $SMS_ID_DEL, $SMS_ID ) )
{
$query = "select count(*) from SMS where BODY_ID='".$BODY_ID."'";
$cursor1 = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$GROUP_COUNT = $ROW[0];
}
if ( $GROUP_COUNT <= 1 )
{
$BODY_ID_DEL .= $BODY_ID.",";
}
}
}
if ( $SMS_ID_DEL != "" )
{
$query = "delete from SMS where find_in_set(SMS_ID,'".$SMS_ID_DEL."')";
exequery( $connection, $query );
}
if ( $BODY_ID_DEL != "" )
{
$query = "delete from SMS_BODY where find_in_set(BODY_ID,'".$BODY_ID_DEL."')";