示例#1
0
文件: Archive.php 项目: xpac27/Opipop
 public function configure()
 {
     // Init category
     $category = new Model_Category(Conf::get('MAIN_CATEGORY'));
     if ($category->getQuestionsTotal(true, true) == 0) {
         return;
     }
     // Get questions
     $questions = $category->getQuestions('latest', $this->page, true, true);
     if ($category->getQuestionsTotal(true, true) <= ($this->page + 1) * Conf::get('QUESTION_PER_PAGE')) {
         header('X-JSON: (Question.setEndReached())');
     }
     $colors = Conf::get('GRAPH_COLORS');
     // Loop through all questions
     foreach ($questions as $key => $question) {
         // Get question's answers
         $answers = $question->getAnswers();
         $data = array();
         foreach (array_reverse($answers) as $key => $answer) {
             $data[] = array('value' => $answer->getPercentResultsMatching() / 100, 'color' => $colors[$key]);
         }
         // Assign question infos
         Globals::$tpl->assignLoopVar('question_archive', array('id' => $question->getId(), 'label' => $question->getLabel(), 'guid' => Tool::makeGuid($question->getLabel()), 'data' => json_encode($data), 'time' => Tool::timeWarp($question->getEndDate())));
         // Assign answers infos
         foreach ($answers as $key => $answer) {
             Globals::$tpl->assignLoopVar('question_archive.answer', array('percentFormated' => round($answer->getPercentResultsMatching()), 'label' => $answer->getLabel(), 'key' => $key));
         }
     }
 }
示例#2
0
文件: Active.php 项目: xpac27/Opipop
 public function configure()
 {
     // Init category
     $category = new Model_Category(Conf::get('MAIN_CATEGORY'));
     if ($category->getQuestionsTotal(true) == 0) {
         return;
     }
     // Get logged user if there is one
     $user = Model_User::getLoggedUser();
     // Get questions
     $questions = $category->getQuestions('latest', $this->page, 1);
     // Loop through all questions
     foreach ($questions as $question) {
         Globals::$tpl->assignLoopVar('question', array('id' => $question->getId(), 'label' => $question->getLabel(), 'image' => $question->getImageURL('medium'), 'label_urlencoded' => urlencode($question->getLabel()), 'time' => Tool::timeWarp($question->getEndDate())));
         // Get answers
         $answers = $question->getAnswers();
         $friendsVotedId = array();
         if ($user) {
             $userResult = $user->getResult($question);
             $userGuess = $user->getGuess($question);
         }
         // Loop through all answers
         foreach ($answers as $answer) {
             Globals::$tpl->assignLoopVar('question.answer', array('id' => $answer->getId(), 'label' => $answer->getLabel()));
             if ($user && $userResult && $answer->getId() == $userResult->getAnswer()->getId()) {
                 Globals::$tpl->assignLoopVar('question.answer.user', array('class' => 'vote', 'label' => 'Mon opinion', 'id' => $user->getId(), 'login' => $user->getLogin(), 'image' => $user->getAvatarURL('small')));
             }
             if ($user && $userGuess && $answer->getId() == $userGuess->getAnswer()->getId()) {
                 Globals::$tpl->assignLoopVar('question.answer.user', array('class' => 'guess', 'label' => 'Mon pronostic', 'id' => $user->getId(), 'login' => $user->getLogin(), 'image' => 'media/layout/icon24x24/map_mini.png'));
             }
             if ($user) {
                 foreach ($user->getFriendGuesses($question) as $friendGuess) {
                     if ($answer->getId() == $friendGuess->getAnswer()->getId()) {
                         Globals::$tpl->assignLoopVar('question.answer.friend', array('class' => 'friend', 'userId' => $user->getId(), 'id' => $friendGuess->getFriend()->getId(), 'login' => $friendGuess->getFriend()->getLogin(), 'avatar' => $friendGuess->getFriend()->getAvatarURL('small')));
                         $friendsVotedId[] = $friendGuess->getFriend()->getId();
                     }
                 }
             }
         }
         if ($user && !$userResult) {
             Globals::$tpl->assignLoopVar('question.pendingUser', array('class' => 'vote', 'label' => 'Mon opinion', 'id' => $user->getId(), 'login' => $user->getLogin(), 'avatar' => $user->getAvatarURL('small')));
         }
         if ($user && !$userGuess) {
             Globals::$tpl->assignLoopVar('question.pendingUser', array('class' => 'guess', 'label' => 'Mon pronostic', 'id' => $user->getId(), 'login' => $user->getLogin(), 'avatar' => $user->getAvatarURL('small')));
         }
         if ($user) {
             // Construct unvoted friends list
             foreach ($user->getFriends() as $friend) {
                 if (!in_array($friend->getId(), $friendsVotedId)) {
                     Globals::$tpl->assignLoopVar('question.pendingFriend', array('class' => 'friend', 'userId' => $user->getId(), 'id' => $friend->getId(), 'login' => $friend->getLogin(), 'avatar' => $friend->getAvatarURL('small')));
                 }
             }
         }
     }
 }