PluginProbe
Social Media Auto Poster – Schedule & Publish to Buffer / 6.1.2
Social Media Auto Poster – Schedule & Publish to Buffer v6.1.2
6.2.3 6.2.2 6.2.1 6.2.0 6.1.2 6.1.1 6.1.0 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 6.0.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 All 124 releases
wp-to-buffer / lib / views / settings-auth.php

settings-auth.php in Social Media Auto Poster – Schedule & Publish to Buffer 6.1.2, at lib/views/settings-auth.php

481 lines 18.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Outputs the Settings screen when the Plugin is authenticated with
4 * the third party API service.
5 *
6 * @package WP_To_Social_Pro
7 * @author WP Zinc
8 */
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit; // Exit if accessed directly.
12 }
13 ?>
14 <div class="postbox wpzinc-vertical-tabbed-ui">
15 <!-- Second level tabs -->
16 <ul class="wpzinc-nav-tabs wpzinc-js-tabs" data-panels-container="#settings-container" data-panel=".panel" data-active="wpzinc-nav-tab-vertical-active">
17 <li class="wpzinc-nav-tab lock">
18 <a href="#authentication" class="wpzinc-nav-tab-vertical-active" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/authentication-settings/">
19 <?php esc_html_e( 'Authentication', 'wp-to-buffer' ); ?>
20 </a>
21 </li>
22 <li class="wpzinc-nav-tab default">
23 <a href="#general-settings" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/general-settings/">
24 <?php esc_html_e( 'General Settings', 'wp-to-buffer' ); ?>
25 </a>
26 </li>
27 <li class="wpzinc-nav-tab image">
28 <a href="#image-settings" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/text-to-image-settings/">
29 <?php esc_html_e( 'Text to Image', 'wp-to-buffer' ); ?>
30 </a>
31 </li>
32 <li class="wpzinc-nav-tab file-text">
33 <a href="#log-settings" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/log-settings/">
34 <?php esc_html_e( 'Log Settings', 'wp-to-buffer' ); ?>
35 </a>
36 </li>
37 <li class="wpzinc-nav-tab arrow-right-circle">
38 <a href="#repost-settings" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/repost-settings/">
39 <?php esc_html_e( 'Repost Settings', 'wp-to-buffer' ); ?>
40 </a>
41 </li>
42 <?php
43 // Only display if we've auth'd and have profiles.
44 if ( $this->base->get_class( 'settings' )->account_connected() ) {
45 ?>
46 <li class="wpzinc-nav-tab users">
47 <a href="#user-access" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/user-access-settings/">
48 <?php esc_html_e( 'User Access', 'wp-to-buffer' ); ?>
49 </a>
50 </li>
51 <?php
52 }
53 ?>
54 <li class="wpzinc-nav-tab tag">
55 <a href="#custom-tags" data-documentation="<?php echo esc_attr( $this->base->plugin->documentation_url ); ?>/custom-tags-settings/">
56 <?php esc_html_e( 'Custom Tags', 'wp-to-buffer' ); ?>
57 </a>
58 </li>
59 </ul>
60
61 <!-- Content -->
62 <div id="settings-container" class="wpzinc-nav-tabs-content">
63 <!-- Authentication -->
64 <div id="authentication" class="panel">
65 <div class="postbox">
66 <header>
67 <h3><?php esc_html_e( 'Connected Accounts', 'wp-to-buffer' ); ?></h3>
68
69 <p class="description">
70 <?php
71 echo esc_html(
72 sprintf(
73 /* translators: %1$s: Plugin Name, %2$s: Social Media Service Name (Buffer, Hootsuite) */
74 __( 'A list of %1$s accounts/organizations that are connected to %2$s.', 'wp-to-buffer' ),
75 $this->base->plugin->account,
76 $this->base->plugin->displayName
77 )
78 );
79 ?>
80 </p>
81 </header>
82
83 <?php
84 // List connected accounts.
85 foreach ( $this->base->get_class( 'settings' )->get_accounts() as $account_id => $account ) {
86 $reconnect_url = $this->base->get_class( 'api' )->get_oauth_url( $account_id );
87 $refresh_profiles_url = add_query_arg(
88 array(
89 'page' => $this->base->plugin->name . '-settings',
90 $this->base->plugin->name . '-refresh-profiles' => $account_id,
91 'nonce' => wp_create_nonce( $this->base->plugin->name . '-refresh-profiles' ),
92 ),
93 admin_url( 'admin.php' )
94 );
95 $disconnect_url = add_query_arg(
96 array(
97 'page' => $this->base->plugin->name . '-settings',
98 $this->base->plugin->name . '-disconnect' => $account_id,
99 'nonce' => wp_create_nonce( $this->base->plugin->name . '-disconnect' ),
100 ),
101 admin_url( 'admin.php' )
102 );
103 ?>
104 <div class="wpzinc-option">
105 <div class="left">
106 <strong><?php echo esc_html( $account['name'] ); ?></strong>
107 </div>
108 <div class="right">
109 <a href="<?php echo esc_url( $refresh_profiles_url ); ?>" class="button button-secondary">
110 <?php esc_html_e( 'Refresh Profiles', 'wp-to-buffer' ); ?>
111 </a>
112 <a href="<?php echo esc_url( $reconnect_url ); ?>" class="button button-secondary">
113 <?php esc_html_e( 'Reconnect', 'wp-to-buffer' ); ?>
114 </a>
115 <a href="<?php echo esc_url( $disconnect_url ); ?>" class="button wpzinc-button-red">
116 <?php esc_html_e( 'Disconnect', 'wp-to-buffer' ); ?>
117 </a>
118 </div>
119 </div>
120 <?php
121 }
122 ?>
123 </div>
124 </div>
125
126 <!-- General Settings -->
127 <div id="general-settings" class="panel">
128 <div class="postbox">
129 <header>
130 <h3><?php esc_html_e( 'General Settings', 'wp-to-buffer' ); ?></h3>
131 <p class="description">
132 <?php esc_html_e( 'Provides options for logging, Post default level settings and whether to use WordPress Cron when publishing or updating Posts.', 'wp-to-buffer' ); ?>
133 </p>
134 </header>
135
136 <div class="wpzinc-option">
137 <div class="left">
138 <label for="test_mode"><?php esc_html_e( 'Enable Test Mode', 'wp-to-buffer' ); ?></label>
139 </div>
140 <div class="right">
141 <input type="checkbox" name="test_mode" id="test_mode" value="1" <?php checked( $this->get_setting( '', 'test_mode' ), 1 ); ?> />
142
143 <p class="description">
144 <?php
145 echo esc_html(
146 sprintf(
147 /* translators: Social Media Service Name (Buffer, Hootsuite) */
148 __( 'If enabled, status(es) are not sent to %s, but will appear in the Log, if logging is enabled. This is useful to test status text, conditions etc.', 'wp-to-buffer' ),
149 $this->base->plugin->account
150 )
151 );
152 ?>
153 </p>
154 </div>
155 </div>
156
157 <div class="wpzinc-option">
158 <div class="left">
159 <label for="force_trailing_forwardslash"><?php esc_html_e( 'Force Trailing Forwardslash?', 'wp-to-buffer' ); ?></label>
160 </div>
161 <div class="right">
162 <input type="checkbox" name="force_trailing_forwardslash" id="force_trailing_forwardslash" value="1" <?php checked( $this->get_setting( '', 'force_trailing_forwardslash' ), 1 ); ?> />
163
164 <p class="description">
165 <?php
166 esc_html_e( 'If enabled, any URLs in statuses will always end with a forwardslash. This might be required if the wrong image is shared with a status.', 'wp-to-buffer' );
167 ?>
168 <br />
169 <?php
170 printf(
171 '%1$s <a href="options-permalink.php">%2$s</a> %3$s',
172 esc_html__( 'It\'s better to ensure your', 'wp-to-buffer' ),
173 esc_html__( 'Permalink', 'wp-to-buffer' ),
174 esc_html__( 'settings end with a forwardslash, but this option is a useful fallback if changing Permalink structure isn\'t possible.', 'wp-to-buffer' )
175 );
176 ?>
177 </p>
178 </div>
179 </div>
180
181 <div class="wpzinc-option">
182 <div class="left">
183 <label for="proxy"><?php esc_html_e( 'Use Proxy?', 'wp-to-buffer' ); ?></label>
184 </div>
185 <div class="right">
186 <input type="checkbox" name="proxy" id="proxy" value="1" <?php checked( $this->get_setting( '', 'proxy' ), 1 ); ?> />
187
188 <p class="description">
189 <?php
190 echo esc_html(
191 sprintf(
192 /* translators: %1$s: Social Media Service Name (Buffer, Hootsuite), %2$s: Social Media Service Name (Buffer, Hootsuite) */
193 __( 'If enabled, statuses sent to %1$s are performed through our proxy. This is useful if your ISP or host\'s country prevents access to %1$s.', 'wp-to-buffer' ),
194 $this->base->plugin->account,
195 $this->base->plugin->account
196 )
197 );
198 ?>
199 <br />
200 <?php esc_html_e( 'You may still need to use a VPN for initial Authentication when setting up the Plugin for the first time.', 'wp-to-buffer' ); ?>
201 </p>
202 </div>
203 </div>
204 </div>
205 </div>
206
207 <!-- Image Settings -->
208 <div id="image-settings" class="panel">
209 <div class="postbox">
210 <header>
211 <h3><?php esc_html_e( 'Text to Image Settings', 'wp-to-buffer' ); ?></h3>
212 <p class="description">
213 <?php
214 esc_html_e(
215 'Provides options for automatically generating images from text, when a Status\' image option is set to Use Text to Image
216 and a status has Text to Image defined.',
217 'wp-to-buffer'
218 );
219 ?>
220 </p>
221 </header>
222
223 <div class="wpzinc-option highlight">
224 <div class="full">
225 <h4>
226 <?php
227 esc_html_e( 'Need to automatically generate images?', 'wp-to-buffer' );
228 ?>
229 </h4>
230
231 <p>
232 <?php
233 printf(
234 /* translators: Service name (Buffer, Hootsuite) */
235 esc_html__( '%s Pro provides options to generate images based on text, which are them submitted with your status message.', 'wp-to-buffer' ),
236 esc_html( $this->base->plugin->displayName )
237 );
238 ?>
239 </p>
240
241 <a href="<?php echo esc_url( $this->base->dashboard->get_upgrade_url( 'settings_inline_upgrade' ) ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Upgrade', 'wp-to-buffer' ); ?></a>
242 </div>
243 </div>
244 </div>
245 </div>
246
247 <!-- Log Settings -->
248 <div id="log-settings" class="panel">
249 <div class="postbox">
250 <header>
251 <h3><?php esc_html_e( 'Log Settings', 'wp-to-buffer' ); ?></h3>
252 <p class="description">
253 <?php esc_html_e( 'Provides options to enable logging, display logs on Posts and how long to keep logs for.', 'wp-to-buffer' ); ?>
254 </p>
255 </header>
256
257 <div class="wpzinc-option">
258 <div class="left">
259 <label for="log_enabled"><?php esc_html_e( 'Enable Logging?', 'wp-to-buffer' ); ?></label>
260 </div>
261 <div class="right">
262 <input type="checkbox" name="log[enabled]" id="log_enabled" value="1" <?php checked( $this->get_setting( 'log', '[enabled]' ), 1 ); ?> data-conditional="enable_logging" />
263 <p class="description">
264 <?php
265 if ( $this->get_setting( 'log', '[enabled]' ) ) {
266 printf(
267 '%1$s <a href="%2$s">%3$s</a> %4$s',
268 esc_html__( 'If enabled, the', 'wp-to-buffer' ),
269 esc_html( admin_url( 'admin.php?page=' . $this->base->plugin->name . '-log' ) ),
270 esc_html__( 'Plugin Logs', 'wp-to-buffer' ),
271 esc_html(
272 sprintf(
273 /* translators: Social Media Service Name (Buffer, Hootsuite) */
274 __( 'will detail status(es) sent to %s, including any errors or reasons why no status(es) were sent.', 'wp-to-buffer' ),
275 $this->base->plugin->account
276 )
277 )
278 );
279 } else {
280 // Don't link "Plugin Log" text, as Logs are disabled so it won't show anything.
281 echo esc_html(
282 sprintf(
283 /* translators: %1$s: Social Media Service Name (Buffer, Hootsuite) */
284 __( 'If enabled, the Plugin Logs will detail status(es) sent to %1$s, including any errors or reasons why no status(es) were sent.', 'wp-to-buffer' ),
285 $this->base->plugin->account
286 )
287 );
288 }
289 ?>
290 </p>
291 </div>
292 </div>
293
294 <div id="enable_logging">
295 <div class="wpzinc-option">
296 <div class="left">
297 <label for="log_display_on_posts"><?php esc_html_e( 'Display on Posts?', 'wp-to-buffer' ); ?></label>
298 </div>
299 <div class="right">
300 <input type="checkbox" name="log[display_on_posts]" id="log_display_on_posts" value="1" <?php checked( $this->get_setting( 'log', '[display_on_posts]' ), 1 ); ?> />
301
302 <p class="description">
303 <?php
304 if ( $this->get_setting( 'log', '[enabled]' ) ) {
305 printf(
306 '%1$s <a href="%2$s">%3$s</a> %4$s',
307 esc_html__( 'If enabled, a Log will be displayed when editing a Post. Logs are always available through the', 'wp-to-buffer' ),
308 esc_html( admin_url( 'admin.php?page=' . $this->base->plugin->name . '-log' ) ),
309 esc_html__( 'Plugin Logs', 'wp-to-buffer' ),
310 esc_html__( 'screen', 'wp-to-buffer' )
311 );
312 } else {
313 // Don't link "Plugin Log" text, as Logs are disabled so it won't show anything.
314 esc_html_e( 'If enabled, a Log will be displayed when editing a Post. Logs are always available through the Plugin Logs screen.', 'wp-to-buffer' );
315 }
316 ?>
317 </p>
318 </div>
319 </div>
320
321 <div class="wpzinc-option">
322 <div class="left">
323 <label for="log_level"><?php esc_html_e( 'Log Level', 'wp-to-buffer' ); ?></label>
324 </div>
325 <div class="right">
326 <?php
327 $log_levels_settings = $this->get_setting(
328 'log',
329 'log_level',
330 array(
331 'success',
332 'test',
333 'pending',
334 'warning',
335 'error',
336 )
337 );
338
339 foreach ( $log_levels as $log_level => $label ) {
340 ?>
341 <label for="log_level_<?php echo esc_attr( $log_level ); ?>">
342 <input type="checkbox"
343 name="log[log_level][]"
344 id="log_level_<?php echo esc_attr( $log_level ); ?>"
345 value="<?php echo esc_attr( $log_level ); ?>"
346 <?php echo ( in_array( $log_level, $log_levels_settings, true ) || $log_level === 'error' ? ' checked' : '' ); ?>
347 <?php echo ( ( $log_level === 'error' ) ? ' disabled' : '' ); ?>
348 />
349
350 <?php echo esc_html( $label ); ?>
351 </label>
352 <br />
353 <?php
354 }
355 ?>
356
357 <p class="description">
358 <?php esc_html_e( 'Defines which log results to save to the Log database. Errors will always be logged.', 'wp-to-buffer' ); ?>
359 </p>
360 </div>
361 </div>
362
363 <div class="wpzinc-option">
364 <div class="left">
365 <label for="log_preserve_days"><?php esc_html_e( 'Preserve Logs', 'wp-to-buffer' ); ?></strong>
366 </div>
367 <div class="right">
368 <input type="number" name="log[preserve_days]" id="log_preserve_days" value="<?php echo esc_attr( $this->get_setting( 'log', '[preserve_days]' ) ); ?>" min="0" max="9999" step="1" />
369 <?php esc_html_e( 'days', 'wp-to-buffer' ); ?>
370
371 <p class="description">
372 <?php
373 esc_html_e( 'The number of days to preserve logs for. Zero means logs are kept indefinitely.', 'wp-to-buffer' );
374 ?>
375 </p>
376 </div>
377 </div>
378 </div>
379 </div>
380 </div>
381
382 <!-- Repost Settings -->
383 <div id="repost-settings" class="panel">
384 <div class="postbox">
385 <header>
386 <h3><?php esc_html_e( 'Repost Settings', 'wp-to-buffer' ); ?></h3>
387 <p class="description">
388 <?php esc_html_e( 'Provides options for when to run the WordPress Repost Cron Event on this WordPress installation.', 'wp-to-buffer' ); ?><br />
389 <?php
390 printf(
391 /* translators: Service (Buffer, Hootsuite) */
392 esc_html__( 'When Post(s) are scheduled on %s will depend on the Repost Status Settings.', 'wp-to-buffer' ),
393 esc_html( $this->base->plugin->displayName )
394 );
395 ?>
396 </p>
397 </header>
398
399 <div class="wpzinc-option highlight">
400 <div class="full">
401 <h4><?php esc_html_e( 'Revive Old Posts with Repost', 'wp-to-buffer' ); ?></h4>
402
403 <p>
404 <?php
405 printf(
406 /* translators: %1$s: Service (Buffer, Hootsuite), %2$s: Service (Buffer, Hootsuite) */
407 esc_html__( 'Automatically schedule old Posts to %1$s with %2$s Pro.', 'wp-to-buffer' ),
408 esc_html( $this->base->plugin->displayName ),
409 esc_html( $this->base->plugin->displayName )
410 );
411 ?>
412 </p>
413
414 <a href="<?php echo esc_url( $this->base->dashboard->get_upgrade_url( 'settings_inline_upgrade' ) ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Upgrade', 'wp-to-buffer' ); ?></a>
415 </div>
416 </div>
417 </div>
418 </div>
419
420 <!-- User Access -->
421 <div id="user-access" class="panel">
422 <div class="postbox">
423 <header>
424 <h3><?php esc_html_e( 'User Access', 'wp-to-buffer' ); ?></h3>
425 <p class="description">
426 <?php esc_html_e( 'Optionally define which of your Post Types and connected social media account(s) should be available for configuration based on various WordPress User Roles.', 'wp-to-buffer' ); ?>
427 </p>
428 </header>
429
430 <div class="wpzinc-option highlight">
431 <div class="full">
432 <h4><?php esc_html_e( 'Limit Post Types and Social Profiles by WordPress User Role', 'wp-to-buffer' ); ?></h4>
433
434 <p>
435 <?php
436 printf(
437 /* translators: %1$s: Service (Buffer, Hootsuite) */
438 esc_html__( '%s Pro provides options to limit which Post Types to show in the Settings screens, as well as prevent access to specific social media profiles linked to your Buffer account, on a per-WordPress Role basis.', 'wp-to-buffer' ),
439 esc_html( $this->base->plugin->displayName )
440 );
441 ?>
442 </p>
443
444 <a href="<?php echo esc_url( $this->base->dashboard->get_upgrade_url( 'settings_inline_upgrade' ) ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Upgrade', 'wp-to-buffer' ); ?></a>
445 </div>
446 </div>
447 </div>
448 </div>
449
450 <!-- Custom Tags -->
451 <div id="custom-tags" class="panel">
452 <div class="postbox">
453 <header>
454 <h3><?php esc_html_e( 'Custom Tags', 'wp-to-buffer' ); ?></h3>
455 <p class="description">
456 <?php esc_html_e( 'If your site uses Custom Fields, ACF or similar, you can specify additional tags to be added to the "Insert Tag" dropdown for each of your Post Types. These can then be used by Users, instead of having to remember the template tag text to use.', 'wp-to-buffer' ); ?>
457 </p>
458 </header>
459
460 <div class="wpzinc-option highlight">
461 <div class="full">
462 <h4><?php esc_html_e( 'Need to define your own Tags to use in status messages?', 'wp-to-buffer' ); ?></h4>
463
464 <p>
465 <?php
466 printf(
467 /* translators: %1$s: Service (Buffer, Hootsuite) */
468 esc_html__( '%s Pro provides options to define Custom Field / ACF Tags, which will then populate with Post data when used in status messages. Tags also appear in the Insert Tags dropdown.', 'wp-to-buffer' ),
469 esc_html( $this->base->plugin->displayName )
470 );
471 ?>
472 </p>
473
474 <a href="<?php echo esc_url( $this->base->dashboard->get_upgrade_url( 'settings_inline_upgrade' ) ); ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Upgrade', 'wp-to-buffer' ); ?></a>
475 </div>
476 </div>
477 </div>
478 </div>
479 </div>
480 </div>
481