Repository URL to install this package:
|
Version:
3.4.1 ▾
|
<?php
namespace Evsmash\Widgets\Http\Admin;
use Evsmash\Core\Http\Base;
use Evsmash\Core\Helpers\Redirect;
use Evsmash\Core\Input\Post;
use Evsmash\Core\Input\Route;
use Evsmash\Core\Services\Mail;
use Evsmash\Core\Simpy\Element;
use Evsmash\Core\System\Exception;
use Evsmash\Widgets\Form;
class Forms extends Base {
// index
public function index() {
// available
if(!cfg('evsmash-widgets-forms-save')) {
Exception::notexists('forms', 'index');
}
// elements
$elements = Form::params()->paginate(Route::limit(100));
// bar
$bar = [
'search' => true,
'summary' => $elements
];
// view
$this->viewTitle('Forms data');
$this->view(compact(['elements', 'bar']));
}
// answer
public function answer() {
// available
if(!cfg('evsmash-widgets-forms-answer')) {
Exception::notexists('forms', 'index');
}
// element
$element = Element::check(new Form);
// message
$message = '';
$message .= "\n\n\n---\n";
$message .= cfg('evsmash-widgets-forms-answer-footer')."\n\n";
// data
$data_raw = unserialize($element->data);
if(isset($data_raw[t('Message')])) {
$message .= "---\n";
$message .= $data_raw[t('Message')];
}
// assign
$element->message = $message;
// view
$this->view(compact(['element']));
}
// answer send
public function answerSend() {
// validate
Post::validate(['email' => 'req|email', 'message' => 'req|max:10000']);
// message
$message = nl2br(Post::get('message', 'cleanlines'));
// mail
$mail = new Mail;
$mail->title = 'Answer';
$mail->title_domain = true;
$mail->msg = $message;
$mail->send(Post::get('email'));
// redirect
Redirect::msg('Sent');
Redirect::to('/forms');
}
// delete
public function delete() {
Element::delete(new Form);
}
}