Completed
Push — master ( 2a5bde...88acae )
by Jacob
08:08
created
public/index.php 1 patch
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -22,28 +22,28 @@
 block discarded – undo
22 22
 
23 23
 // sets up shutdown function to display profiler
24 24
 register_shutdown_function(function () use ($container) {
25
-    if (
26
-        !isset($_COOKIE['debugger']) ||
27
-        $_COOKIE['debugger'] != 'display'
28
-    ) {
29
-        return;
30
-    }
31
-
32
-    $dbProfiles = $container['db_connection_locator']
33
-        ->getRead()
34
-        ->getProfiler()
35
-        ->getProfiles();
36
-    $dbProfiles = array_filter($dbProfiles, function ($profile) {
37
-        return $profile['function'] == 'perform';
38
-    });
39
-    $dbProfiles = array_map(function ($profile) {
40
-        return [
41
-            'sql' => trim(preg_replace('/\s+/', ' ', $profile['statement'])),
42
-            'parameters' => $profile['bind_values'],
43
-            'time' => $profile['duration'],
44
-        ];
45
-    }, $dbProfiles);
46
-    $container['profiler']->setProfiledQueries($dbProfiles);
47
-    $container['profiler']->setDisplay(new Particletree\Pqp\Display());
48
-    $container['profiler']->display($container['db_connection_locator']->getRead());
25
+	if (
26
+		!isset($_COOKIE['debugger']) ||
27
+		$_COOKIE['debugger'] != 'display'
28
+	) {
29
+		return;
30
+	}
31
+
32
+	$dbProfiles = $container['db_connection_locator']
33
+		->getRead()
34
+		->getProfiler()
35
+		->getProfiles();
36
+	$dbProfiles = array_filter($dbProfiles, function ($profile) {
37
+		return $profile['function'] == 'perform';
38
+	});
39
+	$dbProfiles = array_map(function ($profile) {
40
+		return [
41
+			'sql' => trim(preg_replace('/\s+/', ' ', $profile['statement'])),
42
+			'parameters' => $profile['bind_values'],
43
+			'time' => $profile['duration'],
44
+		];
45
+	}, $dbProfiles);
46
+	$container['profiler']->setProfiledQueries($dbProfiles);
47
+	$container['profiler']->setDisplay(new Particletree\Pqp\Display());
48
+	$container['profiler']->display($container['db_connection_locator']->getRead());
49 49
 });
Please login to merge, or discard this patch.
script/cron/fetch-twitter-activity.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -6,40 +6,40 @@
 block discarded – undo
6 6
 use Jacobemerick\Web\Domain\Stream\Twitter\MysqlTwitterRepository as TwitterRepository;
7 7
 
8 8
 $client = new TwitterOAuth(
9
-    $config->twitter->consumer_key,
10
-    $config->twitter->consumer_secret,
11
-    $config->twitter->access_token,
12
-    $config->twitter->access_token_secret
9
+	$config->twitter->consumer_key,
10
+	$config->twitter->consumer_secret,
11
+	$config->twitter->access_token,
12
+	$config->twitter->access_token_secret
13 13
 );
14 14
 $client->setDecodeJsonAsArray(true);
15 15
 
16 16
 $twitterRepository = new TwitterRepository($container['db_connection_locator']);
17 17
 
18 18
 $recentTweets = $client->get('statuses/user_timeline', [
19
-    'screen_name' => 'jpemeric',
20
-    'count' => 50,
21
-    'trim_user' => true,
19
+	'screen_name' => 'jpemeric',
20
+	'count' => 50,
21
+	'trim_user' => true,
22 22
 ]);
23 23
 
24 24
 if (isset($recentTweets['errors'])) {
25
-    throw new Exception("Error encountered with twitter api {$recentTweets['errors'][0]['message']}");
25
+	throw new Exception("Error encountered with twitter api {$recentTweets['errors'][0]['message']}");
26 26
 }
27 27
 
28 28
 foreach ($recentTweets as $tweet) {
29
-    $uniqueTweetCheck = $twitterRepository->getTwitterByTweetId($tweet['id_str']);
30
-    if ($uniqueTweetCheck !== false) {
31
-        $currentTweetHash = md5($uniqueTweetCheck['metadata']);
32
-        $newTweetHash = md5(json_encode($tweet));
33
-        if ($uniqueTweetCheck['metadata'] != json_encode($tweet)) {
34
-            $twitterRepository->updateTweetMetadata($tweet['id_str'], $tweet);
35
-        }
36
-        continue;
37
-    }
38
-
39
-    $twitterRepository->insertTweet(
40
-        $tweet['id_str'],
41
-        (new DateTime($tweet['created_at']))->setTimezone($container['default_timezone']),
42
-        $tweet
43
-    );
29
+	$uniqueTweetCheck = $twitterRepository->getTwitterByTweetId($tweet['id_str']);
30
+	if ($uniqueTweetCheck !== false) {
31
+		$currentTweetHash = md5($uniqueTweetCheck['metadata']);
32
+		$newTweetHash = md5(json_encode($tweet));
33
+		if ($uniqueTweetCheck['metadata'] != json_encode($tweet)) {
34
+			$twitterRepository->updateTweetMetadata($tweet['id_str'], $tweet);
35
+		}
36
+		continue;
37
+	}
38
+
39
+	$twitterRepository->insertTweet(
40
+		$tweet['id_str'],
41
+		(new DateTime($tweet['created_at']))->setTimezone($container['default_timezone']),
42
+		$tweet
43
+	);
44 44
 }
45 45
 
Please login to merge, or discard this patch.
controller/blog/PostController.class.inc.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -48,9 +48,9 @@  discard block
 block discarded – undo
48 48
 		$this->set_keywords($this->get_post_keywords());
49 49
 		$this->set_author(self::$AUTHOR);
50 50
 
51
-    $photo = Content::instance('FetchFirstPhoto', $this->post->body)->activate(true);
52
-    $photo = preg_match('/^<img src="([a-z-:\.\/]+)" [^>]+>$/', $photo, $matches);
53
-    $this->set_head('thumbnail', $matches[1]);
51
+	$photo = Content::instance('FetchFirstPhoto', $this->post->body)->activate(true);
52
+	$photo = preg_match('/^<img src="([a-z-:\.\/]+)" [^>]+>$/', $photo, $matches);
53
+	$this->set_head('thumbnail', $matches[1]);
54 54
 
55 55
 		if (array_key_exists($this->post->id, self::$DEPRECATED_BLOGS)) {
56 56
 			$log_id = self::$DEPRECATED_BLOGS[$this->post->id];
@@ -124,13 +124,13 @@  discard block
 block discarded – undo
124 124
 			
125 125
 			$post = new stdclass();
126 126
 
127
-      if (strpos($post_row->title, 'Rainy Supe Loop') === 0) {
128
-        $title = $post_row->title;
129
-        $title = explode(':', $title);
130
-        $title = array_pop($title);
131
-        $title = trim($title);
132
-        $post->title = $title;
133
-      } else if (strpos($post_row->title, 'Isle Royale') === 0) {
127
+	  if (strpos($post_row->title, 'Rainy Supe Loop') === 0) {
128
+		$title = $post_row->title;
129
+		$title = explode(':', $title);
130
+		$title = array_pop($title);
131
+		$title = trim($title);
132
+		$post->title = $title;
133
+	  } else if (strpos($post_row->title, 'Isle Royale') === 0) {
134 134
 				$title = $post_row->title;
135 135
 				$title = explode(',', $title);
136 136
 				$title = array_pop($title);
Please login to merge, or discard this patch.
bootstrap.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 
11 11
 $handle = @fopen($config_path, 'r');
12 12
 if ($handle === false) {
13
-    throw new RuntimeException("Could not load config");
13
+	throw new RuntimeException("Could not load config");
14 14
 }
15 15
 $config = fread($handle, filesize($config_path));
16 16
 fclose($handle);
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 $config = json_decode($config);
19 19
 $last_json_error = json_last_error();
20 20
 if ($last_json_error !== JSON_ERROR_NONE) {
21
-    throw new RuntimeException("Could not parse config - JSON error detected");
21
+	throw new RuntimeException("Could not parse config - JSON error detected");
22 22
 }
23 23
 $container['config'] = $config;
24 24
 
@@ -26,64 +26,64 @@  discard block
 block discarded – undo
26 26
 // timezones are fun
27 27
 date_default_timezone_set('America/Phoenix'); // todo - belongs in configuration
28 28
 $container['default_timezone'] = function ($c) {
29
-    return new DateTimeZone('America/Phoenix');
29
+	return new DateTimeZone('America/Phoenix');
30 30
 };
31 31
 
32 32
 
33 33
 // configure the db connections holder
34 34
 $db_connections = new Aura\Sql\ConnectionLocator();
35 35
 $db_connections->setDefault(function () use ($config) {
36
-    $connection = $config->database->slave;
37
-    return new Aura\Sql\ExtendedPdo(
38
-        "mysql:host={$connection->host}",
39
-        $connection->user,
40
-        $connection->password
41
-    );
36
+	$connection = $config->database->slave;
37
+	return new Aura\Sql\ExtendedPdo(
38
+		"mysql:host={$connection->host}",
39
+		$connection->user,
40
+		$connection->password
41
+	);
42 42
 });
43 43
 $db_connections->setWrite('master', function () use ($config) {
44
-    $connection = $config->database->master;
45
-    return new Aura\Sql\ExtendedPdo(
46
-        "mysql:host={$connection->host}",
47
-        $connection->user,
48
-        $connection->password
49
-    );
44
+	$connection = $config->database->master;
45
+	return new Aura\Sql\ExtendedPdo(
46
+		"mysql:host={$connection->host}",
47
+		$connection->user,
48
+		$connection->password
49
+	);
50 50
 });
51 51
 $db_connections->setRead('slave', function () use ($config) {
52
-    $connection = $config->database->slave;
53
-    $pdo = new Aura\Sql\ExtendedPdo(
54
-        "mysql:host={$connection->host}",
55
-        $connection->user,
56
-        $connection->password
57
-    );
58
-
59
-    $profiler = new Aura\Sql\Profiler();
60
-    $profiler->setActive(true);
61
-    $pdo->setProfiler($profiler);
62
-
63
-    return $pdo;
52
+	$connection = $config->database->slave;
53
+	$pdo = new Aura\Sql\ExtendedPdo(
54
+		"mysql:host={$connection->host}",
55
+		$connection->user,
56
+		$connection->password
57
+	);
58
+
59
+	$profiler = new Aura\Sql\Profiler();
60
+	$profiler->setActive(true);
61
+	$pdo->setProfiler($profiler);
62
+
63
+	return $pdo;
64 64
 });
65 65
 $container['db_connection_locator'] = $db_connections;
66 66
 
67 67
 
68 68
 // setup mail handler
69 69
 $container['mail'] = $container->factory(function ($c) {
70
-    return (new Jacobemerick\Archangel\Archangel())->setLogger($c['logger']);
70
+	return (new Jacobemerick\Archangel\Archangel())->setLogger($c['logger']);
71 71
 });
72 72
 
73 73
 
74 74
 // setup the logger
75 75
 $container['setup_logger'] = $container->protect(function ($name) use ($container) {
76
-    $logger = new Monolog\Logger($name);
76
+	$logger = new Monolog\Logger($name);
77 77
 
78
-    $logPath = __DIR__ . "/../logs/{$name}.log";
79
-    $streamHandler = new Monolog\Handler\StreamHandler($logPath, Monolog\Logger::INFO);
80
-    $streamHandler->setFormatter(
81
-        new Monolog\Formatter\LineFormatter("[%datetime%] %channel%.%level_name%: %message%\n")
82
-    );
83
-    $logger->pushHandler($streamHandler);
78
+	$logPath = __DIR__ . "/../logs/{$name}.log";
79
+	$streamHandler = new Monolog\Handler\StreamHandler($logPath, Monolog\Logger::INFO);
80
+	$streamHandler->setFormatter(
81
+		new Monolog\Formatter\LineFormatter("[%datetime%] %channel%.%level_name%: %message%\n")
82
+	);
83
+	$logger->pushHandler($streamHandler);
84 84
 
85
-    Monolog\ErrorHandler::register($logger);
86
-    $container['logger'] = $logger;
85
+	Monolog\ErrorHandler::register($logger);
86
+	$container['logger'] = $logger;
87 87
 });
88 88
 
89 89
 
Please login to merge, or discard this patch.
src/Domain/Stream/Blog/MysqlBlogRepository.php 1 patch
Indentation   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -8,48 +8,48 @@
 block discarded – undo
8 8
 class MysqlBlogRepository implements BlogRepositoryInterface
9 9
 {
10 10
 
11
-    /** @var  ConnectionLocator */
12
-    protected $connections;
13
-
14
-    /**
15
-     * @param ConnectonLocator $connections
16
-     */
17
-    public function __construct(ConnectionLocator $connections)
18
-    {
19
-        $this->connections = $connections;
20
-    }
21
-
22
-    public function getBlogByPermalink($permalink)
23
-    {
24
-        $query = "
11
+	/** @var  ConnectionLocator */
12
+	protected $connections;
13
+
14
+	/**
15
+	 * @param ConnectonLocator $connections
16
+	 */
17
+	public function __construct(ConnectionLocator $connections)
18
+	{
19
+		$this->connections = $connections;
20
+	}
21
+
22
+	public function getBlogByPermalink($permalink)
23
+	{
24
+		$query = "
25 25
             SELECT *
26 26
             FROM `jpemeric_stream`.`blog`
27 27
             WHERE `permalink` = :permalink
28 28
             LIMIT 1";
29
-        $bindings = [
30
-            'permalink' => $permalink,
31
-        ];
32
-
33
-        return $this
34
-            ->connections
35
-            ->getRead()
36
-            ->fetchOne($query, $bindings);
37
-    }
38
-
39
-    public function getBlogsUpdatedSince(DateTime $datetime)
40
-    {
41
-        $query = "
29
+		$bindings = [
30
+			'permalink' => $permalink,
31
+		];
32
+
33
+		return $this
34
+			->connections
35
+			->getRead()
36
+			->fetchOne($query, $bindings);
37
+	}
38
+
39
+	public function getBlogsUpdatedSince(DateTime $datetime)
40
+	{
41
+		$query = "
42 42
             SELECT *
43 43
             FROM `jpemeric_stream`.`blog`
44 44
             WHERE `updated_at` >= :last_update";
45 45
 
46
-        $bindings = [
47
-            'last_update' => $datetime->format('Y-m-d H:i:s'),
48
-        ];
46
+		$bindings = [
47
+			'last_update' => $datetime->format('Y-m-d H:i:s'),
48
+		];
49 49
 
50
-        return $this
51
-            ->connections
52
-            ->getRead()
53
-            ->fetchAll($query, $bindings);
54
-    }
50
+		return $this
51
+			->connections
52
+			->getRead()
53
+			->fetchAll($query, $bindings);
54
+	}
55 55
 }
Please login to merge, or discard this patch.
src/Domain/Stream/BlogComment/MysqlBlogCommentRepository.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -8,60 +8,60 @@
 block discarded – undo
8 8
 class MysqlBlogCommentRepository implements BlogCommentRepositoryInterface
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 getBlogComments($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 getBlogComments($limit = null, $offset = 0)
29
+	{
30
+		$query = "
31 31
             SELECT `id`, `permalink`, `datetime`
32 32
             FROM `jpemeric_stream`.`blog_comment`
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 string $permalink
47
-     *
48
-     * @return array|false
49
-     */
50
-    public function getBlogCommentByPermalink($permalink)
51
-    {
52
-        $query = "
45
+	/**
46
+	 * @param string $permalink
47
+	 *
48
+	 * @return array|false
49
+	 */
50
+	public function getBlogCommentByPermalink($permalink)
51
+	{
52
+		$query = "
53 53
             SELECT *
54 54
             FROM `jpemeric_stream`.`blog_comment`
55 55
             WHERE `permalink` = :permalink
56 56
             LIMIT 1";
57 57
 
58
-        $bindings = [
59
-            'permalink' => $permalink,
60
-        ];
58
+		$bindings = [
59
+			'permalink' => $permalink,
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
 }
Please login to merge, or discard this patch.
src/Domain/Stream/DailyMile/MysqlDailyMileRepository.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -8,31 +8,31 @@
 block discarded – undo
8 8
 class MysqlDailyMileRepository implements DailyMileRepositoryInterface
9 9
 {
10 10
 
11
-    /** @var  ConnectionLocator */
12
-    protected $connections;
13
-
14
-    /**
15
-     * @param ConnectonLocator $connections
16
-     */
17
-    public function __construct(ConnectionLocator $connections)
18
-    {
19
-        $this->connections = $connections;
20
-    }
21
-
22
-    public function getDailyMilesUpdatedSince(DateTime $datetime)
23
-    {
24
-        $query = "
11
+	/** @var  ConnectionLocator */
12
+	protected $connections;
13
+
14
+	/**
15
+	 * @param ConnectonLocator $connections
16
+	 */
17
+	public function __construct(ConnectionLocator $connections)
18
+	{
19
+		$this->connections = $connections;
20
+	}
21
+
22
+	public function getDailyMilesUpdatedSince(DateTime $datetime)
23
+	{
24
+		$query = "
25 25
             SELECT *
26 26
             FROM `jpemeric_stream`.`dailymile`
27 27
             WHERE `updated_at` >= :last_update";
28 28
 
29
-        $bindings = [
30
-            'last_update' => $datetime->format('Y-m-d H:i:s'),
31
-        ];
29
+		$bindings = [
30
+			'last_update' => $datetime->format('Y-m-d H:i:s'),
31
+		];
32 32
 
33
-        return $this
34
-            ->connections
35
-            ->getRead()
36
-            ->fetchAll($query, $bindings);
37
-    }
33
+		return $this
34
+			->connections
35
+			->getRead()
36
+			->fetchAll($query, $bindings);
37
+	}
38 38
 }
Please login to merge, or discard this patch.
controller/Error404Controller.class.inc.php 1 patch
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -25,37 +25,37 @@
 block discarded – undo
25 25
 
26 26
 	private function get_sites()
27 27
 	{
28
-    return [
29
-      [
30
-        'url' => 'https://home.jacobemerick.com/',
31
-        'title' => "Jacob Emerick's Home",
32
-        'name' => 'Home'
33
-      ],
34
-      [
35
-        'url' => 'https://blog.jacobemerick.com/',
36
-        'title' => "Jacob Emerick's Blog",
37
-        'name' => 'Blog'
38
-      ],
39
-      [
40
-        'url' => 'https://lifestream.jacobemerick.com/',
41
-        'title' => "Jacob Emerick's Lifestream",
42
-        'name' => 'Lifestream'
43
-      ],
44
-      [
45
-        'url' => 'https://map.jacobemerick.com/',
46
-        'title' => "Jacob Emerick's Hiking Map",
47
-        'name' => 'Map'
48
-      ],
49
-      [
50
-        'url' => 'https://portfolio.jacobemerick.com/',
51
-        'title' => "Jacob Emerick's Portfolio",
52
-        'name' => 'Portfolio',
53
-      ],
54
-      [
55
-        'url' => 'https://www.waterfallsofthekeweenaw.com/',
56
-        'title' => 'Waterfalls of the Keweenaw',
57
-        'name' => 'Waterfalls'
58
-      ]
28
+	return [
29
+	  [
30
+		'url' => 'https://home.jacobemerick.com/',
31
+		'title' => "Jacob Emerick's Home",
32
+		'name' => 'Home'
33
+	  ],
34
+	  [
35
+		'url' => 'https://blog.jacobemerick.com/',
36
+		'title' => "Jacob Emerick's Blog",
37
+		'name' => 'Blog'
38
+	  ],
39
+	  [
40
+		'url' => 'https://lifestream.jacobemerick.com/',
41
+		'title' => "Jacob Emerick's Lifestream",
42
+		'name' => 'Lifestream'
43
+	  ],
44
+	  [
45
+		'url' => 'https://map.jacobemerick.com/',
46
+		'title' => "Jacob Emerick's Hiking Map",
47
+		'name' => 'Map'
48
+	  ],
49
+	  [
50
+		'url' => 'https://portfolio.jacobemerick.com/',
51
+		'title' => "Jacob Emerick's Portfolio",
52
+		'name' => 'Portfolio',
53
+	  ],
54
+	  [
55
+		'url' => 'https://www.waterfallsofthekeweenaw.com/',
56
+		'title' => 'Waterfalls of the Keweenaw',
57
+		'name' => 'Waterfalls'
58
+	  ]
59 59
   ];
60 60
 	}
61 61
 
Please login to merge, or discard this patch.
controller/waterfalls/LogController.class.inc.php 1 patch
Indentation   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -1,210 +1,210 @@
 block discarded – undo
1 1
 <?
2 2
 
3 3
 Loader::load('collector', array(
4
-    'image/AlbumCollector',
5
-    'waterfall/LogCollector'));
4
+	'image/AlbumCollector',
5
+	'waterfall/LogCollector'));
6 6
 Loader::load('controller', 'waterfalls/DefaultPageController');
7 7
 
8 8
 final class LogController extends DefaultPageController
9 9
 {
10 10
 
11
-    private static $AUTHOR = 'Jacob Emerick';
12
-    private static $AUTHOR_URL = 'https://home.jacobemerick.com/';
13
-    private static $JOURNAL_DIRECTORY = 'journal';
14
-
15
-    private static $FULL_IMAGE_LINK = '/photo/%s/%s-size-standard.jpg';
16
-    private static $THUMB_IMAGE_NODE = '<img src="/photo/%s/%s-size-thumb.jpg" alt="%s" height="%s" width="%s" />';
17
-    private static $MEDIUM_IMAGE_NODE = '<img src="/photo/%s/%s-size-small.jpg" alt="%s" height="375" width="500" />';
18
-
19
-    private $log;
20
-
21
-    public function __construct()
22
-    {
23
-        parent::__construct();
24
-        
25
-        $log_path = URLDecode::getPiece(2);
26
-        
27
-        $this->log = LogCollector::getByAlias($log_path);
28
-        if(!$this->log)
29
-            $this->eject();
30
-
31
-        $this->parent_navigation_item = 'journal';
32
-        
33
-        $this->handle_comment_submit(
34
-            self::$WATERFALL_SITE_ID,
35
-            $this->log->alias,
36
-            Loader::getRootUrl('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $this->log->alias . '/',
37
-            $this->log->title);
38
-        
39
-        $this->add_waterfall_js();
40
-    }
41
-
42
-    protected function set_head_data()
43
-    {
44
-        parent::set_head_data();
45
-        
46
-        $this->set_title("{$this->log->title} | " . self::$WEBSITE_TITLE);
47
-        $this->set_description($this->log->introduction);
48
-        
49
-        $keyword_array = array();
50
-        $tag_result = LogCollector::getTagListForLog($this->log->id);
51
-        foreach($tag_result as $tag)
52
-        {
53
-            $keyword_array[] = $tag->name;
54
-        }
55
-        
56
-        $this->set_keywords($keyword_array);
57
-    }
58
-
59
-    protected function set_body_data($page_type = 'normal')
60
-    {
61
-        parent::set_body_data($page_type);
62
-        
63
-        $this->set_body('view', 'Log');
64
-
65
-        $body_data = $this->get_formatted_log();
66
-        $body_data['comment_array'] = $this->get_comment_array(self::$WATERFALL_SITE_ID, $this->log->alias);
67
-        $body_data['sidebar'] = $this->get_sidebar();
68
-        $body_data['series'] = $this->get_series();
69
-        $body_data['album'] = $this->get_album();
70
-        
71
-        $this->set_body('data', $body_data);
72
-    }
73
-
74
-    private function get_formatted_log()
75
-    {
76
-        $formatted_log = array();
77
-        
78
-        $formatted_log['introduction'] = $this->get_log_introduction($this->log);
79
-        $formatted_log['title'] = $this->log->title;
80
-        $formatted_log['url'] = Loader::getRootURL('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $this->log->alias . '/';
81
-
82
-        $formatted_log['body'] = $this->get_formatted_log_body();
83
-        
84
-        return $formatted_log;
85
-    }
86
-
87
-    private function get_log_introduction($log)
88
-    {
89
-        return array(
90
-            'title' => $log->title,
91
-            'url' => Loader::getRootURL('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $log->alias . '/',
92
-            'date' => $this->get_parsed_date($log->date),
93
-            'publish_date' => $this->get_parsed_date($log->publish_date),
94
-            'introduction' => $log->introduction,
95
-            'image' => sprintf(
96
-                self::$MEDIUM_IMAGE_NODE,
97
-                $log->image_category,
98
-                $log->image_name,
99
-                $log->image_description),
100
-            'author' => self::$AUTHOR,
101
-            'author_url' => self::$AUTHOR_URL,
102
-        );
103
-    }
104
-
105
-    // @todo - link things up
106
-    private function get_formatted_log_body()
107
-    {
108
-        $body = $this->log->body;
109
-        
110
-        $body = Content::instance('FixPhoto', $body)->activate(false, 'standard');
111
-        $body = Content::instance('FixInternalLink', $body)->activate();
112
-        
113
-        return $body;
114
-    }
115
-
116
-    private function get_series()
117
-    {
118
-        $series = array(
119
-            'previous' => array(),
120
-            'next' => array());
121
-        
122
-        $previous_log = LogCollector::getPreviousLog($this->log->id);
123
-        if($previous_log != false)
124
-        {
125
-            $series['previous'] = (object) array(
126
-                'path' => '/' . self::$JOURNAL_DIRECTORY . '/' . $previous_log->alias . '/',
127
-                'title' => $previous_log->title,
128
-                'date' => $previous_log->date);
129
-        }
130
-        
131
-        $next_log = LogCollector::getNextLog($this->log->id);
132
-        if($next_log != false)
133
-        {
134
-            $series['next'] = (object) array(
135
-                'path' => '/' . self::$JOURNAL_DIRECTORY . '/' . $next_log->alias . '/',
136
-                'title' => $next_log->title,
137
-                'date' => $next_log->date);
138
-        }
139
-        
140
-        return $series;
141
-    }
142
-
143
-    private function get_sidebar()
144
-    {
145
-        $sidebar = array();
146
-        
147
-        $sidebar['companion_list'] = array();
148
-        $companions = LogCollector::getCompanionListForLog($this->log->id);
149
-        foreach($companions as $companion)
150
-        {
151
-            $sidebar['companion_list'][] = (object) array(
152
-                'title' => $companion->name,
153
-                'path' => "/companion/{$companion->alias}/");
154
-        }
155
-        
156
-        $sidebar['tag_list'] = array();
157
-        $tags = LogCollector::getTagListForLog($this->log->id);
158
-        foreach($tags as $tag)
159
-        {
160
-            $sidebar['tag_list'][] = (object) array(
161
-                'title' => $tag->name,
162
-                'path' => "/journal/tag/{$tag->alias}/");
163
-        }
164
-        
165
-        $sidebar['waterfall_list'] = array();
166
-        $waterfalls = LogCollector::getWaterfallListForLog($this->log->id);
167
-        foreach($waterfalls as $waterfall)
168
-        {
169
-            $sidebar['waterfall_list'][] = (object) array(
170
-                'title' => $waterfall->name,
171
-                'path' => "/{$waterfall->watercourse_alias}/{$waterfall->alias}/");
172
-        }
173
-        
174
-        return $sidebar;
175
-    }
176
-
177
-    private function get_album()
178
-    {
179
-        $album = array();
180
-        
181
-        if($this->log->album == 0)
182
-            return $album;
183
-        
184
-        $photo_list = AlbumCollector::getPhotoListForAlbum($this->log->album);
185
-        foreach($photo_list as $photo)
186
-        {
187
-            $photo_array = array();
188
-            $photo_array['full_link'] = sprintf(self::$FULL_IMAGE_LINK, $photo->category, $photo->name);
189
-            $photo_array['description'] = $photo->description;
11
+	private static $AUTHOR = 'Jacob Emerick';
12
+	private static $AUTHOR_URL = 'https://home.jacobemerick.com/';
13
+	private static $JOURNAL_DIRECTORY = 'journal';
14
+
15
+	private static $FULL_IMAGE_LINK = '/photo/%s/%s-size-standard.jpg';
16
+	private static $THUMB_IMAGE_NODE = '<img src="/photo/%s/%s-size-thumb.jpg" alt="%s" height="%s" width="%s" />';
17
+	private static $MEDIUM_IMAGE_NODE = '<img src="/photo/%s/%s-size-small.jpg" alt="%s" height="375" width="500" />';
18
+
19
+	private $log;
20
+
21
+	public function __construct()
22
+	{
23
+		parent::__construct();
24
+        
25
+		$log_path = URLDecode::getPiece(2);
26
+        
27
+		$this->log = LogCollector::getByAlias($log_path);
28
+		if(!$this->log)
29
+			$this->eject();
30
+
31
+		$this->parent_navigation_item = 'journal';
32
+        
33
+		$this->handle_comment_submit(
34
+			self::$WATERFALL_SITE_ID,
35
+			$this->log->alias,
36
+			Loader::getRootUrl('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $this->log->alias . '/',
37
+			$this->log->title);
38
+        
39
+		$this->add_waterfall_js();
40
+	}
41
+
42
+	protected function set_head_data()
43
+	{
44
+		parent::set_head_data();
45
+        
46
+		$this->set_title("{$this->log->title} | " . self::$WEBSITE_TITLE);
47
+		$this->set_description($this->log->introduction);
48
+        
49
+		$keyword_array = array();
50
+		$tag_result = LogCollector::getTagListForLog($this->log->id);
51
+		foreach($tag_result as $tag)
52
+		{
53
+			$keyword_array[] = $tag->name;
54
+		}
55
+        
56
+		$this->set_keywords($keyword_array);
57
+	}
58
+
59
+	protected function set_body_data($page_type = 'normal')
60
+	{
61
+		parent::set_body_data($page_type);
62
+        
63
+		$this->set_body('view', 'Log');
64
+
65
+		$body_data = $this->get_formatted_log();
66
+		$body_data['comment_array'] = $this->get_comment_array(self::$WATERFALL_SITE_ID, $this->log->alias);
67
+		$body_data['sidebar'] = $this->get_sidebar();
68
+		$body_data['series'] = $this->get_series();
69
+		$body_data['album'] = $this->get_album();
70
+        
71
+		$this->set_body('data', $body_data);
72
+	}
73
+
74
+	private function get_formatted_log()
75
+	{
76
+		$formatted_log = array();
77
+        
78
+		$formatted_log['introduction'] = $this->get_log_introduction($this->log);
79
+		$formatted_log['title'] = $this->log->title;
80
+		$formatted_log['url'] = Loader::getRootURL('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $this->log->alias . '/';
81
+
82
+		$formatted_log['body'] = $this->get_formatted_log_body();
83
+        
84
+		return $formatted_log;
85
+	}
86
+
87
+	private function get_log_introduction($log)
88
+	{
89
+		return array(
90
+			'title' => $log->title,
91
+			'url' => Loader::getRootURL('waterfalls') . self::$JOURNAL_DIRECTORY . '/' . $log->alias . '/',
92
+			'date' => $this->get_parsed_date($log->date),
93
+			'publish_date' => $this->get_parsed_date($log->publish_date),
94
+			'introduction' => $log->introduction,
95
+			'image' => sprintf(
96
+				self::$MEDIUM_IMAGE_NODE,
97
+				$log->image_category,
98
+				$log->image_name,
99
+				$log->image_description),
100
+			'author' => self::$AUTHOR,
101
+			'author_url' => self::$AUTHOR_URL,
102
+		);
103
+	}
104
+
105
+	// @todo - link things up
106
+	private function get_formatted_log_body()
107
+	{
108
+		$body = $this->log->body;
109
+        
110
+		$body = Content::instance('FixPhoto', $body)->activate(false, 'standard');
111
+		$body = Content::instance('FixInternalLink', $body)->activate();
112
+        
113
+		return $body;
114
+	}
115
+
116
+	private function get_series()
117
+	{
118
+		$series = array(
119
+			'previous' => array(),
120
+			'next' => array());
121
+        
122
+		$previous_log = LogCollector::getPreviousLog($this->log->id);
123
+		if($previous_log != false)
124
+		{
125
+			$series['previous'] = (object) array(
126
+				'path' => '/' . self::$JOURNAL_DIRECTORY . '/' . $previous_log->alias . '/',
127
+				'title' => $previous_log->title,
128
+				'date' => $previous_log->date);
129
+		}
130
+        
131
+		$next_log = LogCollector::getNextLog($this->log->id);
132
+		if($next_log != false)
133
+		{
134
+			$series['next'] = (object) array(
135
+				'path' => '/' . self::$JOURNAL_DIRECTORY . '/' . $next_log->alias . '/',
136
+				'title' => $next_log->title,
137
+				'date' => $next_log->date);
138
+		}
139
+        
140
+		return $series;
141
+	}
142
+
143
+	private function get_sidebar()
144
+	{
145
+		$sidebar = array();
146
+        
147
+		$sidebar['companion_list'] = array();
148
+		$companions = LogCollector::getCompanionListForLog($this->log->id);
149
+		foreach($companions as $companion)
150
+		{
151
+			$sidebar['companion_list'][] = (object) array(
152
+				'title' => $companion->name,
153
+				'path' => "/companion/{$companion->alias}/");
154
+		}
155
+        
156
+		$sidebar['tag_list'] = array();
157
+		$tags = LogCollector::getTagListForLog($this->log->id);
158
+		foreach($tags as $tag)
159
+		{
160
+			$sidebar['tag_list'][] = (object) array(
161
+				'title' => $tag->name,
162
+				'path' => "/journal/tag/{$tag->alias}/");
163
+		}
164
+        
165
+		$sidebar['waterfall_list'] = array();
166
+		$waterfalls = LogCollector::getWaterfallListForLog($this->log->id);
167
+		foreach($waterfalls as $waterfall)
168
+		{
169
+			$sidebar['waterfall_list'][] = (object) array(
170
+				'title' => $waterfall->name,
171
+				'path' => "/{$waterfall->watercourse_alias}/{$waterfall->alias}/");
172
+		}
173
+        
174
+		return $sidebar;
175
+	}
176
+
177
+	private function get_album()
178
+	{
179
+		$album = array();
180
+        
181
+		if($this->log->album == 0)
182
+			return $album;
183
+        
184
+		$photo_list = AlbumCollector::getPhotoListForAlbum($this->log->album);
185
+		foreach($photo_list as $photo)
186
+		{
187
+			$photo_array = array();
188
+			$photo_array['full_link'] = sprintf(self::$FULL_IMAGE_LINK, $photo->category, $photo->name);
189
+			$photo_array['description'] = $photo->description;
190 190
             
191
-            if($photo->height < $photo->width)
192
-                list($height, $width) = array(75, 100);
193
-            else
194
-                list($height, $width) = array(100, 75);
191
+			if($photo->height < $photo->width)
192
+				list($height, $width) = array(75, 100);
193
+			else
194
+				list($height, $width) = array(100, 75);
195 195
             
196
-            $photo_array['image_node'] = sprintf(
197
-                self::$THUMB_IMAGE_NODE,
198
-                $photo->category,
199
-                $photo->name,
200
-                $photo->description,
201
-                $height,
202
-                $width);
196
+			$photo_array['image_node'] = sprintf(
197
+				self::$THUMB_IMAGE_NODE,
198
+				$photo->category,
199
+				$photo->name,
200
+				$photo->description,
201
+				$height,
202
+				$width);
203 203
             
204
-            $album[] = (object) $photo_array;
205
-        }
204
+			$album[] = (object) $photo_array;
205
+		}
206 206
         
207
-        return $album;
208
-    }
207
+		return $album;
208
+	}
209 209
 
210 210
 }
Please login to merge, or discard this patch.