@@ -8,104 +8,104 @@ |
||
8 | 8 | class MysqlGithubRepository implements GithubRepositoryInterface |
9 | 9 | { |
10 | 10 | |
11 | - /** @var ConnectionLocator */ |
|
12 | - protected $connections; |
|
11 | + /** @var ConnectionLocator */ |
|
12 | + protected $connections; |
|
13 | 13 | |
14 | - /** |
|
15 | - * @param ConnectonLocator $connections |
|
16 | - */ |
|
17 | - public function __construct(ConnectionLocator $connections) |
|
18 | - { |
|
19 | - $this->connections = $connections; |
|
20 | - } |
|
14 | + /** |
|
15 | + * @param ConnectonLocator $connections |
|
16 | + */ |
|
17 | + public function __construct(ConnectionLocator $connections) |
|
18 | + { |
|
19 | + $this->connections = $connections; |
|
20 | + } |
|
21 | 21 | |
22 | - /** |
|
23 | - * @param integer $limit |
|
24 | - * @param integer $offset |
|
25 | - * |
|
26 | - * @return array|false |
|
27 | - */ |
|
28 | - public function getEvents($limit = null, $offset = 0) |
|
29 | - { |
|
30 | - $query = " |
|
22 | + /** |
|
23 | + * @param integer $limit |
|
24 | + * @param integer $offset |
|
25 | + * |
|
26 | + * @return array|false |
|
27 | + */ |
|
28 | + public function getEvents($limit = null, $offset = 0) |
|
29 | + { |
|
30 | + $query = " |
|
31 | 31 | SELECT `id`, `event_id`, `datetime` |
32 | 32 | FROM `jpemeric_stream`.`github` |
33 | 33 | ORDER BY `datetime` DESC"; |
34 | - if (!is_null($limit)) { |
|
35 | - $query .= " |
|
34 | + if (!is_null($limit)) { |
|
35 | + $query .= " |
|
36 | 36 | LIMIT {$offset}, {$limit}"; |
37 | - } |
|
37 | + } |
|
38 | 38 | |
39 | - return $this |
|
40 | - ->connections |
|
41 | - ->getRead() |
|
42 | - ->fetchAll($query); |
|
43 | - } |
|
39 | + return $this |
|
40 | + ->connections |
|
41 | + ->getRead() |
|
42 | + ->fetchAll($query); |
|
43 | + } |
|
44 | 44 | |
45 | - /** |
|
46 | - * @param integer $eventId |
|
47 | - * |
|
48 | - * @return array|false |
|
49 | - */ |
|
50 | - public function getEventByEventId($eventId) |
|
51 | - { |
|
52 | - $query = " |
|
45 | + /** |
|
46 | + * @param integer $eventId |
|
47 | + * |
|
48 | + * @return array|false |
|
49 | + */ |
|
50 | + public function getEventByEventId($eventId) |
|
51 | + { |
|
52 | + $query = " |
|
53 | 53 | SELECT * |
54 | 54 | FROM `jpemeric_stream`.`github` |
55 | 55 | WHERE `event_id` = :event_id |
56 | 56 | LIMIT 1"; |
57 | 57 | |
58 | - $bindings = [ |
|
59 | - 'event_id' => $eventId, |
|
60 | - ]; |
|
58 | + $bindings = [ |
|
59 | + 'event_id' => $eventId, |
|
60 | + ]; |
|
61 | 61 | |
62 | - return $this |
|
63 | - ->connections |
|
64 | - ->getRead() |
|
65 | - ->fetchOne($query, $bindings); |
|
66 | - } |
|
62 | + return $this |
|
63 | + ->connections |
|
64 | + ->getRead() |
|
65 | + ->fetchOne($query, $bindings); |
|
66 | + } |
|
67 | 67 | |
68 | - public function getGithubsUpdatedSince(DateTime $datetime) |
|
69 | - { |
|
70 | - $query = " |
|
68 | + public function getGithubsUpdatedSince(DateTime $datetime) |
|
69 | + { |
|
70 | + $query = " |
|
71 | 71 | SELECT * |
72 | 72 | FROM `jpemeric_stream`.`github` |
73 | 73 | WHERE `updated_at` >= :last_update"; |
74 | - $bindings = [ |
|
75 | - 'last_update' => $datetime->format('Y-m-d H:i:s'), |
|
76 | - ]; |
|
77 | - return $this |
|
78 | - ->connections |
|
79 | - ->getRead() |
|
80 | - ->fetchAll($query, $bindings); |
|
81 | - } |
|
74 | + $bindings = [ |
|
75 | + 'last_update' => $datetime->format('Y-m-d H:i:s'), |
|
76 | + ]; |
|
77 | + return $this |
|
78 | + ->connections |
|
79 | + ->getRead() |
|
80 | + ->fetchAll($query, $bindings); |
|
81 | + } |
|
82 | 82 | |
83 | - /** |
|
84 | - * @param integer $eventId |
|
85 | - * @param string $eventType |
|
86 | - * @param DateTime $datetime |
|
87 | - * @param array $metadata |
|
88 | - * |
|
89 | - * @return |
|
90 | - */ |
|
91 | - public function insertEvent($eventId, $eventType, DateTime $datetime, array $metadata) |
|
92 | - { |
|
93 | - $query = " |
|
83 | + /** |
|
84 | + * @param integer $eventId |
|
85 | + * @param string $eventType |
|
86 | + * @param DateTime $datetime |
|
87 | + * @param array $metadata |
|
88 | + * |
|
89 | + * @return |
|
90 | + */ |
|
91 | + public function insertEvent($eventId, $eventType, DateTime $datetime, array $metadata) |
|
92 | + { |
|
93 | + $query = " |
|
94 | 94 | INSERT INTO `jpemeric_stream`.`github` |
95 | 95 | (`event_id`, `type`, `datetime`, `metadata`) |
96 | 96 | VALUES |
97 | 97 | (:event_id, :event_type, :datetime, :metadata)"; |
98 | 98 | |
99 | - $bindings = [ |
|
100 | - 'event_id' => $eventId, |
|
101 | - 'event_type' => $eventType, |
|
102 | - 'datetime' => $datetime->format('Y-m-d H:i:s'), |
|
103 | - 'metadata' => json_encode($metadata), |
|
104 | - ]; |
|
99 | + $bindings = [ |
|
100 | + 'event_id' => $eventId, |
|
101 | + 'event_type' => $eventType, |
|
102 | + 'datetime' => $datetime->format('Y-m-d H:i:s'), |
|
103 | + 'metadata' => json_encode($metadata), |
|
104 | + ]; |
|
105 | 105 | |
106 | - return $this |
|
107 | - ->connections |
|
108 | - ->getWrite() |
|
109 | - ->perform($query, $bindings); |
|
110 | - } |
|
106 | + return $this |
|
107 | + ->connections |
|
108 | + ->getWrite() |
|
109 | + ->perform($query, $bindings); |
|
110 | + } |
|
111 | 111 | } |
@@ -14,22 +14,22 @@ discard block |
||
14 | 14 | $statement = $pdo->prepare($query); |
15 | 15 | $statement->execute(); |
16 | 16 | while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { |
17 | - $query = " |
|
17 | + $query = " |
|
18 | 18 | SELECT `activity`.`id` |
19 | 19 | FROM `jpemeric_stream`.`activity` |
20 | 20 | INNER JOIN `jpemeric_stream`.`blog2` ON `blog2`.`id` = `activity`.`type_id` AND |
21 | 21 | `blog2`.`permalink` LIKE '{$row['url']}%' |
22 | 22 | WHERE `type` = 'blog'"; |
23 | - $updateRecords = $pdo->fetchAll($query); |
|
24 | - if (count($updateRecords) !== 1) { |
|
25 | - if ($row['url'] == 'http://blog.jacobemerick.com/hiking/slightly-shuffled/') { |
|
26 | - continue; |
|
27 | - } |
|
28 | - var_dump($updateRecords); |
|
29 | - var_dump($row); |
|
30 | - exit('problem with blog uniqueness'); |
|
31 | - } |
|
32 | - $idMap[current($updateRecords)['id']] = $row['id']; |
|
23 | + $updateRecords = $pdo->fetchAll($query); |
|
24 | + if (count($updateRecords) !== 1) { |
|
25 | + if ($row['url'] == 'http://blog.jacobemerick.com/hiking/slightly-shuffled/') { |
|
26 | + continue; |
|
27 | + } |
|
28 | + var_dump($updateRecords); |
|
29 | + var_dump($row); |
|
30 | + exit('problem with blog uniqueness'); |
|
31 | + } |
|
32 | + $idMap[current($updateRecords)['id']] = $row['id']; |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | $query = " |
@@ -40,17 +40,17 @@ discard block |
||
40 | 40 | $statement = $pdo->prepare($query); |
41 | 41 | $statement->execute(); |
42 | 42 | while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { |
43 | - $query = " |
|
43 | + $query = " |
|
44 | 44 | SELECT `activity`.`id` |
45 | 45 | FROM `jpemeric_stream`.`activity` |
46 | 46 | INNER JOIN `jpemeric_stream`.`goodread` ON `goodread`.`id` = `activity`.`type_id` AND |
47 | 47 | `goodread`.`permalink` = :url |
48 | 48 | WHERE `type` = 'book'"; |
49 | - $updateRecords = $pdo->fetchAll($query, ['url' => $row['link']]); |
|
50 | - if (count($updateRecords) !== 1) { |
|
51 | - exit('problem with book uniqueness'); |
|
52 | - } |
|
53 | - $idMap[current($updateRecords)['id']] = $row['id']; |
|
49 | + $updateRecords = $pdo->fetchAll($query, ['url' => $row['link']]); |
|
50 | + if (count($updateRecords) !== 1) { |
|
51 | + exit('problem with book uniqueness'); |
|
52 | + } |
|
53 | + $idMap[current($updateRecords)['id']] = $row['id']; |
|
54 | 54 | } |
55 | 55 | |
56 | 56 | $query = " |
@@ -61,20 +61,20 @@ discard block |
||
61 | 61 | $statement = $pdo->prepare($query); |
62 | 62 | $statement->execute(); |
63 | 63 | while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { |
64 | - $query = " |
|
64 | + $query = " |
|
65 | 65 | SELECT `activity`.`id` |
66 | 66 | FROM `jpemeric_stream`.`activity` |
67 | 67 | INNER JOIN `jpemeric_stream`.`dailymile` ON `dailymile`.`id` = `activity`.`type_id` AND |
68 | 68 | `dailymile`.`entry_id` = :entry_id |
69 | 69 | WHERE `activity`.`type` = 'distance'"; |
70 | - $entryId = $row['url']; |
|
71 | - $entryId = explode('/', $entryId); |
|
72 | - $entryId = end($entryId); |
|
73 | - $updateRecords = $pdo->fetchAll($query, ['entry_id' => $entryId]); |
|
74 | - if (count($updateRecords) !== 1) { |
|
75 | - exit('problem with distance uniqueness'); |
|
76 | - } |
|
77 | - $idMap[current($updateRecords)['id']] = $row['id']; |
|
70 | + $entryId = $row['url']; |
|
71 | + $entryId = explode('/', $entryId); |
|
72 | + $entryId = end($entryId); |
|
73 | + $updateRecords = $pdo->fetchAll($query, ['entry_id' => $entryId]); |
|
74 | + if (count($updateRecords) !== 1) { |
|
75 | + exit('problem with distance uniqueness'); |
|
76 | + } |
|
77 | + $idMap[current($updateRecords)['id']] = $row['id']; |
|
78 | 78 | } |
79 | 79 | |
80 | 80 | $query = " |
@@ -85,21 +85,21 @@ discard block |
||
85 | 85 | $statement = $pdo->prepare($query); |
86 | 86 | $statement->execute(); |
87 | 87 | while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { |
88 | - $query = " |
|
88 | + $query = " |
|
89 | 89 | SELECT `activity`.`id` |
90 | 90 | FROM `jpemeric_stream`.`activity` |
91 | 91 | INNER JOIN `jpemeric_stream`.`twitter2` ON `twitter2`.`id` = `activity`.`type_id` AND |
92 | 92 | `twitter2`.`tweet_id` = :tweet_id |
93 | 93 | WHERE `type` = 'twitter'"; |
94 | - $updateRecords = $pdo->fetchAll($query, ['tweet_id' => $row['twitter_id']]); |
|
95 | - if (count($updateRecords) !== 1) { |
|
96 | - if (count($updateRecords) === 0) { |
|
97 | - echo 'Could not find match for id: ', $row['twitter_id'], PHP_EOL; |
|
98 | - continue; |
|
99 | - } |
|
100 | - exit('problem with twitter uniqueness'); |
|
101 | - } |
|
102 | - $idMap[current($updateRecords)['id']] = $row['id']; |
|
94 | + $updateRecords = $pdo->fetchAll($query, ['tweet_id' => $row['twitter_id']]); |
|
95 | + if (count($updateRecords) !== 1) { |
|
96 | + if (count($updateRecords) === 0) { |
|
97 | + echo 'Could not find match for id: ', $row['twitter_id'], PHP_EOL; |
|
98 | + continue; |
|
99 | + } |
|
100 | + exit('problem with twitter uniqueness'); |
|
101 | + } |
|
102 | + $idMap[current($updateRecords)['id']] = $row['id']; |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | $query = " |
@@ -109,26 +109,26 @@ discard block |
||
109 | 109 | $statement = $pdo->prepare($query); |
110 | 110 | $statement->execute(); |
111 | 111 | while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { |
112 | - $query = " |
|
112 | + $query = " |
|
113 | 113 | SELECT `activity`.`id` |
114 | 114 | FROM `jpemeric_stream`.`activity` |
115 | 115 | WHERE `activity`.`type` = 'youtube' AND `activity`.`type_id` = :type_id"; |
116 | - $updateRecords = $pdo->fetchAll($query, ['type_id' => $row['type_id']]); |
|
117 | - if (count($updateRecords) != 1) { |
|
118 | - if (count($updateRecords) === 0) { |
|
119 | - echo "could not find match for youtube {$row['type_id']}", PHP_EOL; |
|
120 | - continue; |
|
121 | - } |
|
122 | - exit('problem with youtube uniqueness'); |
|
123 | - } |
|
124 | - $idMap[current($updateRecords)['id']] = $row['id']; |
|
116 | + $updateRecords = $pdo->fetchAll($query, ['type_id' => $row['type_id']]); |
|
117 | + if (count($updateRecords) != 1) { |
|
118 | + if (count($updateRecords) === 0) { |
|
119 | + echo "could not find match for youtube {$row['type_id']}", PHP_EOL; |
|
120 | + continue; |
|
121 | + } |
|
122 | + exit('problem with youtube uniqueness'); |
|
123 | + } |
|
124 | + $idMap[current($updateRecords)['id']] = $row['id']; |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | foreach ($idMap as $currentId => $newId) { |
128 | - $query = " |
|
128 | + $query = " |
|
129 | 129 | UPDATE `activity` SET `id` = :new_id WHERE `id` = :current_id"; |
130 | - $update = $pdo->perform($query, ['new_id' => $newId, 'current_id' => $currentId]); |
|
131 | - if ($update === false) { |
|
132 | - exit('problem with update'); |
|
133 | - } |
|
130 | + $update = $pdo->perform($query, ['new_id' => $newId, 'current_id' => $currentId]); |
|
131 | + if ($update === false) { |
|
132 | + exit('problem with update'); |
|
133 | + } |
|
134 | 134 | } |
@@ -11,42 +11,42 @@ discard block |
||
11 | 11 | |
12 | 12 | $lastBlogActivity = $activityRepository->getActivityLastUpdateByType('blog'); |
13 | 13 | if ($lastBlogActivity === false) { |
14 | - $lastBlogActivityDateTime = new DateTime('2008-05-03'); |
|
14 | + $lastBlogActivityDateTime = new DateTime('2008-05-03'); |
|
15 | 15 | } else { |
16 | - $lastBlogActivityDateTime = new DateTime($lastBlogActivity['updated_at']); |
|
17 | - $lastBlogActivityDateTime->modify('-5 days'); |
|
16 | + $lastBlogActivityDateTime = new DateTime($lastBlogActivity['updated_at']); |
|
17 | + $lastBlogActivityDateTime->modify('-5 days'); |
|
18 | 18 | } |
19 | 19 | $newBlogActivity = $blogRepository->getBlogsUpdatedSince($lastBlogActivityDateTime); |
20 | 20 | foreach ($newBlogActivity as $blog) { |
21 | - $uniqueBlogCheck = $activityRepository->getActivityByTypeId('blog', $blog['id']); |
|
22 | - if ($uniqueBlogCheck !== false) { |
|
23 | - continue; |
|
24 | - } |
|
25 | - |
|
26 | - $blogData = json_decode($blog['metadata'], true); |
|
27 | - $message = sprintf( |
|
28 | - 'Blogged about %s | %s.', |
|
29 | - str_replace('-', ' ', $blogData['category']), |
|
30 | - $blogData['title'] |
|
31 | - ); |
|
32 | - $messageLong = sprintf( |
|
33 | - "<h4><a href=\"%s\" title=\"Jacob Emerick's Blog | %s\">%s</a></h4>\n" . |
|
34 | - "<p>%s [<a href=\"%s\">read more</a></a>]</p>", |
|
35 | - $blogData['link'], |
|
36 | - $blogData['title'], |
|
37 | - $blogData['title'], |
|
38 | - htmlentities($blogData['description']), |
|
39 | - $blogData['link'] |
|
40 | - ); |
|
41 | - |
|
42 | - $activityRepository->insertActivity( |
|
43 | - $message, |
|
44 | - $messageLong, |
|
45 | - (new DateTime($blog['datetime'])), |
|
46 | - [], |
|
47 | - 'blog', |
|
48 | - $blog['id'] |
|
49 | - ); |
|
21 | + $uniqueBlogCheck = $activityRepository->getActivityByTypeId('blog', $blog['id']); |
|
22 | + if ($uniqueBlogCheck !== false) { |
|
23 | + continue; |
|
24 | + } |
|
25 | + |
|
26 | + $blogData = json_decode($blog['metadata'], true); |
|
27 | + $message = sprintf( |
|
28 | + 'Blogged about %s | %s.', |
|
29 | + str_replace('-', ' ', $blogData['category']), |
|
30 | + $blogData['title'] |
|
31 | + ); |
|
32 | + $messageLong = sprintf( |
|
33 | + "<h4><a href=\"%s\" title=\"Jacob Emerick's Blog | %s\">%s</a></h4>\n" . |
|
34 | + "<p>%s [<a href=\"%s\">read more</a></a>]</p>", |
|
35 | + $blogData['link'], |
|
36 | + $blogData['title'], |
|
37 | + $blogData['title'], |
|
38 | + htmlentities($blogData['description']), |
|
39 | + $blogData['link'] |
|
40 | + ); |
|
41 | + |
|
42 | + $activityRepository->insertActivity( |
|
43 | + $message, |
|
44 | + $messageLong, |
|
45 | + (new DateTime($blog['datetime'])), |
|
46 | + [], |
|
47 | + 'blog', |
|
48 | + $blog['id'] |
|
49 | + ); |
|
50 | 50 | } |
51 | 51 | |
52 | 52 | use Jacobemerick\Web\Domain\Stream\BlogComment\MysqlBlogCommentRepository as BlogCommentRepository; |
@@ -54,30 +54,30 @@ discard block |
||
54 | 54 | $blogCommentActivity = $blogCommentRepository->getBlogComments(); |
55 | 55 | $blogCommentHolder = []; |
56 | 56 | foreach ($blogCommentActivity as $blogComment) { |
57 | - $blogPermalink = $blogComment['permalink']; |
|
58 | - $blogPermalink = explode('#', $blogPermalink); |
|
59 | - $blogPermalink = current($blogPermalink); |
|
60 | - |
|
61 | - $blog = $blogRepository->getBlogByPermalink($blogPermalink); |
|
62 | - if (!array_key_exists($blog['id'], $blogCommentHolder)) { |
|
63 | - $blogCommentHolder[$blog['id']] = 1; |
|
64 | - } else { |
|
65 | - $blogCommentHolder[$blog['id']]++; |
|
66 | - } |
|
57 | + $blogPermalink = $blogComment['permalink']; |
|
58 | + $blogPermalink = explode('#', $blogPermalink); |
|
59 | + $blogPermalink = current($blogPermalink); |
|
60 | + |
|
61 | + $blog = $blogRepository->getBlogByPermalink($blogPermalink); |
|
62 | + if (!array_key_exists($blog['id'], $blogCommentHolder)) { |
|
63 | + $blogCommentHolder[$blog['id']] = 1; |
|
64 | + } else { |
|
65 | + $blogCommentHolder[$blog['id']]++; |
|
66 | + } |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | foreach ($blogCommentHolder as $blogId => $commentCount) { |
70 | - $blogActivity = $activityRepository->getActivityByTypeId('blog', $blogId); |
|
71 | - $blogActivityMetadata = json_decode($blogActivity['metadata'], true); |
|
72 | - if ( |
|
73 | - !isset($blogActivityMetadata['comments']) || |
|
74 | - $blogActivityMetadata['comments'] != $commentCount |
|
75 | - ) { |
|
76 | - $activityRepository->updateActivityMetadata( |
|
77 | - $blogActivity['id'], |
|
78 | - ['comments' => $commentCount] |
|
79 | - ); |
|
80 | - } |
|
70 | + $blogActivity = $activityRepository->getActivityByTypeId('blog', $blogId); |
|
71 | + $blogActivityMetadata = json_decode($blogActivity['metadata'], true); |
|
72 | + if ( |
|
73 | + !isset($blogActivityMetadata['comments']) || |
|
74 | + $blogActivityMetadata['comments'] != $commentCount |
|
75 | + ) { |
|
76 | + $activityRepository->updateActivityMetadata( |
|
77 | + $blogActivity['id'], |
|
78 | + ['comments' => $commentCount] |
|
79 | + ); |
|
80 | + } |
|
81 | 81 | } |
82 | 82 | |
83 | 83 | // distance |
@@ -86,67 +86,67 @@ discard block |
||
86 | 86 | |
87 | 87 | $lastDailyMileActivity = $activityRepository->getActivityLastUpdateByType('distance'); |
88 | 88 | if ($lastDailyMileActivity === false) { |
89 | - $lastDailyMileActivityDateTime = new DateTime('2008-05-03'); |
|
89 | + $lastDailyMileActivityDateTime = new DateTime('2008-05-03'); |
|
90 | 90 | } else { |
91 | - $lastDailyMileActivityDateTime = new DateTime($lastDailyMileActivity['updated_at']); |
|
92 | - $lastDailyMileActivityDateTime->modify('-5 days'); |
|
91 | + $lastDailyMileActivityDateTime = new DateTime($lastDailyMileActivity['updated_at']); |
|
92 | + $lastDailyMileActivityDateTime->modify('-5 days'); |
|
93 | 93 | } |
94 | 94 | $newDailyMileActivity = $dailyMileRepository->getDailyMilesUpdatedSince($lastDailyMileActivityDateTime); |
95 | 95 | foreach ($newDailyMileActivity as $dailyMile) { |
96 | - $uniqueDailyMileCheck = $activityRepository->getActivityByTypeId('distance', $dailyMile['id']); |
|
97 | - if ($uniqueDailyMileCheck !== false) { |
|
98 | - continue; |
|
99 | - } |
|
100 | - |
|
101 | - $dailyMileData = json_decode($dailyMile['metadata'], true); |
|
102 | - if ($dailyMile['type'] == 'Hiking') { |
|
103 | - $message = sprintf( |
|
104 | - '%s %.2f %s and felt %s.', |
|
105 | - 'Hiked', |
|
106 | - $dailyMileData['workout']['distance']['value'], |
|
107 | - $dailyMileData['workout']['distance']['units'], |
|
108 | - $dailyMileData['workout']['felt'] |
|
109 | - ); |
|
110 | - $messageLong = "<p>{$message}</p>"; |
|
111 | - if (isset($dailyMileData['workout']['title'])) { |
|
112 | - $messageLong .= "\n<p>I was hiking up around the {$dailyMileData['workout']['title']} area.</p>"; |
|
113 | - } |
|
114 | - } else if ($dailyMile['type'] == 'Running') { |
|
115 | - $message = sprintf( |
|
116 | - '%s %.2f %s and felt %s.', |
|
117 | - 'Ran', |
|
118 | - $dailyMileData['workout']['distance']['value'], |
|
119 | - $dailyMileData['workout']['distance']['units'], |
|
120 | - $dailyMileData['workout']['felt'] |
|
121 | - ); |
|
122 | - $messageLong = "<p>{$message}</p>"; |
|
123 | - if (isset($dailyMileData['message'])) { |
|
124 | - $messageLong .= "\n<p>Afterwards, I was all like '{$dailyMileData['message']}'.</p>"; |
|
125 | - } |
|
126 | - } else if ($dailyMile['type'] == 'Walking') { |
|
127 | - $message = sprintf( |
|
128 | - '%s %.2f %s and felt %s.', |
|
129 | - 'Walked', |
|
130 | - $dailyMileData['workout']['distance']['value'], |
|
131 | - $dailyMileData['workout']['distance']['units'], |
|
132 | - $dailyMileData['workout']['felt'] |
|
133 | - ); |
|
134 | - $messageLong = "<p>{$message}</p>"; |
|
135 | - if (isset($dailyMileData['message'])) { |
|
136 | - $messageLong .= "\n<p>{$dailyMileData['message']}</p>"; |
|
137 | - } |
|
138 | - } else { |
|
139 | - continue; |
|
140 | - } |
|
141 | - |
|
142 | - $activityRepository->insertActivity( |
|
143 | - $message, |
|
144 | - $messageLong, |
|
145 | - (new DateTime($dailyMile['datetime'])), |
|
146 | - [], |
|
147 | - 'distance', |
|
148 | - $dailyMile['id'] |
|
149 | - ); |
|
96 | + $uniqueDailyMileCheck = $activityRepository->getActivityByTypeId('distance', $dailyMile['id']); |
|
97 | + if ($uniqueDailyMileCheck !== false) { |
|
98 | + continue; |
|
99 | + } |
|
100 | + |
|
101 | + $dailyMileData = json_decode($dailyMile['metadata'], true); |
|
102 | + if ($dailyMile['type'] == 'Hiking') { |
|
103 | + $message = sprintf( |
|
104 | + '%s %.2f %s and felt %s.', |
|
105 | + 'Hiked', |
|
106 | + $dailyMileData['workout']['distance']['value'], |
|
107 | + $dailyMileData['workout']['distance']['units'], |
|
108 | + $dailyMileData['workout']['felt'] |
|
109 | + ); |
|
110 | + $messageLong = "<p>{$message}</p>"; |
|
111 | + if (isset($dailyMileData['workout']['title'])) { |
|
112 | + $messageLong .= "\n<p>I was hiking up around the {$dailyMileData['workout']['title']} area.</p>"; |
|
113 | + } |
|
114 | + } else if ($dailyMile['type'] == 'Running') { |
|
115 | + $message = sprintf( |
|
116 | + '%s %.2f %s and felt %s.', |
|
117 | + 'Ran', |
|
118 | + $dailyMileData['workout']['distance']['value'], |
|
119 | + $dailyMileData['workout']['distance']['units'], |
|
120 | + $dailyMileData['workout']['felt'] |
|
121 | + ); |
|
122 | + $messageLong = "<p>{$message}</p>"; |
|
123 | + if (isset($dailyMileData['message'])) { |
|
124 | + $messageLong .= "\n<p>Afterwards, I was all like '{$dailyMileData['message']}'.</p>"; |
|
125 | + } |
|
126 | + } else if ($dailyMile['type'] == 'Walking') { |
|
127 | + $message = sprintf( |
|
128 | + '%s %.2f %s and felt %s.', |
|
129 | + 'Walked', |
|
130 | + $dailyMileData['workout']['distance']['value'], |
|
131 | + $dailyMileData['workout']['distance']['units'], |
|
132 | + $dailyMileData['workout']['felt'] |
|
133 | + ); |
|
134 | + $messageLong = "<p>{$message}</p>"; |
|
135 | + if (isset($dailyMileData['message'])) { |
|
136 | + $messageLong .= "\n<p>{$dailyMileData['message']}</p>"; |
|
137 | + } |
|
138 | + } else { |
|
139 | + continue; |
|
140 | + } |
|
141 | + |
|
142 | + $activityRepository->insertActivity( |
|
143 | + $message, |
|
144 | + $messageLong, |
|
145 | + (new DateTime($dailyMile['datetime'])), |
|
146 | + [], |
|
147 | + 'distance', |
|
148 | + $dailyMile['id'] |
|
149 | + ); |
|
150 | 150 | } |
151 | 151 | |
152 | 152 | // github |
@@ -155,127 +155,127 @@ discard block |
||
155 | 155 | |
156 | 156 | $lastGithubActivity = $activityRepository->getActivityLastUpdateByType('git'); |
157 | 157 | if ($lastGithubActivity === false) { |
158 | - $lastGithubActivityDateTime = new DateTime('2015-10-01'); |
|
158 | + $lastGithubActivityDateTime = new DateTime('2015-10-01'); |
|
159 | 159 | } else { |
160 | - $lastGithubActivityDateTime = new DateTime($lastGithubActivity['updated_at']); |
|
161 | - $lastGithubActivityDateTime->modify('-5 days'); |
|
160 | + $lastGithubActivityDateTime = new DateTime($lastGithubActivity['updated_at']); |
|
161 | + $lastGithubActivityDateTime->modify('-5 days'); |
|
162 | 162 | } |
163 | 163 | $newGithubActivity = $githubRepository->getGithubsUpdatedSince($lastGithubActivityDateTime); |
164 | 164 | foreach ($newGithubActivity as $github) { |
165 | - $uniqueGithubCheck = $activityRepository->getActivityByTypeId('git', $github['id']); |
|
166 | - if ($uniqueGithubCheck !== false) { |
|
167 | - continue; |
|
168 | - } |
|
169 | - |
|
170 | - $githubData = json_decode($github['metadata'], true); |
|
171 | - |
|
172 | - if ($github['type'] == 'CreateEvent') { |
|
173 | - if ( |
|
174 | - $githubData['payload']['ref_type'] == 'branch' || |
|
175 | - $githubData['payload']['ref_type'] == 'tag' |
|
176 | - ) { |
|
177 | - $message = sprintf( |
|
178 | - 'Created %s %s at %s.', |
|
179 | - $githubData['payload']['ref_type'], |
|
180 | - $githubData['payload']['ref'], |
|
181 | - $githubData['repo']['name'] |
|
182 | - ); |
|
183 | - $messageLong = sprintf( |
|
184 | - '<p>Created %s %s at <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
185 | - $githubData['payload']['ref_type'], |
|
186 | - $githubData['payload']['ref'], |
|
187 | - "https://github.com/{$githubData['repo']['name']}", |
|
188 | - $githubData['repo']['name'], |
|
189 | - $githubData['repo']['name'] |
|
190 | - ); |
|
191 | - } else if ($githubData['payload']['ref_type'] == 'repository') { |
|
192 | - $message = sprintf( |
|
193 | - 'Created %s %s.', |
|
194 | - $githubData['payload']['ref_type'], |
|
195 | - $githubData['repo']['name'] |
|
196 | - ); |
|
197 | - $messageLong = sprintf( |
|
198 | - '<p>Created %s <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
199 | - $githubData['payload']['ref_type'], |
|
200 | - "https://github.com/{$githubData['repo']['name']}", |
|
201 | - $githubData['repo']['name'], |
|
202 | - $githubData['repo']['name'] |
|
203 | - ); |
|
204 | - } else { |
|
205 | - continue; |
|
206 | - } |
|
207 | - } else if ($github['type'] == 'ForkEvent') { |
|
208 | - $message = sprintf( |
|
209 | - 'Forked %s to %s', |
|
210 | - $githubData['repo']['name'], |
|
211 | - $githubData['payload']['forkee']['full_name'] |
|
212 | - ); |
|
213 | - $messageLong = sprintf( |
|
214 | - '<p>Forked <a href="%s" target="_blank" title="Github | %s">%s</a> to <a href="%s" target="_blank" title="Github | %s">%s</a>.', |
|
215 | - "https://github.com/{$githubData['repo']['name']}", |
|
216 | - $githubData['repo']['name'], |
|
217 | - $githubData['repo']['name'], |
|
218 | - $githubData['payload']['forkee']['html_url'], |
|
219 | - $githubData['payload']['forkee']['full_name'], |
|
220 | - $githubData['payload']['forkee']['full_name'] |
|
221 | - ); |
|
222 | - } else if ($github['type'] == 'PullRequestEvent') { |
|
223 | - $message = sprintf( |
|
224 | - '%s a pull request at %s', |
|
225 | - ucwords($githubData['payload']['action']), |
|
226 | - $githubData['repo']['name'] |
|
227 | - ); |
|
228 | - $messageLong = sprintf( |
|
229 | - '<p>%s pull request <a href="%s" target="_blank" title="Github | %s PR %d">%d</a> at <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
230 | - ucwords($githubData['payload']['action']), |
|
231 | - $githubData['payload']['pull_request']['html_url'], |
|
232 | - $githubData['repo']['name'], |
|
233 | - $githubData['payload']['number'], |
|
234 | - $githubData['payload']['number'], |
|
235 | - "https://github.com/{$githubData['repo']['name']}", |
|
236 | - $githubData['repo']['name'], |
|
237 | - $githubData['repo']['name'] |
|
238 | - ); |
|
239 | - } else if ($github['type'] == 'PushEvent') { |
|
240 | - $message = sprintf( |
|
241 | - 'Pushed some code at %s.', |
|
242 | - $githubData['repo']['name'] |
|
243 | - ); |
|
244 | - $messageLong = sprintf( |
|
245 | - "<p>Pushed some code at <a href=\"%s\" target=\"_blank\" title=\"Github | %s\">%s</a>.</p>\n", |
|
246 | - $githubData['payload']['ref'], |
|
247 | - "https://github.com/{$githubData['repo']['name']}", |
|
248 | - $githubData['repo']['name'], |
|
249 | - $githubData['repo']['name'] |
|
250 | - ); |
|
251 | - $messageLong .= "<ul>\n"; |
|
252 | - foreach ($githubData['payload']['commits'] as $commit) { |
|
253 | - $messageShort = $commit['message']; |
|
254 | - $messageShort = strtok($messageShort, "\n"); |
|
255 | - if (strlen($messageShort) > 72) { |
|
256 | - $messageShort = wordwrap($messageShort, 65); |
|
257 | - $messageShort = strtok($messageShort, "\n"); |
|
258 | - $messageShort .= '...'; |
|
259 | - } |
|
260 | - $messageLong .= sprintf( |
|
261 | - "<li><a href=\"%s\" target=\"_blank\" title=\"Github | %s\">%s</a> %s.</p>\n", |
|
262 | - "https://github.com/{$githubData['repo']['name']}/commit/{$commit['sha']}", |
|
263 | - substr($commit['sha'], 0, 7), |
|
264 | - substr($commit['sha'], 0, 7), |
|
265 | - $messageShort |
|
266 | - ); |
|
267 | - } |
|
268 | - $messageLong .= "</ul>"; |
|
269 | - } |
|
270 | - |
|
271 | - $activityRepository->insertActivity( |
|
272 | - $message, |
|
273 | - $messageLong, |
|
274 | - (new DateTime($github['datetime'])), |
|
275 | - [], |
|
276 | - 'git', |
|
277 | - $github['id'] |
|
278 | - ); |
|
165 | + $uniqueGithubCheck = $activityRepository->getActivityByTypeId('git', $github['id']); |
|
166 | + if ($uniqueGithubCheck !== false) { |
|
167 | + continue; |
|
168 | + } |
|
169 | + |
|
170 | + $githubData = json_decode($github['metadata'], true); |
|
171 | + |
|
172 | + if ($github['type'] == 'CreateEvent') { |
|
173 | + if ( |
|
174 | + $githubData['payload']['ref_type'] == 'branch' || |
|
175 | + $githubData['payload']['ref_type'] == 'tag' |
|
176 | + ) { |
|
177 | + $message = sprintf( |
|
178 | + 'Created %s %s at %s.', |
|
179 | + $githubData['payload']['ref_type'], |
|
180 | + $githubData['payload']['ref'], |
|
181 | + $githubData['repo']['name'] |
|
182 | + ); |
|
183 | + $messageLong = sprintf( |
|
184 | + '<p>Created %s %s at <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
185 | + $githubData['payload']['ref_type'], |
|
186 | + $githubData['payload']['ref'], |
|
187 | + "https://github.com/{$githubData['repo']['name']}", |
|
188 | + $githubData['repo']['name'], |
|
189 | + $githubData['repo']['name'] |
|
190 | + ); |
|
191 | + } else if ($githubData['payload']['ref_type'] == 'repository') { |
|
192 | + $message = sprintf( |
|
193 | + 'Created %s %s.', |
|
194 | + $githubData['payload']['ref_type'], |
|
195 | + $githubData['repo']['name'] |
|
196 | + ); |
|
197 | + $messageLong = sprintf( |
|
198 | + '<p>Created %s <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
199 | + $githubData['payload']['ref_type'], |
|
200 | + "https://github.com/{$githubData['repo']['name']}", |
|
201 | + $githubData['repo']['name'], |
|
202 | + $githubData['repo']['name'] |
|
203 | + ); |
|
204 | + } else { |
|
205 | + continue; |
|
206 | + } |
|
207 | + } else if ($github['type'] == 'ForkEvent') { |
|
208 | + $message = sprintf( |
|
209 | + 'Forked %s to %s', |
|
210 | + $githubData['repo']['name'], |
|
211 | + $githubData['payload']['forkee']['full_name'] |
|
212 | + ); |
|
213 | + $messageLong = sprintf( |
|
214 | + '<p>Forked <a href="%s" target="_blank" title="Github | %s">%s</a> to <a href="%s" target="_blank" title="Github | %s">%s</a>.', |
|
215 | + "https://github.com/{$githubData['repo']['name']}", |
|
216 | + $githubData['repo']['name'], |
|
217 | + $githubData['repo']['name'], |
|
218 | + $githubData['payload']['forkee']['html_url'], |
|
219 | + $githubData['payload']['forkee']['full_name'], |
|
220 | + $githubData['payload']['forkee']['full_name'] |
|
221 | + ); |
|
222 | + } else if ($github['type'] == 'PullRequestEvent') { |
|
223 | + $message = sprintf( |
|
224 | + '%s a pull request at %s', |
|
225 | + ucwords($githubData['payload']['action']), |
|
226 | + $githubData['repo']['name'] |
|
227 | + ); |
|
228 | + $messageLong = sprintf( |
|
229 | + '<p>%s pull request <a href="%s" target="_blank" title="Github | %s PR %d">%d</a> at <a href="%s" target="_blank" title="Github | %s">%s</a>.</p>', |
|
230 | + ucwords($githubData['payload']['action']), |
|
231 | + $githubData['payload']['pull_request']['html_url'], |
|
232 | + $githubData['repo']['name'], |
|
233 | + $githubData['payload']['number'], |
|
234 | + $githubData['payload']['number'], |
|
235 | + "https://github.com/{$githubData['repo']['name']}", |
|
236 | + $githubData['repo']['name'], |
|
237 | + $githubData['repo']['name'] |
|
238 | + ); |
|
239 | + } else if ($github['type'] == 'PushEvent') { |
|
240 | + $message = sprintf( |
|
241 | + 'Pushed some code at %s.', |
|
242 | + $githubData['repo']['name'] |
|
243 | + ); |
|
244 | + $messageLong = sprintf( |
|
245 | + "<p>Pushed some code at <a href=\"%s\" target=\"_blank\" title=\"Github | %s\">%s</a>.</p>\n", |
|
246 | + $githubData['payload']['ref'], |
|
247 | + "https://github.com/{$githubData['repo']['name']}", |
|
248 | + $githubData['repo']['name'], |
|
249 | + $githubData['repo']['name'] |
|
250 | + ); |
|
251 | + $messageLong .= "<ul>\n"; |
|
252 | + foreach ($githubData['payload']['commits'] as $commit) { |
|
253 | + $messageShort = $commit['message']; |
|
254 | + $messageShort = strtok($messageShort, "\n"); |
|
255 | + if (strlen($messageShort) > 72) { |
|
256 | + $messageShort = wordwrap($messageShort, 65); |
|
257 | + $messageShort = strtok($messageShort, "\n"); |
|
258 | + $messageShort .= '...'; |
|
259 | + } |
|
260 | + $messageLong .= sprintf( |
|
261 | + "<li><a href=\"%s\" target=\"_blank\" title=\"Github | %s\">%s</a> %s.</p>\n", |
|
262 | + "https://github.com/{$githubData['repo']['name']}/commit/{$commit['sha']}", |
|
263 | + substr($commit['sha'], 0, 7), |
|
264 | + substr($commit['sha'], 0, 7), |
|
265 | + $messageShort |
|
266 | + ); |
|
267 | + } |
|
268 | + $messageLong .= "</ul>"; |
|
269 | + } |
|
270 | + |
|
271 | + $activityRepository->insertActivity( |
|
272 | + $message, |
|
273 | + $messageLong, |
|
274 | + (new DateTime($github['datetime'])), |
|
275 | + [], |
|
276 | + 'git', |
|
277 | + $github['id'] |
|
278 | + ); |
|
279 | 279 | } |
280 | 280 | |
281 | 281 | // books |
@@ -284,46 +284,46 @@ discard block |
||
284 | 284 | |
285 | 285 | $lastGoodreadActivity = $activityRepository->getActivityLastUpdateByType('book'); |
286 | 286 | if ($lastGoodreadActivity === false) { |
287 | - $lastGoodreadActivityDateTime = new DateTime('2010-08-28'); |
|
287 | + $lastGoodreadActivityDateTime = new DateTime('2010-08-28'); |
|
288 | 288 | } else { |
289 | - $lastGoodreadActivityDateTime = new DateTime($lastGoodreadActivity['updated_at']); |
|
290 | - $lastGoodreadActivityDateTime->modify('-5 days'); |
|
289 | + $lastGoodreadActivityDateTime = new DateTime($lastGoodreadActivity['updated_at']); |
|
290 | + $lastGoodreadActivityDateTime->modify('-5 days'); |
|
291 | 291 | } |
292 | 292 | $newGoodreadActivity = $goodreadRepository->getGoodreadsUpdatedSince($lastGoodreadActivityDateTime); |
293 | 293 | foreach ($newGoodreadActivity as $goodread) { |
294 | - $uniqueGoodreadCheck = $activityRepository->getActivityByTypeId('book', $goodread['id']); |
|
295 | - if ($uniqueGoodreadCheck !== false) { |
|
296 | - continue; |
|
297 | - } |
|
298 | - |
|
299 | - $goodreadData = json_decode($goodread['metadata'], true); |
|
300 | - |
|
301 | - if (empty($goodreadData['user_read_at'])) { |
|
302 | - continue; |
|
303 | - } |
|
304 | - |
|
305 | - $message = sprintf( |
|
306 | - 'Read %s by %s.', |
|
307 | - $goodreadData['title'], |
|
308 | - $goodreadData['author_name'] |
|
309 | - ); |
|
310 | - if (isset($goodreadData['book_large_image_url'])) { |
|
311 | - $messageLong = sprintf( |
|
312 | - "<img alt=\"Goodreads | %s\" src=\"%s\" />\n", |
|
313 | - $goodreadData['title'], |
|
314 | - $goodreadData['book_large_image_url'] |
|
315 | - ); |
|
316 | - } |
|
317 | - $messageLong .= "<p>{$message}</p>"; |
|
318 | - |
|
319 | - $activityRepository->insertActivity( |
|
320 | - $message, |
|
321 | - $messageLong, |
|
322 | - (new DateTime($goodread['datetime'])), |
|
323 | - [], |
|
324 | - 'book', |
|
325 | - $goodread['id'] |
|
326 | - ); |
|
294 | + $uniqueGoodreadCheck = $activityRepository->getActivityByTypeId('book', $goodread['id']); |
|
295 | + if ($uniqueGoodreadCheck !== false) { |
|
296 | + continue; |
|
297 | + } |
|
298 | + |
|
299 | + $goodreadData = json_decode($goodread['metadata'], true); |
|
300 | + |
|
301 | + if (empty($goodreadData['user_read_at'])) { |
|
302 | + continue; |
|
303 | + } |
|
304 | + |
|
305 | + $message = sprintf( |
|
306 | + 'Read %s by %s.', |
|
307 | + $goodreadData['title'], |
|
308 | + $goodreadData['author_name'] |
|
309 | + ); |
|
310 | + if (isset($goodreadData['book_large_image_url'])) { |
|
311 | + $messageLong = sprintf( |
|
312 | + "<img alt=\"Goodreads | %s\" src=\"%s\" />\n", |
|
313 | + $goodreadData['title'], |
|
314 | + $goodreadData['book_large_image_url'] |
|
315 | + ); |
|
316 | + } |
|
317 | + $messageLong .= "<p>{$message}</p>"; |
|
318 | + |
|
319 | + $activityRepository->insertActivity( |
|
320 | + $message, |
|
321 | + $messageLong, |
|
322 | + (new DateTime($goodread['datetime'])), |
|
323 | + [], |
|
324 | + 'book', |
|
325 | + $goodread['id'] |
|
326 | + ); |
|
327 | 327 | } |
328 | 328 | |
329 | 329 | |
@@ -332,118 +332,118 @@ discard block |
||
332 | 332 | |
333 | 333 | $lastTwitterActivity = $activityRepository->getActivityLastUpdateByType('twitter'); |
334 | 334 | if ($lastTwitterActivity === false) { |
335 | - $lastTwitterActivityDateTime = new DateTime('2010-03-10'); |
|
335 | + $lastTwitterActivityDateTime = new DateTime('2010-03-10'); |
|
336 | 336 | } else { |
337 | - $lastTwitterActivityDateTime = new DateTime($lastTwitterActivity['updated_at']); |
|
338 | - $lastTwitterActivityDateTime->modify('-5 days'); |
|
337 | + $lastTwitterActivityDateTime = new DateTime($lastTwitterActivity['updated_at']); |
|
338 | + $lastTwitterActivityDateTime->modify('-5 days'); |
|
339 | 339 | } |
340 | 340 | $newTwitterActivity = $twitterRepository->getTwittersUpdatedSince($lastTwitterActivityDateTime); |
341 | 341 | foreach ($newTwitterActivity as $twitter) { |
342 | - $twitterData = json_decode($twitter['metadata'], true); |
|
343 | - |
|
344 | - $uniqueTwitterCheck = $activityRepository->getActivityByTypeId('twitter', $twitter['id']); |
|
345 | - if ($uniqueTwitterCheck !== false) { |
|
346 | - $metadata = []; |
|
347 | - if ($twitterData['favorite_count'] > 0) { |
|
348 | - $metadata['favorites'] = $twitterData['favorite_count']; |
|
349 | - } |
|
350 | - if ($twitterData['retweet_count'] > 0) { |
|
351 | - $metadata['retweets'] = $twitterData['retweet_count']; |
|
352 | - } |
|
353 | - |
|
354 | - $activityRepository->updateActivityMetadata($twitter['id'], $metadata); |
|
355 | - continue; |
|
356 | - } |
|
357 | - |
|
358 | - if ( |
|
359 | - ($twitterData['in_reply_to_user_id'] != null || substr($twitterData['text'], 0, 1) === '@') && |
|
360 | - $twitterData['favorite_count'] == 0 && |
|
361 | - $twitterData['retweet_count'] == 0 |
|
362 | - ) { |
|
363 | - continue; |
|
364 | - } |
|
365 | - |
|
366 | - $message = "Tweeted | {$twitterData['text']}"; |
|
367 | - $message = trim(preg_replace('/\s+/', ' ', $message)); |
|
368 | - $message = mb_convert_encoding($message, 'HTML-ENTITIES', 'UTF-8'); |
|
369 | - |
|
370 | - $entityHolder = []; |
|
371 | - foreach ($twitterData['entities'] as $entityType => $entities) { |
|
372 | - foreach ($entities as $entity) { |
|
373 | - if ($entityType == 'hashtags') { |
|
374 | - $replace = sprintf( |
|
375 | - '<a href="https://twitter.com/search?q=%%23%s&src=hash" rel="nofollow" target="_blank">#%s</a>', |
|
376 | - $entity['text'], |
|
377 | - $entity['text'] |
|
378 | - ); |
|
379 | - } else if ($entityType == 'urls') { |
|
380 | - $replace = sprintf( |
|
381 | - '<a href="%s" rel="nofollow" target="_blank" title="%s">%s</a>', |
|
382 | - $entity['url'], |
|
383 | - $entity['expanded_url'], |
|
384 | - $entity['display_url'] |
|
385 | - ); |
|
386 | - } else if ($entityType == 'user_mentions') { |
|
387 | - $replace = sprintf( |
|
388 | - '<a href="https://twitter.com/%s" rel="nofollow" target="_blank" title="Twitter | %s">@%s</a>', |
|
389 | - strtolower($entity['screen_name']), |
|
390 | - $entity['name'], |
|
391 | - $entity['screen_name'] |
|
392 | - ); |
|
393 | - } else if ($entityType == 'media') { |
|
394 | - $replace = sprintf( |
|
395 | - "<a href=\"%s\" rel=\"nofollow\" target=\"_blank\" title=\"%s\">\n" . |
|
396 | - "<img src=\"%s:%s\" alt=\"%s\" height=\"%s\" width=\"%s\" />\n" . |
|
397 | - "</a>", |
|
398 | - $entity['url'], |
|
399 | - $entity['display_url'], |
|
400 | - $entity['media_url'], |
|
401 | - 'large', |
|
402 | - $entity['display_url'], |
|
403 | - $entity['sizes']['large']['h'], |
|
404 | - $entity['sizes']['large']['w'] |
|
405 | - ); |
|
406 | - } else { |
|
407 | - continue 2; |
|
408 | - } |
|
409 | - |
|
410 | - $entityHolder[$entity['indices'][0]] = [ |
|
411 | - 'start' => $entity['indices'][0], |
|
412 | - 'end' => $entity['indices'][1], |
|
413 | - 'replace' => $replace, |
|
414 | - ]; |
|
415 | - } |
|
416 | - } |
|
417 | - |
|
418 | - $messageLong = $twitterData['text']; |
|
419 | - krsort($entityHolder); |
|
420 | - foreach($entityHolder as $entity) |
|
421 | - { |
|
422 | - $messageLong = |
|
423 | - mb_substr($messageLong, 0, $entity['start']) . |
|
424 | - $entity['replace'] . |
|
425 | - mb_substr($messageLong, $entity['end'], null, 'UTF-8'); |
|
426 | - } |
|
427 | - $messageLong = mb_convert_encoding($messageLong, 'HTML-ENTITIES', 'UTF-8'); |
|
428 | - $messageLong = nl2br($messageLong, true); |
|
429 | - $messageLong = "<p>{$messageLong}</p>"; |
|
430 | - |
|
431 | - $metadata = []; |
|
432 | - if ($twitterData['favorite_count'] > 0) { |
|
433 | - $metadata['favorites'] = $twitterData['favorite_count']; |
|
434 | - } |
|
435 | - if ($twitterData['retweet_count'] > 0) { |
|
436 | - $metadata['retweets'] = $twitterData['retweet_count']; |
|
437 | - } |
|
438 | - |
|
439 | - $activityRepository->insertActivity( |
|
440 | - $message, |
|
441 | - $messageLong, |
|
442 | - (new DateTime($twitter['datetime'])), |
|
443 | - $metadata, |
|
444 | - 'twitter', |
|
445 | - $twitter['id'] |
|
446 | - ); |
|
342 | + $twitterData = json_decode($twitter['metadata'], true); |
|
343 | + |
|
344 | + $uniqueTwitterCheck = $activityRepository->getActivityByTypeId('twitter', $twitter['id']); |
|
345 | + if ($uniqueTwitterCheck !== false) { |
|
346 | + $metadata = []; |
|
347 | + if ($twitterData['favorite_count'] > 0) { |
|
348 | + $metadata['favorites'] = $twitterData['favorite_count']; |
|
349 | + } |
|
350 | + if ($twitterData['retweet_count'] > 0) { |
|
351 | + $metadata['retweets'] = $twitterData['retweet_count']; |
|
352 | + } |
|
353 | + |
|
354 | + $activityRepository->updateActivityMetadata($twitter['id'], $metadata); |
|
355 | + continue; |
|
356 | + } |
|
357 | + |
|
358 | + if ( |
|
359 | + ($twitterData['in_reply_to_user_id'] != null || substr($twitterData['text'], 0, 1) === '@') && |
|
360 | + $twitterData['favorite_count'] == 0 && |
|
361 | + $twitterData['retweet_count'] == 0 |
|
362 | + ) { |
|
363 | + continue; |
|
364 | + } |
|
365 | + |
|
366 | + $message = "Tweeted | {$twitterData['text']}"; |
|
367 | + $message = trim(preg_replace('/\s+/', ' ', $message)); |
|
368 | + $message = mb_convert_encoding($message, 'HTML-ENTITIES', 'UTF-8'); |
|
369 | + |
|
370 | + $entityHolder = []; |
|
371 | + foreach ($twitterData['entities'] as $entityType => $entities) { |
|
372 | + foreach ($entities as $entity) { |
|
373 | + if ($entityType == 'hashtags') { |
|
374 | + $replace = sprintf( |
|
375 | + '<a href="https://twitter.com/search?q=%%23%s&src=hash" rel="nofollow" target="_blank">#%s</a>', |
|
376 | + $entity['text'], |
|
377 | + $entity['text'] |
|
378 | + ); |
|
379 | + } else if ($entityType == 'urls') { |
|
380 | + $replace = sprintf( |
|
381 | + '<a href="%s" rel="nofollow" target="_blank" title="%s">%s</a>', |
|
382 | + $entity['url'], |
|
383 | + $entity['expanded_url'], |
|
384 | + $entity['display_url'] |
|
385 | + ); |
|
386 | + } else if ($entityType == 'user_mentions') { |
|
387 | + $replace = sprintf( |
|
388 | + '<a href="https://twitter.com/%s" rel="nofollow" target="_blank" title="Twitter | %s">@%s</a>', |
|
389 | + strtolower($entity['screen_name']), |
|
390 | + $entity['name'], |
|
391 | + $entity['screen_name'] |
|
392 | + ); |
|
393 | + } else if ($entityType == 'media') { |
|
394 | + $replace = sprintf( |
|
395 | + "<a href=\"%s\" rel=\"nofollow\" target=\"_blank\" title=\"%s\">\n" . |
|
396 | + "<img src=\"%s:%s\" alt=\"%s\" height=\"%s\" width=\"%s\" />\n" . |
|
397 | + "</a>", |
|
398 | + $entity['url'], |
|
399 | + $entity['display_url'], |
|
400 | + $entity['media_url'], |
|
401 | + 'large', |
|
402 | + $entity['display_url'], |
|
403 | + $entity['sizes']['large']['h'], |
|
404 | + $entity['sizes']['large']['w'] |
|
405 | + ); |
|
406 | + } else { |
|
407 | + continue 2; |
|
408 | + } |
|
409 | + |
|
410 | + $entityHolder[$entity['indices'][0]] = [ |
|
411 | + 'start' => $entity['indices'][0], |
|
412 | + 'end' => $entity['indices'][1], |
|
413 | + 'replace' => $replace, |
|
414 | + ]; |
|
415 | + } |
|
416 | + } |
|
417 | + |
|
418 | + $messageLong = $twitterData['text']; |
|
419 | + krsort($entityHolder); |
|
420 | + foreach($entityHolder as $entity) |
|
421 | + { |
|
422 | + $messageLong = |
|
423 | + mb_substr($messageLong, 0, $entity['start']) . |
|
424 | + $entity['replace'] . |
|
425 | + mb_substr($messageLong, $entity['end'], null, 'UTF-8'); |
|
426 | + } |
|
427 | + $messageLong = mb_convert_encoding($messageLong, 'HTML-ENTITIES', 'UTF-8'); |
|
428 | + $messageLong = nl2br($messageLong, true); |
|
429 | + $messageLong = "<p>{$messageLong}</p>"; |
|
430 | + |
|
431 | + $metadata = []; |
|
432 | + if ($twitterData['favorite_count'] > 0) { |
|
433 | + $metadata['favorites'] = $twitterData['favorite_count']; |
|
434 | + } |
|
435 | + if ($twitterData['retweet_count'] > 0) { |
|
436 | + $metadata['retweets'] = $twitterData['retweet_count']; |
|
437 | + } |
|
438 | + |
|
439 | + $activityRepository->insertActivity( |
|
440 | + $message, |
|
441 | + $messageLong, |
|
442 | + (new DateTime($twitter['datetime'])), |
|
443 | + $metadata, |
|
444 | + 'twitter', |
|
445 | + $twitter['id'] |
|
446 | + ); |
|
447 | 447 | } |
448 | 448 | |
449 | 449 | // youtube |
@@ -452,39 +452,39 @@ discard block |
||
452 | 452 | |
453 | 453 | $lastYouTubeActivity = $activityRepository->getActivityLastUpdateByType('youtube'); |
454 | 454 | if ($lastYouTubeActivity === false) { |
455 | - $lastYouTubeActivityDateTime = new DateTime('2010-08-28'); |
|
455 | + $lastYouTubeActivityDateTime = new DateTime('2010-08-28'); |
|
456 | 456 | } else { |
457 | - $lastYouTubeActivityDateTime = new DateTime($lastYouTubeActivity['updated_at']); |
|
458 | - $lastYouTubeActivityDateTime->modify('-5 days'); |
|
457 | + $lastYouTubeActivityDateTime = new DateTime($lastYouTubeActivity['updated_at']); |
|
458 | + $lastYouTubeActivityDateTime->modify('-5 days'); |
|
459 | 459 | } |
460 | 460 | $newYouTubeActivity = $youTubeRepository->getYouTubesUpdatedSince($lastYouTubeActivityDateTime); |
461 | 461 | foreach ($newYouTubeActivity as $youTube) { |
462 | - $uniqueYouTubeCheck = $activityRepository->getActivityByTypeId('youtube', $youTube['id']); |
|
463 | - if ($uniqueYouTubeCheck !== false) { |
|
464 | - continue; |
|
465 | - } |
|
466 | - |
|
467 | - $youTubeData = json_decode($youTube['metadata'], true); |
|
468 | - |
|
469 | - $message = sprintf( |
|
470 | - 'Favorited %s on YouTube.', |
|
471 | - $youTubeData['snippet']['title'] |
|
472 | - ); |
|
473 | - $messageLong = sprintf( |
|
474 | - "<iframe src=\"%s\" frameborder=\"0\" allowfullscreen></iframe>\n" . |
|
475 | - "<p>Favorited <a href=\"%s\" target=\"_blank\" title=\"YouTube | %s\">%s</a> on YouTube.</p>", |
|
476 | - "https://www.youtube.com/embed/{$youTubeData['contentDetails']['videoId']}", |
|
477 | - "https://youtu.be/{$youTubeData['contentDetails']['videoId']}", |
|
478 | - $youTubeData['snippet']['title'], |
|
479 | - $youTubeData['snippet']['title'] |
|
480 | - ); |
|
481 | - |
|
482 | - $activityRepository->insertActivity( |
|
483 | - $message, |
|
484 | - $messageLong, |
|
485 | - (new DateTime($youTube['datetime'])), |
|
486 | - [], |
|
487 | - 'youtube', |
|
488 | - $youTube['id'] |
|
489 | - ); |
|
462 | + $uniqueYouTubeCheck = $activityRepository->getActivityByTypeId('youtube', $youTube['id']); |
|
463 | + if ($uniqueYouTubeCheck !== false) { |
|
464 | + continue; |
|
465 | + } |
|
466 | + |
|
467 | + $youTubeData = json_decode($youTube['metadata'], true); |
|
468 | + |
|
469 | + $message = sprintf( |
|
470 | + 'Favorited %s on YouTube.', |
|
471 | + $youTubeData['snippet']['title'] |
|
472 | + ); |
|
473 | + $messageLong = sprintf( |
|
474 | + "<iframe src=\"%s\" frameborder=\"0\" allowfullscreen></iframe>\n" . |
|
475 | + "<p>Favorited <a href=\"%s\" target=\"_blank\" title=\"YouTube | %s\">%s</a> on YouTube.</p>", |
|
476 | + "https://www.youtube.com/embed/{$youTubeData['contentDetails']['videoId']}", |
|
477 | + "https://youtu.be/{$youTubeData['contentDetails']['videoId']}", |
|
478 | + $youTubeData['snippet']['title'], |
|
479 | + $youTubeData['snippet']['title'] |
|
480 | + ); |
|
481 | + |
|
482 | + $activityRepository->insertActivity( |
|
483 | + $message, |
|
484 | + $messageLong, |
|
485 | + (new DateTime($youTube['datetime'])), |
|
486 | + [], |
|
487 | + 'youtube', |
|
488 | + $youTube['id'] |
|
489 | + ); |
|
490 | 490 | } |
@@ -14,21 +14,21 @@ |
||
14 | 14 | ORDER BY `hulu`.`date` DESC"; |
15 | 15 | $huluActivities = $pdo->fetchAll($query); |
16 | 16 | foreach ($huluActivities as $huluActivity) { |
17 | - $query = " |
|
17 | + $query = " |
|
18 | 18 | INSERT INTO `jpemeric_stream`.`activity` |
19 | 19 | (`id`, `message`, `message_long`, `datetime`, `metadata`, `type`, `type_id`) |
20 | 20 | VALUES |
21 | 21 | (:id, :message, :message_long, :datetime, :metadata, :type, :type_id)"; |
22 | 22 | |
23 | - $bindings = [ |
|
24 | - 'id' => $huluActivity['id'], |
|
25 | - 'message' => "Watched {$huluActivity['title']} on Hulu.", |
|
26 | - 'message_long' => "<p>Watched {$huluActivity['title']} on Hulu.</p>", |
|
27 | - 'datetime' => (new DateTime($huluActivity['date'], $container['default_timezone']))->format('Y-m-d H:i:s'), |
|
28 | - 'metadata' => json_encode([]), |
|
29 | - 'type' => 'hulu', |
|
30 | - 'type_id' => $huluActivity['type_id'], |
|
31 | - ]; |
|
23 | + $bindings = [ |
|
24 | + 'id' => $huluActivity['id'], |
|
25 | + 'message' => "Watched {$huluActivity['title']} on Hulu.", |
|
26 | + 'message_long' => "<p>Watched {$huluActivity['title']} on Hulu.</p>", |
|
27 | + 'datetime' => (new DateTime($huluActivity['date'], $container['default_timezone']))->format('Y-m-d H:i:s'), |
|
28 | + 'metadata' => json_encode([]), |
|
29 | + 'type' => 'hulu', |
|
30 | + 'type_id' => $huluActivity['type_id'], |
|
31 | + ]; |
|
32 | 32 | |
33 | - $pdo->perform($query, $bindings); |
|
33 | + $pdo->perform($query, $bindings); |
|
34 | 34 | } |
@@ -56,37 +56,37 @@ discard block |
||
56 | 56 | return $domain_container; |
57 | 57 | } |
58 | 58 | |
59 | - protected function get_recent_activity() |
|
60 | - { |
|
61 | - global $container; |
|
62 | - $activityRepository = new Jacobemerick\Web\Domain\Stream\Activity\MysqlActivityRepository($container['db_connection_locator']); |
|
63 | - $post_result = $activityRepository->getActivities(5); |
|
64 | - |
|
65 | - $post_array = array(); |
|
66 | - foreach($post_result as $row) { |
|
67 | - array_push($post_array, $this->expand_post($row)); |
|
68 | - } |
|
69 | - |
|
70 | - return $post_array; |
|
71 | - } |
|
72 | - |
|
73 | - protected function expand_post($raw_post, $format = 'short') |
|
74 | - { |
|
75 | - $post = [ |
|
76 | - 'type' => $raw_post['type'], |
|
77 | - 'title' => ($format == 'short') ? $raw_post['message'] : $raw_post['message_long'], |
|
78 | - 'date' => $this->get_parsed_date($raw_post['datetime']), |
|
79 | - ]; |
|
80 | - |
|
81 | - if ($format != 'short') { |
|
82 | - $post['url'] = Loader::getRootUrl('lifestream') . "{$raw_post['type']}/{$raw_post['id']}/"; |
|
83 | - |
|
84 | - $metadata = json_decode($raw_post['metadata'], true); |
|
85 | - $post = array_merge($post, $metadata); |
|
86 | - } |
|
87 | - |
|
88 | - return (object) $post; |
|
89 | - } |
|
59 | + protected function get_recent_activity() |
|
60 | + { |
|
61 | + global $container; |
|
62 | + $activityRepository = new Jacobemerick\Web\Domain\Stream\Activity\MysqlActivityRepository($container['db_connection_locator']); |
|
63 | + $post_result = $activityRepository->getActivities(5); |
|
64 | + |
|
65 | + $post_array = array(); |
|
66 | + foreach($post_result as $row) { |
|
67 | + array_push($post_array, $this->expand_post($row)); |
|
68 | + } |
|
69 | + |
|
70 | + return $post_array; |
|
71 | + } |
|
72 | + |
|
73 | + protected function expand_post($raw_post, $format = 'short') |
|
74 | + { |
|
75 | + $post = [ |
|
76 | + 'type' => $raw_post['type'], |
|
77 | + 'title' => ($format == 'short') ? $raw_post['message'] : $raw_post['message_long'], |
|
78 | + 'date' => $this->get_parsed_date($raw_post['datetime']), |
|
79 | + ]; |
|
80 | + |
|
81 | + if ($format != 'short') { |
|
82 | + $post['url'] = Loader::getRootUrl('lifestream') . "{$raw_post['type']}/{$raw_post['id']}/"; |
|
83 | + |
|
84 | + $metadata = json_decode($raw_post['metadata'], true); |
|
85 | + $post = array_merge($post, $metadata); |
|
86 | + } |
|
87 | + |
|
88 | + return (object) $post; |
|
89 | + } |
|
90 | 90 | |
91 | 91 | public function activate() |
92 | 92 | { |
@@ -107,11 +107,11 @@ discard block |
||
107 | 107 | Loader::load('view', URLDecode::getSite() . '/' . $view, $this->data_array['body']); |
108 | 108 | } |
109 | 109 | |
110 | - if (URLDecode::getSite() == 'waterfalls') { |
|
111 | - Loader::load('view', '/WaterfallFoot'); |
|
112 | - } else { |
|
113 | - Loader::load('view', '/Foot', array('tracking_code' => self::$TRACKING_CODE)); |
|
114 | - } |
|
110 | + if (URLDecode::getSite() == 'waterfalls') { |
|
111 | + Loader::load('view', '/WaterfallFoot'); |
|
112 | + } else { |
|
113 | + Loader::load('view', '/Foot', array('tracking_code' => self::$TRACKING_CODE)); |
|
114 | + } |
|
115 | 115 | |
116 | 116 | if($view == '/404' || $view == '/503') |
117 | 117 | exit; |
@@ -169,15 +169,15 @@ discard block |
||
169 | 169 | |
170 | 170 | private function load_assets() |
171 | 171 | { |
172 | - $css_array = array_map(function ($stylesheet) { |
|
173 | - return "/css/{$stylesheet}.css"; |
|
174 | - }, $this->css_array); |
|
175 | - $js_array = array_map(function ($script) { |
|
176 | - if (substr($script, 0, 4) == 'http') { |
|
177 | - return $script; |
|
178 | - } |
|
179 | - return "/js/{$script}.min.js"; |
|
180 | - }, $this->js_array); |
|
172 | + $css_array = array_map(function ($stylesheet) { |
|
173 | + return "/css/{$stylesheet}.css"; |
|
174 | + }, $this->css_array); |
|
175 | + $js_array = array_map(function ($script) { |
|
176 | + if (substr($script, 0, 4) == 'http') { |
|
177 | + return $script; |
|
178 | + } |
|
179 | + return "/js/{$script}.min.js"; |
|
180 | + }, $this->js_array); |
|
181 | 181 | |
182 | 182 | $this->set_head('css_link_array', $css_array); |
183 | 183 | $this->set_head('js_link_array', $js_array); |
@@ -10,10 +10,10 @@ |
||
10 | 10 | |
11 | 11 | public function __construct() |
12 | 12 | { |
13 | - parent::__construct(); |
|
13 | + parent::__construct(); |
|
14 | 14 | |
15 | - global $container; |
|
16 | - $this->activityRepository = new Jacobemerick\Web\Domain\Stream\Activity\MysqlActivityRepository($container['db_connection_locator']); |
|
15 | + global $container; |
|
16 | + $this->activityRepository = new Jacobemerick\Web\Domain\Stream\Activity\MysqlActivityRepository($container['db_connection_locator']); |
|
17 | 17 | } |
18 | 18 | |
19 | 19 | protected function set_head_data() |
@@ -45,7 +45,7 @@ |
||
45 | 45 | |
46 | 46 | protected function get_list_results() |
47 | 47 | { |
48 | - return $this->activityRepository->getActivities(self::$POSTS_PER_PAGE, $this->offset); |
|
48 | + return $this->activityRepository->getActivities(self::$POSTS_PER_PAGE, $this->offset); |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | protected function get_list_description() |
@@ -27,26 +27,26 @@ discard block |
||
27 | 27 | * @return boolean |
28 | 28 | */ |
29 | 29 | $buildSitemap = function (array $entries, $domain, $folder) { |
30 | - $urlSet = new Urlset(); |
|
31 | - foreach ($entries as $path => $entry) { |
|
32 | - $url = new Url("{$domain}{$path}"); // todo better detection of domain by env |
|
33 | - $url->setLastMod($entry['lastmod']); // todo check if exists |
|
34 | - $url->setChangeFreq($entry['changefreq']); // todo check if exists |
|
35 | - $url->setPriority($entry['priority']); // todo check if exists |
|
36 | - $urlSet->addUrl($url); |
|
37 | - } |
|
38 | - |
|
39 | - $output = new Output(); |
|
40 | - $output->setIndentString(' '); // change indentation from 4 to 2 spaces |
|
41 | - |
|
42 | - $tempSitemap = __DIR__ . "/../../public/{$folder}/sitemap-new.xml"; |
|
43 | - $finalSitemap = __DIR__ . "/../../public/{$folder}/sitemap.xml"; |
|
44 | - |
|
45 | - $sitemapHandle = fopen($tempSitemap, 'w'); |
|
46 | - fwrite($sitemapHandle, $output->getOutput($urlSet)); |
|
47 | - fclose($sitemapHandle); |
|
48 | - |
|
49 | - rename($tempSitemap, $finalSitemap); |
|
30 | + $urlSet = new Urlset(); |
|
31 | + foreach ($entries as $path => $entry) { |
|
32 | + $url = new Url("{$domain}{$path}"); // todo better detection of domain by env |
|
33 | + $url->setLastMod($entry['lastmod']); // todo check if exists |
|
34 | + $url->setChangeFreq($entry['changefreq']); // todo check if exists |
|
35 | + $url->setPriority($entry['priority']); // todo check if exists |
|
36 | + $urlSet->addUrl($url); |
|
37 | + } |
|
38 | + |
|
39 | + $output = new Output(); |
|
40 | + $output->setIndentString(' '); // change indentation from 4 to 2 spaces |
|
41 | + |
|
42 | + $tempSitemap = __DIR__ . "/../../public/{$folder}/sitemap-new.xml"; |
|
43 | + $finalSitemap = __DIR__ . "/../../public/{$folder}/sitemap.xml"; |
|
44 | + |
|
45 | + $sitemapHandle = fopen($tempSitemap, 'w'); |
|
46 | + fwrite($sitemapHandle, $output->getOutput($urlSet)); |
|
47 | + fclose($sitemapHandle); |
|
48 | + |
|
49 | + rename($tempSitemap, $finalSitemap); |
|
50 | 50 | }; |
51 | 51 | |
52 | 52 | |
@@ -54,12 +54,12 @@ discard block |
||
54 | 54 | * blog.jacobemerick.com |
55 | 55 | *********************************************/ |
56 | 56 | $reduceToMostRecentBlogPost = function ($recentPost, $post) { |
57 | - if (is_null($recentPost)) { |
|
58 | - return $post; |
|
59 | - } |
|
60 | - $postDate = new DateTime($post['date']); |
|
61 | - $recentPostDate = new DateTime($recentPost['date']); |
|
62 | - return ($postDate > $recentPostDate) ? $post: $recentPost; |
|
57 | + if (is_null($recentPost)) { |
|
58 | + return $post; |
|
59 | + } |
|
60 | + $postDate = new DateTime($post['date']); |
|
61 | + $recentPostDate = new DateTime($recentPost['date']); |
|
62 | + return ($postDate > $recentPostDate) ? $post: $recentPost; |
|
63 | 63 | }; |
64 | 64 | |
65 | 65 | $blogPostsPerPage = 10; |
@@ -70,107 +70,107 @@ discard block |
||
70 | 70 | |
71 | 71 | // todo these post-level dates should be accurate to H:i:s |
72 | 72 | $entryArray = [ |
73 | - '/' => [ |
|
74 | - 'lastmod' => (new DateTime($mostRecentBlogPost['date']))->format('Y-m-d'), |
|
75 | - 'changefreq' => 'daily', |
|
76 | - 'priority' => .9, |
|
77 | - ] |
|
73 | + '/' => [ |
|
74 | + 'lastmod' => (new DateTime($mostRecentBlogPost['date']))->format('Y-m-d'), |
|
75 | + 'changefreq' => 'daily', |
|
76 | + 'priority' => .9, |
|
77 | + ] |
|
78 | 78 | ]; |
79 | 79 | for ($i = 2; (($i - 1) * $blogPostsPerPage) < count($activeBlogPosts); $i++) { |
80 | - $entryKey = "/{$i}/"; |
|
81 | - $entryArray += [ |
|
82 | - $entryKey => [ |
|
83 | - 'lastmod' => (new DateTime($mostRecentBlogPost['date']))->format('Y-m-d'), |
|
84 | - 'changefreq' => 'daily', |
|
85 | - 'priority' => .1, |
|
86 | - ] |
|
87 | - ]; |
|
80 | + $entryKey = "/{$i}/"; |
|
81 | + $entryArray += [ |
|
82 | + $entryKey => [ |
|
83 | + 'lastmod' => (new DateTime($mostRecentBlogPost['date']))->format('Y-m-d'), |
|
84 | + 'changefreq' => 'daily', |
|
85 | + 'priority' => .1, |
|
86 | + ] |
|
87 | + ]; |
|
88 | 88 | } |
89 | 89 | |
90 | 90 | $blogCategoryArray = [ |
91 | - 'hiking', |
|
92 | - 'personal', |
|
93 | - 'web-development', |
|
91 | + 'hiking', |
|
92 | + 'personal', |
|
93 | + 'web-development', |
|
94 | 94 | ]; |
95 | 95 | |
96 | 96 | foreach ($blogCategoryArray as $blogCategory) { |
97 | - $blogCategoryPosts = array_filter($activeBlogPosts, function ($post) use ($blogCategory) { |
|
98 | - return $post['category'] == $blogCategory; |
|
99 | - }); |
|
100 | - $mostRecentBlogCategoryPost = array_reduce($blogCategoryPosts, $reduceToMostRecentBlogPost); |
|
101 | - |
|
102 | - $entryKey = "/{$blogCategory}/"; |
|
103 | - $entryArray += [ |
|
104 | - $entryKey => [ |
|
105 | - 'lastmod' => (new DateTime($mostRecentBlogCategoryPost['date']))->format('Y-m-d'), |
|
106 | - 'changefreq' => 'daily', |
|
107 | - 'priority' => .3, |
|
108 | - ] |
|
109 | - ]; |
|
110 | - |
|
111 | - for ($i = 2; (($i - 1) * $blogPostsPerPage) < count($blogCategoryPosts); $i++) { |
|
112 | - $entryKey = "/{$blogCategory}/{$i}/"; |
|
113 | - $entryArray += [ |
|
114 | - $entryKey => [ |
|
115 | - 'lastmod' => (new DateTime($mostRecentBlogCategoryPost['date']))->format('Y-m-d'), |
|
116 | - 'changefreq' => 'daily', |
|
117 | - 'priority' => .1, |
|
118 | - ] |
|
119 | - ]; |
|
120 | - } |
|
97 | + $blogCategoryPosts = array_filter($activeBlogPosts, function ($post) use ($blogCategory) { |
|
98 | + return $post['category'] == $blogCategory; |
|
99 | + }); |
|
100 | + $mostRecentBlogCategoryPost = array_reduce($blogCategoryPosts, $reduceToMostRecentBlogPost); |
|
101 | + |
|
102 | + $entryKey = "/{$blogCategory}/"; |
|
103 | + $entryArray += [ |
|
104 | + $entryKey => [ |
|
105 | + 'lastmod' => (new DateTime($mostRecentBlogCategoryPost['date']))->format('Y-m-d'), |
|
106 | + 'changefreq' => 'daily', |
|
107 | + 'priority' => .3, |
|
108 | + ] |
|
109 | + ]; |
|
110 | + |
|
111 | + for ($i = 2; (($i - 1) * $blogPostsPerPage) < count($blogCategoryPosts); $i++) { |
|
112 | + $entryKey = "/{$blogCategory}/{$i}/"; |
|
113 | + $entryArray += [ |
|
114 | + $entryKey => [ |
|
115 | + 'lastmod' => (new DateTime($mostRecentBlogCategoryPost['date']))->format('Y-m-d'), |
|
116 | + 'changefreq' => 'daily', |
|
117 | + 'priority' => .1, |
|
118 | + ] |
|
119 | + ]; |
|
120 | + } |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | $blogTagRepository = new BlogTagRepository($container['db_connection_locator']); |
124 | 124 | $blogTags = $blogTagRepository->getAllTags(); |
125 | 125 | foreach ($blogTags as $blogTag) { |
126 | - $blogPostsWithTag = $blogPostRepository->getActivePostsByTag($blogTag['id']); |
|
127 | - if (count($blogPostsWithTag) < 1) { |
|
128 | - continue; |
|
129 | - } |
|
130 | - |
|
131 | - $mostRecentBlogTagPost = array_reduce($blogPostsWithTag, $reduceToMostRecentBlogPost); |
|
132 | - |
|
133 | - $blogTagPath = str_replace(' ', '-', $blogTag['tag']); |
|
134 | - $entryKey = "/tag/{$blogTagPath}/"; |
|
135 | - $entryArray += [ |
|
136 | - $entryKey => [ |
|
137 | - 'lastmod' => (new DateTime($mostRecentBlogTagPost['date']))->format('Y-m-d'), |
|
138 | - 'changefreq' => 'daily', |
|
139 | - 'priority' => .1, |
|
140 | - ] |
|
141 | - ]; |
|
142 | - |
|
143 | - for ($i = 2; (($i - 1) * $blogPostsPerPage) < count($blogPostsWithTag); $i++) { |
|
144 | - $blogTagPath = str_replace(' ', '-', $blogTag['tag']); |
|
145 | - $entryKey = "/tag/{$blogTagPath}/{$i}/"; |
|
146 | - $entryArray += [ |
|
147 | - $entryKey => [ |
|
148 | - 'lastmod' => (new DateTime($mostRecentBlogTagPost['date']))->format('Y-m-d'), |
|
149 | - 'changefreq' => 'daily', |
|
150 | - 'priority' => .1, |
|
151 | - ] |
|
152 | - ]; |
|
153 | - } |
|
126 | + $blogPostsWithTag = $blogPostRepository->getActivePostsByTag($blogTag['id']); |
|
127 | + if (count($blogPostsWithTag) < 1) { |
|
128 | + continue; |
|
129 | + } |
|
130 | + |
|
131 | + $mostRecentBlogTagPost = array_reduce($blogPostsWithTag, $reduceToMostRecentBlogPost); |
|
132 | + |
|
133 | + $blogTagPath = str_replace(' ', '-', $blogTag['tag']); |
|
134 | + $entryKey = "/tag/{$blogTagPath}/"; |
|
135 | + $entryArray += [ |
|
136 | + $entryKey => [ |
|
137 | + 'lastmod' => (new DateTime($mostRecentBlogTagPost['date']))->format('Y-m-d'), |
|
138 | + 'changefreq' => 'daily', |
|
139 | + 'priority' => .1, |
|
140 | + ] |
|
141 | + ]; |
|
142 | + |
|
143 | + for ($i = 2; (($i - 1) * $blogPostsPerPage) < count($blogPostsWithTag); $i++) { |
|
144 | + $blogTagPath = str_replace(' ', '-', $blogTag['tag']); |
|
145 | + $entryKey = "/tag/{$blogTagPath}/{$i}/"; |
|
146 | + $entryArray += [ |
|
147 | + $entryKey => [ |
|
148 | + 'lastmod' => (new DateTime($mostRecentBlogTagPost['date']))->format('Y-m-d'), |
|
149 | + 'changefreq' => 'daily', |
|
150 | + 'priority' => .1, |
|
151 | + ] |
|
152 | + ]; |
|
153 | + } |
|
154 | 154 | } |
155 | 155 | |
156 | 156 | $reversedBlogPosts = array_reverse($activeBlogPosts); |
157 | 157 | foreach ($reversedBlogPosts as $blogPost) { |
158 | - $entryKey = "/{$blogPost['category']}/{$blogPost['path']}/"; |
|
159 | - $entryArray += [ |
|
160 | - $entryKey => [ |
|
161 | - 'lastmod' => (new DateTime($blogPost['date']))->format('Y-m-d'), // todo this should be based on comment |
|
162 | - 'changefreq' => 'weekly', |
|
163 | - 'priority' => .8, |
|
164 | - ], |
|
165 | - ]; |
|
158 | + $entryKey = "/{$blogPost['category']}/{$blogPost['path']}/"; |
|
159 | + $entryArray += [ |
|
160 | + $entryKey => [ |
|
161 | + 'lastmod' => (new DateTime($blogPost['date']))->format('Y-m-d'), // todo this should be based on comment |
|
162 | + 'changefreq' => 'weekly', |
|
163 | + 'priority' => .8, |
|
164 | + ], |
|
165 | + ]; |
|
166 | 166 | } |
167 | 167 | |
168 | 168 | $entryArray += [ |
169 | - '/about/' => [ |
|
170 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
171 | - 'changefreq' => 'monthly', |
|
172 | - 'priority' => .2, |
|
173 | - ] |
|
169 | + '/about/' => [ |
|
170 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
171 | + 'changefreq' => 'monthly', |
|
172 | + 'priority' => .2, |
|
173 | + ] |
|
174 | 174 | ]; |
175 | 175 | |
176 | 176 | $buildSitemap($entryArray, 'http://blog.jacobemerick.com', 'blog'); |
@@ -184,21 +184,21 @@ discard block |
||
184 | 184 | $mostRecentPost = current($mostRecentPost); |
185 | 185 | |
186 | 186 | $entryArray = [ |
187 | - '/' => [ |
|
188 | - 'lastmod' => (new DateTime($mostRecentPost['date']))->format('Y-m-d'), |
|
189 | - 'changefreq' => 'daily', |
|
190 | - 'priority' => 1, |
|
191 | - ], |
|
192 | - '/about/' => [ |
|
193 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
194 | - 'changefreq' => 'monthly', |
|
195 | - 'priority' => .4, |
|
196 | - ], |
|
197 | - '/contact/' => [ |
|
198 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
199 | - 'changefreq' => 'monthly', |
|
200 | - 'priority' => .3, |
|
201 | - ], |
|
187 | + '/' => [ |
|
188 | + 'lastmod' => (new DateTime($mostRecentPost['date']))->format('Y-m-d'), |
|
189 | + 'changefreq' => 'daily', |
|
190 | + 'priority' => 1, |
|
191 | + ], |
|
192 | + '/about/' => [ |
|
193 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
194 | + 'changefreq' => 'monthly', |
|
195 | + 'priority' => .4, |
|
196 | + ], |
|
197 | + '/contact/' => [ |
|
198 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
199 | + 'changefreq' => 'monthly', |
|
200 | + 'priority' => .3, |
|
201 | + ], |
|
202 | 202 | ]; |
203 | 203 | |
204 | 204 | $buildSitemap($entryArray, 'http://home.jacobemerick.com', 'home'); |
@@ -208,12 +208,12 @@ discard block |
||
208 | 208 | * lifestream.jacobemerick.com |
209 | 209 | *********************************************/ |
210 | 210 | $reduceToMostRecentStreamActivity = function ($recentActivity, $activity) { |
211 | - if (is_null($recentActivity)) { |
|
212 | - return $activity; |
|
213 | - } |
|
214 | - $activityDate = new DateTime($activity['datetime']); |
|
215 | - $recentActivityDate = new DateTime($recentActivity['datetime']); |
|
216 | - return ($activityDate > $recentActivityDate) ? $activity: $recentActivity; |
|
211 | + if (is_null($recentActivity)) { |
|
212 | + return $activity; |
|
213 | + } |
|
214 | + $activityDate = new DateTime($activity['datetime']); |
|
215 | + $recentActivityDate = new DateTime($recentActivity['datetime']); |
|
216 | + return ($activityDate > $recentActivityDate) ? $activity: $recentActivity; |
|
217 | 217 | }; |
218 | 218 | |
219 | 219 | $streamActivitiesPerPage = 15; |
@@ -223,78 +223,78 @@ discard block |
||
223 | 223 | $mostRecentStreamActivity = array_reduce($streamActivities, $reduceToMostRecentStreamActivity); |
224 | 224 | |
225 | 225 | $entryArray = [ |
226 | - '/' => [ |
|
227 | - 'lastmod' => (new DateTime($mostRecentStreamActivity['datetime']))->format('c'), |
|
228 | - 'changefreq' => 'hourly', |
|
229 | - 'priority' => .9, |
|
230 | - ] |
|
226 | + '/' => [ |
|
227 | + 'lastmod' => (new DateTime($mostRecentStreamActivity['datetime']))->format('c'), |
|
228 | + 'changefreq' => 'hourly', |
|
229 | + 'priority' => .9, |
|
230 | + ] |
|
231 | 231 | ]; |
232 | 232 | for ($i = 2; (($i - 1) * $streamActivitiesPerPage) < count($streamActivities); $i++) { |
233 | - $entryKey = "/page/{$i}/"; |
|
234 | - $entryArray += [ |
|
235 | - $entryKey => [ |
|
236 | - 'lastmod' => (new DateTime($mostRecentStreamActivity['datetime']))->format('c'), |
|
237 | - 'changefreq' => 'hourly', |
|
238 | - 'priority' => .1, |
|
239 | - ] |
|
240 | - ]; |
|
233 | + $entryKey = "/page/{$i}/"; |
|
234 | + $entryArray += [ |
|
235 | + $entryKey => [ |
|
236 | + 'lastmod' => (new DateTime($mostRecentStreamActivity['datetime']))->format('c'), |
|
237 | + 'changefreq' => 'hourly', |
|
238 | + 'priority' => .1, |
|
239 | + ] |
|
240 | + ]; |
|
241 | 241 | } |
242 | 242 | |
243 | 243 | $streamTypeArray = [ |
244 | - 'blog', |
|
245 | - 'books', |
|
246 | - 'distance', |
|
247 | - 'git', |
|
248 | - 'hulu', |
|
249 | - 'twitter', |
|
250 | - 'youtube', |
|
244 | + 'blog', |
|
245 | + 'books', |
|
246 | + 'distance', |
|
247 | + 'git', |
|
248 | + 'hulu', |
|
249 | + 'twitter', |
|
250 | + 'youtube', |
|
251 | 251 | ]; |
252 | 252 | |
253 | 253 | foreach ($streamTypeArray as $streamType) { |
254 | - $streamTypeActivities = array_filter($streamActivities, function ($post) use ($streamType) { |
|
255 | - return $post['type'] == $streamType; |
|
256 | - }); |
|
257 | - $mostRecentStreamTypeActivity = array_reduce($streamTypeActivities, $reduceToMostRecentStreamActivity); |
|
258 | - |
|
259 | - $entryKey = "/{$streamType}/"; |
|
260 | - $entryArray += [ |
|
261 | - $entryKey => [ |
|
262 | - 'lastmod' => (new DateTime($mostRecentStreamTypeActivity['datetime']))->format('c'), |
|
263 | - 'changefreq' => 'hourly', |
|
264 | - 'priority' => .3, |
|
265 | - ] |
|
266 | - ]; |
|
267 | - |
|
268 | - for ($i = 2; (($i - 1) * $streamActivitiesPerPage) < count($streamTypeActivities); $i++) { |
|
269 | - $entryKey = "/{$streamType}/page/{$i}/"; |
|
270 | - $entryArray += [ |
|
271 | - $entryKey => [ |
|
272 | - 'lastmod' => (new DateTime($mostRecentStreamTypeActivity['datetime']))->format('c'), |
|
273 | - 'changefreq' => 'hourly', |
|
274 | - 'priority' => .1, |
|
275 | - ] |
|
276 | - ]; |
|
277 | - } |
|
254 | + $streamTypeActivities = array_filter($streamActivities, function ($post) use ($streamType) { |
|
255 | + return $post['type'] == $streamType; |
|
256 | + }); |
|
257 | + $mostRecentStreamTypeActivity = array_reduce($streamTypeActivities, $reduceToMostRecentStreamActivity); |
|
258 | + |
|
259 | + $entryKey = "/{$streamType}/"; |
|
260 | + $entryArray += [ |
|
261 | + $entryKey => [ |
|
262 | + 'lastmod' => (new DateTime($mostRecentStreamTypeActivity['datetime']))->format('c'), |
|
263 | + 'changefreq' => 'hourly', |
|
264 | + 'priority' => .3, |
|
265 | + ] |
|
266 | + ]; |
|
267 | + |
|
268 | + for ($i = 2; (($i - 1) * $streamActivitiesPerPage) < count($streamTypeActivities); $i++) { |
|
269 | + $entryKey = "/{$streamType}/page/{$i}/"; |
|
270 | + $entryArray += [ |
|
271 | + $entryKey => [ |
|
272 | + 'lastmod' => (new DateTime($mostRecentStreamTypeActivity['datetime']))->format('c'), |
|
273 | + 'changefreq' => 'hourly', |
|
274 | + 'priority' => .1, |
|
275 | + ] |
|
276 | + ]; |
|
277 | + } |
|
278 | 278 | } |
279 | 279 | |
280 | 280 | $reversedStreamActivities = array_reverse($streamActivities); |
281 | 281 | foreach ($reversedStreamActivities as $streamActivity) { |
282 | - $entryKey = "/{$streamActivity['type']}/{$streamActivity['id']}/"; |
|
283 | - $entryArray += [ |
|
284 | - $entryKey => [ |
|
285 | - 'lastmod' => (new DateTime($streamActivity['datetime']))->format('c'), |
|
286 | - 'changefreq' => 'never', |
|
287 | - 'priority' => .5, |
|
288 | - ], |
|
289 | - ]; |
|
282 | + $entryKey = "/{$streamActivity['type']}/{$streamActivity['id']}/"; |
|
283 | + $entryArray += [ |
|
284 | + $entryKey => [ |
|
285 | + 'lastmod' => (new DateTime($streamActivity['datetime']))->format('c'), |
|
286 | + 'changefreq' => 'never', |
|
287 | + 'priority' => .5, |
|
288 | + ], |
|
289 | + ]; |
|
290 | 290 | } |
291 | 291 | |
292 | 292 | $entryArray += [ |
293 | - '/about/' => [ |
|
294 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
295 | - 'changefreq' => 'monthly', |
|
296 | - 'priority' => .7, |
|
297 | - ] |
|
293 | + '/about/' => [ |
|
294 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
295 | + 'changefreq' => 'monthly', |
|
296 | + 'priority' => .7, |
|
297 | + ] |
|
298 | 298 | ]; |
299 | 299 | |
300 | 300 | $buildSitemap($entryArray, 'http://lifestream.jacobemerick.com', 'lifestream'); |
@@ -307,43 +307,43 @@ discard block |
||
307 | 307 | $portfolioPieces = $portfolioRepository->getPieces(); |
308 | 308 | |
309 | 309 | $entryArray = [ |
310 | - '/' => [ |
|
311 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
312 | - 'changefreq' => 'weekly', |
|
313 | - 'priority' => 1, |
|
314 | - ], |
|
315 | - '/print/' => [ |
|
316 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
317 | - 'changefreq' => 'never', |
|
318 | - 'priority' => .1, |
|
319 | - ], |
|
320 | - '/web/' => [ |
|
321 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
322 | - 'changefreq' => 'never', |
|
323 | - 'priority' => .1, |
|
324 | - ], |
|
325 | - '/contact/' => [ |
|
326 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
327 | - 'changefreq' => 'never', |
|
328 | - 'priority' => .4, |
|
329 | - ], |
|
330 | - '/resume/' => [ |
|
331 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
332 | - 'changefreq' => 'yearly', |
|
333 | - 'priority' => .9, |
|
334 | - ], |
|
310 | + '/' => [ |
|
311 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
312 | + 'changefreq' => 'weekly', |
|
313 | + 'priority' => 1, |
|
314 | + ], |
|
315 | + '/print/' => [ |
|
316 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
317 | + 'changefreq' => 'never', |
|
318 | + 'priority' => .1, |
|
319 | + ], |
|
320 | + '/web/' => [ |
|
321 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
322 | + 'changefreq' => 'never', |
|
323 | + 'priority' => .1, |
|
324 | + ], |
|
325 | + '/contact/' => [ |
|
326 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
327 | + 'changefreq' => 'never', |
|
328 | + 'priority' => .4, |
|
329 | + ], |
|
330 | + '/resume/' => [ |
|
331 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
332 | + 'changefreq' => 'yearly', |
|
333 | + 'priority' => .9, |
|
334 | + ], |
|
335 | 335 | ]; |
336 | 336 | |
337 | 337 | foreach ($portfolioPieces as $portfolioPiece) { |
338 | - $portfolioCategory = ($portfolioPiece['category'] == 1) ? 'web' : 'print'; |
|
339 | - $entryKey = "/{$portfolioCategory}/{$portfolioPiece['title_url']}/"; |
|
340 | - $entryArray += [ |
|
341 | - $entryKey => [ |
|
342 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
343 | - 'changefreq' => 'never', |
|
344 | - 'priority' => .7, |
|
345 | - ], |
|
346 | - ]; |
|
338 | + $portfolioCategory = ($portfolioPiece['category'] == 1) ? 'web' : 'print'; |
|
339 | + $entryKey = "/{$portfolioCategory}/{$portfolioPiece['title_url']}/"; |
|
340 | + $entryArray += [ |
|
341 | + $entryKey => [ |
|
342 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
343 | + 'changefreq' => 'never', |
|
344 | + 'priority' => .7, |
|
345 | + ], |
|
346 | + ]; |
|
347 | 347 | } |
348 | 348 | |
349 | 349 | $buildSitemap($entryArray, 'http://portfolio.jacobemerick.com', 'portfolio'); |
@@ -357,26 +357,26 @@ discard block |
||
357 | 357 | $mostRecentChange = current($mostRecentChange); |
358 | 358 | |
359 | 359 | $entryArray = [ |
360 | - '/' => [ |
|
361 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
362 | - 'changefreq' => 'weekly', |
|
363 | - 'priority' => 1, |
|
364 | - ], |
|
365 | - '/terms/' => [ |
|
366 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
367 | - 'changefreq' => 'weekly', |
|
368 | - 'priority' => .3, |
|
369 | - ], |
|
370 | - '/change-log/' => [ |
|
371 | - 'lastmod' => (new DateTime($mostRecentChange['datetime']))->format('c'), |
|
372 | - 'changefreq' => 'daily', |
|
373 | - 'priority' => .1, |
|
374 | - ], |
|
375 | - '/contact/' => [ |
|
376 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
377 | - 'changefreq' => 'weekly', |
|
378 | - 'priority' => .6, |
|
379 | - ], |
|
360 | + '/' => [ |
|
361 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
362 | + 'changefreq' => 'weekly', |
|
363 | + 'priority' => 1, |
|
364 | + ], |
|
365 | + '/terms/' => [ |
|
366 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
367 | + 'changefreq' => 'weekly', |
|
368 | + 'priority' => .3, |
|
369 | + ], |
|
370 | + '/change-log/' => [ |
|
371 | + 'lastmod' => (new DateTime($mostRecentChange['datetime']))->format('c'), |
|
372 | + 'changefreq' => 'daily', |
|
373 | + 'priority' => .1, |
|
374 | + ], |
|
375 | + '/contact/' => [ |
|
376 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
377 | + 'changefreq' => 'weekly', |
|
378 | + 'priority' => .6, |
|
379 | + ], |
|
380 | 380 | ]; |
381 | 381 | |
382 | 382 | $buildSitemap($entryArray, 'http://site.jacobemerick.com', 'site'); |
@@ -386,108 +386,108 @@ discard block |
||
386 | 386 | * www.waterfallofthekeweenaw.com |
387 | 387 | *********************************************/ |
388 | 388 | $reduceToMostRecentJournalLog = function ($recentLog, $log) { |
389 | - if (is_null($recentLog)) { |
|
390 | - return $log; |
|
391 | - } |
|
392 | - $logDate = new DateTime($log['publish_date']); |
|
393 | - $recentLogDate = new DateTime($recentLog['publish_date']); |
|
394 | - return ($logDate > $recentLogDate) ? log: $recentLog; |
|
389 | + if (is_null($recentLog)) { |
|
390 | + return $log; |
|
391 | + } |
|
392 | + $logDate = new DateTime($log['publish_date']); |
|
393 | + $recentLogDate = new DateTime($recentLog['publish_date']); |
|
394 | + return ($logDate > $recentLogDate) ? log: $recentLog; |
|
395 | 395 | }; |
396 | 396 | |
397 | 397 | $waterfallRepository = new WaterfallRepository($container['db_connection_locator']); |
398 | 398 | $waterfallList = $waterfallRepository->getWaterfalls(); |
399 | 399 | |
400 | 400 | $entryArray = [ |
401 | - '/' => [ |
|
402 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
403 | - 'changefreq' => 'daily', |
|
404 | - 'priority' => 1, |
|
405 | - ], |
|
406 | - '/falls/' => [ |
|
407 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
408 | - 'changefreq' => 'weekly', |
|
409 | - 'priority' => .3, |
|
410 | - ], |
|
401 | + '/' => [ |
|
402 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
403 | + 'changefreq' => 'daily', |
|
404 | + 'priority' => 1, |
|
405 | + ], |
|
406 | + '/falls/' => [ |
|
407 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
408 | + 'changefreq' => 'weekly', |
|
409 | + 'priority' => .3, |
|
410 | + ], |
|
411 | 411 | ]; |
412 | 412 | |
413 | 413 | for ($i = 2; (($i - 1) * 24) < count($waterfallList); $i++) { |
414 | - $entryKey = "/falls/{$i}/"; |
|
415 | - $entryArray += [ |
|
416 | - $entryKey => [ |
|
417 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
418 | - 'changefreq' => 'weekly', |
|
419 | - 'priority' => .1, |
|
420 | - ] |
|
421 | - ]; |
|
414 | + $entryKey = "/falls/{$i}/"; |
|
415 | + $entryArray += [ |
|
416 | + $entryKey => [ |
|
417 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
418 | + 'changefreq' => 'weekly', |
|
419 | + 'priority' => .1, |
|
420 | + ] |
|
421 | + ]; |
|
422 | 422 | } |
423 | 423 | |
424 | 424 | $waterfallCountyRepository = new WaterfallCountyRepository($container['db_connection_locator']); |
425 | 425 | $waterfallCountyList = $waterfallCountyRepository->getCountyList(); |
426 | 426 | |
427 | 427 | foreach ($waterfallCountyList as $waterfallCounty) { |
428 | - $entryKey = "/{$waterfallCounty['alias']}/"; |
|
429 | - $entryArray += [ |
|
430 | - $entryKey => [ |
|
431 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
432 | - 'changefreq' => 'monthly', |
|
433 | - 'priority' => .6 |
|
434 | - ] |
|
435 | - ]; |
|
436 | - |
|
437 | - for ($i = 2; (($i - 1) * 12) < $waterfallCounty['count']; $i++) { |
|
438 | - $entryKey = "/{$waterfallCounty['alias']}/{$i}/"; |
|
439 | - $entryArray += [ |
|
440 | - $entryKey => [ |
|
441 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
442 | - 'changefreq' => 'monthly', |
|
443 | - 'priority' => .1 |
|
444 | - ] |
|
445 | - ]; |
|
446 | - } |
|
428 | + $entryKey = "/{$waterfallCounty['alias']}/"; |
|
429 | + $entryArray += [ |
|
430 | + $entryKey => [ |
|
431 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
432 | + 'changefreq' => 'monthly', |
|
433 | + 'priority' => .6 |
|
434 | + ] |
|
435 | + ]; |
|
436 | + |
|
437 | + for ($i = 2; (($i - 1) * 12) < $waterfallCounty['count']; $i++) { |
|
438 | + $entryKey = "/{$waterfallCounty['alias']}/{$i}/"; |
|
439 | + $entryArray += [ |
|
440 | + $entryKey => [ |
|
441 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
442 | + 'changefreq' => 'monthly', |
|
443 | + 'priority' => .1 |
|
444 | + ] |
|
445 | + ]; |
|
446 | + } |
|
447 | 447 | } |
448 | 448 | |
449 | 449 | $waterfallWatercourseRepository = new WaterfallWatercourseRepository($container['db_connection_locator']); |
450 | 450 | $waterfallWatercourseList = $waterfallWatercourseRepository->getWatercourseList(); |
451 | 451 | |
452 | 452 | foreach ($waterfallWatercourseList as $waterfallWatercourse) { |
453 | - $entryKey = "/{$waterfallWatercourse['alias']}/"; |
|
454 | - $entryArray += [ |
|
455 | - $entryKey => [ |
|
456 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
457 | - 'changefreq' => 'monthly', |
|
458 | - 'priority' => .6 |
|
459 | - ] |
|
460 | - ]; |
|
461 | - |
|
462 | - for ($i = 2; (($i - 1) * 12) < $waterfallWatercourse['count']; $i++) { |
|
463 | - $entryKey = "/{$waterfallWatercourse['alias']}/{$i}/"; |
|
464 | - $entryArray += [ |
|
465 | - $entryKey => [ |
|
466 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
467 | - 'changefreq' => 'monthly', |
|
468 | - 'priority' => .1 |
|
469 | - ] |
|
470 | - ]; |
|
471 | - } |
|
453 | + $entryKey = "/{$waterfallWatercourse['alias']}/"; |
|
454 | + $entryArray += [ |
|
455 | + $entryKey => [ |
|
456 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
457 | + 'changefreq' => 'monthly', |
|
458 | + 'priority' => .6 |
|
459 | + ] |
|
460 | + ]; |
|
461 | + |
|
462 | + for ($i = 2; (($i - 1) * 12) < $waterfallWatercourse['count']; $i++) { |
|
463 | + $entryKey = "/{$waterfallWatercourse['alias']}/{$i}/"; |
|
464 | + $entryArray += [ |
|
465 | + $entryKey => [ |
|
466 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
467 | + 'changefreq' => 'monthly', |
|
468 | + 'priority' => .1 |
|
469 | + ] |
|
470 | + ]; |
|
471 | + } |
|
472 | 472 | } |
473 | 473 | |
474 | 474 | foreach ($waterfallList as $waterfall) { |
475 | - $entryKey = "/{$waterfall['watercourse_alias']}/{$waterfall['alias']}/"; |
|
476 | - $entryArray += [ |
|
477 | - $entryKey => [ |
|
478 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
479 | - 'changefreq' => 'weekly', |
|
480 | - 'priority' => .8, |
|
481 | - ], |
|
482 | - ]; |
|
475 | + $entryKey = "/{$waterfall['watercourse_alias']}/{$waterfall['alias']}/"; |
|
476 | + $entryArray += [ |
|
477 | + $entryKey => [ |
|
478 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
479 | + 'changefreq' => 'weekly', |
|
480 | + 'priority' => .8, |
|
481 | + ], |
|
482 | + ]; |
|
483 | 483 | } |
484 | 484 | |
485 | 485 | $entryArray += [ |
486 | - '/map/' => [ |
|
487 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
488 | - 'changefreq' => 'monthly', |
|
489 | - 'priority' => .6, |
|
490 | - ] |
|
486 | + '/map/' => [ |
|
487 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
488 | + 'changefreq' => 'monthly', |
|
489 | + 'priority' => .6, |
|
490 | + ] |
|
491 | 491 | ]; |
492 | 492 | |
493 | 493 | $waterfallLogRepository = new WaterfallLogRepository($container['db_connection_locator']); |
@@ -496,91 +496,91 @@ discard block |
||
496 | 496 | $mostRecentWaterfallLog = array_reduce($activeWaterfallLogs, $reduceToMostRecentJournalLog); |
497 | 497 | |
498 | 498 | $entryArray += [ |
499 | - '/journal/' => [ |
|
500 | - 'lastmod' => (new DateTime($mostRecentWaterfallLog['publish_date']))->format('c'), |
|
501 | - 'changefreq' => 'weekly', |
|
502 | - 'priority' => .3, |
|
503 | - ], |
|
499 | + '/journal/' => [ |
|
500 | + 'lastmod' => (new DateTime($mostRecentWaterfallLog['publish_date']))->format('c'), |
|
501 | + 'changefreq' => 'weekly', |
|
502 | + 'priority' => .3, |
|
503 | + ], |
|
504 | 504 | ]; |
505 | 505 | |
506 | 506 | for ($i = 2; (($i - 1) * 10) < count($activeWaterfallLogs); $i++) { |
507 | - $entryKey = "/journal/{$i}/"; |
|
508 | - $entryArray += [ |
|
509 | - $entryKey => [ |
|
510 | - 'lastmod' => (new DateTime($mostRecentWaterfallLog['publish_date']))->format('c'), |
|
511 | - 'changefreq' => 'weekly', |
|
512 | - 'priority' => .1, |
|
513 | - ] |
|
514 | - ]; |
|
507 | + $entryKey = "/journal/{$i}/"; |
|
508 | + $entryArray += [ |
|
509 | + $entryKey => [ |
|
510 | + 'lastmod' => (new DateTime($mostRecentWaterfallLog['publish_date']))->format('c'), |
|
511 | + 'changefreq' => 'weekly', |
|
512 | + 'priority' => .1, |
|
513 | + ] |
|
514 | + ]; |
|
515 | 515 | } |
516 | 516 | |
517 | 517 | $waterfallCompanionRepository = new WaterfallCompanionRepository($container['db_connection_locator']); |
518 | 518 | $waterfallCompanionList = $waterfallCompanionRepository->getCompanionList(); |
519 | 519 | |
520 | 520 | foreach ($waterfallCompanionList as $waterfallCompanion) { |
521 | - $entryKey = "/companion/{$waterfallCompanion['alias']}/"; |
|
522 | - $entryArray += [ |
|
523 | - $entryKey => [ |
|
524 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), // todo based on log |
|
525 | - 'changefreq' => 'monthly', |
|
526 | - 'priority' => .2 |
|
527 | - ] |
|
528 | - ]; |
|
529 | - |
|
530 | - for ($i = 2; (($i - 1) * 10) < $waterfallCompanion['count']; $i++) { |
|
531 | - $entryKey = "/companion/{$waterfallCompanion['alias']}/{$i}/"; |
|
532 | - $entryArray += [ |
|
533 | - $entryKey => [ |
|
534 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
535 | - 'changefreq' => 'monthly', |
|
536 | - 'priority' => .1 |
|
537 | - ] |
|
538 | - ]; |
|
539 | - } |
|
521 | + $entryKey = "/companion/{$waterfallCompanion['alias']}/"; |
|
522 | + $entryArray += [ |
|
523 | + $entryKey => [ |
|
524 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), // todo based on log |
|
525 | + 'changefreq' => 'monthly', |
|
526 | + 'priority' => .2 |
|
527 | + ] |
|
528 | + ]; |
|
529 | + |
|
530 | + for ($i = 2; (($i - 1) * 10) < $waterfallCompanion['count']; $i++) { |
|
531 | + $entryKey = "/companion/{$waterfallCompanion['alias']}/{$i}/"; |
|
532 | + $entryArray += [ |
|
533 | + $entryKey => [ |
|
534 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
535 | + 'changefreq' => 'monthly', |
|
536 | + 'priority' => .1 |
|
537 | + ] |
|
538 | + ]; |
|
539 | + } |
|
540 | 540 | } |
541 | 541 | |
542 | 542 | $waterfallPeriodRepository = new WaterfallPeriodRepository($container['db_connection_locator']); |
543 | 543 | $waterfallPeriodList = $waterfallPeriodRepository->getPeriodList(); |
544 | 544 | |
545 | 545 | foreach ($waterfallPeriodList as $waterfallPeriod) { |
546 | - $entryKey = "/period/{$waterfallPeriod['alias']}/"; |
|
547 | - $entryArray += [ |
|
548 | - $entryKey => [ |
|
549 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), // todo based on log |
|
550 | - 'changefreq' => 'monthly', |
|
551 | - 'priority' => .2 |
|
552 | - ] |
|
553 | - ]; |
|
554 | - |
|
555 | - for ($i = 2; (($i - 1) * 10) < $waterfallPeriod['count']; $i++) { |
|
556 | - $entryKey = "/period/{$waterfallPeriod['alias']}/{$i}/"; |
|
557 | - $entryArray += [ |
|
558 | - $entryKey => [ |
|
559 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
560 | - 'changefreq' => 'monthly', |
|
561 | - 'priority' => .1 |
|
562 | - ] |
|
563 | - ]; |
|
564 | - } |
|
546 | + $entryKey = "/period/{$waterfallPeriod['alias']}/"; |
|
547 | + $entryArray += [ |
|
548 | + $entryKey => [ |
|
549 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), // todo based on log |
|
550 | + 'changefreq' => 'monthly', |
|
551 | + 'priority' => .2 |
|
552 | + ] |
|
553 | + ]; |
|
554 | + |
|
555 | + for ($i = 2; (($i - 1) * 10) < $waterfallPeriod['count']; $i++) { |
|
556 | + $entryKey = "/period/{$waterfallPeriod['alias']}/{$i}/"; |
|
557 | + $entryArray += [ |
|
558 | + $entryKey => [ |
|
559 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
560 | + 'changefreq' => 'monthly', |
|
561 | + 'priority' => .1 |
|
562 | + ] |
|
563 | + ]; |
|
564 | + } |
|
565 | 565 | } |
566 | 566 | |
567 | 567 | foreach ($activeWaterfallLogs as $waterfallLog) { |
568 | - $entryKey = "/journal/{$waterfallLog['alias']}/"; |
|
569 | - $entryArray += [ |
|
570 | - $entryKey => [ |
|
571 | - 'lastmod' => (new DateTime($waterfallLog['publish_date']))->format('c'), |
|
572 | - 'changefreq' => 'weekly', |
|
573 | - 'priority' => .4, |
|
574 | - ], |
|
575 | - ]; |
|
568 | + $entryKey = "/journal/{$waterfallLog['alias']}/"; |
|
569 | + $entryArray += [ |
|
570 | + $entryKey => [ |
|
571 | + 'lastmod' => (new DateTime($waterfallLog['publish_date']))->format('c'), |
|
572 | + 'changefreq' => 'weekly', |
|
573 | + 'priority' => .4, |
|
574 | + ], |
|
575 | + ]; |
|
576 | 576 | } |
577 | 577 | |
578 | 578 | $entryArray += [ |
579 | - '/about/' => [ |
|
580 | - 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
581 | - 'changefreq' => 'monthly', |
|
582 | - 'priority' => .6, |
|
583 | - ] |
|
579 | + '/about/' => [ |
|
580 | + 'lastmod' => (new DateTime('December 20, 2015'))->format('Y-m-d'), |
|
581 | + 'changefreq' => 'monthly', |
|
582 | + 'priority' => .6, |
|
583 | + ] |
|
584 | 584 | ]; |
585 | 585 | |
586 | 586 | $buildSitemap($entryArray, 'http://www.waterfallsofthekeweenaw.com', 'waterfalls'); |
@@ -8,85 +8,85 @@ |
||
8 | 8 | class MysqlBlogRepository implements BlogRepositoryInterface |
9 | 9 | { |
10 | 10 | |
11 | - /** @var ConnectionLocator */ |
|
12 | - protected $connections; |
|
11 | + /** @var ConnectionLocator */ |
|
12 | + protected $connections; |
|
13 | 13 | |
14 | - /** |
|
15 | - * @param ConnectonLocator $connections |
|
16 | - */ |
|
17 | - public function __construct(ConnectionLocator $connections) |
|
18 | - { |
|
19 | - $this->connections = $connections; |
|
20 | - } |
|
14 | + /** |
|
15 | + * @param ConnectonLocator $connections |
|
16 | + */ |
|
17 | + public function __construct(ConnectionLocator $connections) |
|
18 | + { |
|
19 | + $this->connections = $connections; |
|
20 | + } |
|
21 | 21 | |
22 | - public function getBlogByPermalink($permalink) |
|
23 | - { |
|
24 | - $query = " |
|
22 | + public function getBlogByPermalink($permalink) |
|
23 | + { |
|
24 | + $query = " |
|
25 | 25 | SELECT * |
26 | 26 | FROM `jpemeric_stream`.`blog2` |
27 | 27 | WHERE `permalink` = :permalink |
28 | 28 | LIMIT 1"; |
29 | - $bindings = [ |
|
30 | - 'permalink' => $permalink, |
|
31 | - ]; |
|
29 | + $bindings = [ |
|
30 | + 'permalink' => $permalink, |
|
31 | + ]; |
|
32 | 32 | |
33 | - return $this |
|
34 | - ->connections |
|
35 | - ->getRead() |
|
36 | - ->fetchOne($query, $bindings); |
|
37 | - } |
|
33 | + return $this |
|
34 | + ->connections |
|
35 | + ->getRead() |
|
36 | + ->fetchOne($query, $bindings); |
|
37 | + } |
|
38 | 38 | |
39 | - public function getBlogs($limit = null, $offset = 0) |
|
40 | - { |
|
41 | - $query = " |
|
39 | + public function getBlogs($limit = null, $offset = 0) |
|
40 | + { |
|
41 | + $query = " |
|
42 | 42 | SELECT `id`, `permalink`, `datetime` |
43 | 43 | FROM `jpemeric_stream`.`blog2` |
44 | 44 | ORDER BY `datetime` DESC"; |
45 | - if (!is_null($limit)) { |
|
46 | - $query .= " |
|
45 | + if (!is_null($limit)) { |
|
46 | + $query .= " |
|
47 | 47 | LIMIT {$limit}, {$offset}"; |
48 | - } |
|
48 | + } |
|
49 | 49 | |
50 | - return $this |
|
51 | - ->connections |
|
52 | - ->getRead() |
|
53 | - ->fetchAll($query); |
|
54 | - } |
|
50 | + return $this |
|
51 | + ->connections |
|
52 | + ->getRead() |
|
53 | + ->fetchAll($query); |
|
54 | + } |
|
55 | 55 | |
56 | - public function getBlogsUpdatedSince(DateTime $datetime) |
|
57 | - { |
|
58 | - $query = " |
|
56 | + public function getBlogsUpdatedSince(DateTime $datetime) |
|
57 | + { |
|
58 | + $query = " |
|
59 | 59 | SELECT * |
60 | 60 | FROM `jpemeric_stream`.`blog2` |
61 | 61 | WHERE `updated_at` >= :last_update"; |
62 | 62 | |
63 | - $bindings = [ |
|
64 | - 'last_update' => $datetime->format('Y-m-d H:i:s'), |
|
65 | - ]; |
|
63 | + $bindings = [ |
|
64 | + 'last_update' => $datetime->format('Y-m-d H:i:s'), |
|
65 | + ]; |
|
66 | 66 | |
67 | - return $this |
|
68 | - ->connections |
|
69 | - ->getRead() |
|
70 | - ->fetchAll($query, $bindings); |
|
71 | - } |
|
67 | + return $this |
|
68 | + ->connections |
|
69 | + ->getRead() |
|
70 | + ->fetchAll($query, $bindings); |
|
71 | + } |
|
72 | 72 | |
73 | - public function insertBlog($permalink, DateTime $datetime, array $metadata) |
|
74 | - { |
|
75 | - $query = " |
|
73 | + public function insertBlog($permalink, DateTime $datetime, array $metadata) |
|
74 | + { |
|
75 | + $query = " |
|
76 | 76 | INSERT INTO `jpemeric_stream`.`blog2` |
77 | 77 | (`permalink`, `datetime`, `metadata`) |
78 | 78 | VALUES |
79 | 79 | (:permalink, :datetime, :metadata)"; |
80 | 80 | |
81 | - $bindings = [ |
|
82 | - 'permalink' => $permalink, |
|
83 | - 'datetime' => $datetime->format('Y-m-d H:i:s'), |
|
84 | - 'metadata' => json_encode($metadata), |
|
85 | - ]; |
|
81 | + $bindings = [ |
|
82 | + 'permalink' => $permalink, |
|
83 | + 'datetime' => $datetime->format('Y-m-d H:i:s'), |
|
84 | + 'metadata' => json_encode($metadata), |
|
85 | + ]; |
|
86 | 86 | |
87 | - return $this |
|
88 | - ->connections |
|
89 | - ->getWrite() |
|
90 | - ->perform($query, $bindings); |
|
91 | - } |
|
87 | + return $this |
|
88 | + ->connections |
|
89 | + ->getWrite() |
|
90 | + ->perform($query, $bindings); |
|
91 | + } |
|
92 | 92 | } |