Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [FIX]веб исходники лаунчера сашки на PDO

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Evan, 26 фев 2014.

?

Норм?

Голосование закрыто 5 мар 2014.
  1. Да

    11 голосов
    68,8%
  2. Нет

    5 голосов
    31,3%
Статус темы:
Закрыта.
  1. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    Статус: Beta test
    Данная веб часть работает с исходниками от alexandrage тут http://www.rubukkit.org/threads/sashok724-launcher.42883/
    Переписал веб исходники лаунчера сашки, что нового?
    1. Переписал всё вместо mysql на PDO
    2. Config теперь имеет вид более красивее ( к большому огорчению на время beta теста все перемные подобные $db_bla_bla не стоит убирать )
    3. Сделал авторизацию для punBB
    Вроде бы всё. В будущем добавлю несколько способов регистрации к движкам без соли и заморочек.
    О всех багах писать сюда.
    Download:
     
    Последнее редактирование: 18 мар 2014
    seria-2 и KPbIWKA нравится это.
  2. Хостинг MineCraft
    <
  3. appl3_w0rm

    appl3_w0rm Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    appl3_w0rm
    То чувство, когда скоро выйдет лаунчер сашка v3...
     
    Dereku нравится это.
  4. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    я вообще это считаю мифом :confused: если уж выйдет то и там перепишу :D
     
    blogger2 и appl3_w0rm нравится это.
  5. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Ванга тоже много обещала конец света :confused:
     
  6. appl3_w0rm

    appl3_w0rm Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    appl3_w0rm
    Сашок уже скинул тестерам ( в т.ч. и мне), но она криво работает и не запускается.
     
    blogger2 нравится это.
  7. KPbIWKA

    KPbIWKA Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    KPbIWKA
    Наро не знаю даже что и сказать я в PDO ноль) ну за работу лойс)
     
  8. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    punBB один из форумных движков. для меня он очень удобен и практичен в освоении :3[DOUBLEPOST=1393424287,1393424114][/DOUBLEPOST]
    а выложил по тому что я добрый нях :3
     
  9. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    хз честно, я узнал о нём с фул мода там был какой то шаб для вебмкр с форумом. от туда и скачал, попробовал
     
  10. BlackSun

    BlackSun Активный участник Пользователь

    Баллы:
    78
    Может не стоило пихать в архив с веб-обвязкой аж 3 мк-клиента? Архив до сотни метров раздулся.
    Не уверен, кому стоит адресовать следующие строчки, сашку с его обвязкой или топикстартеру, однако..

    checkserver.php - опечатка, $result -> execuet
    connect.php - юзается старый mysql_*, забыли вырезать?
    loger.php (правильнее было бы logger) - три забавных функции, которые маскируются под класс. Смотрится нелепо.. Стоило бы взять готовый класс, а не изобретать свой велосипед.
    launcher.php - по-прежнему xor'ит хэши файлов, используя "секретный ключ", хотя смысла в этом никакого нет. Только упрощает его (ключа) получение, даже если лаунчер по безумному обфусицирован.

    Во всех файлах переменные проходят через htmlspecialchars, зачем? Толку - 0, оно предназначено для защиты от xss. Обо всём остальном позаботится PDO.
    И стоило ли мучаться со всеми $configs['colum_name'] переменными в запросах? Хоть кому-то когда-либо понадобилось сменить название колонки в базе? А читабельность кода от этого сильно пострадала.
    Оптимальными вариантом было бы написание класса-обёртки над PDO, с заменой всех предопределённых названий столбцов по шаблонам. Туда-же можно было и префикс для названия таблиц засунуть.
     
    AlexMerser нравится это.
  11. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    вырезать mysql_ не забыл, делать ну очень великую вещь я не собираюсь, я лишь переписал mysql на pdo. logger.php вообще не мой. а ошибки я сейчас изменю. htmlspecialchars сейчас уберу. использовал $configs и за того что меня не привлекает вид переменных подобных $db_user, $db_pass. всё делал я лично для себя.
     
  12. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    я посмотрел код, хз кому как, но по моему это вынос мозга)
    при переводе на PDO можно было раза в три уменьшить количество кода в файле launcher.php используя заранее подготовленные запросы в файле конфига
    к тому-же после такого можно было бы точно знать где что расположено и наглядно улучшить читаемость кода

    я где-то тут выкладывал переделанную панель добавления PEX через сайт в которой использовал PDO
    вот немножко кода оттуда
    PHP:
    $dbhost      =    "localhost";                //ip БД
    $database    =    "demo";                    //имя базы данных
    $dbuser       =    "test";                    //юзер базы данных
    $dbpass       =    "test";                    //пароль БД
    $permentiny    =    "permissions_entity";        //таблица префиксов
    $permlist       =    "permlist";                    //таблица со списком полномочий

    /*Всё что ниже не трогать*/
    $conn = new PDO("mysql:host=$dbhost;dbname=$database"$dbuser$dbpass);
    $conn->exec('SET CHARACTER SET utf8');
    $conn->exec('SET NAMES utf8');
    $conn->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    $plist_sel        $conn->prepare("SELECT * FROM `$permlist`    ORDER BY `title`");//выборка полномочий
    $group_create    $conn->prepare("INSERT INTO    `$permentiny`    (`name`, `prefix`, `suffix`) VALUES (?, ?, ?)");//добавление группы
    $DBH null;
    вот кусок где используются эти же запросы

    PHP:
    include("connect.php");
    $name $_POST['name'];
    $pref $_POST['pref'];
    $suff $_POST['suff'];
    if (empty(
    $name))                    {die ("Необходимо ввести название группы!");}
    elseif    (
    eregi("[^a-z0-9_]",$name))    {die ("Название группы не корректно!</br>Название может быть только из символов латиницы и цифер от 0 до 9");}    //проверка на русские буквы в нике
    else
        {
            
    $group_create->bindParam(1$name);
            
    $group_create->bindParam(2$pref);
            
    $group_create->bindParam(3$suff);
            try {
    $group_create->execute();}
            catch(
    PDOException $e){echo 'Ошибка: ' $e->getMessage();}
        }
    PHP:
    $plist_sel->execute();
    echo
    "<select id='perms'>\n";
    while(
    $row $plist_sel->fetch()){
    $perm        =    $row["permission"];
    $perm_title    =    $row["title"];
    echo
    "<option value='$perm'>".$perm_title."</option>\n";
    }
    echo
    "</select>\n";
    не знаю как и кому, но для меня такой код весьма читабелен и в случае чего не прийдется искать ошибку где-то в нарнии

    использование неименованых шаблонов в PDO оказалось для меня очень удобной возможностью
     
    Последнее редактирование: 28 фев 2014
    Evan нравится это.
  13. Автор темы
    Evan

    Evan Старожил Пользователь

    Баллы:
    123
    я не стал переписывать весь код. лично мне этого не надо. мне пошло и так как есть, я выложил то, что готовил для себя.
     
Статус темы:
Закрыта.

Поделиться этой страницей