public static function sendMessage($p_telephone, $p_msg) { $_r = null; if (W2String::isTelephone($p_telephone)) { // $strSendMsg = $p_msg; // $strSendMsg = iconv('UTF-8', 'GBK', $strSendMsg); // $strSendMsg = urlencode($strSendMsg); // $_r = '测试期,暂不发送实际短信'; // $strUrl ="http://125.208.9.42:8080/WS/Send.aspx?CorpID=btapp&Pwd=123456&Mobile={$strTelephone}&Content={$strSendMsg}"; // $_r = W2Web::loadStringByUrl($strUrl); $data = array(); $data['user'] = W2Config::$SMS_USER; $data['passwd'] = W2Config::$SMS_PASSWD; $data['msg'] = $p_msg; //短消息内容,UTF-8编码 $data['mobs'] = $p_telephone; //手机号码,逗号分隔,个数最多100 $data['ts'] = date('YmdHi', time()); //计划发送时间,格式“yyyyMMddHHmm”,默认当前 $data['dtype'] = 0; //响应数据格式;0,普通字串,1.XML格式,默认0 $data['passwd'] = md5($data['user'] . $data['passwd']); //MD532位加密用户名和API密码 $_r = W2Web::loadStringByUrl('http://api5.nashikuai.cn/SendSms.aspx', 'post', $data); } return $_r; }
public static function actionSendVerifyCode() { $telephone = W2HttpRequest::getRequestTelephone('telephone'); if ($telephone == null) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '请输入正确的手机号。'); } $_smsVerifyModelFound = SmsVerifyHandler::loadModelFirstInList(array('telephone' => $telephone), 'id desc'); if (isset($_smsVerifyModelFound) && time() - strtotime($_smsVerifyModelFound->getCreateTime()) < 60) { return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '手机号验证太频繁,请稍后。'); } $tmpModel = new SmsVerifyModel(); $_verifyCode = W2String::buildRandNumbers(4); switch (static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'add', $tmpModel)) { case 'admin': //有管理权限 //有管理权限 case 'self': //作者 //作者 case 'normal': //正常用户 //正常用户 case 'draft': //未激活 //未激活 case 'pending': //待审禁言 //待审禁言 case 'disabled': //封号 //封号 case 'visitor': $tmpModel->setUserID(Utility::getCurrentUserID()); $tmpModel->setTelephone($telephone); $tmpModel->setVerifyCode($_verifyCode); break; default: return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作'); break; } $result = static::save($tmpModel, $isAdd = true); if (is_array($result) && $result['errorCode'] == RUNTIME_CODE_OK) { $p_msg = '验证码:' . $_verifyCode . ' 退订回N【@bang】'; $result['errorStr'] = '短信已发送成功成功,请注意查收。'; // $result['extraInfo']['smsResult'] = W2SMS::sendMessage($telephone,$p_msg); $result['errorStr'] = $p_msg; //axing edit debug } return $result; }
/** * 将网址组成的string分解成数组 * @param string $p_string 逗号组成的多个网址string * @return string[] $p_string 多个网址string组成的数组 */ public static function getHttpArray($p_string) { return explode(',', W2String::getHttpStrings($p_string)); }
/** * 从http请求中获得URL格式字符串 * @param string key * @param bool 允许空白 * @return null|string value */ public static function getRequestURL($p_key, $p_allowBlank = true, $p_default = null) { $_r = $p_default; $_v = static::getRequestString($p_key, $p_allowBlank, $p_default); if (isset($_v) && ($p_allowBlank || W2String::isURL($_v))) { $_r = $_v; } return $_r; }