public function create_event($data)
 {
     $errors = $this->validate($data);
     if ($errors) {
         return ['errors' => $errors, 'data' => $data];
     }
     $info = $this->gm->geoPlaceInfo($data['place_id']);
     if (!$info) {
         $errors['place_id'] = sprintf(lang('invalid_field'), ucfirst(lang('place_id')));
         return ['errors' => $errors, 'data' => $data];
     } else {
         $data['place_info'] = json_encode(['name' => $info->result->name, 'address' => $info->result->formatted_address, 'icon' => $info->result->icon, 'phone' => $info->result->international_phone_number, 'website' => $info->result->website, 'rating' => $info->result->rating]);
         $data['lat'] = $info->result->geometry->location->lat;
         $data['lng'] = $info->result->geometry->location->lng;
     }
     $data['id'] = $this->add($data);
     $this->join_event($data['id'], $data['users_id']);
     return ['errors' => [], 'data' => $data];
 }