[Soft] Kinokpk.com releaser 2.40 TBDEV

Тема в разделе "Торрент Трекеры", создана пользователем vem882, 14 апр 2009.

Статус темы:
Закрыта.
  1. vem882

    vem882 Прохожие

    Представляю вашему вниманию Kinokpk.com releaser 2.40
    Что нового? (по сравнению с предыдущей версией)

    1. Маленькая оптимизация (16 запросов вместо 18)
    2. Создание и удаление форумных аккаунтов из админ панели, при создании или удалении аккаунтов на релизере
    3. Исправлен баг с отображением тегов в некоторых таблицах
    4. Исправлен баг с отображением дублей релизов для гостей в таблицах
    5. Исправлен баг с отсылкой email при подписке на категории
    6. Исправлено несколько дыр в безопасности, причем одна из них - SQL-инъекция
    7. Вернулся защищенный usersearch.php
    8. Админ-панель защищена HTTP-авторизацией. Не введя пароль вы не получите доступа к админ-функциям.
    9. Введен кеш browse.php => проблема с долгим ожиданием списка торрентов на больших трекрерах исправлена.
    10. Как следствие, упрощена таблица релизов - теперь ее нельзя сортировать как вам хочется (по колву сидеров и т.д.)
    11. Пользователи теперь не могут выбирать, сколько релизов им отображать в таблице - это делается в конфигурационном скрипте.
    12. Забаненые торренты отныне нельзя скачать средствами трекера.
    13. Добавлена совместная авторизация на релизере и на форуме.
    14. Добавлен мод скриншотов, теперь можно заливать хоть 100 скринштов к контенту, это параметр устанавливается в конфигурационном скрипте. Также заливка доступна через URL, даже на странице редактрования релизов.
    15. Мультитрекерность, вы можете раздавать торренты других трекеров.
    16. Весь tbdev ajax переведен на jquery.
    17. Многочисленные AJAX функции - перемещение блоков, сворачивание блоков (с запоминанием), листание релизов, спасибы.
    18. Множество мелких поправок, которые я не запомнил.

    Маленькое демо: http://www.youtube.com/watch?v=AG7Y0MzFUws

    Демо-трекер: http://test.kinokpk.com

    Системные требования:

    1. MySQL 5.0.7+
    2. PHP 5+
    iconv
    gd2 (libjpeg,libpng)
    zlib
    3. PHP как модуль Apache (в противном случае (имеется ввиду cgi) надо прописать rewrite ( => нужен mod_rewrite для Apache) для HTTP авторизации)



    Скачать:

    .../Kinokpk.com_releaser_v.2.40.zip

    Добавлено через 46 секунд
    Если вы используете форум IPB 2.3.5+:

    Цитата:
    - установите форум, либо можно подключить релизер к уже установленному форуму
    - установите этот мод "спасибо" на форум
    - после установки релизера вам надо будет войти с логином и паролем форума, а не зарегестрировать аккаунт администратора
    - остальным пользователям надо будет входить на релизер для переноса их аккаунтов


    1. Залить все файлы из папки upload на ftp
    2. Если вы используете форум - то залить файлы из папки to_forum_root в корневую папку форума
    3. Поставить CHMOD 777 на следующие папки:
    Цитата:
    avatars, cache, torrents, torrents/images

    4. Поставить CHMOD 666 на следующие файлы:
    Цитата:
    include/secrets.php, Sitemap.xml

    5. Зайдите на сайт/install.php и следуйте инструкциям инсталлятора.
     
  2. vipzal

    vipzal Писатель

    Регистр.:
    14 апр 2009
    Сообщения:
    6
    Симпатии:
    2
    дополнение моему торому аккаунту

    Обновление 2.15 -->> 2.40

    0. СДЕЛАЙТЕ BACKUP!

    1. Удалите все файлы с ftp, за исключением:
    Цитата:
    папки torrents
    папки avatars
    папки cache
    файла include/secrets.php
    файла Sitemap.xml

    2. Загрузите все файлы из папки upload.php на ftp, за исключением:
    Цитата:
    database.sql install.php Sitemap.xml include/secrets.php

    3. Загрузите на ftp все файлы из папки update_215_240
    4. Если вы используете форум, то загрузите все файлы из папки to_forum_root в корневую папку форума
    5. Зайдите на сайт/update.php и следуйте инструкциям инсталлятора.

    Добавлено через 34 секунды
    Преход с TBDEV YSE 6 (TBDev v2.0 (18.05.07) Pre 6 RC 0 (update 19.02.09))

    Внимание!
    Цитата:
    1. С предыдущими опросами придется распрощаться.
    2. Позиции и места блоков придется настраивать заново.
    3. Все ваши старые релизы переместятся в категорию "прочее", хотя никто не мешает вам переименовать ее в "Старые релизы", или как нибудь еще.
    4. С банами придется распрощаться.


    Итак, начнем:

    1. Удалите все файлы с фтп, за исключением и файлов
    Цитата:
    torrents
    torrents/images
    include/secrets.php


    2. Загрузите на фтп файлы из папки upload, за исключением
    Код:
    database.sql
    install.php
    include/secrets.php


    3. Поставьте chmod 777 следующим папкам:
    Код:
    avatars, cache, torrents, torrents/images


    4. Поставьте chmod 666 следующим файлам:
    Код:
    Sitemap.xml


    5. Загрузите в корень релизера файлы из папки transfer_from_YSE6
    6. Выполните скрипт сайт/transfer.php и следуйте инструкциям инсталлятора.
    7. Замените ваш файл include/secrets.php по шаблону:
    Код:
    PHP:
    <?

    /*
    Project: Kinokpk.com releaser
    This file is part of Kinokpk.com releaser.
    Kinokpk.com releaser is based on TBDev,
    originally by RedBeard of TorrentBits, extensively modified by
    Gartenzwerg and Yuna Scatari.
    Kinokpk.com releaser is free software;
    you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    Kinokpk.com is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with Kinokpk.com releaser; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    MA  02111-1307  USA
    Do not remove above lines!
    */

    if(!defined('IN_TRACKER') && !defined('IN_ANNOUNCE')) die("Direct access to this page not allowed");

    $mysql_host "хост базы трекера";
    $mysql_user "пользователь базы трекера";
    $mysql_pass "пароль для базы трекера";
    $mysql_db "база трекера";
    $mysql_charset "CP1251 (или другой набор символов, в зависимости от вашей конфигурации обычно CP1251)";

    $fmysql_host "хост базы форума";
    $fmysql_user "пользователь базы форума";
    $fmysql_pass "пароль базы форума";
    $fmysql_db "база форума";
    $fmysql_charset "CP1251 (или другой набор символов, в зависимости от вашей конфигурации обычно CP1251)";
    $fprefix "префикс таблиц форума, обычно ibf_";
    ?>
    Добавлено через 1 минуту
    vipzal это и есть vem882 тока его заблокировали :(

    Добавлено через 5 минут
    PHP:
    Kinokpk.com releaser 2.05 и раньше:
    recover.php
    найти
    :
    Код:
    [
    PHP]elseif($_GET)
    заменить на:
    Код:
    PHP:
    elseif($_SERVER['REQUEST_METHOD'] == "GET")
    найти:
    Код:
    PHP:
       $id $_GET["id"];
    добавить выше:
    Код:
    PHP:
             if (!is_valid_id($_GET["id"]))
             
    stderr($tracker_lang['error'], $tracker_lang['invalid_id']);
    email-getway.php - удалить, либо поправить:
    найти:
    Код:
    PHP:
    $id $_GET["id"];
    if (!
    $id)
       
    stderr($tracker_lang['error'], $tracker_lang['invalid_id']);
    заменить на:
    Код:
    PHP:
             if (!is_valid_id($_GET["id"]))
             
    stderr($tracker_lang['error'], $tracker_lang['invalid_id']);
             
       
    $id $_GET["id"];
    takeconfirm.php найти:
    Код:
    PHP:
    $id $_GET["id"];
    if (!
    is_valid_id($id))
       
    stderr("Ошибка""А вот этого лучше не делать...");
    заменить на:
    takeinvite.php
    найти:
    Код:
    PHP:
    $id $_GET["id"];
    заменить на:
    Код:
    PHP:
             if (!is_numeric($_GET["id"]) || !isset($_GET["id"]))
             
    stderr($tracker_lang['error'], $tracker_lang['invalid_id']);

       
    $id $_GET["id"];
    topten.php
    найти:
    Код:
    PHP:
       $type = isset($_GET["type"]) ? $_GET["type"] : 0;
       if (!
    in_array($type,array(1,2,3,4)))
          
    $type 1;
       
    $limit = isset($_GET["lim"]) ? $_GET["lim"] : false;
       
    $subtype = isset($_GET["subtype"]) ? $_GET["subtype"] : false;

    заменить на:
    Код:
    PHP:
       $type = (isset($_GET["type"]) && is_numeric($_GET["type"]))  ? $_GET["type"] : 0;
       if (!
    in_array($type,array(1,2,3,4)))
          
    $type 1;
       
    $limit = (isset($_GET["lim"]) && is_numeric($_GET["lim"])) ? $_GET["lim"] : false;
       
    $subtype = isset($_GET["subtype"]) ? $_GET["subtype"] : false;


    Архив обновлен!


    Обновление безопасности, заменить avatarup.php
    Код:
    PHP:
    <?
    /*
    Project: Kinokpk.com releaser
    This file is part of Kinokpk.com releaser.
    Kinokpk.com releaser is based on TBDev,
    originally by RedBeard of TorrentBits, extensively modified by
    Gartenzwerg and Yuna Scatari.
    Kinokpk.com releaser is free software;
    you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    Kinokpk.com is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with Kinokpk.com releaser; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    MA  02111-1307  USA
    Do not remove above lines!
    */

    require "include/bittorrent.php";
    dbconn();
    loggedinorreturn();
        
    $max_image_width $avatar_max_width;
        
    $max_image_height $avatar_max_height;
        
    $maxfilesize 60 1024;

    $allowed_types = array(
    "image/gif" => "gif",
    "image/jpeg" => "jpg",
    "image/jpg" => "jpg",
    "image/png" => "png"
    // Add more types here if you like
    );
       
    if(empty(
    $_FILES['avatar']['tmp_name'])) {
    stdhead("Загрузка аватара");
    print 
    '<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td class="block" width="100%" align="center" valign="middle" ><strong>Загрузка аватара</strong></td></tr></table>';
    print 
    "<br><form method=post enctype=multipart/form-data><div class=\"form-row\"><div class=\"field-widget\"><label for=\"avatar\">Выберите аватару</label> : <input type=file name=avatar title=\"Выберите аватарку\"></div></div>
    <input type=submit value=Загрузить ></form><br><br><center><font color=green>Подсказка: Аватара должна быть размером не больше "
    .round($maxfilesize/1024,2)." килобайт<br>и pазмером не больше ".$max_image_width."х".$max_image_height." пикселей</font></center> ";
    stdfoot();
    }
    else {
        
    $size = @GetImageSize($_FILES['avatar']['tmp_name']);
    //    var_dump($size);
    if (!$size)
    stderr($tracker_lang["error"],"Это не картинка, доступ запрещен");
        
    // Is valid filetype?
    elseif (!array_key_exists($_FILES['avatar']['type'], $allowed_types))
            
    stderr($tracker_lang["error"],"Внимание! Разрешенные форматы картинок: JPG,PNG,GIF.");

    elseif (!
    preg_match('/^(.+)\.(jpg|png|gif)$/si'$_FILES['avatar']['name']))
            
    stderr($tracker_lang["error"],"Неверное имя файла (не картинка или неверный формат).");

    elseif ((
    $size[0] > $max_image_width ) || ($size[1] > $max_image_height))
    stderr ($tracker_lang["error"],"<br>Размер вашего аватара ".$size[0]."х".$size[1]." Требуется размер не более ".$max_image_width."х".$max_image_height."  пикселей</font></b>");
    elseif (
    $_FILES['avatar']['size'] > $maxfilesize) {
    stderr($tracker_lang["error"],"<br>Размер вашей аватары превышает ".round($maxfilesize/1024,2)." килобайт!</font></b>");
    }else
    {
    @
    unlink("./".$CURUSER['avatar']);
    copy($_FILES['avatar']['tmp_name'],"./avatars/".$CURUSER["id"].substr($_FILES['avatar']['name'], strripos($_FILES['avatar']['name'], '.')));
    $pathav "avatars/".$CURUSER["id"].substr($_FILES['avatar']['name'], strripos($_FILES['avatar']['name'], '.'));
    sql_query("UPDATE users SET avatar = '".$pathav."' WHERE id = " $CURUSER["id"])or sqlerr(__FILE__,__LINE__);
    /*sql_query("UPDATE ipb_member_extra SET avatar_type = 'url' WHERE id = " . $CURUSER["id"])or sqlerr(__FILE__,__LINE__);
    sql_query("UPDATE ipb_member_extra SET avatar_size = '".$size[0]."x".$size[1]."' WHERE id = " . $CURUSER["id"])or sqlerr(__FILE__,__LINE__);
    sql_query("UPDATE ipb_member_extra SET avatar_location = '".$pathav."' WHERE id = " . $CURUSER["id"])or sqlerr(__FILE__,__LINE__);
    */
    stdmsg("Okay!","<b>Ваша аватара была успешно загружёна на сервер!</b><hr>Название файла: <b>".$CURUSER["id"].substr($_FILES['avatar']['name'], strripos($_FILES['avatar']['name'], '.'))."</b><br>Размер файла: <b>".round($_FILES['avatar']['size']/1024,2)." кб.</b><hr><center>Аватар автоматически добавлен в профиль пользователя</b></center>");// как на релизере, так и на <a href=\"".$DEFAULTBASEURL."/forums/\">Форуме</a></b></center> ";

    }
    }
    ?>
    takeedit.php функцию uploadimage заменить на:

    Код:
    PHP:
    function uploadimage($x$imgname$tid) {

       
    $maxfilesize 512000// 500kb

       
    $allowed_types = array(
    "image/gif" => "gif",
    "image/pjpeg" => "jpg",
    "image/jpeg" => "jpg",
    "image/jpg" => "jpg",
    "image/png" => "png"
       
    // Add more types here if you like
       
    );

       if (!(
    $_FILES[image.$x]['name'] == "")) {

          if (
    $imgname != "") {
             
    // Make sure is same as in takeedit.php (except for the $imgname bit)
             
    $img "torrents/images/$imgname";
             
    $del = @unlink($img);
          }

          
    $y $x 1;

          
    // Is valid filetype?
          
    if (!array_key_exists($_FILES[image.$x]['type'], $allowed_types))
             
    bark("Invalid file type! Image $y");

          if (!
    preg_match('/^(.+)\.(jpg|png|gif)$/si'$_FILES[image.$x]['name']))
            
    bark("Неверное имя файла (не картинка или неверный формат).");

          
    // Is within allowed filesize?
          
    if ($_FILES[image.$x]['size'] > $maxfilesize)
             
    bark("Invalid file size! Image $y - Must be less than 500kb");

          
    // Where to upload?
          // Make sure is same as on takeupload.php
          
    $uploaddir "torrents/images/";

          
    // What is the temporary file name?
          
    $ifile $_FILES[image.$x]['tmp_name'];

            
    $size = @GetImageSize($ifile);
              
    //    var_dump($size);
        
    if (!$size)
        
    bark("Это не картинка, доступ запрещен");
       
          
    // By what filename should the tracker associate the image with?
          
    $ifilename $tid $x substr($_FILES[image.$x]['name'], strlen($_FILES[image.$x]['name'])-44);
             
          
    // Upload the file
          
    $copy copy($ifile$uploaddir.$ifilename);

          if (!
    $copy)
             
    bark("Error occured uploading image! - Image $y");

             
    //adds watermark ////////////////////////////////////////////////////
    /// ORIGINAL POSTED http://www.codenet.ru/webmast/php/Image-Resize-GD/ /////////////////

    $ifn=$uploaddir.$ifilename;


    // качество jpeg по умолчанию
    if (!isset($q)) $q 75;

    // создаём исходное изображение на основе
    // исходного файла и опеределяем его размеры
    if (($_FILES[image.$x]['type'] == "image/pjpeg") || ($_FILES[image.$x]['type'] == "image/jpeg") || ($_FILES[image.$x]['type'] == "image/jpg"))
    $src = @imagecreatefromjpeg($ifn);
    elseif (
    $_FILES[image.$x]['type'] == "image/gif")
    $src = @imagecreatefromgif($ifn);
    elseif (
    $_FILES[image.$x]['type'] == "image/png")
    $src = @imagecreatefrompng($ifn);

    $w_dest $size[0];
    $h_dest $size[1];

           
    // создаём пустую картинку
           // важно именно truecolor!, иначе будем иметь 8-битный результат
           
    $dest imagecreatetruecolor($w_dest,$h_dest);
           
    imagecopyresampled($dest$src0000$w_dest$h_dest$w_dest$h_dest);

    // определяем координаты вывода текста
            
    $str "Kinokpk.com & pdaPRIME.ru";
            
    $size 2// размер шрифта
            
    $x_text $w_dest-imagefontwidth($size)*strlen($str)-3;
            
    $y_text $h_dest-imagefontheight($size)-3;

            
    // определяем каким цветом на каком фоне выводить текст
            
    $white imagecolorallocate($dest255255255);
            
    $black imagecolorallocate($dest000);
            
    $gray imagecolorallocate($dest127127127);
            if (
    imagecolorat($dest,$x_text,$y_text)>$gray$color $black;
            if (
    imagecolorat($dest,$x_text,$y_text)<$gray$color $white;

            
    // выводим текст
            
    imagestring($dest$size$x_text-1$y_text-1$str,$white-$color);
            
    imagestring($dest$size$x_text+1$y_text+1$str,$white-$color);
            
    imagestring($dest$size$x_text+1$y_text-1$str,$white-$color);
            
    imagestring($dest$size$x_text-1$y_text+1$str,$white-$color);

            
    imagestring($dest$size$x_text-1$y_text,   $str,$white-$color);
            
    imagestring($dest$size$x_text+1$y_text,   $str,$white-$color);
            
    imagestring($dest$size$x_text,   $y_text-1$str,$white-$color);
            
    imagestring($dest$size$x_text,   $y_text+1$str,$white-$color);

            
    imagestring($dest$size$x_text,   $y_text,   $str,$color);

            if ((
    $_FILES[image.$x]['type'] == "image/pjpeg") || ($_FILES[image.$x]['type'] == "image/jpeg") || ($_FILES[image.$x]['type'] == "image/jpg"))
            
    imagejpeg($dest,$ifn,$q);
    elseif (
    $_FILES[image.$x]['type'] == "image/gif")
            
    imagegif($dest,$ifn,$q);
    elseif (
    $_FILES[image.$x]['type'] == "image/png")
            
    imagepng($dest,$ifn,$q);

            
    imagedestroy($dest);
            
    imagedestroy($src);

    ////////////////RESIZING END //////////////////////////////////////

          
    return $ifilename;

       }

    }
    takeupload.php найти:
    Код:
    PHP:
    //////////////Take Image Uploads//////////////
    найти:
    Код:
    PHP:
    ksort($_POST['tags']);
    все, что между заменить на:
    Код:
    if ($use_integration) {
    //IPB TOPIC TRANSFER
    $relimage=0;
    //END, CONTINUE BELOW
    }

    $maxfilesize = 512000; // 500kb

    $allowed_types = array(
    "image/gif" => "gif",
    "image/jpeg" => "jpg",
    "image/jpg" => "jpg",
    "image/png" => "png"
    // Add more types here if you like
    );
    // Where to upload?
    // Update for your own server. Make sure the folder has chmod write permissions. Remember this director
    $uploaddir = "torrents/images/";

    for ($x=0; $x < 2; $x++) {
    $y = $x + 1;
    if (($_FILES[image.$x]['name'] != "") || !empty($_POST['img'.$x])) {

    if (!($_FILES[image.$x]['name'] == "") && empty($_POST['img'.$x])) {


    // Is valid filetype?
    if (!array_key_exists($_FILES[image.$x]['type'], $allowed_types))
    bark("Внимание! Разрешенные форматы картинок: JPG,PNG,GIF. Ошибка при загрузке картинки $y");

    if (!preg_match('/^(.+)\.(jpg|png|gif)$/si', $_FILES[image.$x]['name']))
    bark("Неверное имя файла (не картинка или неверный формат).");

    // Is within allowed filesize?
    if ($_FILES[image.$x]['size'] > $maxfilesize)
    bark("Внимание! Картинка $y - Слишком большая. Макс. размер: 500kb");

    // What is the temporary file name?
    $ifile = $_FILES[image.$x]['tmp_name'];

    $size = @GetImageSize($ifile);
    // var_dump($size);
    if (!$size)
    bark("Это не картинка, доступ запрещен");
    // Calculate what the next torrent id will be
    // GO UPSTAIRS //

    // By what filename should the tracker associate the image with?
    $ifilename = $next_id . $x . substr($_FILES[image.$x]['name'], strlen($_FILES[image.$x]['name'])-4, 4);

    //File extention
    $ext = substr($_FILES[image.$x]['name'], strlen($_FILES[image.$x]['name'])-3, 3);

    // Upload the file
    $copy = copy($ifile, $uploaddir.$ifilename);

    if (!$copy)
    bark("Ошибка при загрузке картинки $y");

    //adds watermark///
    /// ORIGINAL POSTED http://www.codenet.ru/webmast/php/Image-Resize-GD/ /////////////////

    $ifn=$uploaddir.$ifilename;
    $pictdest = $ifn;

    } elseif (($_FILES[image.$x]['name'] == "") && !empty($_POST['img'.$x])) {

    if (filesize($_POST['img'.$x] > $maxfilesize)) bark("Внимание! Картинка $y - Слишком большая. Макс. размер: 500kb");
    $ifn = $_POST['img'.$x];
    $size = @GetImageSize($ifn);
    $ifilename = $next_id . $x . substr($_POST['img'.$x], strlen($_POST['img'.$x])-4, 4);
    $ext = substr($_POST['img'.$x], strlen($_POST['img'.$x])-3, 3);
    $pictdest = $uploaddir.$ifilename;
    }


    // качество jpeg по умолчанию
    if (!isset($q)) $q = 75;

    // создаём исходное изображение на основе
    // исходного файла и опеределяем его размеры
    if ($ext == "jpg")
    $src = @imagecreatefromjpeg($ifn);
    elseif ($ext == "gif")
    $src = @imagecreatefromgif($ifn);
    elseif ($ext == "png")
    $src = @imagecreatefrompng($ifn);

    // var_dump($size);
    if (!$src || !$size) bark("Ошибка обработки картинки $y, она недоступна, либо имеет недопустимый формат");
    $w_dest = $size[0];
    $h_dest = $size[1];

    // создаём пустую картинку
    // важно именно truecolor!, иначе будем иметь 8-битный результат
    $dest = imagecreatetruecolor($w_dest,$h_dest);
    imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_dest, $h_dest);
    $str = "Kinokpk.com & pdaPRIME.ru";
    // определяем координаты вывода текста
    $size = 2; // размер шрифта
    $x_text = $w_dest-imagefontwidth($size)*strlen($str)-3;
    $y_text = $h_dest-imagefontheight($size)-3;

    // определяем каким цветом на каком фоне выводить текст
    $white = imagecolorallocate($dest, 255, 255, 255);
    $black = imagecolorallocate($dest, 0, 0, 0);
    $gray = imagecolorallocate($dest, 127, 127, 127);
    if (imagecolorat($dest,$x_text,$y_text)>$gray) $color = $black;
    if (imagecolorat($dest,$x_text,$y_text)<$gray) $color = $white;

    // выводим текст
    imagestring($dest, $size, $x_text-1, $y_text-1, $str,$white-$color);
    imagestring($dest, $size, $x_text+1, $y_text+1, $str,$white-$color);
    imagestring($dest, $size, $x_text+1, $y_text-1, $str,$white-$color);
    imagestring($dest, $size, $x_text-1, $y_text+1, $str,$white-$color);

    imagestring($dest, $size, $x_text-1, $y_text, $str,$white-$color);
    imagestring($dest, $size, $x_text+1, $y_text, $str,$white-$color);
    imagestring($dest, $size, $x_text, $y_text-1, $str,$white-$color);
    imagestring($dest, $size, $x_text, $y_text+1, $str,$white-$color);

    imagestring($dest, $size, $x_text, $y_text, $str,$color);

    if ($ext == "jpg")
    imagejpeg($dest,$pictdest,$q);
    elseif ($ext == "gif")
    imagegif($dest,$pictdest,$q);
    elseif ($ext == "png")
    imagepng($dest,$pictdest,$q);

    imagedestroy($dest);
    imagedestroy($src);

    ////////////////RESIZING END //////////////////////////////////////


    $inames[] = $ifilename;
    if ($use_integration) {
    //IPB TOPIC TRENSFER
    $relimage=1;
    // END, CONTINUE BELOW
    }
    }
    }[/PHP]

    Добавлено через 12 минут
    viewrequests.php
    найти:
    Код:
    PHP:
    $search $_GET["search"];
    заменить на:
    Код:
    PHP:
    $search = (string) $_GET["search"];
    аменить файл из аттача
    http://dev.kinokpk.com/download/file.php?id=98



    simpaty.php
    найти:
    Код:
    PHP:
    $type $_GET['type'];
    заменить на:
    Код:
    PHP:
            $type htmlentities($_GET['type']);
    Добавлено через 14 минут
    delete.php
    найти:
    Код:
    PHP:
    $rt $_POST["reasontype"];

    if (!
    is_int($rt) || $rt || $rt 5)
    заменить на:
    Код:
    PHP:
    $rt = (int) $_POST["reasontype"];

    if ( 
    $rt || $rt 5)

    удалить:
    Код:
    PHP:
    $r $_POST["r"];




    Важное обновление безопасности:
    users.php
    найти:
    Код:
    PHP:
    $search trim($_GET['search']);
    заменить на:
    Код:
    PHP:
    $search htmlentities(trim($_GET['search']));
    заменить файлы из аттача с сохранением структуры папок

    Добавлено через 14 минут
    http://dev.kinokpk.com/download/file.php?id=178

    Добавлено через 15 минут
    Очередной фикс дырок в системе запросов
    заменить файлы из архива.

    Цитата:
    Ошибка в составлении sql запроса, раскрытие путей

    http://dev.kinokpk.com/download/file.php?id=182

    Добавлено через 16 минут
    include/functions.php
    добавить:
    Код:
    PHP:
    // retrieve images on the site
    function check_images($file){
        
    $h1count preg_match_all('/(<img.*?)\s (src="([a-zA-Z0-9\.;:\/\?&=_|\r|\n]{1,})")/isxmU',$file,$patterns);
        
    $imagesarray = array();
        
    array_push($imagesarray,$patterns[3]);
        
    array_push($imagesarray,$patterns[0]);
       
      
    $images $imagesarray[0];
      
    $imagecodes $imagesarray[1];
      if (
    $images)
        foreach (
    $images as $key => $image) {
          if (!@
    getimagesize($image)) {$bb[] = $imagecodes[$key]; $html[] = $image; }
        }
    if (
    $bb)
    $code str_replace($bb,$html,$code);
    return 
    $file;
    }
    Код:
    найти:
    PHP:
       foreach ($privatesmilies as $code => $url)
          
    $s str_replace($code"<img border=\"0\" src=\"pic/smilies/$url\">"$s);

       return 
    $s;
    заменить на:
    Код:
    PHP:
       foreach ($privatesmilies as $code => $url)
          
    $s str_replace($code"<img border=\"0\" src=\"pic/smilies/$url\">"$s);

       return 
    check_images($s);

    Добавлено через 18 минут
    офф саит: http://dev.kinokpk.com
     
  3. nadohak

    nadohak Создатель

    Регистр.:
    27 авг 2008
    Сообщения:
    44
    Симпатии:
    5
    Честно говоря очень замудрёная система шаблонов раздачь.... может есть у кого мод попроше как на ТБДЕВ шаблоны раздачь или как на скай трекере?
     
    vipzal нравится это.
  4. Xack-Root

    Xack-Root

    Регистр.:
    16 фев 2007
    Сообщения:
    295
    Симпатии:
    67
    Отличный скрипт. Большой функционал! Мне это в нем понравилось больше всего. Насчёт замудренностей не спорю, есть немного, но привыкаешь.
     
    vipzal нравится это.
  5. nadohak

    nadohak Создатель

    Регистр.:
    27 авг 2008
    Сообщения:
    44
    Симпатии:
    5
    Еше плохо что для каждой категории создаються отдельные теги... разве не льзя сделать одно большое облоко тегов чтоб меньше обращений к бд было
     
    vipzal нравится это.
  6. vipzal

    vipzal Писатель

    Регистр.:
    14 апр 2009
    Сообщения:
    6
    Симпатии:
    2
    Kinokpk.com_releaser_v.2.70 (Альфа-версия)

    Альфа-версия доступна для скачивания: http://s3.filesdump.com/file/3e803a983fad/26569/Kinokpk.com_releaser_v.2.70%282%29.7z.html

    ВНИМАНИЕ! Это тестовый релиз, он не поддерживается (а также невозможно обновится до него с 2.40, нельзя "поставить его сверху"), не является стабильным, и все вопросы, не связанные с тестированием игнорируются.
    обсуждение багов в этой теме
    ==============================анонс==============
    Итак, товарищи, пришло время анонсировать версию скорее всего с индексом 2.60, а также все мероприятия, связанные с ее выходом.

    Работа над новой версией в данный момент завершена примерно на 75%, ибо недописаны:

    1. Подкатегории (пока не написана функция определения пути к категории торрента, тобиш например Игры / Windows / RPG), а также кеш к ним + реорганизация системы тегов (или ее удаление?), т.к. надо учитывать что теги должны распространяться на дочерние категории тоже.
    2. Ограничение на просмотр логов
    3. Скрипт тестового трекера (jQuery проверка, подтверждение, снятие подтверждения и т.д. - уже успешно работают)
    4. Контроль над читерами, нужен ли он вообще?, ибо вещь это бесполезная по сути.

    Все остальные нововведения, вроде TinyMCE, мода страниц, бинарного анонсера с возможностью переключения, улучшенной мультитрекерности с менеджером ретрекеров реализованы и успешно вроде бы функционируют.
    Единственное - пугает нагрузка, которая показывается в блоке, но возможно это неправда, ибо у меня при активных 40 пирах показывает 20%... в общем надо тестировать.

    Кстати о порядке выхода альфа-бета версий:

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

    В общем работы вагон и тележка.

    Первая альфа расчетно должна быть доступна к дню победы, может и раньше, но не факт.

    Any comments?
     
  7. Prok

    Prok Создатель

    Регистр.:
    4 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Лучше подождать полностью готовый двиг.
     
  8. masilla

    masilla Писатель

    Заблокирован
    Регистр.:
    2 мар 2009
    Сообщения:
    1
    Симпатии:
    0
    ссылка на демо-трекер устарела :(
     
  9. Antiment

    Antiment Постоялец

    Регистр.:
    27 окт 2007
    Сообщения:
    99
    Симпатии:
    4
    Поправте пожалуйста ссылку на 2.40 версию.Ссылка битая.
     
  10. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Так как сам занимаюсь большим трекером на схожем движке, то могу сказать что 16 запросов это очень много. Скрипт спокойно может работать на 2-5. А главная страница после первого открытия дает 0 запросов спокойно, это не теряя функционала
     
Статус темы:
Закрыта.