Viewing file: index.php (8.64 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
######################
# COOKIE VARIABLES:
# $sympauth[0] = md5
# $sympauth[1] = user
######################
# try to prevent caching
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
# detect file extension
$dotloc = strrpos(__FILE__, '.');
$ext = substr(__FILE__, $dotloc+1, (strlen(__FILE__) - $dotloc));
# detect sympoll directory
$symphome = dirname(str_replace("\\", "/", __FILE__));
if(ereg("[/]$", $symphome))
{ $symphome = substr($symphome, 0, strlen($symphome)-1); }
$symphome = dirname($symphome);
if(ereg("[/]$", $symphome))
{ $symphome = substr($symphome, 0, strlen($symphome)-1); }
# include stuff
include "$symphome"."/common."."$ext";
include "$symphome"."/classes/poll."."$ext";
include "$symphome"."/classes/ulist."."$ext";
include "$symphome"."/classes/plist."."$ext";
include dirname(__FILE__)."/accounts."."$ext";
include dirname(__FILE__)."/polls."."$ext";
include dirname(__FILE__)."/globals."."$ext";
include dirname(__FILE__)."/setup."."$ext";
///////////////////////////////////////////////////////////////////
// DISPLAYS HTML HEADER & FOOTER
///////////////////////////////////////////////////////////////////
function spit_header($full=TRUE) {
global $g_message, $ext, $title; ?>
<html><head><title>Sympoll Administration</title>
<meta http-equiv="robots" content="noindex,nofollow"></head>
<body bgcolor="#99bdbd" text="#000000" link="#0000dd" vlink="#0000dd">
<?php if(!$full) { ?>
<font size="2" face="Verdana, Geneva"><br><br>
<?php return;
}
$l = new PList(); ?>
<table border="0" cellpadding="1" cellspacing="4" width="100%" height="100%" bordercolor="#000066">
<tr><td align="center" valign="top" width="100%" height="35" colspan="4">
<font size="6" face="Arial, Verdana, Geneva" color="#000066">
<?php if(isset($title) && $title != "") { ?>
Sympoll Admin ~ <?php echo $title; ?>
<?php } else { ?>
S y m p o l l A d m i n
<?php } ?>
</font></td></tr>
<tr><td width="100%" height="2" bgcolor="#000066" colspan="4"></td></tr>
<tr><td align="left" valign="top" width="130">
<font size="2" face="Verdana, Geneva">
<!-- begin menu bar -->
<form action="index.<?php echo $ext; ?>" method="post">
<br><b>action:</b><br>
<select name="action" size="1">
<option value="acc_p_logout">log out</option>
<option value=""> </option>
<option value="polls_d_create">create poll</option>
<?php if ($l->numpolls > 0) { ?>
<option value="polls_d_view">view poll</option>
<option value="polls_d_edit">edit poll</option>
<option value="polls_p_toggle">toggle poll</option>
<option value="polls_d_reset">reset poll</option>
<option value="polls_d_delete">delete poll</option>
<?php } ?>
<option value=""> </option>
<option value="acc_d_chgpass">change password</option>
<?php if(verify_access(0)) { ?>
<option value="acc_d_adduser">add an admin</option>
<option value="acc_d_rmuser">remove an admin</option>
<option value="config_d_db">config database</option>
<option value="config_d_disp">config display</option>
<option value="config_d_misc">config miscellany</option>
<option value="iplog_d_maint">ip_log maintenance</option>
<?php } ?>
</select> <br><br>
<b>poll:</b><br>
<?php if ($l->numpolls == 0) { ?>
no polls to modify
<?php } else {
$size = min(4, $l->numpolls); ?>
<select name="pid" size="<?php echo $size; ?>">
<?php while(is_array($l->ident) && list($k,$v) = each($l->ident)) {
$prtstatus = " [on]";
if($l->status[$k] == 0) {
$prtstatus = " [off]";
} if(!isset($firstpoll)) {
$firstpoll = TRUE;
echo "<option value=\""."$k"."\" selected=\"selected\">"."$v"."$prtstatus"."</option>\n";
} else {
echo "<option value=\""."$k"."\">"."$v"."$prtstatus"."</option>\n";
}
} ?>
</select> <br><br>
<?php } ?>
<input type="submit" value="proceed" style="font-size: 10px">
<br><br></form>
<?php if(isset($g_message) && $g_message != "") { ?>
<b>status message:</b><br><?php echo $g_message; ?><br>
<?php } ?>
</font>
<!-- end menu bar -->
</td>
<td width="2" bgcolor="#000066"></td>
<td width="15"> </td>
<td align="left" valign="top" width="100%">
<font size="2" face="Verdana, Geneva"><br><br>
<?php }
function spit_footer($full=TRUE) {
symp_disconnect(TRUE);
echo "</font>";
if($full == TRUE) {
echo "</td></tr></table>";
}
echo "</body></html>";
exit();
}
///////////////////////////////////////////////////////////////////
// DISPLAYS HTML HEADER & FOOTER
///////////////////////////////////////////////////////////////////
function display_opening() {
global $version, $sympauth;
spit_header(); ?>
<div align="center"><br><br><br>
<font size="5" face="Arial, Verdana, Geneva">
<b><?php echo $sympauth[1]; ?></b> authenticated
<br><br>
sympoll <i><small>v</small></i><?php echo $version; ?>
</font></div>
<?php spit_footer();
}
/////////////////////////////////////////////////////////////////////////
// CODE EXECUTION
/////////////////////////////////////////////////////////////////////////
# WE NEED A CONFIG FILE
if(!is_file("$symphome"."/config."."$ext") ||
filesize("$symphome"."/config."."$ext") <= 0) {
if(isset($action) && $action == 'setup_p_config') {
setup_process_config();
} else {
setup_display_config();
}
}
# WE'RE SET, LETS GO
symp_connect();
# ACTIONS THAT REQUIRE NO COOKIE
if(isset($action) && $action == 'acc_p_auth') {
auth_user($user, $pass);
} elseif(isset($action) && $action == 'acc_p_addsuper') {
process_adduser($user, $pass1, $pass2, TRUE);
display_adduser(TRUE); /* loop if adduser failed */
}
# CHECK FOR ACCESS
if(isset($sympauth) && is_array($sympauth) && sizeof($sympauth) >= 2) {
$sympauth[0] = addslashes($sympauth[0]);
$sympauth[1] = addslashes($sympauth[1]);
if(!auth_cookie()) {
setup_check_dbtables();
auth_display();
}
} else {
setup_check_dbtables();
auth_display();
}
if(!isset($action) || $action == "") {
display_opening();
}
# POLL DISPLAYS
elseif($action == 'polls_d_create') {
display_create();
} elseif($action == 'polls_d_view') {
display_view($pid);
} elseif($action == 'polls_d_edit') {
display_edit($pid);
} elseif($action == 'polls_d_delete' || $action == 'polls_d_reset') {
display_del_rs($pid, $action);
}
# ACCOUNT DISPLAYS
elseif($action == 'acc_d_chgpass') {
display_pass();
} elseif($action == 'acc_d_adduser') {
display_adduser(FALSE);
} elseif($action == 'acc_d_rmuser') {
display_rmuser();
}
# CONFIG DISPLAYS
elseif($action == 'config_d_db') {
display_config_db();
} elseif($action == 'config_d_disp') {
display_config_disp();
} elseif($action == 'config_d_misc') {
display_config_misc();
}
# IPLOG DISPLAY
elseif($action == 'iplog_d_maint') {
display_iplogmaint();
}
# POLL PROCESSING
elseif($action == 'polls_p_create') {
process_create($ident, $question, $newo);
} elseif($action == 'polls_p_edit') {
process_edit($pid, $ident, $question, $newo, $updateo, $deleteo);
} elseif($action == 'polls_p_delete' || $action == 'polls_p_reset') {
process_del_rs($pid, $ident, $confirmation);
} elseif($action == 'polls_p_toggle') {
process_toggle($pid);
}
# ACCOUNT PROCESSING
elseif($action == 'acc_p_chgpass') {
process_pass($oldpass, $newpass1, $newpass2);
} elseif($action == 'acc_p_adduser') {
process_adduser($user, $pass1, $pass2, FALSE);
} elseif($action == 'acc_p_rmuser'){
process_rmuser($uid);
} elseif($action == 'acc_p_logout') {
setcookie('sympauth', serialize(array()), "time()", "/");
auth_display();
}
# CONFIG PROCESSING
elseif($action == 'config_p_db') {
process_config_db($ndbhost, $ndbuser, $ndbpass1, $ndbpass2, $ndbname);
} elseif($action == 'config_p_disp') {
process_config_disp($ntx, $nbg, $nbord, $nqtx, $nqbg, $noptsize, $ntxtsize,
$ntxtface, $nwidth, $nbarimg, $nbarhite);
} elseif($action == 'config_p_misc') {
process_config_misc($ndirurl, $nmaxopts, $nblen, $nrefer,
$nplist, $nrnums, $nstotal, $niplog, $ncookielog);
}
# IPLOG PROCESSING
elseif($action == 'iplog_p_maint') {
process_iplogmaint($confirmation);
}
display_opening();
# we should never get below here anyway, but..
symp_disconnect(TRUE);
?>
|