Passed
Push — master ( cdcc0c...410349 )
by litefeel
22:03 queued 03:07
created
lib/blob.php 2 patches
Indentation   +222 added lines, -222 removed lines patch added patch discarded remove patch
@@ -9,226 +9,226 @@
 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
-     * Instantiates a new Blob object.
55
-     *
56
-     * @param stdClass $data Raw blob data.
57
-     */
58
-    public function __construct( stdClass $data ) {
59
-        $this->interpret_data( $data );
60
-    }
61
-
62
-    public function id() {
63
-        return $this->id;
64
-    }
65
-
66
-    public function set_id($id) {
67
-        $this->id = $id;
68
-    }
69
-
70
-    /**
71
-     * Returns the raw blob content.
72
-     *
73
-     * @return string
74
-     */
75
-    public function content() {
76
-        return $this->content;
77
-    }
78
-
79
-    /**
80
-     * Set's the blob's content.
81
-     *
82
-     * @param string $content Raw blob content.
83
-     * @param bool   $base64 Whether the content is base64 encoded.
84
-     *
85
-     * @return $this
86
-     */
87
-    public function set_content( $content, $base64 = false ) {
88
-        if ( $base64 ) {
89
-            $content = base64_decode( $content );
90
-        }
91
-
92
-        $this->frontmatter = '---' === substr( $this->content = $content, 0, 3 );
93
-
94
-        return $this;
95
-    }
96
-    /**
97
-     * Returns the blob sha.
98
-     *
99
-     * @return string
100
-     */
101
-    public function sha() {
102
-        return $this->sha;
103
-    }
104
-
105
-    /**
106
-     * Return's the blob path.
107
-     *
108
-     * @return string
109
-     */
110
-    public function path() {
111
-        return $this->path;
112
-    }
113
-
114
-    /**
115
-     * Whether the blob has frontmatter.
116
-     *
117
-     * @return bool
118
-     */
119
-    public function has_frontmatter() {
120
-        return $this->frontmatter;
121
-    }
122
-
123
-    /**
124
-     * The front matter of github post
125
-     * @return string
126
-     */
127
-    public function front_matter() {
128
-        return $this->front_matter;
129
-    }
130
-
131
-    /**
132
-     * Returns the formatted/filtered blob content used for import.
133
-     *
134
-     * @return string
135
-     */
136
-    public function content_import() {
137
-        $content = $this->content();
138
-
139
-        if ( $this->has_frontmatter() ) {
140
-            // Break out content.
141
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $content, $matches );
142
-            $this->front_matter = $matches[1];
143
-            $content = array_pop( $matches );
144
-        }
145
-
146
-        if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
147
-            $content = wpmarkdown_markdown_to_html( $content );
148
-        }
149
-
150
-        /**
151
-         * Filters the content for import.
152
-         */
153
-        return apply_filters( 'wogh_content_import', trim( $content ) );
154
-    }
155
-
156
-    /**
157
-     * Returns the blob meta.
158
-     *
159
-     * @return array
160
-     */
161
-    public function meta() {
162
-        $meta = array();
163
-
164
-        if ( $this->has_frontmatter() ) {
165
-            // Break out meta, if present.
166
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
167
-            array_pop( $matches );
168
-
169
-            $meta = spyc_load( $matches[2] );
170
-            if ( 'yes' == get_option('wogh_ignore_author') ) {
171
-                unset($meta['author']);
172
-            }
173
-            // if ( isset( $meta['link'] ) ) {
174
-            //  $meta['link'] = str_replace( home_url(), '', $meta['link'] );
175
-            // }
176
-        }
177
-
178
-        return $meta;
179
-    }
180
-
181
-    /**
182
-     * Formats the blob into an API call body.
183
-     *
184
-     * @return stdClass
185
-     */
186
-    // public function to_body() {
187
-    //  $data = new stdClass;
188
-
189
-    //  $data->mode = '100644';
190
-    //  $data->type = 'blob';
191
-
192
-    //  $data->path = $this->path();
193
-
194
-    //  if ( $this->sha() ) {
195
-    //      $data->sha = $this->sha();
196
-    //  } else {
197
-    //      $data->content = $this->content();
198
-    //  }
199
-
200
-    //  return $data;
201
-    // }
202
-
203
-
204
-    /**
205
-     * Formats the blob into an API call body.
206
-     *
207
-     * @return stdClass
208
-     */
209
-    public function to_body() {
210
-        $data = new stdClass;
211
-
212
-        // $data->mode = '100644';
213
-        // $data->type = 'blob';
214
-
215
-        $data->path = $this->path();
216
-        $data->content = base64_encode( $this->content() );
217
-        $data->sha = $this->sha;
218
-
219
-        return $data;
220
-    }
221
-
222
-    /**
223
-     * Interprets the blob's data into properties.
224
-     */
225
-    protected function interpret_data( $data ) {
226
-        $this->sha  = isset( $data->sha  ) ? $data->sha  : '';
227
-        $this->path = isset( $data->path ) ? $data->path : '';
228
-
229
-        $this->set_content(
230
-            isset( $data->content ) ? trim( $data->content ) : '',
231
-            isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
232
-        );
233
-    }
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
+	 * Instantiates a new Blob object.
55
+	 *
56
+	 * @param stdClass $data Raw blob data.
57
+	 */
58
+	public function __construct( stdClass $data ) {
59
+		$this->interpret_data( $data );
60
+	}
61
+
62
+	public function id() {
63
+		return $this->id;
64
+	}
65
+
66
+	public function set_id($id) {
67
+		$this->id = $id;
68
+	}
69
+
70
+	/**
71
+	 * Returns the raw blob content.
72
+	 *
73
+	 * @return string
74
+	 */
75
+	public function content() {
76
+		return $this->content;
77
+	}
78
+
79
+	/**
80
+	 * Set's the blob's content.
81
+	 *
82
+	 * @param string $content Raw blob content.
83
+	 * @param bool   $base64 Whether the content is base64 encoded.
84
+	 *
85
+	 * @return $this
86
+	 */
87
+	public function set_content( $content, $base64 = false ) {
88
+		if ( $base64 ) {
89
+			$content = base64_decode( $content );
90
+		}
91
+
92
+		$this->frontmatter = '---' === substr( $this->content = $content, 0, 3 );
93
+
94
+		return $this;
95
+	}
96
+	/**
97
+	 * Returns the blob sha.
98
+	 *
99
+	 * @return string
100
+	 */
101
+	public function sha() {
102
+		return $this->sha;
103
+	}
104
+
105
+	/**
106
+	 * Return's the blob path.
107
+	 *
108
+	 * @return string
109
+	 */
110
+	public function path() {
111
+		return $this->path;
112
+	}
113
+
114
+	/**
115
+	 * Whether the blob has frontmatter.
116
+	 *
117
+	 * @return bool
118
+	 */
119
+	public function has_frontmatter() {
120
+		return $this->frontmatter;
121
+	}
122
+
123
+	/**
124
+	 * The front matter of github post
125
+	 * @return string
126
+	 */
127
+	public function front_matter() {
128
+		return $this->front_matter;
129
+	}
130
+
131
+	/**
132
+	 * Returns the formatted/filtered blob content used for import.
133
+	 *
134
+	 * @return string
135
+	 */
136
+	public function content_import() {
137
+		$content = $this->content();
138
+
139
+		if ( $this->has_frontmatter() ) {
140
+			// Break out content.
141
+			preg_match( '/(^---(.*?)---$)?(.*)/ms', $content, $matches );
142
+			$this->front_matter = $matches[1];
143
+			$content = array_pop( $matches );
144
+		}
145
+
146
+		if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
147
+			$content = wpmarkdown_markdown_to_html( $content );
148
+		}
149
+
150
+		/**
151
+		 * Filters the content for import.
152
+		 */
153
+		return apply_filters( 'wogh_content_import', trim( $content ) );
154
+	}
155
+
156
+	/**
157
+	 * Returns the blob meta.
158
+	 *
159
+	 * @return array
160
+	 */
161
+	public function meta() {
162
+		$meta = array();
163
+
164
+		if ( $this->has_frontmatter() ) {
165
+			// Break out meta, if present.
166
+			preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
167
+			array_pop( $matches );
168
+
169
+			$meta = spyc_load( $matches[2] );
170
+			if ( 'yes' == get_option('wogh_ignore_author') ) {
171
+				unset($meta['author']);
172
+			}
173
+			// if ( isset( $meta['link'] ) ) {
174
+			//  $meta['link'] = str_replace( home_url(), '', $meta['link'] );
175
+			// }
176
+		}
177
+
178
+		return $meta;
179
+	}
180
+
181
+	/**
182
+	 * Formats the blob into an API call body.
183
+	 *
184
+	 * @return stdClass
185
+	 */
186
+	// public function to_body() {
187
+	//  $data = new stdClass;
188
+
189
+	//  $data->mode = '100644';
190
+	//  $data->type = 'blob';
191
+
192
+	//  $data->path = $this->path();
193
+
194
+	//  if ( $this->sha() ) {
195
+	//      $data->sha = $this->sha();
196
+	//  } else {
197
+	//      $data->content = $this->content();
198
+	//  }
199
+
200
+	//  return $data;
201
+	// }
202
+
203
+
204
+	/**
205
+	 * Formats the blob into an API call body.
206
+	 *
207
+	 * @return stdClass
208
+	 */
209
+	public function to_body() {
210
+		$data = new stdClass;
211
+
212
+		// $data->mode = '100644';
213
+		// $data->type = 'blob';
214
+
215
+		$data->path = $this->path();
216
+		$data->content = base64_encode( $this->content() );
217
+		$data->sha = $this->sha;
218
+
219
+		return $data;
220
+	}
221
+
222
+	/**
223
+	 * Interprets the blob's data into properties.
224
+	 */
225
+	protected function interpret_data( $data ) {
226
+		$this->sha  = isset( $data->sha  ) ? $data->sha  : '';
227
+		$this->path = isset( $data->path ) ? $data->path : '';
228
+
229
+		$this->set_content(
230
+			isset( $data->content ) ? trim( $data->content ) : '',
231
+			isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
232
+		);
233
+	}
234 234
 }
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -55,8 +55,8 @@  discard block
 block discarded – undo
55 55
      *
56 56
      * @param stdClass $data Raw blob data.
57 57
      */
58
-    public function __construct( stdClass $data ) {
59
-        $this->interpret_data( $data );
58
+    public function __construct(stdClass $data) {
59
+        $this->interpret_data($data);
60 60
     }
61 61
 
62 62
     public function id() {
@@ -84,12 +84,12 @@  discard block
 block discarded – undo
84 84
      *
85 85
      * @return $this
86 86
      */
87
-    public function set_content( $content, $base64 = false ) {
88
-        if ( $base64 ) {
89
-            $content = base64_decode( $content );
87
+    public function set_content($content, $base64 = false) {
88
+        if ($base64) {
89
+            $content = base64_decode($content);
90 90
         }
91 91
 
92
-        $this->frontmatter = '---' === substr( $this->content = $content, 0, 3 );
92
+        $this->frontmatter = '---' === substr($this->content = $content, 0, 3);
93 93
 
94 94
         return $this;
95 95
     }
@@ -136,21 +136,21 @@  discard block
 block discarded – undo
136 136
     public function content_import() {
137 137
         $content = $this->content();
138 138
 
139
-        if ( $this->has_frontmatter() ) {
139
+        if ($this->has_frontmatter()) {
140 140
             // Break out content.
141
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $content, $matches );
141
+            preg_match('/(^---(.*?)---$)?(.*)/ms', $content, $matches);
142 142
             $this->front_matter = $matches[1];
143
-            $content = array_pop( $matches );
143
+            $content = array_pop($matches);
144 144
         }
145 145
 
146
-        if ( function_exists( 'wpmarkdown_markdown_to_html' ) ) {
147
-            $content = wpmarkdown_markdown_to_html( $content );
146
+        if (function_exists('wpmarkdown_markdown_to_html')) {
147
+            $content = wpmarkdown_markdown_to_html($content);
148 148
         }
149 149
 
150 150
         /**
151 151
          * Filters the content for import.
152 152
          */
153
-        return apply_filters( 'wogh_content_import', trim( $content ) );
153
+        return apply_filters('wogh_content_import', trim($content));
154 154
     }
155 155
 
156 156
     /**
@@ -161,13 +161,13 @@  discard block
 block discarded – undo
161 161
     public function meta() {
162 162
         $meta = array();
163 163
 
164
-        if ( $this->has_frontmatter() ) {
164
+        if ($this->has_frontmatter()) {
165 165
             // Break out meta, if present.
166
-            preg_match( '/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches );
167
-            array_pop( $matches );
166
+            preg_match('/(^---(.*?)---$)?(.*)/ms', $this->content(), $matches);
167
+            array_pop($matches);
168 168
 
169
-            $meta = spyc_load( $matches[2] );
170
-            if ( 'yes' == get_option('wogh_ignore_author') ) {
169
+            $meta = spyc_load($matches[2]);
170
+            if ('yes' == get_option('wogh_ignore_author')) {
171 171
                 unset($meta['author']);
172 172
             }
173 173
             // if ( isset( $meta['link'] ) ) {
@@ -213,7 +213,7 @@  discard block
 block discarded – undo
213 213
         // $data->type = 'blob';
214 214
 
215 215
         $data->path = $this->path();
216
-        $data->content = base64_encode( $this->content() );
216
+        $data->content = base64_encode($this->content());
217 217
         $data->sha = $this->sha;
218 218
 
219 219
         return $data;
@@ -222,13 +222,13 @@  discard block
 block discarded – undo
222 222
     /**
223 223
      * Interprets the blob's data into properties.
224 224
      */
225
-    protected function interpret_data( $data ) {
226
-        $this->sha  = isset( $data->sha  ) ? $data->sha  : '';
227
-        $this->path = isset( $data->path ) ? $data->path : '';
225
+    protected function interpret_data($data) {
226
+        $this->sha  = isset($data->sha) ? $data->sha : '';
227
+        $this->path = isset($data->path) ? $data->path : '';
228 228
 
229 229
         $this->set_content(
230
-            isset( $data->content ) ? trim( $data->content ) : '',
231
-            isset( $data->encoding ) && 'base64' === $data->encoding ? true : false
230
+            isset($data->content) ? trim($data->content) : '',
231
+            isset($data->encoding) && 'base64' === $data->encoding ? true : false
232 232
         );
233 233
     }
234 234
 }
Please login to merge, or discard this patch.
lib/function.php 2 patches
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -8,10 +8,10 @@  discard block
 block discarded – undo
8 8
  * @return WP_Error
9 9
  */
10 10
 function wogh_append_error( $error, $error2 ) {
11
-    if ( is_wp_error( $error ) ) {
12
-        $error->add( $error2->get_error_code(), $error2->get_error_message() );
13
-    }
14
-    return $error2;
11
+	if ( is_wp_error( $error ) ) {
12
+		$error->add( $error2->get_error_code(), $error2->get_error_message() );
13
+	}
14
+	return $error2;
15 15
 }
16 16
 
17 17
 /**
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
  * @return bool
22 22
  */
23 23
 function wogh_equal_front_matter( $post, $blob ) {
24
-    $str1 = $post->front_matter();
25
-    $str2 = $blob->front_matter();
26
-    return trim($str1) === trim($str2);
24
+	$str1 = $post->front_matter();
25
+	$str2 = $blob->front_matter();
26
+	return trim($str1) === trim($str2);
27 27
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -7,9 +7,9 @@  discard block
 block discarded – undo
7 7
  * @param  WP_Error   $error2
8 8
  * @return WP_Error
9 9
  */
10
-function wogh_append_error( $error, $error2 ) {
11
-    if ( is_wp_error( $error ) ) {
12
-        $error->add( $error2->get_error_code(), $error2->get_error_message() );
10
+function wogh_append_error($error, $error2) {
11
+    if (is_wp_error($error)) {
12
+        $error->add($error2->get_error_code(), $error2->get_error_message());
13 13
     }
14 14
     return $error2;
15 15
 }
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  * @param  Writing_On_GitHub_Blob $blob
21 21
  * @return bool
22 22
  */
23
-function wogh_equal_front_matter( $post, $blob ) {
23
+function wogh_equal_front_matter($post, $blob) {
24 24
     $str1 = $post->front_matter();
25 25
     $str2 = $blob->front_matter();
26 26
     return trim($str1) === trim($str2);
Please login to merge, or discard this patch.
lib/import.php 2 patches
Indentation   +312 added lines, -312 removed lines patch added patch discarded remove patch
@@ -10,316 +10,316 @@
 block discarded – undo
10 10
  */
11 11
 class Writing_On_GitHub_Import {
12 12
 
13
-    /**
14
-     * Application container.
15
-     *
16
-     * @var Writing_On_GitHub
17
-     */
18
-    protected $app;
19
-
20
-    /**
21
-     * Initializes a new import 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
-     * Imports a payload.
31
-     * @param  Writing_On_GitHub_Payload $payload
32
-     *
33
-     * @return string|WP_Error
34
-     */
35
-    public function payload( Writing_On_GitHub_Payload $payload ) {
36
-
37
-        $result = $this->app->api()->fetch()->compare( $payload->get_before_commit_id() );
38
-
39
-        if ( is_wp_error( $result ) ) {
40
-            /* @var WP_Error $result */
41
-            return $result;
42
-        }
43
-
44
-        if ( is_array( $result ) ) {
45
-            $result = $this->import_files( $result );
46
-        }
47
-
48
-        if ( is_wp_error( $result ) ) {
49
-            return $files;
50
-        }
51
-
52
-        return __( 'Payload processed', 'writing-on-github' );
53
-    }
54
-
55
-    /**
56
-     * import blob by files
57
-     * @param  Writing_On_GitHub_File_Info[] $files
58
-     *
59
-     * @return true|WP_Error
60
-     */
61
-    protected function import_files( $files ) {
62
-
63
-        $error = true;
64
-
65
-        foreach ( $files as $file ) {
66
-            if ( ! $this->importable_file( $file ) ) {
67
-                continue;
68
-            }
69
-
70
-            $blob = $this->app->api()->fetch()->blob( $file );
71
-            // network error ?
72
-            if ( ! $blob instanceof Writing_On_GitHub_Blob ) {
73
-                continue;
74
-            }
75
-
76
-            $is_remove = 'removed' == $file->status;
77
-
78
-            $result = false;
79
-            if ( $this->importable_raw_file( $blob ) ) {
80
-                $result = $this->import_raw_file( $blob, $is_remove );
81
-            } elseif ( $this->importable_post( $blob ) ) {
82
-                if ( $is_remove ) {
83
-                    $result = $this->delete_post( $blob );
84
-                } else {
85
-                    $result = $this->import_post( $blob );
86
-                }
87
-            }
88
-
89
-            if ( is_wp_error( $result ) ) {
90
-                /* @var WP_Error $result */
91
-                $error = wogh_append_error( $error, $result );
92
-            }
93
-        }
94
-
95
-        return $error;
96
-    }
97
-
98
-    /**
99
-     * Imports the latest commit on the master branch.
100
-     *
101
-     * @return string|WP_Error
102
-     */
103
-    public function master() {
104
-        $result = $this->app->api()->fetch()->tree_recursive();
105
-
106
-        if ( is_wp_error( $result ) ) {
107
-            /* @var WP_Error $result */
108
-            return $result;
109
-        }
110
-
111
-        if ( is_array( $result ) ) {
112
-            $result = $this->import_files( $result );
113
-        }
114
-
115
-        if ( is_wp_error( $result ) ) {
116
-            /* @var WP_Error $result */
117
-            return $result;
118
-        }
119
-
120
-        return __( 'Payload processed', 'writing-on-github' );
121
-    }
122
-
123
-    /**
124
-     * Checks whether the provided blob should be imported.
125
-     *
126
-     * @param Writing_On_GitHub_File_Info $file
127
-     *
128
-     * @return bool
129
-     */
130
-    protected function importable_file( Writing_On_GitHub_File_Info $file ) {
131
-
132
-        $path = $file->path;
133
-
134
-        // only _pages, _posts and images
135
-        $prefixs = array( '_pages/', '_posts/', 'images/');
136
-        foreach ($prefixs as $prefix) {
137
-            if ( ! strncasecmp($path, $prefix, strlen( $prefix ) ) ) {
138
-                return true;
139
-            }
140
-        }
141
-        return false;
142
-    }
143
-
144
-    /**
145
-     * Checks whether the provided blob should be imported.
146
-     *
147
-     * @param Writing_On_GitHub_Blob $blob Blob to validate.
148
-     *
149
-     * @return bool
150
-     */
151
-    protected function importable_post( Writing_On_GitHub_Blob $blob ) {
152
-        // global $wpdb;
153
-
154
-        // // Skip the repo's readme.
155
-        // if ( 'readme' === strtolower( substr( $blob->path(), 0, 6 ) ) ) {
156
-        //  return false;
157
-        // }
158
-
159
-        // // If the blob sha already matches a post, then move on.
160
-        // if ( ! is_wp_error( $this->app->database()->fetch_by_sha( $blob->sha() ) ) ) {
161
-        //  return false;
162
-        // }
163
-
164
-        if ( ! $blob->has_frontmatter() ) {
165
-            return false;
166
-        }
167
-
168
-        return true;
169
-    }
170
-
171
-    /**
172
-     * Delete post
173
-     * @param  Writing_On_GitHub_Blob $blob
174
-     * @return WP_Error|bool
175
-     */
176
-    protected function delete_post( Writing_On_GitHub_Blob $blob ) {
177
-        $id = $blob->id();
178
-        if ( empty( $id ) ) {
179
-            return false;
180
-        }
181
-        $result = $this->app->database()->delete_post( $id );
182
-        if ( is_wp_error( $result ) ) {
183
-            /* @var WP_Error $result */
184
-            return $result;
185
-        }
186
-        return true;
187
-    }
188
-
189
-    /**
190
-     * Imports a post into wordpress
191
-     * @param  Writing_On_GitHub_Blob $blob
192
-     * @return WP_Error|bool
193
-     */
194
-    protected function import_post( Writing_On_GitHub_Blob $blob ) {
195
-        $post = $this->blob_to_post( $blob );
196
-
197
-        if ( ! $post instanceof Writing_On_GitHub_Post ) {
198
-            return false;
199
-        }
200
-
201
-        $result = $this->app->database()->save_post( $post );
202
-        if ( is_wp_error( $result ) ) {
203
-            /** @var WP_Error $result */
204
-            return $result;
205
-        }
206
-
207
-        if ( $post->is_new() ||
208
-                ! wogh_equal_front_matter( $post, $blob ) ) {
209
-
210
-            $result = $this->app->export()->new_posts( array( $post ) );
211
-
212
-            if ( is_wp_error( $result ) ) {
213
-                /** @var WP_Error $result */
214
-                return $result;
215
-            }
216
-        }
217
-
218
-        clean_post_cache( $post->id() );
219
-
220
-        return true;
221
-    }
222
-
223
-    /**
224
-     * import raw file
225
-     * @param  Writing_On_GitHub_Blob $blob
226
-     * @return bool
227
-     */
228
-    protected function importable_raw_file( Writing_On_GitHub_Blob $blob ) {
229
-        if ( $blob->has_frontmatter() ) {
230
-            return false;
231
-        }
232
-
233
-        // only images
234
-        if ( strncasecmp($blob->path(), 'images/', strlen('images/') ) != 0) {
235
-            return false;
236
-        }
237
-
238
-        return true;
239
-    }
240
-
241
-    /**
242
-     * Imports a raw file content into file system.
243
-     * @param  Writing_On_GitHub_Blob $blob
244
-     * @param  bool                   $is_remove
245
-     */
246
-    protected function import_raw_file( Writing_On_GitHub_Blob $blob, $is_remove ) {
247
-        $arr = wp_upload_dir();
248
-        $path = $arr['basedir'] . '/writing-on-github/' . $blob->path();
249
-        if ( $is_remove ) {
250
-            if ( file_exists($path) ) {
251
-                unlink($path);
252
-            }
253
-        } else {
254
-            $dirname = dirname($path);
255
-            if ( ! file_exists($dirname) ) {
256
-                wp_mkdir_p($dirname);
257
-            }
258
-
259
-            file_put_contents($path, $blob->content());
260
-        }
261
-        return true;
262
-    }
263
-
264
-    /**
265
-     * Imports a single blob content into matching post.
266
-     *
267
-     * @param Writing_On_GitHub_Blob $blob Blob to transform into a Post.
268
-     *
269
-     * @return Writing_On_GitHub_Post|false
270
-     */
271
-    protected function blob_to_post( Writing_On_GitHub_Blob $blob ) {
272
-        $args = array( 'post_content' => $blob->content_import() );
273
-        $meta = $blob->meta();
274
-
275
-        $id = false;
276
-
277
-        if ( ! empty( $meta ) ) {
278
-            if ( array_key_exists( 'layout', $meta ) ) {
279
-                $args['post_type'] = $meta['layout'];
280
-                unset( $meta['layout'] );
281
-            }
282
-
283
-            if ( array_key_exists( 'published', $meta ) ) {
284
-                $args['post_status'] = true === $meta['published'] ? 'publish' : 'draft';
285
-                unset( $meta['published'] );
286
-            }
287
-
288
-            if ( array_key_exists( 'post_title', $meta ) ) {
289
-                $args['post_title'] = $meta['post_title'];
290
-                unset( $meta['post_title'] );
291
-            }
292
-
293
-            if ( array_key_exists( 'post_name', $meta ) ) {
294
-                $args['post_name'] = $meta['post_name'];
295
-                unset( $meta['post_name'] );
296
-            }
297
-
298
-            if ( array_key_exists( 'ID', $meta ) ) {
299
-                $id = $args['ID'] = $meta['ID'];
300
-                $blob->set_id($id);
301
-                unset( $meta['ID'] );
302
-            }
303
-        }
304
-
305
-        $meta['_wogh_sha'] = $blob->sha();
306
-
307
-        if ( $id ) {
308
-            $old_sha = get_post_meta( $id, '_wogh_sha', true );
309
-            $old_github_path = get_post_meta( $id, '_wogh_github_path', true );
310
-
311
-            // dont save post when has same sha
312
-            if ( $old_sha  && $old_sha == $meta['_wogh_sha'] &&
313
-                 $old_github_path && $old_github_path == $blob->path() ) {
314
-                return false;
315
-            }
316
-        }
317
-
318
-        $post = new Writing_On_GitHub_Post( $args, $this->app->api() );
319
-        $post->set_old_github_path( $blob->path() );
320
-        $post->set_meta( $meta );
321
-        $blob->set_id( $post->id() );
322
-
323
-        return $post;
324
-    }
13
+	/**
14
+	 * Application container.
15
+	 *
16
+	 * @var Writing_On_GitHub
17
+	 */
18
+	protected $app;
19
+
20
+	/**
21
+	 * Initializes a new import 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
+	 * Imports a payload.
31
+	 * @param  Writing_On_GitHub_Payload $payload
32
+	 *
33
+	 * @return string|WP_Error
34
+	 */
35
+	public function payload( Writing_On_GitHub_Payload $payload ) {
36
+
37
+		$result = $this->app->api()->fetch()->compare( $payload->get_before_commit_id() );
38
+
39
+		if ( is_wp_error( $result ) ) {
40
+			/* @var WP_Error $result */
41
+			return $result;
42
+		}
43
+
44
+		if ( is_array( $result ) ) {
45
+			$result = $this->import_files( $result );
46
+		}
47
+
48
+		if ( is_wp_error( $result ) ) {
49
+			return $files;
50
+		}
51
+
52
+		return __( 'Payload processed', 'writing-on-github' );
53
+	}
54
+
55
+	/**
56
+	 * import blob by files
57
+	 * @param  Writing_On_GitHub_File_Info[] $files
58
+	 *
59
+	 * @return true|WP_Error
60
+	 */
61
+	protected function import_files( $files ) {
62
+
63
+		$error = true;
64
+
65
+		foreach ( $files as $file ) {
66
+			if ( ! $this->importable_file( $file ) ) {
67
+				continue;
68
+			}
69
+
70
+			$blob = $this->app->api()->fetch()->blob( $file );
71
+			// network error ?
72
+			if ( ! $blob instanceof Writing_On_GitHub_Blob ) {
73
+				continue;
74
+			}
75
+
76
+			$is_remove = 'removed' == $file->status;
77
+
78
+			$result = false;
79
+			if ( $this->importable_raw_file( $blob ) ) {
80
+				$result = $this->import_raw_file( $blob, $is_remove );
81
+			} elseif ( $this->importable_post( $blob ) ) {
82
+				if ( $is_remove ) {
83
+					$result = $this->delete_post( $blob );
84
+				} else {
85
+					$result = $this->import_post( $blob );
86
+				}
87
+			}
88
+
89
+			if ( is_wp_error( $result ) ) {
90
+				/* @var WP_Error $result */
91
+				$error = wogh_append_error( $error, $result );
92
+			}
93
+		}
94
+
95
+		return $error;
96
+	}
97
+
98
+	/**
99
+	 * Imports the latest commit on the master branch.
100
+	 *
101
+	 * @return string|WP_Error
102
+	 */
103
+	public function master() {
104
+		$result = $this->app->api()->fetch()->tree_recursive();
105
+
106
+		if ( is_wp_error( $result ) ) {
107
+			/* @var WP_Error $result */
108
+			return $result;
109
+		}
110
+
111
+		if ( is_array( $result ) ) {
112
+			$result = $this->import_files( $result );
113
+		}
114
+
115
+		if ( is_wp_error( $result ) ) {
116
+			/* @var WP_Error $result */
117
+			return $result;
118
+		}
119
+
120
+		return __( 'Payload processed', 'writing-on-github' );
121
+	}
122
+
123
+	/**
124
+	 * Checks whether the provided blob should be imported.
125
+	 *
126
+	 * @param Writing_On_GitHub_File_Info $file
127
+	 *
128
+	 * @return bool
129
+	 */
130
+	protected function importable_file( Writing_On_GitHub_File_Info $file ) {
131
+
132
+		$path = $file->path;
133
+
134
+		// only _pages, _posts and images
135
+		$prefixs = array( '_pages/', '_posts/', 'images/');
136
+		foreach ($prefixs as $prefix) {
137
+			if ( ! strncasecmp($path, $prefix, strlen( $prefix ) ) ) {
138
+				return true;
139
+			}
140
+		}
141
+		return false;
142
+	}
143
+
144
+	/**
145
+	 * Checks whether the provided blob should be imported.
146
+	 *
147
+	 * @param Writing_On_GitHub_Blob $blob Blob to validate.
148
+	 *
149
+	 * @return bool
150
+	 */
151
+	protected function importable_post( Writing_On_GitHub_Blob $blob ) {
152
+		// global $wpdb;
153
+
154
+		// // Skip the repo's readme.
155
+		// if ( 'readme' === strtolower( substr( $blob->path(), 0, 6 ) ) ) {
156
+		//  return false;
157
+		// }
158
+
159
+		// // If the blob sha already matches a post, then move on.
160
+		// if ( ! is_wp_error( $this->app->database()->fetch_by_sha( $blob->sha() ) ) ) {
161
+		//  return false;
162
+		// }
163
+
164
+		if ( ! $blob->has_frontmatter() ) {
165
+			return false;
166
+		}
167
+
168
+		return true;
169
+	}
170
+
171
+	/**
172
+	 * Delete post
173
+	 * @param  Writing_On_GitHub_Blob $blob
174
+	 * @return WP_Error|bool
175
+	 */
176
+	protected function delete_post( Writing_On_GitHub_Blob $blob ) {
177
+		$id = $blob->id();
178
+		if ( empty( $id ) ) {
179
+			return false;
180
+		}
181
+		$result = $this->app->database()->delete_post( $id );
182
+		if ( is_wp_error( $result ) ) {
183
+			/* @var WP_Error $result */
184
+			return $result;
185
+		}
186
+		return true;
187
+	}
188
+
189
+	/**
190
+	 * Imports a post into wordpress
191
+	 * @param  Writing_On_GitHub_Blob $blob
192
+	 * @return WP_Error|bool
193
+	 */
194
+	protected function import_post( Writing_On_GitHub_Blob $blob ) {
195
+		$post = $this->blob_to_post( $blob );
196
+
197
+		if ( ! $post instanceof Writing_On_GitHub_Post ) {
198
+			return false;
199
+		}
200
+
201
+		$result = $this->app->database()->save_post( $post );
202
+		if ( is_wp_error( $result ) ) {
203
+			/** @var WP_Error $result */
204
+			return $result;
205
+		}
206
+
207
+		if ( $post->is_new() ||
208
+				! wogh_equal_front_matter( $post, $blob ) ) {
209
+
210
+			$result = $this->app->export()->new_posts( array( $post ) );
211
+
212
+			if ( is_wp_error( $result ) ) {
213
+				/** @var WP_Error $result */
214
+				return $result;
215
+			}
216
+		}
217
+
218
+		clean_post_cache( $post->id() );
219
+
220
+		return true;
221
+	}
222
+
223
+	/**
224
+	 * import raw file
225
+	 * @param  Writing_On_GitHub_Blob $blob
226
+	 * @return bool
227
+	 */
228
+	protected function importable_raw_file( Writing_On_GitHub_Blob $blob ) {
229
+		if ( $blob->has_frontmatter() ) {
230
+			return false;
231
+		}
232
+
233
+		// only images
234
+		if ( strncasecmp($blob->path(), 'images/', strlen('images/') ) != 0) {
235
+			return false;
236
+		}
237
+
238
+		return true;
239
+	}
240
+
241
+	/**
242
+	 * Imports a raw file content into file system.
243
+	 * @param  Writing_On_GitHub_Blob $blob
244
+	 * @param  bool                   $is_remove
245
+	 */
246
+	protected function import_raw_file( Writing_On_GitHub_Blob $blob, $is_remove ) {
247
+		$arr = wp_upload_dir();
248
+		$path = $arr['basedir'] . '/writing-on-github/' . $blob->path();
249
+		if ( $is_remove ) {
250
+			if ( file_exists($path) ) {
251
+				unlink($path);
252
+			}
253
+		} else {
254
+			$dirname = dirname($path);
255
+			if ( ! file_exists($dirname) ) {
256
+				wp_mkdir_p($dirname);
257
+			}
258
+
259
+			file_put_contents($path, $blob->content());
260
+		}
261
+		return true;
262
+	}
263
+
264
+	/**
265
+	 * Imports a single blob content into matching post.
266
+	 *
267
+	 * @param Writing_On_GitHub_Blob $blob Blob to transform into a Post.
268
+	 *
269
+	 * @return Writing_On_GitHub_Post|false
270
+	 */
271
+	protected function blob_to_post( Writing_On_GitHub_Blob $blob ) {
272
+		$args = array( 'post_content' => $blob->content_import() );
273
+		$meta = $blob->meta();
274
+
275
+		$id = false;
276
+
277
+		if ( ! empty( $meta ) ) {
278
+			if ( array_key_exists( 'layout', $meta ) ) {
279
+				$args['post_type'] = $meta['layout'];
280
+				unset( $meta['layout'] );
281
+			}
282
+
283
+			if ( array_key_exists( 'published', $meta ) ) {
284
+				$args['post_status'] = true === $meta['published'] ? 'publish' : 'draft';
285
+				unset( $meta['published'] );
286
+			}
287
+
288
+			if ( array_key_exists( 'post_title', $meta ) ) {
289
+				$args['post_title'] = $meta['post_title'];
290
+				unset( $meta['post_title'] );
291
+			}
292
+
293
+			if ( array_key_exists( 'post_name', $meta ) ) {
294
+				$args['post_name'] = $meta['post_name'];
295
+				unset( $meta['post_name'] );
296
+			}
297
+
298
+			if ( array_key_exists( 'ID', $meta ) ) {
299
+				$id = $args['ID'] = $meta['ID'];
300
+				$blob->set_id($id);
301
+				unset( $meta['ID'] );
302
+			}
303
+		}
304
+
305
+		$meta['_wogh_sha'] = $blob->sha();
306
+
307
+		if ( $id ) {
308
+			$old_sha = get_post_meta( $id, '_wogh_sha', true );
309
+			$old_github_path = get_post_meta( $id, '_wogh_github_path', true );
310
+
311
+			// dont save post when has same sha
312
+			if ( $old_sha  && $old_sha == $meta['_wogh_sha'] &&
313
+				 $old_github_path && $old_github_path == $blob->path() ) {
314
+				return false;
315
+			}
316
+		}
317
+
318
+		$post = new Writing_On_GitHub_Post( $args, $this->app->api() );
319
+		$post->set_old_github_path( $blob->path() );
320
+		$post->set_meta( $meta );
321
+		$blob->set_id( $post->id() );
322
+
323
+		return $post;
324
+	}
325 325
 }
Please login to merge, or discard this patch.
Spacing   +74 added lines, -74 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
 
@@ -32,24 +32,24 @@  discard block
 block discarded – undo
32 32
      *
33 33
      * @return string|WP_Error
34 34
      */
35
-    public function payload( Writing_On_GitHub_Payload $payload ) {
35
+    public function payload(Writing_On_GitHub_Payload $payload) {
36 36
 
37
-        $result = $this->app->api()->fetch()->compare( $payload->get_before_commit_id() );
37
+        $result = $this->app->api()->fetch()->compare($payload->get_before_commit_id());
38 38
 
39
-        if ( is_wp_error( $result ) ) {
39
+        if (is_wp_error($result)) {
40 40
             /* @var WP_Error $result */
41 41
             return $result;
42 42
         }
43 43
 
44
-        if ( is_array( $result ) ) {
45
-            $result = $this->import_files( $result );
44
+        if (is_array($result)) {
45
+            $result = $this->import_files($result);
46 46
         }
47 47
 
48
-        if ( is_wp_error( $result ) ) {
48
+        if (is_wp_error($result)) {
49 49
             return $files;
50 50
         }
51 51
 
52
-        return __( 'Payload processed', 'writing-on-github' );
52
+        return __('Payload processed', 'writing-on-github');
53 53
     }
54 54
 
55 55
     /**
@@ -58,37 +58,37 @@  discard block
 block discarded – undo
58 58
      *
59 59
      * @return true|WP_Error
60 60
      */
61
-    protected function import_files( $files ) {
61
+    protected function import_files($files) {
62 62
 
63 63
         $error = true;
64 64
 
65
-        foreach ( $files as $file ) {
66
-            if ( ! $this->importable_file( $file ) ) {
65
+        foreach ($files as $file) {
66
+            if ( ! $this->importable_file($file)) {
67 67
                 continue;
68 68
             }
69 69
 
70
-            $blob = $this->app->api()->fetch()->blob( $file );
70
+            $blob = $this->app->api()->fetch()->blob($file);
71 71
             // network error ?
72
-            if ( ! $blob instanceof Writing_On_GitHub_Blob ) {
72
+            if ( ! $blob instanceof Writing_On_GitHub_Blob) {
73 73
                 continue;
74 74
             }
75 75
 
76 76
             $is_remove = 'removed' == $file->status;
77 77
 
78 78
             $result = false;
79
-            if ( $this->importable_raw_file( $blob ) ) {
80
-                $result = $this->import_raw_file( $blob, $is_remove );
81
-            } elseif ( $this->importable_post( $blob ) ) {
82
-                if ( $is_remove ) {
83
-                    $result = $this->delete_post( $blob );
79
+            if ($this->importable_raw_file($blob)) {
80
+                $result = $this->import_raw_file($blob, $is_remove);
81
+            } elseif ($this->importable_post($blob)) {
82
+                if ($is_remove) {
83
+                    $result = $this->delete_post($blob);
84 84
                 } else {
85
-                    $result = $this->import_post( $blob );
85
+                    $result = $this->import_post($blob);
86 86
                 }
87 87
             }
88 88
 
89
-            if ( is_wp_error( $result ) ) {
89
+            if (is_wp_error($result)) {
90 90
                 /* @var WP_Error $result */
91
-                $error = wogh_append_error( $error, $result );
91
+                $error = wogh_append_error($error, $result);
92 92
             }
93 93
         }
94 94
 
@@ -103,21 +103,21 @@  discard block
 block discarded – undo
103 103
     public function master() {
104 104
         $result = $this->app->api()->fetch()->tree_recursive();
105 105
 
106
-        if ( is_wp_error( $result ) ) {
106
+        if (is_wp_error($result)) {
107 107
             /* @var WP_Error $result */
108 108
             return $result;
109 109
         }
110 110
 
111
-        if ( is_array( $result ) ) {
112
-            $result = $this->import_files( $result );
111
+        if (is_array($result)) {
112
+            $result = $this->import_files($result);
113 113
         }
114 114
 
115
-        if ( is_wp_error( $result ) ) {
115
+        if (is_wp_error($result)) {
116 116
             /* @var WP_Error $result */
117 117
             return $result;
118 118
         }
119 119
 
120
-        return __( 'Payload processed', 'writing-on-github' );
120
+        return __('Payload processed', 'writing-on-github');
121 121
     }
122 122
 
123 123
     /**
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
      *
128 128
      * @return bool
129 129
      */
130
-    protected function importable_file( Writing_On_GitHub_File_Info $file ) {
130
+    protected function importable_file(Writing_On_GitHub_File_Info $file) {
131 131
 
132 132
         $path = $file->path;
133 133
 
134 134
         // only _pages, _posts and images
135
-        $prefixs = array( '_pages/', '_posts/', 'images/');
135
+        $prefixs = array('_pages/', '_posts/', 'images/');
136 136
         foreach ($prefixs as $prefix) {
137
-            if ( ! strncasecmp($path, $prefix, strlen( $prefix ) ) ) {
137
+            if ( ! strncasecmp($path, $prefix, strlen($prefix))) {
138 138
                 return true;
139 139
             }
140 140
         }
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
      *
149 149
      * @return bool
150 150
      */
151
-    protected function importable_post( Writing_On_GitHub_Blob $blob ) {
151
+    protected function importable_post(Writing_On_GitHub_Blob $blob) {
152 152
         // global $wpdb;
153 153
 
154 154
         // // Skip the repo's readme.
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
         //  return false;
162 162
         // }
163 163
 
164
-        if ( ! $blob->has_frontmatter() ) {
164
+        if ( ! $blob->has_frontmatter()) {
165 165
             return false;
166 166
         }
167 167
 
@@ -173,13 +173,13 @@  discard block
 block discarded – undo
173 173
      * @param  Writing_On_GitHub_Blob $blob
174 174
      * @return WP_Error|bool
175 175
      */
176
-    protected function delete_post( Writing_On_GitHub_Blob $blob ) {
176
+    protected function delete_post(Writing_On_GitHub_Blob $blob) {
177 177
         $id = $blob->id();
178
-        if ( empty( $id ) ) {
178
+        if (empty($id)) {
179 179
             return false;
180 180
         }
181
-        $result = $this->app->database()->delete_post( $id );
182
-        if ( is_wp_error( $result ) ) {
181
+        $result = $this->app->database()->delete_post($id);
182
+        if (is_wp_error($result)) {
183 183
             /* @var WP_Error $result */
184 184
             return $result;
185 185
         }
@@ -191,31 +191,31 @@  discard block
 block discarded – undo
191 191
      * @param  Writing_On_GitHub_Blob $blob
192 192
      * @return WP_Error|bool
193 193
      */
194
-    protected function import_post( Writing_On_GitHub_Blob $blob ) {
195
-        $post = $this->blob_to_post( $blob );
194
+    protected function import_post(Writing_On_GitHub_Blob $blob) {
195
+        $post = $this->blob_to_post($blob);
196 196
 
197
-        if ( ! $post instanceof Writing_On_GitHub_Post ) {
197
+        if ( ! $post instanceof Writing_On_GitHub_Post) {
198 198
             return false;
199 199
         }
200 200
 
201
-        $result = $this->app->database()->save_post( $post );
202
-        if ( is_wp_error( $result ) ) {
201
+        $result = $this->app->database()->save_post($post);
202
+        if (is_wp_error($result)) {
203 203
             /** @var WP_Error $result */
204 204
             return $result;
205 205
         }
206 206
 
207
-        if ( $post->is_new() ||
208
-                ! wogh_equal_front_matter( $post, $blob ) ) {
207
+        if ($post->is_new() ||
208
+                ! wogh_equal_front_matter($post, $blob)) {
209 209
 
210
-            $result = $this->app->export()->new_posts( array( $post ) );
210
+            $result = $this->app->export()->new_posts(array($post));
211 211
 
212
-            if ( is_wp_error( $result ) ) {
212
+            if (is_wp_error($result)) {
213 213
                 /** @var WP_Error $result */
214 214
                 return $result;
215 215
             }
216 216
         }
217 217
 
218
-        clean_post_cache( $post->id() );
218
+        clean_post_cache($post->id());
219 219
 
220 220
         return true;
221 221
     }
@@ -225,13 +225,13 @@  discard block
 block discarded – undo
225 225
      * @param  Writing_On_GitHub_Blob $blob
226 226
      * @return bool
227 227
      */
228
-    protected function importable_raw_file( Writing_On_GitHub_Blob $blob ) {
229
-        if ( $blob->has_frontmatter() ) {
228
+    protected function importable_raw_file(Writing_On_GitHub_Blob $blob) {
229
+        if ($blob->has_frontmatter()) {
230 230
             return false;
231 231
         }
232 232
 
233 233
         // only images
234
-        if ( strncasecmp($blob->path(), 'images/', strlen('images/') ) != 0) {
234
+        if (strncasecmp($blob->path(), 'images/', strlen('images/')) != 0) {
235 235
             return false;
236 236
         }
237 237
 
@@ -243,16 +243,16 @@  discard block
 block discarded – undo
243 243
      * @param  Writing_On_GitHub_Blob $blob
244 244
      * @param  bool                   $is_remove
245 245
      */
246
-    protected function import_raw_file( Writing_On_GitHub_Blob $blob, $is_remove ) {
246
+    protected function import_raw_file(Writing_On_GitHub_Blob $blob, $is_remove) {
247 247
         $arr = wp_upload_dir();
248 248
         $path = $arr['basedir'] . '/writing-on-github/' . $blob->path();
249
-        if ( $is_remove ) {
250
-            if ( file_exists($path) ) {
249
+        if ($is_remove) {
250
+            if (file_exists($path)) {
251 251
                 unlink($path);
252 252
             }
253 253
         } else {
254 254
             $dirname = dirname($path);
255
-            if ( ! file_exists($dirname) ) {
255
+            if ( ! file_exists($dirname)) {
256 256
                 wp_mkdir_p($dirname);
257 257
             }
258 258
 
@@ -268,57 +268,57 @@  discard block
 block discarded – undo
268 268
      *
269 269
      * @return Writing_On_GitHub_Post|false
270 270
      */
271
-    protected function blob_to_post( Writing_On_GitHub_Blob $blob ) {
272
-        $args = array( 'post_content' => $blob->content_import() );
271
+    protected function blob_to_post(Writing_On_GitHub_Blob $blob) {
272
+        $args = array('post_content' => $blob->content_import());
273 273
         $meta = $blob->meta();
274 274
 
275 275
         $id = false;
276 276
 
277
-        if ( ! empty( $meta ) ) {
278
-            if ( array_key_exists( 'layout', $meta ) ) {
277
+        if ( ! empty($meta)) {
278
+            if (array_key_exists('layout', $meta)) {
279 279
                 $args['post_type'] = $meta['layout'];
280
-                unset( $meta['layout'] );
280
+                unset($meta['layout']);
281 281
             }
282 282
 
283
-            if ( array_key_exists( 'published', $meta ) ) {
283
+            if (array_key_exists('published', $meta)) {
284 284
                 $args['post_status'] = true === $meta['published'] ? 'publish' : 'draft';
285
-                unset( $meta['published'] );
285
+                unset($meta['published']);
286 286
             }
287 287
 
288
-            if ( array_key_exists( 'post_title', $meta ) ) {
288
+            if (array_key_exists('post_title', $meta)) {
289 289
                 $args['post_title'] = $meta['post_title'];
290
-                unset( $meta['post_title'] );
290
+                unset($meta['post_title']);
291 291
             }
292 292
 
293
-            if ( array_key_exists( 'post_name', $meta ) ) {
293
+            if (array_key_exists('post_name', $meta)) {
294 294
                 $args['post_name'] = $meta['post_name'];
295
-                unset( $meta['post_name'] );
295
+                unset($meta['post_name']);
296 296
             }
297 297
 
298
-            if ( array_key_exists( 'ID', $meta ) ) {
298
+            if (array_key_exists('ID', $meta)) {
299 299
                 $id = $args['ID'] = $meta['ID'];
300 300
                 $blob->set_id($id);
301
-                unset( $meta['ID'] );
301
+                unset($meta['ID']);
302 302
             }
303 303
         }
304 304
 
305 305
         $meta['_wogh_sha'] = $blob->sha();
306 306
 
307
-        if ( $id ) {
308
-            $old_sha = get_post_meta( $id, '_wogh_sha', true );
309
-            $old_github_path = get_post_meta( $id, '_wogh_github_path', true );
307
+        if ($id) {
308
+            $old_sha = get_post_meta($id, '_wogh_sha', true);
309
+            $old_github_path = get_post_meta($id, '_wogh_github_path', true);
310 310
 
311 311
             // dont save post when has same sha
312
-            if ( $old_sha  && $old_sha == $meta['_wogh_sha'] &&
313
-                 $old_github_path && $old_github_path == $blob->path() ) {
312
+            if ($old_sha && $old_sha == $meta['_wogh_sha'] &&
313
+                 $old_github_path && $old_github_path == $blob->path()) {
314 314
                 return false;
315 315
             }
316 316
         }
317 317
 
318
-        $post = new Writing_On_GitHub_Post( $args, $this->app->api() );
319
-        $post->set_old_github_path( $blob->path() );
320
-        $post->set_meta( $meta );
321
-        $blob->set_id( $post->id() );
318
+        $post = new Writing_On_GitHub_Post($args, $this->app->api());
319
+        $post->set_old_github_path($blob->path());
320
+        $post->set_meta($meta);
321
+        $blob->set_id($post->id());
322 322
 
323 323
         return $post;
324 324
     }
Please login to merge, or discard this patch.
lib/admin.php 2 patches
Indentation   +208 added lines, -208 removed lines patch added patch discarded remove patch
@@ -9,235 +9,235 @@
 block discarded – undo
9 9
  */
10 10
 class Writing_On_GitHub_Admin {
11 11
 
12
-    /**
13
-     * Hook into GitHub API
14
-     */
15
-    public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
17
-        add_action( 'admin_init', array( $this, 'register_settings' ) );
18
-        add_action( 'current_screen', array( $this, 'trigger_cron' ) );
19
-    }
20
-
21
-    /**
22
-     * Callback to render the settings page view
23
-     */
24
-    public function settings_page() {
25
-        include dirname( dirname( __FILE__ ) ) . '/views/options.php';
26
-    }
27
-
28
-    /**
29
-     * Callback to register the plugin's options
30
-     */
31
-    public function register_settings() {
32
-        add_settings_section(
33
-            'general',
34
-            'General Settings',
35
-            array( $this, 'section_callback' ),
36
-            Writing_On_GitHub::$text_domain
37
-        );
38
-
39
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
40
-        add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
41
-                'default'   => 'https://api.github.com',
42
-                'name'      => 'wogh_host',
43
-                'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
44
-            )
45
-        );
46
-
47
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
48
-        add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
49
-                'default'   => '',
50
-                'name'      => 'wogh_repository',
51
-                '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' ),
52
-            )
53
-        );
54
-
55
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
56
-        add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
57
-                'default'   => 'master',
58
-                'name'      => 'wogh_branch',
59
-                'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
60
-            )
61
-        );
62
-
63
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
64
-        add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
65
-                'default'   => '',
66
-                'name'      => 'wogh_oauth_token',
67
-                'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
68
-            )
69
-        );
70
-
71
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
72
-        add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
73
-                'default'   => '',
74
-                'name'      => 'wogh_secret',
75
-                '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' ),
76
-            )
77
-        );
78
-
79
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
80
-        add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
81
-                'default'   => '',
82
-                'name'      => 'wogh_default_user',
83
-                'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
84
-            )
85
-        );
86
-
87
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
88
-        add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
89
-                'default'   => '',
90
-                'name'      => 'wogh_ignore_author',
91
-                'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
92
-            )
93
-        );
94
-
95
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
96
-        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(
97
-                'default'   => '',
98
-                'name'      => 'wogh_dont_export_content',
99
-                'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
100
-            )
101
-        );
102
-
103
-        // register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_metas' );
104
-        // add_settings_field( 'wogh_ignore_metas', __( 'Ignore post metas', 'writing-on-github' ), array( &$this, 'textarea_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
105
-        //      'default'   => '',
106
-        //      'name'      => 'wogh_ignore_metas',
107
-        //      'help_text' => __( 'These meta keys will be ignored and cannot be imported and exported. One meta key per line.', 'writing-on-github' ),
108
-        //  )
109
-        // );
110
-    }
111
-
112
-    /**
113
-     * Callback to render an individual options field
114
-     *
115
-     * @param array $args Field arguments.
116
-     */
117
-    public function field_callback( $args ) {
118
-        include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
119
-    }
120
-
121
-    /**
122
-     * Callback to render the default import user field.
123
-     *
124
-     * @param array $args Field arguments.
125
-     */
126
-    public function user_field_callback( $args ) {
127
-        include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
128
-    }
129
-
130
-    /**
131
-     * Callback to render the textarea field.
132
-     *
133
-     * @param array $args Field arguments.
134
-     */
135
-    public function textarea_field_callback( $args ) {
136
-        include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
137
-    }
138
-
139
-    /**
140
-     * Callback to render the checkbox field.
141
-     *
142
-     * @param array $args Field arguments.
143
-     */
144
-    public function checkbox_field_callback( $args ) {
145
-        include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
146
-    }
147
-
148
-    /**
149
-     * Displays settings messages from background processes
150
-     */
151
-    public function section_callback() {
152
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
153
-            return;
154
-        }
155
-
156
-        if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
12
+	/**
13
+	 * Hook into GitHub API
14
+	 */
15
+	public function __construct() {
16
+		add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
17
+		add_action( 'admin_init', array( $this, 'register_settings' ) );
18
+		add_action( 'current_screen', array( $this, 'trigger_cron' ) );
19
+	}
20
+
21
+	/**
22
+	 * Callback to render the settings page view
23
+	 */
24
+	public function settings_page() {
25
+		include dirname( dirname( __FILE__ ) ) . '/views/options.php';
26
+	}
27
+
28
+	/**
29
+	 * Callback to register the plugin's options
30
+	 */
31
+	public function register_settings() {
32
+		add_settings_section(
33
+			'general',
34
+			'General Settings',
35
+			array( $this, 'section_callback' ),
36
+			Writing_On_GitHub::$text_domain
37
+		);
38
+
39
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
40
+		add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
41
+				'default'   => 'https://api.github.com',
42
+				'name'      => 'wogh_host',
43
+				'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
44
+			)
45
+		);
46
+
47
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
48
+		add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
49
+				'default'   => '',
50
+				'name'      => 'wogh_repository',
51
+				'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' ),
52
+			)
53
+		);
54
+
55
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
56
+		add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
57
+				'default'   => 'master',
58
+				'name'      => 'wogh_branch',
59
+				'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
60
+			)
61
+		);
62
+
63
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
64
+		add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
65
+				'default'   => '',
66
+				'name'      => 'wogh_oauth_token',
67
+				'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
68
+			)
69
+		);
70
+
71
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
72
+		add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
73
+				'default'   => '',
74
+				'name'      => 'wogh_secret',
75
+				'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' ),
76
+			)
77
+		);
78
+
79
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
80
+		add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
81
+				'default'   => '',
82
+				'name'      => 'wogh_default_user',
83
+				'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
84
+			)
85
+		);
86
+
87
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
88
+		add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
89
+				'default'   => '',
90
+				'name'      => 'wogh_ignore_author',
91
+				'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
92
+			)
93
+		);
94
+
95
+		register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
96
+		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(
97
+				'default'   => '',
98
+				'name'      => 'wogh_dont_export_content',
99
+				'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
100
+			)
101
+		);
102
+
103
+		// register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_metas' );
104
+		// add_settings_field( 'wogh_ignore_metas', __( 'Ignore post metas', 'writing-on-github' ), array( &$this, 'textarea_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
105
+		//      'default'   => '',
106
+		//      'name'      => 'wogh_ignore_metas',
107
+		//      'help_text' => __( 'These meta keys will be ignored and cannot be imported and exported. One meta key per line.', 'writing-on-github' ),
108
+		//  )
109
+		// );
110
+	}
111
+
112
+	/**
113
+	 * Callback to render an individual options field
114
+	 *
115
+	 * @param array $args Field arguments.
116
+	 */
117
+	public function field_callback( $args ) {
118
+		include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
119
+	}
120
+
121
+	/**
122
+	 * Callback to render the default import user field.
123
+	 *
124
+	 * @param array $args Field arguments.
125
+	 */
126
+	public function user_field_callback( $args ) {
127
+		include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
128
+	}
129
+
130
+	/**
131
+	 * Callback to render the textarea field.
132
+	 *
133
+	 * @param array $args Field arguments.
134
+	 */
135
+	public function textarea_field_callback( $args ) {
136
+		include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
137
+	}
138
+
139
+	/**
140
+	 * Callback to render the checkbox field.
141
+	 *
142
+	 * @param array $args Field arguments.
143
+	 */
144
+	public function checkbox_field_callback( $args ) {
145
+		include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
146
+	}
147
+
148
+	/**
149
+	 * Displays settings messages from background processes
150
+	 */
151
+	public function section_callback() {
152
+		if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
153
+			return;
154
+		}
155
+
156
+		if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
157 157
             <div class="updated">
158 158
                 <p><?php esc_html_e( 'Export to GitHub started.', 'writing-on-github' ); ?></p>
159 159
             </div><?php
160
-            delete_option( '_wogh_export_started' );
161
-        }
160
+			delete_option( '_wogh_export_started' );
161
+		}
162 162
 
163
-        if ( $message = get_option( '_wogh_export_error' ) ) { ?>
163
+		if ( $message = get_option( '_wogh_export_error' ) ) { ?>
164 164
             <div class="error">
165 165
                 <p><?php esc_html_e( 'Export to GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
166 166
             </div><?php
167
-            delete_option( '_wogh_export_error' );
168
-        }
167
+			delete_option( '_wogh_export_error' );
168
+		}
169 169
 
170
-        if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
170
+		if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
171 171
             <div class="updated">
172 172
                 <p><?php esc_html_e( 'Export to GitHub completed successfully.', 'writing-on-github' );?></p>
173 173
             </div><?php
174
-            delete_option( '_wogh_export_complete' );
175
-        }
174
+			delete_option( '_wogh_export_complete' );
175
+		}
176 176
 
177
-        if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
177
+		if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
178 178
             <div class="updated">
179 179
             <p><?php esc_html_e( 'Import from GitHub started.', 'writing-on-github' ); ?></p>
180 180
             </div><?php
181
-            delete_option( '_wogh_import_started' );
182
-        }
181
+			delete_option( '_wogh_import_started' );
182
+		}
183 183
 
184
-        if ( $message = get_option( '_wogh_import_error' ) ) { ?>
184
+		if ( $message = get_option( '_wogh_import_error' ) ) { ?>
185 185
             <div class="error">
186 186
             <p><?php esc_html_e( 'Import from GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
187 187
             </div><?php
188
-            delete_option( '_wogh_import_error' );
189
-        }
188
+			delete_option( '_wogh_import_error' );
189
+		}
190 190
 
191
-        if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
191
+		if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
192 192
             <div class="updated">
193 193
             <p><?php esc_html_e( 'Import from GitHub completed successfully.', 'writing-on-github' );?></p>
194 194
             </div><?php
195
-            delete_option( '_wogh_import_complete' );
196
-        }
197
-    }
198
-
199
-    /**
200
-     * Add options menu to admin navbar
201
-     */
202
-    public function add_admin_menu() {
203
-        add_options_page(
204
-            __( 'Writing On GitHub', 'writing-on-github' ),
205
-            __( 'Writing On GitHub', 'writing-on-github' ),
206
-            'manage_options',
207
-            Writing_On_GitHub::$text_domain,
208
-            array( $this, 'settings_page' )
209
-        );
210
-    }
211
-
212
-    /**
213
-     * Admin callback to trigger import/export because WordPress admin routing lol
214
-     */
215
-    public function trigger_cron() {
216
-        if ( ! current_user_can( 'manage_options' ) ) {
217
-            return;
218
-        }
219
-
220
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
221
-            return;
222
-        }
223
-
224
-        if ( ! isset( $_GET['action'] ) ) {
225
-            return;
226
-        }
227
-
228
-        if ( 'export' === $_GET['action'] ) {
229
-            Writing_On_GitHub::$instance->start_export();
230
-        }
231
-
232
-        if ( 'force_export' === $_GET['action'] ) {
233
-            Writing_On_GitHub::$instance->start_export(true);
234
-        }
235
-
236
-        if ( 'import' === $_GET['action'] ) {
237
-            Writing_On_GitHub::$instance->start_import();
238
-        }
239
-
240
-        wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
241
-        die;
242
-    }
195
+			delete_option( '_wogh_import_complete' );
196
+		}
197
+	}
198
+
199
+	/**
200
+	 * Add options menu to admin navbar
201
+	 */
202
+	public function add_admin_menu() {
203
+		add_options_page(
204
+			__( 'Writing On GitHub', 'writing-on-github' ),
205
+			__( 'Writing On GitHub', 'writing-on-github' ),
206
+			'manage_options',
207
+			Writing_On_GitHub::$text_domain,
208
+			array( $this, 'settings_page' )
209
+		);
210
+	}
211
+
212
+	/**
213
+	 * Admin callback to trigger import/export because WordPress admin routing lol
214
+	 */
215
+	public function trigger_cron() {
216
+		if ( ! current_user_can( 'manage_options' ) ) {
217
+			return;
218
+		}
219
+
220
+		if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
221
+			return;
222
+		}
223
+
224
+		if ( ! isset( $_GET['action'] ) ) {
225
+			return;
226
+		}
227
+
228
+		if ( 'export' === $_GET['action'] ) {
229
+			Writing_On_GitHub::$instance->start_export();
230
+		}
231
+
232
+		if ( 'force_export' === $_GET['action'] ) {
233
+			Writing_On_GitHub::$instance->start_export(true);
234
+		}
235
+
236
+		if ( 'import' === $_GET['action'] ) {
237
+			Writing_On_GitHub::$instance->start_import();
238
+		}
239
+
240
+		wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
241
+		die;
242
+	}
243 243
 }
Please login to merge, or discard this patch.
Spacing   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -13,16 +13,16 @@  discard block
 block discarded – undo
13 13
      * Hook into GitHub API
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
17
-        add_action( 'admin_init', array( $this, 'register_settings' ) );
18
-        add_action( 'current_screen', array( $this, 'trigger_cron' ) );
16
+        add_action('admin_menu', array($this, 'add_admin_menu'));
17
+        add_action('admin_init', array($this, 'register_settings'));
18
+        add_action('current_screen', array($this, 'trigger_cron'));
19 19
     }
20 20
 
21 21
     /**
22 22
      * Callback to render the settings page view
23 23
      */
24 24
     public function settings_page() {
25
-        include dirname( dirname( __FILE__ ) ) . '/views/options.php';
25
+        include dirname(dirname(__FILE__)) . '/views/options.php';
26 26
     }
27 27
 
28 28
     /**
@@ -32,71 +32,71 @@  discard block
 block discarded – undo
32 32
         add_settings_section(
33 33
             'general',
34 34
             'General Settings',
35
-            array( $this, 'section_callback' ),
35
+            array($this, 'section_callback'),
36 36
             Writing_On_GitHub::$text_domain
37 37
         );
38 38
 
39
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_host' );
40
-        add_settings_field( 'wogh_host', __( 'GitHub hostname', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
39
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_host');
40
+        add_settings_field('wogh_host', __('GitHub hostname', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
41 41
                 'default'   => 'https://api.github.com',
42 42
                 'name'      => 'wogh_host',
43
-                'help_text' => __( 'The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github' ),
43
+                'help_text' => __('The GitHub host to use. This only needs to be changed to support a GitHub Enterprise installation.', 'writing-on-github'),
44 44
             )
45 45
         );
46 46
 
47
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_repository' );
48
-        add_settings_field( 'wogh_repository', __( 'Repository', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
47
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_repository');
48
+        add_settings_field('wogh_repository', __('Repository', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
49 49
                 'default'   => '',
50 50
                 'name'      => 'wogh_repository',
51
-                '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' ),
51
+                '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'),
52 52
             )
53 53
         );
54 54
 
55
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_branch' );
56
-        add_settings_field( 'wogh_branch', __( 'Branch', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
55
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_branch');
56
+        add_settings_field('wogh_branch', __('Branch', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
57 57
                 'default'   => 'master',
58 58
                 'name'      => 'wogh_branch',
59
-                'help_text' => __( 'The GitHub branch to commit to, default is master.', 'writing-on-github' ),
59
+                'help_text' => __('The GitHub branch to commit to, default is master.', 'writing-on-github'),
60 60
             )
61 61
         );
62 62
 
63
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_oauth_token' );
64
-        add_settings_field( 'wogh_oauth_token', __( 'Oauth Token', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
63
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_oauth_token');
64
+        add_settings_field('wogh_oauth_token', __('Oauth Token', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
65 65
                 'default'   => '',
66 66
                 'name'      => 'wogh_oauth_token',
67
-                'help_text' => __( "A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github' ),
67
+                'help_text' => __("A <a href='https://github.com/settings/tokens/new'>personal oauth token</a> with <code>public_repo</code> scope.", 'writing-on-github'),
68 68
             )
69 69
         );
70 70
 
71
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_secret' );
72
-        add_settings_field( 'wogh_secret', __( 'Webhook Secret', 'writing-on-github' ), array( $this, 'field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
71
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_secret');
72
+        add_settings_field('wogh_secret', __('Webhook Secret', 'writing-on-github'), array($this, 'field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
73 73
                 'default'   => '',
74 74
                 'name'      => 'wogh_secret',
75
-                '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' ),
75
+                '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'),
76 76
             )
77 77
         );
78 78
 
79
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_default_user' );
80
-        add_settings_field( 'wogh_default_user', __( 'Default Import User', 'writing-on-github' ), array( &$this, 'user_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
79
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_default_user');
80
+        add_settings_field('wogh_default_user', __('Default Import User', 'writing-on-github'), array(&$this, 'user_field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
81 81
                 'default'   => '',
82 82
                 'name'      => 'wogh_default_user',
83
-                'help_text' => __( 'The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github' ),
83
+                'help_text' => __('The fallback user for import, in case Writing On GitHub cannot find the committer in the database.', 'writing-on-github'),
84 84
             )
85 85
         );
86 86
 
87
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_ignore_author' );
88
-        add_settings_field( 'wogh_ignore_author', __( 'Ignore author', 'writing-on-github' ), array( &$this, 'checkbox_field_callback' ), Writing_On_GitHub::$text_domain, 'general', array(
87
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_ignore_author');
88
+        add_settings_field('wogh_ignore_author', __('Ignore author', 'writing-on-github'), array(&$this, 'checkbox_field_callback'), Writing_On_GitHub::$text_domain, 'general', array(
89 89
                 'default'   => '',
90 90
                 'name'      => 'wogh_ignore_author',
91
-                'help_text' => __( 'Do not export author and do not use author info from GitHub.', 'writing-on-github' ),
91
+                'help_text' => __('Do not export author and do not use author info from GitHub.', 'writing-on-github'),
92 92
             )
93 93
         );
94 94
 
95
-        register_setting( Writing_On_GitHub::$text_domain, 'wogh_dont_export_content' );
96
-        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(
95
+        register_setting(Writing_On_GitHub::$text_domain, 'wogh_dont_export_content');
96
+        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(
97 97
                 'default'   => '',
98 98
                 'name'      => 'wogh_dont_export_content',
99
-                'help_text' => __( 'Do not export post content to github, only export meta.', 'writing-on-github' ),
99
+                'help_text' => __('Do not export post content to github, only export meta.', 'writing-on-github'),
100 100
             )
101 101
         );
102 102
 
@@ -114,8 +114,8 @@  discard block
 block discarded – undo
114 114
      *
115 115
      * @param array $args Field arguments.
116 116
      */
117
-    public function field_callback( $args ) {
118
-        include dirname( dirname( __FILE__ ) ) . '/views/setting-field.php';
117
+    public function field_callback($args) {
118
+        include dirname(dirname(__FILE__)) . '/views/setting-field.php';
119 119
     }
120 120
 
121 121
     /**
@@ -123,8 +123,8 @@  discard block
 block discarded – undo
123 123
      *
124 124
      * @param array $args Field arguments.
125 125
      */
126
-    public function user_field_callback( $args ) {
127
-        include dirname( dirname( __FILE__ ) ) . '/views/user-setting-field.php';
126
+    public function user_field_callback($args) {
127
+        include dirname(dirname(__FILE__)) . '/views/user-setting-field.php';
128 128
     }
129 129
 
130 130
     /**
@@ -132,8 +132,8 @@  discard block
 block discarded – undo
132 132
      *
133 133
      * @param array $args Field arguments.
134 134
      */
135
-    public function textarea_field_callback( $args ) {
136
-        include dirname( dirname( __FILE__ ) ) . '/views/textarea-setting-field.php';
135
+    public function textarea_field_callback($args) {
136
+        include dirname(dirname(__FILE__)) . '/views/textarea-setting-field.php';
137 137
     }
138 138
 
139 139
     /**
@@ -141,58 +141,58 @@  discard block
 block discarded – undo
141 141
      *
142 142
      * @param array $args Field arguments.
143 143
      */
144
-    public function checkbox_field_callback( $args ) {
145
-        include dirname( dirname( __FILE__ ) ) . '/views/checkbox-setting-field.php';
144
+    public function checkbox_field_callback($args) {
145
+        include dirname(dirname(__FILE__)) . '/views/checkbox-setting-field.php';
146 146
     }
147 147
 
148 148
     /**
149 149
      * Displays settings messages from background processes
150 150
      */
151 151
     public function section_callback() {
152
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
152
+        if (get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain) {
153 153
             return;
154 154
         }
155 155
 
156
-        if ( 'yes' === get_option( '_wogh_export_started' ) ) { ?>
156
+        if ('yes' === get_option('_wogh_export_started')) { ?>
157 157
             <div class="updated">
158
-                <p><?php esc_html_e( 'Export to GitHub started.', 'writing-on-github' ); ?></p>
158
+                <p><?php esc_html_e('Export to GitHub started.', 'writing-on-github'); ?></p>
159 159
             </div><?php
160
-            delete_option( '_wogh_export_started' );
160
+            delete_option('_wogh_export_started');
161 161
         }
162 162
 
163
-        if ( $message = get_option( '_wogh_export_error' ) ) { ?>
163
+        if ($message = get_option('_wogh_export_error')) { ?>
164 164
             <div class="error">
165
-                <p><?php esc_html_e( 'Export to GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
165
+                <p><?php esc_html_e('Export to GitHub failed with error:', 'writing-on-github'); ?> <?php echo esc_html($message); ?></p>
166 166
             </div><?php
167
-            delete_option( '_wogh_export_error' );
167
+            delete_option('_wogh_export_error');
168 168
         }
169 169
 
170
-        if ( 'yes' === get_option( '_wogh_export_complete' ) ) { ?>
170
+        if ('yes' === get_option('_wogh_export_complete')) { ?>
171 171
             <div class="updated">
172
-                <p><?php esc_html_e( 'Export to GitHub completed successfully.', 'writing-on-github' );?></p>
172
+                <p><?php esc_html_e('Export to GitHub completed successfully.', 'writing-on-github'); ?></p>
173 173
             </div><?php
174
-            delete_option( '_wogh_export_complete' );
174
+            delete_option('_wogh_export_complete');
175 175
         }
176 176
 
177
-        if ( 'yes' === get_option( '_wogh_import_started' ) ) { ?>
177
+        if ('yes' === get_option('_wogh_import_started')) { ?>
178 178
             <div class="updated">
179
-            <p><?php esc_html_e( 'Import from GitHub started.', 'writing-on-github' ); ?></p>
179
+            <p><?php esc_html_e('Import from GitHub started.', 'writing-on-github'); ?></p>
180 180
             </div><?php
181
-            delete_option( '_wogh_import_started' );
181
+            delete_option('_wogh_import_started');
182 182
         }
183 183
 
184
-        if ( $message = get_option( '_wogh_import_error' ) ) { ?>
184
+        if ($message = get_option('_wogh_import_error')) { ?>
185 185
             <div class="error">
186
-            <p><?php esc_html_e( 'Import from GitHub failed with error:', 'writing-on-github' ); ?> <?php echo esc_html( $message );?></p>
186
+            <p><?php esc_html_e('Import from GitHub failed with error:', 'writing-on-github'); ?> <?php echo esc_html($message); ?></p>
187 187
             </div><?php
188
-            delete_option( '_wogh_import_error' );
188
+            delete_option('_wogh_import_error');
189 189
         }
190 190
 
191
-        if ( 'yes' === get_option( '_wogh_import_complete' ) ) { ?>
191
+        if ('yes' === get_option('_wogh_import_complete')) { ?>
192 192
             <div class="updated">
193
-            <p><?php esc_html_e( 'Import from GitHub completed successfully.', 'writing-on-github' );?></p>
193
+            <p><?php esc_html_e('Import from GitHub completed successfully.', 'writing-on-github'); ?></p>
194 194
             </div><?php
195
-            delete_option( '_wogh_import_complete' );
195
+            delete_option('_wogh_import_complete');
196 196
         }
197 197
     }
198 198
 
@@ -201,11 +201,11 @@  discard block
 block discarded – undo
201 201
      */
202 202
     public function add_admin_menu() {
203 203
         add_options_page(
204
-            __( 'Writing On GitHub', 'writing-on-github' ),
205
-            __( 'Writing On GitHub', 'writing-on-github' ),
204
+            __('Writing On GitHub', 'writing-on-github'),
205
+            __('Writing On GitHub', 'writing-on-github'),
206 206
             'manage_options',
207 207
             Writing_On_GitHub::$text_domain,
208
-            array( $this, 'settings_page' )
208
+            array($this, 'settings_page')
209 209
         );
210 210
     }
211 211
 
@@ -213,31 +213,31 @@  discard block
 block discarded – undo
213 213
      * Admin callback to trigger import/export because WordPress admin routing lol
214 214
      */
215 215
     public function trigger_cron() {
216
-        if ( ! current_user_can( 'manage_options' ) ) {
216
+        if ( ! current_user_can('manage_options')) {
217 217
             return;
218 218
         }
219 219
 
220
-        if ( get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain ) {
220
+        if (get_current_screen()->id !== 'settings_page_' . Writing_On_GitHub::$text_domain) {
221 221
             return;
222 222
         }
223 223
 
224
-        if ( ! isset( $_GET['action'] ) ) {
224
+        if ( ! isset($_GET['action'])) {
225 225
             return;
226 226
         }
227 227
 
228
-        if ( 'export' === $_GET['action'] ) {
228
+        if ('export' === $_GET['action']) {
229 229
             Writing_On_GitHub::$instance->start_export();
230 230
         }
231 231
 
232
-        if ( 'force_export' === $_GET['action'] ) {
232
+        if ('force_export' === $_GET['action']) {
233 233
             Writing_On_GitHub::$instance->start_export(true);
234 234
         }
235 235
 
236
-        if ( 'import' === $_GET['action'] ) {
236
+        if ('import' === $_GET['action']) {
237 237
             Writing_On_GitHub::$instance->start_import();
238 238
         }
239 239
 
240
-        wp_redirect( admin_url( 'options-general.php?page=writing-on-github' ) );
240
+        wp_redirect(admin_url('options-general.php?page=writing-on-github'));
241 241
         die;
242 242
     }
243 243
 }
Please login to merge, or discard this patch.