summaryrefslogtreecommitdiffstats
path: root/web/html/addvote.php
blob: 3672c03153f90d38d3031c9205911f421f0540bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php

set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');

include_once("aur.inc.php");

$title = __("Add Proposal");

html_header($title);

if (isset($_COOKIE["AURSID"])) {
	$uid = uid_from_sid($_COOKIE["AURSID"]);
}

if (has_credential(CRED_TU_ADD_VOTE)) {

	if (!empty($_POST['addVote']) && !check_token()) {
		$error = __("Invalid token for user action.");
	}

	if (!empty($_POST['addVote']) && check_token()) {
		$error = "";

		if (!empty($_POST['user'])) {
			if (!uid_from_username($_POST['user'])) {
				$error.= __("Username does not exist.");
			} else {

				if (open_user_proposals($_POST['user'])) {
					$error.= __("%s already has proposal running for them.", htmlentities($_POST['user']));
				}
			}
		}

		if (!empty($_POST['type'])) {
			switch ($_POST['type']) {
			case "add_tu":
				/* Addition of a TU */
				$len = 7 * 24 * 60 * 60;
				$quorum = 0.66;
				break;
			case "remove_tu":
				/* Removal of a TU */
				$len = 7 * 24 * 60 * 60;
				$quorum = 0.75;
				break;
			case "remove_inactive_tu":
				/* Removal of a TU (undeclared inactivity) */
				$len = 5 * 24 * 60 * 60;
				$quorum = 0.66;
				break;
			case "bylaws":
				/* Amendment of Bylaws */
				$len = 7 * 24 * 60 * 60;
				$quorum = 0.75;
				break;
			default:
				$error.=  __("Invalid type.") ;
				break;
			}
		} else {
			$error.=  __("Invalid type.") ;
		}

		if (empty($_POST['agenda'])) {
			$error.= __("Proposal cannot be empty.");
		}
	}

	if (!empty($_POST['addVote']) && empty($error)) {
		add_tu_proposal($_POST['agenda'], $_POST['user'], $len, $quorum, $uid);

		print "<p class=\"pkgoutput\">" . __("New proposal submitted.") . "</p>\n";
	} else {
?>

<?php if (!empty($error)): ?>
	<p style="color: red;" class="pkgoutput"><?= $error ?></p>
<?php endif; ?>

<div class="box">
	<h2><?= __("Submit a proposal to vote on.") ?></h2>

	<form action="<?= get_uri('/addvote/'); ?>" method="post">
		<p>
			<label for="id_user"><?= __("Applicant/TU") ?></label>
			<input type="text" name="user" id="id_user" value="<?php if (!empty($_POST['user'])) { print htmlentities($_POST['user'], ENT_QUOTES); } ?>" />
			<?= __("(empty if not applicable)") ?>
		</p>
		<p>
			<label for="id_type"><?= __("Type") ?></label>
			<select name="type" id="id_type">
				<option value="add_tu"><?= __("Addition of a TU") ?></option>
				<option value="remove_tu"><?= __("Removal of a TU") ?></option>
				<option value="remove_inactive_tu"><?= __("Removal of a TU (undeclared inactivity)") ?></option>
				<option value="bylaws"><?= __("Amendment of Bylaws") ?></option>
			</select>
		</p>
		<p>
		<label for="id_agenda"><?= __("Proposal") ?></label><br />
		<textarea name="agenda" id="id_agenda" rows="15" cols="80"><?php if (!empty($_POST['agenda'])) { print htmlentities($_POST['agenda']); } ?></textarea><br />
		<input type="hidden" name="addVote" value="1" />
		<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
		<input type="submit" class="button" value="<?= __("Submit"); ?>" />
		</p>
	</form>
</div>
<?php
	}
} else {
	print __("You are not allowed to access this area.");
}

html_footer(AURWEB_VERSION);