* @link https://TheTempusProject.com * @license https://opensource.org/licenses/MIT [MIT LICENSE] */ namespace TheTempusProject\Controllers; use TheTempusProject\Houdini\Classes\Views; use TheTempusProject\Houdini\Classes\Issues; use TheTempusProject\Classes\Controller; use TheTempusProject\Classes\Forms; use TheTempusProject\Bedrock\Functions\Check; use TheTempusProject\Bedrock\Functions\Input; use TheTempusProject\Bedrock\Functions\Session; use TheTempusProject\Hermes\Functions\Redirect; use TheTempusProject\Models\Contact as ContactModel; use TheTempusProject\Plugins\Turnstile; class Contact extends Controller { protected static $contact; public function index() { self::$contact = new ContactModel; self::$title = 'Contact - {SITENAME}'; self::$pageDescription = 'At {SITENAME}, we value our users\' input. You can provide any contact or suggestions using this form.'; $turnstile = ''; if ( class_exists( 'TheTempusProject\Plugins\Turnstile' ) ) { $turnstile = new Turnstile; if ( ! $turnstile->checkEnabled() ) { Components::set( 'TURNSTILE_WIDGET', '' ); $turnstile = ''; } } else { Components::set( 'TURNSTILE_WIDGET', '' ); } if ( ! Input::exists() ) { return Views::view( 'contact.create' ); } if ( ! Forms::check( 'contact' ) ) { Issues::add( 'error', [ 'There was an error with your form, please check your submission and try again.' => Check::userErrors() ] ); return Views::view( 'contact.create' ); } if ( ! empty( $turnstile ) ) { if ( empty( $turnstile->verify() ) ) { return Views::view( 'contact.create' ); } } $result = self::$contact->create( Input::post( 'name' ), Input::post( 'contactEmail' ), Input::post( 'entry' ) ); if ( $result ) { Session::flash( 'success', 'Thank you! Your contact has been received.' ); Redirect::to( 'home/index' ); } else { Issues::add( 'error', [ 'There was an error with your form, please check your submission and try again.' => Check::userErrors() ] ); } } }