PTEST ===== Рабочая версия скрипта развернута здесь: Задание ------- ###Написать Доску объявлений Доска объявлений предоставляет возможность пользователям сайта оставлять сообщения на сайте. Все данные введенные пользователем сохраняются в БД MySQL, так же в базе данных сохраняются данные о IP пользователя и его браузере. Форма добавления записи на доску объявлений должна иметь следующие поля: * User Name (цифры и буквы латинского алфавита) – обязательное поле * E-mail (формат email) — обязательное поле * Homepage (формат url) – необязательное поле * CAPTCHA (цифры и буквы латинского алфавита) – изображение и обязательное поле (http://ru.wikipedia.org/wiki/CAPTCHA) * Text (непосредственно сам текст сообщения, HTML тэги недопустимы) – обязательное поле Сообщения должны выводится в виде таблицы, с возможностью сортировки по следующим полям: User Name, e-mail, и дата добавления (как в порядке убывания, так и в обратном). Сообщения должны разбиваться на страницы по 25 сообщений на каждой. Приветствуется создания простейшего дизайна с использованием CSS. Развертывание ------------- Скачать архив Настроить любимый веб-сервер на папку `public`. Мой конфиг для nginx ``` server { server_name ptest.i2g.ru; root /mnt/160/sites/ptest.i2g/public; location / { try_files $uri /index.php?$query_string; } location ~ ^/index\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(|/.*)$; include fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_intercept_errors on; # PHP 5 socket location. fastcgi_pass unix:/var/run/php5-fpm.sock; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } } ``` ###MySQL/MariaDB 1. Импортировать `dump.sql` в базу данных. 2. Установить параметры в файле `src/start.php` ### Composer Чтобы скрипт заработал нужно создать автозарузчик классов при помощи [Composer](https://getcomposer.org/download/ "Загрузка пакетного менеджера для PHP-библиотек Composer") ``` composer install ``` Впринципе после этого приложение должно заработать. ### По желанию Для генерации CSS, js и прочей рутины я использую Grunt. Чтобы его установить нужны следующие команды ``` cd grunt npm install cd css git clone https://github.com/IgorVBelousov/ShortCSS.git git clone https://mygit.i2g.ru/normalize/ ```