public function executeTo(sfWebRequest $request) { $this->form = new sfForm(); if ($request->isMethod('post')) { if ($this->validate($request->getParameter('to_address'), '目的地')) { $b = new sfWebBrowser(); $b->get(sfConfig::get('sf_google_geo_url'), array('output' => 'xml', 'sensor' => 'false', 'key' => sfConfig::get('sf_google_key'), 'q' => $request->getParameter('to_address'))); $xml = new SimpleXMLElement($b->getResponseText()); if ($this->geoCodeValidate($xml)) { $this->viewList($request, $b, "toConfirm"); } } } else { if ($request->getParameter('lat') != "" && $request->getParameter('lon') != "") { $lon = GpsConverter::dmsToDegree($this->getRequestParameter('lon')); $lat = GpsConverter::dmsToDegree($this->getRequestParameter('lat')); $b = new sfWebBrowser(); $b->get(sfConfig::get('sf_google_geo_url'), array('output' => 'xml', 'sensor' => 'false', 'key' => sfConfig::get('sf_google_key'), 'll' => $lat . ',' . $lon)); $this->viewList($request, $b, "toConfirm"); } } }
public function executeTo(sfWebRequest $request) { $this->form = new sfForm(); if ($request->isMethod('post')) { if ($request->getParameter('to_address') == "") { $this->form->getErrorSchema()->addError(new sfValidatorError(new sfValidatorPass(), $this->from_error)); } else { $b = new sfWebBrowser(); $b->get(sfConfig::get('sf_google_geo_url'), array('output' => 'xml', 'sensor' => 'false', 'key' => sfConfig::get('sf_google_key'), 'q' => $request->getParameter('to_address'))); $this->viewList($request, $b, "toConfirm"); return sfView::SUCCESS; } } else { if ($request->getParameter('lat') != "" && $request->getParameter('lon') != "") { $lon = GpsConverter::dmsToDegree($this->getRequestParameter('lon')); $lat = GpsConverter::dmsToDegree($this->getRequestParameter('lat')); $b = new sfWebBrowser(); $b->get(sfConfig::get('sf_google_geo_url'), array('output' => 'xml', 'sensor' => 'false', 'key' => sfConfig::get('sf_google_key'), 'll' => $lat . ',' . $lon)); $this->viewList($request, $b, "toConfirm"); return sfView::SUCCESS; } } }