php
Перейти к файлу
2017-06-07 12:36:50 +03:00
frm final 2017-01-26 06:45:35 +03:00
grunt mobile fix 2017-01-26 07:06:32 +03:00
public mobile fix 2017-01-26 07:06:32 +03:00
src final 2017-01-26 06:45:35 +03:00
.gitignore 02:47 2017-01-23 02:47:24 +03:00
.gitmodules First 2017-01-23 00:22:31 +03:00
composer.json 02:47 2017-01-23 02:47:24 +03:00
dump.sql final 2017-01-26 06:45:35 +03:00
README.md fix for Gogs 2017-06-07 12:36:50 +03:00

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

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/