<?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");

?>
