Site
Матеріал з USIC Wiki
(Перенаправлено з Usic org ua)
Сайт Студентського інтернет-центру написаний на PHP, з застосуванням MVC, код поділений на модулі, кожен з яких виконує лише окремо визначену функцію.
Зміст |
Автори
Розробка поточного сайту почалися з січня 2010 року і ведуться дотепер. Наразі розробкою сайту займаються:
Використані компоненти
- JS редактор[1]
- JS галерея[2]
- UMS utilities
Архітектура
Наразі найоптимальнішою для розробників є така структура:
- config
- core
- modules
- name_of_module
- views
- name_of_module
- templates
- default
- css
- images
- js
- default
- img
Як додати нову сторінку
Додавання через сайт буде доступне в наступному релізі
Як додати коментарі
Розглянемо на прикладі існуючого модуля news. Розглянемо частину коду, що відповідає за виведення всіх, або конкретної новини.
<?php //some code foreach($news as $item){ /*отримуємо кількість коментарів, виводимо новину */ // початок if(isset($_GET['id'])){ //якщо запит до конкретної новини require_once APP_PATH."/".MOD_PATH."comments/views/index.php"; // файл,що виводить коментарі require_once APP_PATH."/".MOD_PATH."comments/views/create.php"; //форма для додавання нових коментарів } // кінець.Cкопіюйте цих 4 рядочки у потрібний вам модуль. Ніяких додаткових правок не потрібно робити } //some code ?>
Тест-план
- робочі гіперпосилання: верхня панель, нижня панель (банери), бічна панель, посилання всередині статей, посилання на внутрішні сторінки (правильна відносна адреса, правильний префікс в URL)
- авторизація:
- коректна робота при спробі входу під неіснуючим користувачем, з неправильним паролем, пустими логіном/паролем
- можливість редагування тільки длягрупи site_mgrs
- управління статтями/елементами: додавання елементів (з нуля), видалення, редагування
- зовнішній вигляд: коректний HTML/CSS в різних браузерах (бажано на різних версіях), при масштабуванні, на екранах з різною роздільною здатністю
- коментування статтей:
- коректно відображаються довгі рядки коментарів
- стійкі до включення HTML-коду
- можливість редагувати коментарі
- можливість коментування анонімними користувачами
- профілі користувачів: коректно відображається інформація про користувача і його групи, вміст груп
- галерея:
- коректно працює при доданні великої кількості альбомів, фотографій в альбомі
- коректно працюють права доступу
- зображення масшабуються
- додаютья/видаляються групи в ACL
- з альбомів видаляються обкладинки
- коректно працює RSS
Бункер
Результати поточної розробки можна побачити в бункері[3], доступ має група developers
TODO
- кешування особистих даних користувачів
- завантаження графічних файлів в zip архіві в галерею
- редагування опису кожної світлини
- перенести частину функцій з /core/db.class.php в /core/core.php для логічного розподілу.
- автоматизація тестів
- оптимізація SQL запитів
