sender_id() == $_SESSION['member_id'] || $type->relayer_id() == $_SESSION['member_id']); } public function openOp() { if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) { return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数."); } $type_sn = $_GET['type_sn']; $type_infos = bonus_helper::get_typeinfo($type_sn); if(empty($type_infos)) { return self::outerr(errcode::ErrBonus,"无此红包."); } $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); $type = \bonus\type::create_by_paramer($type_infos['type_info']); $isMineType = $this->isMineType($type); if($type->isStart() == false) { return self::outsuccess(array('type_info' => $type_info),"bonus/unstart"); } $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn); if($mine_bonus != false) { //显示我抢到的红包,按照状态进行判断 $bonus = \bonus\user_bonus::create_by_param($mine_bonus); $mine_bonus = bonus_helper::filter_bonus($mine_bonus); if($bonus->isBinded() == false && session_helper::isVerfiyMobile()) { $ret = bonus_helper::bind_bonus($bonus->bonus_sn(),$_SESSION['MPHPSESSID'],session_helper::cur_mobile(),$new_sn); if($ret == true) { $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn); } } $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars); if($bonus->isBinded() || $isMineType) { return self::outsuccess($data,"bonus/content"); } else { if($type->isEnd()) { return self::outsuccess(array('type_info' => $type_info),"bonus/end"); } else { return self::outsuccess($data,"bonus/bind"); } } } else { //我没有抢过的情况 if($isMineType == false) { if($type->isEnd()) { return self::outsuccess(array('type_info' => $type_info),"bonus/end"); } else if($type->binded_over()) { return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over"); } else { return self::outsuccess(array('type_info' => $type_info),"bonus/open"); } } else { if($type->isEnd() || $type->binded_over()) { return self::outsuccess(array('type_info' => $type_info, 'binded_info' => $binded_info, 'avatars' => $avatars), 'bonus/detail'); } else { return self::outsuccess(array('type_info' => $type_info),"bonus/open"); } } } } public function detailOp() { if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) { return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数."); } $type_sn = $_GET['type_sn']; $type_infos = bonus_helper::get_typeinfo($type_sn); if(empty($type_infos)) { return self::outerr(errcode::ErrBonus,"无此红包."); } $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); $type = \bonus\type::create_by_paramer($type_infos['type_info']); if($type->isStart() == false) { return self::outsuccess(array('type_info' => $type_info),"bonus/unstart"); } $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn); if($mine_bonus != false) { //显示我抢到的红包,按照状态进行判断 $mine_bonus = bonus_helper::filter_bonus($mine_bonus); } return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus, 'binded_info' => $binded_info, 'avatars' => $avatars), 'bonus/detail'); } public function grabOp() { if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) { return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数."); } $type_sn = $_GET['type_sn']; $type_infos = bonus_helper::get_typeinfo($type_sn); if(empty($type_infos)) { return self::outerr(errcode::ErrBonus,"无此红包."); } $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); $type = \bonus\type::create_by_paramer($type_infos['type_info']); if($type->isStart() == false) { return self::outsuccess(array('type_info' => $type_info),"bonus/unstart"); } $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn); if($mine_bonus != false) { //显示我抢到的红包,按照状态进行判断 $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus); $mine_bonus = bonus_helper::filter_bonus($mine_bonus); if($bonus_obj->isBinded()) { return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/content"); } elseif($type->isEnd()) { return self::outsuccess(array('type_info' => $type_info),"bonus/end"); } else { if(session_helper::isVerfiyMobile()) { $ret = bonus_helper::bind_bonus($bonus_obj->bonus_sn(),$_SESSION['MPHPSESSID'],session_helper::cur_mobile(),$new_sn); if($ret == true) { $mine_bonus = bonus_helper::get_mine_by_bonussn($new_sn); return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/content"); } else { return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/bind"); } } else { return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/bind"); } } } else { if($type->isEnd()) { return self::outsuccess(array('type_info' => $type_info),"bonus/end"); } elseif($type->binded_over()) { return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over"); } else { $bonus = bonus_helper::grab_bonus($type_sn); if($bonus == false) { return self::outsuccess(array('type_info' => $type_info,'msg' => "手慢了,红包派完了"),"bonus/over"); } else { $bonus_obj = \bonus\user_bonus::create_by_param($bonus); $mine_bonus = bonus_helper::filter_bonus($bonus); if($bonus_obj->isBinded()) { $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn()); if(empty($type_infos)) { return self::outerr(errcode::ErrBonus,"无此红包."); } $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars); return self::outsuccess($data,"bonus/content"); } else { $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars); return self::outsuccess($data,"bonus/bind"); } } } } } public function bindOp() { if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) { return self::outerr(errcode::ErrParamter,"请输入红包序列号."); } $bonus_sn = $_GET['bonus_sn']; $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn); if($mine_bonus == false) { return self::outerr(errcode::ErrParamter, "您不能领没有抢到的红包."); } $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus); if($bonus_obj->isBinded()) { $type_sn = $bonus_obj->type_sn(); $type_infos = bonus_helper::get_typeinfo($type_sn); $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); $mine_bonus = bonus_helper::filter_bonus($mine_bonus); return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/content"); } $type_sn = $bonus_obj->type_sn(); $type_infos = bonus_helper::get_typeinfo($type_sn); $type = \bonus\type::create_by_paramer($type_infos['type_info']); if($type->isEnd()) { return self::outsuccess(array('type_info' => $type_infos['type_info']),"bonus/end"); } elseif(session_helper::isVerfiyMobile()) { $mobile = session_helper::cur_mobile(); } else { $mobile = $_GET['mobile']; $validator = new Validate(); $validator->setValidate(Validate::verify_mobile($mobile)); $err = $validator->validate(); if ($err != '') { return self::outerr(errcode::ErrParamter, $err); } if(!isset($_GET['code']) || empty($_GET['code'])) { return self::outerr(errcode::ErrParamter, "请输入验证码."); } $code = $_GET['code']; $ret = sms_helper::check_code(Sms::getbonus_code,$code,$mobile); if(is_array($ret)) { return self::outerr($ret['code'], $ret['msg']); } else { $_SESSION['member_mobile'] = $mobile; $password = $code . substr($mobile, -4); $relay_id = intval($_GET['relay_id']); session_helper::bonus_register($mobile,$password,$type,$relay_id); } } $ret = bonus_helper::bind_bonus($bonus_sn,$_SESSION['MPHPSESSID'],$mobile,$new_bonus_sn); if($ret == true) { $mine_bonus = bonus_helper::get_mine_by_bonussn($new_bonus_sn); $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus); $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn()); $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info,'avatars' => $avatars)); } else { return self::outerr($ret['code'],$ret['msg']); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public function shakeOp() { if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) { return self::outerr(errcode::ErrParamter,"请输入红包序列号."); } $bonus_sn = $_GET['bonus_sn']; $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn); if($mine_bonus == false) { return self::outerr(errcode::ErrParamter, "领到红包后才可以摇."); } if(!isset($_POST['strength']) || empty($_POST['strength'])) { $strength = intval($_POST['strength']); } else { $strength = 3; } $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus); if($bonus_obj->can_shake()) { $type_sn = $bonus_obj->type_sn(); $type_infos = bonus_helper::get_typeinfo($type_sn); $type = \bonus\type::create_by_paramer($type_infos['type_info']); if($type->isEnd()) { return self::outsuccess(errcode::ErrBonus,"该红包已经过期,不能再摇啦~"); } elseif($type->binded_over()) { return self::outsuccess(errcode::ErrBonus,"该红包已经被领光,摇不出更多啦~"); } elseif($type->isFixedAmount()) { return self::outsuccess(errcode::ErrBonus,"只有拼收起红包才可以摇哦~"); } else { $ret = bonus_helper::check_shake($bonus_sn,$first); if($ret != true) { return self::outerr($ret['code'], $ret['msg']); } $direction = bonus_helper::get_direction($first); $ret = bonus_helper::shake($bonus_obj->bonus_sn(),$strength,$direction); if($ret == true) { $bonus = bonus_helper::get_mine_by_bonussn($bonus_obj->bonus_sn()); $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn()); $this->fileter_typeinfos($type_infos,$type_info,$binded_info,$avatars); return self::outsuccess(array('type_info' => $type_info,'mine_bonus' => $bonus,'binded_info' => $binded_info,'avatars' => $avatars),"bonus/content"); } else { return self::outsuccess(errcode::ErrBonus,"只有拼收起红包才可以摇哦~"); } } } else { return self::outerr(errcode::ErrParamter, "抢到或者领到红包后才可以摇."); } } //红包留言 public function commentOp() { if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) { return self::outerr(errcode::ErrParamter,"请输入红包序列号."); } $bonus_sn = $_GET['bonus_sn']; if(!isset($_GET['comment']) || empty($_GET['comment'])) { return self::outerr(errcode::ErrParamter,"请输入留言."); } $comment = urldecode($_GET['comment']); if(bonus_helper::comment($bonus_sn,urldecode($comment)) == true) { return self::outsuccess(array()); } else { return self::outerr(errcode::ErrBonusComment,"留言失败."); } } } function bonus_output_unstart($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $local_tm = time(); $start_tm = $type->get_start_time(); $str_localtime = ""; $str_starttime = ""; echo($str_localtime); echo($str_starttime); } function bonus_output_end($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $start_tm = $type->get_start_time(); $end_time = $type->get_end_time(); $day_secs = 24 * 60 * 60; if(($end_time - $start_tm) == $day_secs) { return "该红包已超过24小时。"; } else { return "该红包已过期。"; } } function bonus_output_grabinfo($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); if($type->binded_over()) { echo("

手慢了,红包被领完了

"); } else if($type->grabed_over()) { echo ("

手慢了,红包被抢完了

"); $last_time = $type->grab_lastime(); if($last_time) { $wait_sec = $last_time + 600 - time(); $wait_min = intval($wait_sec / 60); $wait_sec = $wait_sec % 60; if($wait_min > 0) { echo("

{$wait_min}分钟后,您可以尝试抢一个未及时领取的红包.

"); } else { echo("

{$wait_sec}秒后,您可以尝试抢一个未及时领取的红包.

"); } } } } function bonus_output_sender_header($output) { $type_info = $output['type_info']; $avatars = $output['avatars']; if(!empty($type_info)) { $type = \bonus\type::create_by_paramer($type_info); $user_id = $type->sender_id(); if(array_key_exists($user_id,$avatars)) { $avatar = $avatars[$user_id]; } else { $avatar = RESOURCE_SITE_URL . '/mobile/defimg/female.png'; } } return $avatar; } function bonus_output_sender($output) { $type_info = $output['type_info']; if(!empty($type_info)) { $type = \bonus\type::create_by_paramer($type_info); echo($type->sender_name()); } else { echo(""); } } function bonus_output_openurl($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $type_sn = $type->getType_sn(); $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&type_sn={$type_sn}"; return $url; } function bonus_output_detailurl($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $type_sn = $type->getType_sn(); $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=detail&type_sn={$type_sn}&client_type=wap"; return $url; } function bonus_output_graburl($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $type_sn = $type->getType_sn(); $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=grab&client_type=wap&type_sn={$type_sn}"; return $url; } function bonus_output_type($output) { echo '
'; echo '

'; $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); echo($type_info['sender_name'] . "的红包"); if($type->isRandomAmount()) { echo ''; } echo '

'; echo '

' . $type_info['type_bless'] . '

'; echo '
'; } function bonus_output_mine($output) { if($_SESSION['is_app']) { $show_down = false; } else { $show_down = true; } $mine_bonus = $output['mine_bonus']; if(!empty($mine_bonus)) { $bonus = \bonus\user_bonus::create_by_param($mine_bonus); echo('
'); echo('

' . $bonus->bonus_value() . '

'); echo('
'); echo(''); echo('

点击下载APP

'); echo(''); } } function bonus_out_bindtimeout($output) { $mine_bonus = $output['mine_bonus']; if(!empty($mine_bonus)) { $bonus = \bonus\user_bonus::create_by_param($mine_bonus); $grab_time = $bonus->grab_time(); $time_out = 600; if($grab_time > 0) { if($grab_time + $time_out <= time() - 60) { return '您的红包随时可能被抢走,抓紧领啊~'; } else { $left_time = $grab_time + $time_out - time(); $mins = $left_time / 60; return "请{$mins}分钟内,输入手机号领取红包"; } } } return ''; } function bonus_out_bindedtime($period) { $min = 60; $hour = 3600; $day = 24 * 3600; $days = intval($period / $day); $period = $period % $day; $houres = intval($period / $hour); $period = $period % $hour; $mins = intval($period / $min); $period = $period % $min; if($period > 0) { $mins += 1; } $time_str = ''; if($days > 0) { $time_str .= "{$days}天"; } if($houres > 0) { $time_str .= "{$houres}小时"; } if($mins > 0) { $time_str .= "{$mins}分钟"; } $time_str .= "领完."; return $time_str; } function bonus_output_bindedinfo($output) { $type_info = $output['type_info']; $avatars = $output['avatars']; $type = \bonus\type::create_by_paramer($type_info); echo('
'); if($type->binded_over()) { $prompt = "{$type->getTotal_num()}个红包"; $prompt .= ","; $period = $type_info['binded_period']; $prompt .= bonus_out_bindedtime($period); } else { $prompt = "领取 {$type->binded_num()}/{$type->getTotal_num()}"; } echo('

' .$prompt. '

'); echo('
'); $bined_info = $output['binded_info']; if(empty($bined_info)) return; echo '
'; foreach($bined_info as $val) { $bonus = \bonus\user_bonus::create_by_param($val); $user_id = $bonus->user_id(); if(array_key_exists($user_id,$avatars)) { $avatar = $avatars[$user_id]; } else { $avatar = RESOURCE_SITE_URL . '/mobile/defimg/female.png'; } echo('
'); echo('
'); echo(''); echo('
'); echo('
'); echo('

' . $bonus->user_name() .'

'); if(empty($bonus->user_comment())) { if($bonus->user_mobile() == $_SESSION['member_mobile']) { echo('

留言

'); echo('

' . $bonus->get_time_format() . '

'); } else { echo('

' . $bonus->get_time_format() . '

'); echo('

'); } } else { echo('

' . $bonus->user_comment() . '

'); echo('

' . $bonus->get_time_format() . '

'); } echo('
'); echo('
'); echo('

' . $bonus->bonus_value() . '元

'); echo('

' . $bonus->bonus_rate() . '%

'); if($type->binded_over() && $type->isMaxAmount($bonus->bonus_value()) && $type->isRandomAmount()) { echo('

手气最佳

'); } echo('
'); echo('
'); } echo('
'); } function android_downpath() { $url = BASE_SITE_URL . '/data/upload/package/xmmz_release.apk'; return $url; } function share_title($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); return $type->bless(); } function share_subtitle($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $share_id = $type->share_id(); $share = bonus_share::instance()->get($share_id); return $share['sub_title']; } function share_image($output) { $type_info = $output['type_info']; $type = \bonus\type::create_by_paramer($type_info); $share_id = $type->share_id(); $share = bonus_share::instance()->get($share_id); return $share['img_url']; }