Esempio n. 1
0
			</tr>
		</table>
		
		<?php 
$tpId = $_GET["topicId"];
$postArr = array();
$fileC = file("db/Topics/" . $tpId . "/posts.dat");
foreach ($fileC as $line) {
    array_push($postArr, new Post($line));
}
if (file_exists("db/Topics/" . $tpId . "/poll.dat")) {
    $poll = new Poll(file_get_contents("db/Topics/" . $tpId . "/poll.dat"));
    echo "<div id='pollDiv'>";
    $sum = 0;
    $str = "";
    $optionArr = $poll->getOptions();
    foreach ($optionArr as $option) {
        $sum += $option[1];
        $str .= $option[1] . ",";
    }
    $str = substr($str, 0, strlen($str) - 1);
    if ($sum == 0) {
        echo "No votes yet.<br /><br />";
    } else {
        echo "<img src='createImage.php?values=" . $str . "' /><br /><br />";
        $color[0] = "red";
        $color[1] = "green";
        $color[2] = "blue";
        $color[3] = "#AABBCC";
        $color[4] = "black";
        $color[5] = "#2affed";
Esempio n. 2
0
 /**
  * Save a new poll notice
  *
  * @param Profile $profile
  * @param Poll    $poll the poll being responded to
  * @param int     $selection (1-based)
  * @param array   $opts (poll responses)
  *
  * @return Notice saved notice
  */
 static function saveNew($profile, $poll, $selection, $options = null)
 {
     if (empty($options)) {
         $options = array();
     }
     if (!$poll->isValidSelection($selection)) {
         // TRANS: Client exception thrown when responding to a poll with an invalid option.
         throw new ClientException(_m('Invalid poll selection.'));
     }
     $opts = $poll->getOptions();
     $answer = $opts[$selection - 1];
     $pr = new Poll_response();
     $pr->id = UUID::gen();
     $pr->profile_id = $profile->id;
     $pr->poll_id = $poll->id;
     $pr->selection = $selection;
     if (array_key_exists('created', $options)) {
         $pr->created = $options['created'];
     } else {
         $pr->created = common_sql_now();
     }
     if (array_key_exists('uri', $options)) {
         $pr->uri = $options['uri'];
     } else {
         $pr->uri = common_local_url('showpollresponse', array('id' => $pr->id));
     }
     common_log(LOG_DEBUG, "Saving poll response: {$pr->id} {$pr->uri}");
     $pr->insert();
     // TRANS: Notice content voting for a poll.
     // TRANS: %s is the chosen option in the poll.
     $content = sprintf(_m('voted for "%s"'), $answer);
     $link = '<a href="' . htmlspecialchars($poll->uri) . '">' . htmlspecialchars($answer) . '</a>';
     // TRANS: Rendered version of the notice content voting for a poll.
     // TRANS: %s a link to the poll with the chosen option as link description.
     $rendered = sprintf(_m('voted for "%s"'), $link);
     $tags = array();
     $options = array_merge(array('urls' => array(), 'rendered' => $rendered, 'tags' => $tags, 'reply_to' => $poll->getNotice()->id, 'object_type' => PollPlugin::POLL_RESPONSE_OBJECT), $options);
     if (!array_key_exists('uri', $options)) {
         $options['uri'] = $pr->uri;
     }
     $saved = Notice::saveNew($profile->id, $content, array_key_exists('source', $options) ? $options['source'] : 'web', $options);
     return $saved;
 }
Esempio n. 3
0
require_once "init.php";
use Firebase\JWT\JWT;
$pollID = 0;
$outputMessage = ['error' => false, 'message' => ""];
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $pollID = $_GET['id'];
    $poll = new Poll($database, $pollID);
    if (!$poll->valid()) {
        $outputMessage['error'] = true;
        $outputMessage['message'] = "Poll does not exist";
        $headersHandler->sendHeaderCode(404);
        $headersHandler->sendJSONData($outputMessage);
        die;
    }
    $poll->fetchOptions();
    $options = $poll->getOptions();
    $data = ['question' => $poll->getQuestion(), 'options' => array(), 'hasVoted' => false];
    foreach ($options as $option) {
        array_push($data['options'], ['name' => $option->getName(), 'amount' => $option->getAmount(), 'id' => $option->getID()]);
    }
    if ($headersHandler->isAuthenticated()) {
        // if authenticated - send info if user has already voted ($poll->hasUserVoted)
        $jwt = $headersHandler->getBearer();
        $decodedJWT = JWT::decode($jwt, $secretKey, array('HS256'));
        if ($decodedJWT) {
            $decodedArray = (array) $decodedJWT;
            $hasVoted = $poll->hasUserVoted($decodedArray['id']);
            if ($hasVoted) {
                $data['hasVoted'] = $hasVoted->getID();
            }
        }