Example #1
0
 /**
  * @param Campaign $campaign
  * @param array $array
  * @return Campaign|Content
  */
 public static function createFromArray(Campaign $campaign = null, array $array = array())
 {
     $defaults = array("view_count" => 0, "like_count" => 0, "dislike_count" => 0, "favorite_count" => 0, "comment_count" => 0, "tw_share_count" => 0, "fb_share_count" => 0);
     $array = array_merge($defaults, $array);
     $content = new self($array['id'], $campaign);
     $content->setSource($array['source']);
     $content->setFoundAt(new \DateTime($array['found_at']));
     $content->setNativeId($array['native_id']);
     $content->setCreatedAt(new \DateTime($array['created_at']));
     $content->setUrl($array['url']);
     $content->setThumb($array['thumb']);
     $content->setVideoSrc($array['video_src']);
     $content->setTitle($array['title']);
     $content->setDescription($array['description']);
     $content->setVideoLength($array['video_length']);
     $content->setUsername($array['username']);
     $content->setViewCount($array['view_count']);
     $content->setLikeCount($array['like_count']);
     $content->setDislikeCount($array['dislike_count']);
     $content->setFavCount($array['favorite_count']);
     $content->setCommentCount($array['comment_count']);
     $content->setTwCount($array['tw_share_count']);
     $content->setFbCount($array['fb_share_count']);
     $content->setProcessed($array['processed']);
     if ($array['processed']) {
         $content->setProcessedAt(new \DateTime($array['processed_at']));
     }
     $content->setKeyword($array['keyword']);
     $content->setUserNativeId($array['user_native_id']);
     if (isset($array['popularity'])) {
         $content->setPopularity($array['popularity']);
     }
     if (isset($array['sr_status'])) {
         $content->setSrStatus($array['sr_status']);
     } else {
         if (isset($array['srstatus'])) {
             $content->setSrStatus($array['srstatus']);
         }
     }
     if (isset($array['followers'])) {
         $content->setUserReach($array['followers']);
     }
     return $content;
 }
Example #2
0
 public function process($context = null)
 {
     // create empty array with keys from $this->processed
     $processed = array();
     if (count($this->getPricingElements()) !== 0) {
         /** @var \Vespolina\Entity\Pricing\PricingElementInterface $element */
         foreach ($this->getPricingElements() as $element) {
             $processed = array_merge($this->processed, $element->process($context, $processed));
         }
     } else {
         $processed = $this->processed;
     }
     if (isset($context['taxRate'])) {
         $tax = $processed['netValue'] * $context['taxRate'];
         $processed['taxes'] = $tax;
         $processed['totalValue'] = $processed['totalValue'] + $tax;
     }
     $newSet = new self();
     $newSet->setProcessed($processed);
     $newSet->setProcessingState(self::PROCESSING_FINISHED);
     $this->processingState = self::PROCESSING_FINISHED;
     return $newSet;
 }