. * */ namespace Vvveb\Plugins\ContactForm\Controller; use function Vvveb\__; use Vvveb\Controller\Crud; use function Vvveb\humanReadable; use function Vvveb\model; use Vvveb\System\CacheManager; class Message extends Crud { protected $type = 'message'; protected $modelName = 'Plugins\ContactForm\Message'; protected $module = 'plugins/contact-form'; function index() { parent::index(); if ($this->view->message) { $message = &$this->view->message; $data = json_decode($message['data'] ?? '{}', true); $meta = json_decode($message['meta'] ?? '{}', true); if (is_array($data)) { foreach ($data as $key => $value) { unset($data[$key]); if (in_array($key, ['csrf'])) { continue; } $data[__(humanReadable($key))] = $value; } foreach ($meta as $key => $value) { unset($meta[$key]); $meta[__(humanReadable(strtolower($key)))] = $value; } $message['message'] = $data; $message['meta'] = $meta; if ($message['status'] == 0) { $messageSql = model($this->modelName); $messageSql->edit(['message' => ['status' => 1], 'message_id' => $message['message_id']]); CacheManager :: clearObjectCache('component', 'notifications'); } } } else { $this->notFound(); } } }