<?PHP
/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
http://www.neocrome.net
http://www.seditio.org
[BEGIN_SED]
File=admin.polls.inc.php
Version=177
Updated=2015-feb-06
Type=Core.admin
Author=Neocrome
Description=Administration panel
[END_SED]
==================== */
if ( !defined('SED_CODE') || !defined('SED_ADMIN') ) { die('Wrong URL.'); }
list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('polls', 'a');
sed_block($usr['isadmin']);
$id = sed_import('id','G','TXT');
$po = sed_import('po','G','TXT');
$adminpath[] = array (sed_url("admin", "m=tools"), $L['adm_manage']);
$adminpath[] = array (sed_url("admin", "m=polls"), $L['Polls']);
$adminhelp = $L['adm_help_polls'];
//$adminmain = "<h2><img src=\"system/img/admin/polls.png\" alt=\"\" /> ".$L['Polls']."</h2>";
//$adminmain .= "<ul class=\"arrow_list\"><li><a href=\"".sed_url("admin", "m=config&n=edit&o=core&p=polls")."\">".$L['Configuration']."</a></li></ul>";
$t = new XTemplate(sed_skinfile('admin.polls', true));
if ($n=='options')
{
if ($a=='update' && !empty($id) && !empty($po))
{
$rtext = sed_import('rtext','P','HTM');
$sql = sed_sql_query("UPDATE $db_polls_options SET po_text='".sed_sql_prep($rtext)."' WHERE po_id='$po' AND po_pollid='$id'");
}
elseif ($a=='updatetitle' && !empty($id))
{
$rtitle = sed_import('rtitle','P','HTM');
$sql = sed_sql_query("UPDATE $db_polls SET poll_text='".sed_sql_prep($rtitle)."' WHERE poll_id='$id'");
}
elseif ($a=='add' && !empty($id))
{
$g = array ('ntext');
$ntext = sed_import('ntext','P','HTM');
$sql = sed_sql_query("INSERT INTO $db_polls_options (po_pollid, po_text) VALUES (".(int)$id.",'".sed_sql_prep($ntext)."')");
}
elseif ($a=='delete')
{
sed_check_xg();
$sql = sed_sql_query("DELETE FROM $db_polls_options WHERE po_id='$po' AND po_pollid='$id'");
}
$sql = sed_sql_query("SELECT * FROM $db_polls WHERE poll_id='$id' ");
$sql1 = sed_sql_query("SELECT * FROM $db_polls_options WHERE po_pollid='$id' ORDER by po_id ASC");
$row = sed_sql_fetchassoc($sql);
$adminpath[] = array (sed_url("admin", "m=polls&n=options&id=".$id), $L['Options']." (#$id)");
$t->assign(array(
"POLL_EDIT_ID" => $row["poll_id"],
"POLL_EDIT_SEND" => sed_url("admin", "m=polls&n=options&a=updatetitle&id=".$id),
"POLL_EDIT_TEXT" => sed_textbox('rtitle', sed_cc($row['poll_text']), 56, 255),
"POLL_EDIT_CREATION_DATE" => sed_build_date($cfg['dateformat'], $row["poll_creationdate"])
));
while ($row1 = sed_sql_fetchassoc($sql1))
{
$t->assign(array(
"POLL_EDIT_OPTIONS_SEND" => sed_url("admin", "m=polls&n=options&a=update&id=".$row1['po_pollid']."&po=".$row1['po_id']),
"POLL_EDIT_OPTIONS_DELETE_URL" => sed_url("admin", "m=polls&n=options&a=delete&id=".$row1['po_pollid']."&po=".$row1['po_id']."&".sed_xg()),
"POLL_EDIT_OPTIONS_ID" => $row1['po_id'],
"POLL_EDIT_OPTIONS_TEXT" => sed_textbox('rtext', sed_cc($row1['po_text']), 32, 128)
));
$t -> parse("ADMIN_POLLS.POLL_EDIT.OPTIONS_LIST");
}
$t->assign(array(
"POLL_OPTIONS_ADD_SEND" => sed_url("admin", "m=polls&n=options&a=add&id=".$row["poll_id"]),
"POLL_OPTIONS_ADD_TEXT" => sed_textbox('ntext', '', 32, 128)
));
$t -> parse("ADMIN_POLLS.POLL_EDIT");
}
else
{
if ($a=='delete')
{
sed_check_xg();
$id2 = "v".$id;
$sql = sed_sql_query("DELETE FROM $db_polls WHERE poll_id='$id'");
$num = sed_sql_affectedrows();
$sql = sed_sql_query("DELETE FROM $db_polls_options WHERE po_pollid='$id'");
$num = $num + sed_sql_affectedrows();
$sql = sed_sql_query("DELETE FROM $db_polls_voters WHERE pv_pollid='$id'");
$num = $num + sed_sql_affectedrows();
$sql = sed_sql_query("DELETE FROM $db_com WHERE com_code='$id2'");
$num = $num + sed_sql_affectedrows();
sed_redirect(sed_url("admin", "m=polls&msg=916&rc=102&num=".$num, "", true));
exit;
}
elseif ($a=='reset')
{
sed_check_xg();
$sql = sed_sql_query("DELETE FROM $db_polls_voters WHERE pv_pollid='$id'");
$num = sed_sql_affectedrows();
$sql = sed_sql_query("UPDATE $db_polls_options SET po_count=0 WHERE po_pollid='$id'");
$num = $num + sed_sql_affectedrows();
sed_redirect(sed_url("admin", "m=polls&msg=916&rc=102&num=".$num, "", true));
exit;
}
if ($a=='bump')
{
sed_check_xg();
$sql = sed_sql_query("UPDATE $db_polls SET poll_creationdate='".$sys['now_offset']."' WHERE poll_id='$id'");
sed_redirect(sed_url("admin", "m=polls&msg=916&rc=102&num=1", "", true));
exit;
}
if ($a=='add')
{
$ntext = sed_import('ntext','P','HTM');
$sql = sed_sql_query("INSERT INTO $db_polls (poll_state, poll_creationdate, poll_text) VALUES (0, ".(int)$sys['now_offset'].", '".sed_sql_prep($ntext)."')");
}
$sql = sed_sql_query("SELECT p.*, t.ft_id FROM $db_polls AS p
LEFT JOIN $db_forum_topics AS t ON t.ft_poll = p.poll_id
WHERE 1 ORDER BY p.poll_type ASC, p.poll_id DESC LIMIT 20");
$ii = 0;
$prev = -1;
while ($row = sed_sql_fetchassoc($sql))
{
$id = $row['poll_id'];
$type = $row['poll_type'];
$sql2 = sed_sql_query("SELECT SUM(po_count) FROM $db_polls_options WHERE po_pollid='$id'");
$totalvotes = sed_sql_result($sql2,0,"SUM(po_count)");
$t->assign(array(
"POLLS_LIST_DELETE_URL" => sed_url("admin", "m=polls&a=delete&id=".$id."&".sed_xg()),
"POLLS_LIST_RESET_URL" => sed_url("admin", "m=polls&a=reset&id=".$id."&".sed_xg()),
"POLLS_LIST_BUMP_URL" => sed_url("admin", "m=polls&a=bump&id=".$id."&".sed_xg()),
"POLLS_LIST_DATE" => sed_build_date($cfg['formatyearmonthday'], $row['poll_creationdate']),
"POLLS_LIST_OPTIONS_URL" => sed_url("admin", "m=polls&n=options&id=".$row['poll_id']),
"POLLS_LIST_POLLTEXT" => sed_cc($row['poll_text']),
"POLLS_LIST_TOTALVOTES" => $totalvotes,
"POLLS_LIST_OPEN_URL" => ($type==0) ? sed_url("polls", "id=".$row['poll_id']) : sed_url("forums", "m=posts&q=".$row['ft_id'])
));
$t -> parse("ADMIN_POLLS.POLLS.POLLS_LIST");
$ii++;
}
$t->assign(array(
"POLLS_TOTAL" => $ii,
"POLL_ADD_SEND" => sed_url("admin", "m=polls&a=add"),
"POLL_ADD_TEXT" => sed_textbox('ntext', '', 64, 255)
));
$t -> parse("ADMIN_POLLS.POLLS");
}
$t -> parse("ADMIN_POLLS");
$adminmain .= $t -> text("ADMIN_POLLS");
?>