big5_gb2312() public method

public big5_gb2312 ( $str )
 public function submit()
 {
     $post_message = \Input::get('message');
     $mode = (int) \Input::get('mode');
     $recaptcha = \Input::get('recaptcha');
     $response = ['state' => 'deny'];
     $recaptcha_check = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . \Configer::get('recaptcha_secret') . '&response=' . $recaptcha, false, stream_context_create(['ssl' => ['verify_peer' => false, 'verify_peer_name' => false]]));
     $recaptcha_check = json_decode($recaptcha_check, true);
     if (@$recaptcha_check['success']) {
         if (mb_strlen($post_message, 'utf-8') > 1024) {
             $post_message = mb_substr($post_message, 0, 1024, 'utf-8');
         }
         $check = \DB::table('post')->where('post_message', $post_message)->where('post_type', $mode)->where('insert_time', '>', time() - 3600)->first();
         if (count($check)) {
             $response = ['state' => 'success', 'redirct' => '/' . $check->post_key];
         } else {
             $post_key = $this->base62(strrev(time())) . $this->randString(3);
             $post_state = 0;
             $post_type = 1;
             $post_url = null;
             $insert_time = time();
             $last = \DB::table('post')->where('post_state', '1')->where('post_type', $mode)->orderBy('id', 'desc')->first();
             if (count($last) > 0) {
                 $query = 'UPDATE post SET post_state = 8 WHERE id < ' . $last->id . ' AND post_state = 0';
                 \DB::update(\DB::raw($query));
             }
             @($posts = \DB::table('post')->where('post_state', 0)->count());
             if (count($last) > 0 && time() - $last->publish_time >= \Configer::get('publish_frequency') && $posts == 0) {
                 $publish_time = time();
             } else {
                 $publish_time = time() + (\Configer::get('publish_frequency') - time() % \Configer::get('publish_frequency')) + $posts * \Configer::get('publish_frequency');
             }
             if ($mode == 3) {
                 $post_type = 3;
             }
             if (strlen($this->searchUrl($post_message))) {
                 $post_type = 2;
                 $post_url = $this->searchUrl($post_message);
             } else {
                 $post_url = '0';
             }
             if (\Configer::get('log_guest_ip') == "on") {
                 $post_user_ip = $this->getUserIP();
                 if (\Configer::get('encrypt_guest_ip') == "on") {
                     $post_user_ip = md5($post_user_ip);
                 }
                 $check = \DB::table('block_guest')->where('ip', $post_user_ip)->first();
                 if (count($check)) {
                     $post_state = 5;
                 }
             } else {
                 $post_user_ip = '0';
             }
             $block_keyword = \DB::table('block_keyword')->get();
             if (count($block_keyword)) {
                 foreach ($block_keyword as $item) {
                     if (!empty($item->keyword)) {
                         if (strpos($post_message, $item->keyword) !== false) {
                             $post_state = 5;
                         }
                     }
                 }
                 if (\Configer::get('advance_block_mode') == 'on') {
                     $covert = new utf8_chinese_str();
                     $pinyin = \App::make('pinyin');
                     $gb_post_message = $covert->big5_gb2312($post_message);
                     $pinyin_post_message = $pinyin->trans($gb_post_message, ['delimiter' => '-', 'accent' => false, 'only_chinese' => true]);
                     foreach ($block_keyword as $item) {
                         $gb_keyword = $covert->big5_gb2312($item->keyword);
                         $pinyin_keyword = $pinyin->trans($gb_keyword, ['delimiter' => '-', 'accent' => false, 'only_chinese' => true]);
                         if (!empty($pinyin_post_message) && !empty($pinyin_keyword)) {
                             if (strpos($pinyin_post_message, $pinyin_keyword) !== false) {
                                 $post_state = 5;
                             }
                         }
                     }
                 }
             }
             $post = ['post_key' => $post_key, 'post_state' => $post_state, 'post_type' => $post_type, 'post_message' => $post_message, 'post_url' => $post_url, 'post_user_ip' => $post_user_ip, 'insert_time' => $insert_time, 'publish_time' => $publish_time, 'facebook_url' => '0'];
             if (\DB::table('post')->insert($post)) {
                 $response = ['state' => 'success', 'redirct' => '/' . $post_key];
             }
         }
     }
     echo json_encode($response);
 }