示例#1
0
 function replace_task_id($user_id, $task_id, $params)
 {
     $do_task = ModelFactory::Usertask()->get(['user_id' => $user_id, 'task_id' => $task_id]);
     $params['user_id'] = $user_id;
     $params['task_id'] = $task_id;
     return $this->replace(isset($do_task) ? $do_task['id'] : 0, $params);
 }
示例#2
0
 public function index()
 {
     $userdata = ModelFactory::User()->check_login();
     $type = $this->input->get('type');
     $from = $this->input->get('from');
     $pid = $this->input->get('pid');
     if ($pid) {
         $problem = ModelFactory::Problem()->get_by_id($pid);
         $problem['url'] = site_url('/problem/?p=' . $problem['id']);
     } elseif ($from == 'invite') {
         $problem['title'] = '来秒答答题,赢任性壕礼!';
         $problem['summary'] = '在秒答快乐分享,授人以渔,还能获得缤纷大礼!';
         $problem['desc'] = '你还没来秒答答题赢大奖?全新秒答,任性壕礼!回答问题获得威望点,集齐一定威望点就可以召唤神龙!哦,不对,就可以兑换机械键盘、kindle、魔声耳机、ipad mini 4!';
         $problem['pics'] = base_url('/static/image/share_image.jpg');
         $problem['url'] = base_url('/share/people?' . http_build_query(['trace' => base64_encode($userdata['id']), 'from_invite' => 1]));
     } elseif ($from == 'xiaobai') {
         $problem['title'] = '秒答Beta送送送,看一眼就是赚到!';
         $problem['summary'] = '编程有难题,秒答来帮你!';
         $problem['desc'] = '外事不决问谷歌,内事不懂问度娘,编程不会就来问秒小答吧!庆祝秒答内测第一个月,注册即送编程大神一对一答疑机会,超有趣超好玩的游戏编程APP开发教程。还有抽iPhone 6s!你不来组成分母?';
         $problem['pics'] = base_url('/static/image/share_image.jpg');
         $problem['url'] = base_url('/share/people?' . http_build_query(['trace' => base64_encode($userdata['id']), 'from_invite' => 1]));
     }
     $task_id = 0;
     switch ($type) {
         case 'qq':
             $url = $this->get_qq_url($problem);
             $task_id = CONSTFILE::USER_TASK_SHARE_QQ;
             break;
         case 'qqz':
             $url = $this->get_qqz_url($problem);
             $task_id = CONSTFILE::USER_TASK_SHARE_QQZ;
             break;
         case 'sina':
             if ($from = 'xiaobai') {
                 $problem['title'] = '外事不决问谷歌,内事不懂问度娘,编程不会就来问秒小答吧!庆祝秒答内测第一个月,注册即送编程大神一对一答疑机会,超有趣超好玩的游戏编程APP开发教程。还有抽iPhone 6s!你不来组成分母?';
             }
             $url = $this->get_sina_url($problem);
             $task_id = CONSTFILE::USER_TASK_SHARE_SINA;
             break;
         default:
             show_404();
     }
     if ($pid) {
         $do_taask = ModelFactory::Usertask()->get(['user_id' => $userdata['id'], 'task_id' => $task_id]);
         if (!$do_taask) {
             ModelFactory::Usertask()->replace($do_taask ? $do_taask['id'] : 0, ['user_id' => $userdata['id'], 'task_id' => $task_id, 'created_at' => time()]);
             ModelFactory::User()->Integral($userdata['id'], 100, true, 'Integral', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_USER_SHARE);
             ModelFactory::User()->coin($userdata['id'], 80, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_USER_SHARE);
         }
     }
     redirect($url);
 }
示例#3
0
 public function getUserTask($userdata, $task_id)
 {
     $cache_key = 'huodong_' . $userdata['id'] . '_' . $task_id;
     $silver_get = $this->cache()->get($cache_key);
     if (!$silver_get) {
         $do_task = ModelFactory::Usertask()->get(['user_id' => $userdata['id'], 'task_id' => $task_id]);
         if ($do_task) {
             $this->cache()->save($cache_key, '1', 86400);
             $silver_get = 1;
         }
     }
     return $silver_get;
 }
示例#4
0
    public function get_god_list($params, $page, $count)
    {
        $this->db->order_by('follower_count', 'DESC');
        $page = $page < 0 ? 0 : $page;
        return $this->db->where($params)->limit($count, $page * $count)->get($this->table_name)->result_array();
    }
    /**
	 * 增加金币或银币
	 * @param  formUser
	 * @param  number
	 * @param  type true 为增加false为减少
	 * @param  gold_coin/silver_coin 金币与银币
	 * @return bool
	 */
    public function coin($formUser, $number, $type = true, $coin = "silver_coin", $count_type = 0)
    {
        $change_type = 0;
        switch ($coin) {
            case 'silver_coin':
                $change_type = CONSTFILE::USER_SILVER_COIN;
                break;
            case 'gold_coin':
                $change_type = CONSTFILE::USER_SILVER_COIN;
                break;
            case 'Integral':
                $change_type = CONSTFILE::USER_INTEGRAL;
                break;
            case 'prestige':
                $change_type = CONSTFILE::USER_PRESTIGE;
                break;
        }
        if (!$change_type) {
            throw new Exception("error change type");
        }
        if ($type == false) {
            $coin_data = $this->db->select(array($coin))->get_where($this->table_name, array("id" => $formUser))->row_array();
            if ($coin_data[$coin] - $number < 0) {
                return false;
            }
        }
        $type = $type ? "+" : "-";
        $this->db->query("update `" . $this->table_name . "` SET\r\t\t`{$coin}` = `{$coin}` {$type} {$number}\r\t\tWHERE `id` = {$formUser}");
        $data = $this->db->affected_rows() > 0;
        if ($data) {
            $this->changelog(array('user_id' => $formUser, 'type' => $change_type, 'count_type' => $count_type, 'count' => $type == '+' ? $number : -$number, 'created_at' => time()));
            if ($change_type == CONSTFILE::USER_PRESTIGE) {
            }
            if ($change_type == CONSTFILE::USER_SILVER_COIN) {
                $user_data = $this->get_user($formUser);
                if ($user_data['silver_coin'] >= CONSTFILE::USER_SILVER_CHANGE_PRESTIGE_VALUE) {
                    $god_level = $this->get_god_level($formUser, $user_data);
                    $cg_value = 0;
                    if ($god_level <= 2) {
                        $cg_value = 5;
                    }
                    if ($god_level <= 7 && $god_level >= 3) {
                        $cg_value = 8;
                    }
                    if ($god_level <= 10 && $god_level >= 8) {
                        $cg_value = 15;
                    }
                    $do_task = ModelFactory::Usertask()->get(['user_id' => $formUser, 'task_id' => CONSTFILE::USER_TASK_GOD_5000]);
                    $task_val = isset($do_task['task_val']) ? $do_task['task_val'] : 0;
示例#5
0
文件: Test.php 项目: TF-Joynic/tiandi
 public function index()
 {
     $date = date('Y-m-d');
     //当前日期
     $first = 1;
     //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
     $w = date('w', strtotime($date));
     //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
     $now_start = date('Y-m-d', strtotime("{$date} -" . ($w ? $w - $first : 6) . ' days'));
     //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
     $now_end = date('Y-m-d', strtotime("{$now_start} +6 days"));
     //本周结束日期
     $last_start = date('Y-m-d', strtotime("{$now_start} - 7 days"));
     //上周开始日期
     $last_end = date('Y-m-d', strtotime("{$now_start} - 1 days"));
     //上周结束日期
     echo '本周开始日期:', $now_start, '<br />';
     echo '本周结束日期:', $now_end, '<br />';
     echo '上周开始日期:', $last_start, '<br />';
     echo '上周结束日期:', $last_end, '<br />';
     $peoples = ModelFactory::Changelog()->groupBy(['type' => CONSTFILE::USER_INTEGRAL], 20);
     if ($peoples) {
         foreach ($peoples as $key => $people) {
             $key = $key + 1;
             if ($key == 1) {
                 ModelFactory::User()->coin($people['user_id'], 200, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
             if ($key >= 2 && $key <= 5) {
                 ModelFactory::User()->coin($people['user_id'], 100, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
             if ($key >= 6 && $key <= 20) {
                 ModelFactory::User()->coin($people['user_id'], 50, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
         }
     }
     $date = date('Y-m-d');
     //当前日期
     $first = 1;
     //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
     $w = date('w', strtotime($date));
     //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
     $now_start = date('Y-m-d', strtotime("{$date} -" . ($w ? $w - $first : 6) . ' days'));
     //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
     $now_end = date('Y-m-d', strtotime("{$now_start} +6 days"));
     //本周结束日期
     $last_start = date('Y-m-d', strtotime("{$now_start} - 7 days"));
     //上周开始日期
     $last_end = date('Y-m-d', strtotime("{$now_start} - 1 days"));
     //上周结束日期
     echo '本周开始日期:', $now_start, '<br />';
     echo '本周结束日期:', $now_end, '<br />';
     echo '上周开始日期:', $last_start, '<br />';
     echo '上周结束日期:', $last_end, '<br />';
     $peoples = ModelFactory::Changelog()->groupBy(['type' => CONSTFILE::USER_INTEGRAL], 20);
     if ($peoples) {
         foreach ($peoples as $key => $people) {
             $key = $key + 1;
             if ($key == 1) {
                 ModelFactory::User()->coin($people['user_id'], 200, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
             if ($key >= 2 && $key <= 5) {
                 ModelFactory::User()->coin($people['user_id'], 100, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
             if ($key >= 6 && $key <= 20) {
                 ModelFactory::User()->coin($people['user_id'], 50, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_INTEGRAL_TOP);
             }
         }
     }
     $is_keep = ModelFactory::Usertask()->is_keep_answer($id);
     ModelFactory::Usertask()->answer_sign($id, date('Y-m-d'), $is_keep + 1);
     exit;
     $sign = ModelFactory::User()->coin($id, 3000, true, 'silver_coin');
     var_dump($sign);
     exit;
     //        $sign =  ModelFactory::User()->is_sigin($id,['date'=>'2015-08-17','time'=>1]);
     $userdata = ModelFactory::User()->get_user($id);
     $sign = ModelFactory::User()->is_sigin($id, $userdata);
     $keep = ModelFactory::User()->is_keep_sign($id, $userdata);
     if ($keep) {
         ModelFactory::User()->sigin($id, date('Y-m-d'), $keep + 1);
         echo "lx\n";
         exit;
     } else {
         ModelFactory::User()->sigin($id, date('Y-m-d'), 1);
         echo "pm\n";
     }
     var_dump($sign);
 }
示例#6
0
 /**
  * 编辑用户信息
  * @return [type] [description]
  */
 public function editData()
 {
     parent::require_login();
     $params = parent::get_params('POST', array("nickname", "name", "email", "cellphone", "alipay", "type"));
     if (empty($params)) {
         return;
     }
     extract($params);
     $id = $this->input->post("id");
     /*
     $teacher = !isset($_POST['teacher']) ? false : true;
     if(isset($_POST['teacher'])){
         $params['teacher'] = 1;
     }else{
         $params['teacher'] = 0;
     }
     */
     $edit_gold_coin = $this->input->post('edit_gold_coin');
     $edit_silver_coin = $this->input->post('edit_silver_coin');
     $edit_Integral = $this->input->post('edit_Integral');
     if ($edit_gold_coin) {
         ModelFactory::User()->coin($id, $edit_gold_coin, $edit_gold_coin > 0, 'gold_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_ADMIN);
     }
     if ($edit_silver_coin) {
         ModelFactory::User()->coin($id, $edit_silver_coin, $edit_silver_coin > 0, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_ADMIN);
     }
     if ($edit_Integral) {
         ModelFactory::User()->coin($id, $edit_Integral, $edit_Integral > 0, 'Integral', CONSTFILE::CHANGE_LOG_COUNT_TYPE_ADMIN);
     }
     $type = $this->input->post('type');
     $do_task = ModelFactory::Usertask()->get_count(['user_id' => $id, 'task_id' => CONSTFILE::USER_TASK_AUDIT_GOD_OK]);
     if ($type == 1 && !$do_task) {
         $user_data = ModelFactory::User()->get_user($id);
         if ($user_data['parent_id']) {
             $parent_user_data = ModelFactory::User()->get_user($user_data['parent_id']);
             if ($parent_user_data['parent_id'] != $id && !$do_task) {
                 ModelFactory::Usertask()->create(['user_id' => $id, 'created_at' => time(), 'task_id' => CONSTFILE::USER_TASK_AUDIT_GOD_OK]);
                 ModelFactory::User()->coin($user_data['parent_id'], 20, true, 'prestige', CONSTFILE::CHANGE_LOG_COUNT_TYPE_AUDIT_GOD_OK);
             }
         }
     }
     $password = $this->input->post("password");
     if ($password != "") {
         $userdata = $this->user_model->get(array("id" => $id));
         $params['pwd'] = md5($password . $userdata['salt']);
     }
     if ($this->user_model->edit($id, $params)) {
         $this->finish(true);
     } else {
         $this->finish(false, "无法修改用户资料");
     }
 }
示例#7
0
 public function up_problem()
 {
     $up_down_type = false;
     $temp = array();
     parent::require_login();
     $params = $this->get_params('POST', array('problem_id'));
     extract($params);
     $return_data = ModelFactory::Problem()->get_problem($problem_id);
     $up_users = json_decode($return_data[0]['up_users']);
     if ($return_data && $return_data[0]['up_count'] >= 20 && $return_data[0]['is_prestige'] != 1) {
         $god_level = ModelFactory::User()->get_god_level($return_data[0]['answer_id']);
         $cg_value = 0;
         if ($god_level >= 1 && $god_level <= 2) {
             $cg_value = 5;
         }
         if ($god_level <= 7 && $god_level >= 3) {
             $cg_value = 8;
         }
         if ($god_level <= 10 && $god_level >= 8) {
             $cg_value = 15;
         }
         if ($cg_value) {
             try {
                 ModelFactory::Usertask()->begin();
                 $r2 = ModelFactory::Problem()->edit($problem_id, ['is_prestige' => 1]);
                 if ($r2) {
                     ModelFactory::User()->coin($return_data[0]['answer_id'], $cg_value, true, 'prestige', CONSTFILE::CHANGE_LOG_COUNT_TYPE_ZAN);
                     ModelFactory::Usertask()->commit();
                 } else {
                     ModelFactory::Usertask()->rollback();
                 }
             } catch (Exception $e) {
                 ModelFactory::Usertask()->rollback();
             }
         }
     }
     foreach ($up_users as $key => $value) {
         if ($value->id != $this->me['id']) {
             array_push($temp, array("id" => $value->id));
         } else {
             $up_down_type = true;
         }
     }
     $up_users = $temp;
     if ($up_down_type == true) {
         //取消点赞
         if ($this->problem_model->up(array("id" => $problem_id, "up_count" => $return_data[0]["up_count"] - 1, "hot" => $return_data[0]["hot"] - 5, "up_users" => json_encode($up_users)))) {
             // 积分需求
             ModelFactory::User()->Integral($this->me['id'], CONSTFILE::USER_ACTION_ZAN_INTEGRAL_VALUE, false, 'Integral', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_ZAN);
             ModelFactory::User()->coin($this->me['id'], CONSTFILE::USER_ACTION_ZAN_SILVER_VALUE, false, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_ZAN);
             $this->finish(true, "", "1");
         } else {
             $this->finish(false, "未知的网络原因导致操作失败");
         }
     } else {
         array_push($up_users, array("id" => $this->me['id']));
         if ($this->problem_model->up(array("id" => $problem_id, "up_count" => $return_data[0]["up_count"] + 1, "hot" => $return_data[0]["hot"] + 5, "up_users" => json_encode($up_users)))) {
             ModelFactory::User()->coin($this->me['id'], CONSTFILE::USER_ACTION_ZAN_SILVER_VALUE, true, 'silver_coin', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_ZAN);
             ModelFactory::User()->Integral($this->me['id'], CONSTFILE::USER_ACTION_ZAN_INTEGRAL_VALUE, true, 'Integral', CONSTFILE::CHANGE_LOG_COUNT_TYPE_CLICK_ZAN);
             $this->finish(true, "", "0");
         } else {
             $this->finish(false, "未知的网络原因导致操作失败");
         }
     }
 }