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