/** * API function for add new contact. * * @return multitype: */ public function postContact() { $data = post(); // Validator post params $valids = Validator::make($data, ['name' => 'required|min:4|max:32', 'phone' => 'required|numeric|min:1', 'address' => 'required', 'category_id' => 'required|numeric|min:1', 'lat' => 'required|regex:/^[+-]?\\d+\\.\\d+, ?[+-]?\\d+\\.\\d+$/', 'lng' => 'required|regex:/^[+-]?\\d+\\.\\d+, ?[+-]?\\d+\\.\\d+$/'], SNSContactsHelper::getMessage()); // Check exists error messages if ($valids->fails()) { return SNSContactsHelper::getErrorMsg($valids->messages()); } // Check location and insert to db $location = Location::addLocationByLatLng($data); // Get category name $category = Category::find($category_id); // Build full-text-search $fulltexts = array($name, $phone, $address, $location->province, $location->district, $location->ward, $category->name); if (isset($data['tags']) && !empty($data['tags'])) { $fulltexts = array_merge($fulltexts, array_splice(explode(',', $data['tags']), SNSC_TAGS_COUNT)); } $fulltext = SNSContactsHelper::buildFullTextSearch($fulltexts); return array(); }