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

Веб webMCR 2.4

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем NC22, 30 авг 2012.

  1. Lancelot

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

    Баллы:
    123
    Skype:
    lancelool
    Имя в Minecraft:
    Lancelool
    В ****у Денвер.
    Я не на одном хосте испробовал webmcr, везде одни и те же проблемы.
     
  2. Хостинг MineCraft
    <
  3. satan_007

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

    Баллы:
    103
    Skype:
    satan_0007
    Имя в Minecraft:
    satan_007
    Хостинг provisov.net все загрузилось! Не одного варнинга, html код нормально пашет. http://skin.mcdia.ru
     
  4. Lancelot

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

    Баллы:
    123
    Skype:
    lancelool
    Имя в Minecraft:
    Lancelool
    МБ у меня что сломалось...
     
  5. satan_007

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

    Баллы:
    103
    Skype:
    satan_0007
    Имя в Minecraft:
    satan_007
    Попробуй добавить в .htacess
    Код:
    php_flag magic_quotes_gpc Off
     
    Lancelot нравится это.
  6. Автор темы
    NC22

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

    Баллы:
    153
    Имя в Minecraft:
    NC22
    Ну так предоставь площадку для тестов, если уверен, что дело не в кавычках. Проблему повторить не удалось.

    Версия была скачана неделю назад? см. сообщение

    В редакторе есть функция вывода исходного кода как и раньше. Но можно удалить редактор - style/news/news_add.html - удалить 2 строчки tinymce

    слишком поверхностный ответ. Можно номер версии, мб адрес хостера.
     
    slavik123123123, Angel of death и Lancelot нравится это.
  7. никио

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

    Баллы:
    123
    Skype:
    googletools
    Имя в Minecraft:
    Googlers
    :Dтема на 155 страниц
     
    DragonX и Angel of death нравится это.
  8. Ur4uk

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

    Баллы:
    103
    Skype:
    Hannyfeo
    Я на html и вставлял. Тут дело в js.
     
  9. никио

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

    Баллы:
    123
    Skype:
    googletools
    Имя в Minecraft:
    Googlers
    А не лучше vds взять? чем парить мозги с обычными хостами.
     
  10. Ur4uk

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

    Баллы:
    103
    Skype:
    Hannyfeo
    Там не мой хост.. проблему решил. Изображения вставил таким кодом <img src=img.jpg>
     
  11. martyanov12

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

    Баллы:
    63
    Skype:
    martyanov12th
    Имя в Minecraft:
    martyanov12
    Нет. Связать худо-бедно у меня вышло. Только есть одно "но". У меня основная CMS - xenForo, и мне надо чтобы remember_key в таблице паролей xenForo сошелся со сгенерированным лаунчером кодом. Вроде видит, а шифрует как-то не так.
    В xenForo я полагаю SHA1+SHA256+SALT, только вот черт его знает...


    UPDATED.
    Все оказалось проще. Фикс кривой, поставил основные файлы (они уже настроены были).
     
  12. Tereror

    Tereror Старожил

    Баллы:
    103
    Поставил новую версию и задался вопросом: "Где менять меню сверху? Раньше в индексе все было, а сейчас где?" Изрыл все что можно, но не нашел...
     
    Сникерсни нравится это.
  13. satan_007

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

    Баллы:
    103
    Skype:
    satan_0007
    Имя в Minecraft:
    satan_007
    instruments/menu_items.php
     
    Lancelot и Tereror нравится это.
  14. Lancelot

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

    Баллы:
    123
    Skype:
    lancelool
    Имя в Minecraft:
    Lancelool
    Благодарю. Решил все проблемы.[DOUBLEPOST=1370084366,1370034433][/DOUBLEPOST]
    помогло.
     
  15. seand

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

    Баллы:
    78
    До этого стояла WEBMCR 2.1, перешел на 2.15, но есть одна проблема... Регистрируюсь - Регистрация завершена Подтвердите ваш почтовый адрес, чтобы разблокировать все действия с аккаунтом - подтвердил, а зайти не могу, пишет Пользователь с таким именем или e-mail'ом не существует
     
  16. Автор темы
    NC22

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

    Баллы:
    153
    Имя в Minecraft:
    NC22
    На днях основной теме исполнился год, время летит :)

    Рад, что многим проект пригодился за этот год. Всем добра.

    @seand, см. здесь . При переходе на новую версию старый конфиг был удален?
     
    alden нравится это.
  17. seand

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

    Баллы:
    78
    Решил проблему, действительно конфиг)
    Осталась еще одна, ссылки в верхней панели не рабочие, .ru/go/control - 404
     
  18. никио

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

    Баллы:
    123
    Skype:
    googletools
    Имя в Minecraft:
    Googlers
    NC22, кстати используй этот код в своем редакторе под новости, и все будет лучше оформлены новости чем городить 10001 и 1 тег <p> в каждое новое предложение.
    PHP:
    Код выполнен в виде одного небольшого класса2, выровненный HTML можно получить при помощи нескольких строк:
     
    $align = new alignedXHTML;
    $align->SPACER = "  "; // устанавливаем отступ по два пробела
    $align->SKIPTAGS = array('a', 'img', 'span', 'sup'); // эти теги трогать не будем
    // допустим, ранее сформированный HTML-код хранится в переменной $html
    $aligned_html = $align->parse($html); // получили выровненный HTML
    Класс будет правильно работать при соблюдении следующих условий:
     
    количество открывающих тегов равно количеству закрывающих (т.е. код корректный)
    одиночный тег всегда имеет слэш прямо перед закрывающей скобкой (<br/> или <br />, но не <br>)
    Последнее требование является частью стандарта XHTML, поэтому в итоге класс получил название alignedXHTML.
     
    Основным недостатком рассматриваемого способа является его сравнительно низкое быстродействие: обработка 100 Кб HTML-кода на сервере, обслуживающем webew.ru, занимает порядка 0.05 сек. Видимо, упирается здесь всё в низкую производительность PHP (сам код подвергался достаточно тщательной оптимизации), и тут уж ничего не поделаешь3.
     
    Далее приводится непосредственно сам код.
     
    class 
    alignedXHTML
        
    {
        public 
    $SPACER;
        public 
    $OFFSET;
        public 
    $SKIPTAGS;
        function 
    parse($xhtml)
            {
            if (
    is_null($this->SPACER)) {$this->SPACER = "\t"; }
            if (
    is_null($this->OFFSET)) {$this->OFFSET = 0; }
            if (
    is_null($this->SKIPTAGS)) {
                
    $this->SKIPTAGS = array('a', 'span', 'img', 'sup', 'sub');
                }
            
    /*
            Теги <textarea>, <pre> и <script> - особенные, и с ними
            придется попотеть.
            Нужно защитить содержимое этих тегов от вмешательства
            при выравнивании: убрать на время, во-первых, переводы строки,
            во-вторых, HTML-теги, которые могут встретиться внутри
            строковых переменных в скриптах
            (точнее, не сами теги, а открывающие и закрывающие скобки).
            */
            
    $xhtml = str_replace(array("\x01", "\x02", "\x03"), '', $xhtml);
            
    $xhtml = preg_replace_callback(
                
    '/
                (<(textarea|script|pre)(?:[^>"\']*|"[^"]*"|\'[^\']*\')*>)
                (.*?)
                (<\/\2>)
                /six'
    ,
                
    // модификатор 's' не забываем: точка тут должна совпадать
                // и с символом новой строки; модификатор 'x' позволяет добавлять в шаблон
                // необрабатываемые пробелы и переводы строки, чтобы он лучше читался
                
    create_function(
                    
    '$matches',
                    
    '$tagbody = $matches[3];
                    $tagbody = str_replace("\n", "\x01", $tagbody);
                    $tagbody = str_replace("<", "\x02", $tagbody);
                    $tagbody = str_replace(">", "\x03", $tagbody);
                    return $matches[1] . $tagbody . $matches[4];'
                    
    ),
                
    $xhtml);
           
            
    // регулярное выражение для HTML-тега
            // (модификатор s не нужен, т.к. точки в выражении нет)
            
    $tagpattern = '/<(\/?)(\w+)(?:[^>"\']*|"[^"]*"|\'[^\']*\')*>/';
           
            
    // убираем переводы строки внутри тегов (заменяем на пробелы)
            
    $xhtml = preg_replace_callback(
                
    $tagpattern,
                
    create_function(
                    
    '$matches',
                    
    'return str_replace("\n", " ", $matches[0]);'
                    
    ),
                
    $xhtml);
           
            
    // теперь обрабатыавем XHTML-код по одной строке
            // (PHP это не умеет, поэтому пришлось вручную)
            
    $start = 0;
            
    $final_xhtml = '';
            do
                {
                
    $end = strpos($xhtml, "\n", $start);
                
    $line = ($end !== FALSE)
                    ? 
    substr($xhtml, $start, $end - ($start - 1) )
                    : 
    substr($xhtml, $start);
                
    $line = ltrim($line); // убираем ведущие пробелы, чтоб не мешали выравнивать
                
    $final_xhtml .=
                    
    str_repeat($this->SPACER, $this->OFFSET) .
                    
    preg_replace_callback(
                        
    $tagpattern,
                        array(
    $this, 'alignXHTMLtags'),
                        
    $line);
                
    $start = $end + 1;
                }
            while (
    $end !== FALSE);
           
            
    // убираем пустые строки
            
    $final_xhtml = preg_replace('/\n\s*(?=\n)/m', '', $final_xhtml);
           
            
    // возвращаем обратно содержимое <textarea>, <pre> и <script>
            
    $final_xhtml = str_replace("\x01", "\n", $final_xhtml);
            
    $final_xhtml = str_replace("\x02", "<", $final_xhtml);
            
    $final_xhtml = str_replace("\x03", ">", $final_xhtml);
           
            return 
    $final_xhtml;
            }
           
        function 
    alignXHTMLtags($matches)
            {
            
    $tag = $matches[0];
            
    $tagname = $matches[2];
            if (
    in_array($tagname, $this->SKIPTAGS)) return $tag;
            
    $opening = FALSE;
            if (
    $matches[1]) { $this->OFFSET -= 1;  } // тег является закрывающим
            
    elseif (substr($tag, -2, 1) == '/') { ; } // тег является одиночным
            
    else { $opening = TRUE; } // если тег не является ни одиночным, ни закрывающим, значит, он открывающий
            
    if ($tagname == 'textarea' OR $tagname == 'pre' OR $tagname == 'script')
                { 
    // эти теги вообще не трогаем, просто перенесем их
                // полностью (со всем содержимым) на новую строку
                
    if ($opening) { $replacement = "\n" . $tag; }
                else 
    $replacement = $tag . "\n";
                }
            else
                {
                
    $replacement = "\n"
                    
    . str_repeat($this->SPACER, $this->OFFSET) . $tag . "\n"
                    
    . str_repeat($this->SPACER, $this->OFFSET + 1);
                }
            if (
    $opening) { $this->OFFSET += 1; }
            return 
    $replacement;
            }
        }
    1. Это касается случая, когда внутри тегов <textarea> имеются переводы строки. Если при обработке кода никак их не защитить, то в содержимое тега добавятся символы, используемые для выравнивания кода, что приведет к искажению данных (по этой же причине нельзя и просто отмахнуться от переводов строки, заменив их на пробелы — для этого все манипуляции с непечатаемыми символами).
    С тегами <pre> и <script> ситуация еще сложнее: в их содержимом помимо переводов строки могут встретиться еще и HTML-теги, которые будут выравниваться наряду с остальным HTML-кодом, если это специально не предотвратить (например, заменив скобки тегов на что-нибудь на время выравнивания, а потом вернуть их обратно).
    Эта проблема также решается с помощью непечатаемых символов.⇑
     
    2. Писать через классы пришлось из
    -за того, что в callback-функцию, вызываемую в preg_replace_callback(), невозможно нормальным способом передать никакие аргументы, кроме собственно массива совпадений, и уж тем более никак нельзя получить их обратно. ⇑
     
    3. Из этих 0.05 сек 60
    % составляет непосредственно выравнивание тегов, 35% — замена переводов строки на пробелы внутри тегов и около 5% — удаление пустых строк.
    Если в коде встречаются <textarea>, <pre> и <script>, время работы возрастает еще на несколько процентов.
    Работу кода можно ускорить почти в три раза, если использовать для внутренности тегов выражения /<(\/?)(\w+)(?:[^>"\']*|"[^"]*"|\'[^\']*\')*>/ более «грязное» — /<(\/?)(\w+)[^>]*>/. Дополнительный набор альтернатив требуется для случая, когда внутри одинарных или двойных кавычек в теге встретится закрывающая скоба (например, <img alt="3 > 2 - верно!">). В реальной жизни так практически никогда не бывает, и те, кто готов на это положиться, могут использовать второе выражение вместо первого. ⇑
     
  19. Автор темы
    NC22

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

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @никио, Учту, но так ли нужна в данном случае логика на стороне сервера? Часть важных настроек TinyMCE тоже вынесу.
    Абзацы генерируются потому что TinyMCE так настроен. Сейчас для переноса строки можно использовать shift+enter, либо в index.php в функции LoadTinyMCE добавить по аналогии $tmce .= ' force_br_newlines : true,';
    На счет выравнивания не осведомлен, но думаю оно предусмотрено.
     
  20. Jhutf

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

    Баллы:
    63
    Имя в Minecraft:
    Jhutf
    У меня возникла проблема с Iconomy. На сайте пишет:
    Код:
    <b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>****/instruments/user.class.php</b> on line <b>236</b><br />
    Потом поковырялся в логе и нашел там такое:
    Код:
    < SQLError: [SELECT `balance` FROM `1` WHERE `username`='demo'] 
    Как я понял, сейчас используется таблица "1". Кто знает, как это можно исправить?
     
  21. satan_007

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

    Баллы:
    103
    Skype:
    satan_0007
    Имя в Minecraft:
    satan_007
    Мои экстросенсорные способности говорят, что ты в конфиге поменял с Iconomy - false на true. Но ты не прав. Ты должен был поменять на 'Iconomy'. Оммм... :)
     
    Jhutf нравится это.

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