Code Duplication    Length = 20-21 lines in 4 locations

script/cron/fetch-blog-activity.php 2 locations

@@ 43-62 (lines=20) @@
40
$mostRecentBlogCommentDateTime = new DateTime($mostRecentBlogCommentDateTime);
41
42
$commentFeed = Feed::loadRss('http://blog.jacobemerick.com/rss-comments.xml');
43
foreach ($commentFeed->item as $item) {
44
    $datetime = new DateTime($item->pubDate);
45
    if ($datetime <= $mostRecentBlogCommentDateTime) {
46
        break;
47
    }
48
49
    $uniqueBlogCommentCheck = $blogCommentRepository->getBlogCommentByPermalink((string) $item->guid);
50
    if ($uniqueBlogCommentCheck !== false) {
51
        continue;
52
    }
53
54
    $datetime->setTimezone($container['default_timezone']);
55
    $metadata = json_decode(json_encode($item), true);
56
57
    $blogCommentRepository->insertBlogComment(
58
        (string) $item->guid,
59
        $datetime,
60
        $metadata
61
    );
62
}
63
@@ 15-34 (lines=20) @@
12
$mostRecentBlogDateTime = new DateTime($mostRecentBlogDateTime);
13
14
$blogFeed = Feed::loadRss('http://blog.jacobemerick.com/rss.xml');
15
foreach ($blogFeed->item as $item) {
16
    $datetime = new DateTime($item->pubDate);
17
    if ($datetime <= $mostRecentBlogDateTime) {
18
        // break;
19
    }
20
21
    $uniqueBlogCheck = $blogRepository->getBlogByPermalink((string) $item->guid);
22
    if ($uniqueBlogCheck !== false) {
23
        continue;
24
    }
25
26
    $datetime->setTimezone($container['default_timezone']);
27
    $metadata = json_decode(json_encode($item), true);
28
29
    $blogRepository->insertBlog(
30
        (string) $item->guid,
31
        $datetime,
32
        $metadata
33
    );
34
}
35
36
$blogCommentRepository = new BlogCommentRepository($container['db_connection_locator']);
37
$mostRecentBlogComment = $blogCommentRepository->getBlogComments(1);

script/cron/fetch-youtube-activity.php 1 location

@@ 18-38 (lines=21) @@
15
16
$playlist = $client->getPlaylistItemsByPlaylistId($config->youtube->favorites_playlist, 10);
17
18
foreach ($playlist as $playlistItem) {
19
    $datetime = new DateTime($playlistItem->snippet->publishedAt);
20
    if ($datetime <= $mostRecentVideoDateTime) {
21
        break;
22
    }
23
24
    $videoId = $playlistItem->contentDetails->videoId;
25
    $uniqueVideoCheck = $youTubeRepository->getYouTubeByVideoId($videoId);
26
    if ($uniqueVideoCheck !== false) {
27
        continue;
28
    }
29
30
    $datetime->setTimezone($container['default_timezone']);
31
    $metadata = json_decode(json_encode($playlistItem), true);
32
33
    $youTubeRepository->insertVideo(
34
        $videoId,
35
        $datetime,
36
        $metadata
37
    );
38
}
39

script/cron/fetch-goodreads-activity.php 1 location

@@ 22-42 (lines=21) @@
19
$reviews = (string) $response->getBody();
20
$reviews = simplexml_load_string($reviews, 'SimpleXMLElement', LIBXML_NOCDATA);
21
22
foreach ($reviews->channel->item as $review) {
23
    $datetime = new DateTime((string) $review->pubDate);
24
    if ($datetime <= $mostRecentReviewDateTime) {
25
        break;
26
    }
27
28
    $uniqueReviewCheck = $goodreadRepository->getReviewByPermalink((string) $review->guid);
29
    if ($uniqueReviewCheck !== false) {
30
        continue;
31
    }
32
33
    $datetime->setTimezone($container['default_timezone']);
34
    $metadata = json_decode(json_encode($review), true);
35
36
    $goodreadRepository->insertReview(
37
        (string) $review->guid,
38
        (string) $review->book_id,
39
        $datetime,
40
        $metadata
41
    );
42
}
43