Passed
Push — master ( 7ea632...5d850b )
by litefeel
02:25
created
lib/export.php 2 patches
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -29,34 +29,34 @@  discard block
 block discarded – undo
29 29
 	/**
30 30
 	 * Updates all of the current posts in the database on master.
31 31
 	 *
32
-     * @param  bool    $force
33
-     *
34
-     * @return string|WP_Error
35
-     */
32
+	 * @param  bool    $force
33
+	 *
34
+	 * @return string|WP_Error
35
+	 */
36 36
 	public function full( $force = false ) {
37 37
 		$posts = $this->app->database()->fetch_all_supported( $force );
38 38
 
39 39
 		if ( is_wp_error( $posts ) ) {
40
-            /* @var WP_Error $posts */
40
+			/* @var WP_Error $posts */
41 41
 			return $posts;
42 42
 		}
43 43
 
44
-        $error = '';
44
+		$error = '';
45 45
 
46
-        foreach ( $posts as $post ) {
47
-            $result = $this->update( $post->id() );
48
-            if ( is_wp_error( $result ) ) {
49
-                /* @var WP_Error $result */
50
-                $error = wogh_append_error( $error, $result );
51
-            }
52
-        }
46
+		foreach ( $posts as $post ) {
47
+			$result = $this->update( $post->id() );
48
+			if ( is_wp_error( $result ) ) {
49
+				/* @var WP_Error $result */
50
+				$error = wogh_append_error( $error, $result );
51
+			}
52
+		}
53 53
 
54
-        if ( is_wp_error( $error ) ) {
55
-            /* @var WP_Error $error */
56
-            return $error;
57
-        }
54
+		if ( is_wp_error( $error ) ) {
55
+			/* @var WP_Error $error */
56
+			return $error;
57
+		}
58 58
 
59
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
59
+		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
60 60
 	}
61 61
 
62 62
 
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 		$post = $this->app->database()->fetch_by_id( $post_id );
87 87
 
88 88
 		if ( is_wp_error( $post ) ) {
89
-            /* @var WP_Error $post */
89
+			/* @var WP_Error $post */
90 90
 			return $post;
91 91
 		}
92 92
 
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 		$result = $this->new_posts( array( $post ) );
103 103
 
104 104
 		if ( is_wp_error( $result ) ) {
105
-            /* @var WP_Error $result */
105
+			/* @var WP_Error $result */
106 106
 			return $result;
107 107
 		}
108 108
 
@@ -117,14 +117,14 @@  discard block
 block discarded – undo
117 117
 	 * @return string|WP_Error
118 118
 	 */
119 119
 	public function new_posts( array $posts ) {
120
-        $persist = $this->app->api()->persist();
120
+		$persist = $this->app->api()->persist();
121 121
 
122 122
 		$error = '';
123 123
 		foreach ( $posts as $post ) {
124 124
 			$result = $this->new_post( $post, $persist );
125 125
 			if ( is_wp_error( $result ) ) {
126
-                /* @var WP_Error $result */
127
-                $error = wogh_append_error( $error, $result );
126
+				/* @var WP_Error $result */
127
+				$error = wogh_append_error( $error, $result );
128 128
 			}
129 129
 		}
130 130
 
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 			return $error;
133 133
 		}
134 134
 
135
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
135
+		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
136 136
 	}
137 137
 
138 138
 	protected function new_post( $post, $persist ) {
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
 		$post = $this->app->database()->fetch_by_id( $post_id );
213 213
 
214 214
 		if ( is_wp_error( $post ) ) {
215
-            /* @var WP_Error $post */
215
+			/* @var WP_Error $post */
216 216
 			return $post;
217 217
 		}
218 218
 
@@ -232,7 +232,7 @@  discard block
 block discarded – undo
232 232
 		$result = $this->app->api()->persist()->delete_file( $github_path, $post->sha(), $message );
233 233
 
234 234
 		if ( is_wp_error( $result ) ) {
235
-            /* @var WP_Error $result */
235
+			/* @var WP_Error $result */
236 236
 			return $result;
237 237
 		}
238 238
 
Please login to merge, or discard this patch.
Spacing   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 	 *
23 23
 	 * @param Writing_On_GitHub $app Application container.
24 24
 	 */
25
-	public function __construct( Writing_On_GitHub $app ) {
25
+	public function __construct(Writing_On_GitHub $app) {
26 26
 		$this->app = $app;
27 27
 	}
28 28
 
@@ -33,30 +33,30 @@  discard block
 block discarded – undo
33 33
      *
34 34
      * @return string|WP_Error
35 35
      */
36
-	public function full( $force = false ) {
37
-		$posts = $this->app->database()->fetch_all_supported( $force );
36
+	public function full($force = false) {
37
+		$posts = $this->app->database()->fetch_all_supported($force);
38 38
 
39
-		if ( is_wp_error( $posts ) ) {
39
+		if (is_wp_error($posts)) {
40 40
             /* @var WP_Error $posts */
41 41
 			return $posts;
42 42
 		}
43 43
 
44 44
         $error = '';
45 45
 
46
-        foreach ( $posts as $post ) {
47
-            $result = $this->update( $post->id() );
48
-            if ( is_wp_error( $result ) ) {
46
+        foreach ($posts as $post) {
47
+            $result = $this->update($post->id());
48
+            if (is_wp_error($result)) {
49 49
                 /* @var WP_Error $result */
50
-                $error = wogh_append_error( $error, $result );
50
+                $error = wogh_append_error($error, $result);
51 51
             }
52 52
         }
53 53
 
54
-        if ( is_wp_error( $error ) ) {
54
+        if (is_wp_error($error)) {
55 55
             /* @var WP_Error $error */
56 56
             return $error;
57 57
         }
58 58
 
59
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
59
+        return __('Export to GitHub completed successfully.', 'writing-on-github');
60 60
 	}
61 61
 
62 62
 
@@ -65,10 +65,10 @@  discard block
 block discarded – undo
65 65
 	 * @param  int  $post_id
66 66
 	 * @return boolean
67 67
 	 */
68
-	protected function github_path( $post_id ) {
69
-		$github_path = get_post_meta( $post_id, '_wogh_github_path', true );
68
+	protected function github_path($post_id) {
69
+		$github_path = get_post_meta($post_id, '_wogh_github_path', true);
70 70
 
71
-		if ( $github_path && $this->app->api()->fetch()->exists( $github_path ) ) {
71
+		if ($github_path && $this->app->api()->fetch()->exists($github_path)) {
72 72
 			return $github_path;
73 73
 		}
74 74
 
@@ -82,31 +82,31 @@  discard block
 block discarded – undo
82 82
 	 *
83 83
 	 * @return string|WP_Error
84 84
 	 */
85
-	public function update( $post_id ) {
86
-		$post = $this->app->database()->fetch_by_id( $post_id );
85
+	public function update($post_id) {
86
+		$post = $this->app->database()->fetch_by_id($post_id);
87 87
 
88
-		if ( is_wp_error( $post ) ) {
88
+		if (is_wp_error($post)) {
89 89
             /* @var WP_Error $post */
90 90
 			return $post;
91 91
 		}
92 92
 
93
-		if ( 'trash' === $post->status() ) {
94
-			return $this->delete( $post_id );
93
+		if ('trash' === $post->status()) {
94
+			return $this->delete($post_id);
95 95
 		}
96 96
 
97
-		if ( $old_github_path = $this->github_path( $post->id() ) ) {
97
+		if ($old_github_path = $this->github_path($post->id())) {
98 98
 			error_log("old_github_path: $old_github_path");
99 99
 			$post->set_old_github_path($old_github_path);
100 100
 		}
101 101
 
102
-		$result = $this->new_posts( array( $post ) );
102
+		$result = $this->new_posts(array($post));
103 103
 
104
-		if ( is_wp_error( $result ) ) {
104
+		if (is_wp_error($result)) {
105 105
             /* @var WP_Error $result */
106 106
 			return $result;
107 107
 		}
108 108
 
109
-		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
109
+		return __('Export to GitHub completed successfully.', 'writing-on-github');
110 110
 	}
111 111
 
112 112
 	/**
@@ -116,32 +116,32 @@  discard block
 block discarded – undo
116 116
 	 *
117 117
 	 * @return string|WP_Error
118 118
 	 */
119
-	public function new_posts( array $posts ) {
119
+	public function new_posts(array $posts) {
120 120
         $persist = $this->app->api()->persist();
121 121
 
122 122
 		$error = '';
123
-		foreach ( $posts as $post ) {
124
-			$result = $this->new_post( $post, $persist );
125
-			if ( is_wp_error( $result ) ) {
123
+		foreach ($posts as $post) {
124
+			$result = $this->new_post($post, $persist);
125
+			if (is_wp_error($result)) {
126 126
                 /* @var WP_Error $result */
127
-                $error = wogh_append_error( $error, $result );
127
+                $error = wogh_append_error($error, $result);
128 128
 			}
129 129
 		}
130 130
 
131
-		if ( is_wp_error( $error ) ) {
131
+		if (is_wp_error($error)) {
132 132
 			return $error;
133 133
 		}
134 134
 
135
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
135
+        return __('Export to GitHub completed successfully.', 'writing-on-github');
136 136
 	}
137 137
 
138
-	protected function new_post( $post, $persist ) {
138
+	protected function new_post($post, $persist) {
139 139
 		$github_path = $post->github_path();
140 140
 		$old_github_path = $post->old_github_path();
141 141
 		$blob = $post->to_blob();
142 142
 		$result = false;
143 143
 
144
-		if ( $old_github_path && $old_github_path != $github_path ) {
144
+		if ($old_github_path && $old_github_path != $github_path) {
145 145
 			// rename
146 146
 			$message = apply_filters(
147 147
 				'wogh_commit_msg_move_post',
@@ -149,20 +149,20 @@  discard block
 block discarded – undo
149 149
 					'Move %s to %s via WordPress at %s (%s)',
150 150
 					$old_github_path, $github_path,
151 151
 					site_url(),
152
-					get_bloginfo( 'name' )
152
+					get_bloginfo('name')
153 153
 				)
154 154
 			) . $this->get_commit_msg_tag();
155 155
 
156
-			$result = $persist->delete_file( $post->old_github_path(), $blob->sha(), $message );
157
-			if ( is_wp_error( $result ) ) {
156
+			$result = $persist->delete_file($post->old_github_path(), $blob->sha(), $message);
157
+			if (is_wp_error($result)) {
158 158
 				return $result;
159 159
 			}
160 160
 
161
-			$result = $persist->create_file( $blob, $message );
162
-			if ( is_wp_error( $result ) ) {
161
+			$result = $persist->create_file($blob, $message);
162
+			if (is_wp_error($result)) {
163 163
 				return $result;
164 164
 			}
165
-		} elseif ( ! $old_github_path ) {
165
+		} elseif ( ! $old_github_path) {
166 166
 			// create new
167 167
 			$message = apply_filters(
168 168
 				'wogh_commit_msg_new_post',
@@ -170,14 +170,14 @@  discard block
 block discarded – undo
170 170
 					'Create new post %s from WordPress at %s (%s)',
171 171
 					$github_path,
172 172
 					site_url(),
173
-					get_bloginfo( 'name' )
173
+					get_bloginfo('name')
174 174
 				)
175 175
 			) . $this->get_commit_msg_tag();
176
-			$result = $persist->create_file( $blob, $message );
177
-			if ( is_wp_error( $result ) ) {
176
+			$result = $persist->create_file($blob, $message);
177
+			if (is_wp_error($result)) {
178 178
 				return $result;
179 179
 			}
180
-		} elseif ( $old_github_path && $old_github_path == $github_path ) {
180
+		} elseif ($old_github_path && $old_github_path == $github_path) {
181 181
 			// update
182 182
 			$message = apply_filters(
183 183
 				'wogh_commit_msg_update_post',
@@ -185,11 +185,11 @@  discard block
 block discarded – undo
185 185
 					'Update post %s from WordPress at %s (%s)',
186 186
 					$github_path,
187 187
 					site_url(),
188
-					get_bloginfo( 'name' )
188
+					get_bloginfo('name')
189 189
 				)
190 190
 			) . $this->get_commit_msg_tag();
191
-			$result = $persist->update_file( $blob, $message );
192
-			if ( is_wp_error( $result ) ) {
191
+			$result = $persist->update_file($blob, $message);
192
+			if (is_wp_error($result)) {
193 193
 				return $result;
194 194
 			}
195 195
 		}
@@ -208,15 +208,15 @@  discard block
 block discarded – undo
208 208
 	 *
209 209
 	 * @return string|WP_Error
210 210
 	 */
211
-	public function delete( $post_id ) {
212
-		$post = $this->app->database()->fetch_by_id( $post_id );
211
+	public function delete($post_id) {
212
+		$post = $this->app->database()->fetch_by_id($post_id);
213 213
 
214
-		if ( is_wp_error( $post ) ) {
214
+		if (is_wp_error($post)) {
215 215
             /* @var WP_Error $post */
216 216
 			return $post;
217 217
 		}
218 218
 
219
-		$github_path = get_post_meta( $post_id, '_wogh_github_path', true );
219
+		$github_path = get_post_meta($post_id, '_wogh_github_path', true);
220 220
 
221 221
 		$message = apply_filters(
222 222
 			'wogh_commit_msg_delete',
@@ -224,19 +224,19 @@  discard block
 block discarded – undo
224 224
 				'Deleting %s via WordPress at %s (%s)',
225 225
 				$github_path,
226 226
 				site_url(),
227
-				get_bloginfo( 'name' )
227
+				get_bloginfo('name')
228 228
 			),
229 229
 			$post
230 230
 		) . $this->get_commit_msg_tag();
231 231
 
232
-		$result = $this->app->api()->persist()->delete_file( $github_path, $post->sha(), $message );
232
+		$result = $this->app->api()->persist()->delete_file($github_path, $post->sha(), $message);
233 233
 
234
-		if ( is_wp_error( $result ) ) {
234
+		if (is_wp_error($result)) {
235 235
             /* @var WP_Error $result */
236 236
 			return $result;
237 237
 		}
238 238
 
239
-		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
239
+		return __('Export to GitHub completed successfully.', 'writing-on-github');
240 240
 	}
241 241
 
242 242
 
@@ -247,8 +247,8 @@  discard block
 block discarded – undo
247 247
 	 *
248 248
 	 * @return bool
249 249
 	 */
250
-	public function set_user( $user_id ) {
251
-		return update_option( self::EXPORT_USER_OPTION, (int) $user_id );
250
+	public function set_user($user_id) {
251
+		return update_option(self::EXPORT_USER_OPTION, (int) $user_id);
252 252
 	}
253 253
 
254 254
 	/**
@@ -257,10 +257,10 @@  discard block
 block discarded – undo
257 257
 	 * @return string
258 258
 	 */
259 259
 	protected function get_commit_msg_tag() {
260
-		$tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
260
+		$tag = apply_filters('wogh_commit_msg_tag', 'wogh');
261 261
 
262
-		if ( ! $tag ) {
263
-			throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
262
+		if ( ! $tag) {
263
+			throw new Exception(__('Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github'));
264 264
 		}
265 265
 
266 266
 		return ' - ' . $tag;
Please login to merge, or discard this patch.
lib/function.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -8,8 +8,8 @@
 block discarded – undo
8 8
  * @return WP_Error
9 9
  */
10 10
 function wogh_append_error( $error, $error2 ) {
11
-    if ( is_wp_error( $error ) ) {
12
-        $error->add( $error2->get_error_code(), $error2->get_error_message() );
13
-    }
14
-    return $error2;
11
+	if ( is_wp_error( $error ) ) {
12
+		$error->add( $error2->get_error_code(), $error2->get_error_message() );
13
+	}
14
+	return $error2;
15 15
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -7,9 +7,9 @@
 block discarded – undo
7 7
  * @param  WP_Error   $error2
8 8
  * @return WP_Error
9 9
  */
10
-function wogh_append_error( $error, $error2 ) {
11
-    if ( is_wp_error( $error ) ) {
12
-        $error->add( $error2->get_error_code(), $error2->get_error_message() );
10
+function wogh_append_error($error, $error2) {
11
+    if (is_wp_error($error)) {
12
+        $error->add($error2->get_error_code(), $error2->get_error_message());
13 13
     }
14 14
     return $error2;
15 15
 }
Please login to merge, or discard this patch.
lib/database.php 2 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -42,10 +42,10 @@  discard block
 block discarded – undo
42 42
 	/**
43 43
 	 * Queries the database for all of the supported posts.
44 44
 	 *
45
-     * @param  bool $force
46
-     *
47
-     * @return Writing_On_GitHub_Post[]|WP_Error
48
-     */
45
+	 * @param  bool $force
46
+	 *
47
+	 * @return Writing_On_GitHub_Post[]|WP_Error
48
+	 */
49 49
 	public function fetch_all_supported( $force = false ) {
50 50
 		$args  = array(
51 51
 			'post_type'   => $this->get_whitelisted_post_types(),
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
 			);
66 66
 		}
67 67
 
68
-        /* @var Writing_On_GitHub_Post[] $results */
68
+		/* @var Writing_On_GitHub_Post[] $results */
69 69
 		$results = array();
70 70
 		foreach ( $post_ids as $post_id ) {
71 71
 			// Do not export posts that have already been exported
@@ -132,8 +132,8 @@  discard block
 block discarded – undo
132 132
 			add_filter( 'content_save_pre', 'wp_filter_post_kses' );
133 133
 
134 134
 			if ( is_wp_error( $post_id ) ) {
135
-                /* @var WP_Error $post_id */
136
-                $error = wogh_append_error( $error, $post_id );
135
+				/* @var WP_Error $post_id */
136
+				$error = wogh_append_error( $error, $post_id );
137 137
 
138 138
 				// Abort saving if updating the post fails.
139 139
 				continue;
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
 
155 155
 			$meta = apply_filters( 'wogh_pre_import_meta', $post->get_meta(), $post );
156 156
 
157
-            update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
157
+			update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
158 158
 
159 159
 			// unset( $meta['tags'] );
160 160
 			// unset( $meta['categories'] );
@@ -185,65 +185,65 @@  discard block
 block discarded – undo
185 185
 
186 186
 		// update tags
187 187
 		if ( ! empty( $meta['tags'] ) ) {
188
-		    $args['tags_input'] = $meta['tags'];
188
+			$args['tags_input'] = $meta['tags'];
189 189
 		}
190 190
 
191 191
 		// update categories
192 192
 		if ( ! empty( $meta['categories'] ) ) {
193
-		    $categories = $meta['categories'];
194
-		    if ( ! is_array( $categories ) ) {
195
-		        $categories = array( $categories );
196
-		    }
197
-		    $terms = get_terms( array(
198
-		        'taxonomy' => 'category',
199
-		        'fields' => 'id=>name',
200
-		        'hide_empty' => 0,
201
-		        'name' => $categories
202
-		        )
203
-		    );
204
-		    $map = array();
205
-		    foreach ( $categories as $name ) {
206
-		        $map[$name] = 1;
207
-		    }
208
-
209
-		    $ids = array();
210
-		    if ( ! empty( $terms ) ) {
211
-		        foreach ( $terms as $id => $name ) {
212
-		            $ids[] = $id;
213
-		            unset( $map[$name] );
214
-		        }
215
-		    }
216
-
217
-		    // create new terms
218
-		    if ( ! empty( $map ) ) {
219
-		        foreach ( $map as $name => $value ) {
220
-		            $term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
221
-		            // array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
222
-		            $ids[] = $term['term_id'];
223
-		        }
224
-		    }
225
-
226
-		    $args['post_category'] = $ids;
193
+			$categories = $meta['categories'];
194
+			if ( ! is_array( $categories ) ) {
195
+				$categories = array( $categories );
196
+			}
197
+			$terms = get_terms( array(
198
+				'taxonomy' => 'category',
199
+				'fields' => 'id=>name',
200
+				'hide_empty' => 0,
201
+				'name' => $categories
202
+				)
203
+			);
204
+			$map = array();
205
+			foreach ( $categories as $name ) {
206
+				$map[$name] = 1;
207
+			}
208
+
209
+			$ids = array();
210
+			if ( ! empty( $terms ) ) {
211
+				foreach ( $terms as $id => $name ) {
212
+					$ids[] = $id;
213
+					unset( $map[$name] );
214
+				}
215
+			}
216
+
217
+			// create new terms
218
+			if ( ! empty( $map ) ) {
219
+				foreach ( $map as $name => $value ) {
220
+					$term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
221
+					// array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
222
+					$ids[] = $term['term_id'];
223
+				}
224
+			}
225
+
226
+			$args['post_category'] = $ids;
227 227
 		}
228 228
 
229 229
 		return $args;
230 230
 	}
231 231
 
232
-    private function get_post_id_by_filename( $filename, $pattern  ) {
233
-        preg_match( $pattern , $filename, $matches );
234
-        $title = $matches[4];
232
+	private function get_post_id_by_filename( $filename, $pattern  ) {
233
+		preg_match( $pattern , $filename, $matches );
234
+		$title = $matches[4];
235 235
 
236
-        $query = new WP_Query( array(
237
-            'name'     => $title,
238
-            'posts_per_page' => 1,
239
-            'post_type' => $this->get_whitelisted_post_types(),
240
-            'fields'         => 'ids',
241
-        ) );
236
+		$query = new WP_Query( array(
237
+			'name'     => $title,
238
+			'posts_per_page' => 1,
239
+			'post_type' => $this->get_whitelisted_post_types(),
240
+			'fields'         => 'ids',
241
+		) );
242 242
 
243
-        $post_id = $query->get_posts();
244
-        $post_id = array_pop( $post_id );
245
-        return $post_id;
246
-    }
243
+		$post_id = $query->get_posts();
244
+		$post_id = array_pop( $post_id );
245
+		return $post_id;
246
+	}
247 247
 
248 248
 	/**
249 249
 	 * Deletes a post from the database based on its GitHub path.
@@ -270,11 +270,11 @@  discard block
 block discarded – undo
270 270
 			$directory = $parts ? array_shift( $parts ) : '';
271 271
 
272 272
 			if ( false !== strpos( $directory, 'post' ) ) {
273
-                $post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
273
+				$post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
274 274
 			}
275 275
 
276 276
 			if ( ! $post_id ) {
277
-                $post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
277
+				$post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
278 278
 			}
279 279
 		}
280 280
 
@@ -419,12 +419,12 @@  discard block
 block discarded – undo
419 419
 		if ( ! empty( $display_name ) ) {
420 420
 			$search_string = esc_attr( $display_name );
421 421
 			$query = new WP_User_Query( array(
422
-			    'search'         => "{$search_string}",
423
-			    'search_columns' => array(
424
-			        'display_name',
425
-			        'user_nicename',
426
-			        'user_login',
427
-			    )
422
+				'search'         => "{$search_string}",
423
+				'search_columns' => array(
424
+					'display_name',
425
+					'user_nicename',
426
+					'user_login',
427
+				)
428 428
 			) );
429 429
 			$users = $query->get_results();
430 430
 			$user = empty($users) ? false : $users[0];
Please login to merge, or discard this patch.
Spacing   +109 added lines, -110 removed lines patch added patch discarded remove patch
@@ -21,21 +21,21 @@  discard block
 block discarded – undo
21 21
 	 *
22 22
 	 * @var array
23 23
 	 */
24
-	protected $whitelisted_post_types = array( 'post', 'page' );
24
+	protected $whitelisted_post_types = array('post', 'page');
25 25
 
26 26
 	/**
27 27
 	 * Currently whitelisted post statuses.
28 28
 	 *
29 29
 	 * @var array
30 30
 	 */
31
-	protected $whitelisted_post_statuses = array( 'publish' );
31
+	protected $whitelisted_post_statuses = array('publish');
32 32
 
33 33
 	/**
34 34
 	 * Instantiates a new Database object.
35 35
 	 *
36 36
 	 * @param Writing_On_GitHub $app Application container.
37 37
 	 */
38
-	public function __construct( Writing_On_GitHub $app ) {
38
+	public function __construct(Writing_On_GitHub $app) {
39 39
 		$this->app = $app;
40 40
 	}
41 41
 
@@ -46,33 +46,33 @@  discard block
 block discarded – undo
46 46
      *
47 47
      * @return Writing_On_GitHub_Post[]|WP_Error
48 48
      */
49
-	public function fetch_all_supported( $force = false ) {
50
-		$args  = array(
49
+	public function fetch_all_supported($force = false) {
50
+		$args = array(
51 51
 			'post_type'   => $this->get_whitelisted_post_types(),
52 52
 			'post_status' => $this->get_whitelisted_post_statuses(),
53 53
 			'nopaging'    => true,
54 54
 			'fields'      => 'ids',
55 55
 		);
56 56
 
57
-		$query = new WP_Query( apply_filters( 'wogh_pre_fetch_all_supported', $args ) );
57
+		$query = new WP_Query(apply_filters('wogh_pre_fetch_all_supported', $args));
58 58
 
59 59
 		$post_ids = $query->get_posts();
60 60
 
61
-		if ( ! $post_ids ) {
61
+		if ( ! $post_ids) {
62 62
 			return new WP_Error(
63 63
 				'no_results',
64
-				__( 'Querying for supported posts returned no results.', 'writing-on-github' )
64
+				__('Querying for supported posts returned no results.', 'writing-on-github')
65 65
 			);
66 66
 		}
67 67
 
68 68
         /* @var Writing_On_GitHub_Post[] $results */
69 69
 		$results = array();
70
-		foreach ( $post_ids as $post_id ) {
70
+		foreach ($post_ids as $post_id) {
71 71
 			// Do not export posts that have already been exported
72
-			if ( $force || ! get_post_meta( $post_id, '_wogh_sha', true ) ||
73
-				 ! get_post_meta( $post_id, '_wogh_github_path', true ) ) {
72
+			if ($force || ! get_post_meta($post_id, '_wogh_sha', true) ||
73
+				 ! get_post_meta($post_id, '_wogh_github_path', true)) {
74 74
 
75
-				$results[] = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
75
+				$results[] = new Writing_On_GitHub_Post($post_id, $this->app->api());
76 76
 			}
77 77
 		}
78 78
 
@@ -86,10 +86,10 @@  discard block
 block discarded – undo
86 86
 	 *
87 87
 	 * @return WP_Error|Writing_On_GitHub_Post
88 88
 	 */
89
-	public function fetch_by_id( $post_id ) {
90
-		$post = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
89
+	public function fetch_by_id($post_id) {
90
+		$post = new Writing_On_GitHub_Post($post_id, $this->app->api());
91 91
 
92
-		if ( ! $this->is_post_supported( $post ) ) {
92
+		if ( ! $this->is_post_supported($post)) {
93 93
 			return new WP_Error(
94 94
 				'unsupported_post',
95 95
 				sprintf(
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
 	 *
114 114
 	 * @return string|WP_Error
115 115
 	 */
116
-	public function save_posts( array $posts ) {
116
+	public function save_posts(array $posts) {
117 117
 
118 118
 		/**
119 119
 		 * Whether an error has occurred.
@@ -122,39 +122,38 @@  discard block
 block discarded – undo
122 122
 		 */
123 123
 		$error = false;
124 124
 
125
-		foreach ( $posts as $post ) {
126
-			$args = apply_filters( 'wogh_pre_import_args', $this->post_args( $post ), $post );
125
+		foreach ($posts as $post) {
126
+			$args = apply_filters('wogh_pre_import_args', $this->post_args($post), $post);
127 127
 
128
-			remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
128
+			remove_filter('content_save_pre', 'wp_filter_post_kses');
129 129
 			$post_id = $post->is_new() ?
130
-				wp_insert_post( $args, true ) :
131
-				wp_update_post( $args, true );
132
-			add_filter( 'content_save_pre', 'wp_filter_post_kses' );
130
+				wp_insert_post($args, true) : wp_update_post($args, true);
131
+			add_filter('content_save_pre', 'wp_filter_post_kses');
133 132
 
134
-			if ( is_wp_error( $post_id ) ) {
133
+			if (is_wp_error($post_id)) {
135 134
                 /* @var WP_Error $post_id */
136
-                $error = wogh_append_error( $error, $post_id );
135
+                $error = wogh_append_error($error, $post_id);
137 136
 
138 137
 				// Abort saving if updating the post fails.
139 138
 				continue;
140 139
 			}
141 140
 
142
-			if ( $post->is_new() ) {
141
+			if ($post->is_new()) {
143 142
 				$author = false;
144 143
 				$meta = $post->get_meta();
145
-				if ( ! empty( $meta ) && ! empty( $meta['author'] ) ) {
144
+				if ( ! empty($meta) && ! empty($meta['author'])) {
146 145
 					$author = $meta['author'];
147 146
 				}
148
-				$user    = $this->fetch_commit_user( $author );
149
-				$user_id = is_wp_error( $user ) ? 0 : $user->ID;
150
-				$this->set_post_author( $post_id, $user_id );
147
+				$user    = $this->fetch_commit_user($author);
148
+				$user_id = is_wp_error($user) ? 0 : $user->ID;
149
+				$this->set_post_author($post_id, $user_id);
151 150
 			}
152 151
 
153
-			$post->set_post( get_post( $post_id ) );
152
+			$post->set_post(get_post($post_id));
154 153
 
155
-			$meta = apply_filters( 'wogh_pre_import_meta', $post->get_meta(), $post );
154
+			$meta = apply_filters('wogh_pre_import_meta', $post->get_meta(), $post);
156 155
 
157
-            update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
156
+            update_post_meta($post_id, '_wogh_sha', $meta['_wogh_sha']);
158 157
 
159 158
 			// unset( $meta['tags'] );
160 159
 			// unset( $meta['categories'] );
@@ -169,32 +168,32 @@  discard block
 block discarded – undo
169 168
 			// }
170 169
 		}
171 170
 
172
-		if ( $error ) {
171
+		if ($error) {
173 172
 			return $error;
174 173
 		}
175 174
 
176
-		return __( 'Successfully saved posts.', 'writing-on-github' );
175
+		return __('Successfully saved posts.', 'writing-on-github');
177 176
 	}
178 177
 
179
-	protected function post_args( $post ) {
178
+	protected function post_args($post) {
180 179
 		$args = $post->get_args();
181 180
 		$meta = $post->get_meta();
182 181
 
183 182
 		// prevent backslash loss
184
-		$args['post_content'] = addslashes( $args['post_content'] );
183
+		$args['post_content'] = addslashes($args['post_content']);
185 184
 
186 185
 		// update tags
187
-		if ( ! empty( $meta['tags'] ) ) {
186
+		if ( ! empty($meta['tags'])) {
188 187
 		    $args['tags_input'] = $meta['tags'];
189 188
 		}
190 189
 
191 190
 		// update categories
192
-		if ( ! empty( $meta['categories'] ) ) {
191
+		if ( ! empty($meta['categories'])) {
193 192
 		    $categories = $meta['categories'];
194
-		    if ( ! is_array( $categories ) ) {
195
-		        $categories = array( $categories );
193
+		    if ( ! is_array($categories)) {
194
+		        $categories = array($categories);
196 195
 		    }
197
-		    $terms = get_terms( array(
196
+		    $terms = get_terms(array(
198 197
 		        'taxonomy' => 'category',
199 198
 		        'fields' => 'id=>name',
200 199
 		        'hide_empty' => 0,
@@ -202,22 +201,22 @@  discard block
 block discarded – undo
202 201
 		        )
203 202
 		    );
204 203
 		    $map = array();
205
-		    foreach ( $categories as $name ) {
204
+		    foreach ($categories as $name) {
206 205
 		        $map[$name] = 1;
207 206
 		    }
208 207
 
209 208
 		    $ids = array();
210
-		    if ( ! empty( $terms ) ) {
211
-		        foreach ( $terms as $id => $name ) {
209
+		    if ( ! empty($terms)) {
210
+		        foreach ($terms as $id => $name) {
212 211
 		            $ids[] = $id;
213
-		            unset( $map[$name] );
212
+		            unset($map[$name]);
214 213
 		        }
215 214
 		    }
216 215
 
217 216
 		    // create new terms
218
-		    if ( ! empty( $map ) ) {
219
-		        foreach ( $map as $name => $value ) {
220
-		            $term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
217
+		    if ( ! empty($map)) {
218
+		        foreach ($map as $name => $value) {
219
+		            $term = wp_insert_term($name, 'category', array('parent' => 0));
221 220
 		            // array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
222 221
 		            $ids[] = $term['term_id'];
223 222
 		        }
@@ -229,19 +228,19 @@  discard block
 block discarded – undo
229 228
 		return $args;
230 229
 	}
231 230
 
232
-    private function get_post_id_by_filename( $filename, $pattern  ) {
233
-        preg_match( $pattern , $filename, $matches );
231
+    private function get_post_id_by_filename($filename, $pattern) {
232
+        preg_match($pattern, $filename, $matches);
234 233
         $title = $matches[4];
235 234
 
236
-        $query = new WP_Query( array(
235
+        $query = new WP_Query(array(
237 236
             'name'     => $title,
238 237
             'posts_per_page' => 1,
239 238
             'post_type' => $this->get_whitelisted_post_types(),
240 239
             'fields'         => 'ids',
241
-        ) );
240
+        ));
242 241
 
243 242
         $post_id = $query->get_posts();
244
-        $post_id = array_pop( $post_id );
243
+        $post_id = array_pop($post_id);
245 244
         return $post_id;
246 245
     }
247 246
 
@@ -252,55 +251,55 @@  discard block
 block discarded – undo
252 251
 	 *
253 252
 	 * @return string|WP_Error
254 253
 	 */
255
-	public function delete_post_by_path( $path ) {
256
-		$query = new WP_Query( array(
254
+	public function delete_post_by_path($path) {
255
+		$query = new WP_Query(array(
257 256
 			'meta_key'       => '_wogh_github_path',
258 257
 			'meta_value'     => $path,
259 258
 			'meta_compare'   => '=',
260 259
 			'posts_per_page' => 1,
261 260
 			'fields'         => 'ids',
262
-		) );
261
+		));
263 262
 
264 263
 		$post_id = $query->get_posts();
265
-		$post_id = array_pop( $post_id );
264
+		$post_id = array_pop($post_id);
266 265
 
267
-		if ( ! $post_id ) {
268
-			$parts     = explode( '/', $path );
269
-			$filename  = array_pop( $parts );
270
-			$directory = $parts ? array_shift( $parts ) : '';
266
+		if ( ! $post_id) {
267
+			$parts     = explode('/', $path);
268
+			$filename  = array_pop($parts);
269
+			$directory = $parts ? array_shift($parts) : '';
271 270
 
272
-			if ( false !== strpos( $directory, 'post' ) ) {
273
-                $post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
271
+			if (false !== strpos($directory, 'post')) {
272
+                $post_id = get_post_id_by_filename($filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/');
274 273
 			}
275 274
 
276
-			if ( ! $post_id ) {
277
-                $post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
275
+			if ( ! $post_id) {
276
+                $post_id = get_post_id_by_filename($filename, '/(.*)\.md/');
278 277
 			}
279 278
 		}
280 279
 
281
-		if ( ! $post_id ) {
280
+		if ( ! $post_id) {
282 281
 			return new WP_Error(
283 282
 				'path_not_found',
284 283
 				sprintf(
285
-					__( 'Post not found for path %s.', 'writing-on-github' ),
284
+					__('Post not found for path %s.', 'writing-on-github'),
286 285
 					$path
287 286
 				)
288 287
 			);
289 288
 		}
290 289
 
291
-		$result = wp_delete_post( $post_id );
290
+		$result = wp_delete_post($post_id);
292 291
 
293 292
 		// If deleting fails...
294
-		if ( false === $result ) {
295
-			$post = get_post( $post_id );
293
+		if (false === $result) {
294
+			$post = get_post($post_id);
296 295
 
297 296
 			// ...and the post both exists and isn't in the trash...
298
-			if ( $post && 'trash' !== $post->post_status ) {
297
+			if ($post && 'trash' !== $post->post_status) {
299 298
 				// ... then something went wrong.
300 299
 				return new WP_Error(
301 300
 					'db_error',
302 301
 					sprintf(
303
-						__( 'Failed to delete post ID %d.', 'writing-on-github' ),
302
+						__('Failed to delete post ID %d.', 'writing-on-github'),
304 303
 						$post_id
305 304
 					)
306 305
 				);
@@ -308,25 +307,25 @@  discard block
 block discarded – undo
308 307
 		}
309 308
 
310 309
 		return sprintf(
311
-			__( 'Successfully deleted post ID %d.', 'writing-on-github' ),
310
+			__('Successfully deleted post ID %d.', 'writing-on-github'),
312 311
 			$post_id
313 312
 		);
314 313
 	}
315 314
 
316
-	public function delete_post( $post_id ) {
317
-		$result = wp_delete_post( $post_id );
315
+	public function delete_post($post_id) {
316
+		$result = wp_delete_post($post_id);
318 317
 
319 318
 		// If deleting fails...
320
-		if ( false === $result ) {
321
-			$post = get_post( $post_id );
319
+		if (false === $result) {
320
+			$post = get_post($post_id);
322 321
 
323 322
 			// ...and the post both exists and isn't in the trash...
324
-			if ( $post && 'trash' !== $post->post_status ) {
323
+			if ($post && 'trash' !== $post->post_status) {
325 324
 				// ... then something went wrong.
326 325
 				return new WP_Error(
327 326
 					'db_error',
328 327
 					sprintf(
329
-						__( 'Failed to delete post ID %d.', 'writing-on-github' ),
328
+						__('Failed to delete post ID %d.', 'writing-on-github'),
330 329
 						$post_id
331 330
 					)
332 331
 				);
@@ -334,7 +333,7 @@  discard block
 block discarded – undo
334 333
 		}
335 334
 
336 335
 		return sprintf(
337
-			__( 'Successfully deleted post ID %d.', 'writing-on-github' ),
336
+			__('Successfully deleted post ID %d.', 'writing-on-github'),
338 337
 			$post_id
339 338
 		);
340 339
 	}
@@ -345,7 +344,7 @@  discard block
 block discarded – undo
345 344
 	 * @return array
346 345
 	 */
347 346
 	protected function get_whitelisted_post_types() {
348
-		return apply_filters( 'wogh_whitelisted_post_types', $this->whitelisted_post_types );
347
+		return apply_filters('wogh_whitelisted_post_types', $this->whitelisted_post_types);
349 348
 	}
350 349
 
351 350
 	/**
@@ -354,7 +353,7 @@  discard block
 block discarded – undo
354 353
 	 * @return array
355 354
 	 */
356 355
 	protected function get_whitelisted_post_statuses() {
357
-		return apply_filters( 'wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses );
356
+		return apply_filters('wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses);
358 357
 	}
359 358
 
360 359
 	/**
@@ -364,12 +363,12 @@  discard block
 block discarded – undo
364 363
 	 *
365 364
 	 * @return string Whitelist formatted for query
366 365
 	 */
367
-	protected function format_for_query( $whitelist ) {
368
-		foreach ( $whitelist as $key => $value ) {
369
-			$whitelist[ $key ] = "'$value'";
366
+	protected function format_for_query($whitelist) {
367
+		foreach ($whitelist as $key => $value) {
368
+			$whitelist[$key] = "'$value'";
370 369
 		}
371 370
 
372
-		return implode( ', ', $whitelist );
371
+		return implode(', ', $whitelist);
373 372
 	}
374 373
 
375 374
 	/**
@@ -380,25 +379,25 @@  discard block
 block discarded – undo
380 379
 	 *
381 380
 	 * @return boolean                          True if supported, false if not.
382 381
 	 */
383
-	protected function is_post_supported( Writing_On_GitHub_Post $post ) {
384
-		if ( wp_is_post_revision( $post->id ) ) {
382
+	protected function is_post_supported(Writing_On_GitHub_Post $post) {
383
+		if (wp_is_post_revision($post->id)) {
385 384
 			return false;
386 385
 		}
387 386
 
388 387
 		// We need to allow trashed posts to be queried, but they are not whitelisted for export.
389
-		if ( ! in_array( $post->status(), $this->get_whitelisted_post_statuses() ) && 'trash' !== $post->status() ) {
388
+		if ( ! in_array($post->status(), $this->get_whitelisted_post_statuses()) && 'trash' !== $post->status()) {
390 389
 			return false;
391 390
 		}
392 391
 
393
-		if ( ! in_array( $post->type(), $this->get_whitelisted_post_types() ) ) {
392
+		if ( ! in_array($post->type(), $this->get_whitelisted_post_types())) {
394 393
 			return false;
395 394
 		}
396 395
 
397
-		if ( $post->has_password() ) {
396
+		if ($post->has_password()) {
398 397
 			return false;
399 398
 		}
400 399
 
401
-		return apply_filters( 'wogh_is_post_supported', true, $post );
400
+		return apply_filters('wogh_is_post_supported', true, $post);
402 401
 	}
403 402
 
404 403
 	/**
@@ -411,35 +410,35 @@  discard block
 block discarded – undo
411 410
 	 *
412 411
 	 * @return WP_Error|WP_User
413 412
 	 */
414
-	protected function fetch_commit_user( $display_name ) {
413
+	protected function fetch_commit_user($display_name) {
415 414
 		// If we can't find a user and a default hasn't been set,
416 415
 		// we're just going to set the revision author to 0.
417 416
 		$user = false;
418 417
 
419
-		if ( ! empty( $display_name ) ) {
420
-			$search_string = esc_attr( $display_name );
421
-			$query = new WP_User_Query( array(
418
+		if ( ! empty($display_name)) {
419
+			$search_string = esc_attr($display_name);
420
+			$query = new WP_User_Query(array(
422 421
 			    'search'         => "{$search_string}",
423 422
 			    'search_columns' => array(
424 423
 			        'display_name',
425 424
 			        'user_nicename',
426 425
 			        'user_login',
427 426
 			    )
428
-			) );
427
+			));
429 428
 			$users = $query->get_results();
430 429
 			$user = empty($users) ? false : $users[0];
431 430
 		}
432 431
 
433
-		if ( ! $user ) {
432
+		if ( ! $user) {
434 433
 			// Use the default user.
435
-			$user = get_user_by( 'id', (int) get_option( 'wogh_default_user' ) );
434
+			$user = get_user_by('id', (int) get_option('wogh_default_user'));
436 435
 		}
437 436
 
438
-		if ( ! $user ) {
437
+		if ( ! $user) {
439 438
 			return new WP_Error(
440 439
 				'user_not_found',
441 440
 				sprintf(
442
-					__( 'Commit user not found for email %s', 'writing-on-github' ),
441
+					__('Commit user not found for email %s', 'writing-on-github'),
443 442
 					$email
444 443
 				)
445 444
 			);
@@ -491,7 +490,7 @@  discard block
 block discarded – undo
491 490
 	 *
492 491
 	 * @return string|WP_Error
493 492
 	 */
494
-	protected function set_post_author( $post_id, $user_id ) {
493
+	protected function set_post_author($post_id, $user_id) {
495 494
 		global $wpdb;
496 495
 
497 496
 		$result = $wpdb->update(
@@ -502,25 +501,25 @@  discard block
 block discarded – undo
502 501
 			array(
503 502
 				'ID' => (int) $post_id,
504 503
 			),
505
-			array( '%d' ),
506
-			array( '%d' )
504
+			array('%d'),
505
+			array('%d')
507 506
 		);
508 507
 
509
-		if ( false === $result ) {
510
-			return new WP_Error( 'db_error', $wpdb->last_error );
508
+		if (false === $result) {
509
+			return new WP_Error('db_error', $wpdb->last_error);
511 510
 		}
512 511
 
513
-		if ( 0 === $result ) {
512
+		if (0 === $result) {
514 513
 			return sprintf(
515
-				__( 'No change for post ID %d.', 'writing-on-github' ),
514
+				__('No change for post ID %d.', 'writing-on-github'),
516 515
 				$post_id
517 516
 			);
518 517
 		}
519 518
 
520
-		clean_post_cache( $post_id );
519
+		clean_post_cache($post_id);
521 520
 
522 521
 		return sprintf(
523
-			__( 'Successfully updated post ID %d.', 'writing-on-github' ),
522
+			__('Successfully updated post ID %d.', 'writing-on-github'),
524 523
 			$post_id
525 524
 		);
526 525
 	}
Please login to merge, or discard this patch.
lib/post.php 2 patches
Indentation   +448 added lines, -448 removed lines patch added patch discarded remove patch
@@ -9,452 +9,452 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Post {
11 11
 
12
-    /**
13
-     * Api object
14
-     *
15
-     * @var Writing_On_GitHub_Api
16
-     */
17
-    public $api;
18
-
19
-    /**
20
-     * Post ID
21
-     * @var integer
22
-     */
23
-    public $id = 0;
24
-
25
-    /**
26
-     * Post object
27
-     * @var WP_Post
28
-     */
29
-    public $post;
30
-
31
-    /**
32
-     * Post args.
33
-     *
34
-     * @var array
35
-     */
36
-    protected $args;
37
-
38
-    /**
39
-     * Post meta.
40
-     *
41
-     * @var array
42
-     */
43
-    protected $meta;
44
-
45
-    /**
46
-     * Whether the post has been saved.
47
-     *
48
-     * @var bool
49
-     */
50
-    protected $new = true;
51
-
52
-
53
-    protected $old_github_path;
54
-
55
-    /**
56
-     * Instantiates a new Post object
57
-     *
58
-     * @param int|array                 $id_or_args Either a post ID or an array of arguments.
59
-     * @param Writing_On_GitHub_Api $api API object.
60
-     *
61
-     * @todo remove database operations from this method
62
-     */
63
-    public function __construct( $id_or_args, Writing_On_GitHub_Api $api ) {
64
-        $this->api = $api;
65
-
66
-        if ( is_numeric( $id_or_args ) ) {
67
-            $this->id   = (int) $id_or_args;
68
-            $this->post = get_post( $this->id );
69
-            $this->new  = false;
70
-        }
71
-
72
-        if ( is_array( $id_or_args ) ) {
73
-            $this->args = $id_or_args;
74
-
75
-            if ( isset( $this->args['ID'] ) ) {
76
-                $this->post = get_post( $this->args['ID'] );
77
-
78
-                if ( $this->post ) {
79
-                    $this->id  = $this->post->ID;
80
-                    $this->new = false;
81
-                } else {
82
-                    unset( $this->args['ID'] );
83
-                }
84
-            }
85
-        }
86
-    }
87
-
88
-    public function id() {
89
-        return $this->id;
90
-    }
91
-
92
-    /**
93
-     * Returns the post type
94
-     */
95
-    public function type() {
96
-        return $this->post->post_type;
97
-    }
98
-
99
-    /**
100
-     * Returns the post type
101
-     */
102
-    public function status() {
103
-        return $this->post->post_status;
104
-    }
105
-
106
-    /**
107
-     * Returns the post name
108
-     */
109
-    public function name() {
110
-        return $this->post->post_name;
111
-    }
112
-
113
-    /**
114
-     * Returns true if the post has a password
115
-     * @return bool
116
-     */
117
-    public function has_password() {
118
-        return ! empty( $this->post->post_password );
119
-    }
120
-
121
-    /**
122
-     * Combines the 2 content parts for GitHub
123
-     */
124
-    public function github_content() {
125
-        $content = $this->front_matter() . $this->post_content();
126
-        $ending  = apply_filters( 'wogh_line_endings', "\n" );
127
-
128
-        return preg_replace( '~(*BSR_ANYCRLF)\R~', $ending, $content );
129
-    }
130
-
131
-    /**
132
-     * The post's YAML frontmatter
133
-     *
134
-     * Returns String the YAML frontmatter, ready to be written to the file
135
-     */
136
-    public function front_matter() {
137
-        return "---\n" . spyc_dump( $this->meta() ) . "---\n";
138
-    }
139
-
140
-    /**
141
-     * Returns the post_content
142
-     *
143
-     * Markdownify's the content if applicable
144
-     */
145
-    public function post_content() {
146
-        $content = $this->post->post_content;
147
-
148
-        if ( function_exists( 'wpmarkdown_html_to_markdown' ) ) {
149
-            $content = wpmarkdown_html_to_markdown( $content );
150
-        } else if ( class_exists( 'WPCom_Markdown' ) ) {
151
-            if ( WPCom_Markdown::get_instance()->is_markdown( $this->post->ID ) ) {
152
-                $content = $this->post->post_content_filtered;
153
-            }
154
-        }
155
-
156
-        return apply_filters( 'wogh_content_export', $content, $this );
157
-    }
158
-
159
-    public function old_github_path() {
160
-        return $this->old_github_path;
161
-    }
162
-
163
-    public function set_old_github_path( $path ) {
164
-        $this->old_github_path = $path;
165
-        update_post_meta( $this->id, '_wogh_github_path', $path );
166
-    }
167
-
168
-
169
-    /**
170
-     * Retrieves or calculates the proper GitHub path for a given post
171
-     *
172
-     * Returns (string) the path relative to repo root
173
-     */
174
-    public function github_path() {
175
-        $path = $this->github_directory() . $this->github_filename();
176
-
177
-        return $path;
178
-    }
179
-
180
-    /**
181
-     * Get GitHub directory based on post
182
-     *
183
-     * @return string
184
-     */
185
-    public function github_directory() {
186
-        if ( 'publish' !== $this->status() ) {
187
-            return apply_filters( 'wogh_directory_unpublished', '_drafts/', $this );
188
-        }
189
-
190
-        $name = '';
191
-
192
-        switch ( $this->type() ) {
193
-            case 'post':
194
-                $name = 'posts';
195
-                break;
196
-            case 'page':
197
-                $name = 'pages';
198
-                break;
199
-            default:
200
-                $obj = get_post_type_object( $this->type() );
201
-
202
-                if ( $obj ) {
203
-                    $name = strtolower( $obj->labels->name );
204
-                }
205
-
206
-                if ( ! $name ) {
207
-                    $name = '';
208
-                }
209
-        }
210
-
211
-        if ( $name ) {
212
-            $name = '_' . $name . '/';
213
-        }
214
-
215
-        return apply_filters( 'wogh_directory_published', $name, $this );
216
-    }
217
-
218
-    /**
219
-     * Build GitHub filename based on post
220
-     */
221
-    public function github_filename() {
222
-        if ( 'post' === $this->type() ) {
223
-            $filename = get_the_time( 'Y-m-d-', $this->id ) . $this->get_name() . '.md';
224
-        } else {
225
-            $filename = $this->get_name() . '.md';
226
-        }
227
-
228
-        return apply_filters( 'wogh_filename', $filename, $this );
229
-    }
230
-
231
-    /**
232
-     * Returns a post slug we can use in the GitHub filename
233
-     *
234
-     * @return string
235
-     */
236
-    protected function get_name() {
237
-        if ( '' !== $this->name() ) {
238
-            return $this->name();
239
-        }
240
-
241
-        return sanitize_title( get_the_title( $this->post ) );
242
-    }
243
-
244
-    /**
245
-     * is put on github
246
-     * @return boolean
247
-     */
248
-    public function is_on_github() {
249
-        $sha = get_post_meta( $this->id, '_wogh_sha', true );
250
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
251
-        if ( $sha && $github_path ) {
252
-            return true;
253
-        }
254
-        return false;
255
-    }
256
-
257
-    /**
258
-     * Returns the URL for the post on GitHub.
259
-     *
260
-     * @return string
261
-     */
262
-    public function github_view_url() {
263
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
264
-        $repository = $this->api->fetch()->repository();
265
-        $branch = $this->api->fetch()->branch();
266
-
267
-        return "https://github.com/$repository/blob/$branch/$github_path";
268
-    }
269
-
270
-    /**
271
-     * Returns the URL for the post on GitHub.
272
-     *
273
-     * @return string
274
-     */
275
-    public function github_edit_url() {
276
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
277
-        $repository = $this->api->fetch()->repository();
278
-        $branch = $this->api->fetch()->branch();
279
-
280
-        return "https://github.com/$repository/edit/$branch/$github_path";
281
-    }
282
-
283
-    /**
284
-     * Retrieve post type directory from blob path.
285
-     *
286
-     * @param string $path Path string.
287
-     *
288
-     * @return string
289
-     */
290
-    public function get_directory_from_path( $path ) {
291
-        $directory = explode( '/', $path );
292
-        $directory = count( $directory ) > 0 ? $directory[0] : '';
293
-
294
-        return $directory;
295
-    }
296
-
297
-    /**
298
-     * Determines the last author to modify the post
299
-     *
300
-     * Returns Array an array containing the author name and email
301
-     */
302
-    public function last_modified_author() {
303
-        if ( $last_id = get_post_meta( $this->id, '_edit_last', true ) ) {
304
-            $user = get_userdata( $last_id );
305
-
306
-            if ( $user ) {
307
-                return array( 'name' => $user->display_name, 'email' => $user->user_email );
308
-            }
309
-        }
310
-
311
-        return array();
312
-    }
313
-
314
-    /**
315
-     * The post's sha
316
-     * Cached as post meta, or will make a live call if need be
317
-     *
318
-     * Returns String the sha1 hash
319
-     */
320
-    public function sha() {
321
-        $sha = get_post_meta( $this->id, '_wogh_sha', true );
322
-
323
-        // If we've done a full export and we have no sha
324
-        // then we should try a live check to see if it exists.
325
-        // if ( ! $sha && 'yes' === get_option( '_wogh_fully_exported' ) ) {
326
-
327
-        //  // @todo could we eliminate this by calling down the full tree and searching it
328
-        //  $data = $this->api->fetch()->remote_contents( $this );
329
-
330
-        //  if ( ! is_wp_error( $data ) ) {
331
-        //      update_post_meta( $this->id, '_wogh_sha', $data->sha );
332
-        //      $sha = $data->sha;
333
-        //  }
334
-        // }
335
-
336
-        // if the sha still doesn't exist, then it's empty
337
-        if ( ! $sha || is_wp_error( $sha ) ) {
338
-            $sha = '';
339
-        }
340
-
341
-        return $sha;
342
-    }
343
-
344
-    /**
345
-     * Save the sha to post
346
-     *
347
-     * @param string $sha
348
-     */
349
-    public function set_sha( $sha ) {
350
-        update_post_meta( $this->id, '_wogh_sha', $sha );
351
-    }
352
-
353
-    /**
354
-     * The post's metadata
355
-     *
356
-     * Returns Array the post's metadata
357
-     */
358
-    public function meta() {
359
-        $meta = array(
360
-            'ID'           => $this->id,
361
-            'post_title'   => get_the_title( $this->post ),
362
-            'post_name'    => $this->post->post_name,
363
-            'author'       => ( $author = get_userdata( $this->post->post_author ) ) ? $author->display_name : '',
364
-            'post_date'    => $this->post->post_date,
365
-            'post_excerpt' => $this->post->post_excerpt,
366
-            'layout'       => get_post_type( $this->post ),
367
-            'link'         => get_permalink( $this->post ),
368
-            'published'    => 'publish' === $this->status() ? true : false,
369
-            'tags'         => wp_get_post_tags( $this->id, array( 'fields' => 'names' ) ),
370
-            'categories'   => wp_get_post_categories( $this->id, array( 'fields' => 'names' ) )
371
-        );
372
-        if ( empty($this->post->post_name) ) {
373
-            unset($meta['post_name']);
374
-        }
375
-        if ( empty($this->post->post_excerpt) ) {
376
-            unset($meta['post_excerpt']);
377
-        }
378
-        if ( 'yes' == get_option('wogh_ignore_author') ) {
379
-            unset($meta['author']);
380
-        }
381
-
382
-        //convert traditional post_meta values, hide hidden values, skip already populated values
383
-        // foreach ( get_post_custom( $this->id ) as $key => $value ) {
384
-
385
-        //  if ( '_' === substr( $key, 0, 1 ) || isset( $meta[ $key ] ) ) {
386
-        //      continue;
387
-        //  }
388
-
389
-        //  $meta[ $key ] = $value;
390
-
391
-        // }
392
-
393
-        return apply_filters( 'wogh_post_meta', $meta, $this );
394
-    }
395
-
396
-    /**
397
-     * Returns whether the Post has been saved in the DB yet.
398
-     *
399
-     * @return bool
400
-     */
401
-    public function is_new() {
402
-        return $this->new;
403
-    }
404
-
405
-    /**
406
-     * Sets the Post's meta.
407
-     *
408
-     * @param array $meta
409
-     */
410
-    public function set_meta( $meta ) {
411
-        $this->meta = $meta;
412
-    }
413
-
414
-    /**
415
-     * Returns the Post's arguments.
416
-     *
417
-     * @return array
418
-     */
419
-    public function get_args() {
420
-        return $this->args;
421
-    }
422
-
423
-    /**
424
-     * Returns the Post's meta.
425
-     *
426
-     * @return array
427
-     */
428
-    public function get_meta() {
429
-        return $this->meta;
430
-    }
431
-
432
-    /**
433
-     * Sets the Post's WP_Post object.
434
-     *
435
-     * @param WP_Post $post
436
-     *
437
-     * @return $this
438
-     */
439
-    public function set_post( WP_Post $post ) {
440
-        $this->post = $post;
441
-        $this->id   = $post->ID;
442
-
443
-        return $this;
444
-    }
445
-
446
-    /**
447
-     * Transforms the Post into a Blob.
448
-     *
449
-     * @return Writing_On_GitHub_Blob
450
-     */
451
-    public function to_blob() {
452
-        $data = new stdClass;
453
-
454
-        $data->path    = $this->github_path();
455
-        $data->content = $this->github_content();
456
-        $data->sha     = $this->sha();
457
-
458
-        return new Writing_On_GitHub_Blob( $data );
459
-    }
12
+	/**
13
+	 * Api object
14
+	 *
15
+	 * @var Writing_On_GitHub_Api
16
+	 */
17
+	public $api;
18
+
19
+	/**
20
+	 * Post ID
21
+	 * @var integer
22
+	 */
23
+	public $id = 0;
24
+
25
+	/**
26
+	 * Post object
27
+	 * @var WP_Post
28
+	 */
29
+	public $post;
30
+
31
+	/**
32
+	 * Post args.
33
+	 *
34
+	 * @var array
35
+	 */
36
+	protected $args;
37
+
38
+	/**
39
+	 * Post meta.
40
+	 *
41
+	 * @var array
42
+	 */
43
+	protected $meta;
44
+
45
+	/**
46
+	 * Whether the post has been saved.
47
+	 *
48
+	 * @var bool
49
+	 */
50
+	protected $new = true;
51
+
52
+
53
+	protected $old_github_path;
54
+
55
+	/**
56
+	 * Instantiates a new Post object
57
+	 *
58
+	 * @param int|array                 $id_or_args Either a post ID or an array of arguments.
59
+	 * @param Writing_On_GitHub_Api $api API object.
60
+	 *
61
+	 * @todo remove database operations from this method
62
+	 */
63
+	public function __construct( $id_or_args, Writing_On_GitHub_Api $api ) {
64
+		$this->api = $api;
65
+
66
+		if ( is_numeric( $id_or_args ) ) {
67
+			$this->id   = (int) $id_or_args;
68
+			$this->post = get_post( $this->id );
69
+			$this->new  = false;
70
+		}
71
+
72
+		if ( is_array( $id_or_args ) ) {
73
+			$this->args = $id_or_args;
74
+
75
+			if ( isset( $this->args['ID'] ) ) {
76
+				$this->post = get_post( $this->args['ID'] );
77
+
78
+				if ( $this->post ) {
79
+					$this->id  = $this->post->ID;
80
+					$this->new = false;
81
+				} else {
82
+					unset( $this->args['ID'] );
83
+				}
84
+			}
85
+		}
86
+	}
87
+
88
+	public function id() {
89
+		return $this->id;
90
+	}
91
+
92
+	/**
93
+	 * Returns the post type
94
+	 */
95
+	public function type() {
96
+		return $this->post->post_type;
97
+	}
98
+
99
+	/**
100
+	 * Returns the post type
101
+	 */
102
+	public function status() {
103
+		return $this->post->post_status;
104
+	}
105
+
106
+	/**
107
+	 * Returns the post name
108
+	 */
109
+	public function name() {
110
+		return $this->post->post_name;
111
+	}
112
+
113
+	/**
114
+	 * Returns true if the post has a password
115
+	 * @return bool
116
+	 */
117
+	public function has_password() {
118
+		return ! empty( $this->post->post_password );
119
+	}
120
+
121
+	/**
122
+	 * Combines the 2 content parts for GitHub
123
+	 */
124
+	public function github_content() {
125
+		$content = $this->front_matter() . $this->post_content();
126
+		$ending  = apply_filters( 'wogh_line_endings', "\n" );
127
+
128
+		return preg_replace( '~(*BSR_ANYCRLF)\R~', $ending, $content );
129
+	}
130
+
131
+	/**
132
+	 * The post's YAML frontmatter
133
+	 *
134
+	 * Returns String the YAML frontmatter, ready to be written to the file
135
+	 */
136
+	public function front_matter() {
137
+		return "---\n" . spyc_dump( $this->meta() ) . "---\n";
138
+	}
139
+
140
+	/**
141
+	 * Returns the post_content
142
+	 *
143
+	 * Markdownify's the content if applicable
144
+	 */
145
+	public function post_content() {
146
+		$content = $this->post->post_content;
147
+
148
+		if ( function_exists( 'wpmarkdown_html_to_markdown' ) ) {
149
+			$content = wpmarkdown_html_to_markdown( $content );
150
+		} else if ( class_exists( 'WPCom_Markdown' ) ) {
151
+			if ( WPCom_Markdown::get_instance()->is_markdown( $this->post->ID ) ) {
152
+				$content = $this->post->post_content_filtered;
153
+			}
154
+		}
155
+
156
+		return apply_filters( 'wogh_content_export', $content, $this );
157
+	}
158
+
159
+	public function old_github_path() {
160
+		return $this->old_github_path;
161
+	}
162
+
163
+	public function set_old_github_path( $path ) {
164
+		$this->old_github_path = $path;
165
+		update_post_meta( $this->id, '_wogh_github_path', $path );
166
+	}
167
+
168
+
169
+	/**
170
+	 * Retrieves or calculates the proper GitHub path for a given post
171
+	 *
172
+	 * Returns (string) the path relative to repo root
173
+	 */
174
+	public function github_path() {
175
+		$path = $this->github_directory() . $this->github_filename();
176
+
177
+		return $path;
178
+	}
179
+
180
+	/**
181
+	 * Get GitHub directory based on post
182
+	 *
183
+	 * @return string
184
+	 */
185
+	public function github_directory() {
186
+		if ( 'publish' !== $this->status() ) {
187
+			return apply_filters( 'wogh_directory_unpublished', '_drafts/', $this );
188
+		}
189
+
190
+		$name = '';
191
+
192
+		switch ( $this->type() ) {
193
+			case 'post':
194
+				$name = 'posts';
195
+				break;
196
+			case 'page':
197
+				$name = 'pages';
198
+				break;
199
+			default:
200
+				$obj = get_post_type_object( $this->type() );
201
+
202
+				if ( $obj ) {
203
+					$name = strtolower( $obj->labels->name );
204
+				}
205
+
206
+				if ( ! $name ) {
207
+					$name = '';
208
+				}
209
+		}
210
+
211
+		if ( $name ) {
212
+			$name = '_' . $name . '/';
213
+		}
214
+
215
+		return apply_filters( 'wogh_directory_published', $name, $this );
216
+	}
217
+
218
+	/**
219
+	 * Build GitHub filename based on post
220
+	 */
221
+	public function github_filename() {
222
+		if ( 'post' === $this->type() ) {
223
+			$filename = get_the_time( 'Y-m-d-', $this->id ) . $this->get_name() . '.md';
224
+		} else {
225
+			$filename = $this->get_name() . '.md';
226
+		}
227
+
228
+		return apply_filters( 'wogh_filename', $filename, $this );
229
+	}
230
+
231
+	/**
232
+	 * Returns a post slug we can use in the GitHub filename
233
+	 *
234
+	 * @return string
235
+	 */
236
+	protected function get_name() {
237
+		if ( '' !== $this->name() ) {
238
+			return $this->name();
239
+		}
240
+
241
+		return sanitize_title( get_the_title( $this->post ) );
242
+	}
243
+
244
+	/**
245
+	 * is put on github
246
+	 * @return boolean
247
+	 */
248
+	public function is_on_github() {
249
+		$sha = get_post_meta( $this->id, '_wogh_sha', true );
250
+		$github_path = get_post_meta( $this->id, '_wogh_github_path', true );
251
+		if ( $sha && $github_path ) {
252
+			return true;
253
+		}
254
+		return false;
255
+	}
256
+
257
+	/**
258
+	 * Returns the URL for the post on GitHub.
259
+	 *
260
+	 * @return string
261
+	 */
262
+	public function github_view_url() {
263
+		$github_path = get_post_meta( $this->id, '_wogh_github_path', true );
264
+		$repository = $this->api->fetch()->repository();
265
+		$branch = $this->api->fetch()->branch();
266
+
267
+		return "https://github.com/$repository/blob/$branch/$github_path";
268
+	}
269
+
270
+	/**
271
+	 * Returns the URL for the post on GitHub.
272
+	 *
273
+	 * @return string
274
+	 */
275
+	public function github_edit_url() {
276
+		$github_path = get_post_meta( $this->id, '_wogh_github_path', true );
277
+		$repository = $this->api->fetch()->repository();
278
+		$branch = $this->api->fetch()->branch();
279
+
280
+		return "https://github.com/$repository/edit/$branch/$github_path";
281
+	}
282
+
283
+	/**
284
+	 * Retrieve post type directory from blob path.
285
+	 *
286
+	 * @param string $path Path string.
287
+	 *
288
+	 * @return string
289
+	 */
290
+	public function get_directory_from_path( $path ) {
291
+		$directory = explode( '/', $path );
292
+		$directory = count( $directory ) > 0 ? $directory[0] : '';
293
+
294
+		return $directory;
295
+	}
296
+
297
+	/**
298
+	 * Determines the last author to modify the post
299
+	 *
300
+	 * Returns Array an array containing the author name and email
301
+	 */
302
+	public function last_modified_author() {
303
+		if ( $last_id = get_post_meta( $this->id, '_edit_last', true ) ) {
304
+			$user = get_userdata( $last_id );
305
+
306
+			if ( $user ) {
307
+				return array( 'name' => $user->display_name, 'email' => $user->user_email );
308
+			}
309
+		}
310
+
311
+		return array();
312
+	}
313
+
314
+	/**
315
+	 * The post's sha
316
+	 * Cached as post meta, or will make a live call if need be
317
+	 *
318
+	 * Returns String the sha1 hash
319
+	 */
320
+	public function sha() {
321
+		$sha = get_post_meta( $this->id, '_wogh_sha', true );
322
+
323
+		// If we've done a full export and we have no sha
324
+		// then we should try a live check to see if it exists.
325
+		// if ( ! $sha && 'yes' === get_option( '_wogh_fully_exported' ) ) {
326
+
327
+		//  // @todo could we eliminate this by calling down the full tree and searching it
328
+		//  $data = $this->api->fetch()->remote_contents( $this );
329
+
330
+		//  if ( ! is_wp_error( $data ) ) {
331
+		//      update_post_meta( $this->id, '_wogh_sha', $data->sha );
332
+		//      $sha = $data->sha;
333
+		//  }
334
+		// }
335
+
336
+		// if the sha still doesn't exist, then it's empty
337
+		if ( ! $sha || is_wp_error( $sha ) ) {
338
+			$sha = '';
339
+		}
340
+
341
+		return $sha;
342
+	}
343
+
344
+	/**
345
+	 * Save the sha to post
346
+	 *
347
+	 * @param string $sha
348
+	 */
349
+	public function set_sha( $sha ) {
350
+		update_post_meta( $this->id, '_wogh_sha', $sha );
351
+	}
352
+
353
+	/**
354
+	 * The post's metadata
355
+	 *
356
+	 * Returns Array the post's metadata
357
+	 */
358
+	public function meta() {
359
+		$meta = array(
360
+			'ID'           => $this->id,
361
+			'post_title'   => get_the_title( $this->post ),
362
+			'post_name'    => $this->post->post_name,
363
+			'author'       => ( $author = get_userdata( $this->post->post_author ) ) ? $author->display_name : '',
364
+			'post_date'    => $this->post->post_date,
365
+			'post_excerpt' => $this->post->post_excerpt,
366
+			'layout'       => get_post_type( $this->post ),
367
+			'link'         => get_permalink( $this->post ),
368
+			'published'    => 'publish' === $this->status() ? true : false,
369
+			'tags'         => wp_get_post_tags( $this->id, array( 'fields' => 'names' ) ),
370
+			'categories'   => wp_get_post_categories( $this->id, array( 'fields' => 'names' ) )
371
+		);
372
+		if ( empty($this->post->post_name) ) {
373
+			unset($meta['post_name']);
374
+		}
375
+		if ( empty($this->post->post_excerpt) ) {
376
+			unset($meta['post_excerpt']);
377
+		}
378
+		if ( 'yes' == get_option('wogh_ignore_author') ) {
379
+			unset($meta['author']);
380
+		}
381
+
382
+		//convert traditional post_meta values, hide hidden values, skip already populated values
383
+		// foreach ( get_post_custom( $this->id ) as $key => $value ) {
384
+
385
+		//  if ( '_' === substr( $key, 0, 1 ) || isset( $meta[ $key ] ) ) {
386
+		//      continue;
387
+		//  }
388
+
389
+		//  $meta[ $key ] = $value;
390
+
391
+		// }
392
+
393
+		return apply_filters( 'wogh_post_meta', $meta, $this );
394
+	}
395
+
396
+	/**
397
+	 * Returns whether the Post has been saved in the DB yet.
398
+	 *
399
+	 * @return bool
400
+	 */
401
+	public function is_new() {
402
+		return $this->new;
403
+	}
404
+
405
+	/**
406
+	 * Sets the Post's meta.
407
+	 *
408
+	 * @param array $meta
409
+	 */
410
+	public function set_meta( $meta ) {
411
+		$this->meta = $meta;
412
+	}
413
+
414
+	/**
415
+	 * Returns the Post's arguments.
416
+	 *
417
+	 * @return array
418
+	 */
419
+	public function get_args() {
420
+		return $this->args;
421
+	}
422
+
423
+	/**
424
+	 * Returns the Post's meta.
425
+	 *
426
+	 * @return array
427
+	 */
428
+	public function get_meta() {
429
+		return $this->meta;
430
+	}
431
+
432
+	/**
433
+	 * Sets the Post's WP_Post object.
434
+	 *
435
+	 * @param WP_Post $post
436
+	 *
437
+	 * @return $this
438
+	 */
439
+	public function set_post( WP_Post $post ) {
440
+		$this->post = $post;
441
+		$this->id   = $post->ID;
442
+
443
+		return $this;
444
+	}
445
+
446
+	/**
447
+	 * Transforms the Post into a Blob.
448
+	 *
449
+	 * @return Writing_On_GitHub_Blob
450
+	 */
451
+	public function to_blob() {
452
+		$data = new stdClass;
453
+
454
+		$data->path    = $this->github_path();
455
+		$data->content = $this->github_content();
456
+		$data->sha     = $this->sha();
457
+
458
+		return new Writing_On_GitHub_Blob( $data );
459
+	}
460 460
 }
Please login to merge, or discard this patch.
Spacing   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -60,26 +60,26 @@  discard block
 block discarded – undo
60 60
      *
61 61
      * @todo remove database operations from this method
62 62
      */
63
-    public function __construct( $id_or_args, Writing_On_GitHub_Api $api ) {
63
+    public function __construct($id_or_args, Writing_On_GitHub_Api $api) {
64 64
         $this->api = $api;
65 65
 
66
-        if ( is_numeric( $id_or_args ) ) {
66
+        if (is_numeric($id_or_args)) {
67 67
             $this->id   = (int) $id_or_args;
68
-            $this->post = get_post( $this->id );
68
+            $this->post = get_post($this->id);
69 69
             $this->new  = false;
70 70
         }
71 71
 
72
-        if ( is_array( $id_or_args ) ) {
72
+        if (is_array($id_or_args)) {
73 73
             $this->args = $id_or_args;
74 74
 
75
-            if ( isset( $this->args['ID'] ) ) {
76
-                $this->post = get_post( $this->args['ID'] );
75
+            if (isset($this->args['ID'])) {
76
+                $this->post = get_post($this->args['ID']);
77 77
 
78
-                if ( $this->post ) {
78
+                if ($this->post) {
79 79
                     $this->id  = $this->post->ID;
80 80
                     $this->new = false;
81 81
                 } else {
82
-                    unset( $this->args['ID'] );
82
+                    unset($this->args['ID']);
83 83
                 }
84 84
             }
85 85
         }
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
      * @return bool
116 116
      */
117 117
     public function has_password() {
118
-        return ! empty( $this->post->post_password );
118
+        return ! empty($this->post->post_password);
119 119
     }
120 120
 
121 121
     /**
@@ -123,9 +123,9 @@  discard block
 block discarded – undo
123 123
      */
124 124
     public function github_content() {
125 125
         $content = $this->front_matter() . $this->post_content();
126
-        $ending  = apply_filters( 'wogh_line_endings', "\n" );
126
+        $ending  = apply_filters('wogh_line_endings', "\n");
127 127
 
128
-        return preg_replace( '~(*BSR_ANYCRLF)\R~', $ending, $content );
128
+        return preg_replace('~(*BSR_ANYCRLF)\R~', $ending, $content);
129 129
     }
130 130
 
131 131
     /**
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
      * Returns String the YAML frontmatter, ready to be written to the file
135 135
      */
136 136
     public function front_matter() {
137
-        return "---\n" . spyc_dump( $this->meta() ) . "---\n";
137
+        return "---\n" . spyc_dump($this->meta()) . "---\n";
138 138
     }
139 139
 
140 140
     /**
@@ -145,24 +145,24 @@  discard block
 block discarded – undo
145 145
     public function post_content() {
146 146
         $content = $this->post->post_content;
147 147
 
148
-        if ( function_exists( 'wpmarkdown_html_to_markdown' ) ) {
149
-            $content = wpmarkdown_html_to_markdown( $content );
150
-        } else if ( class_exists( 'WPCom_Markdown' ) ) {
151
-            if ( WPCom_Markdown::get_instance()->is_markdown( $this->post->ID ) ) {
148
+        if (function_exists('wpmarkdown_html_to_markdown')) {
149
+            $content = wpmarkdown_html_to_markdown($content);
150
+        } else if (class_exists('WPCom_Markdown')) {
151
+            if (WPCom_Markdown::get_instance()->is_markdown($this->post->ID)) {
152 152
                 $content = $this->post->post_content_filtered;
153 153
             }
154 154
         }
155 155
 
156
-        return apply_filters( 'wogh_content_export', $content, $this );
156
+        return apply_filters('wogh_content_export', $content, $this);
157 157
     }
158 158
 
159 159
     public function old_github_path() {
160 160
         return $this->old_github_path;
161 161
     }
162 162
 
163
-    public function set_old_github_path( $path ) {
163
+    public function set_old_github_path($path) {
164 164
         $this->old_github_path = $path;
165
-        update_post_meta( $this->id, '_wogh_github_path', $path );
165
+        update_post_meta($this->id, '_wogh_github_path', $path);
166 166
     }
167 167
 
168 168
 
@@ -183,13 +183,13 @@  discard block
 block discarded – undo
183 183
      * @return string
184 184
      */
185 185
     public function github_directory() {
186
-        if ( 'publish' !== $this->status() ) {
187
-            return apply_filters( 'wogh_directory_unpublished', '_drafts/', $this );
186
+        if ('publish' !== $this->status()) {
187
+            return apply_filters('wogh_directory_unpublished', '_drafts/', $this);
188 188
         }
189 189
 
190 190
         $name = '';
191 191
 
192
-        switch ( $this->type() ) {
192
+        switch ($this->type()) {
193 193
             case 'post':
194 194
                 $name = 'posts';
195 195
                 break;
@@ -197,35 +197,35 @@  discard block
 block discarded – undo
197 197
                 $name = 'pages';
198 198
                 break;
199 199
             default:
200
-                $obj = get_post_type_object( $this->type() );
200
+                $obj = get_post_type_object($this->type());
201 201
 
202
-                if ( $obj ) {
203
-                    $name = strtolower( $obj->labels->name );
202
+                if ($obj) {
203
+                    $name = strtolower($obj->labels->name);
204 204
                 }
205 205
 
206
-                if ( ! $name ) {
206
+                if ( ! $name) {
207 207
                     $name = '';
208 208
                 }
209 209
         }
210 210
 
211
-        if ( $name ) {
211
+        if ($name) {
212 212
             $name = '_' . $name . '/';
213 213
         }
214 214
 
215
-        return apply_filters( 'wogh_directory_published', $name, $this );
215
+        return apply_filters('wogh_directory_published', $name, $this);
216 216
     }
217 217
 
218 218
     /**
219 219
      * Build GitHub filename based on post
220 220
      */
221 221
     public function github_filename() {
222
-        if ( 'post' === $this->type() ) {
223
-            $filename = get_the_time( 'Y-m-d-', $this->id ) . $this->get_name() . '.md';
222
+        if ('post' === $this->type()) {
223
+            $filename = get_the_time('Y-m-d-', $this->id) . $this->get_name() . '.md';
224 224
         } else {
225 225
             $filename = $this->get_name() . '.md';
226 226
         }
227 227
 
228
-        return apply_filters( 'wogh_filename', $filename, $this );
228
+        return apply_filters('wogh_filename', $filename, $this);
229 229
     }
230 230
 
231 231
     /**
@@ -234,11 +234,11 @@  discard block
 block discarded – undo
234 234
      * @return string
235 235
      */
236 236
     protected function get_name() {
237
-        if ( '' !== $this->name() ) {
237
+        if ('' !== $this->name()) {
238 238
             return $this->name();
239 239
         }
240 240
 
241
-        return sanitize_title( get_the_title( $this->post ) );
241
+        return sanitize_title(get_the_title($this->post));
242 242
     }
243 243
 
244 244
     /**
@@ -246,9 +246,9 @@  discard block
 block discarded – undo
246 246
      * @return boolean
247 247
      */
248 248
     public function is_on_github() {
249
-        $sha = get_post_meta( $this->id, '_wogh_sha', true );
250
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
251
-        if ( $sha && $github_path ) {
249
+        $sha = get_post_meta($this->id, '_wogh_sha', true);
250
+        $github_path = get_post_meta($this->id, '_wogh_github_path', true);
251
+        if ($sha && $github_path) {
252 252
             return true;
253 253
         }
254 254
         return false;
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
      * @return string
261 261
      */
262 262
     public function github_view_url() {
263
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
263
+        $github_path = get_post_meta($this->id, '_wogh_github_path', true);
264 264
         $repository = $this->api->fetch()->repository();
265 265
         $branch = $this->api->fetch()->branch();
266 266
 
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
      * @return string
274 274
      */
275 275
     public function github_edit_url() {
276
-        $github_path = get_post_meta( $this->id, '_wogh_github_path', true );
276
+        $github_path = get_post_meta($this->id, '_wogh_github_path', true);
277 277
         $repository = $this->api->fetch()->repository();
278 278
         $branch = $this->api->fetch()->branch();
279 279
 
@@ -287,9 +287,9 @@  discard block
 block discarded – undo
287 287
      *
288 288
      * @return string
289 289
      */
290
-    public function get_directory_from_path( $path ) {
291
-        $directory = explode( '/', $path );
292
-        $directory = count( $directory ) > 0 ? $directory[0] : '';
290
+    public function get_directory_from_path($path) {
291
+        $directory = explode('/', $path);
292
+        $directory = count($directory) > 0 ? $directory[0] : '';
293 293
 
294 294
         return $directory;
295 295
     }
@@ -300,11 +300,11 @@  discard block
 block discarded – undo
300 300
      * Returns Array an array containing the author name and email
301 301
      */
302 302
     public function last_modified_author() {
303
-        if ( $last_id = get_post_meta( $this->id, '_edit_last', true ) ) {
304
-            $user = get_userdata( $last_id );
303
+        if ($last_id = get_post_meta($this->id, '_edit_last', true)) {
304
+            $user = get_userdata($last_id);
305 305
 
306
-            if ( $user ) {
307
-                return array( 'name' => $user->display_name, 'email' => $user->user_email );
306
+            if ($user) {
307
+                return array('name' => $user->display_name, 'email' => $user->user_email);
308 308
             }
309 309
         }
310 310
 
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
      * Returns String the sha1 hash
319 319
      */
320 320
     public function sha() {
321
-        $sha = get_post_meta( $this->id, '_wogh_sha', true );
321
+        $sha = get_post_meta($this->id, '_wogh_sha', true);
322 322
 
323 323
         // If we've done a full export and we have no sha
324 324
         // then we should try a live check to see if it exists.
@@ -334,7 +334,7 @@  discard block
 block discarded – undo
334 334
         // }
335 335
 
336 336
         // if the sha still doesn't exist, then it's empty
337
-        if ( ! $sha || is_wp_error( $sha ) ) {
337
+        if ( ! $sha || is_wp_error($sha)) {
338 338
             $sha = '';
339 339
         }
340 340
 
@@ -346,8 +346,8 @@  discard block
 block discarded – undo
346 346
      *
347 347
      * @param string $sha
348 348
      */
349
-    public function set_sha( $sha ) {
350
-        update_post_meta( $this->id, '_wogh_sha', $sha );
349
+    public function set_sha($sha) {
350
+        update_post_meta($this->id, '_wogh_sha', $sha);
351 351
     }
352 352
 
353 353
     /**
@@ -358,24 +358,24 @@  discard block
 block discarded – undo
358 358
     public function meta() {
359 359
         $meta = array(
360 360
             'ID'           => $this->id,
361
-            'post_title'   => get_the_title( $this->post ),
361
+            'post_title'   => get_the_title($this->post),
362 362
             'post_name'    => $this->post->post_name,
363
-            'author'       => ( $author = get_userdata( $this->post->post_author ) ) ? $author->display_name : '',
363
+            'author'       => ($author = get_userdata($this->post->post_author)) ? $author->display_name : '',
364 364
             'post_date'    => $this->post->post_date,
365 365
             'post_excerpt' => $this->post->post_excerpt,
366
-            'layout'       => get_post_type( $this->post ),
367
-            'link'         => get_permalink( $this->post ),
366
+            'layout'       => get_post_type($this->post),
367
+            'link'         => get_permalink($this->post),
368 368
             'published'    => 'publish' === $this->status() ? true : false,
369
-            'tags'         => wp_get_post_tags( $this->id, array( 'fields' => 'names' ) ),
370
-            'categories'   => wp_get_post_categories( $this->id, array( 'fields' => 'names' ) )
369
+            'tags'         => wp_get_post_tags($this->id, array('fields' => 'names')),
370
+            'categories'   => wp_get_post_categories($this->id, array('fields' => 'names'))
371 371
         );
372
-        if ( empty($this->post->post_name) ) {
372
+        if (empty($this->post->post_name)) {
373 373
             unset($meta['post_name']);
374 374
         }
375
-        if ( empty($this->post->post_excerpt) ) {
375
+        if (empty($this->post->post_excerpt)) {
376 376
             unset($meta['post_excerpt']);
377 377
         }
378
-        if ( 'yes' == get_option('wogh_ignore_author') ) {
378
+        if ('yes' == get_option('wogh_ignore_author')) {
379 379
             unset($meta['author']);
380 380
         }
381 381
 
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 
391 391
         // }
392 392
 
393
-        return apply_filters( 'wogh_post_meta', $meta, $this );
393
+        return apply_filters('wogh_post_meta', $meta, $this);
394 394
     }
395 395
 
396 396
     /**
@@ -407,7 +407,7 @@  discard block
 block discarded – undo
407 407
      *
408 408
      * @param array $meta
409 409
      */
410
-    public function set_meta( $meta ) {
410
+    public function set_meta($meta) {
411 411
         $this->meta = $meta;
412 412
     }
413 413
 
@@ -436,7 +436,7 @@  discard block
 block discarded – undo
436 436
      *
437 437
      * @return $this
438 438
      */
439
-    public function set_post( WP_Post $post ) {
439
+    public function set_post(WP_Post $post) {
440 440
         $this->post = $post;
441 441
         $this->id   = $post->ID;
442 442
 
@@ -455,6 +455,6 @@  discard block
 block discarded – undo
455 455
         $data->content = $this->github_content();
456 456
         $data->sha     = $this->sha();
457 457
 
458
-        return new Writing_On_GitHub_Blob( $data );
458
+        return new Writing_On_GitHub_Blob($data);
459 459
     }
460 460
 }
Please login to merge, or discard this patch.