не воспроизводится Ошибки с опросами в r581

Dr_Brown

Пользователь
#1
У меня с новыми опросами, появился баг странный.....создаю опрос, пишет опрос добавлен, но в топике его не отображает, хотя в форуме висит что тема "опрос", и в базе topic_vote = 1 Причем это по двум трекерам....На одном создано в разных темах три опроса, отображается только в одной теме, причем как я понял который ранее был создан. На втором трекере, седня создал опрос, он отобразился, потом удалил опрос. Потом через какоето время в другом топике создал, он не отобразился. В логах пусто. 100 раз перепроверил tpl шаблонов, и по ревизии.....бред...никто ещё не замечал такого ?
На демке вроде пашет.
 

Dr_Brown

Пользователь
#2
Какая то байда со стилями, почему то на этот div:

Код:
<div id="poll" class="row5" style="padding: 0 10%; display: none;">
При активном опросе, остается стиль display: none;

ну даже если я отключаю в консоли браузера display: none; то не видны варианты ответов....

ниче не пойму.....
 

Dr_Brown

Пользователь
#3
В общем какойто баг есть, не пойму от чего зависит, но в некоторых топиках работает нормально, а в некоторых не отображается...
Ребят у кого 581, проверьте пожалуйста в разных топиках опросы посоздавать

такое впечатление что этот скрипт не отрабатывает, не пойму почему:
Код:
<script type="text/javascript">
var bb_poll = {};
bb_poll.data        = {POLL_VOTES_JS};  // [["заголовок", "result"], ...]
bb_poll.title      = '';
bb_poll.votes_data  = {};
bb_poll.votes_sum  = 0;
bb_poll.max_img_len = 205;  // 100% = this length
 
$(function(){
    $.each(bb_poll.data, function(vote_id, vote_data){
        var vote_text  = vote_data[0];
        var vote_result = parseInt(vote_data[1]);
 
        if (vote_id == 0) {
            bb_poll.title = vote_text;
        }
        else {
            bb_poll.votes_sum += vote_result;
            bb_poll.votes_data[vote_id] = [vote_text, vote_result];
        }
    });
 
    $('#poll-title').html(bb_poll.title);
    $('#votes-sum-val').text(bb_poll.votes_sum);
 
    $.each(bb_poll.votes_data, function(vote_id, vote_data){
        var vote_caption  = vote_data[0];
        var vote_result    = parseInt(vote_data[1]);
        var vote_percent  = (bb_poll.votes_sum) ? Math.round(vote_result / bb_poll.votes_sum * 100) : 0;
        var vote_img_width = Math.round(vote_percent * bb_poll.max_img_len / 100);
 
        $('#poll-results-tpl tbody')
            .clone()
            .find('span.poll-vote-caption').html(vote_caption).end()
            .find('img.poll-vote-img').css({ width: vote_img_width }).end()
            .find('span.poll-vote-percent').text(vote_percent+'%').end()
            .find('span.poll-vote-result').text(vote_result).end()
            .appendTo('#poll-results-block')
        ;
    });
 
    $('#poll').show();
});
 
function build_votes ()
{
    $.each(bb_poll.votes_data, function(vote_id, vote_data){
        var vote_caption = vote_data[0];
        var vote_el_id  = 'vote-'+ vote_id;
 
        $('#poll-results-block').hide();
        $('#poll-votes-tpl tbody')
            .clone()
            .find('input').val(vote_id).attr({id: vote_el_id}).end()
            .find('label').html(vote_caption).attr({'for': vote_el_id}).end()
            .appendTo('#poll-votes-block')
        ;
    });
    $('#votes-sum-block, #vote-btn-a, #poll-manage').hide();
    $('#vote-btn-input').show();
}
 
function submit_vote ()
{
    var $voted_id = $('input.vote-inp:checked');
 
    if ($voted_id.length == 0) {
        alert('Вы не выбрали, за что голосуете');
    }
    else {
        $('#poll-mode').val('poll_vote');
        $voted_id.clone().appendTo('#poll-form');
        $('#vote-id').val( $voted_id.val() );
        $('#poll-submit-btn').click();
    }
}
 
function build_poll_edit_form ()
{
    $('#poll').empty().append( $('#poll-edit-tpl').contents() )
    $('#poll-legend').html('Изменить опрос');
    $('#poll-edit-submit-btn').click(function(){
        return poll_manage('poll_edit', 'Изменить опрос (старые результаты будут удалены)?');
    });
 
    $('#poll-caption-inp').val( html2text(bb_poll.title) );
 
    var votes_text = [];
    $.each(bb_poll.votes_data, function(vote_id, vote_data){
        votes_text.push( html2text(vote_data[0]) );
    });
    $('#poll-votes-inp').val( votes_text.join('\n') );
 
    return false;
}
 
function html2text (str)
{
    return $('<span></span>').html(str).text();
}
</script>
 

Dr_Brown

Пользователь
#4
И ещё одна странность, в старых релизах, типа за 2012 год, вообще не отображается кнопка "опрос"......хотя: topic_vote=0
 

Exile

Администратор
#5
577 ревизию пропустили? Что-то у меня такое ощущение что да, потому что этот баг там правился. Воспроизведите на демо.
 

Dr_Brown

Пользователь
#6
Exile, не могу, проблема со старыми топиками, все что новые заливаются, отрабатывают нормально.
Да не мог я ошибиться аж на двух трекерах. Ставил все ревизии руками, по пунктно.

Ребята у кого 581, проверьте данный баг на работающих трекерах.
 

Exile

Администратор
#7
Кеш очищать пробовали? В таблице поле topic_vote таблицы bb_topics у проблемных тем чему равно?
 

Exile

Администратор
#9
Данная проблема только и исключительно из-за кеша. Смените в config.php тип кеширования в данной строке

Please Login or Register to view hidden text.

на какой-нибудь другой (если стоит фаловый - мемкеш поставьте или наоборот) и проверьте сохранилась ли проблема.
 

Dr_Brown

Пользователь
#10
В базе все ок, и таблицы с вариантами, и все такое, но почему то скрипт из viewtopic_poll.tpl отрабатывает не на всех топиках. Наблюдается на всех 3-х шаблонах включая дефолтный.
 
Сверху