PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 5.8.6
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v5.8.6
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / includes / admin / pages / dashboard.php

dashboard.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 5.8.6, at includes/admin/pages/dashboard.php

1,244 lines 50.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Admin Dashboard Page
4 *
5 * @package AutomatorWP\Admin\Dashboard
6 * @author AutomatorWP <[email protected]>, Ruben Garcia <[email protected]>
7 * @since 2.0.0
8 */
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Dashboard page
14 *
15 * @since 2.0.0
16 */
17 function automatorwp_dashboard_page() {
18 ?>
19 <div class="wrap automatorwp-dashboard">
20
21 <div id="icon-options-general" class="icon32"></div>
22 <h1 class="wp-heading-inline"><?php esc_html_e( 'Dashboard', 'automatorwp' ); ?></h1>
23 <hr class="wp-header-end">
24
25 <div id="dashboard-widgets-wrap">
26 <div id="dashboard-widgets" class="metabox-holder">
27
28 <?php // Logo ?>
29 <div class="automatorwp-dashboard-logo">
30 <img src="<?php echo AUTOMATORWP_URL . 'assets/img/automatorwp-brand-logo.svg' ?>" alt="AutomatorWP">
31 <strong class="automatorwp-dashboard-version">v<?php echo AUTOMATORWP_VER; ?></strong>
32 </div>
33
34 <?php // Dashboard ?>
35 <h1><?php echo esc_html_e( 'Dashboard', 'automatorwp' ); ?></h1>
36
37 <div id="postbox-container-1" class="postbox-container">
38 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
39
40 <?php // Latest Automations ?>
41 <?php automatorwp_dashboard_box( array(
42 'id' => 'latest-automations',
43 'title' => __( 'Latest Automations', 'automatorwp' ) . '<a href="' . ct_get_list_link( 'automatorwp_automations' ) . '" class="button button-primary">' . esc_html__( 'View All', 'automatorwp' ) . '</a>',
44 'content_cb' => 'automatorwp_dashboard_latest_automations_box',
45 ) ); ?>
46
47 </div>
48 </div>
49
50 <div id="postbox-container-2" class="postbox-container">
51 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
52
53 <?php // Most Completed Automations ?>
54 <?php automatorwp_dashboard_box( array(
55 'id' => 'most-completed-automations',
56 'title' => __( 'Most Completed Automations', 'automatorwp' ) . '<a href="' . ct_get_list_link( 'automatorwp_automations' ) . '" class="button button-primary">' . esc_html__( 'View All', 'automatorwp' ) . '</a>',
57 'content_cb' => 'automatorwp_dashboard_most_completed_automations_box',
58 ) ); ?>
59
60 </div>
61 </div>
62
63 <div id="postbox-container-3" class="postbox-container">
64 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
65
66 <?php // Latest Logs ?>
67 <?php automatorwp_dashboard_box( array(
68 'id' => 'latest-logs',
69 'title' => __( 'Latest Logs', 'automatorwp' ) . '<a href="' . ct_get_list_link( 'automatorwp_logs' ) . '" class="button button-primary">' . esc_html__( 'View All', 'automatorwp' ) . '</a>',
70 'content_cb' => 'automatorwp_dashboard_latest_logs_box',
71 ) ); ?>
72
73 </div>
74 </div>
75
76 <div id="postbox-container-4" class="postbox-container">
77 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
78
79 <?php // New Automation ?>
80 <?php automatorwp_dashboard_box( array(
81 'id' => 'new-automation',
82 'title' => __( 'New Automation', 'automatorwp' ),
83 'content_cb' => 'automatorwp_dashboard_new_automation_box',
84 ) ); ?>
85
86 </div>
87 </div>
88
89 <?php // Videos ?>
90 <h1><?php echo esc_html_e( 'Videos', 'automatorwp' ); ?></h1>
91
92 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
93
94 <?php // Videos ?>
95 <?php automatorwp_dashboard_box( array(
96 'id' => 'videos',
97 'title' => '',
98 'content_cb' => 'automatorwp_dashboard_videos_box',
99 ) ); ?>
100
101 </div>
102
103 <?php // Add-ons ?>
104 <?php automatorwp_dashboard_add_ons_section(); ?>
105
106 <?php // Integrations ?>
107 <?php automatorwp_dashboard_integrations_section(); ?>
108
109 <?php // Apps Integrations ?>
110 <?php automatorwp_dashboard_apps_section(); ?>
111
112 <?php // Documentation ?>
113 <h1><?php echo esc_html_e( 'Documentation', 'automatorwp' ); ?></h1>
114
115 <div id="postbox-container-1" class="postbox-container">
116 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
117
118 <?php // Getting started ?>
119 <?php automatorwp_dashboard_box( array(
120 'id' => 'docs',
121 'title' => __( 'Getting started', 'automatorwp' ),
122 'content_cb' => 'automatorwp_dashboard_docs_box',
123 ) ); ?>
124
125 </div>
126 </div>
127
128 <div id="postbox-container-2" class="postbox-container">
129 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
130
131 <?php // Features ?>
132 <?php automatorwp_dashboard_box( array(
133 'id' => 'features',
134 'title' => __( 'Features', 'automatorwp' ),
135 'content_cb' => 'automatorwp_dashboard_features_box',
136 ) ); ?>
137
138 </div>
139 </div>
140
141 <div id="postbox-container-3" class="postbox-container">
142 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
143
144 <?php // Advanced Features ?>
145 <?php automatorwp_dashboard_box( array(
146 'id' => 'advanced',
147 'title' => __( 'Advanced features', 'automatorwp' ),
148 'content_cb' => 'automatorwp_dashboard_advanced_features_box',
149 ) ); ?>
150
151 </div>
152 </div>
153
154 <div id="postbox-container-4" class="postbox-container">
155 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
156
157 <?php // Support ?>
158 <?php automatorwp_dashboard_box( array(
159 'id' => 'support',
160 'title' => __( 'Support', 'automatorwp' ),
161 'content_cb' => 'automatorwp_dashboard_support_box',
162 ) ); ?>
163
164 </div>
165 </div>
166
167 <?php // About ?>
168 <h1><?php echo esc_html_e( 'About', 'automatorwp' ); ?></h1>
169
170 <div id="postbox-container-1" class="postbox-container">
171 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
172
173 <?php // Plugins ?>
174 <?php automatorwp_dashboard_box( array(
175 'id' => 'plugins',
176 'title' => __( 'Our Plugins', 'automatorwp' ),
177 'content_cb' => 'automatorwp_dashboard_plugins_box',
178 ) ); ?>
179
180 </div>
181 </div>
182
183 <div id="postbox-container-2" class="postbox-container">
184 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
185
186 <?php // Team ?>
187 <?php automatorwp_dashboard_box( array(
188 'id' => 'team',
189 'title' => __( 'Meet the team', 'automatorwp' ),
190 'content_cb' => 'automatorwp_dashboard_team_box',
191 ) ); ?>
192
193 </div>
194 </div>
195
196 <div id="postbox-container-3" class="postbox-container">
197 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
198
199 <?php // Get involved ?>
200 <?php automatorwp_dashboard_box( array(
201 'id' => 'involved',
202 'title' => __( 'Get involved', 'automatorwp' ),
203 'content_cb' => 'automatorwp_dashboard_involved_box',
204 ) ); ?>
205
206 </div>
207 </div>
208
209 <div id="postbox-container-4" class="postbox-container">
210 <div id="normal-sortables" class="meta-box-sortables ui-sortable">
211
212 <?php // Social ?>
213 <?php automatorwp_dashboard_box( array(
214 'id' => 'social',
215 'title' => __( 'Follow us', 'automatorwp' ),
216 'content_cb' => 'automatorwp_dashboard_social_box',
217 ) ); ?>
218
219 </div>
220 </div>
221
222 </div>
223 </div>
224
225 </div>
226 <?php
227 }
228
229 /**
230 * Dashboard page
231 *
232 * @since 2.0.0
233 */
234 function automatorwp_dashboard_box( $args ) {
235
236 $args = wp_parse_args( $args, array(
237 'id' => '',
238 'title' => '',
239 'content' => '',
240 'content_cb' => '',
241 ) );
242
243 ?>
244 <div id="automatorwp-dashboard-<?php echo $args['id']; ?>" class="automatorwp-dashboard-box postbox">
245
246 <div class="postbox-header">
247 <h2 class="hndle"><?php echo $args['title']; ?></h2>
248 </div>
249
250 <div class="inside">
251
252 <?php if( is_callable( $args['content_cb'] ) ) {
253 call_user_func( $args['content_cb'] );
254 } else {
255 echo $args['content'];
256 } ?>
257
258 </div>
259
260 </div>
261 <?php
262
263 }
264
265 /**
266 * Dashboard plugin card
267 *
268 * @since 2.0.0
269 */
270 function automatorwp_dashboard_render_plugin_card( $plugin ) {
271
272 $details_link = 'https://automatorwp.com/add-ons/' . $plugin->info->slug;
273 $thumbnail = 'https://automatorwp.com/wp-content/themes/automatorwp-theme/assets/img/integrations/' . $plugin->info->slug . '.svg';
274
275 $action_label = esc_html__( 'Get this add-on', 'automatorwp' );
276
277 ?>
278
279 <div class="automatorwp-plugin-card plugin-card plugin-card-<?php echo sanitize_html_class( $plugin->info->slug ); ?>">
280
281 <div class="plugin-card-top cmb-tooltip">
282
283 <div class="thumbnail column-thumbnail">
284 <a href="<?php echo esc_url( $details_link ); ?>" class="open-plugin-details-modal" target="_blank">
285 <img src="<?php echo esc_attr( $thumbnail ) ?>" class="plugin-thumbnail" alt="">
286 </a>
287 </div>
288
289 <div class="name column-name">
290 <h3>
291 <a href="<?php echo esc_url( $details_link ); ?>" class="open-plugin-details-modal" target="_blank">
292 <?php echo $plugin->info->title; ?>
293 </a>
294 </h3>
295 </div>
296
297 <div class="desc column-description cmb-tooltip-desc cmb-tooltip-top">
298 <p><?php echo automatorwp_esc_plugin_excerpt( $plugin->info->excerpt ); ?></p>
299 </div>
300
301 </div>
302
303 </div>
304
305 <?php
306
307 }
308
309 function automatorwp_dashboard_render_automation( $automation ) {
310
311 $title = ! empty( $automation->title ) ? $automation->title : __( '(No title)', 'automatorwp' );
312 $title = '<strong><a href="' . ct_get_edit_link( 'automatorwp_automations', $automation->id ) . '">' . esc_html( $title ) . '</a></strong>';
313
314 $types = automatorwp_get_automation_types();
315
316 $type = '<span class="automatorwp-automation-type automatorwp-automation-type-' . esc_attr( $automation->type ) . '">';
317 $type .= isset( $types[$automation->type] ) ? $types[$automation->type]['label'] : $automation->type;
318 $type .= '</span>';
319
320 $type_icon = '';
321
322 if( isset( $types[$automation->type] ) ) {
323 $type_icon = '<div class="automatorwp-integration-icon cmb-tooltip">
324 <img src="' . esc_attr( $types[$automation->type]['image'] ) . '" alt="' . esc_attr( $types[$automation->type]['label'] ) . '">
325 <span class="cmb-tooltip-desc cmb-tooltip-top">' . esc_html( $types[$automation->type]['label'] ) . '</span>
326 </div>';
327 }
328
329 $completions = ct_get_object_meta( $automation->id, 'completions', true );
330
331 if( empty( $completions ) ) {
332 $completions = automatorwp_get_object_completion_times( $automation->id, 'automation' );
333 ct_update_object_meta( $automation->id, 'completions', $completions );
334 }
335
336 $completions = absint( $completions );
337 $times = absint( $automation->times );
338
339 if( $times !== 0 ) {
340 $completions = $completions . '/' . $times;
341 }
342
343 $completions = '<span class="automatorwp-automation-completions cmb-tooltip ' . ( $times !== 0 && $completions >= $times ? 'automatorwp-automation-completions-completed' : '' ) . '">'
344 . $completions
345 . '<span class="cmb-tooltip-desc cmb-tooltip-top">' . esc_html__( 'Completions', 'automatorwp' ) . '</span>'
346 . '</span>';
347
348 $statuses = automatorwp_get_automation_statuses();
349 $status = isset( $statuses[$automation->status] ) ? $statuses[$automation->status] : esc_html( $automation->status );
350 $status = '<span class="automatorwp-automation-status automatorwp-automation-status-' . esc_attr( $automation->status ) . '">' . $status . '</span>';
351
352 $time = strtotime( $automation->date );
353 $today = date( 'Y-m-d', current_time( 'timestamp' ) );
354 $yesterday = date( 'Y-m-d', strtotime( '-1 day', current_time( 'timestamp' ) ) );
355
356 if ( date( 'Y-m-d', $time ) === $today ) {
357 $relative = __( 'Today', 'automatorwp' );
358 } elseif ( date( 'Y-m-d', $time ) === $yesterday ) {
359 $relative = __( 'Yesterday', 'automatorwp' );
360 } elseif ( date( 'Y', $time ) !== date( 'Y', current_time( 'timestamp' ) ) ) {
361 /* translators: date and time format for recent posts on the dashboard, from a different calendar year, see https://secure.php.net/date */
362 $relative = date_i18n( __( 'M jS Y' ), $time );
363 } else {
364 /* translators: date and time format for recent posts on the dashboard, see https://secure.php.net/date */
365 $relative = date_i18n( __( 'M jS' ), $time );
366 }
367
368 $date = sprintf( _x( '%1$s, %2$s', 'dashboard' ), $relative, mysql2date( get_option( 'time_format' ), $automation->date ) );
369 echo '<li>'
370 . '<div>'
371 . '<span>' .$type_icon . '</span>'
372 . '</div>'
373 . '<div>'
374 . '<span>' . $title . '</span>'
375 . '<span>' . $completions . '</span>'
376 . '</div>'
377 . '<div>'
378 . '<span>' . $status . '</span>'
379 . '<span>' . $date . '</span>'
380 . '</div>'
381 . '</li>';
382
383 }
384
385 /**
386 * Dashboard latest automations box
387 *
388 * @since 2.0.0
389 */
390 function automatorwp_dashboard_latest_automations_box() {
391 // Setup table
392 ct_setup_table( 'automatorwp_automations' );
393
394 $query = new CT_Query( array(
395 'orderby' => 'date',
396 'order' => 'DESC',
397 'items_per_page' => 5,
398 'no_found_rows' => true,
399 'cache_results' => false,
400 ) );
401
402 $automations = $query->get_results();
403
404 if ( count( $automations ) > 0 ) {
405
406 echo '<div id="automatorwp-latest-automations" class="automatorwp-automations">';
407
408 echo '<ul>';
409
410 foreach ( $automations as $automation )
411 automatorwp_dashboard_render_automation( $automation );
412
413 echo '</ul>';
414
415 echo '</div>';
416
417 } else {
418 echo '<p>' . __( 'Nothing to show :)', 'automatorwp' ) .'</p>';
419 }
420 }
421
422 /**
423 * Dashboard most completed automations box
424 *
425 * @since 2.0.0
426 */
427 function automatorwp_dashboard_most_completed_automations_box() {
428 global $wpdb, $ct_table;
429
430 // Setup table
431 $automations_table = AutomatorWP()->db->automations;
432 $automations_meta_table = AutomatorWP()->db->automations_meta;
433
434 $automations = $wpdb->get_results(
435 "SELECT a.*
436 FROM {$automations_table} AS a
437 LEFT JOIN {$automations_meta_table} AS am ON ( am.id = a.id AND am.meta_key = 'completions' )
438 ORDER BY CAST( am.meta_value AS UNSIGNED ) DESC
439 LIMIT 5"
440 );
441
442 ct_setup_table( 'automatorwp_automations' );
443
444 if ( count( $automations ) > 0 ) {
445
446 echo '<div id="automatorwp-latest-automations" class="automatorwp-automations">';
447
448 echo '<ul>';
449
450 foreach ( $automations as $automation )
451 automatorwp_dashboard_render_automation( $automation );
452
453 echo '</ul>';
454
455 echo '</div>';
456
457 } else {
458 echo '<p>' . __( 'Nothing to show :)', 'automatorwp' ) .'</p>';
459 }
460 }
461
462 /**
463 * Dashboard latest logs box
464 *
465 * @since 2.0.0
466 */
467 function automatorwp_dashboard_latest_logs_box() {
468 // Setup table
469 ct_setup_table( 'automatorwp_logs' );
470
471 $query = new CT_Query( array(
472 'orderby' => 'id',
473 'order' => 'DESC',
474 'items_per_page' => 5,
475 'no_found_rows' => true,
476 'cache_results' => false,
477 ) );
478
479 $logs = $query->get_results();
480
481 if ( count( $logs ) > 0 ) {
482
483 echo '<div id="automatorwp-latest-logs" class="automatorwp-latest-logs">';
484
485 echo '<ul>';
486
487 $today = date( 'Y-m-d', current_time( 'timestamp' ) );
488 $yesterday = date( 'Y-m-d', strtotime( '-1 day', current_time( 'timestamp' ) ) );
489
490 foreach ( $logs as $log ) {
491
492 $user = get_userdata( $log->user_id );
493
494 if( ! $user ) {
495 $user_display_name = '';
496 } else {
497 $user_display_name = $user->display_name;
498
499 if( current_user_can( 'edit_users' ) ) {
500 $user_display_name = '<a href="' . get_edit_user_link( $log->user_id ) . '">' . $user_display_name . '</a>';
501 }
502 }
503
504
505 ob_start();
506 automatorwp_get_log_integration_icon( $log );
507 $log_icon = ob_get_clean();
508
509 $log_title = ! empty( $log->title ) ? $log->title : __( '(No title)', 'automatorwp' );
510 $log_title = '<strong><a href="' . ct_get_edit_link( 'automatorwp_logs', $log->id ) . '">' . $log_title . '</a></strong>';
511
512 $types = automatorwp_get_log_types();
513 $type = isset( $types[$log->type] ) ? $types[$log->type] : $log->type;
514
515 $time = strtotime( $log->date );
516
517 if ( date( 'Y-m-d', $time ) === $today ) {
518 $relative = __( 'Today', 'automatorwp' );
519 } elseif ( date( 'Y-m-d', $time ) === $yesterday ) {
520 $relative = __( 'Yesterday', 'automatorwp' );
521 } elseif ( date( 'Y', $time ) !== date( 'Y', current_time( 'timestamp' ) ) ) {
522 /* translators: date and time format for recent posts on the dashboard, from a different calendar year, see https://secure.php.net/date */
523 $relative = date_i18n( __( 'M jS Y' ), $time );
524 } else {
525 /* translators: date and time format for recent posts on the dashboard, see https://secure.php.net/date */
526 $relative = date_i18n( __( 'M jS' ), $time );
527 }
528
529 $date = sprintf( _x( '%1$s, %2$s', 'dashboard' ), $relative, mysql2date( get_option( 'time_format' ), $log->date ) );
530
531 echo '<li>'
532 . '<div>'
533 . '<span>' . $log_icon . '</span>'
534 . '</div>'
535 . '<div>'
536 . '<span>' . $log_title . '</span>'
537 . '<span>' . $user_display_name . '</span>'
538 . '</div>'
539 . '<div>'
540 . '<span>' . $type . '</span>'
541 . '<span>' . $date . '</span>'
542 . '</div>'
543 . '</li>';
544 }
545
546 echo '</ul>';
547
548 echo '</div>';
549
550 } else {
551 echo '<p>' . __( 'Nothing to show :)', 'automatorwp' ) .'</p>';
552 }
553 }
554
555 /**
556 * Dashboard new automation box
557 *
558 * @since 2.0.0
559 */
560 function automatorwp_dashboard_new_automation_box() {
561
562 $types = automatorwp_get_automation_types(); ?>
563
564 <div class="automatorwp-automation-type-dialog">
565
566 <div class="automatorwp-automation-types">
567
568 <?php foreach( $types as $type => $args ) :
569 if( in_array( $type, automatorwp_get_automation_loop_types() ) ) continue; ?>
570 <div class="automatorwp-automation-type automatorwp-automation-type-<?php echo $type; ?>" data-type="<?php echo $type; ?>">
571 <img src="<?php echo $args['image']; ?>" alt="<?php echo $args['label']; ?>">
572 <div class="automatorwp-automation-type-description">
573 <strong><?php echo $args['label']; ?></strong>
574 <span><?php echo $args['desc']; ?></span>
575 </div>
576 </div>
577 <?php endforeach; ?>
578
579 </div>
580
581 <h3>
582 <?php esc_html_e( 'Loop Automations', 'automatorwp' ); ?>
583 <span class="cmb-tooltip">
584 <i class="dashicons dashicons-cmb-tooltip"></i>
585 <span class="cmb-tooltip-desc cmb-tooltip-top"><?php _e( 'Designed to run actions on a <b>group of elements</b>. Can be run <b>manually</b>, on a <b>specific date</b> or on a <b>recurring</b> basis.', 'automatorwp' ); ?></span>
586 </span>
587 </h3>
588
589 <div class="automatorwp-automation-types">
590
591 <?php foreach( $types as $type => $args ) :
592 if( ! in_array( $type, automatorwp_get_automation_loop_types() ) ) continue; ?>
593 <div class="automatorwp-automation-type automatorwp-automation-type-<?php echo $type; ?>" data-type="<?php echo $type; ?>">
594 <img src="<?php echo $args['image']; ?>" alt="<?php echo $args['label']; ?>">
595 <div class="automatorwp-automation-type-description">
596 <strong><?php echo $args['label']; ?></strong>
597 <span><?php echo $args['desc']; ?></span>
598 </div>
599 </div>
600 <?php endforeach; ?>
601
602 </div>
603
604 <div class="center">
605 <a href="<?php esc_attr( admin_url( 'admin.php?page=add_automatorwp_automations' ) ) ?>" class="button button-primary"><?php esc_html_e( 'Add New Automation', 'automatorwp' ); ?></a>
606 </div>
607
608 </div>
609
610 <script>
611 (function ( $ ) {
612
613 // Select automation type
614 $('body').on('click', '.automatorwp-automation-type-dialog .automatorwp-automation-type', function(e) {
615 $('.automatorwp-automation-type-dialog .automatorwp-automation-type-selected').removeClass('automatorwp-automation-type-selected');
616 $(this).addClass('automatorwp-automation-type-selected');
617 });
618
619 // Automation type dialog confirm button
620 $('body').on('click', '#automatorwp-dashboard-new-automation .button', function(e) {
621 e.preventDefault();
622
623 var $this = $(this);
624
625 if( $this.hasClass('disabled') ) {
626 return;
627 }
628
629 // Disable the button
630 $this.addClass('disabled');
631
632 $this.parent().prepend('<span class="spinner is-active" style="float: none; margin-top: 13px;"></span>');
633
634 var type = 'user';
635 var selected = $('.automatorwp-automation-type-dialog .automatorwp-automation-type-selected');
636
637 if( selected.length ) {
638 type = selected.data('type');
639 }
640
641 var url = window.location.href.split('admin.php')[0];
642
643 // Redirect to the add new automation
644 window.location.href = url + 'admin.php?page=add_automatorwp_automations&type=' + type;
645
646 });
647
648 })( jQuery );
649 </script>
650
651 <?php
652
653 }
654
655 /**
656 * Dashboard add-ons section
657 *
658 * @since 2.0.0
659 */
660 function automatorwp_dashboard_add_ons_section() {
661
662 $plugins = automatorwp_plugins_api();
663
664 if ( is_wp_error( $plugins ) ) {
665 return;
666 }
667
668 $add_ons_to_display = array(
669 'calculator',
670 'csv',
671 'custom-user-fields',
672 'formatter',
673 'generator',
674 'restrict-content',
675 'user-lists',
676 'qr-code',
677 'schedule-actions',
678 'webhooks',
679 );
680
681 $add_ons_to_display_2 = array(
682 'block-users',
683 'button',
684 'link',
685 'multimedia-content',
686 'run-now',
687 'code',
688 'users',
689 'posts',
690 'comments',
691 'emails',
692 );
693
694 $add_ons = array();
695 $add_ons_2 = array();
696
697 foreach( $plugins as $plugin ) {
698
699 if( in_array( $plugin->info->slug, $add_ons_to_display ) ) {
700 $add_ons[] = $plugin;
701 }
702
703 if( in_array( $plugin->info->slug, $add_ons_to_display_2 ) ) {
704 $add_ons_2[] = $plugin;
705 }
706
707 }
708
709 ?>
710
711 <?php // Add-ons ?>
712 <h1><?php echo esc_html_e( 'Add-ons', 'automatorwp' ); ?></h1>
713 <p class="automatorwp-section-desc"><?php esc_html_e( 'Pro add-ons help to maintain AutomatorWP and offer the most advanced features.', 'automatorwp' ); ?></p>
714
715 <div id="normal-sortables" class="meta-box-sortables ui-sortable automatorwp-dashboard-add-ons-section">
716 <?php foreach( $add_ons as $add_on )
717 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
718
719 <?php foreach( $add_ons_2 as $add_on )
720 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
721
722 <div class="automatorwp-dashboard-more-add-ons">
723 <a href="<?php echo admin_url( 'admin.php?page=automatorwp_add_ons' ); ?>" target="_blank"><?php esc_html_e( 'View all add-ons', 'automatorwp' ); ?></a>
724 </div>
725 </div>
726
727 <?php
728
729 }
730
731 /**
732 * Dashboard integrations section
733 *
734 * @since 2.0.0
735 */
736 function automatorwp_dashboard_integrations_section() {
737
738 $plugins = automatorwp_plugins_api();
739
740 if ( is_wp_error( $plugins ) ) {
741 return;
742 }
743
744 $add_ons_to_display = array(
745 'bbforms',
746 'buddyboss',
747 'gamipress',
748 'learndash',
749 'shortlinkspro',
750 'woocommerce',
751 'lifterlms',
752 'fluentcrm',
753 'presto-player',
754 'groundhogg',
755 'wpfusion',
756 );
757
758 $add_ons_to_display_2 = array(
759 'advanced-custom-fields',
760 'contact-form-7',
761 'tutor',
762 'affiliatewp',
763 'slicewp',
764 'elementor',
765 'paid-memberships-pro',
766 'popup-maker',
767 'the-events-calendar',
768 'wp-job-manager',
769 'wishlist-member',
770 );
771
772 $add_ons = array();
773 $add_ons_2 = array();
774
775 foreach( $plugins as $plugin ) {
776
777 if( in_array( $plugin->info->slug, $add_ons_to_display ) ) {
778 $add_ons[] = $plugin;
779 }
780
781 if( in_array( $plugin->info->slug, $add_ons_to_display_2 ) ) {
782 $add_ons_2[] = $plugin;
783 }
784
785 }
786
787 ?>
788
789 <?php // Integrations ?>
790 <h1><?php echo esc_html_e( 'Integrations', 'automatorwp' ); ?></h1>
791 <p class="automatorwp-section-desc"><?php esc_html_e( 'AutomatorWP integrates seamlessly with your favourites WordPress plugins.', 'automatorwp' ); ?></p>
792
793 <div id="normal-sortables" class="meta-box-sortables ui-sortable automatorwp-dashboard-add-ons-section">
794 <?php foreach( $add_ons as $add_on )
795 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
796
797 <?php foreach( $add_ons_2 as $add_on )
798 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
799
800 <div class="automatorwp-dashboard-more-add-ons">
801 <a href="<?php echo admin_url( 'admin.php?page=automatorwp_add_ons&tab=integrations' ); ?>" target="_blank"><?php esc_html_e( 'View all integrations', 'automatorwp' ); ?></a>
802 </div>
803 </div>
804
805 <?php
806
807 }
808
809 /**
810 * Dashboard apps section
811 *
812 * @since 2.0.0
813 */
814 function automatorwp_dashboard_apps_section() {
815
816 $plugins = automatorwp_plugins_api();
817
818 if ( is_wp_error( $plugins ) ) {
819 return;
820 }
821
822 $add_ons_to_display = array(
823 'openai',
824 'aweber',
825 'google-sheets',
826 'trello',
827 'youtube',
828 'zapier',
829 'make',
830 'hubspot',
831 'whatsapp',
832 'mautic',
833 );
834
835 $add_ons_to_display_2 = array(
836 'instagram',
837 'twitter',
838 'google-calendar',
839 'activecampaign',
840 'bluesky',
841 'campaign-monitor',
842 'mailchimp',
843 'mailerlite',
844 'facebook',
845 'zoom',
846 );
847
848 $add_ons = array();
849 $add_ons_2 = array();
850
851 foreach( $plugins as $plugin ) {
852
853 if( in_array( $plugin->info->slug, $add_ons_to_display ) ) {
854 $add_ons[] = $plugin;
855 }
856
857 if( in_array( $plugin->info->slug, $add_ons_to_display_2 ) ) {
858 $add_ons_2[] = $plugin;
859 }
860
861 }
862
863 ?>
864
865 <?php // Apps Integrations ?>
866 <h1><?php echo esc_html_e( 'Apps Integrations', 'automatorwp' ); ?></h1>
867 <p class="automatorwp-section-desc"><?php esc_html_e( 'Connect your WordPress with external platforms and apps to take your site even further!', 'automatorwp' ); ?></p>
868
869 <div id="normal-sortables" class="meta-box-sortables ui-sortable automatorwp-dashboard-add-ons-section">
870 <?php foreach( $add_ons as $add_on )
871 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
872
873 <?php foreach( $add_ons_2 as $add_on )
874 automatorwp_dashboard_render_plugin_card( $add_on ); ?>
875
876 <div class="automatorwp-dashboard-more-add-ons">
877 <a href="<?php echo admin_url( 'admin.php?page=automatorwp_add_ons&tab=app' ); ?>" target="_blank"><?php esc_html_e( 'View all apps integrations', 'automatorwp' ); ?></a>
878 </div>
879 </div>
880
881 <?php
882
883 }
884
885 /**
886 * Dashboard videos box
887 *
888 * @since 2.0.0
889 */
890 function automatorwp_dashboard_videos_box() {
891 ?>
892 <div class="automatorwp-dashboard-columns">
893
894 <div class="automatorwp-dashboard-column automatorwp-dashboard-main-video">
895 <iframe width="560" height="315" src="https://www.youtube.com/embed/8CcRMWx9EtA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
896 </div>
897
898 <div class="automatorwp-dashboard-column automatorwp-dashboard-videos-list">
899 <div class="automatorwp-dashboard-videos">
900 <?php
901 $videos = array(
902 array(
903 'id' => 'vWqRcEO8SgY',
904 'title' => 'Creating your first automation on WordPress',
905 'duration' => '1:53',
906 ),
907 array(
908 'id' => 'bDXtY386RpE',
909 'title' => 'Connect your WordPress plugins with Google Sheets',
910 'duration' => '3:01',
911 ),
912 array(
913 'id' => 'JHCWVbLqR0A',
914 'title' => 'Give access to site B when a purchase is made on site A (WooCommerce & LifterLMS)',
915 'duration' => '4:32',
916 ),
917 array(
918 'id' => 'EkoEmKsSHMo',
919 'title' => 'Run automations through Youtube videos',
920 'duration' => '1:55',
921 ),
922 array(
923 'id' => 'sZfYK6jtGg0',
924 'title' => 'Run automations through Vimeo videos',
925 'duration' => '2:06',
926 ),
927 );
928
929 foreach( $videos as $video ) { ?>
930 <div class="automatorwp-dashboard-video">
931 <a href="https://www.youtube.com/watch?v=<?php echo $video['id']; ?>" target="_blank">
932 <div class="automatorwp-dashboard-video-image">
933 <img src="https://img.youtube.com/vi/<?php echo $video['id']; ?>/default.jpg" alt="">
934 </div>
935 <div class="automatorwp-dashboard-video-details">
936 <strong class="automatorwp-dashboard-video-title"><?php echo $video['title']; ?></strong>
937 <div class="automatorwp-dashboard-video-duration"><?php echo $video['duration']; ?></div>
938 </div>
939 </a>
940 </div>
941 <?php }
942
943 ?>
944 </div>
945 <div class="automatorwp-dashboard-more-videos">
946 <a href="https://www.youtube.com/channel/UCDBAqLYtoCYYUe2K_kx9Crw/videos" target="_blank"><?php esc_html_e( 'View all videos', 'automatorwp' ); ?></a>
947 </div>
948 </div>
949
950 <div class="automatorwp-dashboard-column automatorwp-dashboard-videos-list">
951 <div class="automatorwp-dashboard-videos">
952 <?php
953 $videos = array(
954 array(
955 'id' => '3YMMQ6QqrDo',
956 'title' => 'Connect automations from different sites through Webhooks',
957 'duration' => '2:55',
958 ),
959 array(
960 'id' => 'Nk--kqIkC9Y',
961 'title' => 'Schedule actions of an automation',
962 'duration' => '2:11',
963 ),
964 array(
965 'id' => '75PhOiqZRys',
966 'title' => 'Run automations through button clicks',
967 'duration' => '2:24',
968 ),
969 array(
970 'id' => 'yTfygkAG4Lk',
971 'title' => 'Run automations through link clicks',
972 'duration' => '2:17',
973 ),
974 array(
975 'id' => '2Tw3HIqvQuk',
976 'title' => 'Connect your WordPress plugins with BuddyBoss',
977 'duration' => '1:58',
978 ),
979 );
980
981 foreach( $videos as $video ) { ?>
982 <div class="automatorwp-dashboard-video">
983 <a href="https://www.youtube.com/watch?v=<?php echo $video['id']; ?>" target="_blank">
984 <div class="automatorwp-dashboard-video-image">
985 <img src="https://img.youtube.com/vi/<?php echo $video['id']; ?>/default.jpg" alt="">
986 </div>
987 <div class="automatorwp-dashboard-video-details">
988 <strong class="automatorwp-dashboard-video-title"><?php echo $video['title']; ?></strong>
989 <div class="automatorwp-dashboard-video-duration"><?php echo $video['duration']; ?></div>
990 </div>
991 </a>
992 </div>
993 <?php }
994
995 ?>
996 </div>
997 </div>
998
999 </div>
1000 <?php
1001 }
1002
1003 /**
1004 * Dashboard docs box
1005 *
1006 * @since 2.0.0
1007 */
1008 function automatorwp_dashboard_docs_box() {
1009 ?>
1010 <ul>
1011 <li><a href="https://automatorwp.com/docs/getting-started/what-is-automatorwp/" target="_blank"><?php esc_html_e( 'What is AutomatorWP?', 'automatorwp' ); ?></a></li>
1012 <li><a href="https://automatorwp.com/docs/getting-started/automations/" target="_blank"><?php esc_html_e( 'Automations', 'automatorwp' ); ?></a></li>
1013 <li><a href="https://automatorwp.com/docs/getting-started/anonymous-automations/" target="_blank"><?php esc_html_e( 'Anonymous Automations', 'automatorwp' ); ?></a></li>
1014 <li><a href="https://automatorwp.com/docs/getting-started/all-users-automations/" target="_blank"><?php esc_html_e( 'All Users Automations', 'automatorwp' ); ?></a></li>
1015 <li><a href="https://automatorwp.com/docs/getting-started/all-posts-automations/" target="_blank"><?php esc_html_e( 'All Posts Automations', 'automatorwp' ); ?></a></li>
1016 <li><a href="https://automatorwp.com/docs/getting-started/import-file-automations/" target="_blank"><?php esc_html_e( 'Import File Automations', 'automatorwp' ); ?></a></li>
1017 <li><a href="https://automatorwp.com/docs/getting-started/restrict-content-automations/" target="_blank"><?php esc_html_e( 'Restrict Content Automations', 'automatorwp' ); ?></a></li>
1018 <li><a href="https://automatorwp.com/docs/getting-started/triggers/" target="_blank"><?php esc_html_e( 'Triggers', 'automatorwp' ); ?></a></li>
1019 <li><a href="https://automatorwp.com/docs/getting-started/actions/" target="_blank"><?php esc_html_e( 'Actions', 'automatorwp' ); ?></a></li>
1020 <li><a href="https://automatorwp.com/docs/getting-started/filters/" target="_blank"><?php esc_html_e( 'Filters', 'automatorwp' ); ?></a></li>
1021 <li><a href="https://automatorwp.com/docs/getting-started/tags/" target="_blank"><?php esc_html_e( 'Tags', 'automatorwp' ); ?></a></li>
1022 <li><a href="https://automatorwp.com/docs/getting-started/logs/" target="_blank"><?php esc_html_e( 'Logs', 'automatorwp' ); ?></a></li>
1023 </ul>
1024 <?php
1025 }
1026
1027 /**
1028 * Dashboard advanced box
1029 *
1030 * @since 2.0.0
1031 */
1032 function automatorwp_dashboard_features_box() {
1033 ?>
1034 <ul>
1035 <li>
1036 <ul>
1037 <li><a href="https://automatorwp.com/docs/features/sequential-triggers/" target="_blank"><?php esc_html_e( 'Sequential triggers', 'automatorwp' ); ?></a></li>
1038 <li><a href="https://automatorwp.com/docs/features/redirect-users/" target="_blank"><?php esc_html_e( 'Redirect users', 'automatorwp' ); ?></a></li>
1039 <li><a href="https://automatorwp.com/docs/features/import-export-automations-through-url/" target="_blank"><?php esc_html_e( 'Import & Export automations through URL', 'automatorwp' ); ?></a></li>
1040 </ul>
1041 </li>
1042 <li>
1043 <h3><?php esc_html_e( 'Special actions', 'automatorwp' ); ?></h3>
1044 <ul>
1045 <li><a href="https://automatorwp.com/docs/special-actions/call-a-function/" target="_blank"><?php esc_html_e( 'Call a function', 'automatorwp' ); ?></a></li>
1046 <li><a href="https://automatorwp.com/docs/special-actions/run-a-wordpress-hook/" target="_blank"><?php esc_html_e( 'Run a WordPress hook', 'automatorwp' ); ?></a></li>
1047 <li><a href="https://automatorwp.com/docs/special-actions/multiple-posts-actions/" target="_blank"><?php esc_html_e( 'Multiple posts actions', 'automatorwp' ); ?></a></li>
1048 </ul>
1049 </li>
1050 <li>
1051 <h3><?php esc_html_e( 'Special tags', 'automatorwp' ); ?></h3>
1052 <ul>
1053 <li><a href="https://automatorwp.com/docs/special-tags/user-meta-tag/" target="_blank"><?php esc_html_e( 'User meta tag', 'automatorwp' ); ?></a></li>
1054 <li><a href="https://automatorwp.com/docs/special-tags/post-meta-tag/" target="_blank"><?php esc_html_e( 'Post meta tag', 'automatorwp' ); ?></a></li>
1055 <li><a href="https://automatorwp.com/docs/special-tags/date-tag/" target="_blank"><?php esc_html_e( 'Date tag', 'automatorwp' ); ?></a></li>
1056 <li><a href="https://automatorwp.com/docs/special-tags/function-tags/" target="_blank"><?php esc_html_e( 'Function tags', 'automatorwp' ); ?></a></li>
1057 </ul>
1058 </li>
1059 </ul>
1060 <?php
1061 }
1062
1063 /**
1064 * Dashboard advanced features box
1065 *
1066 * @since 2.0.0
1067 */
1068 function automatorwp_dashboard_advanced_features_box() {
1069 ?>
1070 <ul>
1071 <li><a href="https://automatorwp.com/docs/connecting-sites/create-an-account-in-site-b-when-a-user-interacts-on-site-a/" target="_blank"><?php esc_html_e( 'Create an account in Site B when a user interacts on Site A', 'automatorwp' ); ?></a></li>
1072 <li><a href="https://automatorwp.com/docs/connecting-sites/enroll-in-a-course-of-site-b-when-a-purchase-is-made-in-site-a/" target="_blank"><?php esc_html_e( 'Enroll in a course of Site B when a purchase is made in Site A', 'automatorwp' ); ?></a></li>
1073 <li><a href="https://automatorwp.com/docs/import-csv/import-data-from-csv/" target="_blank"><?php esc_html_e( 'Import data from CSV', 'automatorwp' ); ?></a></li>
1074 <li><a href="https://automatorwp.com/docs/user-lists/create-user-lists/" target="_blank"><?php esc_html_e( 'Create User Lists', 'automatorwp' ); ?></a></li>
1075 <li><a href="https://automatorwp.com/docs/restrict-content/" target="_blank"><?php esc_html_e( 'Restrict Content', 'automatorwp' ); ?></a></li>
1076 <li><a href="https://automatorwp.com/docs/custom-user-fields/add-custom-user-fields/" target="_blank"><?php esc_html_e( 'Add Custom User Fields', 'automatorwp' ); ?></a></li>
1077 <li><a href="https://automatorwp.com/docs/calculator/calculate-formula/" target="_blank"><?php esc_html_e( 'Calculate formula', 'automatorwp' ); ?></a></li>
1078 <li><a href="https://automatorwp.com/docs/formatter/formatter-actions/" target="_blank"><?php esc_html_e( 'Format Content', 'automatorwp' ); ?></a></li>
1079 <li><a href="https://automatorwp.com/docs/generator/generator-actions/" target="_blank"><?php esc_html_e( 'Generate Content', 'automatorwp' ); ?></a></li>
1080 <li><a href="https://automatorwp.com/docs/qr-code/generate-a-qr-code/" target="_blank"><?php esc_html_e( 'Generate a QR Code', 'automatorwp' ); ?></a></li>
1081 <li><a href="https://automatorwp.com/docs/schedule-actions/schedule-actions-of-an-automation/" target="_blank"><?php esc_html_e( 'Schedule actions of an automation', 'automatorwp' ); ?></a></li>
1082 <li><a href="https://automatorwp.com/docs/button/" target="_blank"><?php esc_html_e( 'Run automations through button clicks', 'automatorwp' ); ?></a> <?php esc_html_e( 'or', 'automatorwp' ); ?> <a href="https://automatorwp.com/docs/link/" target="_blank"><?php esc_html_e( 'link clicks', 'automatorwp' ); ?></a></li>
1083 </ul>
1084 <?php
1085 }
1086
1087 /**
1088 * Dashboard support box
1089 *
1090 * @since 2.0.0
1091 */
1092 function automatorwp_dashboard_support_box() {
1093 ?>
1094 <ul>
1095 <li><a href="https://automatorwp.com/contact-us/" target="_blank"><?php esc_html_e( 'Contact us', 'automatorwp' ); ?></a></li>
1096 <li><a href="https://wordpress.org/support/plugin/automatorwp" target="_blank"><?php esc_html_e( 'Support Forums', 'automatorwp' ); ?></a></li>
1097 <li><a href="https://automatorwp.com/faq/" target="_blank"><?php esc_html_e( 'FAQ', 'automatorwp' ); ?></a></li>
1098 </ul>
1099 <?php
1100 }
1101
1102 /**
1103 * Dashboard plugins box
1104 *
1105 * @since 2.0.0
1106 */
1107 function automatorwp_dashboard_plugins_box() {
1108 $url = AUTOMATORWP_URL . 'assets/img/logos/';
1109 ?>
1110 <ul id="our-plugins-list" class="our-plugins-list">
1111 <li>
1112 <a href="https://wordpress.org/plugins/gamipress/" target="_blank">
1113 <img src="<?php echo esc_attr( $url . 'gamipress.svg' ); ?>" class="our-plugins-img our-plugins-gamipress" loading="lazy">
1114 <span>GamiPress</span>
1115 </a>
1116 </li>
1117 <li>
1118 <a href="https://wordpress.org/plugins/automatorwp/" target="_blank">
1119 <img src="<?php echo esc_attr( $url . 'automatorwp.svg' ); ?>" class="our-plugins-img our-plugins-automatorwp" loading="lazy">
1120 <span>AutomatorWP</span>
1121 </a>
1122 </li>
1123 <li>
1124 <a href="https://wordpress.org/plugins/shortlinkspro/" target="_blank">
1125 <img src="<?php echo esc_attr( $url . 'shortlinkspro.svg' ); ?>" class="our-plugins-img our-plugins-shortlinkspro" loading="lazy">
1126 <span>ShortLinks Pro</span>
1127 </a>
1128 </li>
1129 <li>
1130 <a href="https://wordpress.org/plugins/bbforms/" target="_blank">
1131 <img src="<?php echo esc_attr( $url . 'bbforms.svg' ); ?>" class="our-plugins-img our-plugins-bbforms" loading="lazy">
1132 <span>BBForms</span>
1133 </a>
1134 </li>
1135 </ul>
1136 <?php
1137 }
1138
1139 /**
1140 * Dashboard team box
1141 *
1142 * @since 2.0.0
1143 */
1144 function automatorwp_dashboard_team_box() {
1145 ?>
1146 <ul id="contributors-list" class="contributors-list">
1147 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1148 <a href="https://profiles.wordpress.org/rubengc/" target="_blank">
1149 <img src="https://secure.gravatar.com/avatar/103d0ec19ade3804009f105974fd4d05?s=64&amp;d=mm&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1150 <span class="cmb-tooltip-desc cmb-tooltip-top center">Ruben Garcia</span>
1151 </a>
1152 </li>
1153 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1154 <a href="https://profiles.wordpress.org/eneribs/" target="_blank">
1155 <img src="https://secure.gravatar.com/avatar/7103ea44d40111ab67a22efe7ebd6f71?s=64&amp;d=mm&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1156 <span class="cmb-tooltip-desc cmb-tooltip-top center">Irene Berna</span>
1157 </a>
1158 </li>
1159 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1160 <a href="https://profiles.wordpress.org/dioni00/" target="_blank">
1161 <img src="https://secure.gravatar.com/avatar/6de68ad3863fdf3c92a194ba16546571?s=64&amp;d=mm&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1162 <span class="cmb-tooltip-desc cmb-tooltip-top center">Dionisio Sanchez</span>
1163 </a>
1164 </li>
1165 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1166 <a href="https://profiles.wordpress.org/tinocalvo/" target="_blank">
1167 <img src="https://secure.gravatar.com/avatar/a438aa12efcfb007f3db145d6ad37def?s=64&amp;d=retro&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1168 <span class="cmb-tooltip-desc cmb-tooltip-top center">Tino Calvo</span>
1169 </a>
1170 </li>
1171 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1172 <a href="https://profiles.wordpress.org/pacogon/" target="_blank">
1173 <img src="https://secure.gravatar.com/avatar/348f374779e7433ad6bf3930cb2a492e?s=64&amp;d=mm&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1174 <span class="cmb-tooltip-desc cmb-tooltip-top center">Paco González</span>
1175 </a>
1176 </li>
1177 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1178 <a href="https://profiles.wordpress.org/flabernardez/" target="_blank">
1179 <img src="https://secure.gravatar.com/avatar/fd626d9a8463260894f0f6f07a5cc71a?s=64&amp;d=mm&amp;r=g" class="avatar avatar-32 photo" loading="lazy">
1180 <span class="cmb-tooltip-desc cmb-tooltip-top center">Flavia Bernardez</span>
1181 </a>
1182 </li>
1183 </ul>
1184 <?php
1185 }
1186
1187 /**
1188 * Dashboard involved box
1189 *
1190 * @since 2.0.0
1191 */
1192 function automatorwp_dashboard_social_box() {
1193 ?>
1194 <ul class="automatorwp-dashboard-social-list">
1195 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1196 <a href="https://www.youtube.com/channel/UCDBAqLYtoCYYUe2K_kx9Crw" target="_blank"><i class="dashicons dashicons-youtube"></i></a>
1197 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Subscribe to our YouTube channel', 'automatorwp' ); ?></span>
1198 </li>
1199 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1200 <a href="https://www.facebook.com/AutomatorWP/" target="_blank"><i class="dashicons dashicons-facebook-alt"></i></a>
1201 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Follow us on Facebook', 'automatorwp' ); ?></span>
1202 </li>
1203 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1204 <a href="https://www.facebook.com/groups/automatorwp" target="_blank"><i class="dashicons dashicons-groups"></i></a>
1205 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Join our Facebook community', 'automatorwp' ); ?></span>
1206 </li>
1207 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1208 <a href="https://twitter.com/AutomatorWP" target="_blank"><i class="dashicons dashicons-twitter"></i></a>
1209 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Follow @AutomatorWP on Twitter', 'automatorwp' ); ?></span>
1210 </li>
1211 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1212 <a href="https://www.linkedin.com/company/65262548/" target="_blank"><i class="dashicons dashicons-linkedin"></i></a>
1213 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Follow us on LinkedIn', 'automatorwp' ); ?></span>
1214 </li>
1215 </ul>
1216
1217 <h3><?php esc_html_e( 'Contact us', 'automatorwp' ); ?></h3>
1218 <ul class="automatorwp-dashboard-social-list">
1219 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1220 <a href="https://wordpress.org/support/plugin/automatorwp/" target="_blank"><i class="dashicons dashicons-wordpress"></i></a>
1221 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Support Forums', 'automatorwp' ); ?></span>
1222 </li>
1223 <li class="cmb-tooltip cmb-tooltip-no-opacity">
1224 <a href="https://automatorwp.com/contact-us/" target="_blank"><i class="dashicons dashicons-email-alt"></i></a>
1225 <span class="cmb-tooltip-desc cmb-tooltip-top center"><?php esc_html_e( 'Open a support ticket', 'automatorwp' ); ?></span>
1226 </li>
1227 </ul>
1228 <?php
1229 }
1230
1231 /**
1232 * Dashboard involved box
1233 *
1234 * @since 2.0.0
1235 */
1236 function automatorwp_dashboard_involved_box() {
1237 ?>
1238 <p><?php esc_html_e( 'AutomatorWP is a free and open-source plugin accessible to everyone just like WordPress. There are many ways you can help support AutomatorWP', 'automatorwp' ); ?></p>
1239 <ul>
1240 <li><a href="https://translate.wordpress.org/projects/wp-plugins/automatorwp/" target="_blank"><i class="dashicons dashicons-translation"></i> <?php esc_html_e( 'Translate AutomatorWP into your language.', 'automatorwp' ); ?></a></li>
1241 <li><a href="https://wordpress.org/plugins/automatorwp/#reviews" target="_blank"><i class="dashicons dashicons-wordpress"></i> <?php esc_html_e( 'Review AutomatorWP on WordPress.org.', 'automatorwp' ); ?></a></li>
1242 </ul>
1243 <?php
1244 }