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.

Развертывание
-------------

Скачать архив <https://mygit.i2g.ru/biv/ptest/archive/master.zip>

Настроить любимый веб-сервер на папку `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/
```   
  