public function __construct()
 {
     parent::__construct();
     $this->check_token();
     $cart = query_sql('', "select * from cart where member_id=" . $this->uid);
     $cart = $cart[0];
     if ($cart) {
         $this->cart_id = $cart['id'];
         $this->cart = json_decode(urldecode($cart['json_content']), true);
     } else {
         $this->cart = null;
     }
 }
Пример #2
0
function get_joke($type, $joke_id, $cat_id, $limit)
{
    if ($joke_id) {
        $sql = "select `id`, `cat`, `cat_id`, `title`, `content` from `joke` where `id` = {$joke_id}";
    } elseif ($cat_id == -1) {
        $sql = "select `id`, `cat`, `cat_id`, `title`, `content` from `joke` order by rand() limit {$limit}";
    } else {
        $sql = "select `id`, `cat`, `cat_id`, `title`, `content` from `joke` where `cat_id` = {$cat_id} order by rand() limit {$limit}";
    }
    $jokes = query_sql($sql);
    if ($type == 'text') {
        $result = "";
        foreach ($jokes as $joke) {
            $result .= $joke['title'] . "\n" . $joke['content'] . "\n\n";
        }
        write_ok_text($result);
    } elseif ($type == 'json') {
        write_ok($jokes);
    } else {
        write_error($GLOBALS['ERR_PARAMS_TYPE']);
    }
}
 public function yes_contract_put()
 {
     $this->check_token();
     $body = $this->get_request_data('contract');
     if ($this->check_body_fields($body, array('id'))) {
         $contract_id = $body['id'];
         $bid_id = M('contract')->where(array('id' => $contract_id))->getField('bid_id');
         if (empty($bid_id)) {
             $this->error('5009');
         }
         $info = M('member')->find($this->uid);
         //用户信息
         $_POST = array('id' => $bid_id, 'status' => 4);
         if (update_data('bid')) {
             $res = get_info('contract', array('bid_id' => $bid_id, 'status' => 1));
             message_log(0, $res['member_id'], '学生已同意协议。' . $res['title'], 'contract', $res['id'], 2);
             $m = query_sql('', "select member.nickname,bid.demand_member_id from bid left join member on  member.id=bid.service_member_id where bid.id=" . $bid_id);
             M('message')->addAll(array(array("from_member_id" => 0, "to_member_id" => $res['member_id'], 'content' => '学生已同意协议"' . $res['title'] . '"。', 'table' => 'contract', 'table_id' => $res['id'], 'add_time' => date('Y-m-d H:i:s'), 'role' => 2), array("from_member_id" => 0, "to_member_id" => $info['id'], 'content' => '你已同意' . $m[0]['nickname'] . '的协议"' . $res['title'] . '"。', 'table' => 'contract', 'table_id' => $res['id'], 'add_time' => date('Y-m-d H:i:s'), 'role' => 1)));
             $this->success();
         } else {
             // 5010 修改数据失败
             $this->error(5010);
         }
     } else {
         $this->error(1001);
     }
 }
Пример #4
0
function register_new_member(Member $member)
{
    if (!is_member($member->email)) {
        $connection = connect();
        $member->password = md5($member->password);
        $sql = "INSERT INTO team_members (member_id, first_name, last_name, email, password, dob, official_dob, reset_code) VALUES (NULL, '" . $member->first_name . "', '" . $member->last_name . "', '" . $member->email . "' , '" . $member->password . "', '3000-01-01', '" . $member->official_dob . "','" . get_uuid() . "')";
        $result = $connection->query($sql);
        disconnect($connection);
        if ($result == true) {
            $member_id_result = query_sql("SELECT `member_id` FROM `team_members` WHERE `email` = '" . $member->email . "'");
            $member_id = get_query_result($member_id_result, 'member_id');
            $result = array("registered" => true, "status_code" => 200, "member_id" => $member_id);
        } else {
            $result = array("registered" => false, "status_code" => 401, "error" => "Registration failed due to internal error");
        }
    } else {
        $result = array("registered" => false, "status_code" => 409, "error" => "Member already Registered");
    }
    return $result;
}
Пример #5
0
/**
 *
 * 登陆之后
 * @param unknown_type $info
 */
function after_login()
{
    $info = GetLogin();
    $dlist = query_sql('', "select order_id,max(refund.status) as m_status from refund left join orders on orders.id=refund.order_id where orders.status=5 and (orders.from_member_id=" . $info['id'] . " or orders.to_member_id=" . $info['id'] . ") and UNIX_TIMESTAMP(apply_time)<" . (time() - 3 * 24 * 3600) . "  group by order_id having m_status<2");
    //	$criteria = new CDbCriteria ();
    //	$criteria->alias = 'refund';
    //	$criteria->with = array (
    //		'orders'
    //	);
    //
    //	$criteria->compare ( 'orders.' . 'status', 5/*已申请退款*/ );
    //	$dlist = Refund::model ()->findAll ();
    if ($dlist) {
        $ids = '';
        foreach ($dlist as $v) {
            $ids .= $v['order_id'] . ',';
            order_record($v['order_id'], 7, $info['nickname'] . '->不同意申请退款');
        }
        execute_sql('', "update orders set status=7  where status=5 and id in (" . trim($ids, ',') . ")");
    }
    //老师发货后十五天之内学生没有确认收获
    $hlist = query_sql('', "select orders.* from orders where status=2 and (to_member_id =" . $info['id'] . " or from_member_id=" . $info['id'] . ") and UNIX_TIMESTAMP(send_time)<" . (time() - 15 * 24 * 3600));
    $ids = '';
    foreach ($hlist as $k => $v) {
        $ids .= $v['id'] . ',';
        $receiptname = get_info('member', array('id' => $v['to_member_id']));
        $re['info'] = $v;
        $this->extend($v['id'], $re, $receiptname);
    }
    if ($hlist) {
        execute_sql('', "update orders set status=3  where id in (" . trim($ids, ',') . ")");
    }
    //老师同意退款发货后3天之内学生没有发货,默认确认收获
    $slist = query_sql('', "select orders.* from orders where status=6 and (to_member_id =" . $info['id'] . " or from_member_id=" . $info['id'] . ") and id in ( select order_id from refund where refund_status=3  and UNIX_TIMESTAMP(agree_time)<" . (time() - 3 * 24 * 3600) . ")");
    $ids = '';
    foreach ($slist as $k => $v) {
        $ids .= $v['id'] . ',';
        $receiptname = get_info('member', array('id' => $v['to_member_id']));
        $re['info'] = $v;
        $this->extend($v['id'], $re, $receiptname, '老师同意退款3天之内学生没有发货学生默认确认收获');
    }
    if ($slist) {
        execute_sql('', "update orders set status=3  where id in (" . trim($ids, ',') . ")");
    }
    //学生退款发货后7天之内老师没有确认退款货收货,默认确认收货-7*24*3600
    $rlist = query_sql('', "select orders.* from orders where status=8 and (to_member_id =" . $info['id'] . " or from_member_id=" . $info['id'] . ") and UNIX_TIMESTAMP(send_time)<" . (time() - 7 * 24 * 3600));
    $ids = '';
    foreach ($rlist as $k => $v) {
        $ids .= $v['id'] . ',';
        $receiptname = get_info('member', array('id' => $v['to_member_id']));
        $re['info'] = $v;
        $this->extend_c($v['id'], $re, $receiptname);
    }
    if ($rlist) {
        execute_sql('', "update orders set status=9  where id in (" . trim($ids, ',') . ")");
    }
    //检测学生在7天内不予以答疑时,系统能否自动付款给老师,并默认进入到下一个阶段-7*24*3600
    $learning_periods = query_sql('', "select learning_periods.id,learning_periods.bid_id,learning_periods.member_id,learning_periods.price,learning_periods.title,bid.demand_member_id,bid.service_member_id,bid.service_demand_id from learning_periods left join bid on bid.id=learning_periods.bid_id where learning_periods.status=1 and UNIX_TIMESTAMP(release_time)<" . (time() - 7 * 24 * 3600) . " and (bid.service_member_id=" . $info['id'] . " or bid.demand_member_id=" . $info['id'] . " )");
    foreach ($learning_periods as $k => $v) {
        $learning_period = get_info('learning_periods', array('bid_id' => $v['bid_id'], 'id' => array('gt', $v['id']), 'status' => 0));
        $re = $info;
        if ($info['id'] == $v['sevice_member_id']) {
            $re = get_info('member', array('id' => $v['demand_member_id']));
        }
        if ($learning_period) {
            $v['status'] = 2;
            $this->extend_record_c($v['bid_id'], $re, $v);
            M('learning_periods')->where('id=' . $v['id'])->save(array('status' => 2));
        } else {
            M('learning_periods')->where('id=' . $v['id'])->save(array('status' => 5));
            M('bid')->where('id=' . $v['bid_id'])->save(array('status' => 8));
            $v['status'] = 5;
            $this->extend_record($v['bid_id'], $re, $v);
        }
    }
    return;
    $cart = get_info('cart', array('member_id' => $info['id']), 'json_content');
    if ($cart) {
        $list = json_decode(urldecode($cart['json_content']), true);
        $this->cart->clear();
        if ($list) {
            foreach ($list as $k => $v) {
                foreach ($v as $kk => $vv) {
                    $this->cart->addItem($k, $kk, $vv['name'], $vv['price'], $vv['brand'], $vv['cover'], $vv['num'], $vv['shipping']);
                }
            }
        } else {
            //$this->cart->clear ();
        }
    } else {
        //$this->cart->clear ();
    }
}
 public function release_post()
 {
     $this->check_token();
     $data = $this->get_request_data();
     $m = M("member");
     $info = $m->getById($this->uid);
     $content_demand = $data['content'];
     $description = trim($data['description']);
     if (!is_numeric($data['cost']) && $data['cost'] < 0) {
         $this->error(6002);
     }
     $profes_type = $data['profes_type'];
     //专业类型  1.非统考 2.统考 3.公共课
     $profes_data = $data['profes_data'];
     !is_array($profes_data) && $this->error(6006);
     if ($profes_type == 1) {
         if (!isset($profes_data['city']) || 0 == $profes_data['city']) {
             $this->error(6007);
         }
         empty($profes_data['university']) && $this->error(6008);
         $college = $profes_data['college'];
         $university = $profes_data['university'];
     } else {
         if ($profes_type == 2) {
             empty($profes_data['major_subject']) && $this->error(6009);
             empty($profes_data['major_classify']) && $this->error(6010);
             $profes_data['major'] = $profes_data['major_subject'];
             $code = get_info('unified_classify', array('id' => $profes_data['major_classify']));
             $profes_data['major_code'] = $code['code'];
             $profes_data['college'] = $profes_data['major_classify'];
         } else {
             if ($profes_type == 3) {
                 $profes_data['major'] = $profes_data['major_subject'];
             }
         }
     }
     empty($description) && $this->error(6004);
     mb_strlen($description, "utf-8") > 20 && $this->error(6005);
     if ($data['demand_type'] < 4) {
         empty($content_demand) && $this->error(6011);
     } else {
         empty($data['content_course']) && $this->error(6012);
         empty($data['content_reference']) && $this->error(6013);
         empty($data['yy_number']) && $this->error(6014);
     }
     if ($data['role_type'] == 2) {
         if (empty($data['image_sha1']) || !count($data['image_sha1'])) {
             $this->error(6015);
         }
     }
     $demand = M("demand");
     $demand_ins_data = array("demand_type" => $data['demand_type'], "profes_type" => $data['profes_type'], "city" => $profes_data['city'], "university" => $profes_data['university'], "college" => $profes_data['college'], "major" => $profes_data['major'], "major_code" => $profes_data['major_code'], "description" => $data['description'], "cost_type" => $data['cost'] > 0 ? 2 : 1, "cost" => $data['cost'], "qq" => $data['qq'], "mobile" => $data['phone'], "content_demand" => $data['content'], "member_id" => $this->uid, "member_name" => $info["nickname"], "role_type" => $data['role_type'], "require_identity" => $data['require_identity'], "require_authenticate" => $data['require_authenticate'], "require_security" => $data['require_security']);
     if ($data['demand_type'] == 4) {
         $demand_ins_data['content_course'] = $data["content_course"];
         $demand_ins_data['content_reference'] = $data["content_reference"];
         $demand_ins_data['remarks'] = $data["remarks"];
         $demand_ins_data['set_time'] = max(0, intval($data['set_time']));
     }
     if (!$demand->add($demand_ins_data)) {
         $this->error(9001);
     }
     $res = $demand->getLastInsID();
     $qq = $data['qq'];
     if (empty($info['qq'])) {
         $m->where("id=" . $this->uid)->save(array("qq" => $qq));
     }
     if (1 == $data["role_type"]) {
         $title = '您的需求"' . $description . '"已发布成功';
     } else {
         $title = '你的辅导项目"' . $description . '"已发布成功';
         if ($data['demand_type'] == 4) {
             $title = $description . '已发布成功!我们将在24小时内进行审核!审核成功后将发布在首页。审核成功后我们会给您安排YY频道的YY频道3503895的一间直播教室。';
         }
     }
     //发送系统消息
     M('message')->add(array("from_member_id" => 0, "to_member_id" => $info['id'], 'content' => $title, 'table' => $this->table, 'role' => $dsts['role_type'], 'table_id' => $res, 'add_time' => date('Y-m-d H:i:s')));
     $image = $data['image_sha1'];
     //将图片写入数据库
     if (!empty($image)) {
         $att = M("attachments");
         $att_data = array("member_id" => $info["id"], "table" => "demand", "table_id" => $res, "sha1" => $image, "add_time" => date("Y-m-d H:i:s"));
         $att->add($att_data);
     }
     // 更新发布数
     if ($info['wap_role'] == 1) {
         $this->upNumber('member', array('id' => $this->uid), 'demand_num');
         //更新最后发布服务的时间
         M('member')->where(array('id' => $this->uid))->save(array('last_serve_time' => time()));
         // 根据条件保存修改的数据
     } else {
         $this->upNumber('member', array('id' => $this->uid), 'serve_num');
     }
     //用户发了需求/服务之后,要把用户放到所在的圈子里,假如没在的情况下
     if ($data['profes_type'] == 1) {
         if ($college) {
             $community = get_info('community', array('member_id' => $info['id'], 'table_type' => 'school', 'table_id' => $college, 'critype' => 2, 'status' => 1), 'id');
             if (!$community) {
                 M('community')->add(array('member_id' => $info['id'], 'table_type' => 'school', 'table_id' => $college, 'critype' => 2, 'add_time' => date('Y-m-d H:i:s')));
             }
         } else {
             $community = get_info('community', array('member_id' => $info['id'], 'table_type' => 'school', 'table_id' => $university, 'critype' => 1, 'status' => 1), 'id');
             if (!$community) {
                 M('community')->add(array('member_id' => $info['id'], 'table_type' => 'school', 'table_id' => $university, 'critype' => 1, 'add_time' => date('Y-m-d H:i:s')));
             }
         }
     }
     //发布成功送积分
     $param = array('uid' => $info['id'], 'tablename' => 'demand', 'tableid' => $res, 'uname' => $info['nickname'], 'action' => MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, 'ruleId' => 36, 'field' => 'score', 'isLimit' => false);
     tag('setScore', $param);
     if ($info['pid'] != 0 && strtotime($info['reg_time']) + 365 * 24 * 3600 > time()) {
         if ($info['role'] == 1) {
             $reward_setting = 'set_stu_publish';
             $reward_msg = "推广用户发布需求获取金币";
             $t_res = query_sql("", "select * from extend_reward where set_name='set_stu_publish' and from_member_id=" . $info['id'] . " and status=1");
         } else {
             $reward_msg = "推广用户发布服务获取金币";
             $reward_setting = 'set_tea_publish';
             $t_res = query_sql("", "select * from extend_reward where set_name='set_tea_publish' and from_member_id=" . $info['id'] . " and status=1");
         }
         if (!$t_res) {
             $extend_reward = M('extend_reward')->add(array('from_member_id' => $info['id'], 'to_member_id' => $info['pid'], 'set_name' => $reward_setting, 'add_time' => date('Y-m-d H:i:s'), 'role' => $info['role'], 'table_name' => 'demand', 'table_id' => $res));
             $data['coin'] = array('exp', 'coin+' . C($reward_setting));
             //M('member')->
             $pname = get_info('member', array('id' => $info['pid']), 'nickname');
             D('score_log')->add(array('uid' => $info['pid'], 'table_name' => 'extend_reward', 'table_id' => $extend_reward, 'uname' => $pname['nickname'], 'action' => MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, 'type' => 'coin', 'score' => C($reward_setting), 'rule_id' => 34, 'msg' => $reward_msg, 'create_time' => time()));
             //更新最后发布时间
             M('member')->where('id=' . $info['id'])->save(array('last_serve_time' => time()));
         }
     }
     $this->success(array("id" => $res));
 }