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'; }
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' => 'انتخاب دریافت کنندگان نظر سنجی']); }
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' => 'انتخاب دریافت کنندگان پرسشنامه']); }
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]); } }
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; }