/** * @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; }