public function successPaymentAction(Request $request) { $gbl_email_support = $this->container->getParameter('gbl_email_support'); $raw_post_data = file_get_contents('php://input'); $raw_post_array = explode('&', $raw_post_data); $myPost = array(); foreach ($raw_post_array as $keyval) { $keyval = explode('=', $keyval); if (count($keyval) == 2) { $myPost[$keyval[0]] = urldecode($keyval[1]); } } // read the post from PayPal system and add 'cmd' $req = 'cmd=_notify-validate'; if (function_exists('get_magic_quotes_gpc')) { $get_magic_quotes_exists = true; } foreach ($myPost as $key => $value) { if ($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1) { $value = urlencode(stripslashes($value)); } else { $value = urlencode($value); } $req .= "&{$key}={$value}"; } // STEP 2: Post IPN data back to paypal to validate $ch = curl_init('https://www.sandbox.paypal.com/cgi-bin/webscr'); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $req); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close')); if (!($res = curl_exec($ch))) { // error_log("Got " . curl_error($ch) . " when processing IPN data"); curl_close($ch); exit; } curl_close($ch); // STEP 3: Inspect IPN validation result and act accordingly if (strcmp($res, "VERIFIED") == 0) { $session = $this->getRequest()->getSession(); $firstname = $session->get('firstname'); $lastname = $session->get('lastname'); $email = $session->get('email'); $password = $session->get('password'); $phone = $session->get('phone'); $state = $session->get('state'); $address = $session->get('address'); $address2 = $session->get('address2'); $city = $session->get('city'); $fax = $session->get('fax'); $business = $session->get('business'); $overview = $session->get('overview'); $twitter = $session->get('twitter'); $google = $session->get('google'); $linkedin = $session->get('linkedin'); $video = $session->get('video'); $id = $session->get('id'); $planid = $session->get('planid'); $logo = $session->get('logo'); $file = $session->get('file'); $facebook = $session->get('facebook'); $pincode = $session->get('pincode'); $country = 'US'; // set country USA $type = 2; $status = 1; $realtor = new User(); $realtor->setFirstName($firstname); $realtor->setLastName($lastname); $realtor->setPassword(md5($password)); $realtor->setEmail($email); $realtor->setPhone($phone); $realtor->setState($state); $realtor->setAddress($address); $realtor->setAddress2($address2); $realtor->setCity($city); $realtor->setCountry($country); $realtor->setType($type); $realtor->setStatus($status); $realtor->setPinCode($pincode); $realtor->setFax($fax); $realtor->setBusinessName($business); $realtor->setOverview($overview); $realtor->setPlanId($planid); if (isset($logo) && $logo != "") { $realtor->setLogo($logo); } else { $realtor->setLogo('company.jpeg'); } $realtor->setTwitter($twitter); $realtor->setFacebook($facebook); $realtor->setGoogle($google); $realtor->setLinkedin($linkedin); $realtor->setVideo($video); if (isset($file) && $file != "") { $realtor->setImage($file); } else { $realtor->setImage('default_user_image.jpeg'); } $em = $this->getDoctrine()->getEntityManager(); $em->persist($realtor); $em->flush(); $reviewerId = $realtor->getId(); $website_url = $this->container->getParameter('website_url'); //get website url $confirmationLink = $website_url . "/confirmed/registration/" . $reviewerId; //registration link $message = \Swift_Message::newInstance()->setSubject('Registration')->setFrom($gbl_email_support)->setTo($email)->setBody($this->renderView('RARWebBundle:Email:registration.txt.twig', array('firstname' => $firstname, 'lastname' => $lastname, 'Password' => $password, 'email' => $email, 'confirm'))); $this->get('mailer')->send($message); mail($to, $subject, $txt, $headers); //send mail $realtorId = $realtor->getId(); $item_name = $_POST['item_name']; $item_number = $_POST['item_number']; $payment_status = $_POST['payment_status']; $payment_amount = $_POST['mc_gross']; $payment_currency = $_POST['mc_currency']; $txn_id = $_POST['txn_id']; $receiver_email = $_POST['receiver_email']; $payer_email = $_POST['payer_email']; $address = $_POST['address_street']; $zipcode = $_POST['address_zip']; $state = $_POST['address_state']; $city = $_POST['address_city']; $country = $_POST['address_country']; $datefields = $_POST["payment_date"]; $time = $datefields[0]; if ($item_name == 'Half-Yearly') { $recuringPeriod = 2; } elseif ($item_name == 'Yearly') { $recuringPeriod = 3; } elseif ($item_name == 'Monthly') { $recuringPeriod = 1; } $payment = new Payment(); $payment->setAmount($payment_amount); $payment->setTransactionId($txn_id); $payment->setPlanId($planid); $payment->setUserId($realtorId); $payment->setRecuringPeriod($recuringPeriod); //$payment->setCreationTimeStamp($datefields); $em->persist($payment); $em->flush(); $message = \Swift_Message::newInstance()->setSubject('Payment')->setFrom($gbl_email_support)->setTo($email)->setBody($this->renderView('RARWebBundle:Email:payment.txt.twig', array('firstname' => $firstname, 'lastname' => $lastname, 'amount' => $payment_amount, 'transactionId' => $txn_id, 'email' => $email, 'datefields' => $datefields))); $this->get('mailer')->send($message); /*$date=date("Y/m/d."); $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= 'From: <*****@*****.**>' . "\r\n"; $to = $payer_email; $subject = "Payment detail/reviewarealtor.com"; $txt='Hello '. $firstname.' '. $lastname.',<br><br>You have selected the premium plan on reviewarealtor.com on '.$datefields.'<br><br>Your transaction Details are as under: <br>Amount: <b>'.'$'.$payment_amount.'</b><br>TransactionId: <b>'. $txn_id.'</b>'; mail($to,$subject,$txt,$headers); //send mail*/ } return $this->render('RARWebBundle:Page:registerus.html.twig'); }
public function importRealtorsAction(Request $request) { $session = $this->getRequest()->getSession(); $loggedInUserId = $session->get('userId'); $currentTimestamp = new DateTime(); if ($request->getMethod() == 'POST') { //echo $_FILES['file']['type'];die(); /*if (!($_FILES['file']['type'] == "text/comma-separated-values") && !($_FILES['file']['type'] == "application/vnd.ms-excel")) { $error ='Wrong file selected'; return $this->render('RARAdminBundle:Realtor:importRealtors.html.twig',array('error'=>$error)); }*/ //else // { if (is_uploaded_file($_FILES['file']['tmp_name'])) { //readfile($_FILES['file']['tmp_name']); } $handle = fopen($_FILES['file']['tmp_name'], "r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $firstName = $data[0]; $lastName = $data[1]; $email = $data[2]; $password = $data[3]; $phone = $data[4]; $address = $data[5]; $address2 = $data[6]; $city = $data[7]; $state = $data[8]; $country = $data[9]; $pincode = $data[10]; $fax = $data[11]; $business = $data[12]; $overview = $data[13]; $twitter = $data[14]; $google = $data[15]; $linkedin = $data[16]; $video = $data[17]; $facebook = $data[18]; $realtor = new User(); $realtor->setFirstName($firstName); $realtor->setLastName($lastName); $realtor->setEmail($email); $realtor->setPassword(md5($password)); $realtor->setPhone($phone); $realtor->setAddress($address); $realtor->setAddress2($address2); $realtor->setCity($city); $realtor->setState($state); $realtor->setCountry($country); $realtor->setPinCode($pincode); $realtor->setFax($fax); $realtor->setBusinessName($business); $realtor->setOverview($overview); $realtor->setTwitter($twitter); $realtor->setGoogle($google); $realtor->setLinkedin($linkedin); $realtor->setFacebook($facebook); $realtor->setVideo($video); $realtor->setType(2); $realtor->setPlanId(1); $realtor->setStatus(1); $realtor->setCreatorId($loggedInUserId); $realtor->setModifierId($loggedInUserId); $realtor->setCreationTimestamp($currentTimestamp); $realtor->setModificationTimestamp($currentTimestamp); $em = $this->getDoctrine()->getEntityManager(); $em->persist($realtor); $em->flush(); } fclose($handle); //print "Import done"; //} } return $this->render('RARAdminBundle:Realtor:importRealtors.html.twig'); }
public function importRealtorsAction(Request $request) { ini_set('max_execution_time', 10000000); $session = $this->getRequest()->getSession(); $loggedInUserId = $session->get('userId'); $currentTimestamp = new DateTime(); if ($request->getMethod() == 'POST') { //echo $_FILES['file']['type'];die(); /*if (!($_FILES['file']['type'] == "text/comma-separated-values") && !($_FILES['file']['type'] == "application/vnd.ms-excel")) { $error ='Wrong file selected'; return $this->render('RARAdminBundle:Realtor:importRealtors.html.twig',array('error'=>$error)); } else {*/ //echo"<pre>";print_r($_FILES);die; if (is_uploaded_file($_FILES['file']['tmp_name'])) { //readfile($_FILES['file']['tmp_name']); } $handle = fopen($_FILES['file']['tmp_name'], "r"); /*$i=0; while (($data = fgetcsv($handle, 10000000, ";")) !== FALSE) { $arrFile[] = $data; $i++; if($i>50) break; } echo "<PRE>";print_r($arrFile);die;*/ $stateCode = ''; $cityName = ''; $companyName = ''; $phone = ''; $businessUrl = ''; $address = ''; $zipCode = ''; $stateName = ''; $category1 = ''; $category2 = ''; while (($data = fgetcsv($handle, 10000000, ";")) !== FALSE) { $data = explode(';', $data[0]); if (isset($data[0])) { $stateCode = ltrim($data[0]); } if (isset($data[1])) { $cityName = ltrim($data[1]); } if (isset($data[2])) { $companyName = ltrim($data[2]); } if (isset($data[3])) { $phone = ltrim($data[3]); } if (isset($data[4])) { $businessUrl = ltrim($data[4]); } if (isset($data[5])) { $address = ltrim($data[5]); } if (isset($data[6])) { $zipCode = ltrim($data[6]); } if (isset($data[7])) { $stateName = ltrim($data[7]); } if (isset($data[8])) { $category1 = ltrim($data[8]); } if (isset($data[9])) { $category2 = ltrim($data[9]); } $em = $this->getDoctrine()->getEntityManager(); $city = $em->createQueryBuilder()->select('City')->from('RARAdminBundle:City', 'City')->where('City.city_name = :cityName')->setParameter('cityName', $cityName)->getQuery()->getArrayResult(); //echo $cityName."<PRE>";print_r($data);die; $cityId = $city[0]['id']; $country = 'US'; $arrCat = explode(',,,,,', $category2); $category2 = $arrCat[0]; $realtor = new User(); $realtor->setState($stateCode); $realtor->setCity($cityId); $realtor->setBusinessName($companyName); $realtor->setPhone($phone); $realtor->setBusinessUrl($businessUrl); $realtor->setAddress($address); $realtor->setPinCode($zipCode); //$realtor->setStateName($stateName); $realtor->setCountry($country); $realtor->setCategory1($category1); $realtor->setCategory2($category2); $realtor->setImage('default_user_image.jpeg'); $realtor->setLogo('company.jpeg'); $realtor->setType(2); $realtor->setPlanId(1); $realtor->setStatus(1); $realtor->setCreatorId($loggedInUserId); $realtor->setModifierId($loggedInUserId); $realtor->setCreationTimestamp($currentTimestamp); $realtor->setModificationTimestamp($currentTimestamp); $em = $this->getDoctrine()->getEntityManager(); $em->persist($realtor); $em->flush(); } fclose($handle); //} } return $this->render('RARAdminBundle:Realtor:importRealtors.html.twig'); }