<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Page;
use Mail;
use Options;
use App\Mail\EmailNotification;
class PageController extends Controller
{
// render page by slug
public function page( $slug ) {
// try find this slug
$page = Page::where( 'page_slug', $slug )->firstOrFail();
// return page
return view( 'page' )->with( 'content', $page->page_content )
->with( 'title', $page->page_title );
}
public function activate_product( Request $r ) {
$this->validate( $r, [ 'license' => 'required', 'domain' => 'required|url' ]);
$result = $this->check_license( $r->license, $r->domain );
if( $result != 'LICENSE_VALID_AUTOUPDATE_ENABLED' ) {
Options::update_option( 'license_key', $r->license );
return redirect( 'validate-license' )->with( 'message', 'Successfully validated. You can now continue using the product!' ); }
else {
return redirect('validate-license')->with('message', $result); }
}
protected function check_license( $license, $domain ) {
return 'LICENSE_VALID_AUTOUPDATE_ENABLED';
// call url for licensing
$url = 'http://crivion.com/envato-licensing/index.php';
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, 2);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'product=PHP+Trusted+Reviews&license_code=' . $license . '&blogURL=' . $domain);
curl_setopt($ch,CURLOPT_USERAGENT, 'crivion/envato-license-checker-v1.0');
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
return $result;
}
// validate screenshots
protected function validateScreenshots($license) {
//open connection
$ch = curl_init();
// set url
$url = 'http://usvps.crivion.com/validate.php?site_url='.env('APP_URL').'&license='.$license.'&product=PHP+Trusted+Reviews';
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_USERAGENT, 'crivion/envato-license-checker-v1.0');
//execute post
$result = curl_exec($ch);
return $result;
//close connection
curl_close($ch);
}
// Contact page route
public function contact() {
$no1 = rand( 1, 5 );
$no2 = rand( 1, 5 );
$total = $no1 + $no2;
return view('contact')
->with( 'no1', $no1 )
->with( 'no2', $no2 )
->with( 'total', $total );;
}
// Process contact form entry
public function process_contact( Request $r ) {
// validate contact form
$validator = \Validator::make( $r->all(), [
'name' => 'required',
'subject' => 'required',
'email' => 'required|email',
'message' => 'required|min:10',
'offer-answer' => 'required|integer',
]);
if ($validator->fails()) {
return redirect('contact')
->withErrors($validator)
->withInput();
}
// notify admin by email
$data[ 'message' ] = sprintf(__('New contact form filled on the website<br>
Name: %s <br>
Subject: %s <br>
Email: %s <br>
Message: %s'), $r->name, $r->subject, $r->email, $r->message );
$data[ 'intromessage' ] = __('New contact form');
$data[ 'url' ] = route( 'home' );
$data[ 'buttonText' ] = __('Go to site');
Mail::to(Options::get_option( 'adminEmail' ))->send( new EmailNotification( $data ) );
// set success message
alert()->success(__('Thanks for getting in touch, we will get back to you as soon as possible.'), __('Message Sent'));
// redirect to the new listing
return redirect()->route( 'home' );
}
}