PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 5.8.5
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v5.8.5
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 / integrations / pretty-link / includes / functions.php

functions.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 5.8.5, at integrations/pretty-link/includes/functions.php

150 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Functions
4 *
5 * @package AutomatorWP\pretty-link\Functions
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Get the links
14 *
15 * @since 1.0.0
16 *
17 * @return array
18 */
19 function automatorwp_pretty_link_get_links() {
20 $links = array();
21 $linksController = new PrliLocalApiController();
22 $all_links = $linksController->get_all_links();
23
24 foreach ($all_links as $link) {
25 $links[] = array(
26 'id' => $link['id'],
27 'name' => $link['name'],
28 );
29 }
30 return $links;
31 }
32
33 /**
34 * Options callback for select fields assigned to links
35 *
36 * @since 1.0.0
37 *
38 * @param stdClass $field
39 *
40 * @return array
41 */
42 function automatorwp_pretty_link_options_cb_link( $field ) {
43
44 // Setup vars
45 $value = $field->escaped_value;
46 $none_value = 'any';
47 $none_label = __( 'any link', 'automatorwp');
48 $options = automatorwp_options_cb_none_option( $field, $none_value, $none_label);
49
50 if( ! empty( $value ) ) {
51 if( ! is_array( $value ) ) {
52 $value = array( $value );
53 }
54 }
55
56 foreach( $value as $link_id ) {
57
58 // Skip option none
59 if( $link_id === $none_value) {
60 continue;
61 }
62
63 $options[$link_id] = automatorwp_pretty_link_get_link_title( $link_id );
64 }
65
66 return $options;
67 }
68
69 /**
70 * Get link title of specified link id
71 *
72 * @since 1.0.0
73 *
74 * @param int $link_id
75 *
76 * @return array
77 */
78 function automatorwp_pretty_link_get_link_title( $link_id ) {
79
80 // Empty title if no ID provided
81 if( absint( $link_id ) === 0 ) {
82 return '';
83 }
84
85 $prliLink = new PrliLink();
86 $one_link = $prliLink->get_one_by( 'id', $link_id );
87 $link_data = json_decode(json_encode($one_link), true);
88 $link_name = $link_data['name'];
89
90 return $link_name;
91
92 }
93
94 /**
95 * Get link title of specified link id
96 *
97 * @since 1.0.0
98 *
99 * @param int $link_id
100 *
101 * @return array
102 */
103 function automatorwp_pretty_link_get_link_data( $link_id ) {
104
105 // Empty title if no ID provided
106 if( absint( $link_id ) === 0 ) {
107 return '';
108 }
109 $prliLink = new PrliLink();
110 $one_link = $prliLink->get_one_by( 'id', $link_id );
111 $link_data = json_decode(json_encode($one_link), true);
112 return $link_data;
113
114 }
115 /**
116 * Generate random slug in case the field is empty
117 *
118 * @since 1.0.0
119 *
120 * @return String
121 */
122 function automatorwp_pretty_link_generate_random_slug() {
123 $prliLink = new PrliLink();
124 return $prliLink->generateValidSlug();
125 }
126
127 /**
128 * Options callback for select redirection types of pretty links
129 *
130 * @since 1.0.0
131 *
132 * @param stdClass $field
133 *
134 * @return array
135 */
136 function automatorwp_pretty_link_get_all_redirection_options_cb( $field ) {
137 // Setup vars
138 $value = $field->escaped_value;
139 $none_value = 'any';
140 $none_label = __( 'any points type', 'automatorwp' );
141 $options = automatorwp_options_cb_none_option( $field, $none_value, $none_label );
142 return array_merge(
143 $options,
144 array(
145 '307' => '307 (Temporary)',
146 '302' => '302 (Temporary)',
147 '301' => '301 (Permanent)'
148 )
149 );
150 }