Passed
Push — master ( 433e74...ff36ac )
by litefeel
02:44
created
views/textarea-setting-field.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -5,8 +5,8 @@
 block discarded – undo
5 5
  */
6 6
 
7 7
 ?>
8
-<?php $value = get_option( $args['name'], $args['default'] ); ?>
9
-<textarea name="<?php echo esc_attr( $args['name'] ); ?>" id="<?php echo esc_attr( $args['name'] ); ?>" rows="10" cols="40">
10
-<?php echo esc_attr( $value ); ?>
8
+<?php $value = get_option($args['name'], $args['default']); ?>
9
+<textarea name="<?php echo esc_attr($args['name']); ?>" id="<?php echo esc_attr($args['name']); ?>" rows="10" cols="40">
10
+<?php echo esc_attr($value); ?>
11 11
 </textarea>
12 12
 <p class="description"><?php echo $args['help_text']; ?></p>
Please login to merge, or discard this patch.
views/options.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -6,27 +6,27 @@
 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( 'Bulk actions', 'writing-on-github' ); ?></th>
20
+				<th scope="row"><?php esc_html_e('Bulk actions', 'writing-on-github'); ?></th>
21 21
 				<td>
22
-					<a href="<?php echo esc_url( add_query_arg( array( 'action' => 'export' ) ) ); ?>">
23
-						<?php esc_html_e( 'Export to GitHub', 'writing-on-github' ); ?>
22
+					<a href="<?php echo esc_url(add_query_arg(array('action' => 'export'))); ?>">
23
+						<?php esc_html_e('Export to GitHub', 'writing-on-github'); ?>
24 24
 					</a> |
25
-                    <a href="<?php echo esc_url( add_query_arg( array( 'action' => 'force_export' ) ) ); ?>">
26
-                        <?php esc_html_e( 'Force export to GitHub', 'writing-on-github' ); ?>
25
+                    <a href="<?php echo esc_url(add_query_arg(array('action' => 'force_export'))); ?>">
26
+                        <?php esc_html_e('Force export to GitHub', 'writing-on-github'); ?>
27 27
                     </a> |
28
-					<a href="<?php echo esc_url( add_query_arg( array( 'action' => 'import' ) ) ); ?>">
29
-						<?php esc_html_e( 'Import from GitHub', 'writing-on-github' ); ?>
28
+					<a href="<?php echo esc_url(add_query_arg(array('action' => 'import'))); ?>">
29
+						<?php esc_html_e('Import from GitHub', 'writing-on-github'); ?>
30 30
 					</a>
31 31
 				</td>
32 32
 		</table>
Please login to merge, or discard this patch.
views/user-setting-field.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -1,8 +1,8 @@
 block discarded – undo
1
-<?php $value = get_option( $args['name'], $args['default'] ); ?>
2
-<select name="<?php echo esc_attr( $args['name'] ) ?>" id="<?php echo esc_attr( $args['name'] ) ?>">
3
-	<?php foreach ( get_users() as $user ) : ?>
4
-		<option value="<?php echo esc_attr( $user->ID ); ?>"<?php echo (int) $value === $user->ID ? ' selected' : '';?>>
5
-			<?php echo esc_html( $user->display_name ); ?>
1
+<?php $value = get_option($args['name'], $args['default']); ?>
2
+<select name="<?php echo esc_attr($args['name']) ?>" id="<?php echo esc_attr($args['name']) ?>">
3
+	<?php foreach (get_users() as $user) : ?>
4
+		<option value="<?php echo esc_attr($user->ID); ?>"<?php echo (int) $value === $user->ID ? ' selected' : ''; ?>>
5
+			<?php echo esc_html($user->display_name); ?>
6 6
 		</option>
7 7
 	<?php endforeach; ?>
8 8
 </select>
Please login to merge, or discard this patch.
views/checkbox-setting-field.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -5,6 +5,6 @@
 block discarded – undo
5 5
  */
6 6
 
7 7
 ?>
8
-<?php $value = get_option( $args['name'], $args['default'] ); ?>
9
-<input type="checkbox" name="<?php echo esc_attr( $args['name'] ); ?>" id="<?php echo esc_attr( $args['name'] ); ?>" value="yes" <?php echo 'yes' === $value ? 'checked' : '';  ?> />
8
+<?php $value = get_option($args['name'], $args['default']); ?>
9
+<input type="checkbox" name="<?php echo esc_attr($args['name']); ?>" id="<?php echo esc_attr($args['name']); ?>" value="yes" <?php echo 'yes' === $value ? 'checked' : ''; ?> />
10 10
 <p class="description"><?php echo $args['help_text']; ?></p>
Please login to merge, or discard this patch.
views/setting-field.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -5,6 +5,6 @@
 block discarded – undo
5 5
  */
6 6
 
7 7
 ?>
8
-<?php $value = get_option( $args['name'], $args['default'] ); ?>
9
-<input name="<?php echo esc_attr( $args['name'] ); ?>" id="<?php echo esc_attr( $args['name'] ); ?>" type="<?php echo 'wogh_secret' === $args['name'] ? 'password' : 'text'; ?>" value="<?php echo esc_attr( $value ); ?>" />
8
+<?php $value = get_option($args['name'], $args['default']); ?>
9
+<input name="<?php echo esc_attr($args['name']); ?>" id="<?php echo esc_attr($args['name']); ?>" type="<?php echo 'wogh_secret' === $args['name'] ? 'password' : 'text'; ?>" value="<?php echo esc_attr($value); ?>" />
10 10
 <p class="description"><?php echo $args['help_text']; ?></p>
Please login to merge, or discard this patch.
lib/client/base.php 2 patches
Indentation   +200 added lines, -200 removed lines patch added patch discarded remove patch
@@ -9,204 +9,204 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Base_Client {
11 11
 
12
-    const HOST_OPTION_KEY   = 'wogh_host';
13
-    const TOKEN_OPTION_KEY  = 'wogh_oauth_token';
14
-    const REPO_OPTION_KEY   = 'wogh_repository';
15
-    const BRANCH_OPTION_KEY = 'wogh_branch';
16
-
17
-    /**
18
-     * Application container.
19
-     *
20
-     * @var Writing_On_GitHub
21
-     */
22
-    protected $app;
23
-
24
-    /**
25
-     * Instantiates a new Api object.
26
-     *
27
-     * @param Writing_On_GitHub $app Application container.
28
-     */
29
-    public function __construct( Writing_On_GitHub $app ) {
30
-        $this->app = $app;
31
-    }
32
-
33
-    /**
34
-     * Generic GitHub API interface and response handler
35
-     *
36
-     * @param string $method HTTP method.
37
-     * @param string $endpoint API endpoint.
38
-     * @param array  $body Request body.
39
-     *
40
-     * @return stdClass|WP_Error
41
-     */
42
-    protected function call( $method, $endpoint, $body = array() ) {
43
-        if ( is_wp_error( $error = $this->can_call() ) ) {
44
-            /* @var WP_Error $error */
45
-            return $error;
46
-        }
47
-
48
-        $args = array(
49
-            'method'  => $method,
50
-            'headers' => array(
51
-                'Authorization' => 'token ' . $this->oauth_token(),
52
-            ),
53
-        );
54
-
55
-        if ( 'GET' !== $method ) {
56
-            $args['body'] = json_encode( $body );
57
-        }
58
-
59
-        // $tmpbody = isset( $args['body'] ) ? $args['body'] : '';
60
-        // error_log( "writing-on-github-call $method $endpoint $tmpbody" );
61
-
62
-        $response = wp_remote_request( $endpoint, $args );
63
-        $status   = wp_remote_retrieve_header( $response, 'status' );
64
-        $body     = json_decode( wp_remote_retrieve_body( $response ) );
65
-
66
-        if ( '2' !== substr( $status, 0, 1 ) && '3' !== substr( $status, 0, 1 ) ) {
67
-            return new WP_Error(
68
-                strtolower( str_replace( ' ', '_', $status ) ),
69
-                sprintf(
70
-                    __( 'Method %s to endpoint %s failed with error: %s', 'writing-on-github' ),
71
-                    $method,
72
-                    $endpoint,
73
-                    ( $body && $body->message ) ? $body->message : 'Unknown error'
74
-                )
75
-            );
76
-        }
77
-
78
-        return $body;
79
-    }
80
-
81
-    /**
82
-     * Validates whether the Api object can make a call.
83
-     *
84
-     * @return true|WP_Error
85
-     */
86
-    protected function can_call() {
87
-        if ( ! $this->oauth_token() ) {
88
-            return new WP_Error(
89
-                'missing_token',
90
-                __( 'Writing On GitHub needs an auth token. Please update your settings.', 'writing-on-github' )
91
-            );
92
-        }
93
-
94
-        $repo = $this->repository();
95
-
96
-        if ( ! $repo ) {
97
-            return new WP_Error(
98
-                'missing_repository',
99
-                __( 'Writing On GitHub needs a repository. Please update your settings.', 'writing-on-github' )
100
-            );
101
-        }
102
-
103
-        $parts = explode( '/', $repo );
104
-
105
-        if ( 2 !== count( $parts ) ) {
106
-            return new WP_Error(
107
-                'malformed_repository',
108
-                __( 'Writing On GitHub needs a properly formed repository. Please update your settings.', 'writing-on-github' )
109
-            );
110
-        }
111
-
112
-        return true;
113
-    }
114
-
115
-    /**
116
-     * Returns the repository to sync with
117
-     *
118
-     * @return string
119
-     */
120
-    public function repository() {
121
-        return (string) get_option( self::REPO_OPTION_KEY );
122
-    }
123
-
124
-    /**
125
-     * Returns the user's oauth token
126
-     *
127
-     * @return string
128
-     */
129
-    public function oauth_token() {
130
-        return (string) get_option( self::TOKEN_OPTION_KEY );
131
-    }
132
-
133
-    /**
134
-     * Returns the GitHub host to sync with (for GitHub Enterprise support)
135
-     */
136
-    public function api_base() {
137
-        return get_option( self::HOST_OPTION_KEY );
138
-    }
139
-
140
-    public function branch() {
141
-        $branch = get_option( self::BRANCH_OPTION_KEY );
142
-        return $branch ? $branch : 'master';
143
-    }
144
-
145
-    /**
146
-     * API endpoint for the master branch reference
147
-     */
148
-    public function reference_endpoint() {
149
-        $url = $this->api_base() . '/repos/';
150
-        $url = $url . $this->repository() . '/git/refs/heads/' . $this->branch();
151
-
152
-        return $url;
153
-    }
154
-
155
-    /**
156
-     * Api to get and create commits
157
-     */
158
-    public function commit_endpoint() {
159
-        $url = $this->api_base() . '/repos/';
160
-        $url = $url . $this->repository() . '/git/commits';
161
-
162
-        return $url;
163
-    }
164
-
165
-    /**
166
-     * Api to compare commits
167
-     */
168
-    public function compare_endpoint() {
169
-        $url = $this->api_base() . '/repos/';
170
-        $url = $url . $this->repository() . '/compare';
171
-
172
-        return $url;
173
-    }
174
-
175
-    /**
176
-     * Api to get and create trees
177
-     */
178
-    public function tree_endpoint() {
179
-        $url = $this->api_base() . '/repos/';
180
-        $url = $url . $this->repository() . '/git/trees';
181
-
182
-        return $url;
183
-    }
184
-
185
-    /**
186
-     * Builds the proper blob API endpoint for a given post
187
-     *
188
-     * Returns String the relative API call path
189
-     */
190
-    public function blob_endpoint() {
191
-        $url = $this->api_base() . '/repos/';
192
-        $url = $url . $this->repository() . '/git/blobs';
193
-
194
-        return $url;
195
-    }
196
-
197
-    /**
198
-     * Builds the proper content API endpoint for a given post
199
-     *
200
-     * Returns String the relative API call path
201
-     */
202
-    public function content_endpoint( $path = false ) {
203
-        $url = $this->api_base() . '/repos/';
204
-        $url = $url . $this->repository() . '/contents';
205
-
206
-        if ( ! empty($path) ) {
207
-            $url .= '/' . $path;
208
-        }
209
-
210
-        return $url;
211
-    }
12
+	const HOST_OPTION_KEY   = 'wogh_host';
13
+	const TOKEN_OPTION_KEY  = 'wogh_oauth_token';
14
+	const REPO_OPTION_KEY   = 'wogh_repository';
15
+	const BRANCH_OPTION_KEY = 'wogh_branch';
16
+
17
+	/**
18
+	 * Application container.
19
+	 *
20
+	 * @var Writing_On_GitHub
21
+	 */
22
+	protected $app;
23
+
24
+	/**
25
+	 * Instantiates a new Api object.
26
+	 *
27
+	 * @param Writing_On_GitHub $app Application container.
28
+	 */
29
+	public function __construct( Writing_On_GitHub $app ) {
30
+		$this->app = $app;
31
+	}
32
+
33
+	/**
34
+	 * Generic GitHub API interface and response handler
35
+	 *
36
+	 * @param string $method HTTP method.
37
+	 * @param string $endpoint API endpoint.
38
+	 * @param array  $body Request body.
39
+	 *
40
+	 * @return stdClass|WP_Error
41
+	 */
42
+	protected function call( $method, $endpoint, $body = array() ) {
43
+		if ( is_wp_error( $error = $this->can_call() ) ) {
44
+			/* @var WP_Error $error */
45
+			return $error;
46
+		}
47
+
48
+		$args = array(
49
+			'method'  => $method,
50
+			'headers' => array(
51
+				'Authorization' => 'token ' . $this->oauth_token(),
52
+			),
53
+		);
54
+
55
+		if ( 'GET' !== $method ) {
56
+			$args['body'] = json_encode( $body );
57
+		}
58
+
59
+		// $tmpbody = isset( $args['body'] ) ? $args['body'] : '';
60
+		// error_log( "writing-on-github-call $method $endpoint $tmpbody" );
61
+
62
+		$response = wp_remote_request( $endpoint, $args );
63
+		$status   = wp_remote_retrieve_header( $response, 'status' );
64
+		$body     = json_decode( wp_remote_retrieve_body( $response ) );
65
+
66
+		if ( '2' !== substr( $status, 0, 1 ) && '3' !== substr( $status, 0, 1 ) ) {
67
+			return new WP_Error(
68
+				strtolower( str_replace( ' ', '_', $status ) ),
69
+				sprintf(
70
+					__( 'Method %s to endpoint %s failed with error: %s', 'writing-on-github' ),
71
+					$method,
72
+					$endpoint,
73
+					( $body && $body->message ) ? $body->message : 'Unknown error'
74
+				)
75
+			);
76
+		}
77
+
78
+		return $body;
79
+	}
80
+
81
+	/**
82
+	 * Validates whether the Api object can make a call.
83
+	 *
84
+	 * @return true|WP_Error
85
+	 */
86
+	protected function can_call() {
87
+		if ( ! $this->oauth_token() ) {
88
+			return new WP_Error(
89
+				'missing_token',
90
+				__( 'Writing On GitHub needs an auth token. Please update your settings.', 'writing-on-github' )
91
+			);
92
+		}
93
+
94
+		$repo = $this->repository();
95
+
96
+		if ( ! $repo ) {
97
+			return new WP_Error(
98
+				'missing_repository',
99
+				__( 'Writing On GitHub needs a repository. Please update your settings.', 'writing-on-github' )
100
+			);
101
+		}
102
+
103
+		$parts = explode( '/', $repo );
104
+
105
+		if ( 2 !== count( $parts ) ) {
106
+			return new WP_Error(
107
+				'malformed_repository',
108
+				__( 'Writing On GitHub needs a properly formed repository. Please update your settings.', 'writing-on-github' )
109
+			);
110
+		}
111
+
112
+		return true;
113
+	}
114
+
115
+	/**
116
+	 * Returns the repository to sync with
117
+	 *
118
+	 * @return string
119
+	 */
120
+	public function repository() {
121
+		return (string) get_option( self::REPO_OPTION_KEY );
122
+	}
123
+
124
+	/**
125
+	 * Returns the user's oauth token
126
+	 *
127
+	 * @return string
128
+	 */
129
+	public function oauth_token() {
130
+		return (string) get_option( self::TOKEN_OPTION_KEY );
131
+	}
132
+
133
+	/**
134
+	 * Returns the GitHub host to sync with (for GitHub Enterprise support)
135
+	 */
136
+	public function api_base() {
137
+		return get_option( self::HOST_OPTION_KEY );
138
+	}
139
+
140
+	public function branch() {
141
+		$branch = get_option( self::BRANCH_OPTION_KEY );
142
+		return $branch ? $branch : 'master';
143
+	}
144
+
145
+	/**
146
+	 * API endpoint for the master branch reference
147
+	 */
148
+	public function reference_endpoint() {
149
+		$url = $this->api_base() . '/repos/';
150
+		$url = $url . $this->repository() . '/git/refs/heads/' . $this->branch();
151
+
152
+		return $url;
153
+	}
154
+
155
+	/**
156
+	 * Api to get and create commits
157
+	 */
158
+	public function commit_endpoint() {
159
+		$url = $this->api_base() . '/repos/';
160
+		$url = $url . $this->repository() . '/git/commits';
161
+
162
+		return $url;
163
+	}
164
+
165
+	/**
166
+	 * Api to compare commits
167
+	 */
168
+	public function compare_endpoint() {
169
+		$url = $this->api_base() . '/repos/';
170
+		$url = $url . $this->repository() . '/compare';
171
+
172
+		return $url;
173
+	}
174
+
175
+	/**
176
+	 * Api to get and create trees
177
+	 */
178
+	public function tree_endpoint() {
179
+		$url = $this->api_base() . '/repos/';
180
+		$url = $url . $this->repository() . '/git/trees';
181
+
182
+		return $url;
183
+	}
184
+
185
+	/**
186
+	 * Builds the proper blob API endpoint for a given post
187
+	 *
188
+	 * Returns String the relative API call path
189
+	 */
190
+	public function blob_endpoint() {
191
+		$url = $this->api_base() . '/repos/';
192
+		$url = $url . $this->repository() . '/git/blobs';
193
+
194
+		return $url;
195
+	}
196
+
197
+	/**
198
+	 * Builds the proper content API endpoint for a given post
199
+	 *
200
+	 * Returns String the relative API call path
201
+	 */
202
+	public function content_endpoint( $path = false ) {
203
+		$url = $this->api_base() . '/repos/';
204
+		$url = $url . $this->repository() . '/contents';
205
+
206
+		if ( ! empty($path) ) {
207
+			$url .= '/' . $path;
208
+		}
209
+
210
+		return $url;
211
+	}
212 212
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
      *
27 27
      * @param Writing_On_GitHub $app Application container.
28 28
      */
29
-    public function __construct( Writing_On_GitHub $app ) {
29
+    public function __construct(Writing_On_GitHub $app) {
30 30
         $this->app = $app;
31 31
     }
32 32
 
@@ -39,8 +39,8 @@  discard block
 block discarded – undo
39 39
      *
40 40
      * @return stdClass|WP_Error
41 41
      */
42
-    protected function call( $method, $endpoint, $body = array() ) {
43
-        if ( is_wp_error( $error = $this->can_call() ) ) {
42
+    protected function call($method, $endpoint, $body = array()) {
43
+        if (is_wp_error($error = $this->can_call())) {
44 44
             /* @var WP_Error $error */
45 45
             return $error;
46 46
         }
@@ -52,25 +52,25 @@  discard block
 block discarded – undo
52 52
             ),
53 53
         );
54 54
 
55
-        if ( 'GET' !== $method ) {
56
-            $args['body'] = json_encode( $body );
55
+        if ('GET' !== $method) {
56
+            $args['body'] = json_encode($body);
57 57
         }
58 58
 
59 59
         // $tmpbody = isset( $args['body'] ) ? $args['body'] : '';
60 60
         // error_log( "writing-on-github-call $method $endpoint $tmpbody" );
61 61
 
62
-        $response = wp_remote_request( $endpoint, $args );
63
-        $status   = wp_remote_retrieve_header( $response, 'status' );
64
-        $body     = json_decode( wp_remote_retrieve_body( $response ) );
62
+        $response = wp_remote_request($endpoint, $args);
63
+        $status   = wp_remote_retrieve_header($response, 'status');
64
+        $body     = json_decode(wp_remote_retrieve_body($response));
65 65
 
66
-        if ( '2' !== substr( $status, 0, 1 ) && '3' !== substr( $status, 0, 1 ) ) {
66
+        if ('2' !== substr($status, 0, 1) && '3' !== substr($status, 0, 1)) {
67 67
             return new WP_Error(
68
-                strtolower( str_replace( ' ', '_', $status ) ),
68
+                strtolower(str_replace(' ', '_', $status)),
69 69
                 sprintf(
70
-                    __( 'Method %s to endpoint %s failed with error: %s', 'writing-on-github' ),
70
+                    __('Method %s to endpoint %s failed with error: %s', 'writing-on-github'),
71 71
                     $method,
72 72
                     $endpoint,
73
-                    ( $body && $body->message ) ? $body->message : 'Unknown error'
73
+                    ($body && $body->message) ? $body->message : 'Unknown error'
74 74
                 )
75 75
             );
76 76
         }
@@ -84,28 +84,28 @@  discard block
 block discarded – undo
84 84
      * @return true|WP_Error
85 85
      */
86 86
     protected function can_call() {
87
-        if ( ! $this->oauth_token() ) {
87
+        if ( ! $this->oauth_token()) {
88 88
             return new WP_Error(
89 89
                 'missing_token',
90
-                __( 'Writing On GitHub needs an auth token. Please update your settings.', 'writing-on-github' )
90
+                __('Writing On GitHub needs an auth token. Please update your settings.', 'writing-on-github')
91 91
             );
92 92
         }
93 93
 
94 94
         $repo = $this->repository();
95 95
 
96
-        if ( ! $repo ) {
96
+        if ( ! $repo) {
97 97
             return new WP_Error(
98 98
                 'missing_repository',
99
-                __( 'Writing On GitHub needs a repository. Please update your settings.', 'writing-on-github' )
99
+                __('Writing On GitHub needs a repository. Please update your settings.', 'writing-on-github')
100 100
             );
101 101
         }
102 102
 
103
-        $parts = explode( '/', $repo );
103
+        $parts = explode('/', $repo);
104 104
 
105
-        if ( 2 !== count( $parts ) ) {
105
+        if (2 !== count($parts)) {
106 106
             return new WP_Error(
107 107
                 'malformed_repository',
108
-                __( 'Writing On GitHub needs a properly formed repository. Please update your settings.', 'writing-on-github' )
108
+                __('Writing On GitHub needs a properly formed repository. Please update your settings.', 'writing-on-github')
109 109
             );
110 110
         }
111 111
 
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
      * @return string
119 119
      */
120 120
     public function repository() {
121
-        return (string) get_option( self::REPO_OPTION_KEY );
121
+        return (string) get_option(self::REPO_OPTION_KEY);
122 122
     }
123 123
 
124 124
     /**
@@ -127,18 +127,18 @@  discard block
 block discarded – undo
127 127
      * @return string
128 128
      */
129 129
     public function oauth_token() {
130
-        return (string) get_option( self::TOKEN_OPTION_KEY );
130
+        return (string) get_option(self::TOKEN_OPTION_KEY);
131 131
     }
132 132
 
133 133
     /**
134 134
      * Returns the GitHub host to sync with (for GitHub Enterprise support)
135 135
      */
136 136
     public function api_base() {
137
-        return get_option( self::HOST_OPTION_KEY );
137
+        return get_option(self::HOST_OPTION_KEY);
138 138
     }
139 139
 
140 140
     public function branch() {
141
-        $branch = get_option( self::BRANCH_OPTION_KEY );
141
+        $branch = get_option(self::BRANCH_OPTION_KEY);
142 142
         return $branch ? $branch : 'master';
143 143
     }
144 144
 
@@ -199,11 +199,11 @@  discard block
 block discarded – undo
199 199
      *
200 200
      * Returns String the relative API call path
201 201
      */
202
-    public function content_endpoint( $path = false ) {
202
+    public function content_endpoint($path = false) {
203 203
         $url = $this->api_base() . '/repos/';
204 204
         $url = $url . $this->repository() . '/contents';
205 205
 
206
-        if ( ! empty($path) ) {
206
+        if ( ! empty($path)) {
207 207
             $url .= '/' . $path;
208 208
         }
209 209
 
Please login to merge, or discard this patch.
lib/client/persist.php 2 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -9,75 +9,75 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Persist_Client extends Writing_On_GitHub_Base_Client {
11 11
 
12
-    /**
13
-     * Get the data for the current user.
14
-     *
15
-     * @return array
16
-     */
17
-    protected function export_user() {
18
-        $user_id = get_current_user_id();
19
-        $user = get_userdata( $user_id );
12
+	/**
13
+	 * Get the data for the current user.
14
+	 *
15
+	 * @return array
16
+	 */
17
+	protected function export_user() {
18
+		$user_id = get_current_user_id();
19
+		$user = get_userdata( $user_id );
20 20
 
21
-        if ( $user ) {
22
-            return array(
23
-                'name'  => $user->display_name,
24
-                'email' => $user->user_email,
25
-            );
26
-        }
21
+		if ( $user ) {
22
+			return array(
23
+				'name'  => $user->display_name,
24
+				'email' => $user->user_email,
25
+			);
26
+		}
27 27
 
28
-        return false;
29
-    }
28
+		return false;
29
+	}
30 30
 
31
-    /**
32
-     * Delete the file.
33
-     *
34
-     * @return array
35
-     */
36
-    public function delete_file( $path, $sha, $message ) {
37
-        $body = new stdClass();
38
-        $body->message = $message;
39
-        $body->sha = $sha;
40
-        $body->branch = $this->branch();
31
+	/**
32
+	 * Delete the file.
33
+	 *
34
+	 * @return array
35
+	 */
36
+	public function delete_file( $path, $sha, $message ) {
37
+		$body = new stdClass();
38
+		$body->message = $message;
39
+		$body->sha = $sha;
40
+		$body->branch = $this->branch();
41 41
 
42
-        if ( $author = $this->export_user() ) {
43
-            $body->author = $author;
44
-        }
42
+		if ( $author = $this->export_user() ) {
43
+			$body->author = $author;
44
+		}
45 45
 
46
-        return $this->call( 'DELETE', $this->content_endpoint( $path ), $body );
47
-    }
46
+		return $this->call( 'DELETE', $this->content_endpoint( $path ), $body );
47
+	}
48 48
 
49
-    /**
50
-     * Create the file.
51
-     *
52
-     * @return array
53
-     */
54
-    public function create_file( $blob, $message ) {
55
-        $body = $blob->to_body();
56
-        $body->message = $message;
57
-        $body->branch = $this->branch();
58
-        unset($body->sha);
49
+	/**
50
+	 * Create the file.
51
+	 *
52
+	 * @return array
53
+	 */
54
+	public function create_file( $blob, $message ) {
55
+		$body = $blob->to_body();
56
+		$body->message = $message;
57
+		$body->branch = $this->branch();
58
+		unset($body->sha);
59 59
 
60
-        if ( $author = $this->export_user() ) {
61
-            $body->author = $author;
62
-        }
60
+		if ( $author = $this->export_user() ) {
61
+			$body->author = $author;
62
+		}
63 63
 
64
-        return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
65
-    }
64
+		return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
65
+	}
66 66
 
67
-    /**
68
-     * Update the file.
69
-     *
70
-     * @return array
71
-     */
72
-    public function update_file( $blob, $message ) {
73
-        $body = $blob->to_body();
74
-        $body->message = $message;
75
-        $body->branch = $this->branch();
67
+	/**
68
+	 * Update the file.
69
+	 *
70
+	 * @return array
71
+	 */
72
+	public function update_file( $blob, $message ) {
73
+		$body = $blob->to_body();
74
+		$body->message = $message;
75
+		$body->branch = $this->branch();
76 76
 
77
-        if ( $author = $this->export_user() ) {
78
-            $body->author = $author;
79
-        }
77
+		if ( $author = $this->export_user() ) {
78
+			$body->author = $author;
79
+		}
80 80
 
81
-        return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
82
-    }
81
+		return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
82
+	}
83 83
 }
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -16,9 +16,9 @@  discard block
 block discarded – undo
16 16
      */
17 17
     protected function export_user() {
18 18
         $user_id = get_current_user_id();
19
-        $user = get_userdata( $user_id );
19
+        $user = get_userdata($user_id);
20 20
 
21
-        if ( $user ) {
21
+        if ($user) {
22 22
             return array(
23 23
                 'name'  => $user->display_name,
24 24
                 'email' => $user->user_email,
@@ -33,17 +33,17 @@  discard block
 block discarded – undo
33 33
      *
34 34
      * @return array
35 35
      */
36
-    public function delete_file( $path, $sha, $message ) {
36
+    public function delete_file($path, $sha, $message) {
37 37
         $body = new stdClass();
38 38
         $body->message = $message;
39 39
         $body->sha = $sha;
40 40
         $body->branch = $this->branch();
41 41
 
42
-        if ( $author = $this->export_user() ) {
42
+        if ($author = $this->export_user()) {
43 43
             $body->author = $author;
44 44
         }
45 45
 
46
-        return $this->call( 'DELETE', $this->content_endpoint( $path ), $body );
46
+        return $this->call('DELETE', $this->content_endpoint($path), $body);
47 47
     }
48 48
 
49 49
     /**
@@ -51,17 +51,17 @@  discard block
 block discarded – undo
51 51
      *
52 52
      * @return array
53 53
      */
54
-    public function create_file( $blob, $message ) {
54
+    public function create_file($blob, $message) {
55 55
         $body = $blob->to_body();
56 56
         $body->message = $message;
57 57
         $body->branch = $this->branch();
58 58
         unset($body->sha);
59 59
 
60
-        if ( $author = $this->export_user() ) {
60
+        if ($author = $this->export_user()) {
61 61
             $body->author = $author;
62 62
         }
63 63
 
64
-        return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
64
+        return $this->call('PUT', $this->content_endpoint($blob->path()), $body);
65 65
     }
66 66
 
67 67
     /**
@@ -69,15 +69,15 @@  discard block
 block discarded – undo
69 69
      *
70 70
      * @return array
71 71
      */
72
-    public function update_file( $blob, $message ) {
72
+    public function update_file($blob, $message) {
73 73
         $body = $blob->to_body();
74 74
         $body->message = $message;
75 75
         $body->branch = $this->branch();
76 76
 
77
-        if ( $author = $this->export_user() ) {
77
+        if ($author = $this->export_user()) {
78 78
             $body->author = $author;
79 79
         }
80 80
 
81
-        return $this->call( 'PUT', $this->content_endpoint( $blob->path() ), $body );
81
+        return $this->call('PUT', $this->content_endpoint($blob->path()), $body);
82 82
     }
83 83
 }
Please login to merge, or discard this patch.
lib/response.php 2 patches
Indentation   +70 added lines, -70 removed lines patch added patch discarded remove patch
@@ -9,87 +9,87 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Response {
11 11
 
12
-    /**
13
-     * Application container.
14
-     *
15
-     * @var Writing_On_GitHub
16
-     */
17
-    protected $app;
12
+	/**
13
+	 * Application container.
14
+	 *
15
+	 * @var Writing_On_GitHub
16
+	 */
17
+	protected $app;
18 18
 
19
-    /**
20
-     * Writing_On_GitHub_Response constructor.
21
-     *
22
-     * @param Writing_On_GitHub $app Application container.
23
-     */
24
-    public function __construct( Writing_On_GitHub $app ) {
25
-        $this->app = $app;
26
-    }
19
+	/**
20
+	 * Writing_On_GitHub_Response constructor.
21
+	 *
22
+	 * @param Writing_On_GitHub $app Application container.
23
+	 */
24
+	public function __construct( Writing_On_GitHub $app ) {
25
+		$this->app = $app;
26
+	}
27 27
 
28
-    /**
29
-     * Writes to the log and returns the error response.
30
-     *
31
-     * @param WP_Error $error Error to respond with.
32
-     *
33
-     * @return false
34
-     */
35
-    public function error( WP_Error $error ) {
36
-        global $wp_version;
28
+	/**
29
+	 * Writes to the log and returns the error response.
30
+	 *
31
+	 * @param WP_Error $error Error to respond with.
32
+	 *
33
+	 * @return false
34
+	 */
35
+	public function error( WP_Error $error ) {
36
+		global $wp_version;
37 37
 
38
-        $this->log( $error );
38
+		$this->log( $error );
39 39
 
40
-        if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
41
-            /**
42
-             * WordPress 4.1.0 introduced allowing WP_Error objects to be
43
-             * passed directly into `wp_send_json_error`. This shims in
44
-             * compatibility for older versions. We're currently supporting 3.9+.
45
-             */
46
-            if ( version_compare( $wp_version, '4.1.0', '<' ) ) {
47
-                $result = array();
40
+		if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
41
+			/**
42
+			 * WordPress 4.1.0 introduced allowing WP_Error objects to be
43
+			 * passed directly into `wp_send_json_error`. This shims in
44
+			 * compatibility for older versions. We're currently supporting 3.9+.
45
+			 */
46
+			if ( version_compare( $wp_version, '4.1.0', '<' ) ) {
47
+				$result = array();
48 48
 
49
-                foreach ( $error->errors as $code => $messages ) {
50
-                    foreach ( $messages as $message ) {
51
-                        $result[] = array( 'code' => $code, 'message' => $message );
52
-                    }
53
-                }
49
+				foreach ( $error->errors as $code => $messages ) {
50
+					foreach ( $messages as $message ) {
51
+						$result[] = array( 'code' => $code, 'message' => $message );
52
+					}
53
+				}
54 54
 
55
-                $error = $result;
56
-            }
55
+				$error = $result;
56
+			}
57 57
 
58
-            wp_send_json_error( $error );
59
-        }
58
+			wp_send_json_error( $error );
59
+		}
60 60
 
61
-        return false;
62
-    }
61
+		return false;
62
+	}
63 63
 
64
-    /**
65
-     * Writes to the log and returns the success response.
66
-     *
67
-     * @param string $success Success message to respond with.
68
-     *
69
-     * @return true
70
-     */
71
-    public function success( $success ) {
72
-        $this->log( $success );
64
+	/**
65
+	 * Writes to the log and returns the success response.
66
+	 *
67
+	 * @param string $success Success message to respond with.
68
+	 *
69
+	 * @return true
70
+	 */
71
+	public function success( $success ) {
72
+		$this->log( $success );
73 73
 
74
-        if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
75
-            wp_send_json_success( $success );
76
-        }
74
+		if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
75
+			wp_send_json_success( $success );
76
+		}
77 77
 
78
-        return true;
79
-    }
78
+		return true;
79
+	}
80 80
 
81
-    /**
82
-     * Writes a log message.
83
-     *
84
-     * Can extract a message from WP_Error object.
85
-     *
86
-     * @param string|WP_Error $msg Message to log.
87
-     */
88
-    protected function log( $msg ) {
89
-        if ( is_wp_error( $msg ) ) {
90
-            $msg = $msg->get_error_message();
91
-        }
81
+	/**
82
+	 * Writes a log message.
83
+	 *
84
+	 * Can extract a message from WP_Error object.
85
+	 *
86
+	 * @param string|WP_Error $msg Message to log.
87
+	 */
88
+	protected function log( $msg ) {
89
+		if ( is_wp_error( $msg ) ) {
90
+			$msg = $msg->get_error_message();
91
+		}
92 92
 
93
-        Writing_On_GitHub::write_log( $msg );
94
-    }
93
+		Writing_On_GitHub::write_log( $msg );
94
+	}
95 95
 }
Please login to merge, or discard this patch.
Spacing   +16 added lines, -16 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 Application 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
 
@@ -32,30 +32,30 @@  discard block
 block discarded – undo
32 32
      *
33 33
      * @return false
34 34
      */
35
-    public function error( WP_Error $error ) {
35
+    public function error(WP_Error $error) {
36 36
         global $wp_version;
37 37
 
38
-        $this->log( $error );
38
+        $this->log($error);
39 39
 
40
-        if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
40
+        if (defined('DOING_AJAX') && DOING_AJAX && defined('WOGH_AJAX') && WOGH_AJAX) {
41 41
             /**
42 42
              * WordPress 4.1.0 introduced allowing WP_Error objects to be
43 43
              * passed directly into `wp_send_json_error`. This shims in
44 44
              * compatibility for older versions. We're currently supporting 3.9+.
45 45
              */
46
-            if ( version_compare( $wp_version, '4.1.0', '<' ) ) {
46
+            if (version_compare($wp_version, '4.1.0', '<')) {
47 47
                 $result = array();
48 48
 
49
-                foreach ( $error->errors as $code => $messages ) {
50
-                    foreach ( $messages as $message ) {
51
-                        $result[] = array( 'code' => $code, 'message' => $message );
49
+                foreach ($error->errors as $code => $messages) {
50
+                    foreach ($messages as $message) {
51
+                        $result[] = array('code' => $code, 'message' => $message);
52 52
                     }
53 53
                 }
54 54
 
55 55
                 $error = $result;
56 56
             }
57 57
 
58
-            wp_send_json_error( $error );
58
+            wp_send_json_error($error);
59 59
         }
60 60
 
61 61
         return false;
@@ -68,11 +68,11 @@  discard block
 block discarded – undo
68 68
      *
69 69
      * @return true
70 70
      */
71
-    public function success( $success ) {
72
-        $this->log( $success );
71
+    public function success($success) {
72
+        $this->log($success);
73 73
 
74
-        if ( defined( 'DOING_AJAX' ) && DOING_AJAX && defined( 'WOGH_AJAX' ) && WOGH_AJAX ) {
75
-            wp_send_json_success( $success );
74
+        if (defined('DOING_AJAX') && DOING_AJAX && defined('WOGH_AJAX') && WOGH_AJAX) {
75
+            wp_send_json_success($success);
76 76
         }
77 77
 
78 78
         return true;
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
      *
86 86
      * @param string|WP_Error $msg Message to log.
87 87
      */
88
-    protected function log( $msg ) {
89
-        if ( is_wp_error( $msg ) ) {
88
+    protected function log($msg) {
89
+        if (is_wp_error($msg)) {
90 90
             $msg = $msg->get_error_message();
91 91
         }
92 92
 
93
-        Writing_On_GitHub::write_log( $msg );
93
+        Writing_On_GitHub::write_log($msg);
94 94
     }
95 95
 }
Please login to merge, or discard this patch.
lib/controller.php 2 patches
Indentation   +230 added lines, -230 removed lines patch added patch discarded remove patch
@@ -9,234 +9,234 @@
 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
-                __( 'Failed to validate webhook event.', 'writing-on-github' )
61
-            ) );
62
-        }
63
-        $payload = $this->app->request()->payload();
64
-
65
-        if ( ! $payload->should_import() ) {
66
-            return $this->app->response()->error( new WP_Error(
67
-                'invalid_payload',
68
-                sprintf(
69
-                    __( "%s won't be imported.", 'writing-on-github' ),
70
-                    strtolower( $payload->get_commit_id() ) ? : '[Missing Commit ID]'
71
-                )
72
-            ) );
73
-        }
74
-
75
-        $this->app->semaphore()->lock();
76
-        remove_action( 'save_post', array( $this, 'export_post' ) );
77
-        remove_action( 'delete_post', array( $this, 'delete_post' ) );
78
-
79
-        $result = $this->app->import()->payload( $payload );
80
-
81
-        $this->app->semaphore()->unlock();
82
-
83
-        if ( is_wp_error( $result ) ) {
84
-            /* @var WP_Error $result */
85
-            return $this->app->response()->error( $result );
86
-        }
87
-
88
-        return $this->app->response()->success( $result );
89
-    }
90
-
91
-    /**
92
-     * Imports posts from the current master branch.
93
-     *
94
-     * @return boolean
95
-     */
96
-    public function import_master( $user_id = 0 ) {
97
-        if ( ! $this->app->semaphore()->is_open() ) {
98
-            return $this->app->response()->error( new WP_Error(
99
-                'semaphore_locked',
100
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
101
-            ) );
102
-        }
103
-
104
-        $this->app->semaphore()->lock();
105
-        remove_action( 'save_post', array( $this, 'export_post' ) );
106
-        remove_action( 'save_post', array( $this, 'delete_post' ) );
107
-
108
-        if ( $user_id ) {
109
-            wp_set_current_user( $user_id );
110
-        }
111
-
112
-        $result = $this->app->import()->master();
113
-
114
-        $this->app->semaphore()->unlock();
115
-
116
-        if ( is_wp_error( $result ) ) {
117
-            /* @var WP_Error $result */
118
-            update_option( '_wogh_import_error', $result->get_error_message() );
119
-
120
-            return $this->app->response()->error( $result );
121
-        }
122
-
123
-        update_option( '_wogh_import_complete', 'yes' );
124
-
125
-        return $this->app->response()->success( $result );
126
-    }
127
-
128
-    /**
129
-     * Export all the posts in the database to GitHub.
130
-     *
131
-     * @param  int        $user_id
132
-     * @param  boolean    $force
133
-     * @return boolean
134
-     */
135
-    public function export_all( $user_id = 0, $force = false ) {
136
-        if ( ! $this->app->semaphore()->is_open() ) {
137
-            return $this->app->response()->error( new WP_Error(
138
-                'semaphore_locked',
139
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
140
-            ) );
141
-        }
142
-
143
-        $this->app->semaphore()->lock();
144
-
145
-        if ( $user_id ) {
146
-            wp_set_current_user( $user_id );
147
-        }
148
-
149
-        $result = $this->app->export()->full($force);
150
-        $this->app->semaphore()->unlock();
151
-
152
-        // Maybe move option updating out of this class/upgrade message display?
153
-        if ( is_wp_error( $result ) ) {
154
-            /* @var WP_Error $result */
155
-            update_option( '_wogh_export_error', $result->get_error_message() );
156
-
157
-            return $this->app->response()->error( $result );
158
-        } else {
159
-            update_option( '_wogh_export_complete', 'yes' );
160
-            update_option( '_wogh_fully_exported', 'yes' );
161
-
162
-            return $this->app->response()->success( $result );
163
-        }
164
-    }
165
-
166
-    /**
167
-     * Exports a single post to GitHub by ID.
168
-     *
169
-     * Called on the save_post hook.
170
-     *
171
-     * @param int $post_id Post ID.
172
-     *
173
-     * @return boolean
174
-     */
175
-    public function export_post( $post_id ) {
176
-        if ( wp_is_post_revision( $post_id ) ) {
177
-            return;
178
-        }
179
-
180
-        if ( ! $this->app->semaphore()->is_open() ) {
181
-            return $this->app->response()->error( new WP_Error(
182
-                'semaphore_locked',
183
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
184
-            ) );
185
-        }
186
-
187
-        $this->app->semaphore()->lock();
188
-        $result = $this->app->export()->update( $post_id );
189
-        $this->app->semaphore()->unlock();
190
-
191
-        if ( is_wp_error( $result ) ) {
192
-            /* @var WP_Error $result */
193
-            return $this->app->response()->error( $result );
194
-        }
195
-
196
-        return $this->app->response()->success( $result );
197
-    }
198
-
199
-    /**
200
-     * Removes the post from the tree.
201
-     *
202
-     * Called the delete_post hook.
203
-     *
204
-     * @param int $post_id Post ID.
205
-     *
206
-     * @return boolean
207
-     */
208
-    public function delete_post( $post_id ) {
209
-        if ( wp_is_post_revision( $post_id ) ) {
210
-            return;
211
-        }
212
-
213
-        if ( ! $this->app->semaphore()->is_open() ) {
214
-            return $this->app->response()->error( new WP_Error(
215
-                'semaphore_locked',
216
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
217
-            ) );
218
-        }
219
-
220
-        $this->app->semaphore()->lock();
221
-        $result = $this->app->export()->delete( $post_id );
222
-        $this->app->semaphore()->unlock();
223
-
224
-        if ( is_wp_error( $result ) ) {
225
-            /* @var WP_Error $result */
226
-            return $this->app->response()->error( $result );
227
-        }
228
-
229
-        return $this->app->response()->success( $result );
230
-    }
231
-
232
-    /**
233
-     * Indicates we're running our own AJAX hook
234
-     * and thus should respond with JSON, rather
235
-     * than just returning data.
236
-     */
237
-    protected function set_ajax() {
238
-        if ( ! defined( 'WOGH_AJAX' ) ) {
239
-            define( 'WOGH_AJAX', true );
240
-        }
241
-    }
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
+				__( 'Failed to validate webhook event.', 'writing-on-github' )
61
+			) );
62
+		}
63
+		$payload = $this->app->request()->payload();
64
+
65
+		if ( ! $payload->should_import() ) {
66
+			return $this->app->response()->error( new WP_Error(
67
+				'invalid_payload',
68
+				sprintf(
69
+					__( "%s won't be imported.", 'writing-on-github' ),
70
+					strtolower( $payload->get_commit_id() ) ? : '[Missing Commit ID]'
71
+				)
72
+			) );
73
+		}
74
+
75
+		$this->app->semaphore()->lock();
76
+		remove_action( 'save_post', array( $this, 'export_post' ) );
77
+		remove_action( 'delete_post', array( $this, 'delete_post' ) );
78
+
79
+		$result = $this->app->import()->payload( $payload );
80
+
81
+		$this->app->semaphore()->unlock();
82
+
83
+		if ( is_wp_error( $result ) ) {
84
+			/* @var WP_Error $result */
85
+			return $this->app->response()->error( $result );
86
+		}
87
+
88
+		return $this->app->response()->success( $result );
89
+	}
90
+
91
+	/**
92
+	 * Imports posts from the current master branch.
93
+	 *
94
+	 * @return boolean
95
+	 */
96
+	public function import_master( $user_id = 0 ) {
97
+		if ( ! $this->app->semaphore()->is_open() ) {
98
+			return $this->app->response()->error( new WP_Error(
99
+				'semaphore_locked',
100
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
101
+			) );
102
+		}
103
+
104
+		$this->app->semaphore()->lock();
105
+		remove_action( 'save_post', array( $this, 'export_post' ) );
106
+		remove_action( 'save_post', array( $this, 'delete_post' ) );
107
+
108
+		if ( $user_id ) {
109
+			wp_set_current_user( $user_id );
110
+		}
111
+
112
+		$result = $this->app->import()->master();
113
+
114
+		$this->app->semaphore()->unlock();
115
+
116
+		if ( is_wp_error( $result ) ) {
117
+			/* @var WP_Error $result */
118
+			update_option( '_wogh_import_error', $result->get_error_message() );
119
+
120
+			return $this->app->response()->error( $result );
121
+		}
122
+
123
+		update_option( '_wogh_import_complete', 'yes' );
124
+
125
+		return $this->app->response()->success( $result );
126
+	}
127
+
128
+	/**
129
+	 * Export all the posts in the database to GitHub.
130
+	 *
131
+	 * @param  int        $user_id
132
+	 * @param  boolean    $force
133
+	 * @return boolean
134
+	 */
135
+	public function export_all( $user_id = 0, $force = false ) {
136
+		if ( ! $this->app->semaphore()->is_open() ) {
137
+			return $this->app->response()->error( new WP_Error(
138
+				'semaphore_locked',
139
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
140
+			) );
141
+		}
142
+
143
+		$this->app->semaphore()->lock();
144
+
145
+		if ( $user_id ) {
146
+			wp_set_current_user( $user_id );
147
+		}
148
+
149
+		$result = $this->app->export()->full($force);
150
+		$this->app->semaphore()->unlock();
151
+
152
+		// Maybe move option updating out of this class/upgrade message display?
153
+		if ( is_wp_error( $result ) ) {
154
+			/* @var WP_Error $result */
155
+			update_option( '_wogh_export_error', $result->get_error_message() );
156
+
157
+			return $this->app->response()->error( $result );
158
+		} else {
159
+			update_option( '_wogh_export_complete', 'yes' );
160
+			update_option( '_wogh_fully_exported', 'yes' );
161
+
162
+			return $this->app->response()->success( $result );
163
+		}
164
+	}
165
+
166
+	/**
167
+	 * Exports a single post to GitHub by ID.
168
+	 *
169
+	 * Called on the save_post hook.
170
+	 *
171
+	 * @param int $post_id Post ID.
172
+	 *
173
+	 * @return boolean
174
+	 */
175
+	public function export_post( $post_id ) {
176
+		if ( wp_is_post_revision( $post_id ) ) {
177
+			return;
178
+		}
179
+
180
+		if ( ! $this->app->semaphore()->is_open() ) {
181
+			return $this->app->response()->error( new WP_Error(
182
+				'semaphore_locked',
183
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
184
+			) );
185
+		}
186
+
187
+		$this->app->semaphore()->lock();
188
+		$result = $this->app->export()->update( $post_id );
189
+		$this->app->semaphore()->unlock();
190
+
191
+		if ( is_wp_error( $result ) ) {
192
+			/* @var WP_Error $result */
193
+			return $this->app->response()->error( $result );
194
+		}
195
+
196
+		return $this->app->response()->success( $result );
197
+	}
198
+
199
+	/**
200
+	 * Removes the post from the tree.
201
+	 *
202
+	 * Called the delete_post hook.
203
+	 *
204
+	 * @param int $post_id Post ID.
205
+	 *
206
+	 * @return boolean
207
+	 */
208
+	public function delete_post( $post_id ) {
209
+		if ( wp_is_post_revision( $post_id ) ) {
210
+			return;
211
+		}
212
+
213
+		if ( ! $this->app->semaphore()->is_open() ) {
214
+			return $this->app->response()->error( new WP_Error(
215
+				'semaphore_locked',
216
+				sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
217
+			) );
218
+		}
219
+
220
+		$this->app->semaphore()->lock();
221
+		$result = $this->app->export()->delete( $post_id );
222
+		$this->app->semaphore()->unlock();
223
+
224
+		if ( is_wp_error( $result ) ) {
225
+			/* @var WP_Error $result */
226
+			return $this->app->response()->error( $result );
227
+		}
228
+
229
+		return $this->app->response()->success( $result );
230
+	}
231
+
232
+	/**
233
+	 * Indicates we're running our own AJAX hook
234
+	 * and thus should respond with JSON, rather
235
+	 * than just returning data.
236
+	 */
237
+	protected function set_ajax() {
238
+		if ( ! defined( 'WOGH_AJAX' ) ) {
239
+			define( 'WOGH_AJAX', true );
240
+		}
241
+	}
242 242
 }
Please login to merge, or discard this patch.
Spacing   +75 added lines, -75 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,58 +34,58 @@  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
-                __( 'Failed to validate webhook event.', 'writing-on-github' )
61
-            ) );
60
+                __('Failed to validate webhook event.', 'writing-on-github')
61
+            ));
62 62
         }
63 63
         $payload = $this->app->request()->payload();
64 64
 
65
-        if ( ! $payload->should_import() ) {
66
-            return $this->app->response()->error( new WP_Error(
65
+        if ( ! $payload->should_import()) {
66
+            return $this->app->response()->error(new WP_Error(
67 67
                 'invalid_payload',
68 68
                 sprintf(
69
-                    __( "%s won't be imported.", 'writing-on-github' ),
70
-                    strtolower( $payload->get_commit_id() ) ? : '[Missing Commit ID]'
69
+                    __("%s won't be imported.", 'writing-on-github'),
70
+                    strtolower($payload->get_commit_id()) ?: '[Missing Commit ID]'
71 71
                 )
72
-            ) );
72
+            ));
73 73
         }
74 74
 
75 75
         $this->app->semaphore()->lock();
76
-        remove_action( 'save_post', array( $this, 'export_post' ) );
77
-        remove_action( 'delete_post', array( $this, 'delete_post' ) );
76
+        remove_action('save_post', array($this, 'export_post'));
77
+        remove_action('delete_post', array($this, 'delete_post'));
78 78
 
79
-        $result = $this->app->import()->payload( $payload );
79
+        $result = $this->app->import()->payload($payload);
80 80
 
81 81
         $this->app->semaphore()->unlock();
82 82
 
83
-        if ( is_wp_error( $result ) ) {
83
+        if (is_wp_error($result)) {
84 84
             /* @var WP_Error $result */
85
-            return $this->app->response()->error( $result );
85
+            return $this->app->response()->error($result);
86 86
         }
87 87
 
88
-        return $this->app->response()->success( $result );
88
+        return $this->app->response()->success($result);
89 89
     }
90 90
 
91 91
     /**
@@ -93,36 +93,36 @@  discard block
 block discarded – undo
93 93
      *
94 94
      * @return boolean
95 95
      */
96
-    public function import_master( $user_id = 0 ) {
97
-        if ( ! $this->app->semaphore()->is_open() ) {
98
-            return $this->app->response()->error( new WP_Error(
96
+    public function import_master($user_id = 0) {
97
+        if ( ! $this->app->semaphore()->is_open()) {
98
+            return $this->app->response()->error(new WP_Error(
99 99
                 'semaphore_locked',
100
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::import_master()' )
101
-            ) );
100
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::import_master()')
101
+            ));
102 102
         }
103 103
 
104 104
         $this->app->semaphore()->lock();
105
-        remove_action( 'save_post', array( $this, 'export_post' ) );
106
-        remove_action( 'save_post', array( $this, 'delete_post' ) );
105
+        remove_action('save_post', array($this, 'export_post'));
106
+        remove_action('save_post', array($this, 'delete_post'));
107 107
 
108
-        if ( $user_id ) {
109
-            wp_set_current_user( $user_id );
108
+        if ($user_id) {
109
+            wp_set_current_user($user_id);
110 110
         }
111 111
 
112 112
         $result = $this->app->import()->master();
113 113
 
114 114
         $this->app->semaphore()->unlock();
115 115
 
116
-        if ( is_wp_error( $result ) ) {
116
+        if (is_wp_error($result)) {
117 117
             /* @var WP_Error $result */
118
-            update_option( '_wogh_import_error', $result->get_error_message() );
118
+            update_option('_wogh_import_error', $result->get_error_message());
119 119
 
120
-            return $this->app->response()->error( $result );
120
+            return $this->app->response()->error($result);
121 121
         }
122 122
 
123
-        update_option( '_wogh_import_complete', 'yes' );
123
+        update_option('_wogh_import_complete', 'yes');
124 124
 
125
-        return $this->app->response()->success( $result );
125
+        return $this->app->response()->success($result);
126 126
     }
127 127
 
128 128
     /**
@@ -132,34 +132,34 @@  discard block
 block discarded – undo
132 132
      * @param  boolean    $force
133 133
      * @return boolean
134 134
      */
135
-    public function export_all( $user_id = 0, $force = false ) {
136
-        if ( ! $this->app->semaphore()->is_open() ) {
137
-            return $this->app->response()->error( new WP_Error(
135
+    public function export_all($user_id = 0, $force = false) {
136
+        if ( ! $this->app->semaphore()->is_open()) {
137
+            return $this->app->response()->error(new WP_Error(
138 138
                 'semaphore_locked',
139
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_all()' )
140
-            ) );
139
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::export_all()')
140
+            ));
141 141
         }
142 142
 
143 143
         $this->app->semaphore()->lock();
144 144
 
145
-        if ( $user_id ) {
146
-            wp_set_current_user( $user_id );
145
+        if ($user_id) {
146
+            wp_set_current_user($user_id);
147 147
         }
148 148
 
149 149
         $result = $this->app->export()->full($force);
150 150
         $this->app->semaphore()->unlock();
151 151
 
152 152
         // Maybe move option updating out of this class/upgrade message display?
153
-        if ( is_wp_error( $result ) ) {
153
+        if (is_wp_error($result)) {
154 154
             /* @var WP_Error $result */
155
-            update_option( '_wogh_export_error', $result->get_error_message() );
155
+            update_option('_wogh_export_error', $result->get_error_message());
156 156
 
157
-            return $this->app->response()->error( $result );
157
+            return $this->app->response()->error($result);
158 158
         } else {
159
-            update_option( '_wogh_export_complete', 'yes' );
160
-            update_option( '_wogh_fully_exported', 'yes' );
159
+            update_option('_wogh_export_complete', 'yes');
160
+            update_option('_wogh_fully_exported', 'yes');
161 161
 
162
-            return $this->app->response()->success( $result );
162
+            return $this->app->response()->success($result);
163 163
         }
164 164
     }
165 165
 
@@ -172,28 +172,28 @@  discard block
 block discarded – undo
172 172
      *
173 173
      * @return boolean
174 174
      */
175
-    public function export_post( $post_id ) {
176
-        if ( wp_is_post_revision( $post_id ) ) {
175
+    public function export_post($post_id) {
176
+        if (wp_is_post_revision($post_id)) {
177 177
             return;
178 178
         }
179 179
 
180
-        if ( ! $this->app->semaphore()->is_open() ) {
181
-            return $this->app->response()->error( new WP_Error(
180
+        if ( ! $this->app->semaphore()->is_open()) {
181
+            return $this->app->response()->error(new WP_Error(
182 182
                 'semaphore_locked',
183
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::export_post()' )
184
-            ) );
183
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::export_post()')
184
+            ));
185 185
         }
186 186
 
187 187
         $this->app->semaphore()->lock();
188
-        $result = $this->app->export()->update( $post_id );
188
+        $result = $this->app->export()->update($post_id);
189 189
         $this->app->semaphore()->unlock();
190 190
 
191
-        if ( is_wp_error( $result ) ) {
191
+        if (is_wp_error($result)) {
192 192
             /* @var WP_Error $result */
193
-            return $this->app->response()->error( $result );
193
+            return $this->app->response()->error($result);
194 194
         }
195 195
 
196
-        return $this->app->response()->success( $result );
196
+        return $this->app->response()->success($result);
197 197
     }
198 198
 
199 199
     /**
@@ -205,28 +205,28 @@  discard block
 block discarded – undo
205 205
      *
206 206
      * @return boolean
207 207
      */
208
-    public function delete_post( $post_id ) {
209
-        if ( wp_is_post_revision( $post_id ) ) {
208
+    public function delete_post($post_id) {
209
+        if (wp_is_post_revision($post_id)) {
210 210
             return;
211 211
         }
212 212
 
213
-        if ( ! $this->app->semaphore()->is_open() ) {
214
-            return $this->app->response()->error( new WP_Error(
213
+        if ( ! $this->app->semaphore()->is_open()) {
214
+            return $this->app->response()->error(new WP_Error(
215 215
                 'semaphore_locked',
216
-                sprintf( __( '%s : Semaphore is locked, import/export already in progress.', 'writing-on-github' ), 'Controller::delete_post()' )
217
-            ) );
216
+                sprintf(__('%s : Semaphore is locked, import/export already in progress.', 'writing-on-github'), 'Controller::delete_post()')
217
+            ));
218 218
         }
219 219
 
220 220
         $this->app->semaphore()->lock();
221
-        $result = $this->app->export()->delete( $post_id );
221
+        $result = $this->app->export()->delete($post_id);
222 222
         $this->app->semaphore()->unlock();
223 223
 
224
-        if ( is_wp_error( $result ) ) {
224
+        if (is_wp_error($result)) {
225 225
             /* @var WP_Error $result */
226
-            return $this->app->response()->error( $result );
226
+            return $this->app->response()->error($result);
227 227
         }
228 228
 
229
-        return $this->app->response()->success( $result );
229
+        return $this->app->response()->success($result);
230 230
     }
231 231
 
232 232
     /**
@@ -235,8 +235,8 @@  discard block
 block discarded – undo
235 235
      * than just returning data.
236 236
      */
237 237
     protected function set_ajax() {
238
-        if ( ! defined( 'WOGH_AJAX' ) ) {
239
-            define( 'WOGH_AJAX', true );
238
+        if ( ! defined('WOGH_AJAX')) {
239
+            define('WOGH_AJAX', true);
240 240
         }
241 241
     }
242 242
 }
Please login to merge, or discard this patch.