Код: Выделить всё
Could not obtain vote data for this topic
DEBUG MODE
SQL Error : 1030 Got error 28 from storage engine
SELECT vd.vote_id, vd.vote_text, vd.vote_start, vd.vote_length, vr.vote_option_id, vr.vote_option_text, vr.vote_result FROM phpbb_vote_desc vd, phpbb_vote_results vr WHERE vd.topic_id = 719 AND vr.vote_id = vd.vote_id ORDER BY vr.vote_option_id ASC
Line : 725
File : viewtopic.php
Вот собственно мой viewtopic.php, кусок связанный с опросом:
Код: Выделить всё
//
// Does this topic contain a poll?
//
if ( !empty($forum_topic_data['topic_vote']) )
{
$s_hidden_fields = '';
$sql = "SELECT vd.vote_id, vd.vote_text, vd.vote_start, vd.vote_length, vr.vote_option_id, vr.vote_option_text, vr.vote_result
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
ORDER BY vr.vote_option_id ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain vote data for this topic", '', __LINE__, __FILE__, $sql);
}
if ( $vote_info = $db->sql_fetchrowset($result) )
{
$db->sql_freeresult($result);
$vote_options = count($vote_info);
$vote_id = $vote_info[0]['vote_id'];
$vote_title = $vote_info[0]['vote_text'];
/*
$sql = "SELECT vote_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = " . intval($userdata['user_id']);
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user vote data for this topic", '', __LINE__, __FILE__, $sql);
}
$user_voted = ( $row = $db->sql_fetchrow($result) ) ? TRUE : 0;
*/
//
// MOD START: View Who Voted - AbelaJohnB -- http://www.phpBB2mods.Com/
//
$sql = "SELECT user_id, username FROM " . USERS_TABLE . ", " . VOTE_USERS_TABLE . " WHERE vote_id = '" . $vote_id . "' AND vote_user_id = user_id AND user_active = '1' GROUP BY username, user_id ORDER BY username";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user who have voted for the included poll. ", '', __LINE__, __FILE__, $sql);
}
$user_voted = false;
$who_voted = '';
$first_row = true;
while( $row = $db->sql_fetchrow($result) )
{
$who_voted .= ($first_row ? '' : ', ') . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['username'] . '</a>';
if ( $row['user_id'] == $userdata['user_id'] )
{
$user_voted = true;
}
$first_row = false;
}
//
// MOD END: View Who Voted - AbelaJohnB -- http://www.phpBB2mods.Com/
//
$db->sql_freeresult($result);
if ( isset($HTTP_GET_VARS['vote']) || isset($HTTP_POST_VARS['vote']) )
{
$view_result = ( ( ( isset($HTTP_GET_VARS['vote']) ) ? $HTTP_GET_VARS['vote'] : $HTTP_POST_VARS['vote'] ) == 'viewresult' ) ? TRUE : 0;
}
else
{
$view_result = 0;
}
$poll_expired = ( $vote_info[0]['vote_length'] ) ? ( ( $vote_info[0]['vote_start'] + $vote_info[0]['vote_length'] < time() ) ? TRUE : 0 ) : 0;
if ( $user_voted || $view_result || $poll_expired || !$is_auth['auth_vote'] || $forum_topic_data['topic_status'] == TOPIC_LOCKED )
{
$template->set_filenames(array(
'pollbox' => 'viewtopic_poll_result.tpl')
);
$vote_results_sum = 0;
for($i = 0; $i < $vote_options; $i++)
{
$vote_results_sum += $vote_info[$i]['vote_result'];
}
$vote_graphic = 0;
$vote_graphic_max = count($images['voting_graphic']);
for($i = 0; $i < $vote_options; $i++)
{
$vote_percent = ( $vote_results_sum > 0 ) ? $vote_info[$i]['vote_result'] / $vote_results_sum : 0;
$vote_graphic_length = round($vote_percent * $board_config['vote_graphic_length']);
$vote_graphic_img = $images['voting_graphic'][$vote_graphic];
$vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0;
if ( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$template->assign_block_vars("poll_option", array(
'POLL_OPTION_CAPTION' => $vote_info[$i]['vote_option_text'],
'POLL_OPTION_RESULT' => $vote_info[$i]['vote_result'],
'POLL_OPTION_PERCENT' => sprintf("%.1d%%", ($vote_percent * 100)),
'POLL_OPTION_IMG' => $vote_graphic_img,
'POLL_OPTION_IMG_WIDTH' => $vote_graphic_length)
);
}
$template->assign_vars(array(
'L_WHO_VOTED' => $lang['Who_Voted'],
'WHO_VOTED' => $who_voted,
'L_TOTAL_VOTES' => $lang['Total_votes'],
'TOTAL_VOTES' => $vote_results_sum)
);
}
else
{
$template->set_filenames(array(
'pollbox' => 'viewtopic_poll_ballot.tpl')
);
for($i = 0; $i < $vote_options; $i++)
{
if ( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$template->assign_block_vars("poll_option", array(
'POLL_OPTION_ID' => $vote_info[$i]['vote_option_id'],
'POLL_OPTION_CAPTION' => $vote_info[$i]['vote_option_text'])
);
}
$template->assign_vars(array(
'L_SUBMIT_VOTE' => $lang['Submit_vote'],
'L_VIEW_RESULTS' => $lang['View_results'],
'U_VIEW_RESULTS' => append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&vote=viewresult"))
);
$s_hidden_fields = '<input type="hidden" name="topic_id" value="' . $topic_id . '" /><input type="hidden" name="mode" value="vote" />';
}
if ( count($orig_word) )
{
$vote_title = preg_replace($orig_word, $replacement_word, $vote_title);
}
$s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
$template->assign_vars(array(
'POLL_QUESTION' => $vote_title,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_POLL_ACTION' => append_sid("posting.$phpEx?mode=vote&" . POST_TOPIC_URL . "=$topic_id"))
);
$template->assign_var_from_handle('POLL_DISPLAY', 'pollbox');
}
}
Код: Выделить всё
message_die(GENERAL_ERROR, "Could not obtain vote data for this topic", '', __LINE__, __FILE__, $sql);
Вот просто тема: http://svetlovodsk.com.ua/forum/viewtopic.php?t=558
Добавлено спустя 16 минут 38 секунд:
Залез только что в таблицу phpbb_vote_results...
Есть там варианты ответа из последнего опроса...
Вот тут не ясно...
Код: Выделить всё
WHERE vd.topic_id = 719 AND vr.vote_id = vd.vote_id
vote_id равен сам себе?
Добавлено спустя 1 минуту 39 секунд:
Только что пробовал залить оригинальный файл viewtopic.php
Ответ получил такой же, только номер строки в которой ошибка другой. Ну это и понятно, я ж походу ставил дополнительные моды...
Добавлено спустя 5 минут 4 секунды:
Вернул на место свой viewtopic.php
Попытался создать тему - все красиво, но опрос не отображается, хотя я его добавлял...
Тоесть проблема четко определена:
1. Старые темы с опросами не открываются. Ошибка в начале поста.
2. В новые темы невозможно добавить опрос.
Добавлено спустя 1 минуту 40 секунд:
Сам себя цитируюПопытался создать тему - все красиво, но опрос не отображается, хотя я его добавлял...

Короче зашел я обратно в эту тему и нажал "правка". Опрос виден, я могу вносить изменения. Но на сайте не отображается вобще.
Добавлено спустя 3 минуты 48 секунд:
Аномальное явление!!!



Все заработало! Не знаю что это было...