Файл: index.php
Строк: 55
<?php
use NeironKernelClassLoader;
use NeironKernelNeiron;
require_once __DIR__ .'/Neiron/Kernel/ClassLoader.php';
(new ClassLoader(__DIR__ .'/'))->register();
$app = new Neiron();
// Корневая директория
$app['dir.root'] = __DIR__ .'/';
// Получаем данные из базы
$content = file_get_contents($app['dir.root'] . 'chat.data');
// Если пусто то передаем в переменную пустой массив если нет серилизуем данные в массив
if ($content === '') {
$app['chat.data'] = array();
} else {
$app['chat.data'] = unserialize($content);
}
// Обработчик при заходе на главную страницу
$app->get('index', '/', function () use ($app) {
// Если сообщений нет то выводим уведомление а если есть выводим все
if (empty($app['chat.data'])) {
$app['response']->setContent('Сообщений нет :( Будь первым! <hr>');
} else {
foreach ($app['chat.data'] as $msg) {
$app['response']->setContent('#'. $msg['id'] .' От: '. $msg['user'] .' </br> '. $msg['text'] .'<hr>');
}
}
return '<form action="/" method="post">'
. 'Имя:</br> <input type="text" name="user"></br></br> '
. 'Сообщение:</br> <textarea name="text"></textarea></br></br>'
. '<input type="submit" value="Тестировать!" name="run_test">'
. '</form>';
});
// Обработчик потс данных
$app->post('add.post', '/', function () use ($app) {
// Если был отправлен $_POST['test_run']
if ($app['request']->post('run_test') !== false) {
// Вот это лучше не читать %%%%
if (file_put_contents($app['dir.root'] . 'chat.data',
serialize(array_merge($app['chat.data'],
array(
array(
'id' => count($app['chat.data']) + 1,
'user' => $app['request']->post('user'),
'text' => $app['request']->post('text')
)
)
)
))) {
// Если все гуд отправляем уведомление и редиректим через две секунды на главную
$app['response']->headers('Refresh:', '2; url=/');
$app['response']->setContent('Сообщение успешно добавленно!!<br><br>'
. 'Перенаправляем на главную....');
return;
}
}
// Если все не гуд отправляем уведомление и редиректим через две секунды на главную
$app['response']->headers('Refresh:', '2; url=/');
$app['response']->setContent('Ошибка добавления сообщения!!<br><br>'
. 'Перенаправляем на главную....');
});
// ну поехали!
$app->run();