Esempio n. 1
0
    /**
     * Create a copy of an answer set.
     *
     * @param int $p_fk_poll_nr
     * @param int $p_fk_language_id
     * @param int $p_parent_nr
     * @param array $p_answers
     * @return Poll
     */
    function CreateCopySet($p_fk_poll_nr, $p_fk_language_id, $p_parent_nr, $p_answers)
    {
        // Construct the duplicate PollAnswer object.
        foreach ($p_answers as $answer) {
            if (isset($answer['number']) && !empty($answer['number']) && strlen($answer['text'])) {
                $answer_copy = new PollAnswer($p_fk_language_id, $p_fk_poll_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 PollAnswerAttachments
        PollAnswerAttachment::CreateCopySet($p_fk_poll_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 $pollAnswerCopy;
    } // fn createTranslation