Jump to content

_Dark_

Ветеран
  • Регистрация

  • В сети

Reputation Activity

  1. Like
    _Dark_ got a reaction from CNoise in Bullio Engine - анонс   
    Мне кажется, что мне еще рано лезть в IPB
    Я пока чего-нибудь сам не сделаю, все равно не до конца буду понимать как все работает.

    Приведу код из index.php.


    /* Подключаем базу данных...*/
    require_once BULLIO_PATH.'/System/Applications/Database/Database.php';
    /* ...реестр...*/
    require_once BULLIO_PATH.'/System/Kernel/Registry/Registry.php';
    /* ...и само ядро.*/
    require_once BULLIO_PATH.'/System/Kernel/Kernel/Kernel.php';
    /* Подключаем контроллер приложений...*/
    require_once BULLIO_PATH.'/System/Applications/Applications/Applications.php';
    /* ...и запускаем его. */
    $apps = new Applications();
    /* Запускаем шаблонизатор */
    $tpl = $apps->Run('Templater', 'default'); // Первый параметр - название приложение, существует или нет - проверяется автоматически. Второй параметр - параметр для запуска, в данном случае название шаблона.
    /* Запускаем приложение подготовки к выводу */
    $web = $apps->Run('Web'); // В приложении Web определяется приложение по умолчанию, производятся с ним действия и отдаются шаблонизатору.
    /* Рендерим страницу */
    $tpl->render(); // Вывод страницы в браузер
    Теперь насчет приложений, пример User_public.php:
    class User extends Kernel { // Название класса "User" совпадает с названием файла и названием приложения. Все приложения, кроме первых двух - Database и Registry наследуют ядро
    private $info = null;
    private $banned = false;

    function User($login, $password) { // Конструктор класса, ф-ия вызывается при запуске приложения
    $this->_Kernel(); // Инициализация ядра, функция наследуется из Kernel
    if($this->login($login, $password)) {
    $this->setUserData();
    $_SESSION['user_id'] = $this->info['id'];
    $_SESSION['user_pass'] = $this->hash($this->info['password']);
    }
    else return FALSE;
    }
    [/code] После инициализации ядра ф-ей _Kernel(), в приложении автоматически инициализируются приложения Database и Registry. Например, если мы хотим узнать есть пользователь или нет с указанным логином и паролем, делаем так: [code]$this->Database->query("SELECT * FROM `users` WHERE `id` = '$login' AND `password` = '$password'"); // Database - инициализируется в Kernel и наследуется приложением (extends Kernel)
    if($this->Database->num_rows() == 1) { // Если количество полей равно одному, то будем считать, что мы авторизованы.
    echo 'Авторизован!'
    }[/code] С реестром работать проще, в нем хранятся все настройки всех приложений. Общая структура реестра: Application -> Section -> Key = Value Например, нам необходимо получить настройку "site_title" из приложения Web. Настройка хранится в секции "site_settings", поэтому делается так: [code]
    $site_title = $this->Registry->get('Web', 'site_settings', 'site_title');
    [/code] Насчет самого шаблона как в IPB, я еще сам не до конца определил как все будет работать. Или само приложение будет производить вывод либо производить вывод будет приложение Web вместе с Tempater. Скорее всего второй вариант. Т.е., если нам надо отобразить форму логина, то мы сделаем так: [CODE]$this->tpl->load_sub_template('login.phtml');[/code]
    и на этом можно заканчивать.
    Сам шаблонизатор загрузит шаблон, обработает его совместно с приложением Web и выведет его на экран.

    Я сейчас ищу шаблон в качестве основного, мне подойдут шаблоны от DLE, так что если кто-нибудь знает хороший шаблон для DLE (любой версии), то дайте название, пожалуйста

    И да, насчет названия: слово "Bullio" сгенерировано PHP скриптом :)
  2. Like
    _Dark_ got a reaction from CNoise in Bullio Engine - анонс   
    В этой теме я собираюсь повествовать народу, чем я решил серьезно заняться в ближайшее время.

    А заняться я решил PHP разработкой. Первоначально я собирался написать систему мониторинга игровых серверов, но после решил взяться за более глобальную вещь. Пишется "чистая" система, на которую при помощи дополнительных приложений можно нарастить то, что вам нужно. В частности, тот же игровой мониторинг.

    Но обо всем поподробнее.

    Система построена с применением ООП, нет процедурного программирования и не планируется. Вывод отделен от обработки, некое подобие шаблона MVC (Модель -> Отображение -> Контроллер).
    На данный момент, я закончил написание основной структуры системы.
    Существует 3 главных класса скрипта - это Database (работа с базой данных), Registry (реестр данных) и Kernel (который объединяет в себе и подключает два предыдущих приложения).

    Общую структуру работы можно представить так:
    Предположим, мы хотим авторизовать пользователя по логину и паролю.

    index.php -> Kernel -> Запуск приложения User -> Запуск действия login -> Получение данных от класса Database -> Класс Templater -> отображение вывода.

    Теперь поподробнее.
    Все запросы идут к главному файлу - index.php.
    В нем подключается роутер запросов, который выполняет функцию "телефониста", он соединяет запрос с приложением.
    Далее выполняется инициализация приложения Applications, которое управляет всеми приложениями системы.
    Командой Applications->Run() запускается приложение User. Командой Applications->RunAction() запускается действие login.
    Выполняется инициализация ядра и класса Database. Из базы данных получаются данные о введенных логине и пароле, далее идет обработка, результат передается шаблонизатору, который отображает страницу, содержащую информацию о том, что либо мы авторизовались, либо неверный логин или пароль.

    Запрос для авторизации имеет вид:
    Адрес_сайта/?/user/login/

    Это универсальный вид, который будет работать на любом веб-сервере.
    Для Apache с его Mod_rewrite вид запроса изменится:
    Адрес_сайта/user/login/

    Общая структура файлов системы такова:


    - Data
    -- Templates
    - Applications // Приложения установленные пользователем
    - System
    -- Applications // Системные приложения
    --- User // Не буду перечислять все, возьмем для примера User
    ---- Controllers
    ----- User_admin.php // Файл для Админ-Центра
    ----- User_public.php // Файл для посетителей
    ---- Templates // Шаблоны приложения
    -- Kernel
    --- Kernel
    ---- Kernel.php //ядро системы
    --- Registry // Работа с реестром
    --- Database // Работа с Базой Данных
    Список системных приложений на данный момент (которые включены в систему):
    Access Rights // права доступа пользователей
    Applications // Работа с приложениями
    Database // Работа с базой данных
    Error // отображение критических ошибок системы
    Router // Роутер запросов
    Templater // Шаблонизатор
    User // Пользователи
    Web // подготовка сайта к выводу на экран
    [/code]

    Изначально задумывается, что все будет автоматизировано.
    Допустим, мы хотим создать игровой мониторинг серверов.
    Скачиваем основу - Bullio Engine, скачиваем приложение мониторинга.
    Заходим в АЦ, там просто загружаем архив с приложением и оно само устанавливается. Никаких заморочек с файлами, как в DLE.

    Вот в принципе все, что я хотел написать.
    Зачем? Услышать ваше мнение об этом, если есть люди имеющие опыт в этом деле - буду рад получить советы и замечания от них :)
  3. Like
    Добавил обновление для IP.Board 3.2.

    Обновил наши релизы IP.Board 3.2.3 и 3.3.4.
  4. Like
    Обновил первое сообщение.
    Версию для 3.2.x выложу позже.
  5. Like
    Dj_Krauts, Да вы, батенька, некрофил....
  6. Like
    _Dark_ got a reaction from Fever in Система отзывов 1.3.0 Rus   
    В приложениях в АЦ нажмите на редактировать около него и измените Публичное имя приложения.
  7. Like
    История:
    1. Игровое окно
    2. Наша мышка ( в данный момент это Я )
    3. Наша норка, в которую мы должны "притащить" сыр
    4. Наш Шаман - Он и строит "Все чудеса света" но в основном фантазия у всех игроков "однообразная"
    5. Собственно наш СЫР (только его закрыла мышка своей жирной тушкой)




    Что нам будет нужно!



    Мышь

    Играя за мышь, вы имеете лишь одну цель — добраться до сыра и вернуться с ним в безопасную норку. Мышь управляется с помощью «стрелочек» или клавиш WASD. Мышь, помимо движений, умеет прыгать и приседать. Мыши идеально олицетворяют социум, в котором царит беспорядок, где никто не знает друг друга и никто не знает, что собираются делать другие. Результатом является беспорядочный бег мышей, иногда фатальный для большинства находящихся на карте. В редакторе карт можно создавать карты, командой «/room название комнаты» можно менять комнату. Ваша задача с помощью шамана попасть в норку с сыром и желательно быстрее всех.


    Шаман

    Шаман — это мышь, которая может призывать различные физические объекты, которые должны помочь мышам добраться до сыра и вернуться с ним. Шаманом становится мышь, имеющая наибольшее количество очков. После прохождения раунда Шаман становится обычной мышью, его очки обнуляются и в последующем набираются снова. От остальных мышей Шаман отличается метками на теле и перьями на голове, также он может зайти в «норку» только в том случае, если все мыши дойдут до норки с сыром, либо проиграют (например, упадут в пропасть). Ассортимент предметов, доступных Шаману, зависит от карты. На некоторых картах может быть два шамана, отличающихся цветом надписи с ником и титулом (розовый и голубой). Причём иногда на карте имеются две норки различного цвета (соответствующего цвету шамана), что подразумевает конкуренцию между шаманами за сырки: каждый шаман стремится отправить побольше мышей с сыром в свою норку. Обычно такая конкуренция сводится к попыткам шаманов сначала сбросить друг друга, а потом уже «заниматься» мышами.
    Кнопка C: Позволяет прикрепить создаваемый объект к уже существующему неподвижно. Это соединение отображается жёлтой точкой.
    Кнопка V: Позволяет прикрепить создаваемый объект к уже существующему подвижным соединением (объекты могут поворачиваться друг относительно друга). Отображается голубой точкой.
    Кнопка B: Создаёт глобальную привязку к объекту. Объект с такой привязкой может быть прикреплён к любому месту на карте и сможет вращаться вокруг крепления. Отображается красной точкой.
    Кнопка N: Позволяет прикрепить один объект к другому соединением-мотором, объекты соединённые таким образом будут сами поворачиваться вокруг соединения. Отображается голубой точкой со стрелочкой указывающей направление поворота. Также существует крепление "J", крутящееся в противоположную сторону.
    Добавлять соединения к большинству объектов можно не только по центру, но и по краям, для этого следует нажать кнопку соединения несколько раз. Используйте это для создания различных приспособлений из нескольких объектов. Соединения C, V, N, J можно использовать с любыми объектами. Крепление B можно использовать только с планками и только посередине. Для шарика любая из 5 кнопок создаёт верёвочку, при помощи которой можно привязать шарик к уже существующему объекту. Попробуйте сами и проверьте, что может сработать, а что нет!
    Так же есть режим Hardmode. Шаман может в редакторе создать объект из двадцати элементов в любых связях и затем на каждой карте один раз использовать его. Но используя hardmode нельзя пользоваться спиритом (вспышка, которая не имеет радиуса и позволяет придать мышам дополнительное ускорение) и не может использовать красные соединения. В статистике есть отдельная колонка, в которой подсчитываются мыши, спасенные в этом режиме. За спасённых в режиме hardmode мышей можно получить отдельные титулы. Он доступен после 1000 спасенных мышей в обычном режиме.
  8. Like
    Это тема поддержки статьи: Как получить полностью русифицированный IP.Board 3.3.4.
    Здесь вы можете обсудить все вопросы, связанные с этой статьёй.
     
    Дата добавления статьи: 04 Август 2012 - 17:38
    Дата обновления статьи: 04 Август 2012 - 17:38
  9. Like
    _Dark_ got a reaction from doublesh in Меню навигации   
    Стиль стандартный?
    Если нет, то на стандартном стиле все нормально?
  10. Like
    В поиске наберите
    иконка и звание
    и убедитесь в том, что поиск — это хорошо.
  11. Like
    _Dark_ got a reaction from Solar in ЧПУ   
    Файл core.php сохраните в кодировке UTF-8 без BOM.
  12. Like
    Нет, вошел как скрытый пользователь.
  13. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Я там слово нормально пропустил.
  14. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Извиняюсь, ошибся, ipb_styles.css.

    Если нету, то нужно смотреть только на готовом форуме с этим дизайном.
  15. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Я имел в виду мне или кому-нибудь другому посмотреть нужно.
  16. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Ну так вы адрес форума напишите то мне.
  17. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Ну да, ну да.
    Вот я открыл ваш форум, вот я смотрю.
    Цвет шрифта в сообщениях редактируется в ipb_styles.css.
    Ищите там


    .post_body .post
    [/CODE]
    Я вам это и говорил выше.

    Оно там не один раз будет, это понятно, но там будет [i]color.[/i]
  18. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Этот цвет зависит от фона стиля.
    Для этого, второго фона, это


    .bg2 a
    [/CODE]
    в ipb_styles.css.
  19. Like
    _Dark_ got a reaction from Vasek in Не работает сайт   
    Если никто кроме вас так не говорит — значит вы не так говорите.

    Все, хватит писать не по теме, останавливаемся.
  20. Downvote
    _Dark_ reacted to Vasek in Не работает сайт   
    Вот с этого и надо было начинать, - что ВАм не понятно, а не говорить что я не о том о чем-то говорю. SQL укол это способ проникновения (взлома) вашего ресурса путем нахождения уязвимости или путем искусственно созданной уязвимости.
  21. Like
    _Dark_ got a reaction from podvorie in Google Site Search 1.1.4 / Поиск Google по форуму   
    А попробуйте это:
  22. Like
    _Dark_ got a reaction from Solar in Не работает сайт   
    Это не столь важно.

    Я немного не понял вашу реакцию на это, ведь по сути ваш сайт взломали полностью, раз смогли получить доступ к FTP. Не находите?
    Я бы на вашем месте у хостера спрашивал логи подключений к FTP, поменял все пароли, а вы как-то не очень то и беспокоитесь.
  23. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Нет, так сделать нельзя.
  24. Like
    _Dark_ got a reaction from masiania in визуальный редактор   
    Редактируйте, что вам мешает?
    Но визуальным редактором пользоваться нельзя.
  25. Like
    _Dark_ got a reaction from Doogle in Поиск хука / дизайна   
    Плагиат — плохо.