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); }
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, "未知的网络原因导致操作失败"); } } }