コード例 #1
0
 public function postIndex()
 {
     $myGender = Input::get("myGender");
     $gender = Input::get("gender");
     $ageFrom = Input::get("age_from");
     $ageTo = Input::get("age_to");
     $zipCode = Input::get("zipcode");
     $range = Input::get("range");
     $getLocation = new SearchController();
     $val = $getLocation->getLnt($zipCode);
     $lati = $val['lat'];
     $longi = $val['lng'];
     $distance = new Compatability();
     $users = $users = DB::table('users')->get();
     $result = array();
     $i = 0;
     foreach ($users as $user) {
         $newDistance = $distance->haversineGreatCircleDistance($lati, $longi, $user->latitude, $user->longitude);
         if ($newDistance <= $range && $user->age >= $ageFrom && $user->age <= $ageTo && $user->gender == $gender) {
             $geocodeFromLatLong = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?latlng=' . trim($user->latitude) . ',' . trim($user->longitude) . '&sensor=false');
             $output = json_decode($geocodeFromLatLong);
             $status = $output->status;
             $location = $status == "OK" ? $output->results[1]->formatted_address : '';
             $geocodeFromLatLong2 = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?latlng=' . trim($lati) . ',' . trim($longi) . '&sensor=false');
             $output2 = json_decode($geocodeFromLatLong);
             $status2 = $output->status;
             $location2 = $status == "OK" ? $output->results[1]->formatted_address : '';
             $result[$i] = array('username' => $user->username, 'age' => $user->age, 'firstName' => $user->firstName, 'lastName' => $user->lastName, 'photo' => $user->photo, 'location' => $location, 'location2' => $location2, 'gender' => $gender, 'ageFrom' => $ageFrom, 'ageTo' => $ageTo, 'range' => $range, 'lati' => $lati, 'longi' => $longi, 'gendr' => $gender);
             $i++;
         }
     }
     //dd($result);
     return View::make('search')->withusers($result);
     // dd($_POST);
     //return 'search';
 }
コード例 #2
0
ファイル: PollController.php プロジェクト: emadmrz/Hawk
 public function search(Poll $poll, Request $request, SearchController $searchController)
 {
     $results = $searchController->userProccess($request);
     $hasFilters = false;
     return view('store.poll.publish', compact('results', 'poll', 'hasFilters'))->with(['title' => 'انتخاب دریافت کنندگان نظر سنجی']);
 }
コード例 #3
0
 public function search(Questionnaire $questionnaire, Request $request, SearchController $searchController)
 {
     $results = $searchController->userProccess($request);
     $hasFilters = false;
     return view('store.questionnaire.publish', compact('results', 'questionnaire', 'hasFilters'))->with(['title' => 'انتخاب دریافت کنندگان پرسشنامه']);
 }
コード例 #4
0
 public function insert()
 {
     $allUser = User::all();
     $params = ['body' => []];
     for ($i = 0; $i < count($allUser); $i++) {
         SearchController::insertUser($allUser[$i]);
     }
     $allUser = Post::all();
     $params = ['body' => []];
     for ($i = 0; $i < count($allUser); $i++) {
         SearchController::insertPost($allUser[$i]);
     }
     $allUser = Board::all();
     $params = ['body' => []];
     for ($i = 0; $i < count($allUser); $i++) {
         SearchController::insertBoard($allUser[$i]);
     }
 }
コード例 #5
0
 public function getPost($post_id)
 {
     $client = new Client();
     $post = Post::getPostById($post_id);
     $index_name = Config::get('elasticsearch.index_name');
     $post_type = Config::get('elasticsearch.post_type');
     $params = ["index" => $index_name, "analyzer" => 'vi_analyzer', 'text' => $post["description"]];
     $tokens = $client->indices()->analyze($params)["tokens"];
     $search = new SearchController();
     $results = [];
     foreach ($tokens as $token) {
         $query = ["description" => $token["token"]];
         $results[] = $search->search($post_type, $query);
     }
     return $results;
 }