Разработка UCP для SAMP-Сервера. Часть 1. - Форум Cheat-Master.ru

Скидка на инвайт продавца 10дн
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
Форум » Программирование » PHP Програмированние » Разработка UCP для SAMP-Сервера. Часть 1. (Пишем суперкрутую UCP.)
Разработка UCP для SAMP-Сервера. Часть 1.
CrazyProgerДата: Пятница, 06.07.2018, 20:13 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 2
Статус: Offline
Всем привет.
Первый топик на форуме. И сразу немного полезностей.

Сама идея - написать универсальную UCP, которая будет легко интегрироваться к большинству серверов с минимальными правками.

В планах:
1. Основной функционал панели (новости, донат, профиль, и т.д.).
2. Лёгкий форум, без лишних наворотов.
3. Тут не знаю. Что-то, что Вы посчитаете нужным.

Итак, товарищи, приступим.

Структура и что используем.
Как "каркас" заюзаем фреймворк CodeIgniter. Почему его? Прост, гибок, имеет почти всё, что нам нужно, из коробки.
Плюсом, адекватная структура MVC.
В общем, один из идеальных кандидатов для тех, кто начинает с нуля.

Ну, а сейчас всё же начнём.

Для начала скачиваем архив фреймворка с официального сайта , это здесь. Нам нужна версия 3. Поэтому, скачиваем именно её. Там всё понятно.

Как скачали, помещаем его на локалку (локальный сервер). Кто не знает, что это - идём сюда, скачиваем, и устанавливаем. Далее - по подсказкам на сайте, все понятно.

После того, как Вы распаковали архив с фреймворком в директорию локального домена, то открываем браузер, и топаем по адресу этого самого локального домена. И видим такое чудо:



Это значит, что фреймворк работает, и мы можем продолжать .

Далее нужно всё правильно сконфигурировать.

Для начала идём в application/config и открываем своим любимым редактором файл confiig.php
.

И правим следующие строки:

Код
$config['base_url'] = 'вашлокальныйдомен';
Здесь мы даём фреймворку знать, какой домен мы используем. Это пригодится в дальнейшем. Более, нам в этом файле пока что ничего не нужно.

Следом из той же папки открываем файл autoload.php

В нём ищем строку:
Код
$autoload['libraries'] = array();


И модифицируем до вида:

Код
$autoload['libraries'] = array('session','database','email');


Следом ищем строку:
Код
$autoload['helper'] = array();


И приводим к виду:

Код
$autoload['helper'] = array('url','form');


Немного поясню, что мы тут сделали: загрузили библиотеки для работы с сессиями, базой данных и почтой, и подгрузили хелперы для форм и урлов.

Обновляем страницу, и видим следующее:


Это значит, что драйвер базы данных не смог подключиться к базе. Для того, что бы это исправить, в той же папке открываем файл database.php и правим строки:
Код

$db['default'] = array(
    'dsn'    => '',
    'hostname' => 'сервер базы данных.',
    'username' => 'пользователь',
    'password' => 'пароль',
    'database' => 'имя базы',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);


Важно! Подключаемся к базе данных сервера SA-MP!

Далее, после обновления страницы, снова увидим, что фреймворк приветствует нас.

На этом конфигурирование можно закончить. Пока что нам лезть туда не нужно.

Теперь нам нужно создать правила маршрутизации на серверном уровне.
Суть в том, что по дефолту CI имеет следующую структуру URL-ов:
вашсайт/index.php/модуль
Нам нужно убрать лишнее, поэтому создаем в корне сайта файл .htaccess и прописываем в него следующее содержимое:

Код

AddDefaultCharset UTF-8 # устанавливаем кодировку UTF-8
Options +FollowSymLinks # разрешаем символические ссылки
Options -Indexes # запрещаем выдавать содержимое пустых каталогов
DirectoryIndex index.php # устанавливаем индексный файл
#Далее устанавливаем правила маршрутизации
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt|assets|sitemap\.xml)
RewriteCond %{REQUEST_URI} !\.(css¦js¦jpg¦gif)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L,QSA]


Теперь мы избавились от ненужного хвоста, и получили чистый урд вида вашсайт/модуль.

Следующим шагом придумаем структуру УРЛов.
Далеко ходить не будем и сделаем примерно следующее


  • Корень сайта - выдаём страницу приветствия
  • /login -авторизация
  • /profile - профиль пользователя
  • /donate - страница донейшенов
  • /* - страница с любым адресом
  • /forum - список топиков форума
  • /forum/(:num) - любой топик форума


Возможно, далее что-то добавим, или изменим.

На данном этапе откланяюсь, предварительно подбив маленький итог, что сделано.
А сделано совсем чуть-чуть - фреймворк настроен на работу, и мы вполне можем приниматься за разработку нашей панельки.

Всем спасибо.

P.S. если эта затея Вам интересна и нужна, то буду продолжать. Если нет - значит, нет.
Последние товары с игрового магазина:
Найти еще что-нибудь в магазине:
imtДата: Пятница, 27.07.2018, 02:12 | Сообщение # 2
Новичок
Группа: Пользователи
Сообщений: 2
Статус: Offline
Цитата CrazyProger ()
CodeIgniter. Почему его? Прост, гибок

ахахах, смешно)
ps. проще с нуля написать ucp, а для форума использовать готовый движок)
Последние товары с игрового магазина:
Найти еще что-нибудь в магазине:
VersalskiДата: Среда, 01.08.2018, 02:46 | Сообщение # 3
Новичок
Группа: Пользователи
Сообщений: 16
Статус: Offline
Цитата imt ()
ахахах, смешно)
ps. проще с нуля написать ucp, а для форума использовать готовый движок)

Ну, это смотря какой сложности нужна UCP, там же админка может, другие навороты типа аукционов как на аризоне или отчётов как на адвансе, а на счёт форума однозначно согласен.

Добавлено (01.08.2018, 02:57)
---------------------------------------------
И ещё, современные сервера вроде как должны предполагать шифрацию паролей, и не устаревший md5, а что-то другое. Не помню чем там щас хэшируют.

Последние товары с игрового магазина:
Найти еще что-нибудь в магазине:
CrazyProgerДата: Среда, 01.08.2018, 09:40 | Сообщение # 4
Новичок
Группа: Пользователи
Сообщений: 2
Статус: Offline
Цитата Versalski ()
Ну, это смотря какой сложности нужна UCP, там же админка может, другие навороты типа аукционов как на аризоне или отчётов как на адвансе, а на счёт форума однозначно согласен.
Добавлено (01.08.2018, 02:57)
---------------------------------------------
И ещё, современные сервера вроде как должны предполагать шифрацию паролей, и не устаревший md5, а что-то другое. Не помню чем там щас хэшируют.


Задумывается всё, как гибкая структура, которую можно интегрировать к любому серверу.
Как будет осуществляться шифровка данных будет решать уже тот, кто будет развертывать её у себя. Естественно, будут учтены некоторые варианты "из коробки", с простой правкой из основного конфига.

П.С. форум не настолько сложная штука, как кажется, и намного проще, имея единый кабинет, дописать его непосредственно в UCP-шку, чем танцевать с бубном и интегрировать что-то готовое.
Плюс для CI есть готовые модули форумов, и их можно легко всунуть в проект и не заморачиваться с этим делом.

Ну, и последнее, как я уже говорил, нужный функционал нарастим по пожеланиям. Хоть аукционы, хоть репорты.
Последние товары с игрового магазина:
Найти еще что-нибудь в магазине:
ToopieДата: Пятница, 03.08.2018, 08:12 | Сообщение # 5
Боец
Группа: Заблокированные
Сообщений: 133
Статус: Offline
Код

'pconnect' => FALSE,
'cache_on' => FALSE,
'cachedir' => ''


Вот этого прикола не понял. Ты уверен, что эти параметры так и должны быть указаны?


лучший в мире самп сервер 185.159.129.71:7777 лидерки админки да

Сообщение отредактировал Toopie - Пятница, 03.08.2018, 08:13
Последние товары с игрового магазина:
Найти еще что-нибудь в магазине:
Форум » Программирование » PHP Програмированние » Разработка UCP для SAMP-Сервера. Часть 1. (Пишем суперкрутую UCP.)
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
[SAMP 0.3.7] NXCHEAT - Pr... [Kenny13372]

War Thunder - WarOverlay [Kenny13372]

Чекер онлайн [Kenny13372]

✅✅✅✅✅[SALE!]✅СЕНТЯБРЬСКИЕ... [stivka213]

ARP / Лидер гос. орг. [alexgun]

⋐ СКУПКА АККАУНТОВ STEAM ... [ABank]

Новый топовый телепорт с ... [0guHo4ka]

Продажа/покупка виртов на... [Check[CM]]

UISame External Hack for ... [[CM]palenkov]

Bannanahook(StackHack by ... [[CM]palenkov]

[DRP] Бот на стройку [EgorEgorovich]

[SLIV] БАГ НА ДЮП МАШИНЫ [iFracky]

[1]>[0.3z][RUS] S0beit modified by MishaN [10001]

[2]>Курилка [10000]

[3]>Поиск CLEO скриптов | Вопросы по клео скриптам [9988]

[4]>Флудильная [9936]

[5]>Курилка [9688]

[6]>RakBot - Качай аккаунты не напрягаясь! [9620]

[7]>Курилка [9614]

[8]>Общение читеров [CM] [9546]

[9]>S0beit - pr9n project for samp 0.3.7 [9493]

[10]>Часто задаваемые вопросы... [8228]

[11]>Скуплю Advance по 300р за 1кк и DIamond по 250р [7624]

[12]>[0.3.7][RUS] Sobeit modified by MishaN [6246]

[1]>АК_47 [32982]

[2]>GеNius [7101]

[3]>[CM]Russel [5569]

[4]>romka619 [5010]

[5]>[CM]AGRESSOR [4644]

[6]>Сэс [4407]

[7]>Snake_Firm [4375]

[8]>Artem_Buero [4203]

[9]>[CM]Durman [3135]

[10]>[CM]Рафаэль [2863]

[11]>iMaddy [2857]

[12]>sky_Woker [2856]

[13]>Sa1nteD [2678]

[14]>-Masson- [2521]

[15]>Bestiary [2477]

lexa626 [19.10.2018|23:19]

Zmaxim17 [19.10.2018|23:13]

Dantoc [19.10.2018|23:01]

Matej2303 [19.10.2018|22:59]

etym656 [19.10.2018|22:51]

044dack3v1ch [19.10.2018|22:45]

santiagorossie [19.10.2018|22:31]

id1234567 [19.10.2018|22:28]

LoginMe [19.10.2018|22:19]

bibaiboba [19.10.2018|22:19]

limon21222 [19.10.2018|22:15]

egor_765 [19.10.2018|22:11]

sadsasa [19.10.2018|22:06]

vorvladuke [19.10.2018|22:06]

mrvariskafivfiv2 [19.10.2018|22:00]


CM Team © 2009-2018 Администрация не несёт ответственности за размещённые материалы. Условия пользования
Все материалы предоставлены в ознакомительных целях и администрация предлагает удалить их после ознакомления.

Положение о защите персональных данных на сайте, Пользовательское соглашение, Договор оказания услуг.