public function handle($headers, $body, $outputClass = null) { if ($outputClass !== null) { $this->getUnmarshaller()->setOutputClass($outputClass); } Logger::info('Handling callback'); Logger::trace('Headers: {0}', $headers); Logger::trace('Body: {0}', $body); if (!$this->isSignatureCheckDisabled()) { $securityHelper = new SecurityHelper($this->apiKey, $this->signatureKey, $this->partnerApiKey, $this->partnerSignatureKey); $signature = $securityHelper->getSignature($headers); //var_dump($headers); $securityHelper->checkSignature($signature, $body); } return $this->getUnmarshaller()->unmarshall($body); }
public function index() { SecurityHelper::isLogin(); $data = Input::all(); // VALIDACIONES $rules = array('name' => 'required', 'lastname' => 'required', 'email' => 'required|email', 'password' => 'required|min:8', 'file' => 'mimes:jpeg,bmp,png|max:1000|min:1'); $messages = array('required' => 'El campo :attribute debe ser completado.', 'email' => 'El mail es incorrecto.', 'min' => 'La clave debe tener al menos 8 caracteres.', 'mimes' => 'El archivo debe ser de un formato de imágen ( jpeg, bmp, png)', 'max' => 'La imágen no puede ser superior a 1Mega'); $validator = Validator::make($data, $rules, $messages); if ($validator->fails()) { $user = new User(); $user->setName = Input::get('name'); $user->setLastname = Input::get('lastname'); $user->setEmail = Input::get('email'); $user->setPassword = Crypt::encrypt(Input::get('password')); return Redirect::route('perfil_post', array('user' => $user))->withInput()->withErrors($validator); } // FIN VALIDACIONES // Controlo si subió o NO una imágen. if (Input::hasFile('file')) { $update_perfil = $this->_updatePerfil('with_new_image'); } else { $update_perfil = $this->_updatePerfil('no_image'); } // Controlo si pude hacer el update correctamente. if ($update_perfil) { $id = Auth::id(); $user = User::find($id); $image_name = $user->image; Session::put('image_user', $image_name); return Redirect::to('homepage')->with('success', 'Su perfil fue editado correctamente.'); } else { return Redirect::to('homepage')->with('error', 'No se pudo subir la imágen seleccionada.'); } }
public function call() { $queryString = !empty($this->getQuery()) ? http_build_query($this->getQuery()) : null; $targetUrl = $this->url . $this->getMethodPath() . ($queryString !== null ? '?' . $queryString : ''); Logger::trace('Call target URL: ' . $targetUrl); $bodyContent = $this->getBody() !== null ? $this->getRequestMarshaller()->marshall($this->getBody()) : null; Logger::trace('Call body: ' . $bodyContent); $securityHelper = new SecurityHelper($this->apiKey, $this->signatureKey, $this->partnerApiKey, $this->partnerSignatureKey); $signature = $securityHelper->calculateSignature($queryString, $bodyContent); Logger::trace('Signature: ' . $signature); $headers = $this->getHeaders($signature); Logger::trace('Headers: {0}', $headers); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $targetUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); if ($bodyContent !== null) { curl_setopt($ch, CURLOPT_POSTFIELDS, $bodyContent); } switch ($this->getHttpMethod()) { case self::HTTP_GET: curl_setopt($ch, CURLOPT_HTTPGET, true); break; case self::HTTP_POST: curl_setopt($ch, CURLOPT_POST, true); break; case self::HTTP_PUT: curl_setopt($ch, CURLOPT_PUT, true); break; case self::HTTP_DELETE: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); break; default: break; } Logger::trace("Calling {0} with http method {1}, body content: {2}", $targetUrl, $this->getHttpMethod(), $bodyContent); $response = curl_exec($ch); if ($response === false) { throw new Exception('Connection error: ' . curl_error($ch)); } $responseStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); $responseHeaderSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); curl_close($ch); Logger::trace("Response status: {0}, header size: {1}", $responseStatus, $responseHeaderSize); $responseHeader = trim(substr($response, 0, $responseHeaderSize)); $responseBody = trim(substr($response, $responseHeaderSize)); Logger::trace("Response header: {0}", $responseHeader); Logger::trace("Response body: {0}", $responseBody); if ($responseStatus != '200') { $this->setIsResponseSignatureCheckDisabled(true); $this->getResponseUnmarshaller()->setOutputClass(new ApiOperationException()); $this->getResponseUnmarshaller()->setOutputClassResolveFunction(array('Unmarshaller', 'ResolveExceptionClass')); $this->getResponseUnmarshaller()->setIsOutputAnArray(false); $this->getResponseUnmarshaller()->setPropertyClassResolveFunctions(array()); } if (!$this->isResponseSignatureCheckDisabled()) { $responseSignature = $securityHelper->getSignature($responseHeader); $securityHelper->checkSignature($responseSignature, $responseBody); } $output = $this->getResponseUnmarshaller()->unmarshall($responseBody); if ($output instanceof Exception) { throw $output; } return $output; }
public function toExport() { try { SecurityHelper::isLogin(); $data = Input::all(); // VALIDACION $messages = array('validate_file_cobranzas' => 'El archivo de cobranzas es incorrecto.', 'required' => 'El campo :attribute debe ser completado'); $rules = array('file' => array('validate_file_cobranzas', 'required')); $validator = Validator::make($data, $rules, $messages); if ($validator->fails()) { return Redirect::to('pmc_export_excel')->withErrors($validator); } // FIN DE VALIDACION $data_array = $this->_createArray(); $create_excel = $this->_createExcel($data_array); if ($create_excel != NULL) { $insert_file_db = $this->_insertFile($create_excel, 'cobranzas'); //$send_email = $this->_sendEmailExcelCobranzas($create_excel); if ($insert_file_db) { return Redirect::to('homepage')->with('success', 'El excel generado de cobranzas de Pagomiscuentas fue insertado en la base.'); } } else { return Redirect::to('homepage')->with('error', 'No se pudo generar el excel de cobranzas de Pagomiscuentas. . . .'); } } catch (Exception $e) { echo $e->getMessage(); } }