';
if (serendipity_db_bool($this->get_config('articleformat'))) {
echo '
';
}
echo '
';
}
}
function selected() {
global $serendipity;
if ($serendipity['GET']['subpage'] == 'votearchive' || $serendipity['GET']['subpage'] == $this->get_config('permalink') || $serendipity['GET']['subpage'] == $this->get_config('pagetitle')) {
return true;
}
return false;
}
function fetchPolls() {
global $serendipity;
return serendipity_db_query("SELECT title, active, timestamp, id FROM {$serendipity['dbPrefix']}polls ORDER BY timestamp DESC");
}
function insertPoll() {
global $serendipity;
$now = time();
$q = serendipity_db_query("INSERT INTO {$serendipity['dbPrefix']}polls (
title, active, timestamp
) VALUES (
'" . serendipity_db_escape_string($serendipity['POST']['currentPoll']['title']) . "',
0,
'" . $now . "')");
if ($q) {
return serendipity_db_insert_id('polls', 'id');
}
}
function updatePoll($id) {
global $serendipity;
$q = serendipity_db_query("UPDATE {$serendipity['dbPrefix']}polls
SET title = '" . serendipity_db_escape_string($serendipity['POST']['currentPoll']['title']) . "'
WHERE id = " . (int)$id);
return $q;
}
function addOption($pollid, $data) {
global $serendipity;
$q = serendipity_db_query("INSERT INTO {$serendipity['dbPrefix']}polls_options (
pollid, title, votes
) VALUES (
" . (int)$pollid . ",
'" . serendipity_db_escape_string($data['title']) . "',
0)");
return $q;
}
function deleteOption($optid) {
global $serendipity;
return serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}polls_options WHERE id = " . (int)$optid);
}
function updateOptions($pollid, $data) {
global $serendipity;
foreach($data AS $optid => $values) {
if (empty($values['title'])) {
$this->deleteOption($optid);
} else {
serendipity_db_query("UPDATE {$serendipity['dbPrefix']}polls_options
SET title = '" . serendipity_db_escape_string($values['title']) . "'
WHERE id = " . (int)$optid);
}
}
}
function showBackend() {
global $serendipity;
if ($serendipity['POST']['pollSave'] || $serendipity['POST']['pollOptionAdd'] || is_array($serendipity['POST']['pollOptionRemove'])) {
$serendipity['POST']['pollSubmit'] = true;
if ($serendipity['POST']['poll'] == '__new') {
$serendipity['POST']['poll'] = $this->insertPoll();
} else {
$this->updatePoll($serendipity['POST']['poll']);
$this->updateOptions($serendipity['POST']['poll'], $serendipity['POST']['pollOptions']);
}
}
if ($serendipity['POST']['pollOptionAdd']) {
$serendipity['POST']['pollSubmit'] = true;
$this->addOption($serendipity['POST']['poll'], $serendipity['POST']['pollNewOption']);
}
if (is_array($serendipity['POST']['pollOptionRemove'])) {
$serendipity['POST']['pollSubmit'] = true;
foreach($serendipity['POST']['pollOptionRemove'] AS $optid => $optval) {
$this->deleteOption($optid);
}
}
if ($serendipity['POST']['poll'] != '__new') {
$this->poll = serendipity_common_pollbox::fetchPoll($serendipity['POST']['poll']);
}
if ($serendipity['version'][0] == '2') {
echo '
' . PLUGIN_POLL_SELECT . '
';
}
if (!empty($serendipity['POST']['pollDelete']) && $serendipity['POST']['poll'] != '__new') {
serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}polls WHERE id = " . (int)$serendipity['POST']['poll']);
serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}polls_options WHERE pollid = " . (int)$serendipity['POST']['poll']);
if ($serendipity['version'][0] == '1') {
?>
';
echo '
';
echo ' ';
echo ' ';
echo '
';
if ($serendipity['version'][0] == '1') {
echo '