Exemplo n.º 1
0
 /**
  * Create a copy of an answer set.
  *
  * @param int $p_fk_debate_nr
  * @param int $p_fk_language_id
  * @param int $p_parent_nr
  * @param array $p_answers
  * @return Debate
  */
 function CreateCopySet($p_fk_debate_nr, $p_fk_language_id, $p_parent_nr, $p_answers)
 {
     // Construct the duplicate DebateAnswer object.
     foreach ($p_answers as $answer) {
         if (isset($answer['number']) && !empty($answer['number']) && strlen($answer['text'])) {
             $answer_copy = new DebateAnswer($p_fk_language_id, $p_fk_debate_nr, $answer['number']);
             $answer_copy->create($answer['text']);
             if (isset($answer['nr_of_votes']) && !empty($answer['nr_of_votes'])) {
                 $answer_copy->setProperty('nr_of_votes', $answer['nr_of_votes']);
             }
             if (isset($answer['value']) && !empty($answer['nr_of_votes'])) {
                 $answer_copy->setProperty('value', $answer['value']);
                 $answer_copy->setProperty('average_value', $answer_copy->getProperty('value') / $answer_copy->getProperty('nr_of_votes'));
             }
         }
     }
     // Copy DebateAnswerAttachments
     DebateAnswerAttachment::CreateCopySet($p_fk_debate_nr, $p_fk_language_id, $p_parent_nr);
     /*
     if (function_exists("camp_load_translation_strings")) {
         camp_load_translation_strings("api");
     }
     $logtext = getGS('Article #$1 "$2" ($3) translated to "$5" ($4)',
         $this->getArticleNumber(), $this->getTitle(), $this->getLanguageName(),
         $articleCopy->getTitle(), $articleCopy->getLanguageName());
     Log::Message($logtext, null, 31);
     */
     return $debateAnswerCopy;
 }
Exemplo n.º 2
0
    $debate->setProperty('allow_not_logged_in', $f_allow_not_logged_in);
    foreach ($f_answers as $nr_answer => $text) {
        if (trim($text) != '') {
            $answer = new DebateAnswer($f_fk_language_id, $f_debate_nr, $nr_answer);
            if ($answer->exists()) {
                $answer->setProperty('answer', $text);
            } else {
                $answer->create($text);
            }
        }
    }
    DebateAnswer::SyncNrOfAnswers($f_fk_language_id, $f_debate_nr);
} else {
    // create new debate
    $debate = new Debate($f_fk_language_id);
    $f_date_begin = strftime("%F %H:%M:%S", strtotime($f_date_begin . " " . $f_time_begin));
    $f_date_end = strftime("%F %H:%M:%S", strtotime($f_date_end . " " . $f_time_end));
    $success = $debate->create($f_title, $f_question, $f_date_begin, $f_date_end, $f_nr_of_answers, $f_votes_per_user);
    if ($success) {
        $debate->setProperty('is_extended', $f_is_extended);
        foreach ($f_answers as $nr_answer => $text) {
            if (trim($text) != '') {
                $answer = new DebateAnswer($f_fk_language_id, $debate->getNumber(), $nr_answer);
                $success = $answer->create($text);
            }
        }
    }
}
$f_from = Input::Get('f_from', 'string', 'index.php');
header('Location: ' . $f_from);
exit;