106 строки
3.7 KiB
Markdown
106 строки
3.7 KiB
Markdown
PTEST
|
|
=====
|
|
|
|
Рабочая версия скрипта развернута здесь:
|
|
<http://ptest.i2g.ru/>
|
|
|
|
Задание
|
|
-------
|
|
|
|
###Написать Доску объявлений
|
|
|
|
Доска объявлений предоставляет возможность пользователям сайта оставлять
|
|
сообщения на сайте.
|
|
|
|
Все данные введенные пользователем сохраняются в БД 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/ptest/snapshot/ptest-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/
|
|
```
|
|
|