Passed
Push — master ( 9a56a9...944433 )
by litefeel
04:14
created
lib/semaphore.php 2 patches
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -9,55 +9,55 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Semaphore {
11 11
 
12
-    /**
13
-     * Sempahore's option key.
14
-     */
15
-    const KEY = 'wogh_semaphore_lock';
16
-
17
-    /**
18
-     * Option key when semaphore is locked.
19
-     */
20
-    const VALUE_LOCKED = 'yes';
21
-
22
-    /**
23
-     * Option key when semaphore is unlocked.
24
-     */
25
-    const VALUE_UNLOCKED = 'no';
26
-
27
-    /**
28
-     * Clean up the old values on instantiation.
29
-     */
30
-    public function __construct() {
31
-        delete_option( self::KEY );
32
-    }
33
-
34
-    /**
35
-     * Checks if the Semaphore is open.
36
-     *
37
-     * Fails to report it's open if the the Api class can't make a call
38
-     * or the push lock has been enabled.
39
-     *
40
-     * @return bool
41
-     */
42
-    public function is_open() {
43
-        if ( self::VALUE_LOCKED === get_transient( self::KEY ) ) {
44
-            return false;
45
-        }
46
-
47
-        return true;
48
-    }
49
-
50
-    /**
51
-     * Enables the push lock.
52
-     */
53
-    public function lock() {
54
-        set_transient( self::KEY, self::VALUE_LOCKED, MINUTE_IN_SECONDS );
55
-    }
56
-
57
-    /**
58
-     * Disables the push lock.
59
-     */
60
-    public function unlock() {
61
-        set_transient( self::KEY, self::VALUE_UNLOCKED, MINUTE_IN_SECONDS );
62
-    }
12
+	/**
13
+	 * Sempahore's option key.
14
+	 */
15
+	const KEY = 'wogh_semaphore_lock';
16
+
17
+	/**
18
+	 * Option key when semaphore is locked.
19
+	 */
20
+	const VALUE_LOCKED = 'yes';
21
+
22
+	/**
23
+	 * Option key when semaphore is unlocked.
24
+	 */
25
+	const VALUE_UNLOCKED = 'no';
26
+
27
+	/**
28
+	 * Clean up the old values on instantiation.
29
+	 */
30
+	public function __construct() {
31
+		delete_option( self::KEY );
32
+	}
33
+
34
+	/**
35
+	 * Checks if the Semaphore is open.
36
+	 *
37
+	 * Fails to report it's open if the the Api class can't make a call
38
+	 * or the push lock has been enabled.
39
+	 *
40
+	 * @return bool
41
+	 */
42
+	public function is_open() {
43
+		if ( self::VALUE_LOCKED === get_transient( self::KEY ) ) {
44
+			return false;
45
+		}
46
+
47
+		return true;
48
+	}
49
+
50
+	/**
51
+	 * Enables the push lock.
52
+	 */
53
+	public function lock() {
54
+		set_transient( self::KEY, self::VALUE_LOCKED, MINUTE_IN_SECONDS );
55
+	}
56
+
57
+	/**
58
+	 * Disables the push lock.
59
+	 */
60
+	public function unlock() {
61
+		set_transient( self::KEY, self::VALUE_UNLOCKED, MINUTE_IN_SECONDS );
62
+	}
63 63
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
      * Clean up the old values on instantiation.
29 29
      */
30 30
     public function __construct() {
31
-        delete_option( self::KEY );
31
+        delete_option(self::KEY);
32 32
     }
33 33
 
34 34
     /**
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
      * @return bool
41 41
      */
42 42
     public function is_open() {
43
-        if ( self::VALUE_LOCKED === get_transient( self::KEY ) ) {
43
+        if (self::VALUE_LOCKED === get_transient(self::KEY)) {
44 44
             return false;
45 45
         }
46 46
 
@@ -51,13 +51,13 @@  discard block
 block discarded – undo
51 51
      * Enables the push lock.
52 52
      */
53 53
     public function lock() {
54
-        set_transient( self::KEY, self::VALUE_LOCKED, MINUTE_IN_SECONDS );
54
+        set_transient(self::KEY, self::VALUE_LOCKED, MINUTE_IN_SECONDS);
55 55
     }
56 56
 
57 57
     /**
58 58
      * Disables the push lock.
59 59
      */
60 60
     public function unlock() {
61
-        set_transient( self::KEY, self::VALUE_UNLOCKED, MINUTE_IN_SECONDS );
61
+        set_transient(self::KEY, self::VALUE_UNLOCKED, MINUTE_IN_SECONDS);
62 62
     }
63 63
 }
Please login to merge, or discard this patch.
lib/database.php 2 patches
Indentation   +508 added lines, -508 removed lines patch added patch discarded remove patch
@@ -9,512 +9,512 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Database {
11 11
 
12
-    /**
13
-     * Application container.
14
-     *
15
-     * @var Writing_On_GitHub
16
-     */
17
-    protected $app;
18
-
19
-    /**
20
-     * Currently whitelisted post types.
21
-     *
22
-     * @var array
23
-     */
24
-    protected $whitelisted_post_types = array( 'post', 'page' );
25
-
26
-    /**
27
-     * Currently whitelisted post statuses.
28
-     *
29
-     * @var array
30
-     */
31
-    protected $whitelisted_post_statuses = array( 'publish' );
32
-
33
-    /**
34
-     * Instantiates a new Database object.
35
-     *
36
-     * @param Writing_On_GitHub $app Application container.
37
-     */
38
-    public function __construct( Writing_On_GitHub $app ) {
39
-        $this->app = $app;
40
-    }
41
-
42
-    /**
43
-     * Queries the database for all of the supported posts.
44
-     *
45
-     * @param  bool $force
46
-     *
47
-     * @return Writing_On_GitHub_Post[]|WP_Error
48
-     */
49
-    public function fetch_all_supported( $force = false ) {
50
-        $args  = array(
51
-            'post_type'   => $this->get_whitelisted_post_types(),
52
-            'post_status' => $this->get_whitelisted_post_statuses(),
53
-            'nopaging'    => true,
54
-            'fields'      => 'ids',
55
-        );
56
-
57
-        $query = new WP_Query( apply_filters( 'wogh_pre_fetch_all_supported', $args ) );
58
-
59
-        $post_ids = $query->get_posts();
60
-
61
-        if ( ! $post_ids ) {
62
-            return new WP_Error(
63
-                'no_results',
64
-                __( 'Querying for supported posts returned no results.', 'writing-on-github' )
65
-            );
66
-        }
67
-
68
-        /* @var Writing_On_GitHub_Post[] $results */
69
-        $results = array();
70
-        foreach ( $post_ids as $post_id ) {
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 ) ) {
74
-
75
-                $results[] = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
76
-            }
77
-        }
78
-
79
-        return $results;
80
-    }
81
-
82
-    /**
83
-     * Queries a post and returns it if it's supported.
84
-     *
85
-     * @param int $post_id Post ID to fetch.
86
-     *
87
-     * @return WP_Error|Writing_On_GitHub_Post
88
-     */
89
-    public function fetch_by_id( $post_id ) {
90
-        $post = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
91
-
92
-        if ( ! $this->is_post_supported( $post ) ) {
93
-            return new WP_Error(
94
-                'unsupported_post',
95
-                sprintf(
96
-                    __(
97
-                        'Post ID %s is not supported by WOGH. See wiki to find out how to add support.',
98
-                        'writing-on-github'
99
-                    ),
100
-                    $post_id
101
-                )
102
-            );
103
-        }
104
-
105
-        return $post;
106
-    }
107
-
108
-    /**
109
-     * Save an post to database
110
-     * and associates their author as well as their latest
111
-     *
112
-     * @param  Writing_On_GitHub_Post $post [description]
113
-     * @return WP_Error|true
114
-     */
115
-    public function save_post( Writing_On_GitHub_Post $post ) {
116
-        $args = apply_filters( 'wogh_pre_import_args', $this->post_args( $post ), $post );
117
-
118
-        remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
119
-        $post_id = $post->is_new() ?
120
-            wp_insert_post( $args, true ) :
121
-            wp_update_post( $args, true );
122
-        add_filter( 'content_save_pre', 'wp_filter_post_kses' );
123
-
124
-        if ( is_wp_error( $post_id ) ) {
125
-            /* @var WP_Error $post_id */
126
-            return $post_id;
127
-        }
128
-
129
-        if ( $post->is_new() ) {
130
-            $author = false;
131
-            $meta = $post->get_meta();
132
-            if ( ! empty( $meta ) && ! empty( $meta['author'] ) ) {
133
-                $author = $meta['author'];
134
-            }
135
-            $user    = $this->fetch_commit_user( $author );
136
-            $user_id = is_wp_error( $user ) ? 0 : $user->ID;
137
-            $this->set_post_author( $post_id, $user_id );
138
-        }
139
-
140
-        $post->set_post( get_post( $post_id ) );
141
-
142
-        $meta = apply_filters( 'wogh_pre_import_meta', $post->get_meta(), $post );
143
-
144
-        update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
145
-
146
-        // unset( $meta['tags'] );
147
-        // unset( $meta['categories'] );
148
-        // unset( $meta['author'] );
149
-        // unset( $meta['post_date'] );
150
-        // unset( $meta['post_excerpt'] );
151
-        // unset( $meta['permalink'] );
152
-        // unset( $meta['link'] );
153
-
154
-        // foreach ( $meta as $key => $value ) {
155
-        //  update_post_meta( $post_id, $key, $value );
156
-        // }
157
-        return true;
158
-    }
159
-
160
-    protected function post_args( $post ) {
161
-        $args = $post->get_args();
162
-        $meta = $post->get_meta();
163
-
164
-        // prevent backslash loss
165
-        $args['post_content'] = addslashes( $args['post_content'] );
166
-
167
-        // update tags
168
-        if ( ! empty( $meta['tags'] ) ) {
169
-            $args['tags_input'] = $meta['tags'];
170
-        }
171
-
172
-        // update categories
173
-        if ( ! empty( $meta['categories'] ) ) {
174
-            $categories = $meta['categories'];
175
-            if ( ! is_array( $categories ) ) {
176
-                $categories = array( $categories );
177
-            }
178
-            $terms = get_terms( array(
179
-                'taxonomy' => 'category',
180
-                'fields' => 'id=>name',
181
-                'hide_empty' => 0,
182
-                'name' => $categories
183
-                )
184
-            );
185
-            $map = array();
186
-            foreach ( $categories as $name ) {
187
-                $map[$name] = 1;
188
-            }
189
-
190
-            $ids = array();
191
-            if ( ! empty( $terms ) ) {
192
-                foreach ( $terms as $id => $name ) {
193
-                    $ids[] = $id;
194
-                    unset( $map[$name] );
195
-                }
196
-            }
197
-
198
-            // create new terms
199
-            if ( ! empty( $map ) ) {
200
-                foreach ( $map as $name => $value ) {
201
-                    $term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
202
-                    // array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
203
-                    $ids[] = $term['term_id'];
204
-                }
205
-            }
206
-
207
-            $args['post_category'] = $ids;
208
-        }
209
-
210
-        return $args;
211
-    }
212
-
213
-    private function get_post_id_by_filename( $filename, $pattern  ) {
214
-        preg_match( $pattern , $filename, $matches );
215
-        $title = $matches[4];
216
-
217
-        $query = new WP_Query( array(
218
-            'name'     => $title,
219
-            'posts_per_page' => 1,
220
-            'post_type' => $this->get_whitelisted_post_types(),
221
-            'fields'         => 'ids',
222
-        ) );
223
-
224
-        $post_id = $query->get_posts();
225
-        $post_id = array_pop( $post_id );
226
-        return $post_id;
227
-    }
228
-
229
-    /**
230
-     * Deletes a post from the database based on its GitHub path.
231
-     *
232
-     * @param string $path Path of Post to delete.
233
-     *
234
-     * @return string|WP_Error
235
-     */
236
-    public function delete_post_by_path( $path ) {
237
-        $query = new WP_Query( array(
238
-            'meta_key'       => '_wogh_github_path',
239
-            'meta_value'     => $path,
240
-            'meta_compare'   => '=',
241
-            'posts_per_page' => 1,
242
-            'fields'         => 'ids',
243
-        ) );
244
-
245
-        $post_id = $query->get_posts();
246
-        $post_id = array_pop( $post_id );
247
-
248
-        if ( ! $post_id ) {
249
-            $parts     = explode( '/', $path );
250
-            $filename  = array_pop( $parts );
251
-            $directory = $parts ? array_shift( $parts ) : '';
252
-
253
-            if ( false !== strpos( $directory, 'post' ) ) {
254
-                $post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
255
-            }
256
-
257
-            if ( ! $post_id ) {
258
-                $post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
259
-            }
260
-        }
261
-
262
-        if ( ! $post_id ) {
263
-            return new WP_Error(
264
-                'path_not_found',
265
-                sprintf(
266
-                    __( 'Post not found for path %s.', 'writing-on-github' ),
267
-                    $path
268
-                )
269
-            );
270
-        }
271
-
272
-        $result = wp_delete_post( $post_id );
273
-
274
-        // If deleting fails...
275
-        if ( false === $result ) {
276
-            $post = get_post( $post_id );
277
-
278
-            // ...and the post both exists and isn't in the trash...
279
-            if ( $post && 'trash' !== $post->post_status ) {
280
-                // ... then something went wrong.
281
-                return new WP_Error(
282
-                    'db_error',
283
-                    sprintf(
284
-                        __( 'Failed to delete post ID %d.', 'writing-on-github' ),
285
-                        $post_id
286
-                    )
287
-                );
288
-            }
289
-        }
290
-
291
-        return sprintf(
292
-            __( 'Successfully deleted post ID %d.', 'writing-on-github' ),
293
-            $post_id
294
-        );
295
-    }
296
-
297
-    public function delete_post( $post_id ) {
298
-        $result = wp_delete_post( $post_id );
299
-
300
-        // If deleting fails...
301
-        if ( false === $result ) {
302
-            $post = get_post( $post_id );
303
-
304
-            // ...and the post both exists and isn't in the trash...
305
-            if ( $post && 'trash' !== $post->post_status ) {
306
-                // ... then something went wrong.
307
-                return new WP_Error(
308
-                    'db_error',
309
-                    sprintf(
310
-                        __( 'Failed to delete post ID %d.', 'writing-on-github' ),
311
-                        $post_id
312
-                    )
313
-                );
314
-            }
315
-        }
316
-
317
-        return sprintf(
318
-            __( 'Successfully deleted post ID %d.', 'writing-on-github' ),
319
-            $post_id
320
-        );
321
-    }
322
-
323
-    /**
324
-     * Returns the list of post type permitted.
325
-     *
326
-     * @return array
327
-     */
328
-    protected function get_whitelisted_post_types() {
329
-        return apply_filters( 'wogh_whitelisted_post_types', $this->whitelisted_post_types );
330
-    }
331
-
332
-    /**
333
-     * Returns the list of post status permitted.
334
-     *
335
-     * @return array
336
-     */
337
-    protected function get_whitelisted_post_statuses() {
338
-        return apply_filters( 'wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses );
339
-    }
340
-
341
-    /**
342
-     * Formats a whitelist array for a query.
343
-     *
344
-     * @param array $whitelist Whitelisted posts to format into query.
345
-     *
346
-     * @return string Whitelist formatted for query
347
-     */
348
-    protected function format_for_query( $whitelist ) {
349
-        foreach ( $whitelist as $key => $value ) {
350
-            $whitelist[ $key ] = "'$value'";
351
-        }
352
-
353
-        return implode( ', ', $whitelist );
354
-    }
355
-
356
-    /**
357
-     * Verifies that both the post's status & type
358
-     * are currently whitelisted
359
-     *
360
-     * @param  Writing_On_GitHub_Post $post Post to verify.
361
-     *
362
-     * @return boolean                          True if supported, false if not.
363
-     */
364
-    protected function is_post_supported( Writing_On_GitHub_Post $post ) {
365
-        if ( wp_is_post_revision( $post->id ) ) {
366
-            return false;
367
-        }
368
-
369
-        // We need to allow trashed posts to be queried, but they are not whitelisted for export.
370
-        if ( ! in_array( $post->status(), $this->get_whitelisted_post_statuses() ) && 'trash' !== $post->status() ) {
371
-            return false;
372
-        }
373
-
374
-        if ( ! in_array( $post->type(), $this->get_whitelisted_post_types() ) ) {
375
-            return false;
376
-        }
377
-
378
-        if ( $post->has_password() ) {
379
-            return false;
380
-        }
381
-
382
-        return apply_filters( 'wogh_is_post_supported', true, $post );
383
-    }
384
-
385
-    /**
386
-     * Retrieves the commit user for a provided display name
387
-     *
388
-     * Searches for a user with provided display name or returns
389
-     * the default user saved in the database.
390
-     *
391
-     * @param string $display_name User display name to search for.
392
-     *
393
-     * @return WP_Error|WP_User
394
-     */
395
-    protected function fetch_commit_user( $display_name ) {
396
-        // If we can't find a user and a default hasn't been set,
397
-        // we're just going to set the revision author to 0.
398
-        $user = false;
399
-
400
-        if ( ! empty( $display_name ) ) {
401
-            $search_string = esc_attr( $display_name );
402
-            $query = new WP_User_Query( array(
403
-                'search'         => "{$search_string}",
404
-                'search_columns' => array(
405
-                    'display_name',
406
-                    'user_nicename',
407
-                    'user_login',
408
-                )
409
-            ) );
410
-            $users = $query->get_results();
411
-            $user = empty($users) ? false : $users[0];
412
-        }
413
-
414
-        if ( ! $user ) {
415
-            // Use the default user.
416
-            $user = get_user_by( 'id', (int) get_option( 'wogh_default_user' ) );
417
-        }
418
-
419
-        if ( ! $user ) {
420
-            return new WP_Error(
421
-                'user_not_found',
422
-                sprintf(
423
-                    __( 'Commit user not found for email %s', 'writing-on-github' ),
424
-                    $email
425
-                )
426
-            );
427
-        }
428
-
429
-        return $user;
430
-    }
431
-
432
-    // /**
433
-    //  * Sets the author latest revision
434
-    //  * of the provided post ID to the provided user.
435
-    //  *
436
-    //  * @param int $post_id Post ID to update revision author.
437
-    //  * @param int $user_id User ID for revision author.
438
-    //  *
439
-    //  * @return string|WP_Error
440
-    //  */
441
-    // protected function set_revision_author( $post_id, $user_id ) {
442
-    //  $revision = wp_get_post_revisions( $post_id );
443
-
444
-    //  if ( ! $revision ) {
445
-    //      $new_revision = wp_save_post_revision( $post_id );
446
-
447
-    //      if ( ! $new_revision || is_wp_error( $new_revision ) ) {
448
-    //          return new WP_Error( 'db_error', 'There was a problem saving a new revision.' );
449
-    //      }
450
-
451
-    //      // `wp_save_post_revision` returns the ID, whereas `get_post_revision` returns the whole object
452
-    //      // in order to be consistent, let's make sure we have the whole object before continuing.
453
-    //      $revision = get_post( $new_revision );
454
-
455
-    //      if ( ! $revision ) {
456
-    //          return new WP_Error( 'db_error', 'There was a problem retrieving the newly recreated revision.' );
457
-    //      }
458
-    //  } else {
459
-    //      $revision = array_shift( $revision );
460
-    //  }
461
-
462
-    //  return $this->set_post_author( $revision->ID, $user_id );
463
-    // }
464
-
465
-    /**
466
-     * Updates the user ID for the provided post ID.
467
-     *
468
-     * Bypassing triggering any hooks, including creating new revisions.
469
-     *
470
-     * @param int $post_id Post ID to update.
471
-     * @param int $user_id User ID to update to.
472
-     *
473
-     * @return string|WP_Error
474
-     */
475
-    protected function set_post_author( $post_id, $user_id ) {
476
-        global $wpdb;
477
-
478
-        $result = $wpdb->update(
479
-            $wpdb->posts,
480
-            array(
481
-                'post_author' => (int) $user_id,
482
-            ),
483
-            array(
484
-                'ID' => (int) $post_id,
485
-            ),
486
-            array( '%d' ),
487
-            array( '%d' )
488
-        );
489
-
490
-        if ( false === $result ) {
491
-            return new WP_Error( 'db_error', $wpdb->last_error );
492
-        }
493
-
494
-        if ( 0 === $result ) {
495
-            return sprintf(
496
-                __( 'No change for post ID %d.', 'writing-on-github' ),
497
-                $post_id
498
-            );
499
-        }
500
-
501
-        clean_post_cache( $post_id );
502
-
503
-        return sprintf(
504
-            __( 'Successfully updated post ID %d.', 'writing-on-github' ),
505
-            $post_id
506
-        );
507
-    }
508
-
509
-    // *
510
-    //  * Update the provided post's blob sha.
511
-    //  *
512
-    //  * @param Writing_On_GitHub_Post $post Post to update.
513
-    //  * @param string                     $sha Sha to update to.
514
-    //  *
515
-    //  * @return bool|int
516
-
517
-    // public function set_post_sha( $post, $sha ) {
518
-    //  return update_post_meta( $post->id, '_wogh_sha', $sha );
519
-    // }
12
+	/**
13
+	 * Application container.
14
+	 *
15
+	 * @var Writing_On_GitHub
16
+	 */
17
+	protected $app;
18
+
19
+	/**
20
+	 * Currently whitelisted post types.
21
+	 *
22
+	 * @var array
23
+	 */
24
+	protected $whitelisted_post_types = array( 'post', 'page' );
25
+
26
+	/**
27
+	 * Currently whitelisted post statuses.
28
+	 *
29
+	 * @var array
30
+	 */
31
+	protected $whitelisted_post_statuses = array( 'publish' );
32
+
33
+	/**
34
+	 * Instantiates a new Database object.
35
+	 *
36
+	 * @param Writing_On_GitHub $app Application container.
37
+	 */
38
+	public function __construct( Writing_On_GitHub $app ) {
39
+		$this->app = $app;
40
+	}
41
+
42
+	/**
43
+	 * Queries the database for all of the supported posts.
44
+	 *
45
+	 * @param  bool $force
46
+	 *
47
+	 * @return Writing_On_GitHub_Post[]|WP_Error
48
+	 */
49
+	public function fetch_all_supported( $force = false ) {
50
+		$args  = array(
51
+			'post_type'   => $this->get_whitelisted_post_types(),
52
+			'post_status' => $this->get_whitelisted_post_statuses(),
53
+			'nopaging'    => true,
54
+			'fields'      => 'ids',
55
+		);
56
+
57
+		$query = new WP_Query( apply_filters( 'wogh_pre_fetch_all_supported', $args ) );
58
+
59
+		$post_ids = $query->get_posts();
60
+
61
+		if ( ! $post_ids ) {
62
+			return new WP_Error(
63
+				'no_results',
64
+				__( 'Querying for supported posts returned no results.', 'writing-on-github' )
65
+			);
66
+		}
67
+
68
+		/* @var Writing_On_GitHub_Post[] $results */
69
+		$results = array();
70
+		foreach ( $post_ids as $post_id ) {
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 ) ) {
74
+
75
+				$results[] = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
76
+			}
77
+		}
78
+
79
+		return $results;
80
+	}
81
+
82
+	/**
83
+	 * Queries a post and returns it if it's supported.
84
+	 *
85
+	 * @param int $post_id Post ID to fetch.
86
+	 *
87
+	 * @return WP_Error|Writing_On_GitHub_Post
88
+	 */
89
+	public function fetch_by_id( $post_id ) {
90
+		$post = new Writing_On_GitHub_Post( $post_id, $this->app->api() );
91
+
92
+		if ( ! $this->is_post_supported( $post ) ) {
93
+			return new WP_Error(
94
+				'unsupported_post',
95
+				sprintf(
96
+					__(
97
+						'Post ID %s is not supported by WOGH. See wiki to find out how to add support.',
98
+						'writing-on-github'
99
+					),
100
+					$post_id
101
+				)
102
+			);
103
+		}
104
+
105
+		return $post;
106
+	}
107
+
108
+	/**
109
+	 * Save an post to database
110
+	 * and associates their author as well as their latest
111
+	 *
112
+	 * @param  Writing_On_GitHub_Post $post [description]
113
+	 * @return WP_Error|true
114
+	 */
115
+	public function save_post( Writing_On_GitHub_Post $post ) {
116
+		$args = apply_filters( 'wogh_pre_import_args', $this->post_args( $post ), $post );
117
+
118
+		remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
119
+		$post_id = $post->is_new() ?
120
+			wp_insert_post( $args, true ) :
121
+			wp_update_post( $args, true );
122
+		add_filter( 'content_save_pre', 'wp_filter_post_kses' );
123
+
124
+		if ( is_wp_error( $post_id ) ) {
125
+			/* @var WP_Error $post_id */
126
+			return $post_id;
127
+		}
128
+
129
+		if ( $post->is_new() ) {
130
+			$author = false;
131
+			$meta = $post->get_meta();
132
+			if ( ! empty( $meta ) && ! empty( $meta['author'] ) ) {
133
+				$author = $meta['author'];
134
+			}
135
+			$user    = $this->fetch_commit_user( $author );
136
+			$user_id = is_wp_error( $user ) ? 0 : $user->ID;
137
+			$this->set_post_author( $post_id, $user_id );
138
+		}
139
+
140
+		$post->set_post( get_post( $post_id ) );
141
+
142
+		$meta = apply_filters( 'wogh_pre_import_meta', $post->get_meta(), $post );
143
+
144
+		update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
145
+
146
+		// unset( $meta['tags'] );
147
+		// unset( $meta['categories'] );
148
+		// unset( $meta['author'] );
149
+		// unset( $meta['post_date'] );
150
+		// unset( $meta['post_excerpt'] );
151
+		// unset( $meta['permalink'] );
152
+		// unset( $meta['link'] );
153
+
154
+		// foreach ( $meta as $key => $value ) {
155
+		//  update_post_meta( $post_id, $key, $value );
156
+		// }
157
+		return true;
158
+	}
159
+
160
+	protected function post_args( $post ) {
161
+		$args = $post->get_args();
162
+		$meta = $post->get_meta();
163
+
164
+		// prevent backslash loss
165
+		$args['post_content'] = addslashes( $args['post_content'] );
166
+
167
+		// update tags
168
+		if ( ! empty( $meta['tags'] ) ) {
169
+			$args['tags_input'] = $meta['tags'];
170
+		}
171
+
172
+		// update categories
173
+		if ( ! empty( $meta['categories'] ) ) {
174
+			$categories = $meta['categories'];
175
+			if ( ! is_array( $categories ) ) {
176
+				$categories = array( $categories );
177
+			}
178
+			$terms = get_terms( array(
179
+				'taxonomy' => 'category',
180
+				'fields' => 'id=>name',
181
+				'hide_empty' => 0,
182
+				'name' => $categories
183
+				)
184
+			);
185
+			$map = array();
186
+			foreach ( $categories as $name ) {
187
+				$map[$name] = 1;
188
+			}
189
+
190
+			$ids = array();
191
+			if ( ! empty( $terms ) ) {
192
+				foreach ( $terms as $id => $name ) {
193
+					$ids[] = $id;
194
+					unset( $map[$name] );
195
+				}
196
+			}
197
+
198
+			// create new terms
199
+			if ( ! empty( $map ) ) {
200
+				foreach ( $map as $name => $value ) {
201
+					$term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
202
+					// array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
203
+					$ids[] = $term['term_id'];
204
+				}
205
+			}
206
+
207
+			$args['post_category'] = $ids;
208
+		}
209
+
210
+		return $args;
211
+	}
212
+
213
+	private function get_post_id_by_filename( $filename, $pattern  ) {
214
+		preg_match( $pattern , $filename, $matches );
215
+		$title = $matches[4];
216
+
217
+		$query = new WP_Query( array(
218
+			'name'     => $title,
219
+			'posts_per_page' => 1,
220
+			'post_type' => $this->get_whitelisted_post_types(),
221
+			'fields'         => 'ids',
222
+		) );
223
+
224
+		$post_id = $query->get_posts();
225
+		$post_id = array_pop( $post_id );
226
+		return $post_id;
227
+	}
228
+
229
+	/**
230
+	 * Deletes a post from the database based on its GitHub path.
231
+	 *
232
+	 * @param string $path Path of Post to delete.
233
+	 *
234
+	 * @return string|WP_Error
235
+	 */
236
+	public function delete_post_by_path( $path ) {
237
+		$query = new WP_Query( array(
238
+			'meta_key'       => '_wogh_github_path',
239
+			'meta_value'     => $path,
240
+			'meta_compare'   => '=',
241
+			'posts_per_page' => 1,
242
+			'fields'         => 'ids',
243
+		) );
244
+
245
+		$post_id = $query->get_posts();
246
+		$post_id = array_pop( $post_id );
247
+
248
+		if ( ! $post_id ) {
249
+			$parts     = explode( '/', $path );
250
+			$filename  = array_pop( $parts );
251
+			$directory = $parts ? array_shift( $parts ) : '';
252
+
253
+			if ( false !== strpos( $directory, 'post' ) ) {
254
+				$post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
255
+			}
256
+
257
+			if ( ! $post_id ) {
258
+				$post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
259
+			}
260
+		}
261
+
262
+		if ( ! $post_id ) {
263
+			return new WP_Error(
264
+				'path_not_found',
265
+				sprintf(
266
+					__( 'Post not found for path %s.', 'writing-on-github' ),
267
+					$path
268
+				)
269
+			);
270
+		}
271
+
272
+		$result = wp_delete_post( $post_id );
273
+
274
+		// If deleting fails...
275
+		if ( false === $result ) {
276
+			$post = get_post( $post_id );
277
+
278
+			// ...and the post both exists and isn't in the trash...
279
+			if ( $post && 'trash' !== $post->post_status ) {
280
+				// ... then something went wrong.
281
+				return new WP_Error(
282
+					'db_error',
283
+					sprintf(
284
+						__( 'Failed to delete post ID %d.', 'writing-on-github' ),
285
+						$post_id
286
+					)
287
+				);
288
+			}
289
+		}
290
+
291
+		return sprintf(
292
+			__( 'Successfully deleted post ID %d.', 'writing-on-github' ),
293
+			$post_id
294
+		);
295
+	}
296
+
297
+	public function delete_post( $post_id ) {
298
+		$result = wp_delete_post( $post_id );
299
+
300
+		// If deleting fails...
301
+		if ( false === $result ) {
302
+			$post = get_post( $post_id );
303
+
304
+			// ...and the post both exists and isn't in the trash...
305
+			if ( $post && 'trash' !== $post->post_status ) {
306
+				// ... then something went wrong.
307
+				return new WP_Error(
308
+					'db_error',
309
+					sprintf(
310
+						__( 'Failed to delete post ID %d.', 'writing-on-github' ),
311
+						$post_id
312
+					)
313
+				);
314
+			}
315
+		}
316
+
317
+		return sprintf(
318
+			__( 'Successfully deleted post ID %d.', 'writing-on-github' ),
319
+			$post_id
320
+		);
321
+	}
322
+
323
+	/**
324
+	 * Returns the list of post type permitted.
325
+	 *
326
+	 * @return array
327
+	 */
328
+	protected function get_whitelisted_post_types() {
329
+		return apply_filters( 'wogh_whitelisted_post_types', $this->whitelisted_post_types );
330
+	}
331
+
332
+	/**
333
+	 * Returns the list of post status permitted.
334
+	 *
335
+	 * @return array
336
+	 */
337
+	protected function get_whitelisted_post_statuses() {
338
+		return apply_filters( 'wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses );
339
+	}
340
+
341
+	/**
342
+	 * Formats a whitelist array for a query.
343
+	 *
344
+	 * @param array $whitelist Whitelisted posts to format into query.
345
+	 *
346
+	 * @return string Whitelist formatted for query
347
+	 */
348
+	protected function format_for_query( $whitelist ) {
349
+		foreach ( $whitelist as $key => $value ) {
350
+			$whitelist[ $key ] = "'$value'";
351
+		}
352
+
353
+		return implode( ', ', $whitelist );
354
+	}
355
+
356
+	/**
357
+	 * Verifies that both the post's status & type
358
+	 * are currently whitelisted
359
+	 *
360
+	 * @param  Writing_On_GitHub_Post $post Post to verify.
361
+	 *
362
+	 * @return boolean                          True if supported, false if not.
363
+	 */
364
+	protected function is_post_supported( Writing_On_GitHub_Post $post ) {
365
+		if ( wp_is_post_revision( $post->id ) ) {
366
+			return false;
367
+		}
368
+
369
+		// We need to allow trashed posts to be queried, but they are not whitelisted for export.
370
+		if ( ! in_array( $post->status(), $this->get_whitelisted_post_statuses() ) && 'trash' !== $post->status() ) {
371
+			return false;
372
+		}
373
+
374
+		if ( ! in_array( $post->type(), $this->get_whitelisted_post_types() ) ) {
375
+			return false;
376
+		}
377
+
378
+		if ( $post->has_password() ) {
379
+			return false;
380
+		}
381
+
382
+		return apply_filters( 'wogh_is_post_supported', true, $post );
383
+	}
384
+
385
+	/**
386
+	 * Retrieves the commit user for a provided display name
387
+	 *
388
+	 * Searches for a user with provided display name or returns
389
+	 * the default user saved in the database.
390
+	 *
391
+	 * @param string $display_name User display name to search for.
392
+	 *
393
+	 * @return WP_Error|WP_User
394
+	 */
395
+	protected function fetch_commit_user( $display_name ) {
396
+		// If we can't find a user and a default hasn't been set,
397
+		// we're just going to set the revision author to 0.
398
+		$user = false;
399
+
400
+		if ( ! empty( $display_name ) ) {
401
+			$search_string = esc_attr( $display_name );
402
+			$query = new WP_User_Query( array(
403
+				'search'         => "{$search_string}",
404
+				'search_columns' => array(
405
+					'display_name',
406
+					'user_nicename',
407
+					'user_login',
408
+				)
409
+			) );
410
+			$users = $query->get_results();
411
+			$user = empty($users) ? false : $users[0];
412
+		}
413
+
414
+		if ( ! $user ) {
415
+			// Use the default user.
416
+			$user = get_user_by( 'id', (int) get_option( 'wogh_default_user' ) );
417
+		}
418
+
419
+		if ( ! $user ) {
420
+			return new WP_Error(
421
+				'user_not_found',
422
+				sprintf(
423
+					__( 'Commit user not found for email %s', 'writing-on-github' ),
424
+					$email
425
+				)
426
+			);
427
+		}
428
+
429
+		return $user;
430
+	}
431
+
432
+	// /**
433
+	//  * Sets the author latest revision
434
+	//  * of the provided post ID to the provided user.
435
+	//  *
436
+	//  * @param int $post_id Post ID to update revision author.
437
+	//  * @param int $user_id User ID for revision author.
438
+	//  *
439
+	//  * @return string|WP_Error
440
+	//  */
441
+	// protected function set_revision_author( $post_id, $user_id ) {
442
+	//  $revision = wp_get_post_revisions( $post_id );
443
+
444
+	//  if ( ! $revision ) {
445
+	//      $new_revision = wp_save_post_revision( $post_id );
446
+
447
+	//      if ( ! $new_revision || is_wp_error( $new_revision ) ) {
448
+	//          return new WP_Error( 'db_error', 'There was a problem saving a new revision.' );
449
+	//      }
450
+
451
+	//      // `wp_save_post_revision` returns the ID, whereas `get_post_revision` returns the whole object
452
+	//      // in order to be consistent, let's make sure we have the whole object before continuing.
453
+	//      $revision = get_post( $new_revision );
454
+
455
+	//      if ( ! $revision ) {
456
+	//          return new WP_Error( 'db_error', 'There was a problem retrieving the newly recreated revision.' );
457
+	//      }
458
+	//  } else {
459
+	//      $revision = array_shift( $revision );
460
+	//  }
461
+
462
+	//  return $this->set_post_author( $revision->ID, $user_id );
463
+	// }
464
+
465
+	/**
466
+	 * Updates the user ID for the provided post ID.
467
+	 *
468
+	 * Bypassing triggering any hooks, including creating new revisions.
469
+	 *
470
+	 * @param int $post_id Post ID to update.
471
+	 * @param int $user_id User ID to update to.
472
+	 *
473
+	 * @return string|WP_Error
474
+	 */
475
+	protected function set_post_author( $post_id, $user_id ) {
476
+		global $wpdb;
477
+
478
+		$result = $wpdb->update(
479
+			$wpdb->posts,
480
+			array(
481
+				'post_author' => (int) $user_id,
482
+			),
483
+			array(
484
+				'ID' => (int) $post_id,
485
+			),
486
+			array( '%d' ),
487
+			array( '%d' )
488
+		);
489
+
490
+		if ( false === $result ) {
491
+			return new WP_Error( 'db_error', $wpdb->last_error );
492
+		}
493
+
494
+		if ( 0 === $result ) {
495
+			return sprintf(
496
+				__( 'No change for post ID %d.', 'writing-on-github' ),
497
+				$post_id
498
+			);
499
+		}
500
+
501
+		clean_post_cache( $post_id );
502
+
503
+		return sprintf(
504
+			__( 'Successfully updated post ID %d.', 'writing-on-github' ),
505
+			$post_id
506
+		);
507
+	}
508
+
509
+	// *
510
+	//  * Update the provided post's blob sha.
511
+	//  *
512
+	//  * @param Writing_On_GitHub_Post $post Post to update.
513
+	//  * @param string                     $sha Sha to update to.
514
+	//  *
515
+	//  * @return bool|int
516
+
517
+	// public function set_post_sha( $post, $sha ) {
518
+	//  return update_post_meta( $post->id, '_wogh_sha', $sha );
519
+	// }
520 520
 }
Please login to merge, or discard this patch.
Spacing   +105 added lines, -106 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(
@@ -112,36 +112,35 @@  discard block
 block discarded – undo
112 112
      * @param  Writing_On_GitHub_Post $post [description]
113 113
      * @return WP_Error|true
114 114
      */
115
-    public function save_post( Writing_On_GitHub_Post $post ) {
116
-        $args = apply_filters( 'wogh_pre_import_args', $this->post_args( $post ), $post );
115
+    public function save_post(Writing_On_GitHub_Post $post) {
116
+        $args = apply_filters('wogh_pre_import_args', $this->post_args($post), $post);
117 117
 
118
-        remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
118
+        remove_filter('content_save_pre', 'wp_filter_post_kses');
119 119
         $post_id = $post->is_new() ?
120
-            wp_insert_post( $args, true ) :
121
-            wp_update_post( $args, true );
122
-        add_filter( 'content_save_pre', 'wp_filter_post_kses' );
120
+            wp_insert_post($args, true) : wp_update_post($args, true);
121
+        add_filter('content_save_pre', 'wp_filter_post_kses');
123 122
 
124
-        if ( is_wp_error( $post_id ) ) {
123
+        if (is_wp_error($post_id)) {
125 124
             /* @var WP_Error $post_id */
126 125
             return $post_id;
127 126
         }
128 127
 
129
-        if ( $post->is_new() ) {
128
+        if ($post->is_new()) {
130 129
             $author = false;
131 130
             $meta = $post->get_meta();
132
-            if ( ! empty( $meta ) && ! empty( $meta['author'] ) ) {
131
+            if ( ! empty($meta) && ! empty($meta['author'])) {
133 132
                 $author = $meta['author'];
134 133
             }
135
-            $user    = $this->fetch_commit_user( $author );
136
-            $user_id = is_wp_error( $user ) ? 0 : $user->ID;
137
-            $this->set_post_author( $post_id, $user_id );
134
+            $user    = $this->fetch_commit_user($author);
135
+            $user_id = is_wp_error($user) ? 0 : $user->ID;
136
+            $this->set_post_author($post_id, $user_id);
138 137
         }
139 138
 
140
-        $post->set_post( get_post( $post_id ) );
139
+        $post->set_post(get_post($post_id));
141 140
 
142
-        $meta = apply_filters( 'wogh_pre_import_meta', $post->get_meta(), $post );
141
+        $meta = apply_filters('wogh_pre_import_meta', $post->get_meta(), $post);
143 142
 
144
-        update_post_meta( $post_id, '_wogh_sha', $meta['_wogh_sha'] );
143
+        update_post_meta($post_id, '_wogh_sha', $meta['_wogh_sha']);
145 144
 
146 145
         // unset( $meta['tags'] );
147 146
         // unset( $meta['categories'] );
@@ -157,25 +156,25 @@  discard block
 block discarded – undo
157 156
         return true;
158 157
     }
159 158
 
160
-    protected function post_args( $post ) {
159
+    protected function post_args($post) {
161 160
         $args = $post->get_args();
162 161
         $meta = $post->get_meta();
163 162
 
164 163
         // prevent backslash loss
165
-        $args['post_content'] = addslashes( $args['post_content'] );
164
+        $args['post_content'] = addslashes($args['post_content']);
166 165
 
167 166
         // update tags
168
-        if ( ! empty( $meta['tags'] ) ) {
167
+        if ( ! empty($meta['tags'])) {
169 168
             $args['tags_input'] = $meta['tags'];
170 169
         }
171 170
 
172 171
         // update categories
173
-        if ( ! empty( $meta['categories'] ) ) {
172
+        if ( ! empty($meta['categories'])) {
174 173
             $categories = $meta['categories'];
175
-            if ( ! is_array( $categories ) ) {
176
-                $categories = array( $categories );
174
+            if ( ! is_array($categories)) {
175
+                $categories = array($categories);
177 176
             }
178
-            $terms = get_terms( array(
177
+            $terms = get_terms(array(
179 178
                 'taxonomy' => 'category',
180 179
                 'fields' => 'id=>name',
181 180
                 'hide_empty' => 0,
@@ -183,22 +182,22 @@  discard block
 block discarded – undo
183 182
                 )
184 183
             );
185 184
             $map = array();
186
-            foreach ( $categories as $name ) {
185
+            foreach ($categories as $name) {
187 186
                 $map[$name] = 1;
188 187
             }
189 188
 
190 189
             $ids = array();
191
-            if ( ! empty( $terms ) ) {
192
-                foreach ( $terms as $id => $name ) {
190
+            if ( ! empty($terms)) {
191
+                foreach ($terms as $id => $name) {
193 192
                     $ids[] = $id;
194
-                    unset( $map[$name] );
193
+                    unset($map[$name]);
195 194
                 }
196 195
             }
197 196
 
198 197
             // create new terms
199
-            if ( ! empty( $map ) ) {
200
-                foreach ( $map as $name => $value ) {
201
-                    $term = wp_insert_term( $name, 'category', array( 'parent' => 0 ) );
198
+            if ( ! empty($map)) {
199
+                foreach ($map as $name => $value) {
200
+                    $term = wp_insert_term($name, 'category', array('parent' => 0));
202 201
                     // array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
203 202
                     $ids[] = $term['term_id'];
204 203
                 }
@@ -210,19 +209,19 @@  discard block
 block discarded – undo
210 209
         return $args;
211 210
     }
212 211
 
213
-    private function get_post_id_by_filename( $filename, $pattern  ) {
214
-        preg_match( $pattern , $filename, $matches );
212
+    private function get_post_id_by_filename($filename, $pattern) {
213
+        preg_match($pattern, $filename, $matches);
215 214
         $title = $matches[4];
216 215
 
217
-        $query = new WP_Query( array(
216
+        $query = new WP_Query(array(
218 217
             'name'     => $title,
219 218
             'posts_per_page' => 1,
220 219
             'post_type' => $this->get_whitelisted_post_types(),
221 220
             'fields'         => 'ids',
222
-        ) );
221
+        ));
223 222
 
224 223
         $post_id = $query->get_posts();
225
-        $post_id = array_pop( $post_id );
224
+        $post_id = array_pop($post_id);
226 225
         return $post_id;
227 226
     }
228 227
 
@@ -233,55 +232,55 @@  discard block
 block discarded – undo
233 232
      *
234 233
      * @return string|WP_Error
235 234
      */
236
-    public function delete_post_by_path( $path ) {
237
-        $query = new WP_Query( array(
235
+    public function delete_post_by_path($path) {
236
+        $query = new WP_Query(array(
238 237
             'meta_key'       => '_wogh_github_path',
239 238
             'meta_value'     => $path,
240 239
             'meta_compare'   => '=',
241 240
             'posts_per_page' => 1,
242 241
             'fields'         => 'ids',
243
-        ) );
242
+        ));
244 243
 
245 244
         $post_id = $query->get_posts();
246
-        $post_id = array_pop( $post_id );
245
+        $post_id = array_pop($post_id);
247 246
 
248
-        if ( ! $post_id ) {
249
-            $parts     = explode( '/', $path );
250
-            $filename  = array_pop( $parts );
251
-            $directory = $parts ? array_shift( $parts ) : '';
247
+        if ( ! $post_id) {
248
+            $parts     = explode('/', $path);
249
+            $filename  = array_pop($parts);
250
+            $directory = $parts ? array_shift($parts) : '';
252 251
 
253
-            if ( false !== strpos( $directory, 'post' ) ) {
254
-                $post_id = get_post_id_by_filename( $filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/' );
252
+            if (false !== strpos($directory, 'post')) {
253
+                $post_id = get_post_id_by_filename($filename, '/([0-9]{4})-([0-9]{2})-([0-9]{2})-(.*)\.md/');
255 254
             }
256 255
 
257
-            if ( ! $post_id ) {
258
-                $post_id = get_post_id_by_filename( $filename, '/(.*)\.md/' );
256
+            if ( ! $post_id) {
257
+                $post_id = get_post_id_by_filename($filename, '/(.*)\.md/');
259 258
             }
260 259
         }
261 260
 
262
-        if ( ! $post_id ) {
261
+        if ( ! $post_id) {
263 262
             return new WP_Error(
264 263
                 'path_not_found',
265 264
                 sprintf(
266
-                    __( 'Post not found for path %s.', 'writing-on-github' ),
265
+                    __('Post not found for path %s.', 'writing-on-github'),
267 266
                     $path
268 267
                 )
269 268
             );
270 269
         }
271 270
 
272
-        $result = wp_delete_post( $post_id );
271
+        $result = wp_delete_post($post_id);
273 272
 
274 273
         // If deleting fails...
275
-        if ( false === $result ) {
276
-            $post = get_post( $post_id );
274
+        if (false === $result) {
275
+            $post = get_post($post_id);
277 276
 
278 277
             // ...and the post both exists and isn't in the trash...
279
-            if ( $post && 'trash' !== $post->post_status ) {
278
+            if ($post && 'trash' !== $post->post_status) {
280 279
                 // ... then something went wrong.
281 280
                 return new WP_Error(
282 281
                     'db_error',
283 282
                     sprintf(
284
-                        __( 'Failed to delete post ID %d.', 'writing-on-github' ),
283
+                        __('Failed to delete post ID %d.', 'writing-on-github'),
285 284
                         $post_id
286 285
                     )
287 286
                 );
@@ -289,25 +288,25 @@  discard block
 block discarded – undo
289 288
         }
290 289
 
291 290
         return sprintf(
292
-            __( 'Successfully deleted post ID %d.', 'writing-on-github' ),
291
+            __('Successfully deleted post ID %d.', 'writing-on-github'),
293 292
             $post_id
294 293
         );
295 294
     }
296 295
 
297
-    public function delete_post( $post_id ) {
298
-        $result = wp_delete_post( $post_id );
296
+    public function delete_post($post_id) {
297
+        $result = wp_delete_post($post_id);
299 298
 
300 299
         // If deleting fails...
301
-        if ( false === $result ) {
302
-            $post = get_post( $post_id );
300
+        if (false === $result) {
301
+            $post = get_post($post_id);
303 302
 
304 303
             // ...and the post both exists and isn't in the trash...
305
-            if ( $post && 'trash' !== $post->post_status ) {
304
+            if ($post && 'trash' !== $post->post_status) {
306 305
                 // ... then something went wrong.
307 306
                 return new WP_Error(
308 307
                     'db_error',
309 308
                     sprintf(
310
-                        __( 'Failed to delete post ID %d.', 'writing-on-github' ),
309
+                        __('Failed to delete post ID %d.', 'writing-on-github'),
311 310
                         $post_id
312 311
                     )
313 312
                 );
@@ -315,7 +314,7 @@  discard block
 block discarded – undo
315 314
         }
316 315
 
317 316
         return sprintf(
318
-            __( 'Successfully deleted post ID %d.', 'writing-on-github' ),
317
+            __('Successfully deleted post ID %d.', 'writing-on-github'),
319 318
             $post_id
320 319
         );
321 320
     }
@@ -326,7 +325,7 @@  discard block
 block discarded – undo
326 325
      * @return array
327 326
      */
328 327
     protected function get_whitelisted_post_types() {
329
-        return apply_filters( 'wogh_whitelisted_post_types', $this->whitelisted_post_types );
328
+        return apply_filters('wogh_whitelisted_post_types', $this->whitelisted_post_types);
330 329
     }
331 330
 
332 331
     /**
@@ -335,7 +334,7 @@  discard block
 block discarded – undo
335 334
      * @return array
336 335
      */
337 336
     protected function get_whitelisted_post_statuses() {
338
-        return apply_filters( 'wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses );
337
+        return apply_filters('wogh_whitelisted_post_statuses', $this->whitelisted_post_statuses);
339 338
     }
340 339
 
341 340
     /**
@@ -345,12 +344,12 @@  discard block
 block discarded – undo
345 344
      *
346 345
      * @return string Whitelist formatted for query
347 346
      */
348
-    protected function format_for_query( $whitelist ) {
349
-        foreach ( $whitelist as $key => $value ) {
350
-            $whitelist[ $key ] = "'$value'";
347
+    protected function format_for_query($whitelist) {
348
+        foreach ($whitelist as $key => $value) {
349
+            $whitelist[$key] = "'$value'";
351 350
         }
352 351
 
353
-        return implode( ', ', $whitelist );
352
+        return implode(', ', $whitelist);
354 353
     }
355 354
 
356 355
     /**
@@ -361,25 +360,25 @@  discard block
 block discarded – undo
361 360
      *
362 361
      * @return boolean                          True if supported, false if not.
363 362
      */
364
-    protected function is_post_supported( Writing_On_GitHub_Post $post ) {
365
-        if ( wp_is_post_revision( $post->id ) ) {
363
+    protected function is_post_supported(Writing_On_GitHub_Post $post) {
364
+        if (wp_is_post_revision($post->id)) {
366 365
             return false;
367 366
         }
368 367
 
369 368
         // We need to allow trashed posts to be queried, but they are not whitelisted for export.
370
-        if ( ! in_array( $post->status(), $this->get_whitelisted_post_statuses() ) && 'trash' !== $post->status() ) {
369
+        if ( ! in_array($post->status(), $this->get_whitelisted_post_statuses()) && 'trash' !== $post->status()) {
371 370
             return false;
372 371
         }
373 372
 
374
-        if ( ! in_array( $post->type(), $this->get_whitelisted_post_types() ) ) {
373
+        if ( ! in_array($post->type(), $this->get_whitelisted_post_types())) {
375 374
             return false;
376 375
         }
377 376
 
378
-        if ( $post->has_password() ) {
377
+        if ($post->has_password()) {
379 378
             return false;
380 379
         }
381 380
 
382
-        return apply_filters( 'wogh_is_post_supported', true, $post );
381
+        return apply_filters('wogh_is_post_supported', true, $post);
383 382
     }
384 383
 
385 384
     /**
@@ -392,35 +391,35 @@  discard block
 block discarded – undo
392 391
      *
393 392
      * @return WP_Error|WP_User
394 393
      */
395
-    protected function fetch_commit_user( $display_name ) {
394
+    protected function fetch_commit_user($display_name) {
396 395
         // If we can't find a user and a default hasn't been set,
397 396
         // we're just going to set the revision author to 0.
398 397
         $user = false;
399 398
 
400
-        if ( ! empty( $display_name ) ) {
401
-            $search_string = esc_attr( $display_name );
402
-            $query = new WP_User_Query( array(
399
+        if ( ! empty($display_name)) {
400
+            $search_string = esc_attr($display_name);
401
+            $query = new WP_User_Query(array(
403 402
                 'search'         => "{$search_string}",
404 403
                 'search_columns' => array(
405 404
                     'display_name',
406 405
                     'user_nicename',
407 406
                     'user_login',
408 407
                 )
409
-            ) );
408
+            ));
410 409
             $users = $query->get_results();
411 410
             $user = empty($users) ? false : $users[0];
412 411
         }
413 412
 
414
-        if ( ! $user ) {
413
+        if ( ! $user) {
415 414
             // Use the default user.
416
-            $user = get_user_by( 'id', (int) get_option( 'wogh_default_user' ) );
415
+            $user = get_user_by('id', (int) get_option('wogh_default_user'));
417 416
         }
418 417
 
419
-        if ( ! $user ) {
418
+        if ( ! $user) {
420 419
             return new WP_Error(
421 420
                 'user_not_found',
422 421
                 sprintf(
423
-                    __( 'Commit user not found for email %s', 'writing-on-github' ),
422
+                    __('Commit user not found for email %s', 'writing-on-github'),
424 423
                     $email
425 424
                 )
426 425
             );
@@ -472,7 +471,7 @@  discard block
 block discarded – undo
472 471
      *
473 472
      * @return string|WP_Error
474 473
      */
475
-    protected function set_post_author( $post_id, $user_id ) {
474
+    protected function set_post_author($post_id, $user_id) {
476 475
         global $wpdb;
477 476
 
478 477
         $result = $wpdb->update(
@@ -483,25 +482,25 @@  discard block
 block discarded – undo
483 482
             array(
484 483
                 'ID' => (int) $post_id,
485 484
             ),
486
-            array( '%d' ),
487
-            array( '%d' )
485
+            array('%d'),
486
+            array('%d')
488 487
         );
489 488
 
490
-        if ( false === $result ) {
491
-            return new WP_Error( 'db_error', $wpdb->last_error );
489
+        if (false === $result) {
490
+            return new WP_Error('db_error', $wpdb->last_error);
492 491
         }
493 492
 
494
-        if ( 0 === $result ) {
493
+        if (0 === $result) {
495 494
             return sprintf(
496
-                __( 'No change for post ID %d.', 'writing-on-github' ),
495
+                __('No change for post ID %d.', 'writing-on-github'),
497 496
                 $post_id
498 497
             );
499 498
         }
500 499
 
501
-        clean_post_cache( $post_id );
500
+        clean_post_cache($post_id);
502 501
 
503 502
         return sprintf(
504
-            __( 'Successfully updated post ID %d.', 'writing-on-github' ),
503
+            __('Successfully updated post ID %d.', 'writing-on-github'),
505 504
             $post_id
506 505
         );
507 506
     }
Please login to merge, or discard this patch.
lib/client/fetch.php 2 patches
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -9,118 +9,118 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Fetch_Client extends Writing_On_GitHub_Base_Client {
11 11
 
12
-    /**
13
-     * Compare a commit by sha with master from the GitHub API
14
-     *
15
-     * @param string $sha Sha for commit to retrieve.
16
-     *
17
-     * @return Writing_On_GitHub_File_Info[]|WP_Error
18
-     */
19
-    public function compare( $sha ) {
20
-        // https://api.github.com/repos/litefeel/testwpsync/compare/861f87e8851b8debb78db548269d29f8da4d94ac...master
21
-        $endpoint = $this->compare_endpoint();
22
-        $branch = $this->branch();
23
-        $data = $this->call( 'GET', "$endpoint/$sha...$branch" );
24
-
25
-        if ( is_wp_error( $data ) ) {
26
-            return $data;
27
-        }
28
-
29
-        $files = array();
30
-        foreach ($data->files as $file) {
31
-            $file->path = $file->filename;
32
-            $files[] = new Writing_On_GitHub_File_Info($file);
33
-        }
34
-
35
-        return $files;
36
-    }
37
-
38
-    /**
39
-     * Calls the content API to get the post's contents and metadata
40
-     *
41
-     * Returns Object the response from the API
42
-     *
43
-     * @param Writing_On_GitHub_Post $post Post to retrieve remote contents for.
44
-     *
45
-     * @return mixed
46
-     */
47
-    public function remote_contents( $post ) {
48
-        return $this->call( 'GET', $this->content_endpoint( $post->github_path() ) );
49
-    }
50
-
51
-
52
-
53
-    public function exists( $path ) {
54
-        $result = $this->call( 'GET', $this->content_endpoint( $path ) );
55
-        if ( is_wp_error( $result ) ) {
56
-            return false;
57
-        }
58
-        return true;
59
-    }
60
-
61
-    /**
62
-     * Retrieves a tree by sha recursively from the GitHub API
63
-     *
64
-     * @param string $sha Commit sha to retrieve tree from.
65
-     *
66
-     * @return Writing_On_GitHub_File_Info[]|WP_Error
67
-     */
68
-    public function tree_recursive( $sha = '_default' ) {
69
-
70
-        if ( '_default' === $sha ) {
71
-            $sha = $this->branch();
72
-        }
73
-
74
-        $data = $this->call( 'GET', $this->tree_endpoint() . '/' . $sha . '?recursive=1' );
75
-
76
-        if ( is_wp_error( $data ) ) {
77
-            return $data;
78
-        }
79
-
80
-        $files = array();
81
-
82
-        foreach ( $data->tree as $index => $thing ) {
83
-            // We need to remove the trees because
84
-            // the recursive tree includes both
85
-            // the subtrees as well the subtrees' blobs.
86
-            if ( 'blob' === $thing->type ) {
87
-                $thing->status = '';
88
-                $files[] = new Writing_On_GitHub_File_Info( $thing );
89
-            }
90
-        }
91
-
92
-        return $files;
93
-    }
94
-
95
-    /**
96
-     * Retrieves the blob data for a given sha
97
-     *
98
-     * @param Writing_On_GitHub_File_Info $fileinfo
99
-     *
100
-     * @return Writing_On_GitHub_Blob|WP_Error
101
-     */
102
-    public function blob( Writing_On_GitHub_File_Info $fileinfo ) {
103
-        $data = $this->call( 'GET', $this->blob_endpoint() . '/' . $fileinfo->sha );
104
-
105
-        if ( is_wp_error( $data ) ) {
106
-            return $data;
107
-        }
108
-
109
-        $data->path = $fileinfo->path;
110
-        return new Writing_On_GitHub_Blob( $data );
111
-    }
112
-
113
-    /**
114
-     * Get blob by path
115
-     * @param  string $path
116
-     * @return Writing_On_GitHub_Blob|WP_Error
117
-     */
118
-    public function blob_by_path( $path ) {
119
-        $result = $this->call( 'GET', $this->content_endpoint( $path ) );
120
-        if ( is_wp_error( $result ) ) {
121
-            return $result;
122
-        }
123
-
124
-        return new Writing_On_GitHub_Blob( $result );
125
-    }
12
+	/**
13
+	 * Compare a commit by sha with master from the GitHub API
14
+	 *
15
+	 * @param string $sha Sha for commit to retrieve.
16
+	 *
17
+	 * @return Writing_On_GitHub_File_Info[]|WP_Error
18
+	 */
19
+	public function compare( $sha ) {
20
+		// https://api.github.com/repos/litefeel/testwpsync/compare/861f87e8851b8debb78db548269d29f8da4d94ac...master
21
+		$endpoint = $this->compare_endpoint();
22
+		$branch = $this->branch();
23
+		$data = $this->call( 'GET', "$endpoint/$sha...$branch" );
24
+
25
+		if ( is_wp_error( $data ) ) {
26
+			return $data;
27
+		}
28
+
29
+		$files = array();
30
+		foreach ($data->files as $file) {
31
+			$file->path = $file->filename;
32
+			$files[] = new Writing_On_GitHub_File_Info($file);
33
+		}
34
+
35
+		return $files;
36
+	}
37
+
38
+	/**
39
+	 * Calls the content API to get the post's contents and metadata
40
+	 *
41
+	 * Returns Object the response from the API
42
+	 *
43
+	 * @param Writing_On_GitHub_Post $post Post to retrieve remote contents for.
44
+	 *
45
+	 * @return mixed
46
+	 */
47
+	public function remote_contents( $post ) {
48
+		return $this->call( 'GET', $this->content_endpoint( $post->github_path() ) );
49
+	}
50
+
51
+
52
+
53
+	public function exists( $path ) {
54
+		$result = $this->call( 'GET', $this->content_endpoint( $path ) );
55
+		if ( is_wp_error( $result ) ) {
56
+			return false;
57
+		}
58
+		return true;
59
+	}
60
+
61
+	/**
62
+	 * Retrieves a tree by sha recursively from the GitHub API
63
+	 *
64
+	 * @param string $sha Commit sha to retrieve tree from.
65
+	 *
66
+	 * @return Writing_On_GitHub_File_Info[]|WP_Error
67
+	 */
68
+	public function tree_recursive( $sha = '_default' ) {
69
+
70
+		if ( '_default' === $sha ) {
71
+			$sha = $this->branch();
72
+		}
73
+
74
+		$data = $this->call( 'GET', $this->tree_endpoint() . '/' . $sha . '?recursive=1' );
75
+
76
+		if ( is_wp_error( $data ) ) {
77
+			return $data;
78
+		}
79
+
80
+		$files = array();
81
+
82
+		foreach ( $data->tree as $index => $thing ) {
83
+			// We need to remove the trees because
84
+			// the recursive tree includes both
85
+			// the subtrees as well the subtrees' blobs.
86
+			if ( 'blob' === $thing->type ) {
87
+				$thing->status = '';
88
+				$files[] = new Writing_On_GitHub_File_Info( $thing );
89
+			}
90
+		}
91
+
92
+		return $files;
93
+	}
94
+
95
+	/**
96
+	 * Retrieves the blob data for a given sha
97
+	 *
98
+	 * @param Writing_On_GitHub_File_Info $fileinfo
99
+	 *
100
+	 * @return Writing_On_GitHub_Blob|WP_Error
101
+	 */
102
+	public function blob( Writing_On_GitHub_File_Info $fileinfo ) {
103
+		$data = $this->call( 'GET', $this->blob_endpoint() . '/' . $fileinfo->sha );
104
+
105
+		if ( is_wp_error( $data ) ) {
106
+			return $data;
107
+		}
108
+
109
+		$data->path = $fileinfo->path;
110
+		return new Writing_On_GitHub_Blob( $data );
111
+	}
112
+
113
+	/**
114
+	 * Get blob by path
115
+	 * @param  string $path
116
+	 * @return Writing_On_GitHub_Blob|WP_Error
117
+	 */
118
+	public function blob_by_path( $path ) {
119
+		$result = $this->call( 'GET', $this->content_endpoint( $path ) );
120
+		if ( is_wp_error( $result ) ) {
121
+			return $result;
122
+		}
123
+
124
+		return new Writing_On_GitHub_Blob( $result );
125
+	}
126 126
 }
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
      *
17 17
      * @return Writing_On_GitHub_File_Info[]|WP_Error
18 18
      */
19
-    public function compare( $sha ) {
19
+    public function compare($sha) {
20 20
         // https://api.github.com/repos/litefeel/testwpsync/compare/861f87e8851b8debb78db548269d29f8da4d94ac...master
21 21
         $endpoint = $this->compare_endpoint();
22 22
         $branch = $this->branch();
23
-        $data = $this->call( 'GET', "$endpoint/$sha...$branch" );
23
+        $data = $this->call('GET', "$endpoint/$sha...$branch");
24 24
 
25
-        if ( is_wp_error( $data ) ) {
25
+        if (is_wp_error($data)) {
26 26
             return $data;
27 27
         }
28 28
 
@@ -44,15 +44,15 @@  discard block
 block discarded – undo
44 44
      *
45 45
      * @return mixed
46 46
      */
47
-    public function remote_contents( $post ) {
48
-        return $this->call( 'GET', $this->content_endpoint( $post->github_path() ) );
47
+    public function remote_contents($post) {
48
+        return $this->call('GET', $this->content_endpoint($post->github_path()));
49 49
     }
50 50
 
51 51
 
52 52
 
53
-    public function exists( $path ) {
54
-        $result = $this->call( 'GET', $this->content_endpoint( $path ) );
55
-        if ( is_wp_error( $result ) ) {
53
+    public function exists($path) {
54
+        $result = $this->call('GET', $this->content_endpoint($path));
55
+        if (is_wp_error($result)) {
56 56
             return false;
57 57
         }
58 58
         return true;
@@ -65,27 +65,27 @@  discard block
 block discarded – undo
65 65
      *
66 66
      * @return Writing_On_GitHub_File_Info[]|WP_Error
67 67
      */
68
-    public function tree_recursive( $sha = '_default' ) {
68
+    public function tree_recursive($sha = '_default') {
69 69
 
70
-        if ( '_default' === $sha ) {
70
+        if ('_default' === $sha) {
71 71
             $sha = $this->branch();
72 72
         }
73 73
 
74
-        $data = $this->call( 'GET', $this->tree_endpoint() . '/' . $sha . '?recursive=1' );
74
+        $data = $this->call('GET', $this->tree_endpoint() . '/' . $sha . '?recursive=1');
75 75
 
76
-        if ( is_wp_error( $data ) ) {
76
+        if (is_wp_error($data)) {
77 77
             return $data;
78 78
         }
79 79
 
80 80
         $files = array();
81 81
 
82
-        foreach ( $data->tree as $index => $thing ) {
82
+        foreach ($data->tree as $index => $thing) {
83 83
             // We need to remove the trees because
84 84
             // the recursive tree includes both
85 85
             // the subtrees as well the subtrees' blobs.
86
-            if ( 'blob' === $thing->type ) {
86
+            if ('blob' === $thing->type) {
87 87
                 $thing->status = '';
88
-                $files[] = new Writing_On_GitHub_File_Info( $thing );
88
+                $files[] = new Writing_On_GitHub_File_Info($thing);
89 89
             }
90 90
         }
91 91
 
@@ -99,15 +99,15 @@  discard block
 block discarded – undo
99 99
      *
100 100
      * @return Writing_On_GitHub_Blob|WP_Error
101 101
      */
102
-    public function blob( Writing_On_GitHub_File_Info $fileinfo ) {
103
-        $data = $this->call( 'GET', $this->blob_endpoint() . '/' . $fileinfo->sha );
102
+    public function blob(Writing_On_GitHub_File_Info $fileinfo) {
103
+        $data = $this->call('GET', $this->blob_endpoint() . '/' . $fileinfo->sha);
104 104
 
105
-        if ( is_wp_error( $data ) ) {
105
+        if (is_wp_error($data)) {
106 106
             return $data;
107 107
         }
108 108
 
109 109
         $data->path = $fileinfo->path;
110
-        return new Writing_On_GitHub_Blob( $data );
110
+        return new Writing_On_GitHub_Blob($data);
111 111
     }
112 112
 
113 113
     /**
@@ -115,12 +115,12 @@  discard block
 block discarded – undo
115 115
      * @param  string $path
116 116
      * @return Writing_On_GitHub_Blob|WP_Error
117 117
      */
118
-    public function blob_by_path( $path ) {
119
-        $result = $this->call( 'GET', $this->content_endpoint( $path ) );
120
-        if ( is_wp_error( $result ) ) {
118
+    public function blob_by_path($path) {
119
+        $result = $this->call('GET', $this->content_endpoint($path));
120
+        if (is_wp_error($result)) {
121 121
             return $result;
122 122
         }
123 123
 
124
-        return new Writing_On_GitHub_Blob( $result );
124
+        return new Writing_On_GitHub_Blob($result);
125 125
     }
126 126
 }
Please login to merge, or discard this patch.
lib/export.php 2 patches
Indentation   +271 added lines, -271 removed lines patch added patch discarded remove patch
@@ -10,275 +10,275 @@
 block discarded – undo
10 10
  */
11 11
 class Writing_On_GitHub_Export {
12 12
 
13
-    /**
14
-     * Application container.
15
-     *
16
-     * @var Writing_On_GitHub
17
-     */
18
-    protected $app;
19
-
20
-    /**
21
-     * Initializes a new export manager.
22
-     *
23
-     * @param Writing_On_GitHub $app Application container.
24
-     */
25
-    public function __construct( Writing_On_GitHub $app ) {
26
-        $this->app = $app;
27
-    }
28
-
29
-    /**
30
-     * Updates all of the current posts in the database on master.
31
-     *
32
-     * @param  bool    $force
33
-     *
34
-     * @return string|WP_Error
35
-     */
36
-    public function full( $force = false ) {
37
-        $posts = $this->app->database()->fetch_all_supported( $force );
38
-
39
-        if ( is_wp_error( $posts ) ) {
40
-            /* @var WP_Error $posts */
41
-            return $posts;
42
-        }
43
-
44
-        $error = '';
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
-        }
53
-
54
-        if ( is_wp_error( $error ) ) {
55
-            /* @var WP_Error $error */
56
-            return $error;
57
-        }
58
-
59
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
60
-    }
61
-
62
-
63
-    /**
64
-     * Check if it exists in github
65
-     * @param  int  $post_id
66
-     * @return boolean
67
-     */
68
-    protected function github_path( $post_id ) {
69
-        $github_path = get_post_meta( $post_id, '_wogh_github_path', true );
70
-
71
-        if ( $github_path && $this->app->api()->fetch()->exists( $github_path ) ) {
72
-            return $github_path;
73
-        }
74
-
75
-        return false;
76
-    }
77
-
78
-    /**
79
-     * Updates the provided post ID in master.
80
-     *
81
-     * @param int $post_id Post ID to update.
82
-     *
83
-     * @return string|WP_Error
84
-     */
85
-    public function update( $post_id ) {
86
-        $post = $this->app->database()->fetch_by_id( $post_id );
87
-
88
-        if ( is_wp_error( $post ) ) {
89
-            /* @var WP_Error $post */
90
-            return $post;
91
-        }
92
-
93
-        if ( 'trash' === $post->status() ) {
94
-            return $this->delete( $post_id );
95
-        }
96
-
97
-        if ( $old_github_path = $this->github_path( $post->id() ) ) {
98
-            error_log("old_github_path: $old_github_path");
99
-            $post->set_old_github_path($old_github_path);
100
-        }
101
-
102
-        $result = $this->export_post( $post );
103
-
104
-        if ( is_wp_error( $result ) ) {
105
-            /* @var WP_Error $result */
106
-            return $result;
107
-        }
108
-
109
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
110
-    }
111
-
112
-    /**
113
-     * Post to blob
114
-     * @param  Writing_On_GitHub_Post $post
115
-     * @return WP_Error|Writing_On_GitHub_Blob
116
-     */
117
-    protected function post_to_blob( Writing_On_GitHub_Post $post ) {
118
-        if ( ! $post->get_blob()
119
-            && $post->old_github_path()
120
-            && wogh_is_dont_export_content() ) {
121
-
122
-
123
-            $blob = $this->app->api()->fetch()->blob_by_path( $post->old_github_path() );
124
-
125
-            if ( is_wp_error( $blob ) ) {
126
-                /** @var WP_Error $blob */
127
-                return $blob;
128
-            }
129
-
130
-            $post->set_blob( $blob );
131
-        }
132
-
133
-        return $post->to_blob();
134
-    }
135
-
136
-    /**
137
-     * Export post to github
138
-     * @param  Writing_On_GitHub_Post $post
139
-     * @return WP_Error|true
140
-     */
141
-    public function export_post( Writing_On_GitHub_Post $post ) {
142
-        // check blob
143
-        $blob = $this->post_to_blob( $post );
144
-        if ( is_wp_error( $blob ) ) {
145
-            /** @var WP_Error $blob */
146
-            return $blob;
147
-        }
148
-
149
-        $result = false;
150
-
151
-        $persist = $this->app->api()->persist();
152
-        $github_path = $post->github_path();
153
-        $old_github_path = $post->old_github_path();
154
-
155
-        if ( $old_github_path && $old_github_path != $github_path ) {
156
-            // rename
157
-            $message = apply_filters(
158
-                'wogh_commit_msg_move_post',
159
-                sprintf(
160
-                    'Move %s to %s via WordPress at %s (%s)',
161
-                    $old_github_path, $github_path,
162
-                    site_url(),
163
-                    get_bloginfo( 'name' )
164
-                )
165
-            ) . $this->get_commit_msg_tag();
166
-
167
-            $result = $persist->delete_file( $post->old_github_path(), $blob->sha(), $message );
168
-            if ( is_wp_error( $result ) ) {
169
-                return $result;
170
-            }
171
-
172
-            $result = $persist->create_file( $blob, $message );
173
-            if ( is_wp_error( $result ) ) {
174
-                return $result;
175
-            }
176
-        } elseif ( ! $old_github_path ) {
177
-            // create new
178
-            $message = apply_filters(
179
-                'wogh_commit_msg_new_post',
180
-                sprintf(
181
-                    'Create new post %s from WordPress at %s (%s)',
182
-                    $github_path,
183
-                    site_url(),
184
-                    get_bloginfo( 'name' )
185
-                )
186
-            ) . $this->get_commit_msg_tag();
187
-            $result = $persist->create_file( $blob, $message );
188
-            if ( is_wp_error( $result ) ) {
189
-                return $result;
190
-            }
191
-        } elseif ( $old_github_path && $old_github_path == $github_path ) {
192
-            // update
193
-            $sha = wogh_git_sha( $blob->content() );
194
-            if ( $sha === $blob->sha() ) {
195
-                // don't export when has not changed
196
-                return true;
197
-            }
198
-            $message = apply_filters(
199
-                'wogh_commit_msg_update_post',
200
-                sprintf(
201
-                    'Update post %s from WordPress at %s (%s)',
202
-                    $github_path,
203
-                    site_url(),
204
-                    get_bloginfo( 'name' )
205
-                )
206
-            ) . $this->get_commit_msg_tag();
207
-            $result = $persist->update_file( $blob, $message );
208
-            if ( is_wp_error( $result ) ) {
209
-                return $result;
210
-            }
211
-        }
212
-
213
-        $sha = $result->content->sha;
214
-        $post->set_sha( $sha );
215
-        $post->set_old_github_path( $github_path );
216
-
217
-        return true;
218
-    }
219
-
220
-    /**
221
-     * Deletes a provided post ID from master.
222
-     *
223
-     * @param int $post_id Post ID to delete.
224
-     *
225
-     * @return string|WP_Error
226
-     */
227
-    public function delete( $post_id ) {
228
-        $post = $this->app->database()->fetch_by_id( $post_id );
229
-
230
-        if ( is_wp_error( $post ) ) {
231
-            /* @var WP_Error $post */
232
-            return $post;
233
-        }
234
-
235
-        $github_path = get_post_meta( $post_id, '_wogh_github_path', true );
236
-
237
-        $message = apply_filters(
238
-            'wogh_commit_msg_delete',
239
-            sprintf(
240
-                'Deleting %s via WordPress at %s (%s)',
241
-                $github_path,
242
-                site_url(),
243
-                get_bloginfo( 'name' )
244
-            ),
245
-            $post
246
-        ) . $this->get_commit_msg_tag();
247
-
248
-        $result = $this->app->api()->persist()->delete_file( $github_path, $post->sha(), $message );
249
-
250
-        if ( is_wp_error( $result ) ) {
251
-            /* @var WP_Error $result */
252
-            return $result;
253
-        }
254
-
255
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
256
-    }
257
-
258
-
259
-    /**
260
-     * Saves the export user to the database.
261
-     *
262
-     * @param int $user_id User ID to export with.
263
-     *
264
-     * @return bool
265
-     */
266
-    public function set_user( $user_id ) {
267
-        return update_option( self::EXPORT_USER_OPTION, (int) $user_id );
268
-    }
269
-
270
-    /**
271
-     * Gets the commit message tag.
272
-     *
273
-     * @return string
274
-     */
275
-    protected function get_commit_msg_tag() {
276
-        $tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
277
-
278
-        if ( ! $tag ) {
279
-            throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
280
-        }
281
-
282
-        return ' - ' . $tag;
283
-    }
13
+	/**
14
+	 * Application container.
15
+	 *
16
+	 * @var Writing_On_GitHub
17
+	 */
18
+	protected $app;
19
+
20
+	/**
21
+	 * Initializes a new export manager.
22
+	 *
23
+	 * @param Writing_On_GitHub $app Application container.
24
+	 */
25
+	public function __construct( Writing_On_GitHub $app ) {
26
+		$this->app = $app;
27
+	}
28
+
29
+	/**
30
+	 * Updates all of the current posts in the database on master.
31
+	 *
32
+	 * @param  bool    $force
33
+	 *
34
+	 * @return string|WP_Error
35
+	 */
36
+	public function full( $force = false ) {
37
+		$posts = $this->app->database()->fetch_all_supported( $force );
38
+
39
+		if ( is_wp_error( $posts ) ) {
40
+			/* @var WP_Error $posts */
41
+			return $posts;
42
+		}
43
+
44
+		$error = '';
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
+		}
53
+
54
+		if ( is_wp_error( $error ) ) {
55
+			/* @var WP_Error $error */
56
+			return $error;
57
+		}
58
+
59
+		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
60
+	}
61
+
62
+
63
+	/**
64
+	 * Check if it exists in github
65
+	 * @param  int  $post_id
66
+	 * @return boolean
67
+	 */
68
+	protected function github_path( $post_id ) {
69
+		$github_path = get_post_meta( $post_id, '_wogh_github_path', true );
70
+
71
+		if ( $github_path && $this->app->api()->fetch()->exists( $github_path ) ) {
72
+			return $github_path;
73
+		}
74
+
75
+		return false;
76
+	}
77
+
78
+	/**
79
+	 * Updates the provided post ID in master.
80
+	 *
81
+	 * @param int $post_id Post ID to update.
82
+	 *
83
+	 * @return string|WP_Error
84
+	 */
85
+	public function update( $post_id ) {
86
+		$post = $this->app->database()->fetch_by_id( $post_id );
87
+
88
+		if ( is_wp_error( $post ) ) {
89
+			/* @var WP_Error $post */
90
+			return $post;
91
+		}
92
+
93
+		if ( 'trash' === $post->status() ) {
94
+			return $this->delete( $post_id );
95
+		}
96
+
97
+		if ( $old_github_path = $this->github_path( $post->id() ) ) {
98
+			error_log("old_github_path: $old_github_path");
99
+			$post->set_old_github_path($old_github_path);
100
+		}
101
+
102
+		$result = $this->export_post( $post );
103
+
104
+		if ( is_wp_error( $result ) ) {
105
+			/* @var WP_Error $result */
106
+			return $result;
107
+		}
108
+
109
+		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
110
+	}
111
+
112
+	/**
113
+	 * Post to blob
114
+	 * @param  Writing_On_GitHub_Post $post
115
+	 * @return WP_Error|Writing_On_GitHub_Blob
116
+	 */
117
+	protected function post_to_blob( Writing_On_GitHub_Post $post ) {
118
+		if ( ! $post->get_blob()
119
+			&& $post->old_github_path()
120
+			&& wogh_is_dont_export_content() ) {
121
+
122
+
123
+			$blob = $this->app->api()->fetch()->blob_by_path( $post->old_github_path() );
124
+
125
+			if ( is_wp_error( $blob ) ) {
126
+				/** @var WP_Error $blob */
127
+				return $blob;
128
+			}
129
+
130
+			$post->set_blob( $blob );
131
+		}
132
+
133
+		return $post->to_blob();
134
+	}
135
+
136
+	/**
137
+	 * Export post to github
138
+	 * @param  Writing_On_GitHub_Post $post
139
+	 * @return WP_Error|true
140
+	 */
141
+	public function export_post( Writing_On_GitHub_Post $post ) {
142
+		// check blob
143
+		$blob = $this->post_to_blob( $post );
144
+		if ( is_wp_error( $blob ) ) {
145
+			/** @var WP_Error $blob */
146
+			return $blob;
147
+		}
148
+
149
+		$result = false;
150
+
151
+		$persist = $this->app->api()->persist();
152
+		$github_path = $post->github_path();
153
+		$old_github_path = $post->old_github_path();
154
+
155
+		if ( $old_github_path && $old_github_path != $github_path ) {
156
+			// rename
157
+			$message = apply_filters(
158
+				'wogh_commit_msg_move_post',
159
+				sprintf(
160
+					'Move %s to %s via WordPress at %s (%s)',
161
+					$old_github_path, $github_path,
162
+					site_url(),
163
+					get_bloginfo( 'name' )
164
+				)
165
+			) . $this->get_commit_msg_tag();
166
+
167
+			$result = $persist->delete_file( $post->old_github_path(), $blob->sha(), $message );
168
+			if ( is_wp_error( $result ) ) {
169
+				return $result;
170
+			}
171
+
172
+			$result = $persist->create_file( $blob, $message );
173
+			if ( is_wp_error( $result ) ) {
174
+				return $result;
175
+			}
176
+		} elseif ( ! $old_github_path ) {
177
+			// create new
178
+			$message = apply_filters(
179
+				'wogh_commit_msg_new_post',
180
+				sprintf(
181
+					'Create new post %s from WordPress at %s (%s)',
182
+					$github_path,
183
+					site_url(),
184
+					get_bloginfo( 'name' )
185
+				)
186
+			) . $this->get_commit_msg_tag();
187
+			$result = $persist->create_file( $blob, $message );
188
+			if ( is_wp_error( $result ) ) {
189
+				return $result;
190
+			}
191
+		} elseif ( $old_github_path && $old_github_path == $github_path ) {
192
+			// update
193
+			$sha = wogh_git_sha( $blob->content() );
194
+			if ( $sha === $blob->sha() ) {
195
+				// don't export when has not changed
196
+				return true;
197
+			}
198
+			$message = apply_filters(
199
+				'wogh_commit_msg_update_post',
200
+				sprintf(
201
+					'Update post %s from WordPress at %s (%s)',
202
+					$github_path,
203
+					site_url(),
204
+					get_bloginfo( 'name' )
205
+				)
206
+			) . $this->get_commit_msg_tag();
207
+			$result = $persist->update_file( $blob, $message );
208
+			if ( is_wp_error( $result ) ) {
209
+				return $result;
210
+			}
211
+		}
212
+
213
+		$sha = $result->content->sha;
214
+		$post->set_sha( $sha );
215
+		$post->set_old_github_path( $github_path );
216
+
217
+		return true;
218
+	}
219
+
220
+	/**
221
+	 * Deletes a provided post ID from master.
222
+	 *
223
+	 * @param int $post_id Post ID to delete.
224
+	 *
225
+	 * @return string|WP_Error
226
+	 */
227
+	public function delete( $post_id ) {
228
+		$post = $this->app->database()->fetch_by_id( $post_id );
229
+
230
+		if ( is_wp_error( $post ) ) {
231
+			/* @var WP_Error $post */
232
+			return $post;
233
+		}
234
+
235
+		$github_path = get_post_meta( $post_id, '_wogh_github_path', true );
236
+
237
+		$message = apply_filters(
238
+			'wogh_commit_msg_delete',
239
+			sprintf(
240
+				'Deleting %s via WordPress at %s (%s)',
241
+				$github_path,
242
+				site_url(),
243
+				get_bloginfo( 'name' )
244
+			),
245
+			$post
246
+		) . $this->get_commit_msg_tag();
247
+
248
+		$result = $this->app->api()->persist()->delete_file( $github_path, $post->sha(), $message );
249
+
250
+		if ( is_wp_error( $result ) ) {
251
+			/* @var WP_Error $result */
252
+			return $result;
253
+		}
254
+
255
+		return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
256
+	}
257
+
258
+
259
+	/**
260
+	 * Saves the export user to the database.
261
+	 *
262
+	 * @param int $user_id User ID to export with.
263
+	 *
264
+	 * @return bool
265
+	 */
266
+	public function set_user( $user_id ) {
267
+		return update_option( self::EXPORT_USER_OPTION, (int) $user_id );
268
+	}
269
+
270
+	/**
271
+	 * Gets the commit message tag.
272
+	 *
273
+	 * @return string
274
+	 */
275
+	protected function get_commit_msg_tag() {
276
+		$tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
277
+
278
+		if ( ! $tag ) {
279
+			throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
280
+		}
281
+
282
+		return ' - ' . $tag;
283
+	}
284 284
 }
Please login to merge, or discard this patch.
Spacing   +61 added lines, -61 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->export_post( $post );
102
+        $result = $this->export_post($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
     /**
@@ -114,20 +114,20 @@  discard block
 block discarded – undo
114 114
      * @param  Writing_On_GitHub_Post $post
115 115
      * @return WP_Error|Writing_On_GitHub_Blob
116 116
      */
117
-    protected function post_to_blob( Writing_On_GitHub_Post $post ) {
117
+    protected function post_to_blob(Writing_On_GitHub_Post $post) {
118 118
         if ( ! $post->get_blob()
119 119
             && $post->old_github_path()
120
-            && wogh_is_dont_export_content() ) {
120
+            && wogh_is_dont_export_content()) {
121 121
 
122 122
 
123
-            $blob = $this->app->api()->fetch()->blob_by_path( $post->old_github_path() );
123
+            $blob = $this->app->api()->fetch()->blob_by_path($post->old_github_path());
124 124
 
125
-            if ( is_wp_error( $blob ) ) {
125
+            if (is_wp_error($blob)) {
126 126
                 /** @var WP_Error $blob */
127 127
                 return $blob;
128 128
             }
129 129
 
130
-            $post->set_blob( $blob );
130
+            $post->set_blob($blob);
131 131
         }
132 132
 
133 133
         return $post->to_blob();
@@ -138,10 +138,10 @@  discard block
 block discarded – undo
138 138
      * @param  Writing_On_GitHub_Post $post
139 139
      * @return WP_Error|true
140 140
      */
141
-    public function export_post( Writing_On_GitHub_Post $post ) {
141
+    public function export_post(Writing_On_GitHub_Post $post) {
142 142
         // check blob
143
-        $blob = $this->post_to_blob( $post );
144
-        if ( is_wp_error( $blob ) ) {
143
+        $blob = $this->post_to_blob($post);
144
+        if (is_wp_error($blob)) {
145 145
             /** @var WP_Error $blob */
146 146
             return $blob;
147 147
         }
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
         $github_path = $post->github_path();
153 153
         $old_github_path = $post->old_github_path();
154 154
 
155
-        if ( $old_github_path && $old_github_path != $github_path ) {
155
+        if ($old_github_path && $old_github_path != $github_path) {
156 156
             // rename
157 157
             $message = apply_filters(
158 158
                 'wogh_commit_msg_move_post',
@@ -160,20 +160,20 @@  discard block
 block discarded – undo
160 160
                     'Move %s to %s via WordPress at %s (%s)',
161 161
                     $old_github_path, $github_path,
162 162
                     site_url(),
163
-                    get_bloginfo( 'name' )
163
+                    get_bloginfo('name')
164 164
                 )
165 165
             ) . $this->get_commit_msg_tag();
166 166
 
167
-            $result = $persist->delete_file( $post->old_github_path(), $blob->sha(), $message );
168
-            if ( is_wp_error( $result ) ) {
167
+            $result = $persist->delete_file($post->old_github_path(), $blob->sha(), $message);
168
+            if (is_wp_error($result)) {
169 169
                 return $result;
170 170
             }
171 171
 
172
-            $result = $persist->create_file( $blob, $message );
173
-            if ( is_wp_error( $result ) ) {
172
+            $result = $persist->create_file($blob, $message);
173
+            if (is_wp_error($result)) {
174 174
                 return $result;
175 175
             }
176
-        } elseif ( ! $old_github_path ) {
176
+        } elseif ( ! $old_github_path) {
177 177
             // create new
178 178
             $message = apply_filters(
179 179
                 'wogh_commit_msg_new_post',
@@ -181,17 +181,17 @@  discard block
 block discarded – undo
181 181
                     'Create new post %s from WordPress at %s (%s)',
182 182
                     $github_path,
183 183
                     site_url(),
184
-                    get_bloginfo( 'name' )
184
+                    get_bloginfo('name')
185 185
                 )
186 186
             ) . $this->get_commit_msg_tag();
187
-            $result = $persist->create_file( $blob, $message );
188
-            if ( is_wp_error( $result ) ) {
187
+            $result = $persist->create_file($blob, $message);
188
+            if (is_wp_error($result)) {
189 189
                 return $result;
190 190
             }
191
-        } elseif ( $old_github_path && $old_github_path == $github_path ) {
191
+        } elseif ($old_github_path && $old_github_path == $github_path) {
192 192
             // update
193
-            $sha = wogh_git_sha( $blob->content() );
194
-            if ( $sha === $blob->sha() ) {
193
+            $sha = wogh_git_sha($blob->content());
194
+            if ($sha === $blob->sha()) {
195 195
                 // don't export when has not changed
196 196
                 return true;
197 197
             }
@@ -201,18 +201,18 @@  discard block
 block discarded – undo
201 201
                     'Update post %s from WordPress at %s (%s)',
202 202
                     $github_path,
203 203
                     site_url(),
204
-                    get_bloginfo( 'name' )
204
+                    get_bloginfo('name')
205 205
                 )
206 206
             ) . $this->get_commit_msg_tag();
207
-            $result = $persist->update_file( $blob, $message );
208
-            if ( is_wp_error( $result ) ) {
207
+            $result = $persist->update_file($blob, $message);
208
+            if (is_wp_error($result)) {
209 209
                 return $result;
210 210
             }
211 211
         }
212 212
 
213 213
         $sha = $result->content->sha;
214
-        $post->set_sha( $sha );
215
-        $post->set_old_github_path( $github_path );
214
+        $post->set_sha($sha);
215
+        $post->set_old_github_path($github_path);
216 216
 
217 217
         return true;
218 218
     }
@@ -224,15 +224,15 @@  discard block
 block discarded – undo
224 224
      *
225 225
      * @return string|WP_Error
226 226
      */
227
-    public function delete( $post_id ) {
228
-        $post = $this->app->database()->fetch_by_id( $post_id );
227
+    public function delete($post_id) {
228
+        $post = $this->app->database()->fetch_by_id($post_id);
229 229
 
230
-        if ( is_wp_error( $post ) ) {
230
+        if (is_wp_error($post)) {
231 231
             /* @var WP_Error $post */
232 232
             return $post;
233 233
         }
234 234
 
235
-        $github_path = get_post_meta( $post_id, '_wogh_github_path', true );
235
+        $github_path = get_post_meta($post_id, '_wogh_github_path', true);
236 236
 
237 237
         $message = apply_filters(
238 238
             'wogh_commit_msg_delete',
@@ -240,19 +240,19 @@  discard block
 block discarded – undo
240 240
                 'Deleting %s via WordPress at %s (%s)',
241 241
                 $github_path,
242 242
                 site_url(),
243
-                get_bloginfo( 'name' )
243
+                get_bloginfo('name')
244 244
             ),
245 245
             $post
246 246
         ) . $this->get_commit_msg_tag();
247 247
 
248
-        $result = $this->app->api()->persist()->delete_file( $github_path, $post->sha(), $message );
248
+        $result = $this->app->api()->persist()->delete_file($github_path, $post->sha(), $message);
249 249
 
250
-        if ( is_wp_error( $result ) ) {
250
+        if (is_wp_error($result)) {
251 251
             /* @var WP_Error $result */
252 252
             return $result;
253 253
         }
254 254
 
255
-        return __( 'Export to GitHub completed successfully.', 'writing-on-github' );
255
+        return __('Export to GitHub completed successfully.', 'writing-on-github');
256 256
     }
257 257
 
258 258
 
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
      *
264 264
      * @return bool
265 265
      */
266
-    public function set_user( $user_id ) {
267
-        return update_option( self::EXPORT_USER_OPTION, (int) $user_id );
266
+    public function set_user($user_id) {
267
+        return update_option(self::EXPORT_USER_OPTION, (int) $user_id);
268 268
     }
269 269
 
270 270
     /**
@@ -273,10 +273,10 @@  discard block
 block discarded – undo
273 273
      * @return string
274 274
      */
275 275
     protected function get_commit_msg_tag() {
276
-        $tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
276
+        $tag = apply_filters('wogh_commit_msg_tag', 'wogh');
277 277
 
278
-        if ( ! $tag ) {
279
-            throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
278
+        if ( ! $tag) {
279
+            throw new Exception(__('Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github'));
280 280
         }
281 281
 
282 282
         return ' - ' . $tag;
Please login to merge, or discard this patch.
lib/blob.php 2 patches
Indentation   +243 added lines, -243 removed lines patch added patch discarded remove patch
@@ -9,247 +9,247 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Blob {
11 11
 
12
-    /**
13
-     * Complete blob content.
14
-     *
15
-     * @var string
16
-     */
17
-    protected $content;
18
-
19
-    /**
20
-     * Blob sha.
21
-     *
22
-     * @var string
23
-     */
24
-    protected $sha;
25
-
26
-    /**
27
-     * Blob path.
28
-     *
29
-     * @var string
30
-     */
31
-    protected $path;
32
-
33
-    /**
34
-     * Post id.
35
-     *
36
-     * @var int
37
-     */
38
-    protected $id;
39
-
40
-    /**
41
-     * Whether the blob has frontmatter.
42
-     *
43
-     * @var boolean
44
-     */
45
-    protected $frontmatter = false;
46
-
47
-    /**
48
-     * The front matter of github post
49
-     * @var string
50
-     */
51
-    protected $front_matter = '';
52
-
53
-    /**
54
-     * Content without front matter
55
-     * @var string
56
-     */
57
-    protected $post_content;
58
-
59
-    /**
60
-     * Instantiates a new Blob object.
61
-     *
62
-     * @param stdClass $data Raw blob data.
63
-     */
64
-    public function __construct( stdClass $data ) {
65
-        $this->interpret_data( $data );
66
-    }
67
-
68
-    public function id() {
69
-        return $this->id;
70
-    }
71
-
72
-    public function set_id($id) {
73
-        $this->id = $id;
74
-    }
75
-
76
-    /**
77
-     * Returns the raw blob content.
78
-     *
79
-     * @return string
80
-     */
81
-    public function content() {
82
-        return $this->content;
83
-    }
84
-
85
-    /**
86
-     * Set's the blob's content.
87
-     *
88
-     * @param string $content Raw blob content.
89
-     * @param bool   $base64 Whether the content is base64 encoded.
90
-     *
91
-     * @return $this
92
-     */
93
-    public function set_content( $content, $base64 = false ) {
94
-        if ( $base64 ) {
95
-            $content = base64_decode( $content );
96
-        }
97
-
98
-        // remove whitespace from the beginning of content,
99
-        // To prevent blank lines before yml
100
-        $this->content = ltrim( $content );
101
-
102
-        $this->frontmatter = '---' === substr( $this->content, 0, 3 );
103
-
104
-        return $this;
105
-    }
106
-    /**
107
-     * Returns the blob sha.
108
-     *
109
-     * @return string
110
-     */
111
-    public function sha() {
112
-        return $this->sha;
113
-    }
114
-
115
-    /**
116
-     * Return's the blob path.
117
-     *
118
-     * @return string
119
-     */
120
-    public function path() {
121
-        return $this->path;
122
-    }
123
-
124
-    /**
125
-     * Whether the blob has frontmatter.
126
-     *
127
-     * @return bool
128
-     */
129
-    public function has_frontmatter() {
130
-        return $this->frontmatter;
131
-    }
132
-
133
-    /**
134
-     * The front matter of github post
135
-     * @return string
136
-     */
137
-    public function front_matter() {
138
-        return $this->front_matter;
139
-    }
140
-
141
-    /**
142
-     * Content without front matter
143
-     * @return string
144
-     */
145
-    public function post_content() {
146
-        if ( ! $this->post_content ) {
147
-            $this->content_import();
148
-        }
149
-        return $this->post_content;
150
-    }
151
-
152
-    /**
153
-     * Returns the formatted/filtered blob content used for import.
154
-     *
155
-     * @return string
156
-     */
157
-    public function content_import() {
158
-        $this->post_content = $content = $this->content();
159
-
160
-        if ( $this->has_frontmatter() ) {
161
-            // Break out content.
162
-            preg_match( '/(^---(.*?)---$(\r\n|\n|\r)?)?(.*)/ms', $content, $matches );
163
-            $this->front_matter = $matches[1];
164
-            $this->post_content = $content = array_pop( $matches );
165
-        }
166
-
167
-        if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
168
-            $content = wpmarkdown_markdown_to_html( $content );
169
-        }
170
-
171
-        /**
172
-         * Filters the content for import.
173
-         */
174
-        return apply_filters( 'wogh_content_import', trim( $content ) );
175
-    }
176
-
177
-    /**
178
-     * Returns the blob meta.
179
-     *
180
-     * @return array
181
-     */
182
-    public function meta() {
183
-        $meta = array();
184
-
185
-        if ( $this->has_frontmatter() ) {
186
-            // Break out meta, if present.
187
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
188
-            array_pop( $matches );
189
-
190
-            $meta = spyc_load( $matches[2] );
191
-            if ( 'yes' == get_option('wogh_ignore_author') ) {
192
-                unset($meta['author']);
193
-            }
194
-            // if ( isset( $meta['link'] ) ) {
195
-            //  $meta['link'] = str_replace( home_url(), '', $meta['link'] );
196
-            // }
197
-        }
198
-
199
-        return $meta;
200
-    }
201
-
202
-    /**
203
-     * Formats the blob into an API call body.
204
-     *
205
-     * @return stdClass
206
-     */
207
-    // public function to_body() {
208
-    //  $data = new stdClass;
209
-
210
-    //  $data->mode = '100644';
211
-    //  $data->type = 'blob';
212
-
213
-    //  $data->path = $this->path();
214
-
215
-    //  if ( $this->sha() ) {
216
-    //      $data->sha = $this->sha();
217
-    //  } else {
218
-    //      $data->content = $this->content();
219
-    //  }
220
-
221
-    //  return $data;
222
-    // }
223
-
224
-
225
-    /**
226
-     * Formats the blob into an API call body.
227
-     *
228
-     * @return stdClass
229
-     */
230
-    public function to_body() {
231
-        $data = new stdClass;
232
-
233
-        // $data->mode = '100644';
234
-        // $data->type = 'blob';
235
-
236
-        $data->path = $this->path();
237
-        $data->content = base64_encode( $this->content() );
238
-        $data->sha = $this->sha;
239
-
240
-        return $data;
241
-    }
242
-
243
-    /**
244
-     * Interprets the blob's data into properties.
245
-     */
246
-    protected function interpret_data( $data ) {
247
-        $this->sha  = isset( $data->sha  ) ? $data->sha  : '';
248
-        $this->path = isset( $data->path ) ? $data->path : '';
249
-
250
-        $this->set_content(
251
-            isset( $data->content ) ? $data->content : '',
252
-            isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
253
-        );
254
-    }
12
+	/**
13
+	 * Complete blob content.
14
+	 *
15
+	 * @var string
16
+	 */
17
+	protected $content;
18
+
19
+	/**
20
+	 * Blob sha.
21
+	 *
22
+	 * @var string
23
+	 */
24
+	protected $sha;
25
+
26
+	/**
27
+	 * Blob path.
28
+	 *
29
+	 * @var string
30
+	 */
31
+	protected $path;
32
+
33
+	/**
34
+	 * Post id.
35
+	 *
36
+	 * @var int
37
+	 */
38
+	protected $id;
39
+
40
+	/**
41
+	 * Whether the blob has frontmatter.
42
+	 *
43
+	 * @var boolean
44
+	 */
45
+	protected $frontmatter = false;
46
+
47
+	/**
48
+	 * The front matter of github post
49
+	 * @var string
50
+	 */
51
+	protected $front_matter = '';
52
+
53
+	/**
54
+	 * Content without front matter
55
+	 * @var string
56
+	 */
57
+	protected $post_content;
58
+
59
+	/**
60
+	 * Instantiates a new Blob object.
61
+	 *
62
+	 * @param stdClass $data Raw blob data.
63
+	 */
64
+	public function __construct( stdClass $data ) {
65
+		$this->interpret_data( $data );
66
+	}
67
+
68
+	public function id() {
69
+		return $this->id;
70
+	}
71
+
72
+	public function set_id($id) {
73
+		$this->id = $id;
74
+	}
75
+
76
+	/**
77
+	 * Returns the raw blob content.
78
+	 *
79
+	 * @return string
80
+	 */
81
+	public function content() {
82
+		return $this->content;
83
+	}
84
+
85
+	/**
86
+	 * Set's the blob's content.
87
+	 *
88
+	 * @param string $content Raw blob content.
89
+	 * @param bool   $base64 Whether the content is base64 encoded.
90
+	 *
91
+	 * @return $this
92
+	 */
93
+	public function set_content( $content, $base64 = false ) {
94
+		if ( $base64 ) {
95
+			$content = base64_decode( $content );
96
+		}
97
+
98
+		// remove whitespace from the beginning of content,
99
+		// To prevent blank lines before yml
100
+		$this->content = ltrim( $content );
101
+
102
+		$this->frontmatter = '---' === substr( $this->content, 0, 3 );
103
+
104
+		return $this;
105
+	}
106
+	/**
107
+	 * Returns the blob sha.
108
+	 *
109
+	 * @return string
110
+	 */
111
+	public function sha() {
112
+		return $this->sha;
113
+	}
114
+
115
+	/**
116
+	 * Return's the blob path.
117
+	 *
118
+	 * @return string
119
+	 */
120
+	public function path() {
121
+		return $this->path;
122
+	}
123
+
124
+	/**
125
+	 * Whether the blob has frontmatter.
126
+	 *
127
+	 * @return bool
128
+	 */
129
+	public function has_frontmatter() {
130
+		return $this->frontmatter;
131
+	}
132
+
133
+	/**
134
+	 * The front matter of github post
135
+	 * @return string
136
+	 */
137
+	public function front_matter() {
138
+		return $this->front_matter;
139
+	}
140
+
141
+	/**
142
+	 * Content without front matter
143
+	 * @return string
144
+	 */
145
+	public function post_content() {
146
+		if ( ! $this->post_content ) {
147
+			$this->content_import();
148
+		}
149
+		return $this->post_content;
150
+	}
151
+
152
+	/**
153
+	 * Returns the formatted/filtered blob content used for import.
154
+	 *
155
+	 * @return string
156
+	 */
157
+	public function content_import() {
158
+		$this->post_content = $content = $this->content();
159
+
160
+		if ( $this->has_frontmatter() ) {
161
+			// Break out content.
162
+			preg_match( '/(^---(.*?)---$(\r\n|\n|\r)?)?(.*)/ms', $content, $matches );
163
+			$this->front_matter = $matches[1];
164
+			$this->post_content = $content = array_pop( $matches );
165
+		}
166
+
167
+		if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
168
+			$content = wpmarkdown_markdown_to_html( $content );
169
+		}
170
+
171
+		/**
172
+		 * Filters the content for import.
173
+		 */
174
+		return apply_filters( 'wogh_content_import', trim( $content ) );
175
+	}
176
+
177
+	/**
178
+	 * Returns the blob meta.
179
+	 *
180
+	 * @return array
181
+	 */
182
+	public function meta() {
183
+		$meta = array();
184
+
185
+		if ( $this->has_frontmatter() ) {
186
+			// Break out meta, if present.
187
+			preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
188
+			array_pop( $matches );
189
+
190
+			$meta = spyc_load( $matches[2] );
191
+			if ( 'yes' == get_option('wogh_ignore_author') ) {
192
+				unset($meta['author']);
193
+			}
194
+			// if ( isset( $meta['link'] ) ) {
195
+			//  $meta['link'] = str_replace( home_url(), '', $meta['link'] );
196
+			// }
197
+		}
198
+
199
+		return $meta;
200
+	}
201
+
202
+	/**
203
+	 * Formats the blob into an API call body.
204
+	 *
205
+	 * @return stdClass
206
+	 */
207
+	// public function to_body() {
208
+	//  $data = new stdClass;
209
+
210
+	//  $data->mode = '100644';
211
+	//  $data->type = 'blob';
212
+
213
+	//  $data->path = $this->path();
214
+
215
+	//  if ( $this->sha() ) {
216
+	//      $data->sha = $this->sha();
217
+	//  } else {
218
+	//      $data->content = $this->content();
219
+	//  }
220
+
221
+	//  return $data;
222
+	// }
223
+
224
+
225
+	/**
226
+	 * Formats the blob into an API call body.
227
+	 *
228
+	 * @return stdClass
229
+	 */
230
+	public function to_body() {
231
+		$data = new stdClass;
232
+
233
+		// $data->mode = '100644';
234
+		// $data->type = 'blob';
235
+
236
+		$data->path = $this->path();
237
+		$data->content = base64_encode( $this->content() );
238
+		$data->sha = $this->sha;
239
+
240
+		return $data;
241
+	}
242
+
243
+	/**
244
+	 * Interprets the blob's data into properties.
245
+	 */
246
+	protected function interpret_data( $data ) {
247
+		$this->sha  = isset( $data->sha  ) ? $data->sha  : '';
248
+		$this->path = isset( $data->path ) ? $data->path : '';
249
+
250
+		$this->set_content(
251
+			isset( $data->content ) ? $data->content : '',
252
+			isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
253
+		);
254
+	}
255 255
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -61,8 +61,8 @@  discard block
 block discarded – undo
61 61
      *
62 62
      * @param stdClass $data Raw blob data.
63 63
      */
64
-    public function __construct( stdClass $data ) {
65
-        $this->interpret_data( $data );
64
+    public function __construct(stdClass $data) {
65
+        $this->interpret_data($data);
66 66
     }
67 67
 
68 68
     public function id() {
@@ -90,16 +90,16 @@  discard block
 block discarded – undo
90 90
      *
91 91
      * @return $this
92 92
      */
93
-    public function set_content( $content, $base64 = false ) {
94
-        if ( $base64 ) {
95
-            $content = base64_decode( $content );
93
+    public function set_content($content, $base64 = false) {
94
+        if ($base64) {
95
+            $content = base64_decode($content);
96 96
         }
97 97
 
98 98
         // remove whitespace from the beginning of content,
99 99
         // To prevent blank lines before yml
100
-        $this->content = ltrim( $content );
100
+        $this->content = ltrim($content);
101 101
 
102
-        $this->frontmatter = '---' === substr( $this->content, 0, 3 );
102
+        $this->frontmatter = '---' === substr($this->content, 0, 3);
103 103
 
104 104
         return $this;
105 105
     }
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
      * @return string
144 144
      */
145 145
     public function post_content() {
146
-        if ( ! $this->post_content ) {
146
+        if ( ! $this->post_content) {
147 147
             $this->content_import();
148 148
         }
149 149
         return $this->post_content;
@@ -157,21 +157,21 @@  discard block
 block discarded – undo
157 157
     public function content_import() {
158 158
         $this->post_content = $content = $this->content();
159 159
 
160
-        if ( $this->has_frontmatter() ) {
160
+        if ($this->has_frontmatter()) {
161 161
             // Break out content.
162
-            preg_match( '/(^---(.*?)---$(\r\n|\n|\r)?)?(.*)/ms', $content, $matches );
162
+            preg_match('/(^---(.*?)---$(\r\n|\n|\r)?)?(.*)/ms', $content, $matches);
163 163
             $this->front_matter = $matches[1];
164
-            $this->post_content = $content = array_pop( $matches );
164
+            $this->post_content = $content = array_pop($matches);
165 165
         }
166 166
 
167
-        if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
168
-            $content = wpmarkdown_markdown_to_html( $content );
167
+        if (function_exists('wpmarkdown_markdown_to_html')) {
168
+            $content = wpmarkdown_markdown_to_html($content);
169 169
         }
170 170
 
171 171
         /**
172 172
          * Filters the content for import.
173 173
          */
174
-        return apply_filters( 'wogh_content_import', trim( $content ) );
174
+        return apply_filters('wogh_content_import', trim($content));
175 175
     }
176 176
 
177 177
     /**
@@ -182,13 +182,13 @@  discard block
 block discarded – undo
182 182
     public function meta() {
183 183
         $meta = array();
184 184
 
185
-        if ( $this->has_frontmatter() ) {
185
+        if ($this->has_frontmatter()) {
186 186
             // Break out meta, if present.
187
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
188
-            array_pop( $matches );
187
+            preg_match('/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches);
188
+            array_pop($matches);
189 189
 
190
-            $meta = spyc_load( $matches[2] );
191
-            if ( 'yes' == get_option('wogh_ignore_author') ) {
190
+            $meta = spyc_load($matches[2]);
191
+            if ('yes' == get_option('wogh_ignore_author')) {
192 192
                 unset($meta['author']);
193 193
             }
194 194
             // if ( isset( $meta['link'] ) ) {
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
         // $data->type = 'blob';
235 235
 
236 236
         $data->path = $this->path();
237
-        $data->content = base64_encode( $this->content() );
237
+        $data->content = base64_encode($this->content());
238 238
         $data->sha = $this->sha;
239 239
 
240 240
         return $data;
@@ -243,13 +243,13 @@  discard block
 block discarded – undo
243 243
     /**
244 244
      * Interprets the blob's data into properties.
245 245
      */
246
-    protected function interpret_data( $data ) {
247
-        $this->sha  = isset( $data->sha  ) ? $data->sha  : '';
248
-        $this->path = isset( $data->path ) ? $data->path : '';
246
+    protected function interpret_data($data) {
247
+        $this->sha  = isset($data->sha) ? $data->sha : '';
248
+        $this->path = isset($data->path) ? $data->path : '';
249 249
 
250 250
         $this->set_content(
251
-            isset( $data->content ) ? $data->content : '',
252
-            isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
251
+            isset($data->content) ? $data->content : '',
252
+            isset($data->encoding) && 'base64' === $data->encoding ? true : false
253 253
         );
254 254
     }
255 255
 }
Please login to merge, or discard this patch.
lib/admin.php 2 patches
Indentation   +237 added lines, -237 removed lines patch added patch discarded remove patch
@@ -9,264 +9,264 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Admin {
11 11
 
12
-    /**
13
-     * plugin file name rel plugin dir.
14
-     * @var string
15
-     */
16
-    protected $plugin_file;
17
-
18
-    /**
19
-     * Hook into GitHub API
20
-     */
21
-    public function __construct( $plugin_file ) {
22
-        $this->plugin_file = $plugin_file;
23
-
24
-        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
25
-        add_action( 'admin_init', array( $this, 'register_settings' ) );
26
-        add_action( 'current_screen', array( $this, 'trigger_cron' ) );
27
-        add_filter( 'plugin_action_links', array($this, 'settings_links'), 10, 2 );
28
-    }
29
-
30
-    /**
31
-     * settings link
32
-     * @param  string[] $links
33
-     * @param  string $file
34
-     * @return string[]
35
-     */
36
-    public function settings_links( $links, $file ) {
37
-        if ( $file != $this->plugin_file ) {
38
-            return $links;
39
-        }
40
-
41
-        $settings_link = '<a href="options-general.php?page=' .
42
-        Writing_On_GitHub::$text_domain . '">' . __( 'Settings', 'writing-on-github' ) . '</a>';
43
-
44
-        array_push( $links, $settings_link );
45
-
46
-        return $links;
47
-    }
48
-
49
-    /**
50
-     * Callback to render the settings page view
51
-     */
52
-    public function settings_page() {
53
-        include dirname( dirname( __FILE__ ) ) . '/views/options.php';
54
-    }
55
-
56
-    /**
57
-     * Callback to register the plugin's options
58
-     */
59
-    public function register_settings() {
60
-        add_settings_section(
61
-            'general',
62
-            'General Settings',
63
-            array( $this, 'section_callback' ),
64
-            Writing_On_GitHub::$text_domain
65
-        );
66
-
67
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
68
-        add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
69
-                'default'   => 'https://api.github.com',
70
-                'name'      => 'wogh_host',
71
-                'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
72
-            )
73
-        );
74
-
75
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
76
-        add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
77
-                'default'   => '',
78
-                'name'      => 'wogh_repository',
79
-                'help_text' => __( 'The GitHub repository to commit to, with owner (<code>[OWNER]/[REPOSITORY]</code>), e.g., <code>github/hubot.github.com</code>. The repository should contain an initial commit, which is satisfied by including a README when you create the repository on GitHub.', 'writing-on-github' ),
80
-            )
81
-        );
82
-
83
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
84
-        add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
85
-                'default'   => 'master',
86
-                'name'      => 'wogh_branch',
87
-                'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
88
-            )
89
-        );
90
-
91
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
92
-        add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
93
-                'default'   => '',
94
-                'name'      => 'wogh_oauth_token',
95
-                'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
96
-            )
97
-        );
98
-
99
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
100
-        add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
101
-                'default'   => '',
102
-                'name'      => 'wogh_secret',
103
-                'help_text' => __( "The webhook's secret phrase. This should be password strength, as it is used to verify the webhook's payload.", 'writing-on-github' ),
104
-            )
105
-        );
106
-
107
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
108
-        add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
109
-                'default'   => '',
110
-                'name'      => 'wogh_default_user',
111
-                'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
112
-            )
113
-        );
114
-
115
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
116
-        add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
117
-                'default'   => '',
118
-                'name'      => 'wogh_ignore_author',
119
-                'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
120
-            )
121
-        );
122
-
123
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
124
-        add_settings_field( 'wogh_dont_export_content', __( 'Don\'t export content', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
125
-                'default'   => '',
126
-                'name'      => 'wogh_dont_export_content',
127
-                'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
128
-            )
129
-        );
130
-
131
-        // register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_metas' );
132
-        // add_settings_field( 'wogh_ignore_metas', __( 'Ignore post metas', 'writing-on-github' ), array( &$this, 'textarea_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
133
-        //      'default'   => '',
134
-        //      'name'      => 'wogh_ignore_metas',
135
-        //      'help_text' => __( 'These meta keys will be ignored and cannot be imported and exported. One meta key per line.', 'writing-on-github' ),
136
-        //  )
137
-        // );
138
-    }
139
-
140
-    /**
141
-     * Callback to render an individual options field
142
-     *
143
-     * @param array $args Field arguments.
144
-     */
145
-    public function field_callback( $args ) {
146
-        include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
147
-    }
148
-
149
-    /**
150
-     * Callback to render the default import user field.
151
-     *
152
-     * @param array $args Field arguments.
153
-     */
154
-    public function user_field_callback( $args ) {
155
-        include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
156
-    }
157
-
158
-    /**
159
-     * Callback to render the textarea field.
160
-     *
161
-     * @param array $args Field arguments.
162
-     */
163
-    public function textarea_field_callback( $args ) {
164
-        include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
165
-    }
166
-
167
-    /**
168
-     * Callback to render the checkbox field.
169
-     *
170
-     * @param array $args Field arguments.
171
-     */
172
-    public function checkbox_field_callback( $args ) {
173
-        include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
174
-    }
175
-
176
-    /**
177
-     * Displays settings messages from background processes
178
-     */
179
-    public function section_callback() {
180
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
181
-            return;
182
-        }
183
-
184
-        if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
12
+	/**
13
+	 * plugin file name rel plugin dir.
14
+	 * @var string
15
+	 */
16
+	protected $plugin_file;
17
+
18
+	/**
19
+	 * Hook into GitHub API
20
+	 */
21
+	public function __construct( $plugin_file ) {
22
+		$this->plugin_file = $plugin_file;
23
+
24
+		add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
25
+		add_action( 'admin_init', array( $this, 'register_settings' ) );
26
+		add_action( 'current_screen', array( $this, 'trigger_cron' ) );
27
+		add_filter( 'plugin_action_links', array($this, 'settings_links'), 10, 2 );
28
+	}
29
+
30
+	/**
31
+	 * settings link
32
+	 * @param  string[] $links
33
+	 * @param  string $file
34
+	 * @return string[]
35
+	 */
36
+	public function settings_links( $links, $file ) {
37
+		if ( $file != $this->plugin_file ) {
38
+			return $links;
39
+		}
40
+
41
+		$settings_link = '<a href="options-general.php?page=' .
42
+		Writing_On_GitHub::$text_domain . '">' . __( 'Settings', 'writing-on-github' ) . '</a>';
43
+
44
+		array_push( $links, $settings_link );
45
+
46
+		return $links;
47
+	}
48
+
49
+	/**
50
+	 * Callback to render the settings page view
51
+	 */
52
+	public function settings_page() {
53
+		include dirname( dirname( __FILE__ ) ) . '/views/options.php';
54
+	}
55
+
56
+	/**
57
+	 * Callback to register the plugin's options
58
+	 */
59
+	public function register_settings() {
60
+		add_settings_section(
61
+			'general',
62
+			'General Settings',
63
+			array( $this, 'section_callback' ),
64
+			Writing_On_GitHub::$text_domain
65
+		);
66
+
67
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
68
+		add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
69
+				'default'   => 'https://api.github.com',
70
+				'name'      => 'wogh_host',
71
+				'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
72
+			)
73
+		);
74
+
75
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
76
+		add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
77
+				'default'   => '',
78
+				'name'      => 'wogh_repository',
79
+				'help_text' => __( 'The GitHub repository to commit to, with owner (<code>[OWNER]/[REPOSITORY]</code>), e.g., <code>github/hubot.github.com</code>. The repository should contain an initial commit, which is satisfied by including a README when you create the repository on GitHub.', 'writing-on-github' ),
80
+			)
81
+		);
82
+
83
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
84
+		add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
85
+				'default'   => 'master',
86
+				'name'      => 'wogh_branch',
87
+				'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
88
+			)
89
+		);
90
+
91
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
92
+		add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
93
+				'default'   => '',
94
+				'name'      => 'wogh_oauth_token',
95
+				'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
96
+			)
97
+		);
98
+
99
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
100
+		add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
101
+				'default'   => '',
102
+				'name'      => 'wogh_secret',
103
+				'help_text' => __( "The webhook's secret phrase. This should be password strength, as it is used to verify the webhook's payload.", 'writing-on-github' ),
104
+			)
105
+		);
106
+
107
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
108
+		add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
109
+				'default'   => '',
110
+				'name'      => 'wogh_default_user',
111
+				'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
112
+			)
113
+		);
114
+
115
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
116
+		add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
117
+				'default'   => '',
118
+				'name'      => 'wogh_ignore_author',
119
+				'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
120
+			)
121
+		);
122
+
123
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
124
+		add_settings_field( 'wogh_dont_export_content', __( 'Don\'t export content', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
125
+				'default'   => '',
126
+				'name'      => 'wogh_dont_export_content',
127
+				'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
128
+			)
129
+		);
130
+
131
+		// register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_metas' );
132
+		// add_settings_field( 'wogh_ignore_metas', __( 'Ignore post metas', 'writing-on-github' ), array( &$this, 'textarea_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
133
+		//      'default'   => '',
134
+		//      'name'      => 'wogh_ignore_metas',
135
+		//      'help_text' => __( 'These meta keys will be ignored and cannot be imported and exported. One meta key per line.', 'writing-on-github' ),
136
+		//  )
137
+		// );
138
+	}
139
+
140
+	/**
141
+	 * Callback to render an individual options field
142
+	 *
143
+	 * @param array $args Field arguments.
144
+	 */
145
+	public function field_callback( $args ) {
146
+		include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
147
+	}
148
+
149
+	/**
150
+	 * Callback to render the default import user field.
151
+	 *
152
+	 * @param array $args Field arguments.
153
+	 */
154
+	public function user_field_callback( $args ) {
155
+		include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
156
+	}
157
+
158
+	/**
159
+	 * Callback to render the textarea field.
160
+	 *
161
+	 * @param array $args Field arguments.
162
+	 */
163
+	public function textarea_field_callback( $args ) {
164
+		include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
165
+	}
166
+
167
+	/**
168
+	 * Callback to render the checkbox field.
169
+	 *
170
+	 * @param array $args Field arguments.
171
+	 */
172
+	public function checkbox_field_callback( $args ) {
173
+		include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
174
+	}
175
+
176
+	/**
177
+	 * Displays settings messages from background processes
178
+	 */
179
+	public function section_callback() {
180
+		if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
181
+			return;
182
+		}
183
+
184
+		if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
185 185
             <div class="updated">
186 186
                 <p><?php esc_html_e( 'Export to GitHub started.', 'writing-on-github' ); ?></p>
187 187
             </div><?php
188
-            delete_option( '_wogh_export_started' );
189
-        }
188
+			delete_option( '_wogh_export_started' );
189
+		}
190 190
 
191
-        if ( $message = get_option( '_wogh_export_error' ) ) { ?>
191
+		if ( $message = get_option( '_wogh_export_error' ) ) { ?>
192 192
             <div class="error">
193 193
                 <p><?php esc_html_e( 'Export to GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
194 194
             </div><?php
195
-            delete_option( '_wogh_export_error' );
196
-        }
195
+			delete_option( '_wogh_export_error' );
196
+		}
197 197
 
198
-        if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
198
+		if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
199 199
             <div class="updated">
200 200
                 <p><?php esc_html_e( 'Export to GitHub completed successfully.', 'writing-on-github' );?></p>
201 201
             </div><?php
202
-            delete_option( '_wogh_export_complete' );
203
-        }
202
+			delete_option( '_wogh_export_complete' );
203
+		}
204 204
 
205
-        if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
205
+		if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
206 206
             <div class="updated">
207 207
             <p><?php esc_html_e( 'Import from GitHub started.', 'writing-on-github' ); ?></p>
208 208
             </div><?php
209
-            delete_option( '_wogh_import_started' );
210
-        }
209
+			delete_option( '_wogh_import_started' );
210
+		}
211 211
 
212
-        if ( $message = get_option( '_wogh_import_error' ) ) { ?>
212
+		if ( $message = get_option( '_wogh_import_error' ) ) { ?>
213 213
             <div class="error">
214 214
             <p><?php esc_html_e( 'Import from GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
215 215
             </div><?php
216
-            delete_option( '_wogh_import_error' );
217
-        }
216
+			delete_option( '_wogh_import_error' );
217
+		}
218 218
 
219
-        if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
219
+		if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
220 220
             <div class="updated">
221 221
             <p><?php esc_html_e( 'Import from GitHub completed successfully.', 'writing-on-github' );?></p>
222 222
             </div><?php
223
-            delete_option( '_wogh_import_complete' );
224
-        }
225
-    }
226
-
227
-    /**
228
-     * Add options menu to admin navbar
229
-     */
230
-    public function add_admin_menu() {
231
-        add_options_page(
232
-            __( 'Writing On GitHub', 'writing-on-github' ),
233
-            __( 'Writing On GitHub', 'writing-on-github' ),
234
-            'manage_options',
235
-            Writing_On_GitHub::$text_domain,
236
-            array( $this, 'settings_page' )
237
-        );
238
-    }
239
-
240
-    /**
241
-     * Admin callback to trigger import/export because WordPress admin routing lol
242
-     */
243
-    public function trigger_cron() {
244
-        if ( ! current_user_can( 'manage_options' ) ) {
245
-            return;
246
-        }
247
-
248
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
249
-            return;
250
-        }
251
-
252
-        if ( ! isset( $_GET['action'] ) ) {
253
-            return;
254
-        }
255
-
256
-        if ( 'export' === $_GET['action'] ) {
257
-            Writing_On_GitHub::$instance->start_export();
258
-        }
259
-        if ( 'force_export' === $_GET['action'] ) {
260
-            Writing_On_GitHub::$instance->start_export(true);
261
-        }
262
-        if ( 'import' === $_GET['action'] ) {
263
-            Writing_On_GitHub::$instance->start_import();
264
-        }
265
-        if ( 'force_import' === $_GET['action'] ) {
266
-            Writing_On_GitHub::$instance->start_import(true);
267
-        }
268
-
269
-        wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
270
-        die;
271
-    }
223
+			delete_option( '_wogh_import_complete' );
224
+		}
225
+	}
226
+
227
+	/**
228
+	 * Add options menu to admin navbar
229
+	 */
230
+	public function add_admin_menu() {
231
+		add_options_page(
232
+			__( 'Writing On GitHub', 'writing-on-github' ),
233
+			__( 'Writing On GitHub', 'writing-on-github' ),
234
+			'manage_options',
235
+			Writing_On_GitHub::$text_domain,
236
+			array( $this, 'settings_page' )
237
+		);
238
+	}
239
+
240
+	/**
241
+	 * Admin callback to trigger import/export because WordPress admin routing lol
242
+	 */
243
+	public function trigger_cron() {
244
+		if ( ! current_user_can( 'manage_options' ) ) {
245
+			return;
246
+		}
247
+
248
+		if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
249
+			return;
250
+		}
251
+
252
+		if ( ! isset( $_GET['action'] ) ) {
253
+			return;
254
+		}
255
+
256
+		if ( 'export' === $_GET['action'] ) {
257
+			Writing_On_GitHub::$instance->start_export();
258
+		}
259
+		if ( 'force_export' === $_GET['action'] ) {
260
+			Writing_On_GitHub::$instance->start_export(true);
261
+		}
262
+		if ( 'import' === $_GET['action'] ) {
263
+			Writing_On_GitHub::$instance->start_import();
264
+		}
265
+		if ( 'force_import' === $_GET['action'] ) {
266
+			Writing_On_GitHub::$instance->start_import(true);
267
+		}
268
+
269
+		wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
270
+		die;
271
+	}
272 272
 }
Please login to merge, or discard this patch.
Spacing   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -18,13 +18,13 @@  discard block
 block discarded – undo
18 18
     /**
19 19
      * Hook into GitHub API
20 20
      */
21
-    public function __construct( $plugin_file ) {
21
+    public function __construct($plugin_file) {
22 22
         $this->plugin_file = $plugin_file;
23 23
 
24
-        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
25
-        add_action( 'admin_init', array( $this, 'register_settings' ) );
26
-        add_action( 'current_screen', array( $this, 'trigger_cron' ) );
27
-        add_filter( 'plugin_action_links', array($this, 'settings_links'), 10, 2 );
24
+        add_action('admin_menu', array($this, 'add_admin_menu'));
25
+        add_action('admin_init', array($this, 'register_settings'));
26
+        add_action('current_screen', array($this, 'trigger_cron'));
27
+        add_filter('plugin_action_links', array($this, 'settings_links'), 10, 2);
28 28
     }
29 29
 
30 30
     /**
@@ -33,15 +33,15 @@  discard block
 block discarded – undo
33 33
      * @param  string $file
34 34
      * @return string[]
35 35
      */
36
-    public function settings_links( $links, $file ) {
37
-        if ( $file != $this->plugin_file ) {
36
+    public function settings_links($links, $file) {
37
+        if ($file != $this->plugin_file) {
38 38
             return $links;
39 39
         }
40 40
 
41 41
         $settings_link = '<a href="options-general.php?page=' .
42
-        Writing_On_GitHub::$text_domain . '">' . __( 'Settings', 'writing-on-github' ) . '</a>';
42
+        Writing_On_GitHub::$text_domain . '">' . __('Settings', 'writing-on-github') . '</a>';
43 43
 
44
-        array_push( $links, $settings_link );
44
+        array_push($links, $settings_link);
45 45
 
46 46
         return $links;
47 47
     }
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
      * Callback to render the settings page view
51 51
      */
52 52
     public function settings_page() {
53
-        include dirname( dirname( __FILE__ ) ) . '/views/options.php';
53
+        include dirname(dirname(__FILE__)) . '/views/options.php';
54 54
     }
55 55
 
56 56
     /**
@@ -60,71 +60,71 @@  discard block
 block discarded – undo
60 60
         add_settings_section(
61 61
             'general',
62 62
             'General Settings',
63
-            array( $this, 'section_callback' ),
63
+            array($this, 'section_callback'),
64 64
             Writing_On_GitHub::$text_domain
65 65
         );
66 66
 
67
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
68
-        add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
67
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_host');
68
+        add_settings_field('wogh_host', __('GitHub hostname', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
69 69
                 'default'   => 'https://api.github.com',
70 70
                 'name'      => 'wogh_host',
71
-                'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
71
+                'help_text' => __('The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github'),
72 72
             )
73 73
         );
74 74
 
75
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
76
-        add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
75
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_repository');
76
+        add_settings_field('wogh_repository', __('Repository', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
77 77
                 'default'   => '',
78 78
                 'name'      => 'wogh_repository',
79
-                'help_text' => __( 'The GitHub repository to commit to, with owner (<code>[OWNER]/[REPOSITORY]</code>), e.g., <code>github/hubot.github.com</code>. The repository should contain an initial commit, which is satisfied by including a README when you create the repository on GitHub.', 'writing-on-github' ),
79
+                'help_text' => __('The GitHub repository to commit to, with owner (<code>[OWNER]/[REPOSITORY]</code>), e.g., <code>github/hubot.github.com</code>. The repository should contain an initial commit, which is satisfied by including a README when you create the repository on GitHub.', 'writing-on-github'),
80 80
             )
81 81
         );
82 82
 
83
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
84
-        add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
83
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_branch');
84
+        add_settings_field('wogh_branch', __('Branch', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
85 85
                 'default'   => 'master',
86 86
                 'name'      => 'wogh_branch',
87
-                'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
87
+                'help_text' => __('The GitHub branch to commit to, default is master.', 'writing-on-github'),
88 88
             )
89 89
         );
90 90
 
91
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
92
-        add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
91
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_oauth_token');
92
+        add_settings_field('wogh_oauth_token', __('Oauth Token', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
93 93
                 'default'   => '',
94 94
                 'name'      => 'wogh_oauth_token',
95
-                'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
95
+                'help_text' => __("A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github'),
96 96
             )
97 97
         );
98 98
 
99
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
100
-        add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
99
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_secret');
100
+        add_settings_field('wogh_secret', __('Webhook Secret', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
101 101
                 'default'   => '',
102 102
                 'name'      => 'wogh_secret',
103
-                'help_text' => __( "The webhook's secret phrase. This should be password strength, as it is used to verify the webhook's payload.", 'writing-on-github' ),
103
+                'help_text' => __("The webhook's secret phrase. This should be password strength, as it is used to verify the webhook's payload.", 'writing-on-github'),
104 104
             )
105 105
         );
106 106
 
107
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
108
-        add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
107
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_default_user');
108
+        add_settings_field('wogh_default_user', __('Default Import User', 'writing-on-github'), array(&$this, 'user_field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
109 109
                 'default'   => '',
110 110
                 'name'      => 'wogh_default_user',
111
-                'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
111
+                'help_text' => __('The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github'),
112 112
             )
113 113
         );
114 114
 
115
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
116
-        add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
115
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_ignore_author');
116
+        add_settings_field('wogh_ignore_author', __('Ignore author', 'writing-on-github'), array(&$this, 'checkbox_field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
117 117
                 'default'   => '',
118 118
                 'name'      => 'wogh_ignore_author',
119
-                'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
119
+                'help_text' => __('Do not export author and do not use author info from GitHub.', 'writing-on-github'),
120 120
             )
121 121
         );
122 122
 
123
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
124
-        add_settings_field( 'wogh_dont_export_content', __( 'Don\'t export content', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
123
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_dont_export_content');
124
+        add_settings_field('wogh_dont_export_content', __('Don\'t export content', 'writing-on-github'), array(&$this, 'checkbox_field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
125 125
                 'default'   => '',
126 126
                 'name'      => 'wogh_dont_export_content',
127
-                'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
127
+                'help_text' => __('Do not export post content to github, only export meta.', 'writing-on-github'),
128 128
             )
129 129
         );
130 130
 
@@ -142,8 +142,8 @@  discard block
 block discarded – undo
142 142
      *
143 143
      * @param array $args Field arguments.
144 144
      */
145
-    public function field_callback( $args ) {
146
-        include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
145
+    public function field_callback($args) {
146
+        include dirname(dirname(__FILE__)) . '/views/setting-field.php';
147 147
     }
148 148
 
149 149
     /**
@@ -151,8 +151,8 @@  discard block
 block discarded – undo
151 151
      *
152 152
      * @param array $args Field arguments.
153 153
      */
154
-    public function user_field_callback( $args ) {
155
-        include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
154
+    public function user_field_callback($args) {
155
+        include dirname(dirname(__FILE__)) . '/views/user-setting-field.php';
156 156
     }
157 157
 
158 158
     /**
@@ -160,8 +160,8 @@  discard block
 block discarded – undo
160 160
      *
161 161
      * @param array $args Field arguments.
162 162
      */
163
-    public function textarea_field_callback( $args ) {
164
-        include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
163
+    public function textarea_field_callback($args) {
164
+        include dirname(dirname(__FILE__)) . '/views/textarea-setting-field.php';
165 165
     }
166 166
 
167 167
     /**
@@ -169,58 +169,58 @@  discard block
 block discarded – undo
169 169
      *
170 170
      * @param array $args Field arguments.
171 171
      */
172
-    public function checkbox_field_callback( $args ) {
173
-        include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
172
+    public function checkbox_field_callback($args) {
173
+        include dirname(dirname(__FILE__)) . '/views/checkbox-setting-field.php';
174 174
     }
175 175
 
176 176
     /**
177 177
      * Displays settings messages from background processes
178 178
      */
179 179
     public function section_callback() {
180
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
180
+        if (get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain) {
181 181
             return;
182 182
         }
183 183
 
184
-        if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
184
+        if ('yes' === get_option('_wogh_export_started')) { ?>
185 185
             <div class="updated">
186
-                <p><?php esc_html_e( 'Export to GitHub started.', 'writing-on-github' ); ?></p>
186
+                <p><?php esc_html_e('Export to GitHub started.', 'writing-on-github'); ?></p>
187 187
             </div><?php
188
-            delete_option( '_wogh_export_started' );
188
+            delete_option('_wogh_export_started');
189 189
         }
190 190
 
191
-        if ( $message = get_option( '_wogh_export_error' ) ) { ?>
191
+        if ($message = get_option('_wogh_export_error')) { ?>
192 192
             <div class="error">
193
-                <p><?php esc_html_e( 'Export to GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
193
+                <p><?php esc_html_e('Export to GitHub failed with error:', 'writing-on-github'); ?> <?php echo esc_html($message); ?></p>
194 194
             </div><?php
195
-            delete_option( '_wogh_export_error' );
195
+            delete_option('_wogh_export_error');
196 196
         }
197 197
 
198
-        if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
198
+        if ('yes' === get_option('_wogh_export_complete')) { ?>
199 199
             <div class="updated">
200
-                <p><?php esc_html_e( 'Export to GitHub completed successfully.', 'writing-on-github' );?></p>
200
+                <p><?php esc_html_e('Export to GitHub completed successfully.', 'writing-on-github'); ?></p>
201 201
             </div><?php
202
-            delete_option( '_wogh_export_complete' );
202
+            delete_option('_wogh_export_complete');
203 203
         }
204 204
 
205
-        if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
205
+        if ('yes' === get_option('_wogh_import_started')) { ?>
206 206
             <div class="updated">
207
-            <p><?php esc_html_e( 'Import from GitHub started.', 'writing-on-github' ); ?></p>
207
+            <p><?php esc_html_e('Import from GitHub started.', 'writing-on-github'); ?></p>
208 208
             </div><?php
209
-            delete_option( '_wogh_import_started' );
209
+            delete_option('_wogh_import_started');
210 210
         }
211 211
 
212
-        if ( $message = get_option( '_wogh_import_error' ) ) { ?>
212
+        if ($message = get_option('_wogh_import_error')) { ?>
213 213
             <div class="error">
214
-            <p><?php esc_html_e( 'Import from GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
214
+            <p><?php esc_html_e('Import from GitHub failed with error:', 'writing-on-github'); ?> <?php echo esc_html($message); ?></p>
215 215
             </div><?php
216
-            delete_option( '_wogh_import_error' );
216
+            delete_option('_wogh_import_error');
217 217
         }
218 218
 
219
-        if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
219
+        if ('yes' === get_option('_wogh_import_complete')) { ?>
220 220
             <div class="updated">
221
-            <p><?php esc_html_e( 'Import from GitHub completed successfully.', 'writing-on-github' );?></p>
221
+            <p><?php esc_html_e('Import from GitHub completed successfully.', 'writing-on-github'); ?></p>
222 222
             </div><?php
223
-            delete_option( '_wogh_import_complete' );
223
+            delete_option('_wogh_import_complete');
224 224
         }
225 225
     }
226 226
 
@@ -229,11 +229,11 @@  discard block
 block discarded – undo
229 229
      */
230 230
     public function add_admin_menu() {
231 231
         add_options_page(
232
-            __( 'Writing On GitHub', 'writing-on-github' ),
233
-            __( 'Writing On GitHub', 'writing-on-github' ),
232
+            __('Writing On GitHub', 'writing-on-github'),
233
+            __('Writing On GitHub', 'writing-on-github'),
234 234
             'manage_options',
235 235
             Writing_On_GitHub::$text_domain,
236
-            array( $this, 'settings_page' )
236
+            array($this, 'settings_page')
237 237
         );
238 238
     }
239 239
 
@@ -241,32 +241,32 @@  discard block
 block discarded – undo
241 241
      * Admin callback to trigger import/export because WordPress admin routing lol
242 242
      */
243 243
     public function trigger_cron() {
244
-        if ( ! current_user_can( 'manage_options' ) ) {
244
+        if ( ! current_user_can('manage_options')) {
245 245
             return;
246 246
         }
247 247
 
248
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
248
+        if (get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain) {
249 249
             return;
250 250
         }
251 251
 
252
-        if ( ! isset( $_GET['action'] ) ) {
252
+        if ( ! isset($_GET['action'])) {
253 253
             return;
254 254
         }
255 255
 
256
-        if ( 'export' === $_GET['action'] ) {
256
+        if ('export' === $_GET['action']) {
257 257
             Writing_On_GitHub::$instance->start_export();
258 258
         }
259
-        if ( 'force_export' === $_GET['action'] ) {
259
+        if ('force_export' === $_GET['action']) {
260 260
             Writing_On_GitHub::$instance->start_export(true);
261 261
         }
262
-        if ( 'import' === $_GET['action'] ) {
262
+        if ('import' === $_GET['action']) {
263 263
             Writing_On_GitHub::$instance->start_import();
264 264
         }
265
-        if ( 'force_import' === $_GET['action'] ) {
265
+        if ('force_import' === $_GET['action']) {
266 266
             Writing_On_GitHub::$instance->start_import(true);
267 267
         }
268 268
 
269
-        wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
269
+        wp_redirect(admin_url('options-general.php?page=writing-on-github'));
270 270
         die;
271 271
     }
272 272
 }
Please login to merge, or discard this patch.
views/options.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -6,35 +6,35 @@
 block discarded – undo
6 6
 
7 7
 ?>
8 8
 <div class="wrap">
9
-	<h2><?php esc_html_e( 'Writing On GitHub', 'writing-on-github' ); ?></h2>
9
+	<h2><?php esc_html_e('Writing On GitHub', 'writing-on-github'); ?></h2>
10 10
 
11 11
 	<form method="post" action="options.php">
12
-		<?php settings_fields( Writing_On_GitHub::$text_domain ); ?>
13
-		<?php do_settings_sections( Writing_On_GitHub::$text_domain ); ?>
12
+		<?php settings_fields(Writing_On_GitHub::$text_domain); ?>
13
+		<?php do_settings_sections(Writing_On_GitHub::$text_domain); ?>
14 14
 		<table class="form-table">
15 15
 			<tr>
16
-				<th scope="row"><?php esc_html_e( 'Webhook callback', 'writing-on-github' ); ?></th>
17
-				<td><code><?php echo esc_url( admin_url( 'admin-ajax.php' ) ); ?>?action=wogh_push_request</code></td>
16
+				<th scope="row"><?php esc_html_e('Webhook callback', 'writing-on-github'); ?></th>
17
+				<td><code><?php echo esc_url(admin_url('admin-ajax.php')); ?>?action=wogh_push_request</code></td>
18 18
 			</tr>
19 19
 			<tr>
20
-                <th scope="row"><?php esc_html_e( 'Export', 'writing-on-github' ); ?></th>
20
+                <th scope="row"><?php esc_html_e('Export', 'writing-on-github'); ?></th>
21 21
                 <td>
22
-                    <p><a href="<?php echo esc_url( add_query_arg( array( 'action' => 'export' ) ) ); ?>">
23
-                        <input type="button" class="button button-secondary" value="<?php esc_html_e( 'Export to GitHub', 'writing-on-github' ); ?>" />
22
+                    <p><a href="<?php echo esc_url(add_query_arg(array('action' => 'export'))); ?>">
23
+                        <input type="button" class="button button-secondary" value="<?php esc_html_e('Export to GitHub', 'writing-on-github'); ?>" />
24 24
                     </a></p>
25
-                    <p><a href="<?php echo esc_url( add_query_arg( array( 'action' => 'force_export' ) ) ); ?>">
26
-                        <input type="button" class="button button-secondary" value="<?php esc_html_e( 'Force export to GitHub', 'writing-on-github' ); ?>" />
25
+                    <p><a href="<?php echo esc_url(add_query_arg(array('action' => 'force_export'))); ?>">
26
+                        <input type="button" class="button button-secondary" value="<?php esc_html_e('Force export to GitHub', 'writing-on-github'); ?>" />
27 27
                     </a></p>
28 28
                 </td>
29 29
             </tr>
30 30
             <tr>
31
-                <th scope="row"><?php esc_html_e( 'Import', 'writing-on-github' ); ?></th>
31
+                <th scope="row"><?php esc_html_e('Import', 'writing-on-github'); ?></th>
32 32
                 <td>
33
-                    <p><a href="<?php echo esc_url( add_query_arg( array( 'action' => 'import' ) ) ); ?>">
34
-                        <input type="button" class="button button-secondary" value="<?php esc_html_e( 'Import from GitHub', 'writing-on-github' ); ?>" />
33
+                    <p><a href="<?php echo esc_url(add_query_arg(array('action' => 'import'))); ?>">
34
+                        <input type="button" class="button button-secondary" value="<?php esc_html_e('Import from GitHub', 'writing-on-github'); ?>" />
35 35
                     </a></p>
36
-                     <p><a href="<?php echo esc_url( add_query_arg( array( 'action' => 'force_import' ) ) ); ?>">
37
-                        <input type="button" class="button button-secondary" value="<?php esc_html_e( 'Force Import from GitHub', 'writing-on-github' ); ?>" />
36
+                     <p><a href="<?php echo esc_url(add_query_arg(array('action' => 'force_import'))); ?>">
37
+                        <input type="button" class="button button-secondary" value="<?php esc_html_e('Force Import from GitHub', 'writing-on-github'); ?>" />
38 38
                     </a></p>
39 39
                 </td>
40 40
             </tr>
Please login to merge, or discard this patch.
lib/payload.php 2 patches
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -9,134 +9,134 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Payload {
11 11
 
12
-    /**
13
-     * Application container.
14
-     *
15
-     * @var Writing_On_GitHub
16
-     */
17
-    protected $app;
18
-
19
-    /**
20
-     * Payload data.
21
-     *
22
-     * @var stdClass
23
-     */
24
-    protected $data;
25
-
26
-    /**
27
-     * Writing_On_GitHub_Payload constructor.
28
-     *
29
-     * @param Writing_On_GitHub $app      Application container.
30
-     * @param string                $raw_data Raw request data.
31
-     */
32
-    public function __construct( Writing_On_GitHub $app, $raw_data ) {
33
-        $this->app  = $app;
34
-        $this->data = json_decode( $raw_data );
35
-    }
36
-
37
-    /**
38
-     * Returns whether payload should be imported.
39
-     *
40
-     * @return true|WP_Error
41
-     */
42
-    public function should_import() {
43
-        // @todo how do we get this without importing the whole api object just for this?
44
-        if ( strtolower( $this->data->repository->full_name ) !== strtolower( $this->app->api()->fetch()->repository() ) ) {
45
-            return new WP_Error(
46
-                'incorrect_repository',
47
-                sprintf( 'Incorrect repository, %s -> %s .',
48
-                    $this->data->repository->full_name,
49
-                    $this->app->api()->fetch()->repository()
50
-                )
51
-            );
52
-        }
53
-
54
-        // The last term in the ref is the payload_branch name.
55
-        $refs   = explode( '/', $this->data->ref );
56
-        $payload_branch = array_pop( $refs );
57
-
58
-        $branch = $this->app->api()->fetch()->branch();
59
-
60
-        if ( $branch !== $payload_branch ) {
61
-            return new WP_Error(
62
-                'incorrect_branch',
63
-                sprintf( 'Incorrect branch, %s -> %s .',
64
-                    $payload_branch,
65
-                    $branch
66
-                )
67
-            );
68
-        }
69
-
70
-        // We add a tag to commits we push out, so we shouldn't pull them in again.
71
-        $tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
72
-
73
-        if ( ! $tag ) {
74
-            throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
75
-        }
76
-
77
-        if ( $tag === substr( $this->message(), -1 * strlen( $tag ) ) ) {
78
-            return new WP_Error(
79
-                'skip_import',
80
-                'Skip import on auto export post.'
81
-            );
82
-        }
83
-
84
-        if ( ! $this->get_commit_id() ) {
85
-            return new WP_Error(
86
-                'invalid_payload',
87
-                "[Missing Commit ID] won't be imported."
88
-            );
89
-        }
90
-
91
-        return true;
92
-    }
93
-
94
-    public function get_before_commit_id() {
95
-        return $this->data->before ? $this->data->before : null;
96
-    }
97
-
98
-    /**
99
-     * Returns the sha of the head commit.
100
-     *
101
-     * @return string
102
-     */
103
-    public function get_commit_id() {
104
-        return $this->data->head_commit ? $this->data->head_commit->id : null;
105
-    }
106
-
107
-    /**
108
-     * Returns the email address for the commit author.
109
-     *
110
-     * @return string
111
-     */
112
-    public function get_author_email() {
113
-        return $this->data->head_commit->author->email;
114
-    }
115
-
116
-    /**
117
-     * Returns array commits for the payload.
118
-     *
119
-     * @return array
120
-     */
121
-    public function get_commits() {
122
-        return $this->data->commits;
123
-    }
124
-
125
-    /**
126
-     * Returns the repository's full name.
127
-     *
128
-     * @return string
129
-     */
130
-    public function get_repository_name() {
131
-        return $this->data->repository->full_name;
132
-    }
133
-
134
-    /**
135
-     * Returns the payload's commit message.
136
-     *
137
-     * @return string
138
-     */
139
-    protected function message() {
140
-        return $this->data->head_commit->message;
141
-    }
12
+	/**
13
+	 * Application container.
14
+	 *
15
+	 * @var Writing_On_GitHub
16
+	 */
17
+	protected $app;
18
+
19
+	/**
20
+	 * Payload data.
21
+	 *
22
+	 * @var stdClass
23
+	 */
24
+	protected $data;
25
+
26
+	/**
27
+	 * Writing_On_GitHub_Payload constructor.
28
+	 *
29
+	 * @param Writing_On_GitHub $app      Application container.
30
+	 * @param string                $raw_data Raw request data.
31
+	 */
32
+	public function __construct( Writing_On_GitHub $app, $raw_data ) {
33
+		$this->app  = $app;
34
+		$this->data = json_decode( $raw_data );
35
+	}
36
+
37
+	/**
38
+	 * Returns whether payload should be imported.
39
+	 *
40
+	 * @return true|WP_Error
41
+	 */
42
+	public function should_import() {
43
+		// @todo how do we get this without importing the whole api object just for this?
44
+		if ( strtolower( $this->data->repository->full_name ) !== strtolower( $this->app->api()->fetch()->repository() ) ) {
45
+			return new WP_Error(
46
+				'incorrect_repository',
47
+				sprintf( 'Incorrect repository, %s -> %s .',
48
+					$this->data->repository->full_name,
49
+					$this->app->api()->fetch()->repository()
50
+				)
51
+			);
52
+		}
53
+
54
+		// The last term in the ref is the payload_branch name.
55
+		$refs   = explode( '/', $this->data->ref );
56
+		$payload_branch = array_pop( $refs );
57
+
58
+		$branch = $this->app->api()->fetch()->branch();
59
+
60
+		if ( $branch !== $payload_branch ) {
61
+			return new WP_Error(
62
+				'incorrect_branch',
63
+				sprintf( 'Incorrect branch, %s -> %s .',
64
+					$payload_branch,
65
+					$branch
66
+				)
67
+			);
68
+		}
69
+
70
+		// We add a tag to commits we push out, so we shouldn't pull them in again.
71
+		$tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
72
+
73
+		if ( ! $tag ) {
74
+			throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
75
+		}
76
+
77
+		if ( $tag === substr( $this->message(), -1 * strlen( $tag ) ) ) {
78
+			return new WP_Error(
79
+				'skip_import',
80
+				'Skip import on auto export post.'
81
+			);
82
+		}
83
+
84
+		if ( ! $this->get_commit_id() ) {
85
+			return new WP_Error(
86
+				'invalid_payload',
87
+				"[Missing Commit ID] won't be imported."
88
+			);
89
+		}
90
+
91
+		return true;
92
+	}
93
+
94
+	public function get_before_commit_id() {
95
+		return $this->data->before ? $this->data->before : null;
96
+	}
97
+
98
+	/**
99
+	 * Returns the sha of the head commit.
100
+	 *
101
+	 * @return string
102
+	 */
103
+	public function get_commit_id() {
104
+		return $this->data->head_commit ? $this->data->head_commit->id : null;
105
+	}
106
+
107
+	/**
108
+	 * Returns the email address for the commit author.
109
+	 *
110
+	 * @return string
111
+	 */
112
+	public function get_author_email() {
113
+		return $this->data->head_commit->author->email;
114
+	}
115
+
116
+	/**
117
+	 * Returns array commits for the payload.
118
+	 *
119
+	 * @return array
120
+	 */
121
+	public function get_commits() {
122
+		return $this->data->commits;
123
+	}
124
+
125
+	/**
126
+	 * Returns the repository's full name.
127
+	 *
128
+	 * @return string
129
+	 */
130
+	public function get_repository_name() {
131
+		return $this->data->repository->full_name;
132
+	}
133
+
134
+	/**
135
+	 * Returns the payload's commit message.
136
+	 *
137
+	 * @return string
138
+	 */
139
+	protected function message() {
140
+		return $this->data->head_commit->message;
141
+	}
142 142
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -29,9 +29,9 @@  discard block
 block discarded – undo
29 29
      * @param Writing_On_GitHub $app      Application container.
30 30
      * @param string                $raw_data Raw request data.
31 31
      */
32
-    public function __construct( Writing_On_GitHub $app, $raw_data ) {
32
+    public function __construct(Writing_On_GitHub $app, $raw_data) {
33 33
         $this->app  = $app;
34
-        $this->data = json_decode( $raw_data );
34
+        $this->data = json_decode($raw_data);
35 35
     }
36 36
 
37 37
     /**
@@ -41,10 +41,10 @@  discard block
 block discarded – undo
41 41
      */
42 42
     public function should_import() {
43 43
         // @todo how do we get this without importing the whole api object just for this?
44
-        if ( strtolower( $this->data->repository->full_name ) !== strtolower( $this->app->api()->fetch()->repository() ) ) {
44
+        if (strtolower($this->data->repository->full_name) !== strtolower($this->app->api()->fetch()->repository())) {
45 45
             return new WP_Error(
46 46
                 'incorrect_repository',
47
-                sprintf( 'Incorrect repository, %s -> %s .',
47
+                sprintf('Incorrect repository, %s -> %s .',
48 48
                     $this->data->repository->full_name,
49 49
                     $this->app->api()->fetch()->repository()
50 50
                 )
@@ -52,15 +52,15 @@  discard block
 block discarded – undo
52 52
         }
53 53
 
54 54
         // The last term in the ref is the payload_branch name.
55
-        $refs   = explode( '/', $this->data->ref );
56
-        $payload_branch = array_pop( $refs );
55
+        $refs   = explode('/', $this->data->ref);
56
+        $payload_branch = array_pop($refs);
57 57
 
58 58
         $branch = $this->app->api()->fetch()->branch();
59 59
 
60
-        if ( $branch !== $payload_branch ) {
60
+        if ($branch !== $payload_branch) {
61 61
             return new WP_Error(
62 62
                 'incorrect_branch',
63
-                sprintf( 'Incorrect branch, %s -> %s .',
63
+                sprintf('Incorrect branch, %s -> %s .',
64 64
                     $payload_branch,
65 65
                     $branch
66 66
                 )
@@ -68,20 +68,20 @@  discard block
 block discarded – undo
68 68
         }
69 69
 
70 70
         // We add a tag to commits we push out, so we shouldn't pull them in again.
71
-        $tag = apply_filters( 'wogh_commit_msg_tag', 'wogh' );
71
+        $tag = apply_filters('wogh_commit_msg_tag', 'wogh');
72 72
 
73
-        if ( ! $tag ) {
74
-            throw new Exception( __( 'Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github' ) );
73
+        if ( ! $tag) {
74
+            throw new Exception(__('Commit message tag not set. Filter `wogh_commit_msg_tag` misconfigured.', 'writing-on-github'));
75 75
         }
76 76
 
77
-        if ( $tag === substr( $this->message(), -1 * strlen( $tag ) ) ) {
77
+        if ($tag === substr($this->message(), -1 * strlen($tag))) {
78 78
             return new WP_Error(
79 79
                 'skip_import',
80 80
                 'Skip import on auto export post.'
81 81
             );
82 82
         }
83 83
 
84
-        if ( ! $this->get_commit_id() ) {
84
+        if ( ! $this->get_commit_id()) {
85 85
             return new WP_Error(
86 86
                 'invalid_payload',
87 87
                 "[Missing Commit ID] won't be imported."
Please login to merge, or discard this patch.
lib/controller.php 2 patches
Indentation   +228 added lines, -228 removed lines patch added patch discarded remove patch
@@ -9,232 +9,232 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Controller {
11 11
 
12
-    /**
13
-     * Application container.
14
-     *
15
-     * @var Writing_On_GitHub
16
-     */
17
-    public $app;
18
-
19
-    /**
20
-     * Instantiates a new Controller object
21
-     *
22
-     * @param Writing_On_GitHub $app Applicatio container.
23
-     */
24
-    public function __construct( Writing_On_GitHub $app ) {
25
-        $this->app = $app;
26
-    }
27
-
28
-    /**
29
-     * Webhook callback as triggered from GitHub push.
30
-     *
31
-     * Reads the Webhook payload and syncs posts as necessary.
32
-     *
33
-     * @return boolean
34
-     */
35
-    public function pull_posts() {
36
-        $this->set_ajax();
37
-        if ( ! $this->app->semaphore()->is_open() ) {
38
-            return $this->app->response()->error( new WP_Error(
39
-                'semaphore_locked',
40
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::pull_posts()' )
41
-            ) );
42
-        }
43
-
44
-        if ( ! $this->app->request()->is_secret_valid() ) {
45
-            return $this->app->response()->error( new WP_Error(
46
-                'invalid_headers',
47
-                __( 'Failed to validate secret.', 'writing-on-github' )
48
-            ) );
49
-        }
50
-
51
-        // ping
52
-        if ( $this->app->request()->is_ping() ) {
53
-            return $this->app->response()->success( __( 'Wordpress is ready.', 'writing-on-github' ) );
54
-        }
55
-
56
-        // push
57
-        if ( ! $this->app->request()->is_push() ) {
58
-            return $this->app->response()->error( new WP_Error(
59
-                'invalid_headers',
60
-                sprintf( 'Failed to validate webhook event: %s.',
61
-                    $this->app->request()->webhook_event() )
62
-            ) );
63
-        }
64
-        $payload = $this->app->request()->payload();
65
-
66
-        $error = $payload->should_import();
67
-        if ( is_wp_error( $error ) ) {
68
-            /* @var WP_Error $error */
69
-            return $this->app->response()->error( $error );
70
-        }
71
-
72
-        $this->app->semaphore()->lock();
73
-        remove_action( 'save_post', array( $this, 'export_post' ) );
74
-        remove_action( 'delete_post', array( $this, 'delete_post' ) );
75
-
76
-        $result = $this->app->import()->payload( $payload );
77
-
78
-        $this->app->semaphore()->unlock();
79
-
80
-        if ( is_wp_error( $result ) ) {
81
-            /* @var WP_Error $result */
82
-            return $this->app->response()->error( $result );
83
-        }
84
-
85
-        return $this->app->response()->success( $result );
86
-    }
87
-
88
-    /**
89
-     * Imports posts from the current master branch.
90
-     * @param  integer $user_id
91
-     * @param  boolean $force
92
-     * @return boolean
93
-     */
94
-    public function import_master( $user_id = 0, $force = false ) {
95
-        if ( ! $this->app->semaphore()->is_open() ) {
96
-            return $this->app->response()->error( new WP_Error(
97
-                'semaphore_locked',
98
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
99
-            ) );
100
-        }
101
-
102
-        $this->app->semaphore()->lock();
103
-        remove_action( 'save_post', array( $this, 'export_post' ) );
104
-        remove_action( 'save_post', array( $this, 'delete_post' ) );
105
-
106
-        if ( $user_id ) {
107
-            wp_set_current_user( $user_id );
108
-        }
109
-
110
-        $result = $this->app->import()->master( $force );
111
-
112
-        $this->app->semaphore()->unlock();
113
-
114
-        if ( is_wp_error( $result ) ) {
115
-            /* @var WP_Error $result */
116
-            update_option( '_wogh_import_error', $result->get_error_message() );
117
-
118
-            return $this->app->response()->error( $result );
119
-        }
120
-
121
-        update_option( '_wogh_import_complete', 'yes' );
122
-
123
-        return $this->app->response()->success( $result );
124
-    }
125
-
126
-    /**
127
-     * Export all the posts in the database to GitHub.
128
-     *
129
-     * @param  int        $user_id
130
-     * @param  boolean    $force
131
-     * @return boolean
132
-     */
133
-    public function export_all( $user_id = 0, $force = false ) {
134
-        if ( ! $this->app->semaphore()->is_open() ) {
135
-            return $this->app->response()->error( new WP_Error(
136
-                'semaphore_locked',
137
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
138
-            ) );
139
-        }
140
-
141
-        $this->app->semaphore()->lock();
142
-
143
-        if ( $user_id ) {
144
-            wp_set_current_user( $user_id );
145
-        }
146
-
147
-        $result = $this->app->export()->full($force);
148
-        $this->app->semaphore()->unlock();
149
-
150
-        // Maybe move option updating out of this class/upgrade message display?
151
-        if ( is_wp_error( $result ) ) {
152
-            /* @var WP_Error $result */
153
-            update_option( '_wogh_export_error', $result->get_error_message() );
154
-
155
-            return $this->app->response()->error( $result );
156
-        } else {
157
-            update_option( '_wogh_export_complete', 'yes' );
158
-            update_option( '_wogh_fully_exported', 'yes' );
159
-
160
-            return $this->app->response()->success( $result );
161
-        }
162
-    }
163
-
164
-    /**
165
-     * Exports a single post to GitHub by ID.
166
-     *
167
-     * Called on the save_post hook.
168
-     *
169
-     * @param int $post_id Post ID.
170
-     *
171
-     * @return boolean
172
-     */
173
-    public function export_post( $post_id ) {
174
-        if ( wp_is_post_revision( $post_id ) ) {
175
-            return;
176
-        }
177
-
178
-        if ( ! $this->app->semaphore()->is_open() ) {
179
-            return $this->app->response()->error( new WP_Error(
180
-                'semaphore_locked',
181
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
182
-            ) );
183
-        }
184
-
185
-        $this->app->semaphore()->lock();
186
-        $result = $this->app->export()->update( $post_id );
187
-        $this->app->semaphore()->unlock();
188
-
189
-        if ( is_wp_error( $result ) ) {
190
-            /* @var WP_Error $result */
191
-            return $this->app->response()->error( $result );
192
-        }
193
-
194
-        return $this->app->response()->success( $result );
195
-    }
196
-
197
-    /**
198
-     * Removes the post from the tree.
199
-     *
200
-     * Called the delete_post hook.
201
-     *
202
-     * @param int $post_id Post ID.
203
-     *
204
-     * @return boolean
205
-     */
206
-    public function delete_post( $post_id ) {
207
-        if ( wp_is_post_revision( $post_id ) ) {
208
-            return;
209
-        }
210
-
211
-        if ( ! $this->app->semaphore()->is_open() ) {
212
-            return $this->app->response()->error( new WP_Error(
213
-                'semaphore_locked',
214
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
215
-            ) );
216
-        }
217
-
218
-        $this->app->semaphore()->lock();
219
-        $result = $this->app->export()->delete( $post_id );
220
-        $this->app->semaphore()->unlock();
221
-
222
-        if ( is_wp_error( $result ) ) {
223
-            /* @var WP_Error $result */
224
-            return $this->app->response()->error( $result );
225
-        }
226
-
227
-        return $this->app->response()->success( $result );
228
-    }
229
-
230
-    /**
231
-     * Indicates we're running our own AJAX hook
232
-     * and thus should respond with JSON, rather
233
-     * than just returning data.
234
-     */
235
-    protected function set_ajax() {
236
-        if ( ! defined( 'WOGH_AJAX' ) ) {
237
-            define( 'WOGH_AJAX', true );
238
-        }
239
-    }
12
+	/**
13
+	 * Application container.
14
+	 *
15
+	 * @var Writing_On_GitHub
16
+	 */
17
+	public $app;
18
+
19
+	/**
20
+	 * Instantiates a new Controller object
21
+	 *
22
+	 * @param Writing_On_GitHub $app Applicatio container.
23
+	 */
24
+	public function __construct( Writing_On_GitHub $app ) {
25
+		$this->app = $app;
26
+	}
27
+
28
+	/**
29
+	 * Webhook callback as triggered from GitHub push.
30
+	 *
31
+	 * Reads the Webhook payload and syncs posts as necessary.
32
+	 *
33
+	 * @return boolean
34
+	 */
35
+	public function pull_posts() {
36
+		$this->set_ajax();
37
+		if ( ! $this->app->semaphore()->is_open() ) {
38
+			return $this->app->response()->error( new WP_Error(
39
+				'semaphore_locked',
40
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::pull_posts()' )
41
+			) );
42
+		}
43
+
44
+		if ( ! $this->app->request()->is_secret_valid() ) {
45
+			return $this->app->response()->error( new WP_Error(
46
+				'invalid_headers',
47
+				__( 'Failed to validate secret.', 'writing-on-github' )
48
+			) );
49
+		}
50
+
51
+		// ping
52
+		if ( $this->app->request()->is_ping() ) {
53
+			return $this->app->response()->success( __( 'Wordpress is ready.', 'writing-on-github' ) );
54
+		}
55
+
56
+		// push
57
+		if ( ! $this->app->request()->is_push() ) {
58
+			return $this->app->response()->error( new WP_Error(
59
+				'invalid_headers',
60
+				sprintf( 'Failed to validate webhook event: %s.',
61
+					$this->app->request()->webhook_event() )
62
+			) );
63
+		}
64
+		$payload = $this->app->request()->payload();
65
+
66
+		$error = $payload->should_import();
67
+		if ( is_wp_error( $error ) ) {
68
+			/* @var WP_Error $error */
69
+			return $this->app->response()->error( $error );
70
+		}
71
+
72
+		$this->app->semaphore()->lock();
73
+		remove_action( 'save_post', array( $this, 'export_post' ) );
74
+		remove_action( 'delete_post', array( $this, 'delete_post' ) );
75
+
76
+		$result = $this->app->import()->payload( $payload );
77
+
78
+		$this->app->semaphore()->unlock();
79
+
80
+		if ( is_wp_error( $result ) ) {
81
+			/* @var WP_Error $result */
82
+			return $this->app->response()->error( $result );
83
+		}
84
+
85
+		return $this->app->response()->success( $result );
86
+	}
87
+
88
+	/**
89
+	 * Imports posts from the current master branch.
90
+	 * @param  integer $user_id
91
+	 * @param  boolean $force
92
+	 * @return boolean
93
+	 */
94
+	public function import_master( $user_id = 0, $force = false ) {
95
+		if ( ! $this->app->semaphore()->is_open() ) {
96
+			return $this->app->response()->error( new WP_Error(
97
+				'semaphore_locked',
98
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
99
+			) );
100
+		}
101
+
102
+		$this->app->semaphore()->lock();
103
+		remove_action( 'save_post', array( $this, 'export_post' ) );
104
+		remove_action( 'save_post', array( $this, 'delete_post' ) );
105
+
106
+		if ( $user_id ) {
107
+			wp_set_current_user( $user_id );
108
+		}
109
+
110
+		$result = $this->app->import()->master( $force );
111
+
112
+		$this->app->semaphore()->unlock();
113
+
114
+		if ( is_wp_error( $result ) ) {
115
+			/* @var WP_Error $result */
116
+			update_option( '_wogh_import_error', $result->get_error_message() );
117
+
118
+			return $this->app->response()->error( $result );
119
+		}
120
+
121
+		update_option( '_wogh_import_complete', 'yes' );
122
+
123
+		return $this->app->response()->success( $result );
124
+	}
125
+
126
+	/**
127
+	 * Export all the posts in the database to GitHub.
128
+	 *
129
+	 * @param  int        $user_id
130
+	 * @param  boolean    $force
131
+	 * @return boolean
132
+	 */
133
+	public function export_all( $user_id = 0, $force = false ) {
134
+		if ( ! $this->app->semaphore()->is_open() ) {
135
+			return $this->app->response()->error( new WP_Error(
136
+				'semaphore_locked',
137
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
138
+			) );
139
+		}
140
+
141
+		$this->app->semaphore()->lock();
142
+
143
+		if ( $user_id ) {
144
+			wp_set_current_user( $user_id );
145
+		}
146
+
147
+		$result = $this->app->export()->full($force);
148
+		$this->app->semaphore()->unlock();
149
+
150
+		// Maybe move option updating out of this class/upgrade message display?
151
+		if ( is_wp_error( $result ) ) {
152
+			/* @var WP_Error $result */
153
+			update_option( '_wogh_export_error', $result->get_error_message() );
154
+
155
+			return $this->app->response()->error( $result );
156
+		} else {
157
+			update_option( '_wogh_export_complete', 'yes' );
158
+			update_option( '_wogh_fully_exported', 'yes' );
159
+
160
+			return $this->app->response()->success( $result );
161
+		}
162
+	}
163
+
164
+	/**
165
+	 * Exports a single post to GitHub by ID.
166
+	 *
167
+	 * Called on the save_post hook.
168
+	 *
169
+	 * @param int $post_id Post ID.
170
+	 *
171
+	 * @return boolean
172
+	 */
173
+	public function export_post( $post_id ) {
174
+		if ( wp_is_post_revision( $post_id ) ) {
175
+			return;
176
+		}
177
+
178
+		if ( ! $this->app->semaphore()->is_open() ) {
179
+			return $this->app->response()->error( new WP_Error(
180
+				'semaphore_locked',
181
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
182
+			) );
183
+		}
184
+
185
+		$this->app->semaphore()->lock();
186
+		$result = $this->app->export()->update( $post_id );
187
+		$this->app->semaphore()->unlock();
188
+
189
+		if ( is_wp_error( $result ) ) {
190
+			/* @var WP_Error $result */
191
+			return $this->app->response()->error( $result );
192
+		}
193
+
194
+		return $this->app->response()->success( $result );
195
+	}
196
+
197
+	/**
198
+	 * Removes the post from the tree.
199
+	 *
200
+	 * Called the delete_post hook.
201
+	 *
202
+	 * @param int $post_id Post ID.
203
+	 *
204
+	 * @return boolean
205
+	 */
206
+	public function delete_post( $post_id ) {
207
+		if ( wp_is_post_revision( $post_id ) ) {
208
+			return;
209
+		}
210
+
211
+		if ( ! $this->app->semaphore()->is_open() ) {
212
+			return $this->app->response()->error( new WP_Error(
213
+				'semaphore_locked',
214
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
215
+			) );
216
+		}
217
+
218
+		$this->app->semaphore()->lock();
219
+		$result = $this->app->export()->delete( $post_id );
220
+		$this->app->semaphore()->unlock();
221
+
222
+		if ( is_wp_error( $result ) ) {
223
+			/* @var WP_Error $result */
224
+			return $this->app->response()->error( $result );
225
+		}
226
+
227
+		return $this->app->response()->success( $result );
228
+	}
229
+
230
+	/**
231
+	 * Indicates we're running our own AJAX hook
232
+	 * and thus should respond with JSON, rather
233
+	 * than just returning data.
234
+	 */
235
+	protected function set_ajax() {
236
+		if ( ! defined( 'WOGH_AJAX' ) ) {
237
+			define( 'WOGH_AJAX', true );
238
+		}
239
+	}
240 240
 }
Please login to merge, or discard this patch.
Spacing   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
      *
22 22
      * @param Writing_On_GitHub $app Applicatio container.
23 23
      */
24
-    public function __construct( Writing_On_GitHub $app ) {
24
+    public function __construct(Writing_On_GitHub $app) {
25 25
         $this->app = $app;
26 26
     }
27 27
 
@@ -34,55 +34,55 @@  discard block
 block discarded – undo
34 34
      */
35 35
     public function pull_posts() {
36 36
         $this->set_ajax();
37
-        if ( ! $this->app->semaphore()->is_open() ) {
38
-            return $this->app->response()->error( new WP_Error(
37
+        if ( ! $this->app->semaphore()->is_open()) {
38
+            return $this->app->response()->error(new WP_Error(
39 39
                 'semaphore_locked',
40
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::pull_posts()' )
41
-            ) );
40
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::pull_posts()')
41
+            ));
42 42
         }
43 43
 
44
-        if ( ! $this->app->request()->is_secret_valid() ) {
45
-            return $this->app->response()->error( new WP_Error(
44
+        if ( ! $this->app->request()->is_secret_valid()) {
45
+            return $this->app->response()->error(new WP_Error(
46 46
                 'invalid_headers',
47
-                __( 'Failed to validate secret.', 'writing-on-github' )
48
-            ) );
47
+                __('Failed to validate secret.', 'writing-on-github')
48
+            ));
49 49
         }
50 50
 
51 51
         // ping
52
-        if ( $this->app->request()->is_ping() ) {
53
-            return $this->app->response()->success( __( 'Wordpress is ready.', 'writing-on-github' ) );
52
+        if ($this->app->request()->is_ping()) {
53
+            return $this->app->response()->success(__('Wordpress is ready.', 'writing-on-github'));
54 54
         }
55 55
 
56 56
         // push
57
-        if ( ! $this->app->request()->is_push() ) {
58
-            return $this->app->response()->error( new WP_Error(
57
+        if ( ! $this->app->request()->is_push()) {
58
+            return $this->app->response()->error(new WP_Error(
59 59
                 'invalid_headers',
60
-                sprintf( 'Failed to validate webhook event: %s.',
61
-                    $this->app->request()->webhook_event() )
62
-            ) );
60
+                sprintf('Failed to validate webhook event: %s.',
61
+                    $this->app->request()->webhook_event())
62
+            ));
63 63
         }
64 64
         $payload = $this->app->request()->payload();
65 65
 
66 66
         $error = $payload->should_import();
67
-        if ( is_wp_error( $error ) ) {
67
+        if (is_wp_error($error)) {
68 68
             /* @var WP_Error $error */
69
-            return $this->app->response()->error( $error );
69
+            return $this->app->response()->error($error);
70 70
         }
71 71
 
72 72
         $this->app->semaphore()->lock();
73
-        remove_action( 'save_post', array( $this, 'export_post' ) );
74
-        remove_action( 'delete_post', array( $this, 'delete_post' ) );
73
+        remove_action('save_post', array($this, 'export_post'));
74
+        remove_action('delete_post', array($this, 'delete_post'));
75 75
 
76
-        $result = $this->app->import()->payload( $payload );
76
+        $result = $this->app->import()->payload($payload);
77 77
 
78 78
         $this->app->semaphore()->unlock();
79 79
 
80
-        if ( is_wp_error( $result ) ) {
80
+        if (is_wp_error($result)) {
81 81
             /* @var WP_Error $result */
82
-            return $this->app->response()->error( $result );
82
+            return $this->app->response()->error($result);
83 83
         }
84 84
 
85
-        return $this->app->response()->success( $result );
85
+        return $this->app->response()->success($result);
86 86
     }
87 87
 
88 88
     /**
@@ -91,36 +91,36 @@  discard block
 block discarded – undo
91 91
      * @param  boolean $force
92 92
      * @return boolean
93 93
      */
94
-    public function import_master( $user_id = 0, $force = false ) {
95
-        if ( ! $this->app->semaphore()->is_open() ) {
96
-            return $this->app->response()->error( new WP_Error(
94
+    public function import_master($user_id = 0, $force = false) {
95
+        if ( ! $this->app->semaphore()->is_open()) {
96
+            return $this->app->response()->error(new WP_Error(
97 97
                 'semaphore_locked',
98
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
99
-            ) );
98
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::import_master()')
99
+            ));
100 100
         }
101 101
 
102 102
         $this->app->semaphore()->lock();
103
-        remove_action( 'save_post', array( $this, 'export_post' ) );
104
-        remove_action( 'save_post', array( $this, 'delete_post' ) );
103
+        remove_action('save_post', array($this, 'export_post'));
104
+        remove_action('save_post', array($this, 'delete_post'));
105 105
 
106
-        if ( $user_id ) {
107
-            wp_set_current_user( $user_id );
106
+        if ($user_id) {
107
+            wp_set_current_user($user_id);
108 108
         }
109 109
 
110
-        $result = $this->app->import()->master( $force );
110
+        $result = $this->app->import()->master($force);
111 111
 
112 112
         $this->app->semaphore()->unlock();
113 113
 
114
-        if ( is_wp_error( $result ) ) {
114
+        if (is_wp_error($result)) {
115 115
             /* @var WP_Error $result */
116
-            update_option( '_wogh_import_error', $result->get_error_message() );
116
+            update_option('_wogh_import_error', $result->get_error_message());
117 117
 
118
-            return $this->app->response()->error( $result );
118
+            return $this->app->response()->error($result);
119 119
         }
120 120
 
121
-        update_option( '_wogh_import_complete', 'yes' );
121
+        update_option('_wogh_import_complete', 'yes');
122 122
 
123
-        return $this->app->response()->success( $result );
123
+        return $this->app->response()->success($result);
124 124
     }
125 125
 
126 126
     /**
@@ -130,34 +130,34 @@  discard block
 block discarded – undo
130 130
      * @param  boolean    $force
131 131
      * @return boolean
132 132
      */
133
-    public function export_all( $user_id = 0, $force = false ) {
134
-        if ( ! $this->app->semaphore()->is_open() ) {
135
-            return $this->app->response()->error( new WP_Error(
133
+    public function export_all($user_id = 0, $force = false) {
134
+        if ( ! $this->app->semaphore()->is_open()) {
135
+            return $this->app->response()->error(new WP_Error(
136 136
                 'semaphore_locked',
137
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
138
-            ) );
137
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::export_all()')
138
+            ));
139 139
         }
140 140
 
141 141
         $this->app->semaphore()->lock();
142 142
 
143
-        if ( $user_id ) {
144
-            wp_set_current_user( $user_id );
143
+        if ($user_id) {
144
+            wp_set_current_user($user_id);
145 145
         }
146 146
 
147 147
         $result = $this->app->export()->full($force);
148 148
         $this->app->semaphore()->unlock();
149 149
 
150 150
         // Maybe move option updating out of this class/upgrade message display?
151
-        if ( is_wp_error( $result ) ) {
151
+        if (is_wp_error($result)) {
152 152
             /* @var WP_Error $result */
153
-            update_option( '_wogh_export_error', $result->get_error_message() );
153
+            update_option('_wogh_export_error', $result->get_error_message());
154 154
 
155
-            return $this->app->response()->error( $result );
155
+            return $this->app->response()->error($result);
156 156
         } else {
157
-            update_option( '_wogh_export_complete', 'yes' );
158
-            update_option( '_wogh_fully_exported', 'yes' );
157
+            update_option('_wogh_export_complete', 'yes');
158
+            update_option('_wogh_fully_exported', 'yes');
159 159
 
160
-            return $this->app->response()->success( $result );
160
+            return $this->app->response()->success($result);
161 161
         }
162 162
     }
163 163
 
@@ -170,28 +170,28 @@  discard block
 block discarded – undo
170 170
      *
171 171
      * @return boolean
172 172
      */
173
-    public function export_post( $post_id ) {
174
-        if ( wp_is_post_revision( $post_id ) ) {
173
+    public function export_post($post_id) {
174
+        if (wp_is_post_revision($post_id)) {
175 175
             return;
176 176
         }
177 177
 
178
-        if ( ! $this->app->semaphore()->is_open() ) {
179
-            return $this->app->response()->error( new WP_Error(
178
+        if ( ! $this->app->semaphore()->is_open()) {
179
+            return $this->app->response()->error(new WP_Error(
180 180
                 'semaphore_locked',
181
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
182
-            ) );
181
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::export_post()')
182
+            ));
183 183
         }
184 184
 
185 185
         $this->app->semaphore()->lock();
186
-        $result = $this->app->export()->update( $post_id );
186
+        $result = $this->app->export()->update($post_id);
187 187
         $this->app->semaphore()->unlock();
188 188
 
189
-        if ( is_wp_error( $result ) ) {
189
+        if (is_wp_error($result)) {
190 190
             /* @var WP_Error $result */
191
-            return $this->app->response()->error( $result );
191
+            return $this->app->response()->error($result);
192 192
         }
193 193
 
194
-        return $this->app->response()->success( $result );
194
+        return $this->app->response()->success($result);
195 195
     }
196 196
 
197 197
     /**
@@ -203,28 +203,28 @@  discard block
 block discarded – undo
203 203
      *
204 204
      * @return boolean
205 205
      */
206
-    public function delete_post( $post_id ) {
207
-        if ( wp_is_post_revision( $post_id ) ) {
206
+    public function delete_post($post_id) {
207
+        if (wp_is_post_revision($post_id)) {
208 208
             return;
209 209
         }
210 210
 
211
-        if ( ! $this->app->semaphore()->is_open() ) {
212
-            return $this->app->response()->error( new WP_Error(
211
+        if ( ! $this->app->semaphore()->is_open()) {
212
+            return $this->app->response()->error(new WP_Error(
213 213
                 'semaphore_locked',
214
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
215
-            ) );
214
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::delete_post()')
215
+            ));
216 216
         }
217 217
 
218 218
         $this->app->semaphore()->lock();
219
-        $result = $this->app->export()->delete( $post_id );
219
+        $result = $this->app->export()->delete($post_id);
220 220
         $this->app->semaphore()->unlock();
221 221
 
222
-        if ( is_wp_error( $result ) ) {
222
+        if (is_wp_error($result)) {
223 223
             /* @var WP_Error $result */
224
-            return $this->app->response()->error( $result );
224
+            return $this->app->response()->error($result);
225 225
         }
226 226
 
227
-        return $this->app->response()->success( $result );
227
+        return $this->app->response()->success($result);
228 228
     }
229 229
 
230 230
     /**
@@ -233,8 +233,8 @@  discard block
 block discarded – undo
233 233
      * than just returning data.
234 234
      */
235 235
     protected function set_ajax() {
236
-        if ( ! defined( 'WOGH_AJAX' ) ) {
237
-            define( 'WOGH_AJAX', true );
236
+        if ( ! defined('WOGH_AJAX')) {
237
+            define('WOGH_AJAX', true);
238 238
         }
239 239
     }
240 240
 }
Please login to merge, or discard this patch.