@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | */ |
39 | 39 | public static function get_instance() { |
40 | 40 | // If the single instance hasn't been set, set it now. |
41 | - if ( ! isset( self::$instance ) ) { |
|
41 | + if (!isset(self::$instance)) { |
|
42 | 42 | self::$instance = new self(); |
43 | 43 | } |
44 | 44 | return self::$instance; |
@@ -50,8 +50,8 @@ discard block |
||
50 | 50 | public function display_page() { |
51 | 51 | ?> |
52 | 52 | <div class="row section"> |
53 | - <h1><?php esc_html_e( 'Welcome to the LSX Importer for Wetu', 'lsx-wetu-importer' ); ?></h1> |
|
54 | - <p><?php esc_html_e( 'If this is the first time running the import, please follow the steps below.', 'lsx-wetu-importer' ); ?></p> |
|
53 | + <h1><?php esc_html_e('Welcome to the LSX Importer for Wetu', 'lsx-wetu-importer'); ?></h1> |
|
54 | + <p><?php esc_html_e('If this is the first time running the import, please follow the steps below.', 'lsx-wetu-importer'); ?></p> |
|
55 | 55 | </div> |
56 | 56 | <?php |
57 | 57 | $this->importer_steps(); |
@@ -67,19 +67,19 @@ discard block |
||
67 | 67 | ?> |
68 | 68 | <div class="row section postbox"> |
69 | 69 | <div class="welcome-block-header"> |
70 | - <p class="heading"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>"><?php esc_html_e( 'Import your tours', 'lsx-wetu-importer' ); ?></a></p> |
|
71 | - <p class="value"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>"><span>1</span></a></p> |
|
70 | + <p class="heading"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>"><?php esc_html_e('Import your tours', 'lsx-wetu-importer'); ?></a></p> |
|
71 | + <p class="value"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>"><span>1</span></a></p> |
|
72 | 72 | </div> |
73 | 73 | <div class="welcome-block-header"> |
74 | - <p class="heading"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>"><?php esc_html_e( 'Import accommodation', 'lsx-wetu-importer' ); ?></a></p> |
|
75 | - <p class="value"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>"><span>2</span></a></p> |
|
74 | + <p class="heading"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>"><?php esc_html_e('Import accommodation', 'lsx-wetu-importer'); ?></a></p> |
|
75 | + <p class="value"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>"><span>2</span></a></p> |
|
76 | 76 | </div> |
77 | 77 | <div class="welcome-block-header"> |
78 | - <p class="heading"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>"><?php esc_html_e( 'Import destination', 'lsx-wetu-importer' ); ?></a></p> |
|
79 | - <p class="value"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>"><span>3</span></a></p> |
|
78 | + <p class="heading"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>"><?php esc_html_e('Import destination', 'lsx-wetu-importer'); ?></a></p> |
|
79 | + <p class="value"><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>"><span>3</span></a></p> |
|
80 | 80 | </div> |
81 | 81 | <div class="welcome-block-header"> |
82 | - <p class="heading"><?php esc_html_e( 'Done', 'lsx-wetu-importer' ); ?></p> |
|
82 | + <p class="heading"><?php esc_html_e('Done', 'lsx-wetu-importer'); ?></p> |
|
83 | 83 | <p class="value"><span class="dashicons dashicons-yes"></span></p> |
84 | 84 | </div> |
85 | 85 | <div class="spacer"></div> |
@@ -118,14 +118,14 @@ discard block |
||
118 | 118 | */ |
119 | 119 | public function tour_block() { |
120 | 120 | ?> |
121 | - <h2 class="title"><?php esc_html_e( 'Importing tours', 'lsx-wetu-importer' ); ?></h2> |
|
122 | - <p class="excerpt"><?php esc_html_e( 'Search for tours, select the ones you want to import and choose the data you want to sync on import. All connected accommodadtions will be imported as drafts to be pubished after completing the tour import.', 'lsx-wetu-importer' ); ?></p> |
|
123 | - <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>" class="button button-primary"><?php esc_html_e( 'Import Tours', 'lsx-wetu-importer' ); ?></a></p> |
|
121 | + <h2 class="title"><?php esc_html_e('Importing tours', 'lsx-wetu-importer'); ?></h2> |
|
122 | + <p class="excerpt"><?php esc_html_e('Search for tours, select the ones you want to import and choose the data you want to sync on import. All connected accommodadtions will be imported as drafts to be pubished after completing the tour import.', 'lsx-wetu-importer'); ?></p> |
|
123 | + <p><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>" class="button button-primary"><?php esc_html_e('Import Tours', 'lsx-wetu-importer'); ?></a></p> |
|
124 | 124 | <p> |
125 | 125 | <ul class="link-list"> |
126 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>#publish"><?php esc_html_e( 'Published', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'tour', 'publish ' ) ); ?>)</a></li> |
|
127 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>#pending"><?php esc_html_e( 'Pending', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'tour', 'pending ' ) ); ?>)</a></li> |
|
128 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>#draft"><?php esc_html_e( 'Draft', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'tour', 'draft ' ) ); ?>)</a></li> |
|
126 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>#publish"><?php esc_html_e('Published', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('tour', 'publish ')); ?>)</a></li> |
|
127 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>#pending"><?php esc_html_e('Pending', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('tour', 'pending ')); ?>)</a></li> |
|
128 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=tour'); ?>#draft"><?php esc_html_e('Draft', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('tour', 'draft ')); ?>)</a></li> |
|
129 | 129 | </ul> |
130 | 130 | </p> |
131 | 131 | <?php |
@@ -137,16 +137,16 @@ discard block |
||
137 | 137 | */ |
138 | 138 | public function accommodation_block() { |
139 | 139 | ?> |
140 | - <h2 class="title"><?php esc_html_e( 'Import and publish accommodation', 'lsx-wetu-importer' ); ?></h2> |
|
141 | - <p class="excerpt"><?php esc_html_e( 'All accommodations connnected to your tours have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer' ); ?></p> |
|
142 | - <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>" class="button button-primary"><?php esc_html_e( 'Sync accommodation', 'lsx-wetu-importer' ); ?></a></p> |
|
140 | + <h2 class="title"><?php esc_html_e('Import and publish accommodation', 'lsx-wetu-importer'); ?></h2> |
|
141 | + <p class="excerpt"><?php esc_html_e('All accommodations connnected to your tours have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer'); ?></p> |
|
142 | + <p><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>" class="button button-primary"><?php esc_html_e('Sync accommodation', 'lsx-wetu-importer'); ?></a></p> |
|
143 | 143 | |
144 | 144 | <p> |
145 | 145 | <ul class="link-list"> |
146 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>#publish"><?php esc_html_e( 'Published', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'accommodation', 'publish ' ) ); ?>)</a></li> |
|
147 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>#pending"><?php esc_html_e( 'Pending', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'accommodation', 'pending ' ) ); ?>)</a></li> |
|
148 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>#draft"><?php esc_html_e( 'Draft', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'accommodation', 'draft ' ) ); ?>)</a></li> |
|
149 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>#import"><?php esc_html_e( 'Wetu Queue', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_queue_count( 'accommodation' ) ); ?>)</a></li> |
|
146 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>#publish"><?php esc_html_e('Published', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('accommodation', 'publish ')); ?>)</a></li> |
|
147 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>#pending"><?php esc_html_e('Pending', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('accommodation', 'pending ')); ?>)</a></li> |
|
148 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>#draft"><?php esc_html_e('Draft', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('accommodation', 'draft ')); ?>)</a></li> |
|
149 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=accommodation'); ?>#import"><?php esc_html_e('Wetu Queue', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_queue_count('accommodation')); ?>)</a></li> |
|
150 | 150 | </ul> |
151 | 151 | </p> |
152 | 152 | <?php |
@@ -158,15 +158,15 @@ discard block |
||
158 | 158 | */ |
159 | 159 | public function destination_block() { |
160 | 160 | ?> |
161 | - <h2 class="title"><?php esc_html_e( 'Import and publish destinations', 'lsx-wetu-importer' ); ?></h2> |
|
162 | - <p class="excerpt"><?php esc_html_e( 'All destinations and regions connnected to your tours & accommodations have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer' ); ?></p> |
|
163 | - <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>" class="button button-primary"><?php esc_html_e( 'Sync destinations', 'lsx-wetu-importer' ); ?></a></p> |
|
161 | + <h2 class="title"><?php esc_html_e('Import and publish destinations', 'lsx-wetu-importer'); ?></h2> |
|
162 | + <p class="excerpt"><?php esc_html_e('All destinations and regions connnected to your tours & accommodations have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer'); ?></p> |
|
163 | + <p><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>" class="button button-primary"><?php esc_html_e('Sync destinations', 'lsx-wetu-importer'); ?></a></p> |
|
164 | 164 | <p> |
165 | 165 | <ul class="link-list"> |
166 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>#publish"><?php esc_html_e( 'Published', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'destination', 'publish ' ) ); ?>)</a></li> |
|
167 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>#pending"><?php esc_html_e( 'Pending', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'destination', 'pending ' ) ); ?>)</a></li> |
|
168 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>#draft"><?php esc_html_e( 'Draft', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_post_count( 'destination', 'draft ' ) ); ?>)</a></li> |
|
169 | - <li><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>#import"><?php esc_html_e( 'Wetu Queue', 'lsx-wetu-importer' ); ?> (<?php echo esc_attr( lsx_wetu_get_queue_count( 'destination' ) ); ?>)</a></li> |
|
166 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>#publish"><?php esc_html_e('Published', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('destination', 'publish ')); ?>)</a></li> |
|
167 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>#pending"><?php esc_html_e('Pending', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('destination', 'pending ')); ?>)</a></li> |
|
168 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>#draft"><?php esc_html_e('Draft', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_post_count('destination', 'draft ')); ?>)</a></li> |
|
169 | + <li><a href="<?php echo esc_attr(admin_url('admin.php').'?page=lsx-wetu-importer&tab=destination'); ?>#import"><?php esc_html_e('Wetu Queue', 'lsx-wetu-importer'); ?> (<?php echo esc_attr(lsx_wetu_get_queue_count('destination')); ?>)</a></li> |
|
170 | 170 | </ul> |
171 | 171 | </p> |
172 | 172 | <?php |
@@ -178,8 +178,8 @@ discard block |
||
178 | 178 | */ |
179 | 179 | public function end_block() { |
180 | 180 | ?> |
181 | - <h2 class="title"><?php esc_html_e( 'Done! Check out your imported content', 'lsx-wetu-importer' ); ?></h2> |
|
182 | - <p><?php esc_html_e( 'If you’ve updated your content on Wetu then you can return to these steps at any stage to import and re-sync any updates', 'lsx-wetu-importer' ); ?></p> |
|
181 | + <h2 class="title"><?php esc_html_e('Done! Check out your imported content', 'lsx-wetu-importer'); ?></h2> |
|
182 | + <p><?php esc_html_e('If you’ve updated your content on Wetu then you can return to these steps at any stage to import and re-sync any updates', 'lsx-wetu-importer'); ?></p> |
|
183 | 183 | <?php |
184 | 184 | } |
185 | 185 | } |
@@ -14,57 +14,57 @@ discard block |
||
14 | 14 | */ |
15 | 15 | class LSX_WETU_Importer_Welcome { |
16 | 16 | |
17 | - /** |
|
18 | - * Holds instance of the class |
|
19 | - * |
|
20 | - * @var object |
|
21 | - */ |
|
22 | - private static $instance; |
|
17 | + /** |
|
18 | + * Holds instance of the class |
|
19 | + * |
|
20 | + * @var object |
|
21 | + */ |
|
22 | + private static $instance; |
|
23 | 23 | |
24 | - /** |
|
25 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
26 | - * |
|
27 | - * @since 1.0.0 |
|
28 | - * |
|
29 | - * @access private |
|
30 | - */ |
|
31 | - public function __construct() { |
|
32 | - } |
|
24 | + /** |
|
25 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
26 | + * |
|
27 | + * @since 1.0.0 |
|
28 | + * |
|
29 | + * @access private |
|
30 | + */ |
|
31 | + public function __construct() { |
|
32 | + } |
|
33 | 33 | |
34 | - /** |
|
35 | - * Return an instance of this class. |
|
36 | - * |
|
37 | - * @return object |
|
38 | - */ |
|
39 | - public static function get_instance() { |
|
40 | - // If the single instance hasn't been set, set it now. |
|
41 | - if ( ! isset( self::$instance ) ) { |
|
42 | - self::$instance = new self(); |
|
43 | - } |
|
44 | - return self::$instance; |
|
45 | - } |
|
34 | + /** |
|
35 | + * Return an instance of this class. |
|
36 | + * |
|
37 | + * @return object |
|
38 | + */ |
|
39 | + public static function get_instance() { |
|
40 | + // If the single instance hasn't been set, set it now. |
|
41 | + if ( ! isset( self::$instance ) ) { |
|
42 | + self::$instance = new self(); |
|
43 | + } |
|
44 | + return self::$instance; |
|
45 | + } |
|
46 | 46 | |
47 | - /** |
|
48 | - * Display the importer welcome screen |
|
49 | - */ |
|
50 | - public function display_page() { |
|
51 | - ?> |
|
47 | + /** |
|
48 | + * Display the importer welcome screen |
|
49 | + */ |
|
50 | + public function display_page() { |
|
51 | + ?> |
|
52 | 52 | <div class="row section"> |
53 | 53 | <h1><?php esc_html_e( 'Welcome to the LSX Importer for Wetu', 'lsx-wetu-importer' ); ?></h1> |
54 | 54 | <p><?php esc_html_e( 'If this is the first time running the import, please follow the steps below.', 'lsx-wetu-importer' ); ?></p> |
55 | 55 | </div> |
56 | 56 | <?php |
57 | - $this->importer_steps(); |
|
58 | - $this->welcome_blocks(); |
|
59 | - } |
|
57 | + $this->importer_steps(); |
|
58 | + $this->welcome_blocks(); |
|
59 | + } |
|
60 | 60 | |
61 | - /** |
|
62 | - * Undocumented function |
|
63 | - * |
|
64 | - * @return void |
|
65 | - */ |
|
66 | - public function importer_steps() { |
|
67 | - ?> |
|
61 | + /** |
|
62 | + * Undocumented function |
|
63 | + * |
|
64 | + * @return void |
|
65 | + */ |
|
66 | + public function importer_steps() { |
|
67 | + ?> |
|
68 | 68 | <div class="row section postbox"> |
69 | 69 | <div class="welcome-block-header"> |
70 | 70 | <p class="heading"><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>"><?php esc_html_e( 'Import your tours', 'lsx-wetu-importer' ); ?></a></p> |
@@ -85,15 +85,15 @@ discard block |
||
85 | 85 | <div class="spacer"></div> |
86 | 86 | </div> |
87 | 87 | <?php |
88 | - } |
|
88 | + } |
|
89 | 89 | |
90 | - /** |
|
91 | - * Outputs the welcome blocks on the welcome screen |
|
92 | - * |
|
93 | - * @return void |
|
94 | - */ |
|
95 | - public function welcome_blocks() { |
|
96 | - ?> |
|
90 | + /** |
|
91 | + * Outputs the welcome blocks on the welcome screen |
|
92 | + * |
|
93 | + * @return void |
|
94 | + */ |
|
95 | + public function welcome_blocks() { |
|
96 | + ?> |
|
97 | 97 | <div class="row section"> |
98 | 98 | <div class="welcome-block postbox"> |
99 | 99 | <?php $this->tour_block(); ?> |
@@ -109,15 +109,15 @@ discard block |
||
109 | 109 | </div> |
110 | 110 | </div> |
111 | 111 | <?php |
112 | - } |
|
112 | + } |
|
113 | 113 | |
114 | - /** |
|
115 | - * Outputs the Tour Block. |
|
116 | - * |
|
117 | - * @return void |
|
118 | - */ |
|
119 | - public function tour_block() { |
|
120 | - ?> |
|
114 | + /** |
|
115 | + * Outputs the Tour Block. |
|
116 | + * |
|
117 | + * @return void |
|
118 | + */ |
|
119 | + public function tour_block() { |
|
120 | + ?> |
|
121 | 121 | <h2 class="title"><?php esc_html_e( 'Importing tours', 'lsx-wetu-importer' ); ?></h2> |
122 | 122 | <p class="excerpt"><?php esc_html_e( 'Search for tours, select the ones you want to import and choose the data you want to sync on import. All connected accommodadtions will be imported as drafts to be pubished after completing the tour import.', 'lsx-wetu-importer' ); ?></p> |
123 | 123 | <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=tour' ); ?>" class="button button-primary"><?php esc_html_e( 'Import Tours', 'lsx-wetu-importer' ); ?></a></p> |
@@ -129,14 +129,14 @@ discard block |
||
129 | 129 | </ul> |
130 | 130 | </p> |
131 | 131 | <?php |
132 | - } |
|
133 | - /** |
|
134 | - * Outputs the Accommodation Block. |
|
135 | - * |
|
136 | - * @return void |
|
137 | - */ |
|
138 | - public function accommodation_block() { |
|
139 | - ?> |
|
132 | + } |
|
133 | + /** |
|
134 | + * Outputs the Accommodation Block. |
|
135 | + * |
|
136 | + * @return void |
|
137 | + */ |
|
138 | + public function accommodation_block() { |
|
139 | + ?> |
|
140 | 140 | <h2 class="title"><?php esc_html_e( 'Import and publish accommodation', 'lsx-wetu-importer' ); ?></h2> |
141 | 141 | <p class="excerpt"><?php esc_html_e( 'All accommodations connnected to your tours have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer' ); ?></p> |
142 | 142 | <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=accommodation' ); ?>" class="button button-primary"><?php esc_html_e( 'Sync accommodation', 'lsx-wetu-importer' ); ?></a></p> |
@@ -150,14 +150,14 @@ discard block |
||
150 | 150 | </ul> |
151 | 151 | </p> |
152 | 152 | <?php |
153 | - } |
|
154 | - /** |
|
155 | - * Outputs the Destination Block. |
|
156 | - * |
|
157 | - * @return void |
|
158 | - */ |
|
159 | - public function destination_block() { |
|
160 | - ?> |
|
153 | + } |
|
154 | + /** |
|
155 | + * Outputs the Destination Block. |
|
156 | + * |
|
157 | + * @return void |
|
158 | + */ |
|
159 | + public function destination_block() { |
|
160 | + ?> |
|
161 | 161 | <h2 class="title"><?php esc_html_e( 'Import and publish destinations', 'lsx-wetu-importer' ); ?></h2> |
162 | 162 | <p class="excerpt"><?php esc_html_e( 'All destinations and regions connnected to your tours & accommodations have been imported as drafts. Review the imported accommodations, sync selected data and publish.', 'lsx-wetu-importer' ); ?></p> |
163 | 163 | <p><a href="<?php echo esc_attr( admin_url( 'admin.php' ) . '?page=lsx-wetu-importer&tab=destination' ); ?>" class="button button-primary"><?php esc_html_e( 'Sync destinations', 'lsx-wetu-importer' ); ?></a></p> |
@@ -170,16 +170,16 @@ discard block |
||
170 | 170 | </ul> |
171 | 171 | </p> |
172 | 172 | <?php |
173 | - } |
|
174 | - /** |
|
175 | - * Outputs the last welcome block |
|
176 | - * |
|
177 | - * @return void |
|
178 | - */ |
|
179 | - public function end_block() { |
|
180 | - ?> |
|
173 | + } |
|
174 | + /** |
|
175 | + * Outputs the last welcome block |
|
176 | + * |
|
177 | + * @return void |
|
178 | + */ |
|
179 | + public function end_block() { |
|
180 | + ?> |
|
181 | 181 | <h2 class="title"><?php esc_html_e( 'Done! Check out your imported content', 'lsx-wetu-importer' ); ?></h2> |
182 | 182 | <p><?php esc_html_e( 'If you’ve updated your content on Wetu then you can return to these steps at any stage to import and re-sync any updates', 'lsx-wetu-importer' ); ?></p> |
183 | 183 | <?php |
184 | - } |
|
184 | + } |
|
185 | 185 | } |
@@ -29,8 +29,8 @@ discard block |
||
29 | 29 | * @access private |
30 | 30 | */ |
31 | 31 | public function __construct() { |
32 | - add_filter( 'manage_tour_posts_columns', array( $this, 'register_tour_columns' ) ); |
|
33 | - add_action( 'manage_tour_posts_custom_column', array( $this, 'output_tour_ref_column' ), 10, 2 ); |
|
32 | + add_filter('manage_tour_posts_columns', array($this, 'register_tour_columns')); |
|
33 | + add_action('manage_tour_posts_custom_column', array($this, 'output_tour_ref_column'), 10, 2); |
|
34 | 34 | |
35 | 35 | // Sortables Columns, sorting needs to be fixed |
36 | 36 | // add_filter( 'manage_edit-tour_sortable_columns', array( $this, 'register_sortable_columns' ) ); |
@@ -44,7 +44,7 @@ discard block |
||
44 | 44 | */ |
45 | 45 | public static function get_instance() { |
46 | 46 | // If the single instance hasn't been set, set it now. |
47 | - if ( ! isset( self::$instance ) ) { |
|
47 | + if (!isset(self::$instance)) { |
|
48 | 48 | self::$instance = new self(); |
49 | 49 | } |
50 | 50 | return self::$instance; |
@@ -63,16 +63,16 @@ discard block |
||
63 | 63 | * @param array $columns |
64 | 64 | * @return array |
65 | 65 | */ |
66 | - public function register_tour_columns( $columns ) { |
|
66 | + public function register_tour_columns($columns) { |
|
67 | 67 | $new_columns = array( |
68 | 68 | 'cb' => $columns['cb'], |
69 | 69 | 'title' => $columns['title'], |
70 | - 'wetu_ref' => __( 'Ref', 'lsx-wetu-importer' ), |
|
70 | + 'wetu_ref' => __('Ref', 'lsx-wetu-importer'), |
|
71 | 71 | ); |
72 | - unset( $columns['cb'] ); |
|
73 | - unset( $columns['title'] ); |
|
74 | - foreach ( $columns as $column_key => $column_label ) { |
|
75 | - $new_columns[ $column_key ] = $column_label; |
|
72 | + unset($columns['cb']); |
|
73 | + unset($columns['title']); |
|
74 | + foreach ($columns as $column_key => $column_label) { |
|
75 | + $new_columns[$column_key] = $column_label; |
|
76 | 76 | } |
77 | 77 | $columns = $new_columns; |
78 | 78 | return $columns; |
@@ -85,9 +85,9 @@ discard block |
||
85 | 85 | * @param string $post_id |
86 | 86 | * @return void |
87 | 87 | */ |
88 | - public function output_tour_ref_column( $column, $post_id ) { |
|
89 | - if ( 'wetu_ref' === $column ) { |
|
90 | - echo esc_attr( get_post_meta( $post_id, 'lsx_wetu_ref', true ) ); |
|
88 | + public function output_tour_ref_column($column, $post_id) { |
|
89 | + if ('wetu_ref' === $column) { |
|
90 | + echo esc_attr(get_post_meta($post_id, 'lsx_wetu_ref', true)); |
|
91 | 91 | } |
92 | 92 | } |
93 | 93 | |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | * @param array $columns |
98 | 98 | * @return array |
99 | 99 | */ |
100 | - public function register_sortable_columns( $columns = array() ) { |
|
100 | + public function register_sortable_columns($columns = array()) { |
|
101 | 101 | $columns['wetu_ref'] = 'price_per_month'; |
102 | 102 | return $columns; |
103 | 103 | } |
@@ -108,13 +108,13 @@ discard block |
||
108 | 108 | * @param object $query WP_Query() |
109 | 109 | * @return void |
110 | 110 | */ |
111 | - public function columns_posts_orderby( $query ) { |
|
112 | - if ( ! is_admin() || ! $query->is_main_query() ) { |
|
111 | + public function columns_posts_orderby($query) { |
|
112 | + if (!is_admin() || !$query->is_main_query()) { |
|
113 | 113 | return; |
114 | 114 | } |
115 | - if ( 'wetu_ref' === $query->get( 'orderby' ) ) { |
|
116 | - $query->set( 'orderby', 'meta_value' ); |
|
117 | - $query->set( 'meta_key', 'lsx_wetu_reference' ); |
|
115 | + if ('wetu_ref' === $query->get('orderby')) { |
|
116 | + $query->set('orderby', 'meta_value'); |
|
117 | + $query->set('meta_key', 'lsx_wetu_reference'); |
|
118 | 118 | } |
119 | 119 | /*if ( $query->is_search() && 'tour' === $query->get( 'post_type' ) ) { |
120 | 120 | $meta_query = array( |
@@ -14,109 +14,109 @@ discard block |
||
14 | 14 | */ |
15 | 15 | class LSX_WETU_Importer_Post_Columns { |
16 | 16 | |
17 | - /** |
|
18 | - * Holds instance of the class |
|
19 | - * |
|
20 | - * @var object |
|
21 | - */ |
|
22 | - private static $instance; |
|
17 | + /** |
|
18 | + * Holds instance of the class |
|
19 | + * |
|
20 | + * @var object |
|
21 | + */ |
|
22 | + private static $instance; |
|
23 | 23 | |
24 | - /** |
|
25 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
26 | - * |
|
27 | - * @since 1.0.0 |
|
28 | - * |
|
29 | - * @access private |
|
30 | - */ |
|
31 | - public function __construct() { |
|
32 | - add_filter( 'manage_tour_posts_columns', array( $this, 'register_tour_columns' ) ); |
|
33 | - add_action( 'manage_tour_posts_custom_column', array( $this, 'output_tour_ref_column' ), 10, 2 ); |
|
24 | + /** |
|
25 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
26 | + * |
|
27 | + * @since 1.0.0 |
|
28 | + * |
|
29 | + * @access private |
|
30 | + */ |
|
31 | + public function __construct() { |
|
32 | + add_filter( 'manage_tour_posts_columns', array( $this, 'register_tour_columns' ) ); |
|
33 | + add_action( 'manage_tour_posts_custom_column', array( $this, 'output_tour_ref_column' ), 10, 2 ); |
|
34 | 34 | |
35 | - // Sortables Columns, sorting needs to be fixed |
|
36 | - // add_filter( 'manage_edit-tour_sortable_columns', array( $this, 'register_sortable_columns' ) ); |
|
37 | - // add_action( 'pre_get_posts', array( $this, 'columns_posts_orderby' ) ); |
|
38 | - } |
|
35 | + // Sortables Columns, sorting needs to be fixed |
|
36 | + // add_filter( 'manage_edit-tour_sortable_columns', array( $this, 'register_sortable_columns' ) ); |
|
37 | + // add_action( 'pre_get_posts', array( $this, 'columns_posts_orderby' ) ); |
|
38 | + } |
|
39 | 39 | |
40 | - /** |
|
41 | - * Return an instance of this class. |
|
42 | - * |
|
43 | - * @return object |
|
44 | - */ |
|
45 | - public static function get_instance() { |
|
46 | - // If the single instance hasn't been set, set it now. |
|
47 | - if ( ! isset( self::$instance ) ) { |
|
48 | - self::$instance = new self(); |
|
49 | - } |
|
50 | - return self::$instance; |
|
51 | - } |
|
40 | + /** |
|
41 | + * Return an instance of this class. |
|
42 | + * |
|
43 | + * @return object |
|
44 | + */ |
|
45 | + public static function get_instance() { |
|
46 | + // If the single instance hasn't been set, set it now. |
|
47 | + if ( ! isset( self::$instance ) ) { |
|
48 | + self::$instance = new self(); |
|
49 | + } |
|
50 | + return self::$instance; |
|
51 | + } |
|
52 | 52 | |
53 | - /** |
|
54 | - * Display the importer welcome screen |
|
55 | - */ |
|
56 | - public function display_page() { |
|
53 | + /** |
|
54 | + * Display the importer welcome screen |
|
55 | + */ |
|
56 | + public function display_page() { |
|
57 | 57 | |
58 | - } |
|
58 | + } |
|
59 | 59 | |
60 | - /** |
|
61 | - * Registers the tour ref column |
|
62 | - * |
|
63 | - * @param array $columns |
|
64 | - * @return array |
|
65 | - */ |
|
66 | - public function register_tour_columns( $columns ) { |
|
67 | - $new_columns = array( |
|
68 | - 'cb' => $columns['cb'], |
|
69 | - 'title' => $columns['title'], |
|
70 | - 'wetu_ref' => __( 'Ref', 'lsx-wetu-importer' ), |
|
71 | - ); |
|
72 | - unset( $columns['cb'] ); |
|
73 | - unset( $columns['title'] ); |
|
74 | - foreach ( $columns as $column_key => $column_label ) { |
|
75 | - $new_columns[ $column_key ] = $column_label; |
|
76 | - } |
|
77 | - $columns = $new_columns; |
|
78 | - return $columns; |
|
79 | - } |
|
60 | + /** |
|
61 | + * Registers the tour ref column |
|
62 | + * |
|
63 | + * @param array $columns |
|
64 | + * @return array |
|
65 | + */ |
|
66 | + public function register_tour_columns( $columns ) { |
|
67 | + $new_columns = array( |
|
68 | + 'cb' => $columns['cb'], |
|
69 | + 'title' => $columns['title'], |
|
70 | + 'wetu_ref' => __( 'Ref', 'lsx-wetu-importer' ), |
|
71 | + ); |
|
72 | + unset( $columns['cb'] ); |
|
73 | + unset( $columns['title'] ); |
|
74 | + foreach ( $columns as $column_key => $column_label ) { |
|
75 | + $new_columns[ $column_key ] = $column_label; |
|
76 | + } |
|
77 | + $columns = $new_columns; |
|
78 | + return $columns; |
|
79 | + } |
|
80 | 80 | |
81 | - /** |
|
82 | - * Outputs the tour reference column |
|
83 | - * |
|
84 | - * @param string $column |
|
85 | - * @param string $post_id |
|
86 | - * @return void |
|
87 | - */ |
|
88 | - public function output_tour_ref_column( $column, $post_id ) { |
|
89 | - if ( 'wetu_ref' === $column ) { |
|
90 | - echo esc_attr( get_post_meta( $post_id, 'lsx_wetu_ref', true ) ); |
|
91 | - } |
|
92 | - } |
|
81 | + /** |
|
82 | + * Outputs the tour reference column |
|
83 | + * |
|
84 | + * @param string $column |
|
85 | + * @param string $post_id |
|
86 | + * @return void |
|
87 | + */ |
|
88 | + public function output_tour_ref_column( $column, $post_id ) { |
|
89 | + if ( 'wetu_ref' === $column ) { |
|
90 | + echo esc_attr( get_post_meta( $post_id, 'lsx_wetu_ref', true ) ); |
|
91 | + } |
|
92 | + } |
|
93 | 93 | |
94 | - /** |
|
95 | - * Register the columns that will be sortable |
|
96 | - * |
|
97 | - * @param array $columns |
|
98 | - * @return array |
|
99 | - */ |
|
100 | - public function register_sortable_columns( $columns = array() ) { |
|
101 | - $columns['wetu_ref'] = 'price_per_month'; |
|
102 | - return $columns; |
|
103 | - } |
|
94 | + /** |
|
95 | + * Register the columns that will be sortable |
|
96 | + * |
|
97 | + * @param array $columns |
|
98 | + * @return array |
|
99 | + */ |
|
100 | + public function register_sortable_columns( $columns = array() ) { |
|
101 | + $columns['wetu_ref'] = 'price_per_month'; |
|
102 | + return $columns; |
|
103 | + } |
|
104 | 104 | |
105 | - /** |
|
106 | - * Sort the columns |
|
107 | - * |
|
108 | - * @param object $query WP_Query() |
|
109 | - * @return void |
|
110 | - */ |
|
111 | - public function columns_posts_orderby( $query ) { |
|
112 | - if ( ! is_admin() || ! $query->is_main_query() ) { |
|
113 | - return; |
|
114 | - } |
|
115 | - if ( 'wetu_ref' === $query->get( 'orderby' ) ) { |
|
116 | - $query->set( 'orderby', 'meta_value' ); |
|
117 | - $query->set( 'meta_key', 'lsx_wetu_reference' ); |
|
118 | - } |
|
119 | - /*if ( $query->is_search() && 'tour' === $query->get( 'post_type' ) ) { |
|
105 | + /** |
|
106 | + * Sort the columns |
|
107 | + * |
|
108 | + * @param object $query WP_Query() |
|
109 | + * @return void |
|
110 | + */ |
|
111 | + public function columns_posts_orderby( $query ) { |
|
112 | + if ( ! is_admin() || ! $query->is_main_query() ) { |
|
113 | + return; |
|
114 | + } |
|
115 | + if ( 'wetu_ref' === $query->get( 'orderby' ) ) { |
|
116 | + $query->set( 'orderby', 'meta_value' ); |
|
117 | + $query->set( 'meta_key', 'lsx_wetu_reference' ); |
|
118 | + } |
|
119 | + /*if ( $query->is_search() && 'tour' === $query->get( 'post_type' ) ) { |
|
120 | 120 | $meta_query = array( |
121 | 121 | 'relation' => 'OR', |
122 | 122 | array( |
@@ -127,5 +127,5 @@ discard block |
||
127 | 127 | ); |
128 | 128 | $query->set( 'meta_query', $meta_query ); |
129 | 129 | }*/ |
130 | - } |
|
130 | + } |
|
131 | 131 | } |
@@ -15,14 +15,14 @@ discard block |
||
15 | 15 | * @return array |
16 | 16 | */ |
17 | 17 | function lsx_wetu_get_options() { |
18 | - $options = get_option( 'lsx_wetu_importer_settings', array() ); |
|
19 | - if ( empty( $options ) ) { |
|
18 | + $options = get_option('lsx_wetu_importer_settings', array()); |
|
19 | + if (empty($options)) { |
|
20 | 20 | // Check for any previous options. |
21 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
22 | - if ( false !== $temp_options && isset( $temp_options['lsx-wetu-importer'] ) && ! empty( $temp_options['lsx-wetu-importer'] ) ) { |
|
21 | + $temp_options = get_option('_lsx-to_settings', false); |
|
22 | + if (false !== $temp_options && isset($temp_options['lsx-wetu-importer']) && !empty($temp_options['lsx-wetu-importer'])) { |
|
23 | 23 | $options = $temp_options['lsx-wetu-importer']; |
24 | 24 | } |
25 | - if ( false !== $temp_options && isset( $temp_options['api']['wetu_api_key'] ) && '' !== $temp_options['api']['wetu_api_key'] ) { |
|
25 | + if (false !== $temp_options && isset($temp_options['api']['wetu_api_key']) && '' !== $temp_options['api']['wetu_api_key']) { |
|
26 | 26 | $options['api_key'] = $temp_options['api']['wetu_api_key']; |
27 | 27 | } |
28 | 28 | } |
@@ -36,32 +36,32 @@ discard block |
||
36 | 36 | * @param string $post_status |
37 | 37 | * @return void |
38 | 38 | */ |
39 | -function lsx_wetu_get_post_count( $post_type = '', $post_status = '' ) { |
|
39 | +function lsx_wetu_get_post_count($post_type = '', $post_status = '') { |
|
40 | 40 | global $wpdb; |
41 | 41 | $count = '0'; |
42 | - if ( '' !== $post_type && '' !== $post_status ) { |
|
43 | - $result = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(`ID`) FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
44 | - if ( false !== $result && '' !== $result ) { |
|
45 | - if ( 'tour' === $post_type ) { |
|
46 | - $wetu_tours = get_transient( 'lsx_ti_tours' ); |
|
47 | - if ( false !== $wetu_tours ) { |
|
48 | - $results = $wpdb->get_results( $wpdb->prepare( "SELECT `ID` FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
42 | + if ('' !== $post_type && '' !== $post_status) { |
|
43 | + $result = $wpdb->get_var($wpdb->prepare("SELECT COUNT(`ID`) FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array(trim($post_status), $post_type))); |
|
44 | + if (false !== $result && '' !== $result) { |
|
45 | + if ('tour' === $post_type) { |
|
46 | + $wetu_tours = get_transient('lsx_ti_tours'); |
|
47 | + if (false !== $wetu_tours) { |
|
48 | + $results = $wpdb->get_results($wpdb->prepare("SELECT `ID` FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array(trim($post_status), $post_type))); |
|
49 | 49 | $result_count = 0; |
50 | 50 | $tour_wetu_ids = array(); |
51 | - foreach ( $wetu_tours as $wetu_tour ) { |
|
51 | + foreach ($wetu_tours as $wetu_tour) { |
|
52 | 52 | $tour_wetu_ids[] = $wetu_tour['identifier']; |
53 | 53 | } |
54 | 54 | |
55 | - if ( ! empty( $results ) ) { |
|
56 | - foreach ( $results as $tour ) { |
|
57 | - $current_wetu_id = get_post_meta( $tour->ID, 'lsx_wetu_id', true ); |
|
58 | - if ( in_array( $current_wetu_id, $tour_wetu_ids ) ) { |
|
55 | + if (!empty($results)) { |
|
56 | + foreach ($results as $tour) { |
|
57 | + $current_wetu_id = get_post_meta($tour->ID, 'lsx_wetu_id', true); |
|
58 | + if (in_array($current_wetu_id, $tour_wetu_ids)) { |
|
59 | 59 | $result_count++; |
60 | 60 | } |
61 | 61 | } |
62 | 62 | } |
63 | 63 | $result = $result_count; |
64 | - } else { |
|
64 | + }else { |
|
65 | 65 | $result = 0; |
66 | 66 | } |
67 | 67 | } |
@@ -77,11 +77,11 @@ discard block |
||
77 | 77 | * @param string $post_type |
78 | 78 | * @return void |
79 | 79 | */ |
80 | -function lsx_wetu_get_queue_count( $post_type = '' ) { |
|
80 | +function lsx_wetu_get_queue_count($post_type = '') { |
|
81 | 81 | $count = '0'; |
82 | - $queued_imports = get_option( 'lsx_wetu_importer_que', array() ); |
|
83 | - if ( isset( $queued_imports[ $post_type ] ) ) { |
|
84 | - $count = count( $queued_imports[ $post_type ] ); |
|
82 | + $queued_imports = get_option('lsx_wetu_importer_que', array()); |
|
83 | + if (isset($queued_imports[$post_type])) { |
|
84 | + $count = count($queued_imports[$post_type]); |
|
85 | 85 | } |
86 | 86 | return $count; |
87 | 87 | } |
@@ -92,11 +92,11 @@ discard block |
||
92 | 92 | * @param string $post_type |
93 | 93 | * @return void |
94 | 94 | */ |
95 | -function lsx_wetu_get_tour_count( $post_type = '' ) { |
|
95 | +function lsx_wetu_get_tour_count($post_type = '') { |
|
96 | 96 | $count = '0'; |
97 | - $wetu_tours = get_transient( 'lsx_ti_tours', array() ); |
|
98 | - if ( ! empty( $wetu_tours ) ) { |
|
99 | - $count = count( $wetu_tours ); |
|
97 | + $wetu_tours = get_transient('lsx_ti_tours', array()); |
|
98 | + if (!empty($wetu_tours)) { |
|
99 | + $count = count($wetu_tours); |
|
100 | 100 | } |
101 | 101 | return $count; |
102 | 102 | } |
@@ -15,18 +15,18 @@ discard block |
||
15 | 15 | * @return array |
16 | 16 | */ |
17 | 17 | function lsx_wetu_get_options() { |
18 | - $options = get_option( 'lsx_wetu_importer_settings', array() ); |
|
19 | - if ( empty( $options ) ) { |
|
20 | - // Check for any previous options. |
|
21 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
22 | - if ( false !== $temp_options && isset( $temp_options['lsx-wetu-importer'] ) && ! empty( $temp_options['lsx-wetu-importer'] ) ) { |
|
23 | - $options = $temp_options['lsx-wetu-importer']; |
|
24 | - } |
|
25 | - if ( false !== $temp_options && isset( $temp_options['api']['wetu_api_key'] ) && '' !== $temp_options['api']['wetu_api_key'] ) { |
|
26 | - $options['api_key'] = $temp_options['api']['wetu_api_key']; |
|
27 | - } |
|
28 | - } |
|
29 | - return $options; |
|
18 | + $options = get_option( 'lsx_wetu_importer_settings', array() ); |
|
19 | + if ( empty( $options ) ) { |
|
20 | + // Check for any previous options. |
|
21 | + $temp_options = get_option( '_lsx-to_settings', false ); |
|
22 | + if ( false !== $temp_options && isset( $temp_options['lsx-wetu-importer'] ) && ! empty( $temp_options['lsx-wetu-importer'] ) ) { |
|
23 | + $options = $temp_options['lsx-wetu-importer']; |
|
24 | + } |
|
25 | + if ( false !== $temp_options && isset( $temp_options['api']['wetu_api_key'] ) && '' !== $temp_options['api']['wetu_api_key'] ) { |
|
26 | + $options['api_key'] = $temp_options['api']['wetu_api_key']; |
|
27 | + } |
|
28 | + } |
|
29 | + return $options; |
|
30 | 30 | } |
31 | 31 | |
32 | 32 | /** |
@@ -37,38 +37,38 @@ discard block |
||
37 | 37 | * @return void |
38 | 38 | */ |
39 | 39 | function lsx_wetu_get_post_count( $post_type = '', $post_status = '' ) { |
40 | - global $wpdb; |
|
41 | - $count = '0'; |
|
42 | - if ( '' !== $post_type && '' !== $post_status ) { |
|
43 | - $result = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(`ID`) FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
44 | - if ( false !== $result && '' !== $result ) { |
|
45 | - if ( 'tour' === $post_type ) { |
|
46 | - $wetu_tours = get_transient( 'lsx_ti_tours' ); |
|
47 | - if ( false !== $wetu_tours ) { |
|
48 | - $results = $wpdb->get_results( $wpdb->prepare( "SELECT `ID` FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
49 | - $result_count = 0; |
|
50 | - $tour_wetu_ids = array(); |
|
51 | - foreach ( $wetu_tours as $wetu_tour ) { |
|
52 | - $tour_wetu_ids[] = $wetu_tour['identifier']; |
|
53 | - } |
|
40 | + global $wpdb; |
|
41 | + $count = '0'; |
|
42 | + if ( '' !== $post_type && '' !== $post_status ) { |
|
43 | + $result = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(`ID`) FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
44 | + if ( false !== $result && '' !== $result ) { |
|
45 | + if ( 'tour' === $post_type ) { |
|
46 | + $wetu_tours = get_transient( 'lsx_ti_tours' ); |
|
47 | + if ( false !== $wetu_tours ) { |
|
48 | + $results = $wpdb->get_results( $wpdb->prepare( "SELECT `ID` FROM $wpdb->posts WHERE `post_status` = '%s' AND `post_type` = '%s'", array( trim( $post_status ), $post_type ) ) ); |
|
49 | + $result_count = 0; |
|
50 | + $tour_wetu_ids = array(); |
|
51 | + foreach ( $wetu_tours as $wetu_tour ) { |
|
52 | + $tour_wetu_ids[] = $wetu_tour['identifier']; |
|
53 | + } |
|
54 | 54 | |
55 | - if ( ! empty( $results ) ) { |
|
56 | - foreach ( $results as $tour ) { |
|
57 | - $current_wetu_id = get_post_meta( $tour->ID, 'lsx_wetu_id', true ); |
|
58 | - if ( in_array( $current_wetu_id, $tour_wetu_ids ) ) { |
|
59 | - $result_count++; |
|
60 | - } |
|
61 | - } |
|
62 | - } |
|
63 | - $result = $result_count; |
|
64 | - } else { |
|
65 | - $result = 0; |
|
66 | - } |
|
67 | - } |
|
68 | - $count = $result; |
|
69 | - } |
|
70 | - } |
|
71 | - return $count; |
|
55 | + if ( ! empty( $results ) ) { |
|
56 | + foreach ( $results as $tour ) { |
|
57 | + $current_wetu_id = get_post_meta( $tour->ID, 'lsx_wetu_id', true ); |
|
58 | + if ( in_array( $current_wetu_id, $tour_wetu_ids ) ) { |
|
59 | + $result_count++; |
|
60 | + } |
|
61 | + } |
|
62 | + } |
|
63 | + $result = $result_count; |
|
64 | + } else { |
|
65 | + $result = 0; |
|
66 | + } |
|
67 | + } |
|
68 | + $count = $result; |
|
69 | + } |
|
70 | + } |
|
71 | + return $count; |
|
72 | 72 | } |
73 | 73 | |
74 | 74 | /** |
@@ -78,12 +78,12 @@ discard block |
||
78 | 78 | * @return void |
79 | 79 | */ |
80 | 80 | function lsx_wetu_get_queue_count( $post_type = '' ) { |
81 | - $count = '0'; |
|
82 | - $queued_imports = get_option( 'lsx_wetu_importer_que', array() ); |
|
83 | - if ( isset( $queued_imports[ $post_type ] ) ) { |
|
84 | - $count = count( $queued_imports[ $post_type ] ); |
|
85 | - } |
|
86 | - return $count; |
|
81 | + $count = '0'; |
|
82 | + $queued_imports = get_option( 'lsx_wetu_importer_que', array() ); |
|
83 | + if ( isset( $queued_imports[ $post_type ] ) ) { |
|
84 | + $count = count( $queued_imports[ $post_type ] ); |
|
85 | + } |
|
86 | + return $count; |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
@@ -93,10 +93,10 @@ discard block |
||
93 | 93 | * @return void |
94 | 94 | */ |
95 | 95 | function lsx_wetu_get_tour_count( $post_type = '' ) { |
96 | - $count = '0'; |
|
97 | - $wetu_tours = get_transient( 'lsx_ti_tours', array() ); |
|
98 | - if ( ! empty( $wetu_tours ) ) { |
|
99 | - $count = count( $wetu_tours ); |
|
100 | - } |
|
101 | - return $count; |
|
96 | + $count = '0'; |
|
97 | + $wetu_tours = get_transient( 'lsx_ti_tours', array() ); |
|
98 | + if ( ! empty( $wetu_tours ) ) { |
|
99 | + $count = count( $wetu_tours ); |
|
100 | + } |
|
101 | + return $count; |
|
102 | 102 | } |
@@ -11,13 +11,13 @@ |
||
11 | 11 | * Domain Path: /languages/ |
12 | 12 | */ |
13 | 13 | |
14 | -define( 'LSX_WETU_IMPORTER_PATH', plugin_dir_path( __FILE__ ) ); |
|
15 | -define( 'LSX_WETU_IMPORTER_CORE', __FILE__ ); |
|
16 | -define( 'LSX_WETU_IMPORTER_URL', plugin_dir_url( __FILE__ ) ); |
|
17 | -define( 'LSX_WETU_IMPORTER_VER', '1.3.3' ); |
|
14 | +define('LSX_WETU_IMPORTER_PATH', plugin_dir_path(__FILE__)); |
|
15 | +define('LSX_WETU_IMPORTER_CORE', __FILE__); |
|
16 | +define('LSX_WETU_IMPORTER_URL', plugin_dir_url(__FILE__)); |
|
17 | +define('LSX_WETU_IMPORTER_VER', '1.3.3'); |
|
18 | 18 | |
19 | -register_activation_hook( LSX_WETU_IMPORTER_CORE, array( 'LSX_WETU_Importer', 'register_activation_hook' ) ); |
|
19 | +register_activation_hook(LSX_WETU_IMPORTER_CORE, array('LSX_WETU_Importer', 'register_activation_hook')); |
|
20 | 20 | |
21 | 21 | /* ======================= Below is the Plugin Class init ========================= */ |
22 | 22 | |
23 | -require_once LSX_WETU_IMPORTER_PATH . 'classes/class-lsx-wetu-importer.php'; |
|
23 | +require_once LSX_WETU_IMPORTER_PATH.'classes/class-lsx-wetu-importer.php'; |
@@ -9,87 +9,87 @@ discard block |
||
9 | 9 | |
10 | 10 | class LSX_WETU_Importer_Destination extends LSX_WETU_Importer { |
11 | 11 | |
12 | - /** |
|
13 | - * The url to list items from WETU |
|
14 | - * |
|
15 | - * @since 0.0.1 |
|
16 | - * |
|
17 | - * @var string |
|
18 | - */ |
|
19 | - public $tab_slug = 'destination'; |
|
20 | - |
|
21 | - /** |
|
22 | - * The url to list items from WETU |
|
23 | - * |
|
24 | - * @since 0.0.1 |
|
25 | - * |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - public $url = false; |
|
29 | - |
|
30 | - /** |
|
31 | - * The query string url to list items from WETU |
|
32 | - * |
|
33 | - * @since 0.0.1 |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public $url_qs = false; |
|
38 | - |
|
39 | - /** |
|
40 | - * Options |
|
41 | - * |
|
42 | - * @since 0.0.1 |
|
43 | - * |
|
44 | - * @var string |
|
45 | - */ |
|
46 | - public $options = false; |
|
47 | - |
|
48 | - /** |
|
49 | - * The fields you wish to import |
|
50 | - * |
|
51 | - * @since 0.0.1 |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
55 | - public $destination_options = false; |
|
56 | - |
|
57 | - /** |
|
58 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
59 | - * |
|
60 | - * @since 1.0.0 |
|
61 | - * |
|
62 | - * @access private |
|
63 | - */ |
|
64 | - public function __construct() { |
|
65 | - $this->set_variables(); |
|
66 | - } |
|
67 | - |
|
68 | - /** |
|
69 | - * Sets the variables used throughout the plugin. |
|
70 | - */ |
|
71 | - public function set_variables() { |
|
72 | - parent::set_variables(); |
|
73 | - $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
74 | - $this->url_qs = 'all=include'; |
|
75 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
76 | - |
|
77 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
78 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
79 | - } |
|
80 | - |
|
81 | - $destination_options = get_option( 'lsx_wetu_importer_destination_settings', false ); |
|
82 | - |
|
83 | - if ( false !== $destination_options ) { |
|
84 | - $this->destination_options = $destination_options; |
|
85 | - } |
|
86 | - } |
|
87 | - |
|
88 | - /** |
|
89 | - * Display the importer administration screen |
|
90 | - */ |
|
91 | - public function display_page() { |
|
92 | - ?> |
|
12 | + /** |
|
13 | + * The url to list items from WETU |
|
14 | + * |
|
15 | + * @since 0.0.1 |
|
16 | + * |
|
17 | + * @var string |
|
18 | + */ |
|
19 | + public $tab_slug = 'destination'; |
|
20 | + |
|
21 | + /** |
|
22 | + * The url to list items from WETU |
|
23 | + * |
|
24 | + * @since 0.0.1 |
|
25 | + * |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + public $url = false; |
|
29 | + |
|
30 | + /** |
|
31 | + * The query string url to list items from WETU |
|
32 | + * |
|
33 | + * @since 0.0.1 |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public $url_qs = false; |
|
38 | + |
|
39 | + /** |
|
40 | + * Options |
|
41 | + * |
|
42 | + * @since 0.0.1 |
|
43 | + * |
|
44 | + * @var string |
|
45 | + */ |
|
46 | + public $options = false; |
|
47 | + |
|
48 | + /** |
|
49 | + * The fields you wish to import |
|
50 | + * |
|
51 | + * @since 0.0.1 |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | + public $destination_options = false; |
|
56 | + |
|
57 | + /** |
|
58 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
59 | + * |
|
60 | + * @since 1.0.0 |
|
61 | + * |
|
62 | + * @access private |
|
63 | + */ |
|
64 | + public function __construct() { |
|
65 | + $this->set_variables(); |
|
66 | + } |
|
67 | + |
|
68 | + /** |
|
69 | + * Sets the variables used throughout the plugin. |
|
70 | + */ |
|
71 | + public function set_variables() { |
|
72 | + parent::set_variables(); |
|
73 | + $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
74 | + $this->url_qs = 'all=include'; |
|
75 | + $temp_options = get_option( '_lsx-to_settings', false ); |
|
76 | + |
|
77 | + if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
78 | + $this->options = $temp_options[ $this->plugin_slug ]; |
|
79 | + } |
|
80 | + |
|
81 | + $destination_options = get_option( 'lsx_wetu_importer_destination_settings', false ); |
|
82 | + |
|
83 | + if ( false !== $destination_options ) { |
|
84 | + $this->destination_options = $destination_options; |
|
85 | + } |
|
86 | + } |
|
87 | + |
|
88 | + /** |
|
89 | + * Display the importer administration screen |
|
90 | + */ |
|
91 | + public function display_page() { |
|
92 | + ?> |
|
93 | 93 | <div class="wrap"> |
94 | 94 | <div class="tablenav top"> |
95 | 95 | <div class="actions"> |
@@ -280,17 +280,17 @@ discard block |
||
280 | 280 | </div> |
281 | 281 | </div> |
282 | 282 | <?php |
283 | - } |
|
283 | + } |
|
284 | 284 | |
285 | - /** |
|
286 | - * Grab all the current destination posts via the lsx_wetu_id field. |
|
287 | - */ |
|
288 | - public function find_current_destination( $post_type = 'destination' ) { |
|
289 | - global $wpdb; |
|
290 | - $return = array(); |
|
285 | + /** |
|
286 | + * Grab all the current destination posts via the lsx_wetu_id field. |
|
287 | + */ |
|
288 | + public function find_current_destination( $post_type = 'destination' ) { |
|
289 | + global $wpdb; |
|
290 | + $return = array(); |
|
291 | 291 | |
292 | - // @codingStandardsIgnoreStart |
|
293 | - $current_destination = $wpdb->get_results(" |
|
292 | + // @codingStandardsIgnoreStart |
|
293 | + $current_destination = $wpdb->get_results(" |
|
294 | 294 | SELECT key1.post_id,key1.meta_value,key2.post_title as name,key2.post_date as last_modified |
295 | 295 | FROM {$wpdb->postmeta} key1 |
296 | 296 | |
@@ -302,151 +302,151 @@ discard block |
||
302 | 302 | |
303 | 303 | LIMIT 0,1000 |
304 | 304 | "); |
305 | - // @codingStandardsIgnoreEnd |
|
306 | - |
|
307 | - if ( null !== $current_destination && ! empty( $current_destination ) ) { |
|
308 | - foreach ( $current_destination as $accom ) { |
|
309 | - $return[ $accom->meta_value ] = $accom; |
|
310 | - } |
|
311 | - } |
|
312 | - |
|
313 | - return $return; |
|
314 | - } |
|
315 | - |
|
316 | - /** |
|
317 | - * Run through the accommodation grabbed from the DB. |
|
318 | - */ |
|
319 | - public function process_ajax_search() { |
|
320 | - $return = false; |
|
321 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
322 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] ) { |
|
323 | - |
|
324 | - $searched_items = false; |
|
325 | - if ( isset( $_POST['keyword'] ) ) { |
|
326 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
327 | - } else { |
|
328 | - $keyphrases = array( 0 ); |
|
329 | - } |
|
330 | - |
|
331 | - if ( ! is_array( $keyphrases ) ) { |
|
332 | - $keyphrases = array( $keyphrases ); |
|
333 | - } |
|
334 | - foreach ( $keyphrases as &$keyword ) { |
|
335 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
336 | - } |
|
337 | - |
|
338 | - $post_status = false; |
|
339 | - |
|
340 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
341 | - $post_status = 'publish'; |
|
342 | - } |
|
343 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
344 | - $post_status = 'pending'; |
|
345 | - } |
|
346 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
347 | - $post_status = 'draft'; |
|
348 | - } |
|
349 | - if ( in_array( 'import', $keyphrases ) ) { |
|
350 | - $post_status = 'import'; |
|
351 | - } |
|
352 | - |
|
353 | - // If there is a post status use it. |
|
354 | - if ( false !== $post_status ) { |
|
355 | - |
|
356 | - $accommodation = array(); |
|
357 | - $current_accommodation = $this->find_current_accommodation( 'destination' ); |
|
358 | - if ( ! empty( $current_accommodation ) ) { |
|
359 | - foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
360 | - $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
361 | - } |
|
362 | - } |
|
363 | - |
|
364 | - // Run through each accommodation and use it. |
|
365 | - if ( ! empty( $accommodation ) ) { |
|
366 | - foreach ( $accommodation as $row_key => $row ) { |
|
367 | - $row['post_title'] = $row['name']; |
|
368 | - if ( 'import' === $post_status ) { |
|
369 | - if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
370 | - $current_status = get_post_status( $row['post_id'] ); |
|
371 | - if ( 'draft' === $current_status ) { |
|
372 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
373 | - } |
|
374 | - } else { |
|
375 | - continue; |
|
376 | - } |
|
377 | - } else { |
|
378 | - if ( 0 === $row['post_id'] ) { |
|
379 | - continue; |
|
380 | - } else { |
|
381 | - $current_status = get_post_status( $row['post_id'] ); |
|
382 | - |
|
383 | - if ( $current_status !== $post_status ) { |
|
384 | - continue; |
|
385 | - } |
|
386 | - } |
|
387 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
388 | - } |
|
389 | - } |
|
390 | - } |
|
391 | - } else { |
|
392 | - |
|
393 | - $key_string_search = implode( '+', $keyphrases ); |
|
394 | - $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search . '/?all=include' ); |
|
395 | - |
|
396 | - if ( ! is_wp_error( $search_data ) || ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
397 | - $search_data = json_decode( $search_data['body'], true ); |
|
398 | - foreach ( $search_data as $sdata_key => $sdata ) { |
|
399 | - |
|
400 | - if ( isset( $sdata['type'] ) && 'Destination' !== trim( $sdata['type'] ) && 'Area' !== trim( $sdata['type'] ) ) { |
|
401 | - continue; |
|
402 | - } |
|
403 | - |
|
404 | - $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
405 | - if ( false === $temp_id ) { |
|
406 | - $sdata['post_id'] = 0; |
|
407 | - $sdata['post_title'] = $sdata['name']; |
|
408 | - } else { |
|
409 | - $sdata['post_id'] = $temp_id; |
|
410 | - $sdata['post_title'] = get_the_title( $temp_id ); |
|
411 | - } |
|
412 | - $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
413 | - } |
|
414 | - } |
|
415 | - } |
|
416 | - |
|
417 | - if ( false !== $searched_items ) { |
|
418 | - $return = implode( $searched_items ); |
|
419 | - } |
|
420 | - print_r( $return ); |
|
421 | - } else { |
|
422 | - echo esc_attr( 'None found' ); |
|
423 | - } |
|
424 | - die(); |
|
425 | - } |
|
426 | - |
|
427 | - public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
428 | - $row_item = array( |
|
429 | - 'id' => $cs_key, |
|
430 | - 'type' => 'Destination', |
|
431 | - 'name' => get_the_title( $ccs_id ), |
|
432 | - 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
433 | - 'post_id' => $ccs_id, |
|
434 | - ); |
|
435 | - return $row_item; |
|
436 | - } |
|
437 | - |
|
438 | - /** |
|
439 | - * Formats the row for output on the screen. |
|
440 | - */ |
|
441 | - public function format_row( $row = false, $row_key = '' ) { |
|
442 | - if ( false !== $row ) { |
|
443 | - |
|
444 | - $status = 'import'; |
|
445 | - if ( 0 !== $row['post_id'] ) { |
|
446 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
447 | - } |
|
448 | - |
|
449 | - $row_html = ' |
|
305 | + // @codingStandardsIgnoreEnd |
|
306 | + |
|
307 | + if ( null !== $current_destination && ! empty( $current_destination ) ) { |
|
308 | + foreach ( $current_destination as $accom ) { |
|
309 | + $return[ $accom->meta_value ] = $accom; |
|
310 | + } |
|
311 | + } |
|
312 | + |
|
313 | + return $return; |
|
314 | + } |
|
315 | + |
|
316 | + /** |
|
317 | + * Run through the accommodation grabbed from the DB. |
|
318 | + */ |
|
319 | + public function process_ajax_search() { |
|
320 | + $return = false; |
|
321 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
322 | + if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] ) { |
|
323 | + |
|
324 | + $searched_items = false; |
|
325 | + if ( isset( $_POST['keyword'] ) ) { |
|
326 | + $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
327 | + } else { |
|
328 | + $keyphrases = array( 0 ); |
|
329 | + } |
|
330 | + |
|
331 | + if ( ! is_array( $keyphrases ) ) { |
|
332 | + $keyphrases = array( $keyphrases ); |
|
333 | + } |
|
334 | + foreach ( $keyphrases as &$keyword ) { |
|
335 | + $keyword = ltrim( rtrim( $keyword ) ); |
|
336 | + } |
|
337 | + |
|
338 | + $post_status = false; |
|
339 | + |
|
340 | + if ( in_array( 'publish', $keyphrases ) ) { |
|
341 | + $post_status = 'publish'; |
|
342 | + } |
|
343 | + if ( in_array( 'pending', $keyphrases ) ) { |
|
344 | + $post_status = 'pending'; |
|
345 | + } |
|
346 | + if ( in_array( 'draft', $keyphrases ) ) { |
|
347 | + $post_status = 'draft'; |
|
348 | + } |
|
349 | + if ( in_array( 'import', $keyphrases ) ) { |
|
350 | + $post_status = 'import'; |
|
351 | + } |
|
352 | + |
|
353 | + // If there is a post status use it. |
|
354 | + if ( false !== $post_status ) { |
|
355 | + |
|
356 | + $accommodation = array(); |
|
357 | + $current_accommodation = $this->find_current_accommodation( 'destination' ); |
|
358 | + if ( ! empty( $current_accommodation ) ) { |
|
359 | + foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
360 | + $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
361 | + } |
|
362 | + } |
|
363 | + |
|
364 | + // Run through each accommodation and use it. |
|
365 | + if ( ! empty( $accommodation ) ) { |
|
366 | + foreach ( $accommodation as $row_key => $row ) { |
|
367 | + $row['post_title'] = $row['name']; |
|
368 | + if ( 'import' === $post_status ) { |
|
369 | + if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
370 | + $current_status = get_post_status( $row['post_id'] ); |
|
371 | + if ( 'draft' === $current_status ) { |
|
372 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
373 | + } |
|
374 | + } else { |
|
375 | + continue; |
|
376 | + } |
|
377 | + } else { |
|
378 | + if ( 0 === $row['post_id'] ) { |
|
379 | + continue; |
|
380 | + } else { |
|
381 | + $current_status = get_post_status( $row['post_id'] ); |
|
382 | + |
|
383 | + if ( $current_status !== $post_status ) { |
|
384 | + continue; |
|
385 | + } |
|
386 | + } |
|
387 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
388 | + } |
|
389 | + } |
|
390 | + } |
|
391 | + } else { |
|
392 | + |
|
393 | + $key_string_search = implode( '+', $keyphrases ); |
|
394 | + $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search . '/?all=include' ); |
|
395 | + |
|
396 | + if ( ! is_wp_error( $search_data ) || ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
397 | + $search_data = json_decode( $search_data['body'], true ); |
|
398 | + foreach ( $search_data as $sdata_key => $sdata ) { |
|
399 | + |
|
400 | + if ( isset( $sdata['type'] ) && 'Destination' !== trim( $sdata['type'] ) && 'Area' !== trim( $sdata['type'] ) ) { |
|
401 | + continue; |
|
402 | + } |
|
403 | + |
|
404 | + $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
405 | + if ( false === $temp_id ) { |
|
406 | + $sdata['post_id'] = 0; |
|
407 | + $sdata['post_title'] = $sdata['name']; |
|
408 | + } else { |
|
409 | + $sdata['post_id'] = $temp_id; |
|
410 | + $sdata['post_title'] = get_the_title( $temp_id ); |
|
411 | + } |
|
412 | + $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
413 | + } |
|
414 | + } |
|
415 | + } |
|
416 | + |
|
417 | + if ( false !== $searched_items ) { |
|
418 | + $return = implode( $searched_items ); |
|
419 | + } |
|
420 | + print_r( $return ); |
|
421 | + } else { |
|
422 | + echo esc_attr( 'None found' ); |
|
423 | + } |
|
424 | + die(); |
|
425 | + } |
|
426 | + |
|
427 | + public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
428 | + $row_item = array( |
|
429 | + 'id' => $cs_key, |
|
430 | + 'type' => 'Destination', |
|
431 | + 'name' => get_the_title( $ccs_id ), |
|
432 | + 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
433 | + 'post_id' => $ccs_id, |
|
434 | + ); |
|
435 | + return $row_item; |
|
436 | + } |
|
437 | + |
|
438 | + /** |
|
439 | + * Formats the row for output on the screen. |
|
440 | + */ |
|
441 | + public function format_row( $row = false, $row_key = '' ) { |
|
442 | + if ( false !== $row ) { |
|
443 | + |
|
444 | + $status = 'import'; |
|
445 | + if ( 0 !== $row['post_id'] ) { |
|
446 | + $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
447 | + } |
|
448 | + |
|
449 | + $row_html = ' |
|
450 | 450 | <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
451 | 451 | <th class="check-column" scope="row"> |
452 | 452 | <label for="cb-select-' . $row['id'] . '" class="screen-reader-text">' . $row['name'] . '</label> |
@@ -465,273 +465,273 @@ discard block |
||
465 | 465 | ' . $row['id'] . ' |
466 | 466 | </td> |
467 | 467 | </tr>'; |
468 | - return $row_html; |
|
469 | - } |
|
470 | - } |
|
471 | - |
|
472 | - /** |
|
473 | - * Connect to wetu |
|
474 | - */ |
|
475 | - public function process_ajax_import() { |
|
476 | - $return = false; |
|
477 | - |
|
478 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
479 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
480 | - |
|
481 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
482 | - |
|
483 | - if ( isset( $_POST['post_id'] ) ) { |
|
484 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
485 | - $this->current_post = get_post( $post_id ); |
|
486 | - } else { |
|
487 | - $post_id = 0; |
|
488 | - } |
|
489 | - |
|
490 | - if ( isset( $_POST['team_members'] ) ) { |
|
491 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
492 | - } else { |
|
493 | - $team_members = false; |
|
494 | - } |
|
495 | - |
|
496 | - $safari_brands = false; |
|
497 | - |
|
498 | - delete_option( 'lsx_wetu_importer_destination_settings' ); |
|
499 | - |
|
500 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
501 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
502 | - add_option( 'lsx_wetu_importer_destination_settings', $content ); |
|
503 | - } else { |
|
504 | - $content = false; |
|
505 | - } |
|
506 | - |
|
507 | - $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
508 | - |
|
509 | - if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
510 | - $adata = json_decode( $jdata['body'], true ); |
|
511 | - $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
512 | - $this->remove_from_queue( $return ); |
|
513 | - $this->format_completed_row( $return ); |
|
514 | - } else { |
|
515 | - $this->format_error( esc_html__( 'There was a problem importing your destination, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
516 | - } |
|
517 | - } |
|
518 | - die(); |
|
519 | - } |
|
520 | - |
|
521 | - /** |
|
522 | - * Saves the queue to the option. |
|
523 | - */ |
|
524 | - public function remove_from_queue( $id ) { |
|
525 | - if ( ! empty( $this->queued_imports ) ) { |
|
526 | - $key = array_search( $id, $this->queued_imports ); |
|
527 | - if ( false !== $key ) { |
|
528 | - unset( $this->queued_imports[ $key ] ); |
|
529 | - |
|
530 | - delete_option( 'lsx_wetu_importer_que' ); |
|
531 | - update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
532 | - } |
|
533 | - } |
|
534 | - } |
|
535 | - |
|
536 | - /** |
|
537 | - * Connect to wetu |
|
538 | - */ |
|
539 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
540 | - if ( 'Destination' === trim( $data[0]['type'] ) || 'Area' === trim( $data[0]['type'] ) ) { |
|
541 | - $post_name = ''; |
|
542 | - $data_post_content = ''; |
|
543 | - $data_post_excerpt = ''; |
|
544 | - |
|
545 | - $post = array( |
|
546 | - 'post_type' => 'destination', |
|
547 | - ); |
|
548 | - |
|
549 | - if ( ! empty( $importable_content ) && in_array( 'country', $importable_content ) ) { |
|
550 | - $parent = $this->check_for_parent( $data ); |
|
551 | - if ( false !== $parent ) { |
|
552 | - $post['post_parent'] = $parent; |
|
553 | - } |
|
554 | - } |
|
555 | - |
|
556 | - // Set the post_content. |
|
557 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
558 | - if ( isset( $data[0]['content']['general_description'] ) ) { |
|
559 | - |
|
560 | - if ( in_array( 'strip_tags', $importable_content ) ) { |
|
561 | - $post['post_content'] = wp_strip_all_tags( $data[0]['content']['general_description'] ); |
|
562 | - } else { |
|
563 | - $post['post_content'] = $data[0]['content']['general_description']; |
|
564 | - } |
|
565 | - } |
|
566 | - } |
|
567 | - |
|
568 | - if ( false !== $id && '0' !== $id ) { |
|
569 | - $post['ID'] = $id; |
|
570 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_destination_title'] && isset( $data[0]['name'] ) ) { |
|
571 | - $post['post_title'] = $data[0]['name']; |
|
572 | - $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
573 | - } |
|
574 | - $post['post_status'] = 'publish'; |
|
575 | - |
|
576 | - $id = wp_update_post( $post ); |
|
577 | - $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
578 | - update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
579 | - } else { |
|
580 | - // Set the name. |
|
581 | - if ( isset( $data[0]['name'] ) ) { |
|
582 | - $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
583 | - } |
|
584 | - |
|
585 | - $post['post_name'] = $post_name; |
|
586 | - $post['post_title'] = $data[0]['name']; |
|
587 | - $post['post_status'] = 'publish'; |
|
588 | - $id = wp_insert_post( $post ); |
|
589 | - |
|
590 | - // Save the WETU ID and the Last date it was modified. |
|
591 | - if ( false !== $id ) { |
|
592 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
593 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
594 | - } |
|
595 | - } |
|
596 | - |
|
597 | - $this->find_attachments( $id ); |
|
598 | - |
|
599 | - // Set the team member if it is there. |
|
600 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
601 | - $this->set_team_member( $id, $team_members ); |
|
602 | - } |
|
603 | - |
|
604 | - $this->set_map_data( $data, $id, 9 ); |
|
605 | - |
|
606 | - // Set the Room Data. |
|
607 | - if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
608 | - $this->set_video_data( $data, $id ); |
|
609 | - } |
|
610 | - |
|
611 | - // Set the Electricity. |
|
612 | - if ( false !== $importable_content && in_array( 'electricity', $importable_content ) ) { |
|
613 | - $this->set_travel_info( $data, $id, 'electricity', $importable_content ); |
|
614 | - } |
|
615 | - // Set the cuisine. |
|
616 | - if ( false !== $importable_content && in_array( 'cuisine', $importable_content ) ) { |
|
617 | - $this->set_travel_info( $data, $id, 'cuisine', $importable_content ); |
|
618 | - } |
|
619 | - // Set the banking. |
|
620 | - if ( false !== $importable_content && in_array( 'banking', $importable_content ) ) { |
|
621 | - $this->set_travel_info( $data, $id, 'banking', $importable_content ); |
|
622 | - } |
|
623 | - // Set the transport. |
|
624 | - if ( false !== $importable_content && in_array( 'transport', $importable_content ) ) { |
|
625 | - $this->set_travel_info( $data, $id, 'transport', $importable_content ); |
|
626 | - } |
|
627 | - // Set the dress. |
|
628 | - if ( false !== $importable_content && in_array( 'dress', $importable_content ) ) { |
|
629 | - $this->set_travel_info( $data, $id, 'dress', $importable_content ); |
|
630 | - } |
|
631 | - // Set the climate. |
|
632 | - if ( false !== $importable_content && in_array( 'climate', $importable_content ) ) { |
|
633 | - $this->set_travel_info( $data, $id, 'climate', $importable_content ); |
|
634 | - } |
|
635 | - // Set the Health. |
|
636 | - if ( false !== $importable_content && in_array( 'health', $importable_content ) ) { |
|
637 | - $this->set_travel_info( $data, $id, 'health', $importable_content ); |
|
638 | - } |
|
639 | - // Set the Safety. |
|
640 | - if ( false !== $importable_content && in_array( 'safety', $importable_content ) ) { |
|
641 | - $this->set_travel_info( $data, $id, 'safety', $importable_content ); |
|
642 | - } |
|
643 | - // Set the Visa. |
|
644 | - if ( false !== $importable_content && in_array( 'visa', $importable_content ) ) { |
|
645 | - $this->set_travel_info( $data, $id, 'visa', $importable_content ); |
|
646 | - } |
|
647 | - // Set the General. |
|
648 | - if ( false !== $importable_content && in_array( 'additional_info', $importable_content ) ) { |
|
649 | - $this->set_travel_info( $data, $id, 'additional_info', $importable_content ); |
|
650 | - } |
|
651 | - |
|
652 | - // Setup some default for use in the import. |
|
653 | - if ( false !== $importable_content && (in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content )) ) { |
|
654 | - $this->find_attachments( $id ); |
|
655 | - |
|
656 | - // Set the featured image. |
|
657 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
658 | - $this->set_featured_image( $data, $id ); |
|
659 | - } |
|
660 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
661 | - $this->set_banner_image( $data, $id, $importable_content ); |
|
662 | - } |
|
663 | - // Import the main gallery. |
|
664 | - if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
665 | - $this->create_main_gallery( $data, $id ); |
|
666 | - } |
|
667 | - } |
|
668 | - |
|
669 | - // Set the continent. |
|
670 | - if ( false !== $importable_content && in_array( 'continent', $importable_content ) ) { |
|
671 | - $this->set_continent( $data, $id ); |
|
672 | - } |
|
673 | - } |
|
674 | - |
|
675 | - return $id; |
|
676 | - } |
|
677 | - |
|
678 | - /** |
|
679 | - * Saves the room data |
|
680 | - */ |
|
681 | - public function set_travel_info( $data, $id, $meta_key, $importable = array( 'none' ) ) { |
|
682 | - if ( ! empty( $data[0]['travel_information'] ) && isset( $data[0]['travel_information'][ $meta_key ] ) ) { |
|
683 | - $content = $data[0]['travel_information'][ $meta_key ]; |
|
684 | - |
|
685 | - if ( in_array( 'strip_tags', $importable ) ) { |
|
686 | - $content = strip_tags( $content ); |
|
687 | - } |
|
688 | - |
|
689 | - $this->save_custom_field( $content, $meta_key, $id ); |
|
690 | - } |
|
691 | - } |
|
692 | - |
|
693 | - /** |
|
694 | - * Set the Travel Style |
|
695 | - */ |
|
696 | - public function set_continent( $data, $id ) { |
|
697 | - |
|
698 | - if ( isset( $data[0]['position']['country'] ) && $data[0]['map_object_id'] === $data[0]['position']['country_content_entity_id'] ) { |
|
699 | - // Get the continent code. |
|
700 | - $country_code = to_country_data( $data[0]['position']['country'], false ); |
|
701 | - $continent_code = to_continent_code( $country_code ); |
|
702 | - $continent_label = to_continent_label( $continent_code ); |
|
703 | - |
|
704 | - if ( ! empty( tour_operator()->options['display']['enable_search_region_filter'] ) ) { |
|
705 | - $continent_label = to_continent_region_label( $country_code ); |
|
706 | - } |
|
707 | - |
|
708 | - if ( '' !== $continent_label ) { |
|
709 | - $term = term_exists( trim( $continent_label ), 'continent' ); |
|
710 | - if ( ! $term ) { |
|
711 | - $term = wp_insert_term( trim( $continent_label ), 'continent' ); |
|
712 | - |
|
713 | - if ( is_wp_error( $term ) ) { |
|
714 | - echo wp_kses_post( $term->get_error_message() ); |
|
715 | - } |
|
716 | - } else { |
|
717 | - wp_set_object_terms( $id, sanitize_title( $continent_label ), 'continent', true ); |
|
718 | - } |
|
719 | - } |
|
720 | - } |
|
721 | - } |
|
722 | - |
|
723 | - /** |
|
724 | - * Save the list of Accommodation into an option |
|
725 | - */ |
|
726 | - public function check_for_parent( $data = array() ) { |
|
727 | - global $wpdb; |
|
728 | - |
|
729 | - if ( $data[0]['position']['country_content_entity_id'] !== $data[0]['position']['destination_content_entity_id'] ) { |
|
730 | - $result = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'lsx_wetu_id' AND meta_value = '%s'", array( $data[0]['position']['country_content_entity_id'] ) ) ); |
|
731 | - if ( ! empty( $result ) && '' !== $result && false !== $result ) { |
|
732 | - return $result; |
|
733 | - } |
|
734 | - } |
|
735 | - return false; |
|
736 | - } |
|
468 | + return $row_html; |
|
469 | + } |
|
470 | + } |
|
471 | + |
|
472 | + /** |
|
473 | + * Connect to wetu |
|
474 | + */ |
|
475 | + public function process_ajax_import() { |
|
476 | + $return = false; |
|
477 | + |
|
478 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
479 | + if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
480 | + |
|
481 | + $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
482 | + |
|
483 | + if ( isset( $_POST['post_id'] ) ) { |
|
484 | + $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
485 | + $this->current_post = get_post( $post_id ); |
|
486 | + } else { |
|
487 | + $post_id = 0; |
|
488 | + } |
|
489 | + |
|
490 | + if ( isset( $_POST['team_members'] ) ) { |
|
491 | + $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
492 | + } else { |
|
493 | + $team_members = false; |
|
494 | + } |
|
495 | + |
|
496 | + $safari_brands = false; |
|
497 | + |
|
498 | + delete_option( 'lsx_wetu_importer_destination_settings' ); |
|
499 | + |
|
500 | + if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
501 | + $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
502 | + add_option( 'lsx_wetu_importer_destination_settings', $content ); |
|
503 | + } else { |
|
504 | + $content = false; |
|
505 | + } |
|
506 | + |
|
507 | + $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
508 | + |
|
509 | + if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
510 | + $adata = json_decode( $jdata['body'], true ); |
|
511 | + $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
512 | + $this->remove_from_queue( $return ); |
|
513 | + $this->format_completed_row( $return ); |
|
514 | + } else { |
|
515 | + $this->format_error( esc_html__( 'There was a problem importing your destination, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
516 | + } |
|
517 | + } |
|
518 | + die(); |
|
519 | + } |
|
520 | + |
|
521 | + /** |
|
522 | + * Saves the queue to the option. |
|
523 | + */ |
|
524 | + public function remove_from_queue( $id ) { |
|
525 | + if ( ! empty( $this->queued_imports ) ) { |
|
526 | + $key = array_search( $id, $this->queued_imports ); |
|
527 | + if ( false !== $key ) { |
|
528 | + unset( $this->queued_imports[ $key ] ); |
|
529 | + |
|
530 | + delete_option( 'lsx_wetu_importer_que' ); |
|
531 | + update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
532 | + } |
|
533 | + } |
|
534 | + } |
|
535 | + |
|
536 | + /** |
|
537 | + * Connect to wetu |
|
538 | + */ |
|
539 | + public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
540 | + if ( 'Destination' === trim( $data[0]['type'] ) || 'Area' === trim( $data[0]['type'] ) ) { |
|
541 | + $post_name = ''; |
|
542 | + $data_post_content = ''; |
|
543 | + $data_post_excerpt = ''; |
|
544 | + |
|
545 | + $post = array( |
|
546 | + 'post_type' => 'destination', |
|
547 | + ); |
|
548 | + |
|
549 | + if ( ! empty( $importable_content ) && in_array( 'country', $importable_content ) ) { |
|
550 | + $parent = $this->check_for_parent( $data ); |
|
551 | + if ( false !== $parent ) { |
|
552 | + $post['post_parent'] = $parent; |
|
553 | + } |
|
554 | + } |
|
555 | + |
|
556 | + // Set the post_content. |
|
557 | + if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
558 | + if ( isset( $data[0]['content']['general_description'] ) ) { |
|
559 | + |
|
560 | + if ( in_array( 'strip_tags', $importable_content ) ) { |
|
561 | + $post['post_content'] = wp_strip_all_tags( $data[0]['content']['general_description'] ); |
|
562 | + } else { |
|
563 | + $post['post_content'] = $data[0]['content']['general_description']; |
|
564 | + } |
|
565 | + } |
|
566 | + } |
|
567 | + |
|
568 | + if ( false !== $id && '0' !== $id ) { |
|
569 | + $post['ID'] = $id; |
|
570 | + if ( isset( $this->options ) && 'on' !== $this->options['disable_destination_title'] && isset( $data[0]['name'] ) ) { |
|
571 | + $post['post_title'] = $data[0]['name']; |
|
572 | + $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
573 | + } |
|
574 | + $post['post_status'] = 'publish'; |
|
575 | + |
|
576 | + $id = wp_update_post( $post ); |
|
577 | + $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
578 | + update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
579 | + } else { |
|
580 | + // Set the name. |
|
581 | + if ( isset( $data[0]['name'] ) ) { |
|
582 | + $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
583 | + } |
|
584 | + |
|
585 | + $post['post_name'] = $post_name; |
|
586 | + $post['post_title'] = $data[0]['name']; |
|
587 | + $post['post_status'] = 'publish'; |
|
588 | + $id = wp_insert_post( $post ); |
|
589 | + |
|
590 | + // Save the WETU ID and the Last date it was modified. |
|
591 | + if ( false !== $id ) { |
|
592 | + add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
593 | + add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
594 | + } |
|
595 | + } |
|
596 | + |
|
597 | + $this->find_attachments( $id ); |
|
598 | + |
|
599 | + // Set the team member if it is there. |
|
600 | + if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
601 | + $this->set_team_member( $id, $team_members ); |
|
602 | + } |
|
603 | + |
|
604 | + $this->set_map_data( $data, $id, 9 ); |
|
605 | + |
|
606 | + // Set the Room Data. |
|
607 | + if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
608 | + $this->set_video_data( $data, $id ); |
|
609 | + } |
|
610 | + |
|
611 | + // Set the Electricity. |
|
612 | + if ( false !== $importable_content && in_array( 'electricity', $importable_content ) ) { |
|
613 | + $this->set_travel_info( $data, $id, 'electricity', $importable_content ); |
|
614 | + } |
|
615 | + // Set the cuisine. |
|
616 | + if ( false !== $importable_content && in_array( 'cuisine', $importable_content ) ) { |
|
617 | + $this->set_travel_info( $data, $id, 'cuisine', $importable_content ); |
|
618 | + } |
|
619 | + // Set the banking. |
|
620 | + if ( false !== $importable_content && in_array( 'banking', $importable_content ) ) { |
|
621 | + $this->set_travel_info( $data, $id, 'banking', $importable_content ); |
|
622 | + } |
|
623 | + // Set the transport. |
|
624 | + if ( false !== $importable_content && in_array( 'transport', $importable_content ) ) { |
|
625 | + $this->set_travel_info( $data, $id, 'transport', $importable_content ); |
|
626 | + } |
|
627 | + // Set the dress. |
|
628 | + if ( false !== $importable_content && in_array( 'dress', $importable_content ) ) { |
|
629 | + $this->set_travel_info( $data, $id, 'dress', $importable_content ); |
|
630 | + } |
|
631 | + // Set the climate. |
|
632 | + if ( false !== $importable_content && in_array( 'climate', $importable_content ) ) { |
|
633 | + $this->set_travel_info( $data, $id, 'climate', $importable_content ); |
|
634 | + } |
|
635 | + // Set the Health. |
|
636 | + if ( false !== $importable_content && in_array( 'health', $importable_content ) ) { |
|
637 | + $this->set_travel_info( $data, $id, 'health', $importable_content ); |
|
638 | + } |
|
639 | + // Set the Safety. |
|
640 | + if ( false !== $importable_content && in_array( 'safety', $importable_content ) ) { |
|
641 | + $this->set_travel_info( $data, $id, 'safety', $importable_content ); |
|
642 | + } |
|
643 | + // Set the Visa. |
|
644 | + if ( false !== $importable_content && in_array( 'visa', $importable_content ) ) { |
|
645 | + $this->set_travel_info( $data, $id, 'visa', $importable_content ); |
|
646 | + } |
|
647 | + // Set the General. |
|
648 | + if ( false !== $importable_content && in_array( 'additional_info', $importable_content ) ) { |
|
649 | + $this->set_travel_info( $data, $id, 'additional_info', $importable_content ); |
|
650 | + } |
|
651 | + |
|
652 | + // Setup some default for use in the import. |
|
653 | + if ( false !== $importable_content && (in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content )) ) { |
|
654 | + $this->find_attachments( $id ); |
|
655 | + |
|
656 | + // Set the featured image. |
|
657 | + if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
658 | + $this->set_featured_image( $data, $id ); |
|
659 | + } |
|
660 | + if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
661 | + $this->set_banner_image( $data, $id, $importable_content ); |
|
662 | + } |
|
663 | + // Import the main gallery. |
|
664 | + if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
665 | + $this->create_main_gallery( $data, $id ); |
|
666 | + } |
|
667 | + } |
|
668 | + |
|
669 | + // Set the continent. |
|
670 | + if ( false !== $importable_content && in_array( 'continent', $importable_content ) ) { |
|
671 | + $this->set_continent( $data, $id ); |
|
672 | + } |
|
673 | + } |
|
674 | + |
|
675 | + return $id; |
|
676 | + } |
|
677 | + |
|
678 | + /** |
|
679 | + * Saves the room data |
|
680 | + */ |
|
681 | + public function set_travel_info( $data, $id, $meta_key, $importable = array( 'none' ) ) { |
|
682 | + if ( ! empty( $data[0]['travel_information'] ) && isset( $data[0]['travel_information'][ $meta_key ] ) ) { |
|
683 | + $content = $data[0]['travel_information'][ $meta_key ]; |
|
684 | + |
|
685 | + if ( in_array( 'strip_tags', $importable ) ) { |
|
686 | + $content = strip_tags( $content ); |
|
687 | + } |
|
688 | + |
|
689 | + $this->save_custom_field( $content, $meta_key, $id ); |
|
690 | + } |
|
691 | + } |
|
692 | + |
|
693 | + /** |
|
694 | + * Set the Travel Style |
|
695 | + */ |
|
696 | + public function set_continent( $data, $id ) { |
|
697 | + |
|
698 | + if ( isset( $data[0]['position']['country'] ) && $data[0]['map_object_id'] === $data[0]['position']['country_content_entity_id'] ) { |
|
699 | + // Get the continent code. |
|
700 | + $country_code = to_country_data( $data[0]['position']['country'], false ); |
|
701 | + $continent_code = to_continent_code( $country_code ); |
|
702 | + $continent_label = to_continent_label( $continent_code ); |
|
703 | + |
|
704 | + if ( ! empty( tour_operator()->options['display']['enable_search_region_filter'] ) ) { |
|
705 | + $continent_label = to_continent_region_label( $country_code ); |
|
706 | + } |
|
707 | + |
|
708 | + if ( '' !== $continent_label ) { |
|
709 | + $term = term_exists( trim( $continent_label ), 'continent' ); |
|
710 | + if ( ! $term ) { |
|
711 | + $term = wp_insert_term( trim( $continent_label ), 'continent' ); |
|
712 | + |
|
713 | + if ( is_wp_error( $term ) ) { |
|
714 | + echo wp_kses_post( $term->get_error_message() ); |
|
715 | + } |
|
716 | + } else { |
|
717 | + wp_set_object_terms( $id, sanitize_title( $continent_label ), 'continent', true ); |
|
718 | + } |
|
719 | + } |
|
720 | + } |
|
721 | + } |
|
722 | + |
|
723 | + /** |
|
724 | + * Save the list of Accommodation into an option |
|
725 | + */ |
|
726 | + public function check_for_parent( $data = array() ) { |
|
727 | + global $wpdb; |
|
728 | + |
|
729 | + if ( $data[0]['position']['country_content_entity_id'] !== $data[0]['position']['destination_content_entity_id'] ) { |
|
730 | + $result = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'lsx_wetu_id' AND meta_value = '%s'", array( $data[0]['position']['country_content_entity_id'] ) ) ); |
|
731 | + if ( ! empty( $result ) && '' !== $result && false !== $result ) { |
|
732 | + return $result; |
|
733 | + } |
|
734 | + } |
|
735 | + return false; |
|
736 | + } |
|
737 | 737 | } |
@@ -70,17 +70,17 @@ discard block |
||
70 | 70 | */ |
71 | 71 | public function set_variables() { |
72 | 72 | parent::set_variables(); |
73 | - $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
73 | + $this->url = 'https://wetu.com/API/Pins/'.$this->api_key; |
|
74 | 74 | $this->url_qs = 'all=include'; |
75 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
75 | + $temp_options = get_option('_lsx-to_settings', false); |
|
76 | 76 | |
77 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
78 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
77 | + if (false !== $temp_options && isset($temp_options[$this->plugin_slug]) && !empty($temp_options[$this->plugin_slug])) { |
|
78 | + $this->options = $temp_options[$this->plugin_slug]; |
|
79 | 79 | } |
80 | 80 | |
81 | - $destination_options = get_option( 'lsx_wetu_importer_destination_settings', false ); |
|
81 | + $destination_options = get_option('lsx_wetu_importer_destination_settings', false); |
|
82 | 82 | |
83 | - if ( false !== $destination_options ) { |
|
83 | + if (false !== $destination_options) { |
|
84 | 84 | $this->destination_options = $destination_options; |
85 | 85 | } |
86 | 86 | } |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | </div> |
99 | 99 | |
100 | 100 | <form method="get" action="" id="posts-filter"> |
101 | - <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr( $this->tab_slug ); ?>"/> |
|
101 | + <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr($this->tab_slug); ?>"/> |
|
102 | 102 | |
103 | 103 | <table class="wp-list-table widefat fixed posts"> |
104 | 104 | <?php $this->table_header(); ?> |
@@ -107,11 +107,11 @@ discard block |
||
107 | 107 | <tr class="post-0 type-tour status-none" id="post-0"> |
108 | 108 | <th class="check-column" scope="row"> |
109 | 109 | <label for="cb-select-0" |
110 | - class="screen-reader-text"><?php esc_html_e( 'Enter a title to search for and press enter', 'lsx-wetu-importer' ); ?></label> |
|
110 | + class="screen-reader-text"><?php esc_html_e('Enter a title to search for and press enter', 'lsx-wetu-importer'); ?></label> |
|
111 | 111 | </th> |
112 | 112 | <td class="post-title page-title column-title"> |
113 | 113 | <strong> |
114 | - <?php esc_html_e( 'Enter a title to search for', 'lsx-wetu-importer' ); ?> |
|
114 | + <?php esc_html_e('Enter a title to search for', 'lsx-wetu-importer'); ?> |
|
115 | 115 | </strong> |
116 | 116 | </td> |
117 | 117 | <td class="date column-date"> |
@@ -126,9 +126,9 @@ discard block |
||
126 | 126 | </table> |
127 | 127 | |
128 | 128 | <p><input class="button button-primary add" type="button" |
129 | - value="<?php esc_html_e( 'Add to List', 'lsx-wetu-importer' ); ?>"/> |
|
129 | + value="<?php esc_html_e('Add to List', 'lsx-wetu-importer'); ?>"/> |
|
130 | 130 | <input class="button button-primary clear" type="button" |
131 | - value="<?php esc_html_e( 'Clear', 'lsx-wetu-importer' ); ?>"/> |
|
131 | + value="<?php esc_html_e('Clear', 'lsx-wetu-importer'); ?>"/> |
|
132 | 132 | </p> |
133 | 133 | </form> |
134 | 134 | |
@@ -138,115 +138,115 @@ discard block |
||
138 | 138 | |
139 | 139 | <div class="row"> |
140 | 140 | <div class="settings-all" style="width:30%;display:block;float:left;"> |
141 | - <h3><?php esc_html_e( 'What content to Sync from WETU' ); ?></h3> |
|
141 | + <h3><?php esc_html_e('What content to Sync from WETU'); ?></h3> |
|
142 | 142 | <ul> |
143 | - <?php if ( isset( $this->options ) && isset( $this->options['disable_destination_descriptions'] ) && 'on' !== $this->options['disable_destination_descriptions'] ) { ?> |
|
143 | + <?php if (isset($this->options) && isset($this->options['disable_destination_descriptions']) && 'on' !== $this->options['disable_destination_descriptions']) { ?> |
|
144 | 144 | <li> |
145 | 145 | <input class="content" checked="checked" |
146 | 146 | type="checkbox" name="content[]" |
147 | - value="description"/> <?php esc_html_e( 'Description', 'lsx-wetu-importer' ); ?></li> |
|
147 | + value="description"/> <?php esc_html_e('Description', 'lsx-wetu-importer'); ?></li> |
|
148 | 148 | <?php } ?> |
149 | 149 | |
150 | 150 | <li> |
151 | 151 | <input class="content" checked="checked" |
152 | 152 | type="checkbox" name="content[]" |
153 | - value="gallery"/> <?php esc_html_e( 'Main Gallery', 'lsx-wetu-importer' ); ?></li> |
|
153 | + value="gallery"/> <?php esc_html_e('Main Gallery', 'lsx-wetu-importer'); ?></li> |
|
154 | 154 | |
155 | 155 | <li> |
156 | 156 | <input class="content" checked="checked" |
157 | 157 | type="checkbox" name="content[]" |
158 | - value="location"/> <?php esc_html_e( 'Location', 'lsx-wetu-importer' ); ?> |
|
158 | + value="location"/> <?php esc_html_e('Location', 'lsx-wetu-importer'); ?> |
|
159 | 159 | </li> |
160 | 160 | |
161 | 161 | |
162 | - <?php if ( class_exists( 'LSX_TO_Videos' ) ) { ?> |
|
162 | + <?php if (class_exists('LSX_TO_Videos')) { ?> |
|
163 | 163 | <li> |
164 | 164 | <input class="content" checked="checked" |
165 | 165 | type="checkbox" name="content[]" |
166 | - value="videos"/> <?php esc_html_e( 'Videos', 'lsx-wetu-importer' ); ?></li> |
|
166 | + value="videos"/> <?php esc_html_e('Videos', 'lsx-wetu-importer'); ?></li> |
|
167 | 167 | <?php } ?> |
168 | 168 | |
169 | 169 | </ul> |
170 | - <h4><?php esc_html_e( 'Additional Content' ); ?></h4> |
|
170 | + <h4><?php esc_html_e('Additional Content'); ?></h4> |
|
171 | 171 | <ul> |
172 | 172 | <li> |
173 | 173 | <input class="content" checked="checked" |
174 | 174 | type="checkbox" name="content[]" |
175 | - value="country"/> <?php esc_html_e( 'Set Country', 'lsx-wetu-importer' ); ?></li> |
|
175 | + value="country"/> <?php esc_html_e('Set Country', 'lsx-wetu-importer'); ?></li> |
|
176 | 176 | <li> |
177 | 177 | <input class="content" checked="checked" |
178 | 178 | type="checkbox" name="content[]" |
179 | - value="continent"/> <?php esc_html_e( 'Set Continent', 'lsx-wetu-importer' ); ?></li> |
|
179 | + value="continent"/> <?php esc_html_e('Set Continent', 'lsx-wetu-importer'); ?></li> |
|
180 | 180 | |
181 | 181 | <li> |
182 | 182 | <input class="content" checked="checked" |
183 | 183 | type="checkbox" name="content[]" |
184 | - value="featured_image"/> <?php esc_html_e( 'Set Featured Image', 'lsx-wetu-importer' ); ?> |
|
184 | + value="featured_image"/> <?php esc_html_e('Set Featured Image', 'lsx-wetu-importer'); ?> |
|
185 | 185 | </li> |
186 | - <?php if ( class_exists( 'LSX_Banners' ) ) { ?> |
|
186 | + <?php if (class_exists('LSX_Banners')) { ?> |
|
187 | 187 | <li> |
188 | 188 | <input class="content" checked="checked" |
189 | 189 | type="checkbox" name="content[]" |
190 | - value="banner_image"/> <?php esc_html_e( 'Set Banner Image', 'lsx-wetu-importer' ); ?> |
|
190 | + value="banner_image"/> <?php esc_html_e('Set Banner Image', 'lsx-wetu-importer'); ?> |
|
191 | 191 | </li> |
192 | 192 | <li> |
193 | 193 | <input class="content" checked="checked" |
194 | 194 | type="checkbox" name="content[]" |
195 | - value="unique_banner_image"/> <?php esc_html_e( 'Use the WETU banner field', 'lsx-wetu-importer' ); ?> |
|
195 | + value="unique_banner_image"/> <?php esc_html_e('Use the WETU banner field', 'lsx-wetu-importer'); ?> |
|
196 | 196 | </li> |
197 | 197 | <?php } ?> |
198 | 198 | |
199 | 199 | <li> |
200 | 200 | <input class="content" checked="checked" |
201 | 201 | type="checkbox" name="content[]" |
202 | - value="strip_tags"/> <?php esc_html_e( 'Strip HTML from the description', 'lsx-wetu-importer' ); ?></li> |
|
202 | + value="strip_tags"/> <?php esc_html_e('Strip HTML from the description', 'lsx-wetu-importer'); ?></li> |
|
203 | 203 | </ul> |
204 | 204 | </div> |
205 | 205 | <div class="settings-all" style="width:30%;display:block;float:left;"> |
206 | - <h3><?php esc_html_e( 'Travel Information' ); ?></h3> |
|
206 | + <h3><?php esc_html_e('Travel Information'); ?></h3> |
|
207 | 207 | <ul> |
208 | 208 | <li> |
209 | 209 | <input class="content" checked="checked" |
210 | 210 | type="checkbox" name="content[]" |
211 | - value="electricity"/> <?php esc_html_e( 'Electricity', 'lsx-wetu-importer' ); ?></li> |
|
211 | + value="electricity"/> <?php esc_html_e('Electricity', 'lsx-wetu-importer'); ?></li> |
|
212 | 212 | <li> |
213 | 213 | <input class="content" checked="checked" |
214 | 214 | type="checkbox" name="content[]" |
215 | - value="banking"/> <?php esc_html_e( 'Banking', 'lsx-wetu-importer' ); ?></li> |
|
215 | + value="banking"/> <?php esc_html_e('Banking', 'lsx-wetu-importer'); ?></li> |
|
216 | 216 | <li> |
217 | 217 | <input class="content" checked="checked" |
218 | 218 | type="checkbox" name="content[]" |
219 | - value="cuisine"/> <?php esc_html_e( 'Cuisine', 'lsx-wetu-importer' ); ?></li> |
|
219 | + value="cuisine"/> <?php esc_html_e('Cuisine', 'lsx-wetu-importer'); ?></li> |
|
220 | 220 | <li> |
221 | 221 | <input class="content" checked="checked" |
222 | 222 | type="checkbox" name="content[]" |
223 | - value="climate"/> <?php esc_html_e( 'Climate', 'lsx-wetu-importer' ); ?></li> |
|
223 | + value="climate"/> <?php esc_html_e('Climate', 'lsx-wetu-importer'); ?></li> |
|
224 | 224 | <li> |
225 | 225 | <input class="content" checked="checked" |
226 | 226 | type="checkbox" name="content[]" |
227 | - value="transport"/> <?php esc_html_e( 'Transport', 'lsx-wetu-importer' ); ?></li> |
|
227 | + value="transport"/> <?php esc_html_e('Transport', 'lsx-wetu-importer'); ?></li> |
|
228 | 228 | <li><input class="content" checked="checked" |
229 | 229 | type="checkbox" name="content[]" |
230 | - value="dress"/> <?php esc_html_e( 'Dress', 'lsx-wetu-importer' ); ?></li> |
|
230 | + value="dress"/> <?php esc_html_e('Dress', 'lsx-wetu-importer'); ?></li> |
|
231 | 231 | <li><input class="content" checked="checked" |
232 | 232 | type="checkbox" name="content[]" |
233 | - value="health"/> <?php esc_html_e( 'Health', 'lsx-wetu-importer' ); ?></li> |
|
233 | + value="health"/> <?php esc_html_e('Health', 'lsx-wetu-importer'); ?></li> |
|
234 | 234 | <li><input class="content" checked="checked" |
235 | 235 | type="checkbox" name="content[]" |
236 | - value="safety"/> <?php esc_html_e( 'Safety', 'lsx-wetu-importer' ); ?></li> |
|
236 | + value="safety"/> <?php esc_html_e('Safety', 'lsx-wetu-importer'); ?></li> |
|
237 | 237 | <li><input class="content" checked="checked" |
238 | 238 | type="checkbox" name="content[]" |
239 | - value="visa"/> <?php esc_html_e( 'Visa', 'lsx-wetu-importer' ); ?></li> |
|
239 | + value="visa"/> <?php esc_html_e('Visa', 'lsx-wetu-importer'); ?></li> |
|
240 | 240 | <li><input class="content" checked="checked" |
241 | 241 | type="checkbox" name="content[]" |
242 | - value="additional_info"/> <?php esc_html_e( 'General', 'lsx-wetu-importer' ); ?></li> |
|
242 | + value="additional_info"/> <?php esc_html_e('General', 'lsx-wetu-importer'); ?></li> |
|
243 | 243 | </ul> |
244 | 244 | </div> |
245 | 245 | |
246 | - <?php if ( class_exists( 'LSX_TO_Team' ) ) { ?> |
|
246 | + <?php if (class_exists('LSX_TO_Team')) { ?> |
|
247 | 247 | <div style="width:30%;display:block;float:left;"> |
248 | - <h3><?php esc_html_e( 'Assign a Team Member' ); ?></h3> |
|
249 | - <?php $this->team_member_checkboxes( $this->destination_options ); ?> |
|
248 | + <h3><?php esc_html_e('Assign a Team Member'); ?></h3> |
|
249 | + <?php $this->team_member_checkboxes($this->destination_options); ?> |
|
250 | 250 | </div> |
251 | 251 | <?php } ?> |
252 | 252 | |
@@ -254,9 +254,9 @@ discard block |
||
254 | 254 | </div> |
255 | 255 | |
256 | 256 | |
257 | - <h3><?php esc_html_e( 'Your List' ); ?></h3> |
|
257 | + <h3><?php esc_html_e('Your List'); ?></h3> |
|
258 | 258 | <p><input class="button button-primary" type="submit" |
259 | - value="<?php esc_html_e( 'Sync', 'lsx-wetu-importer' ); ?>"/></p> |
|
259 | + value="<?php esc_html_e('Sync', 'lsx-wetu-importer'); ?>"/></p> |
|
260 | 260 | <table class="wp-list-table widefat fixed posts"> |
261 | 261 | <?php $this->table_header(); ?> |
262 | 262 | |
@@ -269,12 +269,12 @@ discard block |
||
269 | 269 | </table> |
270 | 270 | |
271 | 271 | <p><input class="button button-primary" type="submit" |
272 | - value="<?php esc_html_e( 'Sync', 'lsx-wetu-importer' ); ?>"/></p> |
|
272 | + value="<?php esc_html_e('Sync', 'lsx-wetu-importer'); ?>"/></p> |
|
273 | 273 | </form> |
274 | 274 | </div> |
275 | 275 | |
276 | 276 | <div style="display:none;" class="completed-list-wrapper"> |
277 | - <h3><?php esc_html_e( 'Completed' ); ?></h3> |
|
277 | + <h3><?php esc_html_e('Completed'); ?></h3> |
|
278 | 278 | <ul> |
279 | 279 | </ul> |
280 | 280 | </div> |
@@ -285,7 +285,7 @@ discard block |
||
285 | 285 | /** |
286 | 286 | * Grab all the current destination posts via the lsx_wetu_id field. |
287 | 287 | */ |
288 | - public function find_current_destination( $post_type = 'destination' ) { |
|
288 | + public function find_current_destination($post_type = 'destination') { |
|
289 | 289 | global $wpdb; |
290 | 290 | $return = array(); |
291 | 291 | |
@@ -304,9 +304,9 @@ discard block |
||
304 | 304 | "); |
305 | 305 | // @codingStandardsIgnoreEnd |
306 | 306 | |
307 | - if ( null !== $current_destination && ! empty( $current_destination ) ) { |
|
308 | - foreach ( $current_destination as $accom ) { |
|
309 | - $return[ $accom->meta_value ] = $accom; |
|
307 | + if (null !== $current_destination && !empty($current_destination)) { |
|
308 | + foreach ($current_destination as $accom) { |
|
309 | + $return[$accom->meta_value] = $accom; |
|
310 | 310 | } |
311 | 311 | } |
312 | 312 | |
@@ -318,118 +318,118 @@ discard block |
||
318 | 318 | */ |
319 | 319 | public function process_ajax_search() { |
320 | 320 | $return = false; |
321 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
322 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] ) { |
|
321 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
322 | + if (isset($_POST['action']) && 'lsx_tour_importer' === $_POST['action'] && isset($_POST['type']) && 'destination' === $_POST['type']) { |
|
323 | 323 | |
324 | 324 | $searched_items = false; |
325 | - if ( isset( $_POST['keyword'] ) ) { |
|
326 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
327 | - } else { |
|
328 | - $keyphrases = array( 0 ); |
|
325 | + if (isset($_POST['keyword'])) { |
|
326 | + $keyphrases = array_map('sanitize_text_field', wp_unslash($_POST['keyword'])); |
|
327 | + }else { |
|
328 | + $keyphrases = array(0); |
|
329 | 329 | } |
330 | 330 | |
331 | - if ( ! is_array( $keyphrases ) ) { |
|
332 | - $keyphrases = array( $keyphrases ); |
|
331 | + if (!is_array($keyphrases)) { |
|
332 | + $keyphrases = array($keyphrases); |
|
333 | 333 | } |
334 | - foreach ( $keyphrases as &$keyword ) { |
|
335 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
334 | + foreach ($keyphrases as &$keyword) { |
|
335 | + $keyword = ltrim(rtrim($keyword)); |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | $post_status = false; |
339 | 339 | |
340 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
340 | + if (in_array('publish', $keyphrases)) { |
|
341 | 341 | $post_status = 'publish'; |
342 | 342 | } |
343 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
343 | + if (in_array('pending', $keyphrases)) { |
|
344 | 344 | $post_status = 'pending'; |
345 | 345 | } |
346 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
346 | + if (in_array('draft', $keyphrases)) { |
|
347 | 347 | $post_status = 'draft'; |
348 | 348 | } |
349 | - if ( in_array( 'import', $keyphrases ) ) { |
|
349 | + if (in_array('import', $keyphrases)) { |
|
350 | 350 | $post_status = 'import'; |
351 | 351 | } |
352 | 352 | |
353 | 353 | // If there is a post status use it. |
354 | - if ( false !== $post_status ) { |
|
354 | + if (false !== $post_status) { |
|
355 | 355 | |
356 | 356 | $accommodation = array(); |
357 | - $current_accommodation = $this->find_current_accommodation( 'destination' ); |
|
358 | - if ( ! empty( $current_accommodation ) ) { |
|
359 | - foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
360 | - $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
357 | + $current_accommodation = $this->find_current_accommodation('destination'); |
|
358 | + if (!empty($current_accommodation)) { |
|
359 | + foreach ($current_accommodation as $cs_key => $ccs_id) { |
|
360 | + $accommodation[] = $this->prepare_row_attributes($cs_key, $ccs_id->post_id); |
|
361 | 361 | } |
362 | 362 | } |
363 | 363 | |
364 | 364 | // Run through each accommodation and use it. |
365 | - if ( ! empty( $accommodation ) ) { |
|
366 | - foreach ( $accommodation as $row_key => $row ) { |
|
365 | + if (!empty($accommodation)) { |
|
366 | + foreach ($accommodation as $row_key => $row) { |
|
367 | 367 | $row['post_title'] = $row['name']; |
368 | - if ( 'import' === $post_status ) { |
|
369 | - if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
370 | - $current_status = get_post_status( $row['post_id'] ); |
|
371 | - if ( 'draft' === $current_status ) { |
|
372 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
368 | + if ('import' === $post_status) { |
|
369 | + if (is_array($this->queued_imports) && in_array($row['post_id'], $this->queued_imports)) { |
|
370 | + $current_status = get_post_status($row['post_id']); |
|
371 | + if ('draft' === $current_status) { |
|
372 | + $searched_items[sanitize_title($row['name']).'-'.$row['id']] = $this->format_row($row, $row_key); |
|
373 | 373 | } |
374 | - } else { |
|
374 | + }else { |
|
375 | 375 | continue; |
376 | 376 | } |
377 | - } else { |
|
378 | - if ( 0 === $row['post_id'] ) { |
|
377 | + }else { |
|
378 | + if (0 === $row['post_id']) { |
|
379 | 379 | continue; |
380 | - } else { |
|
381 | - $current_status = get_post_status( $row['post_id'] ); |
|
380 | + }else { |
|
381 | + $current_status = get_post_status($row['post_id']); |
|
382 | 382 | |
383 | - if ( $current_status !== $post_status ) { |
|
383 | + if ($current_status !== $post_status) { |
|
384 | 384 | continue; |
385 | 385 | } |
386 | 386 | } |
387 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
387 | + $searched_items[sanitize_title($row['name']).'-'.$row['id']] = $this->format_row($row, $row_key); |
|
388 | 388 | } |
389 | 389 | } |
390 | 390 | } |
391 | - } else { |
|
391 | + }else { |
|
392 | 392 | |
393 | - $key_string_search = implode( '+', $keyphrases ); |
|
394 | - $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search . '/?all=include' ); |
|
393 | + $key_string_search = implode('+', $keyphrases); |
|
394 | + $search_data = wp_remote_get($this->url.'/Search/'.$key_string_search.'/?all=include'); |
|
395 | 395 | |
396 | - if ( ! is_wp_error( $search_data ) || ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
397 | - $search_data = json_decode( $search_data['body'], true ); |
|
398 | - foreach ( $search_data as $sdata_key => $sdata ) { |
|
396 | + if (!is_wp_error($search_data) || !empty($search_data) && isset($search_data['response']) && isset($search_data['response']['code']) && 200 === $search_data['response']['code']) { |
|
397 | + $search_data = json_decode($search_data['body'], true); |
|
398 | + foreach ($search_data as $sdata_key => $sdata) { |
|
399 | 399 | |
400 | - if ( isset( $sdata['type'] ) && 'Destination' !== trim( $sdata['type'] ) && 'Area' !== trim( $sdata['type'] ) ) { |
|
400 | + if (isset($sdata['type']) && 'Destination' !== trim($sdata['type']) && 'Area' !== trim($sdata['type'])) { |
|
401 | 401 | continue; |
402 | 402 | } |
403 | 403 | |
404 | - $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
405 | - if ( false === $temp_id ) { |
|
404 | + $temp_id = $this->get_post_id_by_key_value($sdata['id']); |
|
405 | + if (false === $temp_id) { |
|
406 | 406 | $sdata['post_id'] = 0; |
407 | 407 | $sdata['post_title'] = $sdata['name']; |
408 | - } else { |
|
408 | + }else { |
|
409 | 409 | $sdata['post_id'] = $temp_id; |
410 | - $sdata['post_title'] = get_the_title( $temp_id ); |
|
410 | + $sdata['post_title'] = get_the_title($temp_id); |
|
411 | 411 | } |
412 | - $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
412 | + $searched_items[sanitize_title($sdata['name']).'-'.$sdata['id']] = $this->format_row($sdata, $sdata_key); |
|
413 | 413 | } |
414 | 414 | } |
415 | 415 | } |
416 | 416 | |
417 | - if ( false !== $searched_items ) { |
|
418 | - $return = implode( $searched_items ); |
|
417 | + if (false !== $searched_items) { |
|
418 | + $return = implode($searched_items); |
|
419 | 419 | } |
420 | - print_r( $return ); |
|
421 | - } else { |
|
422 | - echo esc_attr( 'None found' ); |
|
420 | + print_r($return); |
|
421 | + }else { |
|
422 | + echo esc_attr('None found'); |
|
423 | 423 | } |
424 | 424 | die(); |
425 | 425 | } |
426 | 426 | |
427 | - public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
427 | + public function prepare_row_attributes($cs_key, $ccs_id) { |
|
428 | 428 | $row_item = array( |
429 | 429 | 'id' => $cs_key, |
430 | 430 | 'type' => 'Destination', |
431 | - 'name' => get_the_title( $ccs_id ), |
|
432 | - 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
431 | + 'name' => get_the_title($ccs_id), |
|
432 | + 'last_modified' => date('Y-m-d', strtotime('now')), |
|
433 | 433 | 'post_id' => $ccs_id, |
434 | 434 | ); |
435 | 435 | return $row_item; |
@@ -438,31 +438,31 @@ discard block |
||
438 | 438 | /** |
439 | 439 | * Formats the row for output on the screen. |
440 | 440 | */ |
441 | - public function format_row( $row = false, $row_key = '' ) { |
|
442 | - if ( false !== $row ) { |
|
441 | + public function format_row($row = false, $row_key = '') { |
|
442 | + if (false !== $row) { |
|
443 | 443 | |
444 | 444 | $status = 'import'; |
445 | - if ( 0 !== $row['post_id'] ) { |
|
446 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
445 | + if (0 !== $row['post_id']) { |
|
446 | + $status = '<a href="'.admin_url('/post.php?post='.$row['post_id'].'&action=edit').'" target="_blank">'.get_post_status($row['post_id']).'</a>'; |
|
447 | 447 | } |
448 | 448 | |
449 | 449 | $row_html = ' |
450 | - <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
|
450 | + <tr class="post-' . $row['post_id'].' type-tour" id="post-'.$row['post_id'].'"> |
|
451 | 451 | <th class="check-column" scope="row"> |
452 | - <label for="cb-select-' . $row['id'] . '" class="screen-reader-text">' . $row['name'] . '</label> |
|
453 | - <input type="checkbox" data-identifier="' . $row['id'] . '" value="' . $row['post_id'] . '" name="post[]" id="cb-select-' . $row['id'] . '"> |
|
452 | + <label for="cb-select-' . $row['id'].'" class="screen-reader-text">'.$row['name'].'</label> |
|
453 | + <input type="checkbox" data-identifier="' . $row['id'].'" value="'.$row['post_id'].'" name="post[]" id="cb-select-'.$row['id'].'"> |
|
454 | 454 | </th> |
455 | 455 | <td class="column-order"> |
456 | - ' . ( $row_key + 1 ) . ' |
|
456 | + ' . ($row_key + 1).' |
|
457 | 457 | </td> |
458 | 458 | <td class="post-title page-title column-title"> |
459 | - <strong>' . $row['post_title'] . '</strong> - ' . $status . ' |
|
459 | + <strong>' . $row['post_title'].'</strong> - '.$status.' |
|
460 | 460 | </td> |
461 | 461 | <td class="date column-date"> |
462 | - <abbr title="' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '">' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '</abbr><br>Last Modified |
|
462 | + <abbr title="' . date('Y/m/d', strtotime($row['last_modified'])).'">'.date('Y/m/d', strtotime($row['last_modified'])).'</abbr><br>Last Modified |
|
463 | 463 | </td> |
464 | 464 | <td class="ssid column-ssid"> |
465 | - ' . $row['id'] . ' |
|
465 | + ' . $row['id'].' |
|
466 | 466 | </td> |
467 | 467 | </tr>'; |
468 | 468 | return $row_html; |
@@ -475,44 +475,44 @@ discard block |
||
475 | 475 | public function process_ajax_import() { |
476 | 476 | $return = false; |
477 | 477 | |
478 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
479 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'destination' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
478 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
479 | + if (isset($_POST['action']) && 'lsx_import_items' === $_POST['action'] && isset($_POST['type']) && 'destination' === $_POST['type'] && isset($_POST['wetu_id'])) { |
|
480 | 480 | |
481 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
481 | + $wetu_id = sanitize_text_field($_POST['wetu_id']); |
|
482 | 482 | |
483 | - if ( isset( $_POST['post_id'] ) ) { |
|
484 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
485 | - $this->current_post = get_post( $post_id ); |
|
486 | - } else { |
|
483 | + if (isset($_POST['post_id'])) { |
|
484 | + $post_id = sanitize_text_field($_POST['post_id']); |
|
485 | + $this->current_post = get_post($post_id); |
|
486 | + }else { |
|
487 | 487 | $post_id = 0; |
488 | 488 | } |
489 | 489 | |
490 | - if ( isset( $_POST['team_members'] ) ) { |
|
491 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
492 | - } else { |
|
490 | + if (isset($_POST['team_members'])) { |
|
491 | + $team_members = array_map('sanitize_text_field', wp_unslash($_POST['team_members'])); |
|
492 | + }else { |
|
493 | 493 | $team_members = false; |
494 | 494 | } |
495 | 495 | |
496 | 496 | $safari_brands = false; |
497 | 497 | |
498 | - delete_option( 'lsx_wetu_importer_destination_settings' ); |
|
498 | + delete_option('lsx_wetu_importer_destination_settings'); |
|
499 | 499 | |
500 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
501 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
502 | - add_option( 'lsx_wetu_importer_destination_settings', $content ); |
|
503 | - } else { |
|
500 | + if (isset($_POST['content']) && is_array($_POST['content']) && !empty($_POST['content'])) { |
|
501 | + $content = array_map('sanitize_text_field', wp_unslash($_POST['content'])); |
|
502 | + add_option('lsx_wetu_importer_destination_settings', $content); |
|
503 | + }else { |
|
504 | 504 | $content = false; |
505 | 505 | } |
506 | 506 | |
507 | - $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
507 | + $jdata = wp_remote_get($this->url.'/Get?'.$this->url_qs.'&ids='.$wetu_id); |
|
508 | 508 | |
509 | - if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
510 | - $adata = json_decode( $jdata['body'], true ); |
|
511 | - $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
512 | - $this->remove_from_queue( $return ); |
|
513 | - $this->format_completed_row( $return ); |
|
514 | - } else { |
|
515 | - $this->format_error( esc_html__( 'There was a problem importing your destination, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
509 | + if (!empty($jdata) && isset($jdata['response']) && isset($jdata['response']['code']) && 200 === $jdata['response']['code']) { |
|
510 | + $adata = json_decode($jdata['body'], true); |
|
511 | + $return = $this->import_row($adata, $wetu_id, $post_id, $team_members, $content, $safari_brands); |
|
512 | + $this->remove_from_queue($return); |
|
513 | + $this->format_completed_row($return); |
|
514 | + }else { |
|
515 | + $this->format_error(esc_html__('There was a problem importing your destination, please try refreshing the page.', 'lsx-wetu-importer')); |
|
516 | 516 | } |
517 | 517 | } |
518 | 518 | die(); |
@@ -521,14 +521,14 @@ discard block |
||
521 | 521 | /** |
522 | 522 | * Saves the queue to the option. |
523 | 523 | */ |
524 | - public function remove_from_queue( $id ) { |
|
525 | - if ( ! empty( $this->queued_imports ) ) { |
|
526 | - $key = array_search( $id, $this->queued_imports ); |
|
527 | - if ( false !== $key ) { |
|
528 | - unset( $this->queued_imports[ $key ] ); |
|
524 | + public function remove_from_queue($id) { |
|
525 | + if (!empty($this->queued_imports)) { |
|
526 | + $key = array_search($id, $this->queued_imports); |
|
527 | + if (false !== $key) { |
|
528 | + unset($this->queued_imports[$key]); |
|
529 | 529 | |
530 | - delete_option( 'lsx_wetu_importer_que' ); |
|
531 | - update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
530 | + delete_option('lsx_wetu_importer_que'); |
|
531 | + update_option('lsx_wetu_importer_que', $this->queued_imports); |
|
532 | 532 | } |
533 | 533 | } |
534 | 534 | } |
@@ -536,8 +536,8 @@ discard block |
||
536 | 536 | /** |
537 | 537 | * Connect to wetu |
538 | 538 | */ |
539 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
540 | - if ( 'Destination' === trim( $data[0]['type'] ) || 'Area' === trim( $data[0]['type'] ) ) { |
|
539 | + public function import_row($data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false) { |
|
540 | + if ('Destination' === trim($data[0]['type']) || 'Area' === trim($data[0]['type'])) { |
|
541 | 541 | $post_name = ''; |
542 | 542 | $data_post_content = ''; |
543 | 543 | $data_post_excerpt = ''; |
@@ -546,129 +546,129 @@ discard block |
||
546 | 546 | 'post_type' => 'destination', |
547 | 547 | ); |
548 | 548 | |
549 | - if ( ! empty( $importable_content ) && in_array( 'country', $importable_content ) ) { |
|
550 | - $parent = $this->check_for_parent( $data ); |
|
551 | - if ( false !== $parent ) { |
|
549 | + if (!empty($importable_content) && in_array('country', $importable_content)) { |
|
550 | + $parent = $this->check_for_parent($data); |
|
551 | + if (false !== $parent) { |
|
552 | 552 | $post['post_parent'] = $parent; |
553 | 553 | } |
554 | 554 | } |
555 | 555 | |
556 | 556 | // Set the post_content. |
557 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
558 | - if ( isset( $data[0]['content']['general_description'] ) ) { |
|
557 | + if (!empty($importable_content) && in_array('description', $importable_content)) { |
|
558 | + if (isset($data[0]['content']['general_description'])) { |
|
559 | 559 | |
560 | - if ( in_array( 'strip_tags', $importable_content ) ) { |
|
561 | - $post['post_content'] = wp_strip_all_tags( $data[0]['content']['general_description'] ); |
|
562 | - } else { |
|
560 | + if (in_array('strip_tags', $importable_content)) { |
|
561 | + $post['post_content'] = wp_strip_all_tags($data[0]['content']['general_description']); |
|
562 | + }else { |
|
563 | 563 | $post['post_content'] = $data[0]['content']['general_description']; |
564 | 564 | } |
565 | 565 | } |
566 | 566 | } |
567 | 567 | |
568 | - if ( false !== $id && '0' !== $id ) { |
|
568 | + if (false !== $id && '0' !== $id) { |
|
569 | 569 | $post['ID'] = $id; |
570 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_destination_title'] && isset( $data[0]['name'] ) ) { |
|
570 | + if (isset($this->options) && 'on' !== $this->options['disable_destination_title'] && isset($data[0]['name'])) { |
|
571 | 571 | $post['post_title'] = $data[0]['name']; |
572 | - $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
572 | + $post['post_name'] = wp_unique_post_slug(sanitize_title($data[0]['name']), $id, 'draft', 'destination', 0); |
|
573 | 573 | } |
574 | 574 | $post['post_status'] = 'publish'; |
575 | 575 | |
576 | - $id = wp_update_post( $post ); |
|
577 | - $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
578 | - update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
579 | - } else { |
|
576 | + $id = wp_update_post($post); |
|
577 | + $prev_date = get_post_meta($id, 'lsx_wetu_modified_date', true); |
|
578 | + update_post_meta($id, 'lsx_wetu_modified_date', strtotime($data[0]['last_modified']), $prev_date); |
|
579 | + }else { |
|
580 | 580 | // Set the name. |
581 | - if ( isset( $data[0]['name'] ) ) { |
|
582 | - $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'destination', 0 ); |
|
581 | + if (isset($data[0]['name'])) { |
|
582 | + $post_name = wp_unique_post_slug(sanitize_title($data[0]['name']), $id, 'draft', 'destination', 0); |
|
583 | 583 | } |
584 | 584 | |
585 | 585 | $post['post_name'] = $post_name; |
586 | 586 | $post['post_title'] = $data[0]['name']; |
587 | 587 | $post['post_status'] = 'publish'; |
588 | - $id = wp_insert_post( $post ); |
|
588 | + $id = wp_insert_post($post); |
|
589 | 589 | |
590 | 590 | // Save the WETU ID and the Last date it was modified. |
591 | - if ( false !== $id ) { |
|
592 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
593 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
591 | + if (false !== $id) { |
|
592 | + add_post_meta($id, 'lsx_wetu_id', $wetu_id); |
|
593 | + add_post_meta($id, 'lsx_wetu_modified_date', strtotime($data[0]['last_modified'])); |
|
594 | 594 | } |
595 | 595 | } |
596 | 596 | |
597 | - $this->find_attachments( $id ); |
|
597 | + $this->find_attachments($id); |
|
598 | 598 | |
599 | 599 | // Set the team member if it is there. |
600 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
601 | - $this->set_team_member( $id, $team_members ); |
|
600 | + if (post_type_exists('team') && false !== $team_members && '' !== $team_members) { |
|
601 | + $this->set_team_member($id, $team_members); |
|
602 | 602 | } |
603 | 603 | |
604 | - $this->set_map_data( $data, $id, 9 ); |
|
604 | + $this->set_map_data($data, $id, 9); |
|
605 | 605 | |
606 | 606 | // Set the Room Data. |
607 | - if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
608 | - $this->set_video_data( $data, $id ); |
|
607 | + if (false !== $importable_content && in_array('videos', $importable_content)) { |
|
608 | + $this->set_video_data($data, $id); |
|
609 | 609 | } |
610 | 610 | |
611 | 611 | // Set the Electricity. |
612 | - if ( false !== $importable_content && in_array( 'electricity', $importable_content ) ) { |
|
613 | - $this->set_travel_info( $data, $id, 'electricity', $importable_content ); |
|
612 | + if (false !== $importable_content && in_array('electricity', $importable_content)) { |
|
613 | + $this->set_travel_info($data, $id, 'electricity', $importable_content); |
|
614 | 614 | } |
615 | 615 | // Set the cuisine. |
616 | - if ( false !== $importable_content && in_array( 'cuisine', $importable_content ) ) { |
|
617 | - $this->set_travel_info( $data, $id, 'cuisine', $importable_content ); |
|
616 | + if (false !== $importable_content && in_array('cuisine', $importable_content)) { |
|
617 | + $this->set_travel_info($data, $id, 'cuisine', $importable_content); |
|
618 | 618 | } |
619 | 619 | // Set the banking. |
620 | - if ( false !== $importable_content && in_array( 'banking', $importable_content ) ) { |
|
621 | - $this->set_travel_info( $data, $id, 'banking', $importable_content ); |
|
620 | + if (false !== $importable_content && in_array('banking', $importable_content)) { |
|
621 | + $this->set_travel_info($data, $id, 'banking', $importable_content); |
|
622 | 622 | } |
623 | 623 | // Set the transport. |
624 | - if ( false !== $importable_content && in_array( 'transport', $importable_content ) ) { |
|
625 | - $this->set_travel_info( $data, $id, 'transport', $importable_content ); |
|
624 | + if (false !== $importable_content && in_array('transport', $importable_content)) { |
|
625 | + $this->set_travel_info($data, $id, 'transport', $importable_content); |
|
626 | 626 | } |
627 | 627 | // Set the dress. |
628 | - if ( false !== $importable_content && in_array( 'dress', $importable_content ) ) { |
|
629 | - $this->set_travel_info( $data, $id, 'dress', $importable_content ); |
|
628 | + if (false !== $importable_content && in_array('dress', $importable_content)) { |
|
629 | + $this->set_travel_info($data, $id, 'dress', $importable_content); |
|
630 | 630 | } |
631 | 631 | // Set the climate. |
632 | - if ( false !== $importable_content && in_array( 'climate', $importable_content ) ) { |
|
633 | - $this->set_travel_info( $data, $id, 'climate', $importable_content ); |
|
632 | + if (false !== $importable_content && in_array('climate', $importable_content)) { |
|
633 | + $this->set_travel_info($data, $id, 'climate', $importable_content); |
|
634 | 634 | } |
635 | 635 | // Set the Health. |
636 | - if ( false !== $importable_content && in_array( 'health', $importable_content ) ) { |
|
637 | - $this->set_travel_info( $data, $id, 'health', $importable_content ); |
|
636 | + if (false !== $importable_content && in_array('health', $importable_content)) { |
|
637 | + $this->set_travel_info($data, $id, 'health', $importable_content); |
|
638 | 638 | } |
639 | 639 | // Set the Safety. |
640 | - if ( false !== $importable_content && in_array( 'safety', $importable_content ) ) { |
|
641 | - $this->set_travel_info( $data, $id, 'safety', $importable_content ); |
|
640 | + if (false !== $importable_content && in_array('safety', $importable_content)) { |
|
641 | + $this->set_travel_info($data, $id, 'safety', $importable_content); |
|
642 | 642 | } |
643 | 643 | // Set the Visa. |
644 | - if ( false !== $importable_content && in_array( 'visa', $importable_content ) ) { |
|
645 | - $this->set_travel_info( $data, $id, 'visa', $importable_content ); |
|
644 | + if (false !== $importable_content && in_array('visa', $importable_content)) { |
|
645 | + $this->set_travel_info($data, $id, 'visa', $importable_content); |
|
646 | 646 | } |
647 | 647 | // Set the General. |
648 | - if ( false !== $importable_content && in_array( 'additional_info', $importable_content ) ) { |
|
649 | - $this->set_travel_info( $data, $id, 'additional_info', $importable_content ); |
|
648 | + if (false !== $importable_content && in_array('additional_info', $importable_content)) { |
|
649 | + $this->set_travel_info($data, $id, 'additional_info', $importable_content); |
|
650 | 650 | } |
651 | 651 | |
652 | 652 | // Setup some default for use in the import. |
653 | - if ( false !== $importable_content && (in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content )) ) { |
|
654 | - $this->find_attachments( $id ); |
|
653 | + if (false !== $importable_content && (in_array('gallery', $importable_content) || in_array('banner_image', $importable_content) || in_array('featured_image', $importable_content))) { |
|
654 | + $this->find_attachments($id); |
|
655 | 655 | |
656 | 656 | // Set the featured image. |
657 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
658 | - $this->set_featured_image( $data, $id ); |
|
657 | + if (false !== $importable_content && in_array('featured_image', $importable_content)) { |
|
658 | + $this->set_featured_image($data, $id); |
|
659 | 659 | } |
660 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
661 | - $this->set_banner_image( $data, $id, $importable_content ); |
|
660 | + if (false !== $importable_content && in_array('banner_image', $importable_content)) { |
|
661 | + $this->set_banner_image($data, $id, $importable_content); |
|
662 | 662 | } |
663 | 663 | // Import the main gallery. |
664 | - if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
665 | - $this->create_main_gallery( $data, $id ); |
|
664 | + if (false !== $importable_content && in_array('gallery', $importable_content)) { |
|
665 | + $this->create_main_gallery($data, $id); |
|
666 | 666 | } |
667 | 667 | } |
668 | 668 | |
669 | 669 | // Set the continent. |
670 | - if ( false !== $importable_content && in_array( 'continent', $importable_content ) ) { |
|
671 | - $this->set_continent( $data, $id ); |
|
670 | + if (false !== $importable_content && in_array('continent', $importable_content)) { |
|
671 | + $this->set_continent($data, $id); |
|
672 | 672 | } |
673 | 673 | } |
674 | 674 | |
@@ -678,43 +678,43 @@ discard block |
||
678 | 678 | /** |
679 | 679 | * Saves the room data |
680 | 680 | */ |
681 | - public function set_travel_info( $data, $id, $meta_key, $importable = array( 'none' ) ) { |
|
682 | - if ( ! empty( $data[0]['travel_information'] ) && isset( $data[0]['travel_information'][ $meta_key ] ) ) { |
|
683 | - $content = $data[0]['travel_information'][ $meta_key ]; |
|
681 | + public function set_travel_info($data, $id, $meta_key, $importable = array('none')) { |
|
682 | + if (!empty($data[0]['travel_information']) && isset($data[0]['travel_information'][$meta_key])) { |
|
683 | + $content = $data[0]['travel_information'][$meta_key]; |
|
684 | 684 | |
685 | - if ( in_array( 'strip_tags', $importable ) ) { |
|
686 | - $content = strip_tags( $content ); |
|
685 | + if (in_array('strip_tags', $importable)) { |
|
686 | + $content = strip_tags($content); |
|
687 | 687 | } |
688 | 688 | |
689 | - $this->save_custom_field( $content, $meta_key, $id ); |
|
689 | + $this->save_custom_field($content, $meta_key, $id); |
|
690 | 690 | } |
691 | 691 | } |
692 | 692 | |
693 | 693 | /** |
694 | 694 | * Set the Travel Style |
695 | 695 | */ |
696 | - public function set_continent( $data, $id ) { |
|
696 | + public function set_continent($data, $id) { |
|
697 | 697 | |
698 | - if ( isset( $data[0]['position']['country'] ) && $data[0]['map_object_id'] === $data[0]['position']['country_content_entity_id'] ) { |
|
698 | + if (isset($data[0]['position']['country']) && $data[0]['map_object_id'] === $data[0]['position']['country_content_entity_id']) { |
|
699 | 699 | // Get the continent code. |
700 | - $country_code = to_country_data( $data[0]['position']['country'], false ); |
|
701 | - $continent_code = to_continent_code( $country_code ); |
|
702 | - $continent_label = to_continent_label( $continent_code ); |
|
700 | + $country_code = to_country_data($data[0]['position']['country'], false); |
|
701 | + $continent_code = to_continent_code($country_code); |
|
702 | + $continent_label = to_continent_label($continent_code); |
|
703 | 703 | |
704 | - if ( ! empty( tour_operator()->options['display']['enable_search_region_filter'] ) ) { |
|
705 | - $continent_label = to_continent_region_label( $country_code ); |
|
704 | + if (!empty(tour_operator()->options['display']['enable_search_region_filter'])) { |
|
705 | + $continent_label = to_continent_region_label($country_code); |
|
706 | 706 | } |
707 | 707 | |
708 | - if ( '' !== $continent_label ) { |
|
709 | - $term = term_exists( trim( $continent_label ), 'continent' ); |
|
710 | - if ( ! $term ) { |
|
711 | - $term = wp_insert_term( trim( $continent_label ), 'continent' ); |
|
708 | + if ('' !== $continent_label) { |
|
709 | + $term = term_exists(trim($continent_label), 'continent'); |
|
710 | + if (!$term) { |
|
711 | + $term = wp_insert_term(trim($continent_label), 'continent'); |
|
712 | 712 | |
713 | - if ( is_wp_error( $term ) ) { |
|
714 | - echo wp_kses_post( $term->get_error_message() ); |
|
713 | + if (is_wp_error($term)) { |
|
714 | + echo wp_kses_post($term->get_error_message()); |
|
715 | 715 | } |
716 | - } else { |
|
717 | - wp_set_object_terms( $id, sanitize_title( $continent_label ), 'continent', true ); |
|
716 | + }else { |
|
717 | + wp_set_object_terms($id, sanitize_title($continent_label), 'continent', true); |
|
718 | 718 | } |
719 | 719 | } |
720 | 720 | } |
@@ -723,12 +723,12 @@ discard block |
||
723 | 723 | /** |
724 | 724 | * Save the list of Accommodation into an option |
725 | 725 | */ |
726 | - public function check_for_parent( $data = array() ) { |
|
726 | + public function check_for_parent($data = array()) { |
|
727 | 727 | global $wpdb; |
728 | 728 | |
729 | - if ( $data[0]['position']['country_content_entity_id'] !== $data[0]['position']['destination_content_entity_id'] ) { |
|
730 | - $result = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'lsx_wetu_id' AND meta_value = '%s'", array( $data[0]['position']['country_content_entity_id'] ) ) ); |
|
731 | - if ( ! empty( $result ) && '' !== $result && false !== $result ) { |
|
729 | + if ($data[0]['position']['country_content_entity_id'] !== $data[0]['position']['destination_content_entity_id']) { |
|
730 | + $result = $wpdb->get_var($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'lsx_wetu_id' AND meta_value = '%s'", array($data[0]['position']['country_content_entity_id']))); |
|
731 | + if (!empty($result) && '' !== $result && false !== $result) { |
|
732 | 732 | return $result; |
733 | 733 | } |
734 | 734 | } |
@@ -9,109 +9,109 @@ discard block |
||
9 | 9 | |
10 | 10 | class LSX_WETU_Importer_Tours extends LSX_WETU_Importer { |
11 | 11 | |
12 | - /** |
|
13 | - * The url to list items from WETU |
|
14 | - * |
|
15 | - * @since 0.0.1 |
|
16 | - * |
|
17 | - * @var string |
|
18 | - */ |
|
19 | - public $tab_slug = 'tour'; |
|
20 | - |
|
21 | - /** |
|
22 | - * The url to list items from WETU |
|
23 | - * |
|
24 | - * @since 0.0.1 |
|
25 | - * |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - public $url = false; |
|
29 | - |
|
30 | - /** |
|
31 | - * The query string url to list items from WETU |
|
32 | - * |
|
33 | - * @since 0.0.1 |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public $url_qs = false; |
|
38 | - |
|
39 | - /** |
|
40 | - * Holds a list of any current accommodation |
|
41 | - * |
|
42 | - * @since 0.0.1 |
|
43 | - * |
|
44 | - * @var string |
|
45 | - */ |
|
46 | - public $current_accommodation = false; |
|
47 | - |
|
48 | - /** |
|
49 | - * Holds a list of any current destinations |
|
50 | - * |
|
51 | - * @since 0.0.1 |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
55 | - public $current_destinations = false; |
|
56 | - |
|
57 | - /** |
|
58 | - * Holds a list of the destination and the image it needs to grab. |
|
59 | - * |
|
60 | - * @since 0.0.1 |
|
61 | - * |
|
62 | - * @var string |
|
63 | - */ |
|
64 | - public $destination_images = false; |
|
65 | - |
|
66 | - /** |
|
67 | - * Options |
|
68 | - * |
|
69 | - * @since 0.0.1 |
|
70 | - * |
|
71 | - * @var string |
|
72 | - */ |
|
73 | - public $options = false; |
|
74 | - |
|
75 | - /** |
|
76 | - * The fields you wish to import |
|
77 | - * |
|
78 | - * @since 0.0.1 |
|
79 | - * |
|
80 | - * @var string |
|
81 | - */ |
|
82 | - public $tour_options = false; |
|
83 | - |
|
84 | - /** |
|
85 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
86 | - * |
|
87 | - * @since 1.0.0 |
|
88 | - * |
|
89 | - * @access private |
|
90 | - */ |
|
91 | - public function __construct() { |
|
92 | - $this->set_variables(); |
|
93 | - } |
|
94 | - |
|
95 | - /** |
|
96 | - * Sets the variables used throughout the plugin. |
|
97 | - */ |
|
98 | - public function set_variables() { |
|
99 | - parent::set_variables(); |
|
100 | - if ( false !== $this->api_key ) { |
|
101 | - $this->url = 'https://wetu.com/API/Itinerary/' . $this->api_key; |
|
102 | - $this->url_qs = ''; |
|
103 | - } |
|
104 | - $tour_options = get_option( 'lsx_wetu_importer_tour_settings', false ); |
|
105 | - if ( false !== $tour_options ) { |
|
106 | - $this->tour_options = $tour_options; |
|
107 | - } |
|
108 | - } |
|
109 | - |
|
110 | - /** |
|
111 | - * Display the importer administration screen |
|
112 | - */ |
|
113 | - public function display_page() { |
|
114 | - ?> |
|
12 | + /** |
|
13 | + * The url to list items from WETU |
|
14 | + * |
|
15 | + * @since 0.0.1 |
|
16 | + * |
|
17 | + * @var string |
|
18 | + */ |
|
19 | + public $tab_slug = 'tour'; |
|
20 | + |
|
21 | + /** |
|
22 | + * The url to list items from WETU |
|
23 | + * |
|
24 | + * @since 0.0.1 |
|
25 | + * |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + public $url = false; |
|
29 | + |
|
30 | + /** |
|
31 | + * The query string url to list items from WETU |
|
32 | + * |
|
33 | + * @since 0.0.1 |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public $url_qs = false; |
|
38 | + |
|
39 | + /** |
|
40 | + * Holds a list of any current accommodation |
|
41 | + * |
|
42 | + * @since 0.0.1 |
|
43 | + * |
|
44 | + * @var string |
|
45 | + */ |
|
46 | + public $current_accommodation = false; |
|
47 | + |
|
48 | + /** |
|
49 | + * Holds a list of any current destinations |
|
50 | + * |
|
51 | + * @since 0.0.1 |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | + public $current_destinations = false; |
|
56 | + |
|
57 | + /** |
|
58 | + * Holds a list of the destination and the image it needs to grab. |
|
59 | + * |
|
60 | + * @since 0.0.1 |
|
61 | + * |
|
62 | + * @var string |
|
63 | + */ |
|
64 | + public $destination_images = false; |
|
65 | + |
|
66 | + /** |
|
67 | + * Options |
|
68 | + * |
|
69 | + * @since 0.0.1 |
|
70 | + * |
|
71 | + * @var string |
|
72 | + */ |
|
73 | + public $options = false; |
|
74 | + |
|
75 | + /** |
|
76 | + * The fields you wish to import |
|
77 | + * |
|
78 | + * @since 0.0.1 |
|
79 | + * |
|
80 | + * @var string |
|
81 | + */ |
|
82 | + public $tour_options = false; |
|
83 | + |
|
84 | + /** |
|
85 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
86 | + * |
|
87 | + * @since 1.0.0 |
|
88 | + * |
|
89 | + * @access private |
|
90 | + */ |
|
91 | + public function __construct() { |
|
92 | + $this->set_variables(); |
|
93 | + } |
|
94 | + |
|
95 | + /** |
|
96 | + * Sets the variables used throughout the plugin. |
|
97 | + */ |
|
98 | + public function set_variables() { |
|
99 | + parent::set_variables(); |
|
100 | + if ( false !== $this->api_key ) { |
|
101 | + $this->url = 'https://wetu.com/API/Itinerary/' . $this->api_key; |
|
102 | + $this->url_qs = ''; |
|
103 | + } |
|
104 | + $tour_options = get_option( 'lsx_wetu_importer_tour_settings', false ); |
|
105 | + if ( false !== $tour_options ) { |
|
106 | + $this->tour_options = $tour_options; |
|
107 | + } |
|
108 | + } |
|
109 | + |
|
110 | + /** |
|
111 | + * Display the importer administration screen |
|
112 | + */ |
|
113 | + public function display_page() { |
|
114 | + ?> |
|
115 | 115 | <div class="wrap"> |
116 | 116 | |
117 | 117 | <div class="tablenav top"> |
@@ -225,19 +225,19 @@ discard block |
||
225 | 225 | </div> |
226 | 226 | </div> |
227 | 227 | <?php |
228 | - } |
|
229 | - |
|
230 | - /** |
|
231 | - * Displays the options for the form. |
|
232 | - * |
|
233 | - * @return void |
|
234 | - */ |
|
235 | - public function update_options_form() { |
|
236 | - $form_options = get_option( 'lsx_ti_tours_api_options' ); |
|
237 | - if ( false === $form_options ) { |
|
238 | - $form_options = array( 'sample' ); |
|
239 | - } |
|
240 | - ?> |
|
228 | + } |
|
229 | + |
|
230 | + /** |
|
231 | + * Displays the options for the form. |
|
232 | + * |
|
233 | + * @return void |
|
234 | + */ |
|
235 | + public function update_options_form() { |
|
236 | + $form_options = get_option( 'lsx_ti_tours_api_options' ); |
|
237 | + if ( false === $form_options ) { |
|
238 | + $form_options = array( 'sample' ); |
|
239 | + } |
|
240 | + ?> |
|
241 | 241 | <form method="get" class="tour-refresh-form"> |
242 | 242 | <input type="hidden" name="page" value="<?php echo esc_attr( $this->plugin_slug ); ?>" /> |
243 | 243 | <input type="hidden" name="tab" value="tour" /> |
@@ -247,13 +247,13 @@ discard block |
||
247 | 247 | <select name="type"> |
248 | 248 | <option |
249 | 249 | <?php |
250 | - if ( in_array( 'personal', $form_options ) ) { |
|
250 | + if ( in_array( 'personal', $form_options ) ) { |
|
251 | 251 | echo esc_attr( 'selected="selected"' ); } |
252 | 252 | ?> |
253 | 253 | value="personal"><?php esc_html_e( 'Personal', 'lsx-wetu-importer' ); ?></option> |
254 | 254 | <option |
255 | 255 | <?php |
256 | - if ( in_array( 'sample', $form_options ) ) { |
|
256 | + if ( in_array( 'sample', $form_options ) ) { |
|
257 | 257 | echo esc_attr( 'selected="selected"' ); } |
258 | 258 | ?> |
259 | 259 | value="sample"><?php esc_html_e( 'Sample', 'lsx-wetu-importer' ); ?></option> |
@@ -261,16 +261,16 @@ discard block |
||
261 | 261 | <input class="button submit" type="submit" value="<?php esc_attr_e( 'Refresh', 'lsx-wetu-importer' ); ?>" /> |
262 | 262 | </form> |
263 | 263 | <?php |
264 | - } |
|
264 | + } |
|
265 | 265 | |
266 | - /** |
|
267 | - * Grab all the current tour posts via the lsx_wetu_id field. |
|
268 | - */ |
|
269 | - public function find_current_tours() { |
|
270 | - global $wpdb; |
|
271 | - $return = array(); |
|
266 | + /** |
|
267 | + * Grab all the current tour posts via the lsx_wetu_id field. |
|
268 | + */ |
|
269 | + public function find_current_tours() { |
|
270 | + global $wpdb; |
|
271 | + $return = array(); |
|
272 | 272 | |
273 | - $current_tours = $wpdb->get_results(" |
|
273 | + $current_tours = $wpdb->get_results(" |
|
274 | 274 | SELECT key1.post_id,key1.meta_value,key2.post_title |
275 | 275 | FROM {$wpdb->postmeta} key1 |
276 | 276 | |
@@ -283,136 +283,136 @@ discard block |
||
283 | 283 | LIMIT 0,500 |
284 | 284 | "); |
285 | 285 | |
286 | - if ( null !== $current_tours && ! empty( $current_tours ) ) { |
|
287 | - foreach ( $current_tours as $tour ) { |
|
288 | - $return[ $tour->meta_value ] = $tour; |
|
289 | - } |
|
290 | - } |
|
291 | - |
|
292 | - return $return; |
|
293 | - } |
|
294 | - |
|
295 | - /** |
|
296 | - * Run through the accommodation grabbed from the DB. |
|
297 | - */ |
|
298 | - public function process_ajax_search() { |
|
299 | - $return = false; |
|
300 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
301 | - |
|
302 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug ) { |
|
303 | - $tours = get_transient( 'lsx_ti_tours' ); |
|
304 | - |
|
305 | - if ( false !== $tours ) { |
|
306 | - $searched_items = false; |
|
307 | - if ( isset( $_POST['keyword'] ) ) { |
|
308 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
309 | - } else { |
|
310 | - $keyphrases = array( 0 ); |
|
311 | - } |
|
312 | - |
|
313 | - if ( ! is_array( $keyphrases ) ) { |
|
314 | - $keyphrases = array( $keyphrases ); |
|
315 | - } |
|
316 | - foreach ( $keyphrases as &$keyword ) { |
|
317 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
318 | - } |
|
319 | - |
|
320 | - $post_status = false; |
|
321 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
322 | - $post_status = 'publish'; |
|
323 | - } |
|
324 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
325 | - $post_status = 'pending'; |
|
326 | - } |
|
327 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
328 | - $post_status = 'draft'; |
|
329 | - } |
|
330 | - if ( in_array( 'import', $keyphrases ) ) { |
|
331 | - $post_status = 'import'; |
|
332 | - } |
|
333 | - |
|
334 | - if ( ! empty( $tours ) ) { |
|
335 | - $current_tours = $this->find_current_tours(); |
|
336 | - |
|
337 | - foreach ( $tours as $row_key => $row ) { |
|
338 | - if ( isset( $row['is_disabled'] ) && true === $row['is_disabled'] ) { |
|
339 | - continue; |
|
340 | - } |
|
341 | - |
|
342 | - // If this is a current tour, add its ID to the row. |
|
343 | - $row['post_id'] = 0; |
|
344 | - $row['post_title'] = $row['name']; |
|
345 | - |
|
346 | - if ( false !== $current_tours && array_key_exists( $row['identifier'], $current_tours ) ) { |
|
347 | - $row['post_id'] = $current_tours[ $row['identifier'] ]->post_id; |
|
348 | - $row['post_title'] = $current_tours[ $row['identifier'] ]->post_title; |
|
349 | - } |
|
350 | - |
|
351 | - // If we are searching for. |
|
352 | - if ( false !== $post_status ) { |
|
353 | - if ( 'import' === $post_status ) { |
|
354 | - |
|
355 | - if ( 0 !== $row['post_id'] ) { |
|
356 | - continue; |
|
357 | - } else { |
|
358 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
359 | - } |
|
360 | - } else { |
|
361 | - if ( 0 === $row['post_id'] ) { |
|
362 | - continue; |
|
363 | - } else { |
|
364 | - $current_status = get_post_status( $row['post_id'] ); |
|
365 | - |
|
366 | - if ( $current_status !== $post_status ) { |
|
367 | - continue; |
|
368 | - } |
|
369 | - } |
|
370 | - |
|
371 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
372 | - } |
|
373 | - } else { |
|
374 | - // Search through each keyword. |
|
375 | - foreach ( $keyphrases as $keyphrase ) { |
|
376 | - |
|
377 | - // Make sure the keyphrase is turned into an array. |
|
378 | - $keywords = explode( ' ', $keyphrase ); |
|
379 | - if ( ! is_array( $keywords ) ) { |
|
380 | - $keywords = array( $keywords ); |
|
381 | - } |
|
382 | - |
|
383 | - if ( $this->multineedle_stripos( ltrim( rtrim( $row['name'] ) ), $keywords ) !== false ) { |
|
384 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
385 | - } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['reference_number'] ) ), $keywords ) !== false ) { |
|
386 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
387 | - } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['identifier_key'] ) ), $keywords ) !== false ) { |
|
388 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
389 | - } |
|
390 | - } |
|
391 | - } |
|
392 | - } |
|
393 | - } |
|
394 | - |
|
395 | - if ( false !== $searched_items ) { |
|
396 | - $return = implode( $searched_items ); |
|
397 | - } |
|
398 | - } |
|
399 | - print_r( $return ); |
|
400 | - die(); |
|
401 | - } |
|
402 | - } |
|
403 | - |
|
404 | - /** |
|
405 | - * Formats the row for output on the screen. |
|
406 | - */ |
|
407 | - public function format_row( $row = false, $row_key = '' ) { |
|
408 | - if ( false !== $row ) { |
|
409 | - $status = 'import'; |
|
410 | - |
|
411 | - if ( 0 !== $row['post_id'] ) { |
|
412 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
413 | - } |
|
414 | - |
|
415 | - $row_html = ' |
|
286 | + if ( null !== $current_tours && ! empty( $current_tours ) ) { |
|
287 | + foreach ( $current_tours as $tour ) { |
|
288 | + $return[ $tour->meta_value ] = $tour; |
|
289 | + } |
|
290 | + } |
|
291 | + |
|
292 | + return $return; |
|
293 | + } |
|
294 | + |
|
295 | + /** |
|
296 | + * Run through the accommodation grabbed from the DB. |
|
297 | + */ |
|
298 | + public function process_ajax_search() { |
|
299 | + $return = false; |
|
300 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
301 | + |
|
302 | + if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug ) { |
|
303 | + $tours = get_transient( 'lsx_ti_tours' ); |
|
304 | + |
|
305 | + if ( false !== $tours ) { |
|
306 | + $searched_items = false; |
|
307 | + if ( isset( $_POST['keyword'] ) ) { |
|
308 | + $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
309 | + } else { |
|
310 | + $keyphrases = array( 0 ); |
|
311 | + } |
|
312 | + |
|
313 | + if ( ! is_array( $keyphrases ) ) { |
|
314 | + $keyphrases = array( $keyphrases ); |
|
315 | + } |
|
316 | + foreach ( $keyphrases as &$keyword ) { |
|
317 | + $keyword = ltrim( rtrim( $keyword ) ); |
|
318 | + } |
|
319 | + |
|
320 | + $post_status = false; |
|
321 | + if ( in_array( 'publish', $keyphrases ) ) { |
|
322 | + $post_status = 'publish'; |
|
323 | + } |
|
324 | + if ( in_array( 'pending', $keyphrases ) ) { |
|
325 | + $post_status = 'pending'; |
|
326 | + } |
|
327 | + if ( in_array( 'draft', $keyphrases ) ) { |
|
328 | + $post_status = 'draft'; |
|
329 | + } |
|
330 | + if ( in_array( 'import', $keyphrases ) ) { |
|
331 | + $post_status = 'import'; |
|
332 | + } |
|
333 | + |
|
334 | + if ( ! empty( $tours ) ) { |
|
335 | + $current_tours = $this->find_current_tours(); |
|
336 | + |
|
337 | + foreach ( $tours as $row_key => $row ) { |
|
338 | + if ( isset( $row['is_disabled'] ) && true === $row['is_disabled'] ) { |
|
339 | + continue; |
|
340 | + } |
|
341 | + |
|
342 | + // If this is a current tour, add its ID to the row. |
|
343 | + $row['post_id'] = 0; |
|
344 | + $row['post_title'] = $row['name']; |
|
345 | + |
|
346 | + if ( false !== $current_tours && array_key_exists( $row['identifier'], $current_tours ) ) { |
|
347 | + $row['post_id'] = $current_tours[ $row['identifier'] ]->post_id; |
|
348 | + $row['post_title'] = $current_tours[ $row['identifier'] ]->post_title; |
|
349 | + } |
|
350 | + |
|
351 | + // If we are searching for. |
|
352 | + if ( false !== $post_status ) { |
|
353 | + if ( 'import' === $post_status ) { |
|
354 | + |
|
355 | + if ( 0 !== $row['post_id'] ) { |
|
356 | + continue; |
|
357 | + } else { |
|
358 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
359 | + } |
|
360 | + } else { |
|
361 | + if ( 0 === $row['post_id'] ) { |
|
362 | + continue; |
|
363 | + } else { |
|
364 | + $current_status = get_post_status( $row['post_id'] ); |
|
365 | + |
|
366 | + if ( $current_status !== $post_status ) { |
|
367 | + continue; |
|
368 | + } |
|
369 | + } |
|
370 | + |
|
371 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
372 | + } |
|
373 | + } else { |
|
374 | + // Search through each keyword. |
|
375 | + foreach ( $keyphrases as $keyphrase ) { |
|
376 | + |
|
377 | + // Make sure the keyphrase is turned into an array. |
|
378 | + $keywords = explode( ' ', $keyphrase ); |
|
379 | + if ( ! is_array( $keywords ) ) { |
|
380 | + $keywords = array( $keywords ); |
|
381 | + } |
|
382 | + |
|
383 | + if ( $this->multineedle_stripos( ltrim( rtrim( $row['name'] ) ), $keywords ) !== false ) { |
|
384 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
385 | + } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['reference_number'] ) ), $keywords ) !== false ) { |
|
386 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
387 | + } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['identifier_key'] ) ), $keywords ) !== false ) { |
|
388 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
389 | + } |
|
390 | + } |
|
391 | + } |
|
392 | + } |
|
393 | + } |
|
394 | + |
|
395 | + if ( false !== $searched_items ) { |
|
396 | + $return = implode( $searched_items ); |
|
397 | + } |
|
398 | + } |
|
399 | + print_r( $return ); |
|
400 | + die(); |
|
401 | + } |
|
402 | + } |
|
403 | + |
|
404 | + /** |
|
405 | + * Formats the row for output on the screen. |
|
406 | + */ |
|
407 | + public function format_row( $row = false, $row_key = '' ) { |
|
408 | + if ( false !== $row ) { |
|
409 | + $status = 'import'; |
|
410 | + |
|
411 | + if ( 0 !== $row['post_id'] ) { |
|
412 | + $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
413 | + } |
|
414 | + |
|
415 | + $row_html = ' |
|
416 | 416 | <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
417 | 417 | <td class="check-column"> |
418 | 418 | <label for="cb-select-' . $row['identifier'] . '" class="screen-reader-text">' . $row['post_title'] . '</label> |
@@ -434,982 +434,982 @@ discard block |
||
434 | 434 | ' . $row['identifier'] . ' |
435 | 435 | </td> |
436 | 436 | </tr>'; |
437 | - return $row_html; |
|
438 | - } |
|
439 | - } |
|
440 | - |
|
441 | - /** |
|
442 | - * Connect to wetu |
|
443 | - */ |
|
444 | - public function process_ajax_import( $force = false ) { |
|
445 | - $return = false; |
|
446 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
447 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['wetu_id'] ) ) { |
|
448 | - |
|
449 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
450 | - if ( isset( $_POST['post_id'] ) ) { |
|
451 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
452 | - } else { |
|
453 | - $post_id = 0; |
|
454 | - } |
|
455 | - |
|
456 | - delete_option( 'lsx_wetu_importer_tour_settings' ); |
|
457 | - |
|
458 | - if ( isset( $_POST['team_members'] ) ) { |
|
459 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
460 | - } else { |
|
461 | - $team_members = false; |
|
462 | - } |
|
463 | - |
|
464 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
465 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
466 | - add_option( 'lsx_wetu_importer_tour_settings', $content ); |
|
467 | - } else { |
|
468 | - $content = false; |
|
469 | - } |
|
470 | - $jdata = wp_remote_get( 'https://wetu.com/API/Itinerary/V8/Get?id=' . $wetu_id ); |
|
471 | - |
|
472 | - if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
473 | - $jdata = json_decode( $jdata['body'], true ); |
|
474 | - $return = $this->import_row( $jdata, $wetu_id, $post_id, $team_members, $content ); |
|
475 | - $this->format_completed_row( $return ); |
|
476 | - $this->save_queue(); |
|
477 | - $this->cleanup_posts(); |
|
478 | - $this->attach_destination_images( $content ); |
|
479 | - $this->clean_attached_destinations( $return ); |
|
480 | - } else { |
|
481 | - $this->format_error( esc_html__( 'There was a problem importing your tour, please try again.', 'lsx-wetu-importer' ) ); |
|
482 | - } |
|
483 | - } |
|
484 | - } |
|
485 | - |
|
486 | - /** |
|
487 | - * Amends the tours destinations instead of replace. |
|
488 | - * |
|
489 | - * @param $id string |
|
490 | - * @return void |
|
491 | - */ |
|
492 | - public function clean_attached_destinations( $id ) { |
|
493 | - $current_connections = get_post_meta( $id, 'destination_to_tour', false ); |
|
494 | - delete_post_meta( $id, 'destination_to_tour' ); |
|
495 | - $current_connections = array_unique( $current_connections ); |
|
496 | - |
|
497 | - foreach ( $current_connections as $connection ) { |
|
498 | - add_post_meta( $id, 'destination_to_tour', $connection, false ); |
|
499 | - } |
|
500 | - } |
|
501 | - |
|
502 | - /** |
|
503 | - * Connect to wetu |
|
504 | - * |
|
505 | - * @param $data array |
|
506 | - * @param $wetu_id string |
|
507 | - */ |
|
508 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $old1 = false, $old2 = false ) { |
|
509 | - $post_name = ''; |
|
510 | - $data_post_content = ''; |
|
511 | - $data_post_excerpt = ''; |
|
512 | - |
|
513 | - $current_post = get_post( $id ); |
|
514 | - |
|
515 | - $post = array( |
|
516 | - 'post_type' => 'tour', |
|
517 | - ); |
|
518 | - |
|
519 | - $content_used_general_description = false; |
|
520 | - |
|
521 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
522 | - $data_post_content = $current_post->post_content; |
|
523 | - if ( isset( $data['summary'] ) && ! empty( $data['summary'] ) ) { |
|
524 | - $data_post_content = $data['summary']; |
|
525 | - } |
|
526 | - $post['post_content'] = $data_post_content; |
|
527 | - } |
|
528 | - |
|
529 | - // Create or update the post. |
|
530 | - if ( false !== $id && '0' !== $id ) { |
|
531 | - $post['ID'] = $id; |
|
532 | - $post['post_status'] = 'publish'; |
|
533 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] ) { |
|
534 | - $post['post_title'] = $data['name']; |
|
535 | - } |
|
536 | - $id = wp_update_post( $post ); |
|
537 | - } else { |
|
538 | - // Set the name. |
|
539 | - if ( isset( $data['name'] ) ) { |
|
540 | - $post_name = wp_unique_post_slug( sanitize_title( $data['name'] ), $id, 'draft', 'tour', 0 ); |
|
541 | - } |
|
542 | - |
|
543 | - if ( ! isset( $post['post_content'] ) ) { |
|
544 | - $post['post_content'] = ' '; |
|
545 | - } |
|
546 | - |
|
547 | - $post['post_name'] = $post_name; |
|
548 | - $post['post_title'] = $data['name']; |
|
549 | - $post['post_status'] = 'publish'; |
|
550 | - $id = wp_insert_post( $post ); |
|
551 | - |
|
552 | - // Save the WETU ID and the Last date it was modified. |
|
553 | - if ( false !== $id ) { |
|
554 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
555 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data['last_modified'] ) ); |
|
556 | - } |
|
557 | - } |
|
558 | - |
|
559 | - // Set reference number. |
|
560 | - $this->set_reference_number( $data, $id ); |
|
561 | - |
|
562 | - // Set the team member if it is there. |
|
563 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
564 | - $this->set_team_member( $id, $team_members ); |
|
565 | - } |
|
566 | - |
|
567 | - // Set the price. |
|
568 | - if ( false !== $importable_content && in_array( 'price', $importable_content ) ) { |
|
569 | - $this->set_price( $data, $id ); |
|
570 | - } |
|
571 | - |
|
572 | - // Set the Duration. |
|
573 | - if ( false !== $importable_content && in_array( 'duration', $importable_content ) ) { |
|
574 | - $this->set_duration( $data, $id ); |
|
575 | - } |
|
576 | - |
|
577 | - // Set the Group Size. |
|
578 | - if ( false !== $importable_content && in_array( 'group_size', $importable_content ) ) { |
|
579 | - $this->set_group_size( $data, $id ); |
|
580 | - } |
|
581 | - |
|
582 | - // Set the Group Size. |
|
583 | - if ( false !== $importable_content && in_array( 'tags', $importable_content ) ) { |
|
584 | - $this->set_travel_styles( $id, $data ); |
|
585 | - } |
|
586 | - |
|
587 | - // Set the Start and End Point Destinations. |
|
588 | - if ( false !== $importable_content && in_array( 'start_end_point', $importable_content ) ) { |
|
589 | - $this->set_start_end_point( $data, $id ); |
|
590 | - } |
|
591 | - |
|
592 | - if ( false !== $importable_content && in_array( 'itineraries', $importable_content ) && isset( $data['legs'] ) && ! empty( $data['legs'] ) ) { |
|
593 | - $this->process_itineraries( $data, $id, $importable_content ); |
|
594 | - } |
|
595 | - |
|
596 | - if ( in_array( 'map', $importable_content ) && isset( $data['routes'] ) && ! empty( $data['routes'] ) ) { |
|
597 | - $this->set_map_data( $data, $id ); |
|
598 | - } |
|
599 | - |
|
600 | - return $id; |
|
601 | - } |
|
602 | - |
|
603 | - /** |
|
604 | - * A loop which runs through each leg on the tour. |
|
605 | - */ |
|
606 | - public function process_itineraries( $data, $id, $importable_content ) { |
|
607 | - $day_counter = 1; |
|
608 | - $leg_counter = 0; |
|
609 | - |
|
610 | - delete_post_meta( $id, 'itinerary' ); |
|
611 | - |
|
612 | - if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
613 | - delete_post_meta( $id, 'accommodation_to_tour' ); |
|
614 | - } |
|
615 | - |
|
616 | - foreach ( $data['legs'] as $leg ) { |
|
617 | - |
|
618 | - // Itinerary Accommodation. |
|
619 | - $current_accommodation = false; |
|
620 | - $current_destination = false; |
|
621 | - if ( 'Mobile' !== $leg['type'] ) { |
|
622 | - if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
623 | - $current_accommodation = $this->set_accommodation( $leg, $id ); |
|
624 | - } |
|
625 | - if ( false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
626 | - $current_destination = $this->set_destination( $leg, $id, $leg_counter ); |
|
627 | - } |
|
628 | - } |
|
629 | - |
|
630 | - // If the Nights are the same mount of days in the array, then it isnt "By Destination". |
|
631 | - if ( ( 1 <= (int) $leg['nights'] && isset( $leg['periods'] ) ) || 0 === $leg['itinerary_leg_id'] ) { |
|
632 | - |
|
633 | - foreach ( $leg['periods'] as $day_key => $day ) { |
|
634 | - $current_day = array(); |
|
635 | - |
|
636 | - // If this is a moble tented solution. |
|
637 | - $next_day_count = $day_counter + (int) $day['days']; |
|
638 | - |
|
639 | - if ( ( isset( $leg['stops'] ) && 'Mobile' !== $leg['type'] ) || ( 1 < (int) $day['days'] ) ) { |
|
640 | - $day_count_label = ' - ' . ( $next_day_count - 1 ); |
|
641 | - } else { |
|
642 | - $day_count_label = ''; |
|
643 | - } |
|
644 | - $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter . $day_count_label; |
|
645 | - |
|
646 | - // Description. |
|
647 | - if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $day['notes'] ) ) { |
|
648 | - $current_day['description'] = $day['notes']; |
|
649 | - } else { |
|
650 | - $current_day['description'] = ''; |
|
651 | - } |
|
652 | - |
|
653 | - // Itinerary Gallery. |
|
654 | - if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $day['images'] ) ) { |
|
655 | - $current_day['featured_image'] = ''; |
|
656 | - } else { |
|
657 | - $current_day['featured_image'] = ''; |
|
658 | - } |
|
659 | - |
|
660 | - // If its a mobile safari, we need to get the destination and accommodation data from the stops. |
|
661 | - if ( 'Mobile' === $leg['type'] ) { |
|
662 | - $current_destination = $this->get_mobile_destination( $day, $leg, $id ); |
|
663 | - $current_accommodation = $this->get_mobile_accommodation( $day, $leg, $id ); |
|
664 | - } |
|
665 | - |
|
666 | - // Accommodation. |
|
667 | - if ( false !== $current_accommodation ) { |
|
668 | - $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
669 | - } else { |
|
670 | - $current_day['accommodation_to_tour'] = array(); |
|
671 | - } |
|
672 | - |
|
673 | - // Destination. |
|
674 | - if ( false !== $current_destination ) { |
|
675 | - $current_day['destination_to_tour'] = array( $current_destination ); |
|
676 | - } else { |
|
677 | - $current_day['destination_to_tour'] = array(); |
|
678 | - } |
|
679 | - |
|
680 | - // Included. |
|
681 | - if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $day['included'] ) && '' !== $day['included'] ) { |
|
682 | - $current_day['included'] = $day['included']; |
|
683 | - } else { |
|
684 | - $current_day['included'] = ''; |
|
685 | - } |
|
686 | - |
|
687 | - // Excluded. |
|
688 | - if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $day['excluded'] ) && '' !== $day['excluded'] ) { |
|
689 | - $current_day['excluded'] = $day['excluded']; |
|
690 | - } else { |
|
691 | - $current_day['excluded'] = ''; |
|
692 | - } |
|
693 | - |
|
694 | - // Excluded. |
|
695 | - if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $day['room_basis'] ) && '' !== $day['room_basis'] ) { |
|
696 | - $current_day['room_basis'] = $day['room_basis']; |
|
697 | - } else { |
|
698 | - $current_day['room_basis'] = ''; |
|
699 | - } |
|
700 | - |
|
701 | - // Excluded. |
|
702 | - if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $day['drinks_basis'] ) && '' !== $day['drinks_basis'] ) { |
|
703 | - $current_day['drinks_basis'] = $day['drinks_basis']; |
|
704 | - } else { |
|
705 | - $current_day['drinks_basis'] = ''; |
|
706 | - } |
|
707 | - |
|
708 | - $this->set_itinerary_day( $current_day, $id ); |
|
709 | - $day_counter = $next_day_count; |
|
710 | - } |
|
711 | - } else { |
|
712 | - // This is for the by destination. |
|
713 | - |
|
714 | - $current_day = array(); |
|
715 | - $next_day_count = $day_counter + (int) $leg['nights']; |
|
716 | - $day_count_label = $next_day_count - 1; |
|
717 | - |
|
718 | - $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter; |
|
719 | - |
|
720 | - if ( 0 !== (int) $leg['nights'] ) { |
|
721 | - $current_day['title'] .= ' - ' . $day_count_label; |
|
722 | - } |
|
723 | - |
|
724 | - // Description. |
|
725 | - if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $leg['notes'] ) ) { |
|
726 | - $current_day['description'] = $leg['notes']; |
|
727 | - } else { |
|
728 | - $current_day['description'] = ''; |
|
729 | - } |
|
730 | - |
|
731 | - // Itinerary Gallery. |
|
732 | - if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $leg['images'] ) ) { |
|
733 | - $current_day['featured_image'] = ''; |
|
734 | - } else { |
|
735 | - $current_day['featured_image'] = ''; |
|
736 | - } |
|
737 | - |
|
738 | - // Accommodation. |
|
739 | - if ( false !== $current_accommodation ) { |
|
740 | - $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
741 | - } else { |
|
742 | - $current_day['accommodation_to_tour'] = array(); |
|
743 | - } |
|
744 | - |
|
745 | - // Destination. |
|
746 | - if ( false !== $current_destination ) { |
|
747 | - $current_day['destination_to_tour'] = array( $current_destination ); |
|
748 | - } else { |
|
749 | - $current_day['destination_to_tour'] = array(); |
|
750 | - } |
|
751 | - |
|
752 | - // Included. |
|
753 | - if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $leg['included'] ) && '' !== $leg['included'] ) { |
|
754 | - $current_day['included'] = $leg['included']; |
|
755 | - } else { |
|
756 | - $current_day['included'] = ''; |
|
757 | - } |
|
758 | - |
|
759 | - // Excluded. |
|
760 | - if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $leg['excluded'] ) && '' !== $leg['excluded'] ) { |
|
761 | - $current_day['excluded'] = $leg['excluded']; |
|
762 | - } else { |
|
763 | - $current_day['excluded'] = ''; |
|
764 | - } |
|
765 | - |
|
766 | - // Excluded. |
|
767 | - if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $leg['room_basis'] ) && '' !== $leg['room_basis'] ) { |
|
768 | - $current_day['room_basis'] = $leg['room_basis']; |
|
769 | - } else { |
|
770 | - $current_day['room_basis'] = ''; |
|
771 | - } |
|
772 | - |
|
773 | - // Excluded. |
|
774 | - if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $leg['drinks_basis'] ) && '' !== $leg['drinks_basis'] ) { |
|
775 | - $current_day['drinks_basis'] = $leg['drinks_basis']; |
|
776 | - } else { |
|
777 | - $current_day['drinks_basis'] = ''; |
|
778 | - } |
|
779 | - |
|
780 | - $this->set_itinerary_day( $current_day, $id ); |
|
781 | - $day_counter = $next_day_count; |
|
782 | - } |
|
783 | - $leg_counter++; |
|
784 | - } |
|
785 | - } |
|
786 | - |
|
787 | - /** |
|
788 | - * Sets the departs from and ends in points on the tours. |
|
789 | - * |
|
790 | - * @param array $data |
|
791 | - * @param string $id |
|
792 | - * @return void |
|
793 | - */ |
|
794 | - public function set_start_end_point( $data, $id ) { |
|
795 | - delete_post_meta( $id, 'departs_from' ); |
|
796 | - delete_post_meta( $id, 'ends_in' ); |
|
797 | - $departs_from = false; |
|
798 | - $ends_in = false; |
|
799 | - |
|
800 | - $args = array( |
|
801 | - 'points' => $data['legs'], |
|
802 | - 'start_index' => 0, |
|
803 | - 'end_index' => count( $data['legs'] ) - 2, |
|
804 | - ); |
|
805 | - $args = apply_filters( 'lsx_wetu_start_end_args', $args, $data ); |
|
806 | - |
|
807 | - if ( ! empty( $args['points'] ) && is_array( $args['points'] ) ) { |
|
808 | - $leg_counter = 0; |
|
809 | - |
|
810 | - foreach ( $args['points'] as $point ) { |
|
811 | - // If we are in the first leg, and the destination was attached then save it as the departure field. |
|
812 | - if ( $leg_counter === $args['start_index'] ) { |
|
813 | - $departs_from_destination = $this->set_country( $point['destination_content_entity_id'], $id ); |
|
814 | - if ( false !== $departs_from_destination ) { |
|
815 | - $departs_from = $departs_from_destination; |
|
816 | - } |
|
817 | - } |
|
818 | - // If its the last leg then save it as the ends in. |
|
819 | - if ( $leg_counter === $args['end_index'] ) { |
|
820 | - $ends_in = $point['destination_content_entity_id']; |
|
821 | - } |
|
822 | - $leg_counter++; |
|
823 | - } |
|
824 | - |
|
825 | - $departs_from = apply_filters( 'lsx_wetu_departs_from_id', $departs_from, $data, $this ); |
|
826 | - if ( false !== $departs_from ) { |
|
827 | - add_post_meta( $id, 'departs_from', $departs_from, true ); |
|
828 | - } |
|
829 | - |
|
830 | - if ( false !== $ends_in ) { |
|
831 | - $ends_in = apply_filters( 'lsx_wetu_ends_in_id', $ends_in, $data, $this ); |
|
832 | - $ends_in_destination = $this->set_country( $ends_in, $id ); |
|
833 | - if ( false !== $ends_in_destination ) { |
|
834 | - add_post_meta( $id, 'ends_in', $ends_in_destination, true ); |
|
835 | - } |
|
836 | - } |
|
837 | - } |
|
838 | - } |
|
839 | - |
|
840 | - /** |
|
841 | - * Gets the destination for the mobile camp. |
|
842 | - * |
|
843 | - * @param $day |
|
844 | - * @param $leg |
|
845 | - * @return void |
|
846 | - */ |
|
847 | - public function get_mobile_destination( $day, $leg, $id ) { |
|
848 | - $current_destination = false; |
|
849 | - $current_day = (int) $day['period_start_day']; |
|
850 | - if ( isset( $leg['stops'] ) ) { |
|
851 | - foreach ( $leg['stops'] as $stop ) { |
|
852 | - $arrival_day = (int) $stop['arrival_day']; |
|
853 | - $departure_day = (int) $stop['departure_day']; |
|
854 | - if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
855 | - $current_destination = $this->set_destination( $stop, $id, 0 ); |
|
856 | - } |
|
857 | - } |
|
858 | - } |
|
859 | - return $current_destination; |
|
860 | - } |
|
861 | - |
|
862 | - /** |
|
863 | - * Gets the accommodation for the mobile camp. |
|
864 | - * |
|
865 | - * @param $day |
|
866 | - * @param $leg |
|
867 | - * @return void |
|
868 | - */ |
|
869 | - public function get_mobile_accommodation( $day, $leg, $id ) { |
|
870 | - $current_accommodation = false; |
|
871 | - $current_day = (int) $day['period_start_day']; |
|
872 | - if ( isset( $leg['stops'] ) ) { |
|
873 | - foreach ( $leg['stops'] as $stop ) { |
|
874 | - $arrival_day = (int) $stop['arrival_day']; |
|
875 | - $departure_day = (int) $stop['departure_day']; |
|
876 | - if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
877 | - $current_accommodation = $this->set_accommodation( $stop, $id, 0 ); |
|
878 | - } |
|
879 | - } |
|
880 | - } |
|
881 | - return $current_accommodation; |
|
882 | - } |
|
883 | - |
|
884 | - /** |
|
885 | - * Run through your routes and save the points as a KML file. |
|
886 | - */ |
|
887 | - public function set_map_data( $data, $id, $zoom = 9 ) { |
|
888 | - if ( ! empty( $data['routes'] ) ) { |
|
889 | - delete_post_meta( $id, 'wetu_map_points' ); |
|
890 | - |
|
891 | - $points = array(); |
|
892 | - |
|
893 | - foreach ( $data['routes'] as $route ) { |
|
894 | - |
|
895 | - if ( isset( $route['points'] ) && '' !== $route['points'] ) { |
|
896 | - |
|
897 | - $temp_points = explode( ';', $route['points'] ); |
|
898 | - $point_counter = count( $temp_points ); |
|
899 | - |
|
900 | - for ( $x = 0; $x <= $point_counter; $x++ ) { |
|
901 | - $y = $x + 1; |
|
902 | - $points[] = $temp_points[ $x ] . ',' . $temp_points[ $y ]; |
|
903 | - $x++; |
|
904 | - } |
|
905 | - } |
|
906 | - } |
|
907 | - |
|
908 | - if ( ! empty( $points ) ) { |
|
909 | - $this->save_custom_field( implode( ' ', $points ), 'wetu_map_points', $id, false, true ); |
|
910 | - } |
|
911 | - } |
|
912 | - |
|
913 | - } |
|
914 | - |
|
915 | - // CLASS SPECIFIC FUNCTIONS. |
|
916 | - |
|
917 | - /** |
|
918 | - * Set the Itinerary Day. |
|
919 | - */ |
|
920 | - public function set_itinerary_day( $day, $id ) { |
|
921 | - $this->save_custom_field( $day, 'itinerary', $id, false, false ); |
|
922 | - } |
|
923 | - |
|
924 | - /** |
|
925 | - * Set the ref number |
|
926 | - */ |
|
927 | - public function set_reference_number( $data, $id ) { |
|
928 | - if ( isset( $data['reference_number'] ) && '' !== $data['reference_number'] ) { |
|
929 | - $this->save_custom_field( $data['reference_number'], 'lsx_wetu_ref', $id ); |
|
930 | - } |
|
931 | - } |
|
932 | - |
|
933 | - /** |
|
934 | - * Set the price. |
|
935 | - */ |
|
936 | - public function set_price( $data, $id ) { |
|
937 | - // Price. |
|
938 | - if ( isset( $data['price'] ) && '' !== $data['price'] ) { |
|
939 | - $price = $data['price']; |
|
940 | - if ( false === apply_filters( 'lsx_wetu_importer_disable_tour_price_filter', false ) ) { |
|
941 | - $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
942 | - } |
|
943 | - $meta_key = apply_filters( 'lsx_wetu_importer_price_meta_key', 'price' ); |
|
944 | - $this->save_custom_field( $price, $meta_key, $id ); |
|
945 | - } |
|
946 | - |
|
947 | - // Price includes. |
|
948 | - if ( isset( $data['price_includes'] ) && '' !== $data['price_includes'] ) { |
|
949 | - $meta_key = apply_filters( 'lsx_wetu_importer_included_meta_key', 'included' ); |
|
950 | - $this->save_custom_field( $data['price_includes'], $meta_key, $id ); |
|
951 | - } |
|
952 | - |
|
953 | - // Price Excludes. |
|
954 | - if ( isset( $data['price_excludes'] ) && '' !== $data['price_excludes'] ) { |
|
955 | - $meta_key = apply_filters( 'lsx_wetu_importer_not_included_meta_key', 'not_included' ); |
|
956 | - $this->save_custom_field( $data['price_excludes'], $meta_key, $id ); |
|
957 | - } |
|
958 | - } |
|
959 | - |
|
960 | - /** |
|
961 | - * Set the duration. |
|
962 | - */ |
|
963 | - public function set_duration( $data, $id ) { |
|
964 | - if ( isset( $data['days'] ) && ! empty( $data['days'] ) ) { |
|
965 | - $price = $data['days']; |
|
966 | - $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
967 | - $this->save_custom_field( $price, 'duration', $id ); |
|
968 | - } |
|
969 | - } |
|
970 | - |
|
971 | - /** |
|
972 | - * Set the group size |
|
973 | - */ |
|
974 | - public function set_group_size( $data, $id ) { |
|
975 | - if ( isset( $data['group_size'] ) && ! empty( $data['group_size'] ) ) { |
|
976 | - $group_size = $data['group_size']; |
|
977 | - $this->save_custom_field( $group_size, 'group_size', $id ); |
|
978 | - } |
|
979 | - } |
|
980 | - |
|
981 | - /** |
|
982 | - * Takes the WETU tags and sets the Travel Styles. |
|
983 | - * |
|
984 | - * @param string $id |
|
985 | - * @param array $travel_styles |
|
986 | - * @return void |
|
987 | - */ |
|
988 | - public function set_travel_styles( $id, $data ) { |
|
989 | - $tags = apply_filters( 'lsx_wetu_importer_tour_travel_styles', $data['tags'] ); |
|
990 | - if ( isset( $data['tags'] ) && ! empty( $tags ) ) { |
|
991 | - foreach ( $tags as $tag ) { |
|
992 | - $this->set_term( $id, $tag, 'travel-style' ); |
|
993 | - } |
|
994 | - } |
|
995 | - } |
|
996 | - |
|
997 | - /** |
|
998 | - * Connects the Accommodation if its available |
|
999 | - */ |
|
1000 | - public function set_accommodation( $day, $id ) { |
|
1001 | - $ac_id = false; |
|
1002 | - $this->current_accommodation = $this->find_current_accommodation(); |
|
1003 | - |
|
1004 | - if ( isset( $day['content_entity_id'] ) && ! empty( $day['content_entity_id'] ) ) { |
|
1005 | - if ( false !== $this->current_accommodation && ! empty( $this->current_accommodation ) && array_key_exists( $day['content_entity_id'], $this->current_accommodation ) ) { |
|
1006 | - $ac_id = $this->current_accommodation[ $day['content_entity_id'] ]; |
|
1007 | - } else { |
|
1008 | - $ac_id = wp_insert_post(array( |
|
1009 | - 'post_type' => 'accommodation', |
|
1010 | - 'post_status' => 'draft', |
|
1011 | - 'post_title' => $day['content_entity_id'], |
|
1012 | - )); |
|
1013 | - |
|
1014 | - $this->save_custom_field( $day['content_entity_id'], 'lsx_wetu_id', $ac_id ); |
|
1015 | - } |
|
1016 | - |
|
1017 | - if ( '' !== $ac_id && false !== $ac_id ) { |
|
1018 | - $this->save_custom_field( $ac_id, 'accommodation_to_tour', $id, false, false ); |
|
1019 | - $this->save_custom_field( $id, 'tour_to_accommodation', $ac_id, false, false ); |
|
1020 | - $this->queue_item( $ac_id ); |
|
1021 | - } |
|
1022 | - } |
|
1023 | - return $ac_id; |
|
1024 | - } |
|
1025 | - |
|
1026 | - /** |
|
1027 | - * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
1028 | - * |
|
1029 | - * @param $post_type string |
|
1030 | - * @return boolean / array |
|
1031 | - */ |
|
1032 | - public function find_current_accommodation( $post_type = 'accommodation' ) { |
|
1033 | - global $wpdb; |
|
1034 | - $accommodation = parent::find_current_accommodation( $post_type ); |
|
1035 | - $return = false; |
|
1036 | - |
|
1037 | - if ( ! empty( $accommodation ) ) { |
|
1038 | - foreach ( $accommodation as $key => $acc ) { |
|
1039 | - $return[ $acc->meta_value ] = $acc->post_id; |
|
1040 | - } |
|
1041 | - } |
|
1042 | - |
|
1043 | - return $return; |
|
1044 | - } |
|
1045 | - |
|
1046 | - /** |
|
1047 | - * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
1048 | - * @return boolean / array |
|
1049 | - */ |
|
1050 | - public function find_current_destinations() { |
|
1051 | - return $this->find_current_accommodation( 'destination' ); |
|
1052 | - } |
|
1053 | - |
|
1054 | - /** |
|
1055 | - * Connects the destinations post type |
|
1056 | - * |
|
1057 | - * @param $day array |
|
1058 | - * @param $id string |
|
1059 | - * @return boolean / string |
|
1060 | - */ |
|
1061 | - public function set_destination( $day, $id, $leg_counter ) { |
|
1062 | - $dest_id = false; |
|
1063 | - $country_id = false; |
|
1064 | - |
|
1065 | - $this->current_destinations = $this->find_current_destinations(); |
|
1066 | - |
|
1067 | - if ( isset( $day['destination_content_entity_id'] ) && ! empty( $day['destination_content_entity_id'] ) ) { |
|
1068 | - if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $day['destination_content_entity_id'], $this->current_destinations ) ) { |
|
1069 | - $dest_id = $this->current_destinations[ $day['destination_content_entity_id'] ]; |
|
1070 | - |
|
1071 | - //TODO Check for attachments here. |
|
1072 | - $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1073 | - |
|
1074 | - //Check if there is a country asigned. |
|
1075 | - $potential_id = wp_get_post_parent_id( $dest_id ); |
|
1076 | - $country_wetu_id = get_post_meta( $potential_id, 'lsx_wetu_id', true ); |
|
1077 | - |
|
1078 | - if ( false !== $country_wetu_id ) { |
|
1079 | - $country_id = $this->set_country( $country_wetu_id, $id ); |
|
1080 | - //$this->destination_images[ $id ][] = array( $id, $country_wetu_id ); |
|
1081 | - } |
|
1082 | - } else { |
|
1083 | - $destination_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $day['destination_content_entity_id'] ); |
|
1084 | - |
|
1085 | - if ( ! is_wp_error( $destination_json ) && ! empty( $destination_json ) && isset( $destination_json['response'] ) && isset( $destination_json['response']['code'] ) && 200 === $destination_json['response']['code'] ) { |
|
1086 | - |
|
1087 | - $destination_data = json_decode( $destination_json['body'], true ); |
|
1088 | - |
|
1089 | - if ( ! empty( $destination_data ) && ! isset( $destination_data['error'] ) ) { |
|
1090 | - $destination_title = $day['destination_content_entity_id']; |
|
1091 | - |
|
1092 | - if ( isset( $destination_data[0]['name'] ) ) { |
|
1093 | - $destination_title = $destination_data[0]['name']; |
|
1094 | - } |
|
1095 | - |
|
1096 | - if ( isset( $destination_data[0]['map_object_id'] ) && isset( $destination_data[0]['position']['country_content_entity_id'] ) |
|
1097 | - && $destination_data[0]['map_object_id'] !== $destination_data[0]['position']['country_content_entity_id'] ) { |
|
1098 | - |
|
1099 | - $country_id = $this->set_country( $destination_data[0]['position']['country_content_entity_id'], $id ); |
|
1100 | - // Save the destination so we can grab the tour featured image and banner from them. |
|
1101 | - } |
|
1102 | - |
|
1103 | - $dest_post = array( |
|
1104 | - 'post_type' => 'destination', |
|
1105 | - 'post_status' => 'draft', |
|
1106 | - 'post_title' => $destination_title, |
|
1107 | - ); |
|
1108 | - |
|
1109 | - if ( false !== $country_id ) { |
|
1110 | - $dest_post['post_parent'] = $country_id; |
|
1111 | - } |
|
1112 | - $dest_id = wp_insert_post( $dest_post ); |
|
1113 | - |
|
1114 | - // Make sure we register the. |
|
1115 | - $this->current_destinations[ $day['destination_content_entity_id'] ] = $dest_id; |
|
1116 | - |
|
1117 | - // If there are images attached then use the destination. |
|
1118 | - if ( isset( $destination_data[0]['content']['images'] ) && ! empty( $destination_data[0]['content']['images'] ) ) { |
|
1119 | - $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1120 | - } |
|
1121 | - |
|
1122 | - $this->save_custom_field( $day['destination_content_entity_id'], 'lsx_wetu_id', $dest_id ); |
|
1123 | - } |
|
1124 | - } |
|
1125 | - } |
|
1126 | - |
|
1127 | - if ( '' !== $dest_id && false !== $dest_id ) { |
|
1128 | - $this->save_custom_field( $dest_id, 'destination_to_tour', $id, false, false ); |
|
1129 | - $this->save_custom_field( $id, 'tour_to_destination', $dest_id, false, false ); |
|
1130 | - |
|
1131 | - //Save the item to display in the queue |
|
1132 | - $this->queue_item( $dest_id ); |
|
1133 | - |
|
1134 | - //Save the item to clean up the amount of connections. |
|
1135 | - $this->cleanup_posts[ $dest_id ] = 'tour_to_destination'; |
|
1136 | - |
|
1137 | - //Add this relation info so we can make sure certain items are set as countries. |
|
1138 | - if ( 0 !== $country_id && false !== $country_id ) { |
|
1139 | - $this->relation_meta[ $dest_id ] = $country_id; |
|
1140 | - $this->relation_meta[ $country_id ] = 0; |
|
1141 | - } else { |
|
1142 | - $this->relation_meta[ $dest_id ] = 0; |
|
1143 | - } |
|
1144 | - } |
|
1145 | - } |
|
1146 | - return $dest_id; |
|
1147 | - } |
|
1148 | - |
|
1149 | - /** |
|
1150 | - * Connects the destinations post type |
|
1151 | - * |
|
1152 | - * @param $dest_id string |
|
1153 | - * @param $country_id array |
|
1154 | - * @param $id string |
|
1155 | - * |
|
1156 | - * @return string |
|
1157 | - */ |
|
1158 | - public function set_country( $country_wetu_id, $id ) { |
|
1159 | - $country_id = false; |
|
1160 | - $this->current_destinations = $this->find_current_destinations(); |
|
1161 | - |
|
1162 | - if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $country_wetu_id, $this->current_destinations ) ) { |
|
1163 | - $country_id = $this->current_destinations[ $country_wetu_id ]; |
|
1164 | - $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1165 | - } else { |
|
1166 | - $country_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $country_wetu_id ); |
|
1167 | - |
|
1168 | - if ( ! is_wp_error( $country_json ) && ! empty( $country_json ) && isset( $country_json['response'] ) && isset( $country_json['response']['code'] ) && 200 === $country_json['response']['code'] ) { |
|
1169 | - $country_data = json_decode( $country_json['body'], true ); |
|
1170 | - |
|
1171 | - // Format the title of the destination if its available, otherwise default to the WETU ID. |
|
1172 | - $country_title = $country_wetu_id; |
|
1173 | - |
|
1174 | - if ( isset( $country_data[0]['name'] ) ) { |
|
1175 | - $country_title = $country_data[0]['name']; |
|
1176 | - } |
|
1177 | - |
|
1178 | - $country_id = wp_insert_post( array( |
|
1179 | - 'post_type' => 'destination', |
|
1180 | - 'post_status' => 'draft', |
|
1181 | - 'post_title' => $country_title, |
|
1182 | - )); |
|
1183 | - |
|
1184 | - //add the country to the current destination stack |
|
1185 | - $this->current_destinations[ $country_wetu_id ] = $country_id; |
|
1186 | - |
|
1187 | - // Check if there are images and save fore use later. |
|
1188 | - if ( isset( $country_data[0]['content']['images'] ) && ! empty( $country_data[0]['content']['images'] ) ) { |
|
1189 | - $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1190 | - } |
|
1191 | - |
|
1192 | - //Save the wetu field |
|
1193 | - $this->save_custom_field( $country_wetu_id, 'lsx_wetu_id', $country_id ); |
|
1194 | - } |
|
1195 | - } |
|
1196 | - |
|
1197 | - if ( '' !== $country_id && false !== $country_id ) { |
|
1198 | - $this->save_custom_field( $country_id, 'destination_to_tour', $id, false, false ); |
|
1199 | - $this->save_custom_field( $id, 'tour_to_destination', $country_id, false, false ); |
|
1200 | - $this->queue_item( $country_id ); |
|
1201 | - $this->cleanup_posts[ $country_id ] = 'tour_to_destination'; |
|
1202 | - |
|
1203 | - return $country_id; |
|
1204 | - } |
|
1205 | - } |
|
1206 | - |
|
1207 | - /** |
|
1208 | - * Connects the destinations post type |
|
1209 | - * |
|
1210 | - * @param $dest_id string |
|
1211 | - * @param $country_id array |
|
1212 | - * @param $id string |
|
1213 | - * |
|
1214 | - * @return string |
|
1215 | - */ |
|
1216 | - public function attach_destination_images( $importable_content = array() ) { |
|
1217 | - if ( false !== $this->destination_images ) { |
|
1218 | - $this->shuffle_assoc( $this->destination_images ); |
|
1219 | - foreach ( $this->destination_images as $tour => $destinations ) { |
|
1220 | - shuffle( $destinations ); |
|
1221 | - $image_set = false; |
|
1222 | - $forced = false; |
|
1223 | - |
|
1224 | - foreach ( $destinations as $destination ) { |
|
1225 | - if ( false === $image_set && false === $forced ) { |
|
1226 | - $url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
1227 | - |
|
1228 | - $url_qs = ''; |
|
1229 | - $jdata = wp_remote_get( $url . '/Get?' . $url_qs . '&ids=' . $destination[1] ); |
|
1230 | - |
|
1231 | - if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
1232 | - $adata = json_decode( $jdata['body'], true ); |
|
1233 | - |
|
1234 | - if ( ! empty( $adata ) && ! empty( $adata[0]['content']['images'] ) ) { |
|
1235 | - $this->find_attachments( $destination[0] ); |
|
1236 | - |
|
1237 | - // Set the featured image. |
|
1238 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
1239 | - $image_set = $this->set_featured_image( $adata, $tour ); |
|
1240 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1241 | - $image_set = $this->set_banner_image( $adata, $tour ); |
|
1242 | - $forced = true; |
|
1243 | - } |
|
1244 | - continue; |
|
1245 | - } |
|
1246 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1247 | - $image_set = $this->set_banner_image( $adata, $tour ); |
|
1248 | - } |
|
1249 | - } |
|
1250 | - } |
|
1251 | - } else { |
|
1252 | - continue; |
|
1253 | - } |
|
1254 | - } |
|
1255 | - } |
|
1256 | - } |
|
1257 | - } |
|
1258 | - |
|
1259 | - /** |
|
1260 | - * Creates the main gallery data |
|
1261 | - */ |
|
1262 | - public function set_featured_image( $data, $id ) { |
|
1263 | - $image_set = false; |
|
1264 | - $counter = 0; |
|
1265 | - |
|
1266 | - if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1267 | - $images_array = $data[0]['content']['images']; |
|
1268 | - |
|
1269 | - if ( 'on' === $this->options['enable_tour_featured_random'] ) { |
|
1270 | - shuffle( $images_array ); |
|
1271 | - } |
|
1272 | - |
|
1273 | - foreach ( $images_array as $v ) { |
|
1274 | - |
|
1275 | - if ( true === $image_set ) { |
|
1276 | - $counter++; |
|
1277 | - continue; |
|
1278 | - } |
|
1279 | - |
|
1280 | - if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1281 | - $temp_featured_image = $this->attach_image( $v, $id ); |
|
1282 | - |
|
1283 | - if ( false !== $temp_featured_image ) { |
|
1284 | - $this->featured_image = $temp_featured_image; |
|
1285 | - delete_post_meta( $id, '_thumbnail_id' ); |
|
1286 | - add_post_meta( $id, '_thumbnail_id', $this->featured_image, true ); |
|
1287 | - $image_set = true; |
|
1288 | - } |
|
1289 | - } |
|
1290 | - |
|
1291 | - $counter++; |
|
1292 | - } |
|
1293 | - } |
|
1294 | - return $image_set; |
|
1295 | - } |
|
1296 | - |
|
1297 | - /** |
|
1298 | - * Sets a banner image |
|
1299 | - */ |
|
1300 | - public function set_banner_image( $data, $id, $content = array( 'none' ) ) { |
|
1301 | - $image_set = false; |
|
1302 | - $counter = 0; |
|
1303 | - |
|
1304 | - if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1305 | - |
|
1306 | - foreach ( $data[0]['content']['images'] as $v ) { |
|
1307 | - /*print_r('<pre>'); |
|
437 | + return $row_html; |
|
438 | + } |
|
439 | + } |
|
440 | + |
|
441 | + /** |
|
442 | + * Connect to wetu |
|
443 | + */ |
|
444 | + public function process_ajax_import( $force = false ) { |
|
445 | + $return = false; |
|
446 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
447 | + if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['wetu_id'] ) ) { |
|
448 | + |
|
449 | + $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
450 | + if ( isset( $_POST['post_id'] ) ) { |
|
451 | + $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
452 | + } else { |
|
453 | + $post_id = 0; |
|
454 | + } |
|
455 | + |
|
456 | + delete_option( 'lsx_wetu_importer_tour_settings' ); |
|
457 | + |
|
458 | + if ( isset( $_POST['team_members'] ) ) { |
|
459 | + $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
460 | + } else { |
|
461 | + $team_members = false; |
|
462 | + } |
|
463 | + |
|
464 | + if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
465 | + $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
466 | + add_option( 'lsx_wetu_importer_tour_settings', $content ); |
|
467 | + } else { |
|
468 | + $content = false; |
|
469 | + } |
|
470 | + $jdata = wp_remote_get( 'https://wetu.com/API/Itinerary/V8/Get?id=' . $wetu_id ); |
|
471 | + |
|
472 | + if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
473 | + $jdata = json_decode( $jdata['body'], true ); |
|
474 | + $return = $this->import_row( $jdata, $wetu_id, $post_id, $team_members, $content ); |
|
475 | + $this->format_completed_row( $return ); |
|
476 | + $this->save_queue(); |
|
477 | + $this->cleanup_posts(); |
|
478 | + $this->attach_destination_images( $content ); |
|
479 | + $this->clean_attached_destinations( $return ); |
|
480 | + } else { |
|
481 | + $this->format_error( esc_html__( 'There was a problem importing your tour, please try again.', 'lsx-wetu-importer' ) ); |
|
482 | + } |
|
483 | + } |
|
484 | + } |
|
485 | + |
|
486 | + /** |
|
487 | + * Amends the tours destinations instead of replace. |
|
488 | + * |
|
489 | + * @param $id string |
|
490 | + * @return void |
|
491 | + */ |
|
492 | + public function clean_attached_destinations( $id ) { |
|
493 | + $current_connections = get_post_meta( $id, 'destination_to_tour', false ); |
|
494 | + delete_post_meta( $id, 'destination_to_tour' ); |
|
495 | + $current_connections = array_unique( $current_connections ); |
|
496 | + |
|
497 | + foreach ( $current_connections as $connection ) { |
|
498 | + add_post_meta( $id, 'destination_to_tour', $connection, false ); |
|
499 | + } |
|
500 | + } |
|
501 | + |
|
502 | + /** |
|
503 | + * Connect to wetu |
|
504 | + * |
|
505 | + * @param $data array |
|
506 | + * @param $wetu_id string |
|
507 | + */ |
|
508 | + public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $old1 = false, $old2 = false ) { |
|
509 | + $post_name = ''; |
|
510 | + $data_post_content = ''; |
|
511 | + $data_post_excerpt = ''; |
|
512 | + |
|
513 | + $current_post = get_post( $id ); |
|
514 | + |
|
515 | + $post = array( |
|
516 | + 'post_type' => 'tour', |
|
517 | + ); |
|
518 | + |
|
519 | + $content_used_general_description = false; |
|
520 | + |
|
521 | + if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
522 | + $data_post_content = $current_post->post_content; |
|
523 | + if ( isset( $data['summary'] ) && ! empty( $data['summary'] ) ) { |
|
524 | + $data_post_content = $data['summary']; |
|
525 | + } |
|
526 | + $post['post_content'] = $data_post_content; |
|
527 | + } |
|
528 | + |
|
529 | + // Create or update the post. |
|
530 | + if ( false !== $id && '0' !== $id ) { |
|
531 | + $post['ID'] = $id; |
|
532 | + $post['post_status'] = 'publish'; |
|
533 | + if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] ) { |
|
534 | + $post['post_title'] = $data['name']; |
|
535 | + } |
|
536 | + $id = wp_update_post( $post ); |
|
537 | + } else { |
|
538 | + // Set the name. |
|
539 | + if ( isset( $data['name'] ) ) { |
|
540 | + $post_name = wp_unique_post_slug( sanitize_title( $data['name'] ), $id, 'draft', 'tour', 0 ); |
|
541 | + } |
|
542 | + |
|
543 | + if ( ! isset( $post['post_content'] ) ) { |
|
544 | + $post['post_content'] = ' '; |
|
545 | + } |
|
546 | + |
|
547 | + $post['post_name'] = $post_name; |
|
548 | + $post['post_title'] = $data['name']; |
|
549 | + $post['post_status'] = 'publish'; |
|
550 | + $id = wp_insert_post( $post ); |
|
551 | + |
|
552 | + // Save the WETU ID and the Last date it was modified. |
|
553 | + if ( false !== $id ) { |
|
554 | + add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
555 | + add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data['last_modified'] ) ); |
|
556 | + } |
|
557 | + } |
|
558 | + |
|
559 | + // Set reference number. |
|
560 | + $this->set_reference_number( $data, $id ); |
|
561 | + |
|
562 | + // Set the team member if it is there. |
|
563 | + if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
564 | + $this->set_team_member( $id, $team_members ); |
|
565 | + } |
|
566 | + |
|
567 | + // Set the price. |
|
568 | + if ( false !== $importable_content && in_array( 'price', $importable_content ) ) { |
|
569 | + $this->set_price( $data, $id ); |
|
570 | + } |
|
571 | + |
|
572 | + // Set the Duration. |
|
573 | + if ( false !== $importable_content && in_array( 'duration', $importable_content ) ) { |
|
574 | + $this->set_duration( $data, $id ); |
|
575 | + } |
|
576 | + |
|
577 | + // Set the Group Size. |
|
578 | + if ( false !== $importable_content && in_array( 'group_size', $importable_content ) ) { |
|
579 | + $this->set_group_size( $data, $id ); |
|
580 | + } |
|
581 | + |
|
582 | + // Set the Group Size. |
|
583 | + if ( false !== $importable_content && in_array( 'tags', $importable_content ) ) { |
|
584 | + $this->set_travel_styles( $id, $data ); |
|
585 | + } |
|
586 | + |
|
587 | + // Set the Start and End Point Destinations. |
|
588 | + if ( false !== $importable_content && in_array( 'start_end_point', $importable_content ) ) { |
|
589 | + $this->set_start_end_point( $data, $id ); |
|
590 | + } |
|
591 | + |
|
592 | + if ( false !== $importable_content && in_array( 'itineraries', $importable_content ) && isset( $data['legs'] ) && ! empty( $data['legs'] ) ) { |
|
593 | + $this->process_itineraries( $data, $id, $importable_content ); |
|
594 | + } |
|
595 | + |
|
596 | + if ( in_array( 'map', $importable_content ) && isset( $data['routes'] ) && ! empty( $data['routes'] ) ) { |
|
597 | + $this->set_map_data( $data, $id ); |
|
598 | + } |
|
599 | + |
|
600 | + return $id; |
|
601 | + } |
|
602 | + |
|
603 | + /** |
|
604 | + * A loop which runs through each leg on the tour. |
|
605 | + */ |
|
606 | + public function process_itineraries( $data, $id, $importable_content ) { |
|
607 | + $day_counter = 1; |
|
608 | + $leg_counter = 0; |
|
609 | + |
|
610 | + delete_post_meta( $id, 'itinerary' ); |
|
611 | + |
|
612 | + if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
613 | + delete_post_meta( $id, 'accommodation_to_tour' ); |
|
614 | + } |
|
615 | + |
|
616 | + foreach ( $data['legs'] as $leg ) { |
|
617 | + |
|
618 | + // Itinerary Accommodation. |
|
619 | + $current_accommodation = false; |
|
620 | + $current_destination = false; |
|
621 | + if ( 'Mobile' !== $leg['type'] ) { |
|
622 | + if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
623 | + $current_accommodation = $this->set_accommodation( $leg, $id ); |
|
624 | + } |
|
625 | + if ( false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
626 | + $current_destination = $this->set_destination( $leg, $id, $leg_counter ); |
|
627 | + } |
|
628 | + } |
|
629 | + |
|
630 | + // If the Nights are the same mount of days in the array, then it isnt "By Destination". |
|
631 | + if ( ( 1 <= (int) $leg['nights'] && isset( $leg['periods'] ) ) || 0 === $leg['itinerary_leg_id'] ) { |
|
632 | + |
|
633 | + foreach ( $leg['periods'] as $day_key => $day ) { |
|
634 | + $current_day = array(); |
|
635 | + |
|
636 | + // If this is a moble tented solution. |
|
637 | + $next_day_count = $day_counter + (int) $day['days']; |
|
638 | + |
|
639 | + if ( ( isset( $leg['stops'] ) && 'Mobile' !== $leg['type'] ) || ( 1 < (int) $day['days'] ) ) { |
|
640 | + $day_count_label = ' - ' . ( $next_day_count - 1 ); |
|
641 | + } else { |
|
642 | + $day_count_label = ''; |
|
643 | + } |
|
644 | + $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter . $day_count_label; |
|
645 | + |
|
646 | + // Description. |
|
647 | + if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $day['notes'] ) ) { |
|
648 | + $current_day['description'] = $day['notes']; |
|
649 | + } else { |
|
650 | + $current_day['description'] = ''; |
|
651 | + } |
|
652 | + |
|
653 | + // Itinerary Gallery. |
|
654 | + if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $day['images'] ) ) { |
|
655 | + $current_day['featured_image'] = ''; |
|
656 | + } else { |
|
657 | + $current_day['featured_image'] = ''; |
|
658 | + } |
|
659 | + |
|
660 | + // If its a mobile safari, we need to get the destination and accommodation data from the stops. |
|
661 | + if ( 'Mobile' === $leg['type'] ) { |
|
662 | + $current_destination = $this->get_mobile_destination( $day, $leg, $id ); |
|
663 | + $current_accommodation = $this->get_mobile_accommodation( $day, $leg, $id ); |
|
664 | + } |
|
665 | + |
|
666 | + // Accommodation. |
|
667 | + if ( false !== $current_accommodation ) { |
|
668 | + $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
669 | + } else { |
|
670 | + $current_day['accommodation_to_tour'] = array(); |
|
671 | + } |
|
672 | + |
|
673 | + // Destination. |
|
674 | + if ( false !== $current_destination ) { |
|
675 | + $current_day['destination_to_tour'] = array( $current_destination ); |
|
676 | + } else { |
|
677 | + $current_day['destination_to_tour'] = array(); |
|
678 | + } |
|
679 | + |
|
680 | + // Included. |
|
681 | + if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $day['included'] ) && '' !== $day['included'] ) { |
|
682 | + $current_day['included'] = $day['included']; |
|
683 | + } else { |
|
684 | + $current_day['included'] = ''; |
|
685 | + } |
|
686 | + |
|
687 | + // Excluded. |
|
688 | + if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $day['excluded'] ) && '' !== $day['excluded'] ) { |
|
689 | + $current_day['excluded'] = $day['excluded']; |
|
690 | + } else { |
|
691 | + $current_day['excluded'] = ''; |
|
692 | + } |
|
693 | + |
|
694 | + // Excluded. |
|
695 | + if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $day['room_basis'] ) && '' !== $day['room_basis'] ) { |
|
696 | + $current_day['room_basis'] = $day['room_basis']; |
|
697 | + } else { |
|
698 | + $current_day['room_basis'] = ''; |
|
699 | + } |
|
700 | + |
|
701 | + // Excluded. |
|
702 | + if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $day['drinks_basis'] ) && '' !== $day['drinks_basis'] ) { |
|
703 | + $current_day['drinks_basis'] = $day['drinks_basis']; |
|
704 | + } else { |
|
705 | + $current_day['drinks_basis'] = ''; |
|
706 | + } |
|
707 | + |
|
708 | + $this->set_itinerary_day( $current_day, $id ); |
|
709 | + $day_counter = $next_day_count; |
|
710 | + } |
|
711 | + } else { |
|
712 | + // This is for the by destination. |
|
713 | + |
|
714 | + $current_day = array(); |
|
715 | + $next_day_count = $day_counter + (int) $leg['nights']; |
|
716 | + $day_count_label = $next_day_count - 1; |
|
717 | + |
|
718 | + $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter; |
|
719 | + |
|
720 | + if ( 0 !== (int) $leg['nights'] ) { |
|
721 | + $current_day['title'] .= ' - ' . $day_count_label; |
|
722 | + } |
|
723 | + |
|
724 | + // Description. |
|
725 | + if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $leg['notes'] ) ) { |
|
726 | + $current_day['description'] = $leg['notes']; |
|
727 | + } else { |
|
728 | + $current_day['description'] = ''; |
|
729 | + } |
|
730 | + |
|
731 | + // Itinerary Gallery. |
|
732 | + if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $leg['images'] ) ) { |
|
733 | + $current_day['featured_image'] = ''; |
|
734 | + } else { |
|
735 | + $current_day['featured_image'] = ''; |
|
736 | + } |
|
737 | + |
|
738 | + // Accommodation. |
|
739 | + if ( false !== $current_accommodation ) { |
|
740 | + $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
741 | + } else { |
|
742 | + $current_day['accommodation_to_tour'] = array(); |
|
743 | + } |
|
744 | + |
|
745 | + // Destination. |
|
746 | + if ( false !== $current_destination ) { |
|
747 | + $current_day['destination_to_tour'] = array( $current_destination ); |
|
748 | + } else { |
|
749 | + $current_day['destination_to_tour'] = array(); |
|
750 | + } |
|
751 | + |
|
752 | + // Included. |
|
753 | + if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $leg['included'] ) && '' !== $leg['included'] ) { |
|
754 | + $current_day['included'] = $leg['included']; |
|
755 | + } else { |
|
756 | + $current_day['included'] = ''; |
|
757 | + } |
|
758 | + |
|
759 | + // Excluded. |
|
760 | + if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $leg['excluded'] ) && '' !== $leg['excluded'] ) { |
|
761 | + $current_day['excluded'] = $leg['excluded']; |
|
762 | + } else { |
|
763 | + $current_day['excluded'] = ''; |
|
764 | + } |
|
765 | + |
|
766 | + // Excluded. |
|
767 | + if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $leg['room_basis'] ) && '' !== $leg['room_basis'] ) { |
|
768 | + $current_day['room_basis'] = $leg['room_basis']; |
|
769 | + } else { |
|
770 | + $current_day['room_basis'] = ''; |
|
771 | + } |
|
772 | + |
|
773 | + // Excluded. |
|
774 | + if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $leg['drinks_basis'] ) && '' !== $leg['drinks_basis'] ) { |
|
775 | + $current_day['drinks_basis'] = $leg['drinks_basis']; |
|
776 | + } else { |
|
777 | + $current_day['drinks_basis'] = ''; |
|
778 | + } |
|
779 | + |
|
780 | + $this->set_itinerary_day( $current_day, $id ); |
|
781 | + $day_counter = $next_day_count; |
|
782 | + } |
|
783 | + $leg_counter++; |
|
784 | + } |
|
785 | + } |
|
786 | + |
|
787 | + /** |
|
788 | + * Sets the departs from and ends in points on the tours. |
|
789 | + * |
|
790 | + * @param array $data |
|
791 | + * @param string $id |
|
792 | + * @return void |
|
793 | + */ |
|
794 | + public function set_start_end_point( $data, $id ) { |
|
795 | + delete_post_meta( $id, 'departs_from' ); |
|
796 | + delete_post_meta( $id, 'ends_in' ); |
|
797 | + $departs_from = false; |
|
798 | + $ends_in = false; |
|
799 | + |
|
800 | + $args = array( |
|
801 | + 'points' => $data['legs'], |
|
802 | + 'start_index' => 0, |
|
803 | + 'end_index' => count( $data['legs'] ) - 2, |
|
804 | + ); |
|
805 | + $args = apply_filters( 'lsx_wetu_start_end_args', $args, $data ); |
|
806 | + |
|
807 | + if ( ! empty( $args['points'] ) && is_array( $args['points'] ) ) { |
|
808 | + $leg_counter = 0; |
|
809 | + |
|
810 | + foreach ( $args['points'] as $point ) { |
|
811 | + // If we are in the first leg, and the destination was attached then save it as the departure field. |
|
812 | + if ( $leg_counter === $args['start_index'] ) { |
|
813 | + $departs_from_destination = $this->set_country( $point['destination_content_entity_id'], $id ); |
|
814 | + if ( false !== $departs_from_destination ) { |
|
815 | + $departs_from = $departs_from_destination; |
|
816 | + } |
|
817 | + } |
|
818 | + // If its the last leg then save it as the ends in. |
|
819 | + if ( $leg_counter === $args['end_index'] ) { |
|
820 | + $ends_in = $point['destination_content_entity_id']; |
|
821 | + } |
|
822 | + $leg_counter++; |
|
823 | + } |
|
824 | + |
|
825 | + $departs_from = apply_filters( 'lsx_wetu_departs_from_id', $departs_from, $data, $this ); |
|
826 | + if ( false !== $departs_from ) { |
|
827 | + add_post_meta( $id, 'departs_from', $departs_from, true ); |
|
828 | + } |
|
829 | + |
|
830 | + if ( false !== $ends_in ) { |
|
831 | + $ends_in = apply_filters( 'lsx_wetu_ends_in_id', $ends_in, $data, $this ); |
|
832 | + $ends_in_destination = $this->set_country( $ends_in, $id ); |
|
833 | + if ( false !== $ends_in_destination ) { |
|
834 | + add_post_meta( $id, 'ends_in', $ends_in_destination, true ); |
|
835 | + } |
|
836 | + } |
|
837 | + } |
|
838 | + } |
|
839 | + |
|
840 | + /** |
|
841 | + * Gets the destination for the mobile camp. |
|
842 | + * |
|
843 | + * @param $day |
|
844 | + * @param $leg |
|
845 | + * @return void |
|
846 | + */ |
|
847 | + public function get_mobile_destination( $day, $leg, $id ) { |
|
848 | + $current_destination = false; |
|
849 | + $current_day = (int) $day['period_start_day']; |
|
850 | + if ( isset( $leg['stops'] ) ) { |
|
851 | + foreach ( $leg['stops'] as $stop ) { |
|
852 | + $arrival_day = (int) $stop['arrival_day']; |
|
853 | + $departure_day = (int) $stop['departure_day']; |
|
854 | + if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
855 | + $current_destination = $this->set_destination( $stop, $id, 0 ); |
|
856 | + } |
|
857 | + } |
|
858 | + } |
|
859 | + return $current_destination; |
|
860 | + } |
|
861 | + |
|
862 | + /** |
|
863 | + * Gets the accommodation for the mobile camp. |
|
864 | + * |
|
865 | + * @param $day |
|
866 | + * @param $leg |
|
867 | + * @return void |
|
868 | + */ |
|
869 | + public function get_mobile_accommodation( $day, $leg, $id ) { |
|
870 | + $current_accommodation = false; |
|
871 | + $current_day = (int) $day['period_start_day']; |
|
872 | + if ( isset( $leg['stops'] ) ) { |
|
873 | + foreach ( $leg['stops'] as $stop ) { |
|
874 | + $arrival_day = (int) $stop['arrival_day']; |
|
875 | + $departure_day = (int) $stop['departure_day']; |
|
876 | + if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
877 | + $current_accommodation = $this->set_accommodation( $stop, $id, 0 ); |
|
878 | + } |
|
879 | + } |
|
880 | + } |
|
881 | + return $current_accommodation; |
|
882 | + } |
|
883 | + |
|
884 | + /** |
|
885 | + * Run through your routes and save the points as a KML file. |
|
886 | + */ |
|
887 | + public function set_map_data( $data, $id, $zoom = 9 ) { |
|
888 | + if ( ! empty( $data['routes'] ) ) { |
|
889 | + delete_post_meta( $id, 'wetu_map_points' ); |
|
890 | + |
|
891 | + $points = array(); |
|
892 | + |
|
893 | + foreach ( $data['routes'] as $route ) { |
|
894 | + |
|
895 | + if ( isset( $route['points'] ) && '' !== $route['points'] ) { |
|
896 | + |
|
897 | + $temp_points = explode( ';', $route['points'] ); |
|
898 | + $point_counter = count( $temp_points ); |
|
899 | + |
|
900 | + for ( $x = 0; $x <= $point_counter; $x++ ) { |
|
901 | + $y = $x + 1; |
|
902 | + $points[] = $temp_points[ $x ] . ',' . $temp_points[ $y ]; |
|
903 | + $x++; |
|
904 | + } |
|
905 | + } |
|
906 | + } |
|
907 | + |
|
908 | + if ( ! empty( $points ) ) { |
|
909 | + $this->save_custom_field( implode( ' ', $points ), 'wetu_map_points', $id, false, true ); |
|
910 | + } |
|
911 | + } |
|
912 | + |
|
913 | + } |
|
914 | + |
|
915 | + // CLASS SPECIFIC FUNCTIONS. |
|
916 | + |
|
917 | + /** |
|
918 | + * Set the Itinerary Day. |
|
919 | + */ |
|
920 | + public function set_itinerary_day( $day, $id ) { |
|
921 | + $this->save_custom_field( $day, 'itinerary', $id, false, false ); |
|
922 | + } |
|
923 | + |
|
924 | + /** |
|
925 | + * Set the ref number |
|
926 | + */ |
|
927 | + public function set_reference_number( $data, $id ) { |
|
928 | + if ( isset( $data['reference_number'] ) && '' !== $data['reference_number'] ) { |
|
929 | + $this->save_custom_field( $data['reference_number'], 'lsx_wetu_ref', $id ); |
|
930 | + } |
|
931 | + } |
|
932 | + |
|
933 | + /** |
|
934 | + * Set the price. |
|
935 | + */ |
|
936 | + public function set_price( $data, $id ) { |
|
937 | + // Price. |
|
938 | + if ( isset( $data['price'] ) && '' !== $data['price'] ) { |
|
939 | + $price = $data['price']; |
|
940 | + if ( false === apply_filters( 'lsx_wetu_importer_disable_tour_price_filter', false ) ) { |
|
941 | + $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
942 | + } |
|
943 | + $meta_key = apply_filters( 'lsx_wetu_importer_price_meta_key', 'price' ); |
|
944 | + $this->save_custom_field( $price, $meta_key, $id ); |
|
945 | + } |
|
946 | + |
|
947 | + // Price includes. |
|
948 | + if ( isset( $data['price_includes'] ) && '' !== $data['price_includes'] ) { |
|
949 | + $meta_key = apply_filters( 'lsx_wetu_importer_included_meta_key', 'included' ); |
|
950 | + $this->save_custom_field( $data['price_includes'], $meta_key, $id ); |
|
951 | + } |
|
952 | + |
|
953 | + // Price Excludes. |
|
954 | + if ( isset( $data['price_excludes'] ) && '' !== $data['price_excludes'] ) { |
|
955 | + $meta_key = apply_filters( 'lsx_wetu_importer_not_included_meta_key', 'not_included' ); |
|
956 | + $this->save_custom_field( $data['price_excludes'], $meta_key, $id ); |
|
957 | + } |
|
958 | + } |
|
959 | + |
|
960 | + /** |
|
961 | + * Set the duration. |
|
962 | + */ |
|
963 | + public function set_duration( $data, $id ) { |
|
964 | + if ( isset( $data['days'] ) && ! empty( $data['days'] ) ) { |
|
965 | + $price = $data['days']; |
|
966 | + $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
967 | + $this->save_custom_field( $price, 'duration', $id ); |
|
968 | + } |
|
969 | + } |
|
970 | + |
|
971 | + /** |
|
972 | + * Set the group size |
|
973 | + */ |
|
974 | + public function set_group_size( $data, $id ) { |
|
975 | + if ( isset( $data['group_size'] ) && ! empty( $data['group_size'] ) ) { |
|
976 | + $group_size = $data['group_size']; |
|
977 | + $this->save_custom_field( $group_size, 'group_size', $id ); |
|
978 | + } |
|
979 | + } |
|
980 | + |
|
981 | + /** |
|
982 | + * Takes the WETU tags and sets the Travel Styles. |
|
983 | + * |
|
984 | + * @param string $id |
|
985 | + * @param array $travel_styles |
|
986 | + * @return void |
|
987 | + */ |
|
988 | + public function set_travel_styles( $id, $data ) { |
|
989 | + $tags = apply_filters( 'lsx_wetu_importer_tour_travel_styles', $data['tags'] ); |
|
990 | + if ( isset( $data['tags'] ) && ! empty( $tags ) ) { |
|
991 | + foreach ( $tags as $tag ) { |
|
992 | + $this->set_term( $id, $tag, 'travel-style' ); |
|
993 | + } |
|
994 | + } |
|
995 | + } |
|
996 | + |
|
997 | + /** |
|
998 | + * Connects the Accommodation if its available |
|
999 | + */ |
|
1000 | + public function set_accommodation( $day, $id ) { |
|
1001 | + $ac_id = false; |
|
1002 | + $this->current_accommodation = $this->find_current_accommodation(); |
|
1003 | + |
|
1004 | + if ( isset( $day['content_entity_id'] ) && ! empty( $day['content_entity_id'] ) ) { |
|
1005 | + if ( false !== $this->current_accommodation && ! empty( $this->current_accommodation ) && array_key_exists( $day['content_entity_id'], $this->current_accommodation ) ) { |
|
1006 | + $ac_id = $this->current_accommodation[ $day['content_entity_id'] ]; |
|
1007 | + } else { |
|
1008 | + $ac_id = wp_insert_post(array( |
|
1009 | + 'post_type' => 'accommodation', |
|
1010 | + 'post_status' => 'draft', |
|
1011 | + 'post_title' => $day['content_entity_id'], |
|
1012 | + )); |
|
1013 | + |
|
1014 | + $this->save_custom_field( $day['content_entity_id'], 'lsx_wetu_id', $ac_id ); |
|
1015 | + } |
|
1016 | + |
|
1017 | + if ( '' !== $ac_id && false !== $ac_id ) { |
|
1018 | + $this->save_custom_field( $ac_id, 'accommodation_to_tour', $id, false, false ); |
|
1019 | + $this->save_custom_field( $id, 'tour_to_accommodation', $ac_id, false, false ); |
|
1020 | + $this->queue_item( $ac_id ); |
|
1021 | + } |
|
1022 | + } |
|
1023 | + return $ac_id; |
|
1024 | + } |
|
1025 | + |
|
1026 | + /** |
|
1027 | + * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
1028 | + * |
|
1029 | + * @param $post_type string |
|
1030 | + * @return boolean / array |
|
1031 | + */ |
|
1032 | + public function find_current_accommodation( $post_type = 'accommodation' ) { |
|
1033 | + global $wpdb; |
|
1034 | + $accommodation = parent::find_current_accommodation( $post_type ); |
|
1035 | + $return = false; |
|
1036 | + |
|
1037 | + if ( ! empty( $accommodation ) ) { |
|
1038 | + foreach ( $accommodation as $key => $acc ) { |
|
1039 | + $return[ $acc->meta_value ] = $acc->post_id; |
|
1040 | + } |
|
1041 | + } |
|
1042 | + |
|
1043 | + return $return; |
|
1044 | + } |
|
1045 | + |
|
1046 | + /** |
|
1047 | + * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
1048 | + * @return boolean / array |
|
1049 | + */ |
|
1050 | + public function find_current_destinations() { |
|
1051 | + return $this->find_current_accommodation( 'destination' ); |
|
1052 | + } |
|
1053 | + |
|
1054 | + /** |
|
1055 | + * Connects the destinations post type |
|
1056 | + * |
|
1057 | + * @param $day array |
|
1058 | + * @param $id string |
|
1059 | + * @return boolean / string |
|
1060 | + */ |
|
1061 | + public function set_destination( $day, $id, $leg_counter ) { |
|
1062 | + $dest_id = false; |
|
1063 | + $country_id = false; |
|
1064 | + |
|
1065 | + $this->current_destinations = $this->find_current_destinations(); |
|
1066 | + |
|
1067 | + if ( isset( $day['destination_content_entity_id'] ) && ! empty( $day['destination_content_entity_id'] ) ) { |
|
1068 | + if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $day['destination_content_entity_id'], $this->current_destinations ) ) { |
|
1069 | + $dest_id = $this->current_destinations[ $day['destination_content_entity_id'] ]; |
|
1070 | + |
|
1071 | + //TODO Check for attachments here. |
|
1072 | + $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1073 | + |
|
1074 | + //Check if there is a country asigned. |
|
1075 | + $potential_id = wp_get_post_parent_id( $dest_id ); |
|
1076 | + $country_wetu_id = get_post_meta( $potential_id, 'lsx_wetu_id', true ); |
|
1077 | + |
|
1078 | + if ( false !== $country_wetu_id ) { |
|
1079 | + $country_id = $this->set_country( $country_wetu_id, $id ); |
|
1080 | + //$this->destination_images[ $id ][] = array( $id, $country_wetu_id ); |
|
1081 | + } |
|
1082 | + } else { |
|
1083 | + $destination_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $day['destination_content_entity_id'] ); |
|
1084 | + |
|
1085 | + if ( ! is_wp_error( $destination_json ) && ! empty( $destination_json ) && isset( $destination_json['response'] ) && isset( $destination_json['response']['code'] ) && 200 === $destination_json['response']['code'] ) { |
|
1086 | + |
|
1087 | + $destination_data = json_decode( $destination_json['body'], true ); |
|
1088 | + |
|
1089 | + if ( ! empty( $destination_data ) && ! isset( $destination_data['error'] ) ) { |
|
1090 | + $destination_title = $day['destination_content_entity_id']; |
|
1091 | + |
|
1092 | + if ( isset( $destination_data[0]['name'] ) ) { |
|
1093 | + $destination_title = $destination_data[0]['name']; |
|
1094 | + } |
|
1095 | + |
|
1096 | + if ( isset( $destination_data[0]['map_object_id'] ) && isset( $destination_data[0]['position']['country_content_entity_id'] ) |
|
1097 | + && $destination_data[0]['map_object_id'] !== $destination_data[0]['position']['country_content_entity_id'] ) { |
|
1098 | + |
|
1099 | + $country_id = $this->set_country( $destination_data[0]['position']['country_content_entity_id'], $id ); |
|
1100 | + // Save the destination so we can grab the tour featured image and banner from them. |
|
1101 | + } |
|
1102 | + |
|
1103 | + $dest_post = array( |
|
1104 | + 'post_type' => 'destination', |
|
1105 | + 'post_status' => 'draft', |
|
1106 | + 'post_title' => $destination_title, |
|
1107 | + ); |
|
1108 | + |
|
1109 | + if ( false !== $country_id ) { |
|
1110 | + $dest_post['post_parent'] = $country_id; |
|
1111 | + } |
|
1112 | + $dest_id = wp_insert_post( $dest_post ); |
|
1113 | + |
|
1114 | + // Make sure we register the. |
|
1115 | + $this->current_destinations[ $day['destination_content_entity_id'] ] = $dest_id; |
|
1116 | + |
|
1117 | + // If there are images attached then use the destination. |
|
1118 | + if ( isset( $destination_data[0]['content']['images'] ) && ! empty( $destination_data[0]['content']['images'] ) ) { |
|
1119 | + $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1120 | + } |
|
1121 | + |
|
1122 | + $this->save_custom_field( $day['destination_content_entity_id'], 'lsx_wetu_id', $dest_id ); |
|
1123 | + } |
|
1124 | + } |
|
1125 | + } |
|
1126 | + |
|
1127 | + if ( '' !== $dest_id && false !== $dest_id ) { |
|
1128 | + $this->save_custom_field( $dest_id, 'destination_to_tour', $id, false, false ); |
|
1129 | + $this->save_custom_field( $id, 'tour_to_destination', $dest_id, false, false ); |
|
1130 | + |
|
1131 | + //Save the item to display in the queue |
|
1132 | + $this->queue_item( $dest_id ); |
|
1133 | + |
|
1134 | + //Save the item to clean up the amount of connections. |
|
1135 | + $this->cleanup_posts[ $dest_id ] = 'tour_to_destination'; |
|
1136 | + |
|
1137 | + //Add this relation info so we can make sure certain items are set as countries. |
|
1138 | + if ( 0 !== $country_id && false !== $country_id ) { |
|
1139 | + $this->relation_meta[ $dest_id ] = $country_id; |
|
1140 | + $this->relation_meta[ $country_id ] = 0; |
|
1141 | + } else { |
|
1142 | + $this->relation_meta[ $dest_id ] = 0; |
|
1143 | + } |
|
1144 | + } |
|
1145 | + } |
|
1146 | + return $dest_id; |
|
1147 | + } |
|
1148 | + |
|
1149 | + /** |
|
1150 | + * Connects the destinations post type |
|
1151 | + * |
|
1152 | + * @param $dest_id string |
|
1153 | + * @param $country_id array |
|
1154 | + * @param $id string |
|
1155 | + * |
|
1156 | + * @return string |
|
1157 | + */ |
|
1158 | + public function set_country( $country_wetu_id, $id ) { |
|
1159 | + $country_id = false; |
|
1160 | + $this->current_destinations = $this->find_current_destinations(); |
|
1161 | + |
|
1162 | + if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $country_wetu_id, $this->current_destinations ) ) { |
|
1163 | + $country_id = $this->current_destinations[ $country_wetu_id ]; |
|
1164 | + $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1165 | + } else { |
|
1166 | + $country_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $country_wetu_id ); |
|
1167 | + |
|
1168 | + if ( ! is_wp_error( $country_json ) && ! empty( $country_json ) && isset( $country_json['response'] ) && isset( $country_json['response']['code'] ) && 200 === $country_json['response']['code'] ) { |
|
1169 | + $country_data = json_decode( $country_json['body'], true ); |
|
1170 | + |
|
1171 | + // Format the title of the destination if its available, otherwise default to the WETU ID. |
|
1172 | + $country_title = $country_wetu_id; |
|
1173 | + |
|
1174 | + if ( isset( $country_data[0]['name'] ) ) { |
|
1175 | + $country_title = $country_data[0]['name']; |
|
1176 | + } |
|
1177 | + |
|
1178 | + $country_id = wp_insert_post( array( |
|
1179 | + 'post_type' => 'destination', |
|
1180 | + 'post_status' => 'draft', |
|
1181 | + 'post_title' => $country_title, |
|
1182 | + )); |
|
1183 | + |
|
1184 | + //add the country to the current destination stack |
|
1185 | + $this->current_destinations[ $country_wetu_id ] = $country_id; |
|
1186 | + |
|
1187 | + // Check if there are images and save fore use later. |
|
1188 | + if ( isset( $country_data[0]['content']['images'] ) && ! empty( $country_data[0]['content']['images'] ) ) { |
|
1189 | + $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1190 | + } |
|
1191 | + |
|
1192 | + //Save the wetu field |
|
1193 | + $this->save_custom_field( $country_wetu_id, 'lsx_wetu_id', $country_id ); |
|
1194 | + } |
|
1195 | + } |
|
1196 | + |
|
1197 | + if ( '' !== $country_id && false !== $country_id ) { |
|
1198 | + $this->save_custom_field( $country_id, 'destination_to_tour', $id, false, false ); |
|
1199 | + $this->save_custom_field( $id, 'tour_to_destination', $country_id, false, false ); |
|
1200 | + $this->queue_item( $country_id ); |
|
1201 | + $this->cleanup_posts[ $country_id ] = 'tour_to_destination'; |
|
1202 | + |
|
1203 | + return $country_id; |
|
1204 | + } |
|
1205 | + } |
|
1206 | + |
|
1207 | + /** |
|
1208 | + * Connects the destinations post type |
|
1209 | + * |
|
1210 | + * @param $dest_id string |
|
1211 | + * @param $country_id array |
|
1212 | + * @param $id string |
|
1213 | + * |
|
1214 | + * @return string |
|
1215 | + */ |
|
1216 | + public function attach_destination_images( $importable_content = array() ) { |
|
1217 | + if ( false !== $this->destination_images ) { |
|
1218 | + $this->shuffle_assoc( $this->destination_images ); |
|
1219 | + foreach ( $this->destination_images as $tour => $destinations ) { |
|
1220 | + shuffle( $destinations ); |
|
1221 | + $image_set = false; |
|
1222 | + $forced = false; |
|
1223 | + |
|
1224 | + foreach ( $destinations as $destination ) { |
|
1225 | + if ( false === $image_set && false === $forced ) { |
|
1226 | + $url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
1227 | + |
|
1228 | + $url_qs = ''; |
|
1229 | + $jdata = wp_remote_get( $url . '/Get?' . $url_qs . '&ids=' . $destination[1] ); |
|
1230 | + |
|
1231 | + if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
1232 | + $adata = json_decode( $jdata['body'], true ); |
|
1233 | + |
|
1234 | + if ( ! empty( $adata ) && ! empty( $adata[0]['content']['images'] ) ) { |
|
1235 | + $this->find_attachments( $destination[0] ); |
|
1236 | + |
|
1237 | + // Set the featured image. |
|
1238 | + if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
1239 | + $image_set = $this->set_featured_image( $adata, $tour ); |
|
1240 | + if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1241 | + $image_set = $this->set_banner_image( $adata, $tour ); |
|
1242 | + $forced = true; |
|
1243 | + } |
|
1244 | + continue; |
|
1245 | + } |
|
1246 | + if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1247 | + $image_set = $this->set_banner_image( $adata, $tour ); |
|
1248 | + } |
|
1249 | + } |
|
1250 | + } |
|
1251 | + } else { |
|
1252 | + continue; |
|
1253 | + } |
|
1254 | + } |
|
1255 | + } |
|
1256 | + } |
|
1257 | + } |
|
1258 | + |
|
1259 | + /** |
|
1260 | + * Creates the main gallery data |
|
1261 | + */ |
|
1262 | + public function set_featured_image( $data, $id ) { |
|
1263 | + $image_set = false; |
|
1264 | + $counter = 0; |
|
1265 | + |
|
1266 | + if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1267 | + $images_array = $data[0]['content']['images']; |
|
1268 | + |
|
1269 | + if ( 'on' === $this->options['enable_tour_featured_random'] ) { |
|
1270 | + shuffle( $images_array ); |
|
1271 | + } |
|
1272 | + |
|
1273 | + foreach ( $images_array as $v ) { |
|
1274 | + |
|
1275 | + if ( true === $image_set ) { |
|
1276 | + $counter++; |
|
1277 | + continue; |
|
1278 | + } |
|
1279 | + |
|
1280 | + if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1281 | + $temp_featured_image = $this->attach_image( $v, $id ); |
|
1282 | + |
|
1283 | + if ( false !== $temp_featured_image ) { |
|
1284 | + $this->featured_image = $temp_featured_image; |
|
1285 | + delete_post_meta( $id, '_thumbnail_id' ); |
|
1286 | + add_post_meta( $id, '_thumbnail_id', $this->featured_image, true ); |
|
1287 | + $image_set = true; |
|
1288 | + } |
|
1289 | + } |
|
1290 | + |
|
1291 | + $counter++; |
|
1292 | + } |
|
1293 | + } |
|
1294 | + return $image_set; |
|
1295 | + } |
|
1296 | + |
|
1297 | + /** |
|
1298 | + * Sets a banner image |
|
1299 | + */ |
|
1300 | + public function set_banner_image( $data, $id, $content = array( 'none' ) ) { |
|
1301 | + $image_set = false; |
|
1302 | + $counter = 0; |
|
1303 | + |
|
1304 | + if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1305 | + |
|
1306 | + foreach ( $data[0]['content']['images'] as $v ) { |
|
1307 | + /*print_r('<pre>'); |
|
1308 | 1308 | print_r( $v ); |
1309 | 1309 | print_r('</pre>');*/ |
1310 | 1310 | |
1311 | - if ( true === $image_set || 0 === $counter ) { |
|
1312 | - $counter++; |
|
1313 | - continue; |
|
1314 | - } |
|
1315 | - |
|
1316 | - if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1317 | - $temp_banner = $this->attach_image( $v, $id, array( |
|
1318 | - 'width' => '1920', |
|
1319 | - 'height' => '600', |
|
1320 | - 'cropping' => 'c', |
|
1321 | - ) ); |
|
1322 | - |
|
1323 | - if ( false !== $temp_banner ) { |
|
1324 | - $this->banner_image = $temp_banner; |
|
1325 | - |
|
1326 | - delete_post_meta( $id, 'image_group' ); |
|
1327 | - |
|
1328 | - $new_banner = array( |
|
1329 | - 'banner_image' => array( |
|
1330 | - 'cmb-field-0' => $this->banner_image, |
|
1331 | - ), |
|
1332 | - ); |
|
1333 | - add_post_meta( $id, 'image_group', $new_banner, true ); |
|
1334 | - $image_set = true; |
|
1335 | - } |
|
1336 | - } |
|
1337 | - $counter++; |
|
1338 | - } |
|
1339 | - } |
|
1340 | - |
|
1341 | - return $image_set; |
|
1342 | - } |
|
1343 | - |
|
1344 | - /** |
|
1345 | - * Grabs all of the current used featured images on the site. |
|
1346 | - */ |
|
1347 | - public function check_if_image_is_used( $v ) { |
|
1348 | - global $wpdb; |
|
1349 | - $return = false; |
|
1350 | - |
|
1351 | - $results = $wpdb->get_results( |
|
1352 | - $wpdb->prepare( |
|
1353 | - "SELECT post_id |
|
1311 | + if ( true === $image_set || 0 === $counter ) { |
|
1312 | + $counter++; |
|
1313 | + continue; |
|
1314 | + } |
|
1315 | + |
|
1316 | + if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1317 | + $temp_banner = $this->attach_image( $v, $id, array( |
|
1318 | + 'width' => '1920', |
|
1319 | + 'height' => '600', |
|
1320 | + 'cropping' => 'c', |
|
1321 | + ) ); |
|
1322 | + |
|
1323 | + if ( false !== $temp_banner ) { |
|
1324 | + $this->banner_image = $temp_banner; |
|
1325 | + |
|
1326 | + delete_post_meta( $id, 'image_group' ); |
|
1327 | + |
|
1328 | + $new_banner = array( |
|
1329 | + 'banner_image' => array( |
|
1330 | + 'cmb-field-0' => $this->banner_image, |
|
1331 | + ), |
|
1332 | + ); |
|
1333 | + add_post_meta( $id, 'image_group', $new_banner, true ); |
|
1334 | + $image_set = true; |
|
1335 | + } |
|
1336 | + } |
|
1337 | + $counter++; |
|
1338 | + } |
|
1339 | + } |
|
1340 | + |
|
1341 | + return $image_set; |
|
1342 | + } |
|
1343 | + |
|
1344 | + /** |
|
1345 | + * Grabs all of the current used featured images on the site. |
|
1346 | + */ |
|
1347 | + public function check_if_image_is_used( $v ) { |
|
1348 | + global $wpdb; |
|
1349 | + $return = false; |
|
1350 | + |
|
1351 | + $results = $wpdb->get_results( |
|
1352 | + $wpdb->prepare( |
|
1353 | + "SELECT post_id |
|
1354 | 1354 | FROM {$wpdb->postmeta} |
1355 | 1355 | WHERE meta_value = '%s' |
1356 | 1356 | AND meta_key = 'lsx_wetu_id' |
1357 | 1357 | ", |
1358 | - array( $value ) |
|
1359 | - ) |
|
1360 | - ); |
|
1361 | - $attached_tours = array(); |
|
1362 | - if ( ! empty( $results ) ) { |
|
1363 | - foreach ( $results as $result ) { |
|
1364 | - if ( 'tour' === get_post_type( $result['post_id'] ) ) { |
|
1365 | - $attached_tours[] = $result['post_id']; |
|
1366 | - } |
|
1367 | - } |
|
1368 | - } |
|
1369 | - if ( ! empty( $attached_tours ) ) { |
|
1370 | - $return = true; |
|
1371 | - } |
|
1372 | - return $return; |
|
1373 | - } |
|
1374 | - |
|
1375 | - /** |
|
1376 | - * Que an item to be saved. |
|
1377 | - * |
|
1378 | - * @param $id int |
|
1379 | - */ |
|
1380 | - public function queue_item( $id ) { |
|
1381 | - if ( is_array( $this->import_queue ) && ! in_array( $id, $this->import_queue ) ) { |
|
1382 | - $this->import_queue[] = $id; |
|
1383 | - } else { |
|
1384 | - $this->import_queue[] = $id; |
|
1385 | - } |
|
1386 | - } |
|
1387 | - |
|
1388 | - /** |
|
1389 | - * Saves the queue to the option. |
|
1390 | - */ |
|
1391 | - public function save_queue() { |
|
1392 | - if ( ! empty( $this->import_queue ) ) { |
|
1393 | - if ( ! empty( $this->queued_imports ) ) { |
|
1394 | - $saved_imports = array_merge( $this->queued_imports, $this->import_queue ); |
|
1395 | - } else { |
|
1396 | - $saved_imports = $this->import_queue; |
|
1397 | - } |
|
1398 | - |
|
1399 | - delete_option( 'lsx_wetu_importer_que' ); |
|
1400 | - |
|
1401 | - if ( ! empty( $saved_imports ) ) { |
|
1402 | - $saved_imports = array_unique( $saved_imports ); |
|
1403 | - update_option( 'lsx_wetu_importer_que', $saved_imports ); |
|
1404 | - } |
|
1405 | - } |
|
1406 | - } |
|
1407 | - |
|
1408 | - /** |
|
1409 | - * The header of the item list |
|
1410 | - */ |
|
1411 | - public function table_header() { |
|
1412 | - ?> |
|
1358 | + array( $value ) |
|
1359 | + ) |
|
1360 | + ); |
|
1361 | + $attached_tours = array(); |
|
1362 | + if ( ! empty( $results ) ) { |
|
1363 | + foreach ( $results as $result ) { |
|
1364 | + if ( 'tour' === get_post_type( $result['post_id'] ) ) { |
|
1365 | + $attached_tours[] = $result['post_id']; |
|
1366 | + } |
|
1367 | + } |
|
1368 | + } |
|
1369 | + if ( ! empty( $attached_tours ) ) { |
|
1370 | + $return = true; |
|
1371 | + } |
|
1372 | + return $return; |
|
1373 | + } |
|
1374 | + |
|
1375 | + /** |
|
1376 | + * Que an item to be saved. |
|
1377 | + * |
|
1378 | + * @param $id int |
|
1379 | + */ |
|
1380 | + public function queue_item( $id ) { |
|
1381 | + if ( is_array( $this->import_queue ) && ! in_array( $id, $this->import_queue ) ) { |
|
1382 | + $this->import_queue[] = $id; |
|
1383 | + } else { |
|
1384 | + $this->import_queue[] = $id; |
|
1385 | + } |
|
1386 | + } |
|
1387 | + |
|
1388 | + /** |
|
1389 | + * Saves the queue to the option. |
|
1390 | + */ |
|
1391 | + public function save_queue() { |
|
1392 | + if ( ! empty( $this->import_queue ) ) { |
|
1393 | + if ( ! empty( $this->queued_imports ) ) { |
|
1394 | + $saved_imports = array_merge( $this->queued_imports, $this->import_queue ); |
|
1395 | + } else { |
|
1396 | + $saved_imports = $this->import_queue; |
|
1397 | + } |
|
1398 | + |
|
1399 | + delete_option( 'lsx_wetu_importer_que' ); |
|
1400 | + |
|
1401 | + if ( ! empty( $saved_imports ) ) { |
|
1402 | + $saved_imports = array_unique( $saved_imports ); |
|
1403 | + update_option( 'lsx_wetu_importer_que', $saved_imports ); |
|
1404 | + } |
|
1405 | + } |
|
1406 | + } |
|
1407 | + |
|
1408 | + /** |
|
1409 | + * The header of the item list |
|
1410 | + */ |
|
1411 | + public function table_header() { |
|
1412 | + ?> |
|
1413 | 1413 | <thead> |
1414 | 1414 | <tr> |
1415 | 1415 | <th class="manage-column column-cb check-column" id="cb" scope="col"> |
@@ -1424,13 +1424,13 @@ discard block |
||
1424 | 1424 | </tr> |
1425 | 1425 | </thead> |
1426 | 1426 | <?php |
1427 | - } |
|
1427 | + } |
|
1428 | 1428 | |
1429 | - /** |
|
1430 | - * The footer of the item list |
|
1431 | - */ |
|
1432 | - public function table_footer() { |
|
1433 | - ?> |
|
1429 | + /** |
|
1430 | + * The footer of the item list |
|
1431 | + */ |
|
1432 | + public function table_footer() { |
|
1433 | + ?> |
|
1434 | 1434 | <tfoot> |
1435 | 1435 | <tr> |
1436 | 1436 | <th class="manage-column column-cb check-column" id="cb" scope="col"> |
@@ -1445,5 +1445,5 @@ discard block |
||
1445 | 1445 | </tr> |
1446 | 1446 | </tfoot> |
1447 | 1447 | <?php |
1448 | - } |
|
1448 | + } |
|
1449 | 1449 | } |
@@ -97,12 +97,12 @@ discard block |
||
97 | 97 | */ |
98 | 98 | public function set_variables() { |
99 | 99 | parent::set_variables(); |
100 | - if ( false !== $this->api_key ) { |
|
101 | - $this->url = 'https://wetu.com/API/Itinerary/' . $this->api_key; |
|
100 | + if (false !== $this->api_key) { |
|
101 | + $this->url = 'https://wetu.com/API/Itinerary/'.$this->api_key; |
|
102 | 102 | $this->url_qs = ''; |
103 | 103 | } |
104 | - $tour_options = get_option( 'lsx_wetu_importer_tour_settings', false ); |
|
105 | - if ( false !== $tour_options ) { |
|
104 | + $tour_options = get_option('lsx_wetu_importer_tour_settings', false); |
|
105 | + if (false !== $tour_options) { |
|
106 | 106 | $this->tour_options = $tour_options; |
107 | 107 | } |
108 | 108 | } |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | </div> |
127 | 127 | |
128 | 128 | <form method="get" action="" id="posts-filter"> |
129 | - <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr( $this->tab_slug ); ?>" /> |
|
129 | + <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr($this->tab_slug); ?>" /> |
|
130 | 130 | |
131 | 131 | <table class="wp-list-table widefat fixed posts"> |
132 | 132 | <?php $this->table_header(); ?> |
@@ -135,7 +135,7 @@ discard block |
||
135 | 135 | <tr class="post-0 type-tour status-none" id="post-0"> |
136 | 136 | <td class="date column-date column-ref" colspan="5"> |
137 | 137 | <strong> |
138 | - <?php esc_html_e( 'Search for tours using the search form above', 'lsx-wetu-importer' ); ?> |
|
138 | + <?php esc_html_e('Search for tours using the search form above', 'lsx-wetu-importer'); ?> |
|
139 | 139 | </strong> |
140 | 140 | </td> |
141 | 141 | </tr> |
@@ -145,8 +145,8 @@ discard block |
||
145 | 145 | |
146 | 146 | </table> |
147 | 147 | |
148 | - <p><input class="button button-primary add" type="button" value="<?php esc_html_e( 'Add to List', 'lsx-wetu-importer' ); ?>" /> |
|
149 | - <input class="button button-primary clear" type="button" value="<?php esc_html_e( 'Clear', 'lsx-wetu-importer' ); ?>" /> |
|
148 | + <p><input class="button button-primary add" type="button" value="<?php esc_html_e('Add to List', 'lsx-wetu-importer'); ?>" /> |
|
149 | + <input class="button button-primary clear" type="button" value="<?php esc_html_e('Clear', 'lsx-wetu-importer'); ?>" /> |
|
150 | 150 | </p> |
151 | 151 | </form> |
152 | 152 | |
@@ -156,53 +156,53 @@ discard block |
||
156 | 156 | |
157 | 157 | <div class="row"> |
158 | 158 | <div class="settings-all" style="width:30%;display:block;float:left;"> |
159 | - <h3><?php esc_html_e( 'What content to Sync from WETU' ); ?></h3> |
|
159 | + <h3><?php esc_html_e('What content to Sync from WETU'); ?></h3> |
|
160 | 160 | <ul> |
161 | - <?php if ( isset( $this->options ) && isset( $this->options['disable_tour_descriptions'] ) && 'on' !== $this->options['disable_tour_descriptions'] ) { ?> |
|
162 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="description" /> <?php esc_html_e( 'Description', 'lsx-wetu-importer' ); ?></li> |
|
161 | + <?php if (isset($this->options) && isset($this->options['disable_tour_descriptions']) && 'on' !== $this->options['disable_tour_descriptions']) { ?> |
|
162 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="description" /> <?php esc_html_e('Description', 'lsx-wetu-importer'); ?></li> |
|
163 | 163 | <?php } ?> |
164 | 164 | |
165 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="price" /> <?php esc_html_e( 'Price', 'lsx-wetu-importer' ); ?></li> |
|
166 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="duration" /> <?php esc_html_e( 'Duration', 'lsx-wetu-importer' ); ?></li> |
|
167 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="group_size" /> <?php esc_html_e( 'Group Size', 'lsx-wetu-importer' ); ?></li> |
|
168 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="category" /> <?php esc_html_e( 'Category', 'lsx-wetu-importer' ); ?></li> |
|
169 | - <?php if ( isset( $this->options ) && isset( $this->options['disable_tour_tags'] ) && 'on' !== $this->options['disable_tour_tags'] ) { ?> |
|
170 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="tags" /> <?php esc_html_e( 'Tags', 'lsx-wetu-importer' ); ?></li> |
|
165 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="price" /> <?php esc_html_e('Price', 'lsx-wetu-importer'); ?></li> |
|
166 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="duration" /> <?php esc_html_e('Duration', 'lsx-wetu-importer'); ?></li> |
|
167 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="group_size" /> <?php esc_html_e('Group Size', 'lsx-wetu-importer'); ?></li> |
|
168 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="category" /> <?php esc_html_e('Category', 'lsx-wetu-importer'); ?></li> |
|
169 | + <?php if (isset($this->options) && isset($this->options['disable_tour_tags']) && 'on' !== $this->options['disable_tour_tags']) { ?> |
|
170 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="tags" /> <?php esc_html_e('Tags', 'lsx-wetu-importer'); ?></li> |
|
171 | 171 | <?php } ?> |
172 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itineraries" /> <?php esc_html_e( 'Itinerary Days', 'lsx-wetu-importer' ); ?></li> |
|
173 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="start_end_point" /> <?php esc_html_e( 'Departs from / Ends in', 'lsx-wetu-importer' ); ?></li> |
|
172 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itineraries" /> <?php esc_html_e('Itinerary Days', 'lsx-wetu-importer'); ?></li> |
|
173 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="start_end_point" /> <?php esc_html_e('Departs from / Ends in', 'lsx-wetu-importer'); ?></li> |
|
174 | 174 | </ul> |
175 | 175 | </div> |
176 | 176 | <div class="settings-all" style="width:30%;display:block;float:left;"> |
177 | - <h3><?php esc_html_e( 'Itinerary Info' ); ?></h3> |
|
177 | + <h3><?php esc_html_e('Itinerary Info'); ?></h3> |
|
178 | 178 | <ul> |
179 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_description" /> <?php esc_html_e( 'Description', 'lsx-wetu-importer' ); ?></li> |
|
180 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_included" /> <?php esc_html_e( 'Included', 'lsx-wetu-importer' ); ?></li> |
|
181 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_excluded" /> <?php esc_html_e( 'Excluded', 'lsx-wetu-importer' ); ?></li> |
|
182 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="room_basis" /> <?php esc_html_e( 'Room Basis', 'lsx-wetu-importer' ); ?></li> |
|
183 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="drinks_basis" /> <?php esc_html_e( 'Drink Bases', 'lsx-wetu-importer' ); ?></li> |
|
179 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_description" /> <?php esc_html_e('Description', 'lsx-wetu-importer'); ?></li> |
|
180 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_included" /> <?php esc_html_e('Included', 'lsx-wetu-importer'); ?></li> |
|
181 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="itinerary_excluded" /> <?php esc_html_e('Excluded', 'lsx-wetu-importer'); ?></li> |
|
182 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="room_basis" /> <?php esc_html_e('Room Basis', 'lsx-wetu-importer'); ?></li> |
|
183 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="drinks_basis" /> <?php esc_html_e('Drink Bases', 'lsx-wetu-importer'); ?></li> |
|
184 | 184 | </ul> |
185 | 185 | |
186 | - <h4><?php esc_html_e( 'Additional Content' ); ?></h4> |
|
186 | + <h4><?php esc_html_e('Additional Content'); ?></h4> |
|
187 | 187 | <ul> |
188 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="accommodation" /> <?php esc_html_e( 'Sync Accommodation', 'lsx-wetu-importer' ); ?></li> |
|
189 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="destination" /> <?php esc_html_e( 'Sync Destinations', 'lsx-wetu-importer' ); ?></li> |
|
190 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="featured_image" /> <?php esc_html_e( 'Featured Image', 'lsx-wetu-importer' ); ?></li> |
|
191 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="banner_image" /> <?php esc_html_e( 'Banner Image', 'lsx-wetu-importer' ); ?></li> |
|
188 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="accommodation" /> <?php esc_html_e('Sync Accommodation', 'lsx-wetu-importer'); ?></li> |
|
189 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="destination" /> <?php esc_html_e('Sync Destinations', 'lsx-wetu-importer'); ?></li> |
|
190 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="featured_image" /> <?php esc_html_e('Featured Image', 'lsx-wetu-importer'); ?></li> |
|
191 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="banner_image" /> <?php esc_html_e('Banner Image', 'lsx-wetu-importer'); ?></li> |
|
192 | 192 | </ul> |
193 | 193 | </div> |
194 | - <?php if ( class_exists( 'LSX_TO_Team' ) ) { ?> |
|
194 | + <?php if (class_exists('LSX_TO_Team')) { ?> |
|
195 | 195 | <div style="width:30%;display:block;float:left;"> |
196 | - <h3><?php esc_html_e( 'Assign a Team Member' ); ?></h3> |
|
197 | - <?php $this->team_member_checkboxes( $this->tour_options ); ?> |
|
196 | + <h3><?php esc_html_e('Assign a Team Member'); ?></h3> |
|
197 | + <?php $this->team_member_checkboxes($this->tour_options); ?> |
|
198 | 198 | </div> |
199 | 199 | <?php } ?> |
200 | 200 | |
201 | 201 | <br clear="both" /> |
202 | 202 | </div> |
203 | 203 | |
204 | - <h3><?php esc_html_e( 'Your List' ); ?></h3> |
|
205 | - <p><input class="button button-primary" type="submit" value="<?php esc_html_e( 'Sync', 'lsx-wetu-importer' ); ?>" /></p> |
|
204 | + <h3><?php esc_html_e('Your List'); ?></h3> |
|
205 | + <p><input class="button button-primary" type="submit" value="<?php esc_html_e('Sync', 'lsx-wetu-importer'); ?>" /></p> |
|
206 | 206 | <table class="wp-list-table widefat fixed posts"> |
207 | 207 | <?php $this->table_header(); ?> |
208 | 208 | |
@@ -214,12 +214,12 @@ discard block |
||
214 | 214 | |
215 | 215 | </table> |
216 | 216 | |
217 | - <p><input class="button button-primary" type="submit" value="<?php esc_html_e( 'Sync', 'lsx-wetu-importer' ); ?>" /></p> |
|
217 | + <p><input class="button button-primary" type="submit" value="<?php esc_html_e('Sync', 'lsx-wetu-importer'); ?>" /></p> |
|
218 | 218 | </form> |
219 | 219 | </div> |
220 | 220 | |
221 | 221 | <div style="display:none;" class="completed-list-wrapper"> |
222 | - <h3><?php esc_html_e( 'Completed', 'lsx-wetu-importer' ); ?> - <small><?php esc_html_e( 'Import your', 'lsx-wetu-importer' ); ?> <a href="<?php echo esc_attr( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->plugin_slug ); ?>&tab=accommodation"><?php esc_html_e( 'accommodation' ); ?></a> <?php esc_html_e( 'next', 'lsx-wetu-importer' ); ?></small></h3> |
|
222 | + <h3><?php esc_html_e('Completed', 'lsx-wetu-importer'); ?> - <small><?php esc_html_e('Import your', 'lsx-wetu-importer'); ?> <a href="<?php echo esc_attr(admin_url('admin.php')); ?>?page=<?php echo esc_attr($this->plugin_slug); ?>&tab=accommodation"><?php esc_html_e('accommodation'); ?></a> <?php esc_html_e('next', 'lsx-wetu-importer'); ?></small></h3> |
|
223 | 223 | <ul> |
224 | 224 | </ul> |
225 | 225 | </div> |
@@ -233,13 +233,13 @@ discard block |
||
233 | 233 | * @return void |
234 | 234 | */ |
235 | 235 | public function update_options_form() { |
236 | - $form_options = get_option( 'lsx_ti_tours_api_options' ); |
|
237 | - if ( false === $form_options ) { |
|
238 | - $form_options = array( 'sample' ); |
|
236 | + $form_options = get_option('lsx_ti_tours_api_options'); |
|
237 | + if (false === $form_options) { |
|
238 | + $form_options = array('sample'); |
|
239 | 239 | } |
240 | 240 | ?> |
241 | 241 | <form method="get" class="tour-refresh-form"> |
242 | - <input type="hidden" name="page" value="<?php echo esc_attr( $this->plugin_slug ); ?>" /> |
|
242 | + <input type="hidden" name="page" value="<?php echo esc_attr($this->plugin_slug); ?>" /> |
|
243 | 243 | <input type="hidden" name="tab" value="tour" /> |
244 | 244 | <input type="hidden" name="refresh_tours" value="true" /> |
245 | 245 | <input class="content" type="hidden" name="own" value="true" /> |
@@ -247,18 +247,18 @@ discard block |
||
247 | 247 | <select name="type"> |
248 | 248 | <option |
249 | 249 | <?php |
250 | - if ( in_array( 'personal', $form_options ) ) { |
|
251 | -echo esc_attr( 'selected="selected"' ); } |
|
250 | + if (in_array('personal', $form_options)) { |
|
251 | +echo esc_attr('selected="selected"'); } |
|
252 | 252 | ?> |
253 | -value="personal"><?php esc_html_e( 'Personal', 'lsx-wetu-importer' ); ?></option> |
|
253 | +value="personal"><?php esc_html_e('Personal', 'lsx-wetu-importer'); ?></option> |
|
254 | 254 | <option |
255 | 255 | <?php |
256 | - if ( in_array( 'sample', $form_options ) ) { |
|
257 | -echo esc_attr( 'selected="selected"' ); } |
|
256 | + if (in_array('sample', $form_options)) { |
|
257 | +echo esc_attr('selected="selected"'); } |
|
258 | 258 | ?> |
259 | -value="sample"><?php esc_html_e( 'Sample', 'lsx-wetu-importer' ); ?></option> |
|
259 | +value="sample"><?php esc_html_e('Sample', 'lsx-wetu-importer'); ?></option> |
|
260 | 260 | </select> |
261 | - <input class="button submit" type="submit" value="<?php esc_attr_e( 'Refresh', 'lsx-wetu-importer' ); ?>" /> |
|
261 | + <input class="button submit" type="submit" value="<?php esc_attr_e('Refresh', 'lsx-wetu-importer'); ?>" /> |
|
262 | 262 | </form> |
263 | 263 | <?php |
264 | 264 | } |
@@ -283,9 +283,9 @@ discard block |
||
283 | 283 | LIMIT 0,500 |
284 | 284 | "); |
285 | 285 | |
286 | - if ( null !== $current_tours && ! empty( $current_tours ) ) { |
|
287 | - foreach ( $current_tours as $tour ) { |
|
288 | - $return[ $tour->meta_value ] = $tour; |
|
286 | + if (null !== $current_tours && !empty($current_tours)) { |
|
287 | + foreach ($current_tours as $tour) { |
|
288 | + $return[$tour->meta_value] = $tour; |
|
289 | 289 | } |
290 | 290 | } |
291 | 291 | |
@@ -297,45 +297,45 @@ discard block |
||
297 | 297 | */ |
298 | 298 | public function process_ajax_search() { |
299 | 299 | $return = false; |
300 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
300 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
301 | 301 | |
302 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug ) { |
|
303 | - $tours = get_transient( 'lsx_ti_tours' ); |
|
302 | + if (isset($_POST['action']) && 'lsx_tour_importer' === $_POST['action'] && isset($_POST['type']) && $_POST['type'] === $this->tab_slug) { |
|
303 | + $tours = get_transient('lsx_ti_tours'); |
|
304 | 304 | |
305 | - if ( false !== $tours ) { |
|
305 | + if (false !== $tours) { |
|
306 | 306 | $searched_items = false; |
307 | - if ( isset( $_POST['keyword'] ) ) { |
|
308 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
309 | - } else { |
|
310 | - $keyphrases = array( 0 ); |
|
307 | + if (isset($_POST['keyword'])) { |
|
308 | + $keyphrases = array_map('sanitize_text_field', wp_unslash($_POST['keyword'])); |
|
309 | + }else { |
|
310 | + $keyphrases = array(0); |
|
311 | 311 | } |
312 | 312 | |
313 | - if ( ! is_array( $keyphrases ) ) { |
|
314 | - $keyphrases = array( $keyphrases ); |
|
313 | + if (!is_array($keyphrases)) { |
|
314 | + $keyphrases = array($keyphrases); |
|
315 | 315 | } |
316 | - foreach ( $keyphrases as &$keyword ) { |
|
317 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
316 | + foreach ($keyphrases as &$keyword) { |
|
317 | + $keyword = ltrim(rtrim($keyword)); |
|
318 | 318 | } |
319 | 319 | |
320 | 320 | $post_status = false; |
321 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
321 | + if (in_array('publish', $keyphrases)) { |
|
322 | 322 | $post_status = 'publish'; |
323 | 323 | } |
324 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
324 | + if (in_array('pending', $keyphrases)) { |
|
325 | 325 | $post_status = 'pending'; |
326 | 326 | } |
327 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
327 | + if (in_array('draft', $keyphrases)) { |
|
328 | 328 | $post_status = 'draft'; |
329 | 329 | } |
330 | - if ( in_array( 'import', $keyphrases ) ) { |
|
330 | + if (in_array('import', $keyphrases)) { |
|
331 | 331 | $post_status = 'import'; |
332 | 332 | } |
333 | 333 | |
334 | - if ( ! empty( $tours ) ) { |
|
334 | + if (!empty($tours)) { |
|
335 | 335 | $current_tours = $this->find_current_tours(); |
336 | 336 | |
337 | - foreach ( $tours as $row_key => $row ) { |
|
338 | - if ( isset( $row['is_disabled'] ) && true === $row['is_disabled'] ) { |
|
337 | + foreach ($tours as $row_key => $row) { |
|
338 | + if (isset($row['is_disabled']) && true === $row['is_disabled']) { |
|
339 | 339 | continue; |
340 | 340 | } |
341 | 341 | |
@@ -343,60 +343,60 @@ discard block |
||
343 | 343 | $row['post_id'] = 0; |
344 | 344 | $row['post_title'] = $row['name']; |
345 | 345 | |
346 | - if ( false !== $current_tours && array_key_exists( $row['identifier'], $current_tours ) ) { |
|
347 | - $row['post_id'] = $current_tours[ $row['identifier'] ]->post_id; |
|
348 | - $row['post_title'] = $current_tours[ $row['identifier'] ]->post_title; |
|
346 | + if (false !== $current_tours && array_key_exists($row['identifier'], $current_tours)) { |
|
347 | + $row['post_id'] = $current_tours[$row['identifier']]->post_id; |
|
348 | + $row['post_title'] = $current_tours[$row['identifier']]->post_title; |
|
349 | 349 | } |
350 | 350 | |
351 | 351 | // If we are searching for. |
352 | - if ( false !== $post_status ) { |
|
353 | - if ( 'import' === $post_status ) { |
|
352 | + if (false !== $post_status) { |
|
353 | + if ('import' === $post_status) { |
|
354 | 354 | |
355 | - if ( 0 !== $row['post_id'] ) { |
|
355 | + if (0 !== $row['post_id']) { |
|
356 | 356 | continue; |
357 | - } else { |
|
358 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
357 | + }else { |
|
358 | + $searched_items[sanitize_title($row['name']).'-'.$row['identifier']] = $this->format_row($row, $row_key); |
|
359 | 359 | } |
360 | - } else { |
|
361 | - if ( 0 === $row['post_id'] ) { |
|
360 | + }else { |
|
361 | + if (0 === $row['post_id']) { |
|
362 | 362 | continue; |
363 | - } else { |
|
364 | - $current_status = get_post_status( $row['post_id'] ); |
|
363 | + }else { |
|
364 | + $current_status = get_post_status($row['post_id']); |
|
365 | 365 | |
366 | - if ( $current_status !== $post_status ) { |
|
366 | + if ($current_status !== $post_status) { |
|
367 | 367 | continue; |
368 | 368 | } |
369 | 369 | } |
370 | 370 | |
371 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
371 | + $searched_items[sanitize_title($row['name']).'-'.$row['identifier']] = $this->format_row($row, $row_key); |
|
372 | 372 | } |
373 | - } else { |
|
373 | + }else { |
|
374 | 374 | // Search through each keyword. |
375 | - foreach ( $keyphrases as $keyphrase ) { |
|
375 | + foreach ($keyphrases as $keyphrase) { |
|
376 | 376 | |
377 | 377 | // Make sure the keyphrase is turned into an array. |
378 | - $keywords = explode( ' ', $keyphrase ); |
|
379 | - if ( ! is_array( $keywords ) ) { |
|
380 | - $keywords = array( $keywords ); |
|
378 | + $keywords = explode(' ', $keyphrase); |
|
379 | + if (!is_array($keywords)) { |
|
380 | + $keywords = array($keywords); |
|
381 | 381 | } |
382 | 382 | |
383 | - if ( $this->multineedle_stripos( ltrim( rtrim( $row['name'] ) ), $keywords ) !== false ) { |
|
384 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
385 | - } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['reference_number'] ) ), $keywords ) !== false ) { |
|
386 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
387 | - } else if ( $this->multineedle_stripos( ltrim( rtrim( $row['identifier_key'] ) ), $keywords ) !== false ) { |
|
388 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['identifier'] ] = $this->format_row( $row, $row_key ); |
|
383 | + if ($this->multineedle_stripos(ltrim(rtrim($row['name'])), $keywords) !== false) { |
|
384 | + $searched_items[sanitize_title($row['name']).'-'.$row['identifier']] = $this->format_row($row, $row_key); |
|
385 | + }else if ($this->multineedle_stripos(ltrim(rtrim($row['reference_number'])), $keywords) !== false) { |
|
386 | + $searched_items[sanitize_title($row['name']).'-'.$row['identifier']] = $this->format_row($row, $row_key); |
|
387 | + }else if ($this->multineedle_stripos(ltrim(rtrim($row['identifier_key'])), $keywords) !== false) { |
|
388 | + $searched_items[sanitize_title($row['name']).'-'.$row['identifier']] = $this->format_row($row, $row_key); |
|
389 | 389 | } |
390 | 390 | } |
391 | 391 | } |
392 | 392 | } |
393 | 393 | } |
394 | 394 | |
395 | - if ( false !== $searched_items ) { |
|
396 | - $return = implode( $searched_items ); |
|
395 | + if (false !== $searched_items) { |
|
396 | + $return = implode($searched_items); |
|
397 | 397 | } |
398 | 398 | } |
399 | - print_r( $return ); |
|
399 | + print_r($return); |
|
400 | 400 | die(); |
401 | 401 | } |
402 | 402 | } |
@@ -404,34 +404,34 @@ discard block |
||
404 | 404 | /** |
405 | 405 | * Formats the row for output on the screen. |
406 | 406 | */ |
407 | - public function format_row( $row = false, $row_key = '' ) { |
|
408 | - if ( false !== $row ) { |
|
407 | + public function format_row($row = false, $row_key = '') { |
|
408 | + if (false !== $row) { |
|
409 | 409 | $status = 'import'; |
410 | 410 | |
411 | - if ( 0 !== $row['post_id'] ) { |
|
412 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
411 | + if (0 !== $row['post_id']) { |
|
412 | + $status = '<a href="'.admin_url('/post.php?post='.$row['post_id'].'&action=edit').'" target="_blank">'.get_post_status($row['post_id']).'</a>'; |
|
413 | 413 | } |
414 | 414 | |
415 | 415 | $row_html = ' |
416 | - <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
|
416 | + <tr class="post-' . $row['post_id'].' type-tour" id="post-'.$row['post_id'].'"> |
|
417 | 417 | <td class="check-column"> |
418 | - <label for="cb-select-' . $row['identifier'] . '" class="screen-reader-text">' . $row['post_title'] . '</label> |
|
419 | - <input type="checkbox" data-identifier="' . $row['identifier'] . '" value="' . $row['post_id'] . '" name="post[]" id="cb-select-' . $row['identifier'] . '"> |
|
418 | + <label for="cb-select-' . $row['identifier'].'" class="screen-reader-text">'.$row['post_title'].'</label> |
|
419 | + <input type="checkbox" data-identifier="' . $row['identifier'].'" value="'.$row['post_id'].'" name="post[]" id="cb-select-'.$row['identifier'].'"> |
|
420 | 420 | </td> |
421 | 421 | <td class="column-order"> |
422 | - ' . ( $row_key + 1 ) . ' |
|
422 | + ' . ($row_key + 1).' |
|
423 | 423 | </td> |
424 | 424 | <td class="post-title page-title column-title"> |
425 | - ' . $row['post_title'] . ' - ' . $status . ' |
|
425 | + ' . $row['post_title'].' - '.$status.' |
|
426 | 426 | </td> |
427 | 427 | <td class="date column-date"> |
428 | - ' . $row['reference_number'] . ' |
|
428 | + ' . $row['reference_number'].' |
|
429 | 429 | </td> |
430 | 430 | <td class="date column-date"> |
431 | - <abbr title="' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '">' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '</abbr><br>Last Modified |
|
431 | + <abbr title="' . date('Y/m/d', strtotime($row['last_modified'])).'">'.date('Y/m/d', strtotime($row['last_modified'])).'</abbr><br>Last Modified |
|
432 | 432 | </td> |
433 | 433 | <td class="ssid column-ssid"> |
434 | - ' . $row['identifier'] . ' |
|
434 | + ' . $row['identifier'].' |
|
435 | 435 | </td> |
436 | 436 | </tr>'; |
437 | 437 | return $row_html; |
@@ -441,44 +441,44 @@ discard block |
||
441 | 441 | /** |
442 | 442 | * Connect to wetu |
443 | 443 | */ |
444 | - public function process_ajax_import( $force = false ) { |
|
444 | + public function process_ajax_import($force = false) { |
|
445 | 445 | $return = false; |
446 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
447 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['wetu_id'] ) ) { |
|
446 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
447 | + if (isset($_POST['action']) && 'lsx_import_items' === $_POST['action'] && isset($_POST['type']) && $_POST['type'] === $this->tab_slug && isset($_POST['wetu_id'])) { |
|
448 | 448 | |
449 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
450 | - if ( isset( $_POST['post_id'] ) ) { |
|
451 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
452 | - } else { |
|
449 | + $wetu_id = sanitize_text_field($_POST['wetu_id']); |
|
450 | + if (isset($_POST['post_id'])) { |
|
451 | + $post_id = sanitize_text_field($_POST['post_id']); |
|
452 | + }else { |
|
453 | 453 | $post_id = 0; |
454 | 454 | } |
455 | 455 | |
456 | - delete_option( 'lsx_wetu_importer_tour_settings' ); |
|
456 | + delete_option('lsx_wetu_importer_tour_settings'); |
|
457 | 457 | |
458 | - if ( isset( $_POST['team_members'] ) ) { |
|
459 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
460 | - } else { |
|
458 | + if (isset($_POST['team_members'])) { |
|
459 | + $team_members = array_map('sanitize_text_field', wp_unslash($_POST['team_members'])); |
|
460 | + }else { |
|
461 | 461 | $team_members = false; |
462 | 462 | } |
463 | 463 | |
464 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
465 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
466 | - add_option( 'lsx_wetu_importer_tour_settings', $content ); |
|
467 | - } else { |
|
464 | + if (isset($_POST['content']) && is_array($_POST['content']) && !empty($_POST['content'])) { |
|
465 | + $content = array_map('sanitize_text_field', wp_unslash($_POST['content'])); |
|
466 | + add_option('lsx_wetu_importer_tour_settings', $content); |
|
467 | + }else { |
|
468 | 468 | $content = false; |
469 | 469 | } |
470 | - $jdata = wp_remote_get( 'https://wetu.com/API/Itinerary/V8/Get?id=' . $wetu_id ); |
|
470 | + $jdata = wp_remote_get('https://wetu.com/API/Itinerary/V8/Get?id='.$wetu_id); |
|
471 | 471 | |
472 | - if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
473 | - $jdata = json_decode( $jdata['body'], true ); |
|
474 | - $return = $this->import_row( $jdata, $wetu_id, $post_id, $team_members, $content ); |
|
475 | - $this->format_completed_row( $return ); |
|
472 | + if (!is_wp_error($jdata) && !empty($jdata) && isset($jdata['response']) && isset($jdata['response']['code']) && 200 === $jdata['response']['code']) { |
|
473 | + $jdata = json_decode($jdata['body'], true); |
|
474 | + $return = $this->import_row($jdata, $wetu_id, $post_id, $team_members, $content); |
|
475 | + $this->format_completed_row($return); |
|
476 | 476 | $this->save_queue(); |
477 | 477 | $this->cleanup_posts(); |
478 | - $this->attach_destination_images( $content ); |
|
479 | - $this->clean_attached_destinations( $return ); |
|
480 | - } else { |
|
481 | - $this->format_error( esc_html__( 'There was a problem importing your tour, please try again.', 'lsx-wetu-importer' ) ); |
|
478 | + $this->attach_destination_images($content); |
|
479 | + $this->clean_attached_destinations($return); |
|
480 | + }else { |
|
481 | + $this->format_error(esc_html__('There was a problem importing your tour, please try again.', 'lsx-wetu-importer')); |
|
482 | 482 | } |
483 | 483 | } |
484 | 484 | } |
@@ -489,13 +489,13 @@ discard block |
||
489 | 489 | * @param $id string |
490 | 490 | * @return void |
491 | 491 | */ |
492 | - public function clean_attached_destinations( $id ) { |
|
493 | - $current_connections = get_post_meta( $id, 'destination_to_tour', false ); |
|
494 | - delete_post_meta( $id, 'destination_to_tour' ); |
|
495 | - $current_connections = array_unique( $current_connections ); |
|
492 | + public function clean_attached_destinations($id) { |
|
493 | + $current_connections = get_post_meta($id, 'destination_to_tour', false); |
|
494 | + delete_post_meta($id, 'destination_to_tour'); |
|
495 | + $current_connections = array_unique($current_connections); |
|
496 | 496 | |
497 | - foreach ( $current_connections as $connection ) { |
|
498 | - add_post_meta( $id, 'destination_to_tour', $connection, false ); |
|
497 | + foreach ($current_connections as $connection) { |
|
498 | + add_post_meta($id, 'destination_to_tour', $connection, false); |
|
499 | 499 | } |
500 | 500 | } |
501 | 501 | |
@@ -505,12 +505,12 @@ discard block |
||
505 | 505 | * @param $data array |
506 | 506 | * @param $wetu_id string |
507 | 507 | */ |
508 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $old1 = false, $old2 = false ) { |
|
508 | + public function import_row($data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $old1 = false, $old2 = false) { |
|
509 | 509 | $post_name = ''; |
510 | 510 | $data_post_content = ''; |
511 | 511 | $data_post_excerpt = ''; |
512 | 512 | |
513 | - $current_post = get_post( $id ); |
|
513 | + $current_post = get_post($id); |
|
514 | 514 | |
515 | 515 | $post = array( |
516 | 516 | 'post_type' => 'tour', |
@@ -518,83 +518,83 @@ discard block |
||
518 | 518 | |
519 | 519 | $content_used_general_description = false; |
520 | 520 | |
521 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
521 | + if (!empty($importable_content) && in_array('description', $importable_content)) { |
|
522 | 522 | $data_post_content = $current_post->post_content; |
523 | - if ( isset( $data['summary'] ) && ! empty( $data['summary'] ) ) { |
|
523 | + if (isset($data['summary']) && !empty($data['summary'])) { |
|
524 | 524 | $data_post_content = $data['summary']; |
525 | 525 | } |
526 | 526 | $post['post_content'] = $data_post_content; |
527 | 527 | } |
528 | 528 | |
529 | 529 | // Create or update the post. |
530 | - if ( false !== $id && '0' !== $id ) { |
|
530 | + if (false !== $id && '0' !== $id) { |
|
531 | 531 | $post['ID'] = $id; |
532 | 532 | $post['post_status'] = 'publish'; |
533 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] ) { |
|
533 | + if (isset($this->options) && 'on' !== $this->options['disable_accommodation_title']) { |
|
534 | 534 | $post['post_title'] = $data['name']; |
535 | 535 | } |
536 | - $id = wp_update_post( $post ); |
|
537 | - } else { |
|
536 | + $id = wp_update_post($post); |
|
537 | + }else { |
|
538 | 538 | // Set the name. |
539 | - if ( isset( $data['name'] ) ) { |
|
540 | - $post_name = wp_unique_post_slug( sanitize_title( $data['name'] ), $id, 'draft', 'tour', 0 ); |
|
539 | + if (isset($data['name'])) { |
|
540 | + $post_name = wp_unique_post_slug(sanitize_title($data['name']), $id, 'draft', 'tour', 0); |
|
541 | 541 | } |
542 | 542 | |
543 | - if ( ! isset( $post['post_content'] ) ) { |
|
543 | + if (!isset($post['post_content'])) { |
|
544 | 544 | $post['post_content'] = ' '; |
545 | 545 | } |
546 | 546 | |
547 | 547 | $post['post_name'] = $post_name; |
548 | 548 | $post['post_title'] = $data['name']; |
549 | 549 | $post['post_status'] = 'publish'; |
550 | - $id = wp_insert_post( $post ); |
|
550 | + $id = wp_insert_post($post); |
|
551 | 551 | |
552 | 552 | // Save the WETU ID and the Last date it was modified. |
553 | - if ( false !== $id ) { |
|
554 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
555 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data['last_modified'] ) ); |
|
553 | + if (false !== $id) { |
|
554 | + add_post_meta($id, 'lsx_wetu_id', $wetu_id); |
|
555 | + add_post_meta($id, 'lsx_wetu_modified_date', strtotime($data['last_modified'])); |
|
556 | 556 | } |
557 | 557 | } |
558 | 558 | |
559 | 559 | // Set reference number. |
560 | - $this->set_reference_number( $data, $id ); |
|
560 | + $this->set_reference_number($data, $id); |
|
561 | 561 | |
562 | 562 | // Set the team member if it is there. |
563 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
564 | - $this->set_team_member( $id, $team_members ); |
|
563 | + if (post_type_exists('team') && false !== $team_members && '' !== $team_members) { |
|
564 | + $this->set_team_member($id, $team_members); |
|
565 | 565 | } |
566 | 566 | |
567 | 567 | // Set the price. |
568 | - if ( false !== $importable_content && in_array( 'price', $importable_content ) ) { |
|
569 | - $this->set_price( $data, $id ); |
|
568 | + if (false !== $importable_content && in_array('price', $importable_content)) { |
|
569 | + $this->set_price($data, $id); |
|
570 | 570 | } |
571 | 571 | |
572 | 572 | // Set the Duration. |
573 | - if ( false !== $importable_content && in_array( 'duration', $importable_content ) ) { |
|
574 | - $this->set_duration( $data, $id ); |
|
573 | + if (false !== $importable_content && in_array('duration', $importable_content)) { |
|
574 | + $this->set_duration($data, $id); |
|
575 | 575 | } |
576 | 576 | |
577 | 577 | // Set the Group Size. |
578 | - if ( false !== $importable_content && in_array( 'group_size', $importable_content ) ) { |
|
579 | - $this->set_group_size( $data, $id ); |
|
578 | + if (false !== $importable_content && in_array('group_size', $importable_content)) { |
|
579 | + $this->set_group_size($data, $id); |
|
580 | 580 | } |
581 | 581 | |
582 | 582 | // Set the Group Size. |
583 | - if ( false !== $importable_content && in_array( 'tags', $importable_content ) ) { |
|
584 | - $this->set_travel_styles( $id, $data ); |
|
583 | + if (false !== $importable_content && in_array('tags', $importable_content)) { |
|
584 | + $this->set_travel_styles($id, $data); |
|
585 | 585 | } |
586 | 586 | |
587 | 587 | // Set the Start and End Point Destinations. |
588 | - if ( false !== $importable_content && in_array( 'start_end_point', $importable_content ) ) { |
|
589 | - $this->set_start_end_point( $data, $id ); |
|
588 | + if (false !== $importable_content && in_array('start_end_point', $importable_content)) { |
|
589 | + $this->set_start_end_point($data, $id); |
|
590 | 590 | } |
591 | 591 | |
592 | - if ( false !== $importable_content && in_array( 'itineraries', $importable_content ) && isset( $data['legs'] ) && ! empty( $data['legs'] ) ) { |
|
593 | - $this->process_itineraries( $data, $id, $importable_content ); |
|
592 | + if (false !== $importable_content && in_array('itineraries', $importable_content) && isset($data['legs']) && !empty($data['legs'])) { |
|
593 | + $this->process_itineraries($data, $id, $importable_content); |
|
594 | 594 | } |
595 | 595 | |
596 | - if ( in_array( 'map', $importable_content ) && isset( $data['routes'] ) && ! empty( $data['routes'] ) ) { |
|
597 | - $this->set_map_data( $data, $id ); |
|
596 | + if (in_array('map', $importable_content) && isset($data['routes']) && !empty($data['routes'])) { |
|
597 | + $this->set_map_data($data, $id); |
|
598 | 598 | } |
599 | 599 | |
600 | 600 | return $id; |
@@ -603,181 +603,181 @@ discard block |
||
603 | 603 | /** |
604 | 604 | * A loop which runs through each leg on the tour. |
605 | 605 | */ |
606 | - public function process_itineraries( $data, $id, $importable_content ) { |
|
606 | + public function process_itineraries($data, $id, $importable_content) { |
|
607 | 607 | $day_counter = 1; |
608 | 608 | $leg_counter = 0; |
609 | 609 | |
610 | - delete_post_meta( $id, 'itinerary' ); |
|
610 | + delete_post_meta($id, 'itinerary'); |
|
611 | 611 | |
612 | - if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
613 | - delete_post_meta( $id, 'accommodation_to_tour' ); |
|
612 | + if (false !== $importable_content && in_array('accommodation', $importable_content)) { |
|
613 | + delete_post_meta($id, 'accommodation_to_tour'); |
|
614 | 614 | } |
615 | 615 | |
616 | - foreach ( $data['legs'] as $leg ) { |
|
616 | + foreach ($data['legs'] as $leg) { |
|
617 | 617 | |
618 | 618 | // Itinerary Accommodation. |
619 | 619 | $current_accommodation = false; |
620 | 620 | $current_destination = false; |
621 | - if ( 'Mobile' !== $leg['type'] ) { |
|
622 | - if ( false !== $importable_content && in_array( 'accommodation', $importable_content ) ) { |
|
623 | - $current_accommodation = $this->set_accommodation( $leg, $id ); |
|
621 | + if ('Mobile' !== $leg['type']) { |
|
622 | + if (false !== $importable_content && in_array('accommodation', $importable_content)) { |
|
623 | + $current_accommodation = $this->set_accommodation($leg, $id); |
|
624 | 624 | } |
625 | - if ( false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
626 | - $current_destination = $this->set_destination( $leg, $id, $leg_counter ); |
|
625 | + if (false !== $importable_content && in_array('destination', $importable_content)) { |
|
626 | + $current_destination = $this->set_destination($leg, $id, $leg_counter); |
|
627 | 627 | } |
628 | 628 | } |
629 | 629 | |
630 | 630 | // If the Nights are the same mount of days in the array, then it isnt "By Destination". |
631 | - if ( ( 1 <= (int) $leg['nights'] && isset( $leg['periods'] ) ) || 0 === $leg['itinerary_leg_id'] ) { |
|
631 | + if ((1 <= (int) $leg['nights'] && isset($leg['periods'])) || 0 === $leg['itinerary_leg_id']) { |
|
632 | 632 | |
633 | - foreach ( $leg['periods'] as $day_key => $day ) { |
|
633 | + foreach ($leg['periods'] as $day_key => $day) { |
|
634 | 634 | $current_day = array(); |
635 | 635 | |
636 | 636 | // If this is a moble tented solution. |
637 | 637 | $next_day_count = $day_counter + (int) $day['days']; |
638 | 638 | |
639 | - if ( ( isset( $leg['stops'] ) && 'Mobile' !== $leg['type'] ) || ( 1 < (int) $day['days'] ) ) { |
|
640 | - $day_count_label = ' - ' . ( $next_day_count - 1 ); |
|
641 | - } else { |
|
639 | + if ((isset($leg['stops']) && 'Mobile' !== $leg['type']) || (1 < (int) $day['days'])) { |
|
640 | + $day_count_label = ' - '.($next_day_count - 1); |
|
641 | + }else { |
|
642 | 642 | $day_count_label = ''; |
643 | 643 | } |
644 | - $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter . $day_count_label; |
|
644 | + $current_day['title'] = esc_attr('Day ', 'lsx-wetu-importer').$day_counter.$day_count_label; |
|
645 | 645 | |
646 | 646 | // Description. |
647 | - if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $day['notes'] ) ) { |
|
647 | + if (false !== $importable_content && in_array('itinerary_description', $importable_content) && isset($day['notes'])) { |
|
648 | 648 | $current_day['description'] = $day['notes']; |
649 | - } else { |
|
649 | + }else { |
|
650 | 650 | $current_day['description'] = ''; |
651 | 651 | } |
652 | 652 | |
653 | 653 | // Itinerary Gallery. |
654 | - if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $day['images'] ) ) { |
|
654 | + if (false !== $importable_content && in_array('itinerary_gallery', $importable_content) && isset($day['images'])) { |
|
655 | 655 | $current_day['featured_image'] = ''; |
656 | - } else { |
|
656 | + }else { |
|
657 | 657 | $current_day['featured_image'] = ''; |
658 | 658 | } |
659 | 659 | |
660 | 660 | // If its a mobile safari, we need to get the destination and accommodation data from the stops. |
661 | - if ( 'Mobile' === $leg['type'] ) { |
|
662 | - $current_destination = $this->get_mobile_destination( $day, $leg, $id ); |
|
663 | - $current_accommodation = $this->get_mobile_accommodation( $day, $leg, $id ); |
|
661 | + if ('Mobile' === $leg['type']) { |
|
662 | + $current_destination = $this->get_mobile_destination($day, $leg, $id); |
|
663 | + $current_accommodation = $this->get_mobile_accommodation($day, $leg, $id); |
|
664 | 664 | } |
665 | 665 | |
666 | 666 | // Accommodation. |
667 | - if ( false !== $current_accommodation ) { |
|
668 | - $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
669 | - } else { |
|
667 | + if (false !== $current_accommodation) { |
|
668 | + $current_day['accommodation_to_tour'] = array($current_accommodation); |
|
669 | + }else { |
|
670 | 670 | $current_day['accommodation_to_tour'] = array(); |
671 | 671 | } |
672 | 672 | |
673 | 673 | // Destination. |
674 | - if ( false !== $current_destination ) { |
|
675 | - $current_day['destination_to_tour'] = array( $current_destination ); |
|
676 | - } else { |
|
674 | + if (false !== $current_destination) { |
|
675 | + $current_day['destination_to_tour'] = array($current_destination); |
|
676 | + }else { |
|
677 | 677 | $current_day['destination_to_tour'] = array(); |
678 | 678 | } |
679 | 679 | |
680 | 680 | // Included. |
681 | - if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $day['included'] ) && '' !== $day['included'] ) { |
|
681 | + if (false !== $importable_content && in_array('itinerary_included', $importable_content) && isset($day['included']) && '' !== $day['included']) { |
|
682 | 682 | $current_day['included'] = $day['included']; |
683 | - } else { |
|
683 | + }else { |
|
684 | 684 | $current_day['included'] = ''; |
685 | 685 | } |
686 | 686 | |
687 | 687 | // Excluded. |
688 | - if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $day['excluded'] ) && '' !== $day['excluded'] ) { |
|
688 | + if (false !== $importable_content && in_array('itinerary_excluded', $importable_content) && isset($day['excluded']) && '' !== $day['excluded']) { |
|
689 | 689 | $current_day['excluded'] = $day['excluded']; |
690 | - } else { |
|
690 | + }else { |
|
691 | 691 | $current_day['excluded'] = ''; |
692 | 692 | } |
693 | 693 | |
694 | 694 | // Excluded. |
695 | - if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $day['room_basis'] ) && '' !== $day['room_basis'] ) { |
|
695 | + if (false !== $importable_content && in_array('room_basis', $importable_content) && isset($day['room_basis']) && '' !== $day['room_basis']) { |
|
696 | 696 | $current_day['room_basis'] = $day['room_basis']; |
697 | - } else { |
|
697 | + }else { |
|
698 | 698 | $current_day['room_basis'] = ''; |
699 | 699 | } |
700 | 700 | |
701 | 701 | // Excluded. |
702 | - if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $day['drinks_basis'] ) && '' !== $day['drinks_basis'] ) { |
|
702 | + if (false !== $importable_content && in_array('drinks_basis', $importable_content) && isset($day['drinks_basis']) && '' !== $day['drinks_basis']) { |
|
703 | 703 | $current_day['drinks_basis'] = $day['drinks_basis']; |
704 | - } else { |
|
704 | + }else { |
|
705 | 705 | $current_day['drinks_basis'] = ''; |
706 | 706 | } |
707 | 707 | |
708 | - $this->set_itinerary_day( $current_day, $id ); |
|
708 | + $this->set_itinerary_day($current_day, $id); |
|
709 | 709 | $day_counter = $next_day_count; |
710 | 710 | } |
711 | - } else { |
|
711 | + }else { |
|
712 | 712 | // This is for the by destination. |
713 | 713 | |
714 | 714 | $current_day = array(); |
715 | 715 | $next_day_count = $day_counter + (int) $leg['nights']; |
716 | 716 | $day_count_label = $next_day_count - 1; |
717 | 717 | |
718 | - $current_day['title'] = esc_attr( 'Day ', 'lsx-wetu-importer' ) . $day_counter; |
|
718 | + $current_day['title'] = esc_attr('Day ', 'lsx-wetu-importer').$day_counter; |
|
719 | 719 | |
720 | - if ( 0 !== (int) $leg['nights'] ) { |
|
721 | - $current_day['title'] .= ' - ' . $day_count_label; |
|
720 | + if (0 !== (int) $leg['nights']) { |
|
721 | + $current_day['title'] .= ' - '.$day_count_label; |
|
722 | 722 | } |
723 | 723 | |
724 | 724 | // Description. |
725 | - if ( false !== $importable_content && in_array( 'itinerary_description', $importable_content ) && isset( $leg['notes'] ) ) { |
|
725 | + if (false !== $importable_content && in_array('itinerary_description', $importable_content) && isset($leg['notes'])) { |
|
726 | 726 | $current_day['description'] = $leg['notes']; |
727 | - } else { |
|
727 | + }else { |
|
728 | 728 | $current_day['description'] = ''; |
729 | 729 | } |
730 | 730 | |
731 | 731 | // Itinerary Gallery. |
732 | - if ( false !== $importable_content && in_array( 'itinerary_gallery', $importable_content ) && isset( $leg['images'] ) ) { |
|
732 | + if (false !== $importable_content && in_array('itinerary_gallery', $importable_content) && isset($leg['images'])) { |
|
733 | 733 | $current_day['featured_image'] = ''; |
734 | - } else { |
|
734 | + }else { |
|
735 | 735 | $current_day['featured_image'] = ''; |
736 | 736 | } |
737 | 737 | |
738 | 738 | // Accommodation. |
739 | - if ( false !== $current_accommodation ) { |
|
740 | - $current_day['accommodation_to_tour'] = array( $current_accommodation ); |
|
741 | - } else { |
|
739 | + if (false !== $current_accommodation) { |
|
740 | + $current_day['accommodation_to_tour'] = array($current_accommodation); |
|
741 | + }else { |
|
742 | 742 | $current_day['accommodation_to_tour'] = array(); |
743 | 743 | } |
744 | 744 | |
745 | 745 | // Destination. |
746 | - if ( false !== $current_destination ) { |
|
747 | - $current_day['destination_to_tour'] = array( $current_destination ); |
|
748 | - } else { |
|
746 | + if (false !== $current_destination) { |
|
747 | + $current_day['destination_to_tour'] = array($current_destination); |
|
748 | + }else { |
|
749 | 749 | $current_day['destination_to_tour'] = array(); |
750 | 750 | } |
751 | 751 | |
752 | 752 | // Included. |
753 | - if ( false !== $importable_content && in_array( 'itinerary_included', $importable_content ) && isset( $leg['included'] ) && '' !== $leg['included'] ) { |
|
753 | + if (false !== $importable_content && in_array('itinerary_included', $importable_content) && isset($leg['included']) && '' !== $leg['included']) { |
|
754 | 754 | $current_day['included'] = $leg['included']; |
755 | - } else { |
|
755 | + }else { |
|
756 | 756 | $current_day['included'] = ''; |
757 | 757 | } |
758 | 758 | |
759 | 759 | // Excluded. |
760 | - if ( false !== $importable_content && in_array( 'itinerary_excluded', $importable_content ) && isset( $leg['excluded'] ) && '' !== $leg['excluded'] ) { |
|
760 | + if (false !== $importable_content && in_array('itinerary_excluded', $importable_content) && isset($leg['excluded']) && '' !== $leg['excluded']) { |
|
761 | 761 | $current_day['excluded'] = $leg['excluded']; |
762 | - } else { |
|
762 | + }else { |
|
763 | 763 | $current_day['excluded'] = ''; |
764 | 764 | } |
765 | 765 | |
766 | 766 | // Excluded. |
767 | - if ( false !== $importable_content && in_array( 'room_basis', $importable_content ) && isset( $leg['room_basis'] ) && '' !== $leg['room_basis'] ) { |
|
767 | + if (false !== $importable_content && in_array('room_basis', $importable_content) && isset($leg['room_basis']) && '' !== $leg['room_basis']) { |
|
768 | 768 | $current_day['room_basis'] = $leg['room_basis']; |
769 | - } else { |
|
769 | + }else { |
|
770 | 770 | $current_day['room_basis'] = ''; |
771 | 771 | } |
772 | 772 | |
773 | 773 | // Excluded. |
774 | - if ( false !== $importable_content && in_array( 'drinks_basis', $importable_content ) && isset( $leg['drinks_basis'] ) && '' !== $leg['drinks_basis'] ) { |
|
774 | + if (false !== $importable_content && in_array('drinks_basis', $importable_content) && isset($leg['drinks_basis']) && '' !== $leg['drinks_basis']) { |
|
775 | 775 | $current_day['drinks_basis'] = $leg['drinks_basis']; |
776 | - } else { |
|
776 | + }else { |
|
777 | 777 | $current_day['drinks_basis'] = ''; |
778 | 778 | } |
779 | 779 | |
780 | - $this->set_itinerary_day( $current_day, $id ); |
|
780 | + $this->set_itinerary_day($current_day, $id); |
|
781 | 781 | $day_counter = $next_day_count; |
782 | 782 | } |
783 | 783 | $leg_counter++; |
@@ -791,47 +791,47 @@ discard block |
||
791 | 791 | * @param string $id |
792 | 792 | * @return void |
793 | 793 | */ |
794 | - public function set_start_end_point( $data, $id ) { |
|
795 | - delete_post_meta( $id, 'departs_from' ); |
|
796 | - delete_post_meta( $id, 'ends_in' ); |
|
794 | + public function set_start_end_point($data, $id) { |
|
795 | + delete_post_meta($id, 'departs_from'); |
|
796 | + delete_post_meta($id, 'ends_in'); |
|
797 | 797 | $departs_from = false; |
798 | 798 | $ends_in = false; |
799 | 799 | |
800 | 800 | $args = array( |
801 | 801 | 'points' => $data['legs'], |
802 | 802 | 'start_index' => 0, |
803 | - 'end_index' => count( $data['legs'] ) - 2, |
|
803 | + 'end_index' => count($data['legs']) - 2, |
|
804 | 804 | ); |
805 | - $args = apply_filters( 'lsx_wetu_start_end_args', $args, $data ); |
|
805 | + $args = apply_filters('lsx_wetu_start_end_args', $args, $data); |
|
806 | 806 | |
807 | - if ( ! empty( $args['points'] ) && is_array( $args['points'] ) ) { |
|
807 | + if (!empty($args['points']) && is_array($args['points'])) { |
|
808 | 808 | $leg_counter = 0; |
809 | 809 | |
810 | - foreach ( $args['points'] as $point ) { |
|
810 | + foreach ($args['points'] as $point) { |
|
811 | 811 | // If we are in the first leg, and the destination was attached then save it as the departure field. |
812 | - if ( $leg_counter === $args['start_index'] ) { |
|
813 | - $departs_from_destination = $this->set_country( $point['destination_content_entity_id'], $id ); |
|
814 | - if ( false !== $departs_from_destination ) { |
|
812 | + if ($leg_counter === $args['start_index']) { |
|
813 | + $departs_from_destination = $this->set_country($point['destination_content_entity_id'], $id); |
|
814 | + if (false !== $departs_from_destination) { |
|
815 | 815 | $departs_from = $departs_from_destination; |
816 | 816 | } |
817 | 817 | } |
818 | 818 | // If its the last leg then save it as the ends in. |
819 | - if ( $leg_counter === $args['end_index'] ) { |
|
819 | + if ($leg_counter === $args['end_index']) { |
|
820 | 820 | $ends_in = $point['destination_content_entity_id']; |
821 | 821 | } |
822 | 822 | $leg_counter++; |
823 | 823 | } |
824 | 824 | |
825 | - $departs_from = apply_filters( 'lsx_wetu_departs_from_id', $departs_from, $data, $this ); |
|
826 | - if ( false !== $departs_from ) { |
|
827 | - add_post_meta( $id, 'departs_from', $departs_from, true ); |
|
825 | + $departs_from = apply_filters('lsx_wetu_departs_from_id', $departs_from, $data, $this); |
|
826 | + if (false !== $departs_from) { |
|
827 | + add_post_meta($id, 'departs_from', $departs_from, true); |
|
828 | 828 | } |
829 | 829 | |
830 | - if ( false !== $ends_in ) { |
|
831 | - $ends_in = apply_filters( 'lsx_wetu_ends_in_id', $ends_in, $data, $this ); |
|
832 | - $ends_in_destination = $this->set_country( $ends_in, $id ); |
|
833 | - if ( false !== $ends_in_destination ) { |
|
834 | - add_post_meta( $id, 'ends_in', $ends_in_destination, true ); |
|
830 | + if (false !== $ends_in) { |
|
831 | + $ends_in = apply_filters('lsx_wetu_ends_in_id', $ends_in, $data, $this); |
|
832 | + $ends_in_destination = $this->set_country($ends_in, $id); |
|
833 | + if (false !== $ends_in_destination) { |
|
834 | + add_post_meta($id, 'ends_in', $ends_in_destination, true); |
|
835 | 835 | } |
836 | 836 | } |
837 | 837 | } |
@@ -844,15 +844,15 @@ discard block |
||
844 | 844 | * @param $leg |
845 | 845 | * @return void |
846 | 846 | */ |
847 | - public function get_mobile_destination( $day, $leg, $id ) { |
|
847 | + public function get_mobile_destination($day, $leg, $id) { |
|
848 | 848 | $current_destination = false; |
849 | 849 | $current_day = (int) $day['period_start_day']; |
850 | - if ( isset( $leg['stops'] ) ) { |
|
851 | - foreach ( $leg['stops'] as $stop ) { |
|
850 | + if (isset($leg['stops'])) { |
|
851 | + foreach ($leg['stops'] as $stop) { |
|
852 | 852 | $arrival_day = (int) $stop['arrival_day']; |
853 | 853 | $departure_day = (int) $stop['departure_day']; |
854 | - if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
855 | - $current_destination = $this->set_destination( $stop, $id, 0 ); |
|
854 | + if ($arrival_day <= $current_day && $current_day < $departure_day) { |
|
855 | + $current_destination = $this->set_destination($stop, $id, 0); |
|
856 | 856 | } |
857 | 857 | } |
858 | 858 | } |
@@ -866,15 +866,15 @@ discard block |
||
866 | 866 | * @param $leg |
867 | 867 | * @return void |
868 | 868 | */ |
869 | - public function get_mobile_accommodation( $day, $leg, $id ) { |
|
869 | + public function get_mobile_accommodation($day, $leg, $id) { |
|
870 | 870 | $current_accommodation = false; |
871 | 871 | $current_day = (int) $day['period_start_day']; |
872 | - if ( isset( $leg['stops'] ) ) { |
|
873 | - foreach ( $leg['stops'] as $stop ) { |
|
872 | + if (isset($leg['stops'])) { |
|
873 | + foreach ($leg['stops'] as $stop) { |
|
874 | 874 | $arrival_day = (int) $stop['arrival_day']; |
875 | 875 | $departure_day = (int) $stop['departure_day']; |
876 | - if ( $arrival_day <= $current_day && $current_day < $departure_day ) { |
|
877 | - $current_accommodation = $this->set_accommodation( $stop, $id, 0 ); |
|
876 | + if ($arrival_day <= $current_day && $current_day < $departure_day) { |
|
877 | + $current_accommodation = $this->set_accommodation($stop, $id, 0); |
|
878 | 878 | } |
879 | 879 | } |
880 | 880 | } |
@@ -884,29 +884,29 @@ discard block |
||
884 | 884 | /** |
885 | 885 | * Run through your routes and save the points as a KML file. |
886 | 886 | */ |
887 | - public function set_map_data( $data, $id, $zoom = 9 ) { |
|
888 | - if ( ! empty( $data['routes'] ) ) { |
|
889 | - delete_post_meta( $id, 'wetu_map_points' ); |
|
887 | + public function set_map_data($data, $id, $zoom = 9) { |
|
888 | + if (!empty($data['routes'])) { |
|
889 | + delete_post_meta($id, 'wetu_map_points'); |
|
890 | 890 | |
891 | 891 | $points = array(); |
892 | 892 | |
893 | - foreach ( $data['routes'] as $route ) { |
|
893 | + foreach ($data['routes'] as $route) { |
|
894 | 894 | |
895 | - if ( isset( $route['points'] ) && '' !== $route['points'] ) { |
|
895 | + if (isset($route['points']) && '' !== $route['points']) { |
|
896 | 896 | |
897 | - $temp_points = explode( ';', $route['points'] ); |
|
898 | - $point_counter = count( $temp_points ); |
|
897 | + $temp_points = explode(';', $route['points']); |
|
898 | + $point_counter = count($temp_points); |
|
899 | 899 | |
900 | - for ( $x = 0; $x <= $point_counter; $x++ ) { |
|
900 | + for ($x = 0; $x <= $point_counter; $x++) { |
|
901 | 901 | $y = $x + 1; |
902 | - $points[] = $temp_points[ $x ] . ',' . $temp_points[ $y ]; |
|
902 | + $points[] = $temp_points[$x].','.$temp_points[$y]; |
|
903 | 903 | $x++; |
904 | 904 | } |
905 | 905 | } |
906 | 906 | } |
907 | 907 | |
908 | - if ( ! empty( $points ) ) { |
|
909 | - $this->save_custom_field( implode( ' ', $points ), 'wetu_map_points', $id, false, true ); |
|
908 | + if (!empty($points)) { |
|
909 | + $this->save_custom_field(implode(' ', $points), 'wetu_map_points', $id, false, true); |
|
910 | 910 | } |
911 | 911 | } |
912 | 912 | |
@@ -917,64 +917,64 @@ discard block |
||
917 | 917 | /** |
918 | 918 | * Set the Itinerary Day. |
919 | 919 | */ |
920 | - public function set_itinerary_day( $day, $id ) { |
|
921 | - $this->save_custom_field( $day, 'itinerary', $id, false, false ); |
|
920 | + public function set_itinerary_day($day, $id) { |
|
921 | + $this->save_custom_field($day, 'itinerary', $id, false, false); |
|
922 | 922 | } |
923 | 923 | |
924 | 924 | /** |
925 | 925 | * Set the ref number |
926 | 926 | */ |
927 | - public function set_reference_number( $data, $id ) { |
|
928 | - if ( isset( $data['reference_number'] ) && '' !== $data['reference_number'] ) { |
|
929 | - $this->save_custom_field( $data['reference_number'], 'lsx_wetu_ref', $id ); |
|
927 | + public function set_reference_number($data, $id) { |
|
928 | + if (isset($data['reference_number']) && '' !== $data['reference_number']) { |
|
929 | + $this->save_custom_field($data['reference_number'], 'lsx_wetu_ref', $id); |
|
930 | 930 | } |
931 | 931 | } |
932 | 932 | |
933 | 933 | /** |
934 | 934 | * Set the price. |
935 | 935 | */ |
936 | - public function set_price( $data, $id ) { |
|
936 | + public function set_price($data, $id) { |
|
937 | 937 | // Price. |
938 | - if ( isset( $data['price'] ) && '' !== $data['price'] ) { |
|
938 | + if (isset($data['price']) && '' !== $data['price']) { |
|
939 | 939 | $price = $data['price']; |
940 | - if ( false === apply_filters( 'lsx_wetu_importer_disable_tour_price_filter', false ) ) { |
|
941 | - $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
940 | + if (false === apply_filters('lsx_wetu_importer_disable_tour_price_filter', false)) { |
|
941 | + $price = preg_replace('/[^0-9,.]/', '', $price); |
|
942 | 942 | } |
943 | - $meta_key = apply_filters( 'lsx_wetu_importer_price_meta_key', 'price' ); |
|
944 | - $this->save_custom_field( $price, $meta_key, $id ); |
|
943 | + $meta_key = apply_filters('lsx_wetu_importer_price_meta_key', 'price'); |
|
944 | + $this->save_custom_field($price, $meta_key, $id); |
|
945 | 945 | } |
946 | 946 | |
947 | 947 | // Price includes. |
948 | - if ( isset( $data['price_includes'] ) && '' !== $data['price_includes'] ) { |
|
949 | - $meta_key = apply_filters( 'lsx_wetu_importer_included_meta_key', 'included' ); |
|
950 | - $this->save_custom_field( $data['price_includes'], $meta_key, $id ); |
|
948 | + if (isset($data['price_includes']) && '' !== $data['price_includes']) { |
|
949 | + $meta_key = apply_filters('lsx_wetu_importer_included_meta_key', 'included'); |
|
950 | + $this->save_custom_field($data['price_includes'], $meta_key, $id); |
|
951 | 951 | } |
952 | 952 | |
953 | 953 | // Price Excludes. |
954 | - if ( isset( $data['price_excludes'] ) && '' !== $data['price_excludes'] ) { |
|
955 | - $meta_key = apply_filters( 'lsx_wetu_importer_not_included_meta_key', 'not_included' ); |
|
956 | - $this->save_custom_field( $data['price_excludes'], $meta_key, $id ); |
|
954 | + if (isset($data['price_excludes']) && '' !== $data['price_excludes']) { |
|
955 | + $meta_key = apply_filters('lsx_wetu_importer_not_included_meta_key', 'not_included'); |
|
956 | + $this->save_custom_field($data['price_excludes'], $meta_key, $id); |
|
957 | 957 | } |
958 | 958 | } |
959 | 959 | |
960 | 960 | /** |
961 | 961 | * Set the duration. |
962 | 962 | */ |
963 | - public function set_duration( $data, $id ) { |
|
964 | - if ( isset( $data['days'] ) && ! empty( $data['days'] ) ) { |
|
963 | + public function set_duration($data, $id) { |
|
964 | + if (isset($data['days']) && !empty($data['days'])) { |
|
965 | 965 | $price = $data['days']; |
966 | - $price = preg_replace( '/[^0-9,.]/', '', $price ); |
|
967 | - $this->save_custom_field( $price, 'duration', $id ); |
|
966 | + $price = preg_replace('/[^0-9,.]/', '', $price); |
|
967 | + $this->save_custom_field($price, 'duration', $id); |
|
968 | 968 | } |
969 | 969 | } |
970 | 970 | |
971 | 971 | /** |
972 | 972 | * Set the group size |
973 | 973 | */ |
974 | - public function set_group_size( $data, $id ) { |
|
975 | - if ( isset( $data['group_size'] ) && ! empty( $data['group_size'] ) ) { |
|
974 | + public function set_group_size($data, $id) { |
|
975 | + if (isset($data['group_size']) && !empty($data['group_size'])) { |
|
976 | 976 | $group_size = $data['group_size']; |
977 | - $this->save_custom_field( $group_size, 'group_size', $id ); |
|
977 | + $this->save_custom_field($group_size, 'group_size', $id); |
|
978 | 978 | } |
979 | 979 | } |
980 | 980 | |
@@ -985,11 +985,11 @@ discard block |
||
985 | 985 | * @param array $travel_styles |
986 | 986 | * @return void |
987 | 987 | */ |
988 | - public function set_travel_styles( $id, $data ) { |
|
989 | - $tags = apply_filters( 'lsx_wetu_importer_tour_travel_styles', $data['tags'] ); |
|
990 | - if ( isset( $data['tags'] ) && ! empty( $tags ) ) { |
|
991 | - foreach ( $tags as $tag ) { |
|
992 | - $this->set_term( $id, $tag, 'travel-style' ); |
|
988 | + public function set_travel_styles($id, $data) { |
|
989 | + $tags = apply_filters('lsx_wetu_importer_tour_travel_styles', $data['tags']); |
|
990 | + if (isset($data['tags']) && !empty($tags)) { |
|
991 | + foreach ($tags as $tag) { |
|
992 | + $this->set_term($id, $tag, 'travel-style'); |
|
993 | 993 | } |
994 | 994 | } |
995 | 995 | } |
@@ -997,27 +997,27 @@ discard block |
||
997 | 997 | /** |
998 | 998 | * Connects the Accommodation if its available |
999 | 999 | */ |
1000 | - public function set_accommodation( $day, $id ) { |
|
1000 | + public function set_accommodation($day, $id) { |
|
1001 | 1001 | $ac_id = false; |
1002 | 1002 | $this->current_accommodation = $this->find_current_accommodation(); |
1003 | 1003 | |
1004 | - if ( isset( $day['content_entity_id'] ) && ! empty( $day['content_entity_id'] ) ) { |
|
1005 | - if ( false !== $this->current_accommodation && ! empty( $this->current_accommodation ) && array_key_exists( $day['content_entity_id'], $this->current_accommodation ) ) { |
|
1006 | - $ac_id = $this->current_accommodation[ $day['content_entity_id'] ]; |
|
1007 | - } else { |
|
1004 | + if (isset($day['content_entity_id']) && !empty($day['content_entity_id'])) { |
|
1005 | + if (false !== $this->current_accommodation && !empty($this->current_accommodation) && array_key_exists($day['content_entity_id'], $this->current_accommodation)) { |
|
1006 | + $ac_id = $this->current_accommodation[$day['content_entity_id']]; |
|
1007 | + }else { |
|
1008 | 1008 | $ac_id = wp_insert_post(array( |
1009 | 1009 | 'post_type' => 'accommodation', |
1010 | 1010 | 'post_status' => 'draft', |
1011 | 1011 | 'post_title' => $day['content_entity_id'], |
1012 | 1012 | )); |
1013 | 1013 | |
1014 | - $this->save_custom_field( $day['content_entity_id'], 'lsx_wetu_id', $ac_id ); |
|
1014 | + $this->save_custom_field($day['content_entity_id'], 'lsx_wetu_id', $ac_id); |
|
1015 | 1015 | } |
1016 | 1016 | |
1017 | - if ( '' !== $ac_id && false !== $ac_id ) { |
|
1018 | - $this->save_custom_field( $ac_id, 'accommodation_to_tour', $id, false, false ); |
|
1019 | - $this->save_custom_field( $id, 'tour_to_accommodation', $ac_id, false, false ); |
|
1020 | - $this->queue_item( $ac_id ); |
|
1017 | + if ('' !== $ac_id && false !== $ac_id) { |
|
1018 | + $this->save_custom_field($ac_id, 'accommodation_to_tour', $id, false, false); |
|
1019 | + $this->save_custom_field($id, 'tour_to_accommodation', $ac_id, false, false); |
|
1020 | + $this->queue_item($ac_id); |
|
1021 | 1021 | } |
1022 | 1022 | } |
1023 | 1023 | return $ac_id; |
@@ -1029,14 +1029,14 @@ discard block |
||
1029 | 1029 | * @param $post_type string |
1030 | 1030 | * @return boolean / array |
1031 | 1031 | */ |
1032 | - public function find_current_accommodation( $post_type = 'accommodation' ) { |
|
1032 | + public function find_current_accommodation($post_type = 'accommodation') { |
|
1033 | 1033 | global $wpdb; |
1034 | - $accommodation = parent::find_current_accommodation( $post_type ); |
|
1034 | + $accommodation = parent::find_current_accommodation($post_type); |
|
1035 | 1035 | $return = false; |
1036 | 1036 | |
1037 | - if ( ! empty( $accommodation ) ) { |
|
1038 | - foreach ( $accommodation as $key => $acc ) { |
|
1039 | - $return[ $acc->meta_value ] = $acc->post_id; |
|
1037 | + if (!empty($accommodation)) { |
|
1038 | + foreach ($accommodation as $key => $acc) { |
|
1039 | + $return[$acc->meta_value] = $acc->post_id; |
|
1040 | 1040 | } |
1041 | 1041 | } |
1042 | 1042 | |
@@ -1048,7 +1048,7 @@ discard block |
||
1048 | 1048 | * @return boolean / array |
1049 | 1049 | */ |
1050 | 1050 | public function find_current_destinations() { |
1051 | - return $this->find_current_accommodation( 'destination' ); |
|
1051 | + return $this->find_current_accommodation('destination'); |
|
1052 | 1052 | } |
1053 | 1053 | |
1054 | 1054 | /** |
@@ -1058,45 +1058,45 @@ discard block |
||
1058 | 1058 | * @param $id string |
1059 | 1059 | * @return boolean / string |
1060 | 1060 | */ |
1061 | - public function set_destination( $day, $id, $leg_counter ) { |
|
1061 | + public function set_destination($day, $id, $leg_counter) { |
|
1062 | 1062 | $dest_id = false; |
1063 | 1063 | $country_id = false; |
1064 | 1064 | |
1065 | 1065 | $this->current_destinations = $this->find_current_destinations(); |
1066 | 1066 | |
1067 | - if ( isset( $day['destination_content_entity_id'] ) && ! empty( $day['destination_content_entity_id'] ) ) { |
|
1068 | - if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $day['destination_content_entity_id'], $this->current_destinations ) ) { |
|
1069 | - $dest_id = $this->current_destinations[ $day['destination_content_entity_id'] ]; |
|
1067 | + if (isset($day['destination_content_entity_id']) && !empty($day['destination_content_entity_id'])) { |
|
1068 | + if (false !== $this->current_destinations && !empty($this->current_destinations) && array_key_exists($day['destination_content_entity_id'], $this->current_destinations)) { |
|
1069 | + $dest_id = $this->current_destinations[$day['destination_content_entity_id']]; |
|
1070 | 1070 | |
1071 | 1071 | //TODO Check for attachments here. |
1072 | - $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1072 | + $this->destination_images[$id][] = array($dest_id, $day['destination_content_entity_id']); |
|
1073 | 1073 | |
1074 | 1074 | //Check if there is a country asigned. |
1075 | - $potential_id = wp_get_post_parent_id( $dest_id ); |
|
1076 | - $country_wetu_id = get_post_meta( $potential_id, 'lsx_wetu_id', true ); |
|
1075 | + $potential_id = wp_get_post_parent_id($dest_id); |
|
1076 | + $country_wetu_id = get_post_meta($potential_id, 'lsx_wetu_id', true); |
|
1077 | 1077 | |
1078 | - if ( false !== $country_wetu_id ) { |
|
1079 | - $country_id = $this->set_country( $country_wetu_id, $id ); |
|
1078 | + if (false !== $country_wetu_id) { |
|
1079 | + $country_id = $this->set_country($country_wetu_id, $id); |
|
1080 | 1080 | //$this->destination_images[ $id ][] = array( $id, $country_wetu_id ); |
1081 | 1081 | } |
1082 | - } else { |
|
1083 | - $destination_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $day['destination_content_entity_id'] ); |
|
1082 | + }else { |
|
1083 | + $destination_json = wp_remote_get('https://wetu.com/API/Pins/'.$this->api_key.'/Get?ids='.$day['destination_content_entity_id']); |
|
1084 | 1084 | |
1085 | - if ( ! is_wp_error( $destination_json ) && ! empty( $destination_json ) && isset( $destination_json['response'] ) && isset( $destination_json['response']['code'] ) && 200 === $destination_json['response']['code'] ) { |
|
1085 | + if (!is_wp_error($destination_json) && !empty($destination_json) && isset($destination_json['response']) && isset($destination_json['response']['code']) && 200 === $destination_json['response']['code']) { |
|
1086 | 1086 | |
1087 | - $destination_data = json_decode( $destination_json['body'], true ); |
|
1087 | + $destination_data = json_decode($destination_json['body'], true); |
|
1088 | 1088 | |
1089 | - if ( ! empty( $destination_data ) && ! isset( $destination_data['error'] ) ) { |
|
1089 | + if (!empty($destination_data) && !isset($destination_data['error'])) { |
|
1090 | 1090 | $destination_title = $day['destination_content_entity_id']; |
1091 | 1091 | |
1092 | - if ( isset( $destination_data[0]['name'] ) ) { |
|
1092 | + if (isset($destination_data[0]['name'])) { |
|
1093 | 1093 | $destination_title = $destination_data[0]['name']; |
1094 | 1094 | } |
1095 | 1095 | |
1096 | - if ( isset( $destination_data[0]['map_object_id'] ) && isset( $destination_data[0]['position']['country_content_entity_id'] ) |
|
1097 | - && $destination_data[0]['map_object_id'] !== $destination_data[0]['position']['country_content_entity_id'] ) { |
|
1096 | + if (isset($destination_data[0]['map_object_id']) && isset($destination_data[0]['position']['country_content_entity_id']) |
|
1097 | + && $destination_data[0]['map_object_id'] !== $destination_data[0]['position']['country_content_entity_id']) { |
|
1098 | 1098 | |
1099 | - $country_id = $this->set_country( $destination_data[0]['position']['country_content_entity_id'], $id ); |
|
1099 | + $country_id = $this->set_country($destination_data[0]['position']['country_content_entity_id'], $id); |
|
1100 | 1100 | // Save the destination so we can grab the tour featured image and banner from them. |
1101 | 1101 | } |
1102 | 1102 | |
@@ -1106,40 +1106,40 @@ discard block |
||
1106 | 1106 | 'post_title' => $destination_title, |
1107 | 1107 | ); |
1108 | 1108 | |
1109 | - if ( false !== $country_id ) { |
|
1109 | + if (false !== $country_id) { |
|
1110 | 1110 | $dest_post['post_parent'] = $country_id; |
1111 | 1111 | } |
1112 | - $dest_id = wp_insert_post( $dest_post ); |
|
1112 | + $dest_id = wp_insert_post($dest_post); |
|
1113 | 1113 | |
1114 | 1114 | // Make sure we register the. |
1115 | - $this->current_destinations[ $day['destination_content_entity_id'] ] = $dest_id; |
|
1115 | + $this->current_destinations[$day['destination_content_entity_id']] = $dest_id; |
|
1116 | 1116 | |
1117 | 1117 | // If there are images attached then use the destination. |
1118 | - if ( isset( $destination_data[0]['content']['images'] ) && ! empty( $destination_data[0]['content']['images'] ) ) { |
|
1119 | - $this->destination_images[ $id ][] = array( $dest_id, $day['destination_content_entity_id'] ); |
|
1118 | + if (isset($destination_data[0]['content']['images']) && !empty($destination_data[0]['content']['images'])) { |
|
1119 | + $this->destination_images[$id][] = array($dest_id, $day['destination_content_entity_id']); |
|
1120 | 1120 | } |
1121 | 1121 | |
1122 | - $this->save_custom_field( $day['destination_content_entity_id'], 'lsx_wetu_id', $dest_id ); |
|
1122 | + $this->save_custom_field($day['destination_content_entity_id'], 'lsx_wetu_id', $dest_id); |
|
1123 | 1123 | } |
1124 | 1124 | } |
1125 | 1125 | } |
1126 | 1126 | |
1127 | - if ( '' !== $dest_id && false !== $dest_id ) { |
|
1128 | - $this->save_custom_field( $dest_id, 'destination_to_tour', $id, false, false ); |
|
1129 | - $this->save_custom_field( $id, 'tour_to_destination', $dest_id, false, false ); |
|
1127 | + if ('' !== $dest_id && false !== $dest_id) { |
|
1128 | + $this->save_custom_field($dest_id, 'destination_to_tour', $id, false, false); |
|
1129 | + $this->save_custom_field($id, 'tour_to_destination', $dest_id, false, false); |
|
1130 | 1130 | |
1131 | 1131 | //Save the item to display in the queue |
1132 | - $this->queue_item( $dest_id ); |
|
1132 | + $this->queue_item($dest_id); |
|
1133 | 1133 | |
1134 | 1134 | //Save the item to clean up the amount of connections. |
1135 | - $this->cleanup_posts[ $dest_id ] = 'tour_to_destination'; |
|
1135 | + $this->cleanup_posts[$dest_id] = 'tour_to_destination'; |
|
1136 | 1136 | |
1137 | 1137 | //Add this relation info so we can make sure certain items are set as countries. |
1138 | - if ( 0 !== $country_id && false !== $country_id ) { |
|
1139 | - $this->relation_meta[ $dest_id ] = $country_id; |
|
1140 | - $this->relation_meta[ $country_id ] = 0; |
|
1141 | - } else { |
|
1142 | - $this->relation_meta[ $dest_id ] = 0; |
|
1138 | + if (0 !== $country_id && false !== $country_id) { |
|
1139 | + $this->relation_meta[$dest_id] = $country_id; |
|
1140 | + $this->relation_meta[$country_id] = 0; |
|
1141 | + }else { |
|
1142 | + $this->relation_meta[$dest_id] = 0; |
|
1143 | 1143 | } |
1144 | 1144 | } |
1145 | 1145 | } |
@@ -1155,50 +1155,50 @@ discard block |
||
1155 | 1155 | * |
1156 | 1156 | * @return string |
1157 | 1157 | */ |
1158 | - public function set_country( $country_wetu_id, $id ) { |
|
1158 | + public function set_country($country_wetu_id, $id) { |
|
1159 | 1159 | $country_id = false; |
1160 | 1160 | $this->current_destinations = $this->find_current_destinations(); |
1161 | 1161 | |
1162 | - if ( false !== $this->current_destinations && ! empty( $this->current_destinations ) && array_key_exists( $country_wetu_id, $this->current_destinations ) ) { |
|
1163 | - $country_id = $this->current_destinations[ $country_wetu_id ]; |
|
1164 | - $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1165 | - } else { |
|
1166 | - $country_json = wp_remote_get( 'https://wetu.com/API/Pins/' . $this->api_key . '/Get?ids=' . $country_wetu_id ); |
|
1162 | + if (false !== $this->current_destinations && !empty($this->current_destinations) && array_key_exists($country_wetu_id, $this->current_destinations)) { |
|
1163 | + $country_id = $this->current_destinations[$country_wetu_id]; |
|
1164 | + $this->destination_images[$id][] = array($country_id, $country_wetu_id); |
|
1165 | + }else { |
|
1166 | + $country_json = wp_remote_get('https://wetu.com/API/Pins/'.$this->api_key.'/Get?ids='.$country_wetu_id); |
|
1167 | 1167 | |
1168 | - if ( ! is_wp_error( $country_json ) && ! empty( $country_json ) && isset( $country_json['response'] ) && isset( $country_json['response']['code'] ) && 200 === $country_json['response']['code'] ) { |
|
1169 | - $country_data = json_decode( $country_json['body'], true ); |
|
1168 | + if (!is_wp_error($country_json) && !empty($country_json) && isset($country_json['response']) && isset($country_json['response']['code']) && 200 === $country_json['response']['code']) { |
|
1169 | + $country_data = json_decode($country_json['body'], true); |
|
1170 | 1170 | |
1171 | 1171 | // Format the title of the destination if its available, otherwise default to the WETU ID. |
1172 | 1172 | $country_title = $country_wetu_id; |
1173 | 1173 | |
1174 | - if ( isset( $country_data[0]['name'] ) ) { |
|
1174 | + if (isset($country_data[0]['name'])) { |
|
1175 | 1175 | $country_title = $country_data[0]['name']; |
1176 | 1176 | } |
1177 | 1177 | |
1178 | - $country_id = wp_insert_post( array( |
|
1178 | + $country_id = wp_insert_post(array( |
|
1179 | 1179 | 'post_type' => 'destination', |
1180 | 1180 | 'post_status' => 'draft', |
1181 | 1181 | 'post_title' => $country_title, |
1182 | 1182 | )); |
1183 | 1183 | |
1184 | 1184 | //add the country to the current destination stack |
1185 | - $this->current_destinations[ $country_wetu_id ] = $country_id; |
|
1185 | + $this->current_destinations[$country_wetu_id] = $country_id; |
|
1186 | 1186 | |
1187 | 1187 | // Check if there are images and save fore use later. |
1188 | - if ( isset( $country_data[0]['content']['images'] ) && ! empty( $country_data[0]['content']['images'] ) ) { |
|
1189 | - $this->destination_images[ $id ][] = array( $country_id, $country_wetu_id ); |
|
1188 | + if (isset($country_data[0]['content']['images']) && !empty($country_data[0]['content']['images'])) { |
|
1189 | + $this->destination_images[$id][] = array($country_id, $country_wetu_id); |
|
1190 | 1190 | } |
1191 | 1191 | |
1192 | 1192 | //Save the wetu field |
1193 | - $this->save_custom_field( $country_wetu_id, 'lsx_wetu_id', $country_id ); |
|
1193 | + $this->save_custom_field($country_wetu_id, 'lsx_wetu_id', $country_id); |
|
1194 | 1194 | } |
1195 | 1195 | } |
1196 | 1196 | |
1197 | - if ( '' !== $country_id && false !== $country_id ) { |
|
1198 | - $this->save_custom_field( $country_id, 'destination_to_tour', $id, false, false ); |
|
1199 | - $this->save_custom_field( $id, 'tour_to_destination', $country_id, false, false ); |
|
1200 | - $this->queue_item( $country_id ); |
|
1201 | - $this->cleanup_posts[ $country_id ] = 'tour_to_destination'; |
|
1197 | + if ('' !== $country_id && false !== $country_id) { |
|
1198 | + $this->save_custom_field($country_id, 'destination_to_tour', $id, false, false); |
|
1199 | + $this->save_custom_field($id, 'tour_to_destination', $country_id, false, false); |
|
1200 | + $this->queue_item($country_id); |
|
1201 | + $this->cleanup_posts[$country_id] = 'tour_to_destination'; |
|
1202 | 1202 | |
1203 | 1203 | return $country_id; |
1204 | 1204 | } |
@@ -1213,42 +1213,42 @@ discard block |
||
1213 | 1213 | * |
1214 | 1214 | * @return string |
1215 | 1215 | */ |
1216 | - public function attach_destination_images( $importable_content = array() ) { |
|
1217 | - if ( false !== $this->destination_images ) { |
|
1218 | - $this->shuffle_assoc( $this->destination_images ); |
|
1219 | - foreach ( $this->destination_images as $tour => $destinations ) { |
|
1220 | - shuffle( $destinations ); |
|
1216 | + public function attach_destination_images($importable_content = array()) { |
|
1217 | + if (false !== $this->destination_images) { |
|
1218 | + $this->shuffle_assoc($this->destination_images); |
|
1219 | + foreach ($this->destination_images as $tour => $destinations) { |
|
1220 | + shuffle($destinations); |
|
1221 | 1221 | $image_set = false; |
1222 | 1222 | $forced = false; |
1223 | 1223 | |
1224 | - foreach ( $destinations as $destination ) { |
|
1225 | - if ( false === $image_set && false === $forced ) { |
|
1226 | - $url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
1224 | + foreach ($destinations as $destination) { |
|
1225 | + if (false === $image_set && false === $forced) { |
|
1226 | + $url = 'https://wetu.com/API/Pins/'.$this->api_key; |
|
1227 | 1227 | |
1228 | 1228 | $url_qs = ''; |
1229 | - $jdata = wp_remote_get( $url . '/Get?' . $url_qs . '&ids=' . $destination[1] ); |
|
1229 | + $jdata = wp_remote_get($url.'/Get?'.$url_qs.'&ids='.$destination[1]); |
|
1230 | 1230 | |
1231 | - if ( ! is_wp_error( $jdata ) && ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
1232 | - $adata = json_decode( $jdata['body'], true ); |
|
1231 | + if (!is_wp_error($jdata) && !empty($jdata) && isset($jdata['response']) && isset($jdata['response']['code']) && 200 === $jdata['response']['code']) { |
|
1232 | + $adata = json_decode($jdata['body'], true); |
|
1233 | 1233 | |
1234 | - if ( ! empty( $adata ) && ! empty( $adata[0]['content']['images'] ) ) { |
|
1235 | - $this->find_attachments( $destination[0] ); |
|
1234 | + if (!empty($adata) && !empty($adata[0]['content']['images'])) { |
|
1235 | + $this->find_attachments($destination[0]); |
|
1236 | 1236 | |
1237 | 1237 | // Set the featured image. |
1238 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
1239 | - $image_set = $this->set_featured_image( $adata, $tour ); |
|
1240 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1241 | - $image_set = $this->set_banner_image( $adata, $tour ); |
|
1238 | + if (false !== $importable_content && in_array('featured_image', $importable_content)) { |
|
1239 | + $image_set = $this->set_featured_image($adata, $tour); |
|
1240 | + if (false !== $importable_content && in_array('banner_image', $importable_content)) { |
|
1241 | + $image_set = $this->set_banner_image($adata, $tour); |
|
1242 | 1242 | $forced = true; |
1243 | 1243 | } |
1244 | 1244 | continue; |
1245 | 1245 | } |
1246 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
1247 | - $image_set = $this->set_banner_image( $adata, $tour ); |
|
1246 | + if (false !== $importable_content && in_array('banner_image', $importable_content)) { |
|
1247 | + $image_set = $this->set_banner_image($adata, $tour); |
|
1248 | 1248 | } |
1249 | 1249 | } |
1250 | 1250 | } |
1251 | - } else { |
|
1251 | + }else { |
|
1252 | 1252 | continue; |
1253 | 1253 | } |
1254 | 1254 | } |
@@ -1259,31 +1259,31 @@ discard block |
||
1259 | 1259 | /** |
1260 | 1260 | * Creates the main gallery data |
1261 | 1261 | */ |
1262 | - public function set_featured_image( $data, $id ) { |
|
1262 | + public function set_featured_image($data, $id) { |
|
1263 | 1263 | $image_set = false; |
1264 | 1264 | $counter = 0; |
1265 | 1265 | |
1266 | - if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1266 | + if (is_array($data[0]['content']['images']) && !empty($data[0]['content']['images'])) { |
|
1267 | 1267 | $images_array = $data[0]['content']['images']; |
1268 | 1268 | |
1269 | - if ( 'on' === $this->options['enable_tour_featured_random'] ) { |
|
1270 | - shuffle( $images_array ); |
|
1269 | + if ('on' === $this->options['enable_tour_featured_random']) { |
|
1270 | + shuffle($images_array); |
|
1271 | 1271 | } |
1272 | 1272 | |
1273 | - foreach ( $images_array as $v ) { |
|
1273 | + foreach ($images_array as $v) { |
|
1274 | 1274 | |
1275 | - if ( true === $image_set ) { |
|
1275 | + if (true === $image_set) { |
|
1276 | 1276 | $counter++; |
1277 | 1277 | continue; |
1278 | 1278 | } |
1279 | 1279 | |
1280 | - if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1281 | - $temp_featured_image = $this->attach_image( $v, $id ); |
|
1280 | + if (!$this->check_if_image_is_used($v)) { |
|
1281 | + $temp_featured_image = $this->attach_image($v, $id); |
|
1282 | 1282 | |
1283 | - if ( false !== $temp_featured_image ) { |
|
1283 | + if (false !== $temp_featured_image) { |
|
1284 | 1284 | $this->featured_image = $temp_featured_image; |
1285 | - delete_post_meta( $id, '_thumbnail_id' ); |
|
1286 | - add_post_meta( $id, '_thumbnail_id', $this->featured_image, true ); |
|
1285 | + delete_post_meta($id, '_thumbnail_id'); |
|
1286 | + add_post_meta($id, '_thumbnail_id', $this->featured_image, true); |
|
1287 | 1287 | $image_set = true; |
1288 | 1288 | } |
1289 | 1289 | } |
@@ -1297,40 +1297,40 @@ discard block |
||
1297 | 1297 | /** |
1298 | 1298 | * Sets a banner image |
1299 | 1299 | */ |
1300 | - public function set_banner_image( $data, $id, $content = array( 'none' ) ) { |
|
1300 | + public function set_banner_image($data, $id, $content = array('none')) { |
|
1301 | 1301 | $image_set = false; |
1302 | 1302 | $counter = 0; |
1303 | 1303 | |
1304 | - if ( is_array( $data[0]['content']['images'] ) && ! empty( $data[0]['content']['images'] ) ) { |
|
1304 | + if (is_array($data[0]['content']['images']) && !empty($data[0]['content']['images'])) { |
|
1305 | 1305 | |
1306 | - foreach ( $data[0]['content']['images'] as $v ) { |
|
1306 | + foreach ($data[0]['content']['images'] as $v) { |
|
1307 | 1307 | /*print_r('<pre>'); |
1308 | 1308 | print_r( $v ); |
1309 | 1309 | print_r('</pre>');*/ |
1310 | 1310 | |
1311 | - if ( true === $image_set || 0 === $counter ) { |
|
1311 | + if (true === $image_set || 0 === $counter) { |
|
1312 | 1312 | $counter++; |
1313 | 1313 | continue; |
1314 | 1314 | } |
1315 | 1315 | |
1316 | - if ( ! $this->check_if_image_is_used( $v ) ) { |
|
1317 | - $temp_banner = $this->attach_image( $v, $id, array( |
|
1316 | + if (!$this->check_if_image_is_used($v)) { |
|
1317 | + $temp_banner = $this->attach_image($v, $id, array( |
|
1318 | 1318 | 'width' => '1920', |
1319 | 1319 | 'height' => '600', |
1320 | 1320 | 'cropping' => 'c', |
1321 | - ) ); |
|
1321 | + )); |
|
1322 | 1322 | |
1323 | - if ( false !== $temp_banner ) { |
|
1323 | + if (false !== $temp_banner) { |
|
1324 | 1324 | $this->banner_image = $temp_banner; |
1325 | 1325 | |
1326 | - delete_post_meta( $id, 'image_group' ); |
|
1326 | + delete_post_meta($id, 'image_group'); |
|
1327 | 1327 | |
1328 | 1328 | $new_banner = array( |
1329 | 1329 | 'banner_image' => array( |
1330 | 1330 | 'cmb-field-0' => $this->banner_image, |
1331 | 1331 | ), |
1332 | 1332 | ); |
1333 | - add_post_meta( $id, 'image_group', $new_banner, true ); |
|
1333 | + add_post_meta($id, 'image_group', $new_banner, true); |
|
1334 | 1334 | $image_set = true; |
1335 | 1335 | } |
1336 | 1336 | } |
@@ -1344,7 +1344,7 @@ discard block |
||
1344 | 1344 | /** |
1345 | 1345 | * Grabs all of the current used featured images on the site. |
1346 | 1346 | */ |
1347 | - public function check_if_image_is_used( $v ) { |
|
1347 | + public function check_if_image_is_used($v) { |
|
1348 | 1348 | global $wpdb; |
1349 | 1349 | $return = false; |
1350 | 1350 | |
@@ -1355,18 +1355,18 @@ discard block |
||
1355 | 1355 | WHERE meta_value = '%s' |
1356 | 1356 | AND meta_key = 'lsx_wetu_id' |
1357 | 1357 | ", |
1358 | - array( $value ) |
|
1358 | + array($value) |
|
1359 | 1359 | ) |
1360 | 1360 | ); |
1361 | 1361 | $attached_tours = array(); |
1362 | - if ( ! empty( $results ) ) { |
|
1363 | - foreach ( $results as $result ) { |
|
1364 | - if ( 'tour' === get_post_type( $result['post_id'] ) ) { |
|
1362 | + if (!empty($results)) { |
|
1363 | + foreach ($results as $result) { |
|
1364 | + if ('tour' === get_post_type($result['post_id'])) { |
|
1365 | 1365 | $attached_tours[] = $result['post_id']; |
1366 | 1366 | } |
1367 | 1367 | } |
1368 | 1368 | } |
1369 | - if ( ! empty( $attached_tours ) ) { |
|
1369 | + if (!empty($attached_tours)) { |
|
1370 | 1370 | $return = true; |
1371 | 1371 | } |
1372 | 1372 | return $return; |
@@ -1377,10 +1377,10 @@ discard block |
||
1377 | 1377 | * |
1378 | 1378 | * @param $id int |
1379 | 1379 | */ |
1380 | - public function queue_item( $id ) { |
|
1381 | - if ( is_array( $this->import_queue ) && ! in_array( $id, $this->import_queue ) ) { |
|
1380 | + public function queue_item($id) { |
|
1381 | + if (is_array($this->import_queue) && !in_array($id, $this->import_queue)) { |
|
1382 | 1382 | $this->import_queue[] = $id; |
1383 | - } else { |
|
1383 | + }else { |
|
1384 | 1384 | $this->import_queue[] = $id; |
1385 | 1385 | } |
1386 | 1386 | } |
@@ -1389,18 +1389,18 @@ discard block |
||
1389 | 1389 | * Saves the queue to the option. |
1390 | 1390 | */ |
1391 | 1391 | public function save_queue() { |
1392 | - if ( ! empty( $this->import_queue ) ) { |
|
1393 | - if ( ! empty( $this->queued_imports ) ) { |
|
1394 | - $saved_imports = array_merge( $this->queued_imports, $this->import_queue ); |
|
1395 | - } else { |
|
1392 | + if (!empty($this->import_queue)) { |
|
1393 | + if (!empty($this->queued_imports)) { |
|
1394 | + $saved_imports = array_merge($this->queued_imports, $this->import_queue); |
|
1395 | + }else { |
|
1396 | 1396 | $saved_imports = $this->import_queue; |
1397 | 1397 | } |
1398 | 1398 | |
1399 | - delete_option( 'lsx_wetu_importer_que' ); |
|
1399 | + delete_option('lsx_wetu_importer_que'); |
|
1400 | 1400 | |
1401 | - if ( ! empty( $saved_imports ) ) { |
|
1402 | - $saved_imports = array_unique( $saved_imports ); |
|
1403 | - update_option( 'lsx_wetu_importer_que', $saved_imports ); |
|
1401 | + if (!empty($saved_imports)) { |
|
1402 | + $saved_imports = array_unique($saved_imports); |
|
1403 | + update_option('lsx_wetu_importer_que', $saved_imports); |
|
1404 | 1404 | } |
1405 | 1405 | } |
1406 | 1406 | } |
@@ -1413,14 +1413,14 @@ discard block |
||
1413 | 1413 | <thead> |
1414 | 1414 | <tr> |
1415 | 1415 | <th class="manage-column column-cb check-column" id="cb" scope="col"> |
1416 | - <label for="cb-select-all-1" class="screen-reader-text"><?php esc_attr_e( 'Select All', 'lsx-wetu-importer' ); ?></label> |
|
1416 | + <label for="cb-select-all-1" class="screen-reader-text"><?php esc_attr_e('Select All', 'lsx-wetu-importer'); ?></label> |
|
1417 | 1417 | <input type="checkbox" id="cb-select-all-1"> |
1418 | 1418 | </th> |
1419 | - <th class="manage-column column-order " id="order" scope="col"><?php esc_attr_e( 'Order', 'lsx-wetu-importer' ); ?></th> |
|
1420 | - <th class="manage-column column-title " id="title" scope="col"><?php esc_attr_e( 'Title', 'lsx-wetu-importer' ); ?></th> |
|
1421 | - <th class="manage-column column-date" id="ref" scope="col"><?php esc_attr_e( 'Ref', 'lsx-wetu-importer' ); ?></th> |
|
1422 | - <th class="manage-column column-date" id="date" scope="col"><?php esc_attr_e( 'Date', 'lsx-wetu-importer' ); ?></th> |
|
1423 | - <th class="manage-column column-ssid" id="ssid" scope="col"><?php esc_attr_e( 'WETU ID', 'lsx-wetu-importer' ); ?></th> |
|
1419 | + <th class="manage-column column-order " id="order" scope="col"><?php esc_attr_e('Order', 'lsx-wetu-importer'); ?></th> |
|
1420 | + <th class="manage-column column-title " id="title" scope="col"><?php esc_attr_e('Title', 'lsx-wetu-importer'); ?></th> |
|
1421 | + <th class="manage-column column-date" id="ref" scope="col"><?php esc_attr_e('Ref', 'lsx-wetu-importer'); ?></th> |
|
1422 | + <th class="manage-column column-date" id="date" scope="col"><?php esc_attr_e('Date', 'lsx-wetu-importer'); ?></th> |
|
1423 | + <th class="manage-column column-ssid" id="ssid" scope="col"><?php esc_attr_e('WETU ID', 'lsx-wetu-importer'); ?></th> |
|
1424 | 1424 | </tr> |
1425 | 1425 | </thead> |
1426 | 1426 | <?php |
@@ -1434,14 +1434,14 @@ discard block |
||
1434 | 1434 | <tfoot> |
1435 | 1435 | <tr> |
1436 | 1436 | <th class="manage-column column-cb check-column" id="cb" scope="col"> |
1437 | - <label for="cb-select-all-1" class="screen-reader-text"><?php esc_attr_e( 'Select All', 'lsx-wetu-importer' ); ?></label> |
|
1437 | + <label for="cb-select-all-1" class="screen-reader-text"><?php esc_attr_e('Select All', 'lsx-wetu-importer'); ?></label> |
|
1438 | 1438 | <input type="checkbox" id="cb-select-all-1"> |
1439 | 1439 | </th> |
1440 | - <th class="manage-column column-order " id="order" scope="col"><?php esc_attr_e( 'Order', 'lsx-wetu-importer' ); ?></th> |
|
1441 | - <th class="manage-column column-title" scope="col"><?php esc_attr_e( 'Title', 'lsx-wetu-importer' ); ?></th> |
|
1442 | - <th class="manage-column column-date" id="ref" scope="col"><?php esc_attr_e( 'Ref', 'lsx-wetu-importer' ); ?></th> |
|
1443 | - <th class="manage-column column-date" scope="col"><?php esc_attr_e( 'Date', 'lsx-wetu-importer' ); ?></th> |
|
1444 | - <th class="manage-column column-ssid" scope="col"><?php esc_attr_e( 'WETU ID', 'lsx-wetu-importer' ); ?></th> |
|
1440 | + <th class="manage-column column-order " id="order" scope="col"><?php esc_attr_e('Order', 'lsx-wetu-importer'); ?></th> |
|
1441 | + <th class="manage-column column-title" scope="col"><?php esc_attr_e('Title', 'lsx-wetu-importer'); ?></th> |
|
1442 | + <th class="manage-column column-date" id="ref" scope="col"><?php esc_attr_e('Ref', 'lsx-wetu-importer'); ?></th> |
|
1443 | + <th class="manage-column column-date" scope="col"><?php esc_attr_e('Date', 'lsx-wetu-importer'); ?></th> |
|
1444 | + <th class="manage-column column-ssid" scope="col"><?php esc_attr_e('WETU ID', 'lsx-wetu-importer'); ?></th> |
|
1445 | 1445 | </tr> |
1446 | 1446 | </tfoot> |
1447 | 1447 | <?php |
@@ -9,32 +9,32 @@ discard block |
||
9 | 9 | |
10 | 10 | class LSX_WETU_Importer_Banner_Integration extends LSX_WETU_Importer { |
11 | 11 | |
12 | - /** |
|
13 | - * The url to list items from WETU |
|
14 | - * |
|
15 | - * @since 0.0.1 |
|
16 | - * |
|
17 | - * @var string |
|
18 | - */ |
|
19 | - public $tab_slug = 'banners'; |
|
20 | - |
|
21 | - /** |
|
22 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
23 | - * |
|
24 | - * @since 1.0.0 |
|
25 | - * |
|
26 | - * @access private |
|
27 | - */ |
|
28 | - public function __construct() { |
|
29 | - add_action( 'wp_ajax_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
30 | - add_action( 'wp_ajax_nopriv_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
31 | - } |
|
32 | - |
|
33 | - /** |
|
34 | - * Display the importer administration screen |
|
35 | - */ |
|
36 | - public function display_page() { |
|
37 | - ?> |
|
12 | + /** |
|
13 | + * The url to list items from WETU |
|
14 | + * |
|
15 | + * @since 0.0.1 |
|
16 | + * |
|
17 | + * @var string |
|
18 | + */ |
|
19 | + public $tab_slug = 'banners'; |
|
20 | + |
|
21 | + /** |
|
22 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
23 | + * |
|
24 | + * @since 1.0.0 |
|
25 | + * |
|
26 | + * @access private |
|
27 | + */ |
|
28 | + public function __construct() { |
|
29 | + add_action( 'wp_ajax_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
30 | + add_action( 'wp_ajax_nopriv_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
31 | + } |
|
32 | + |
|
33 | + /** |
|
34 | + * Display the importer administration screen |
|
35 | + */ |
|
36 | + public function display_page() { |
|
37 | + ?> |
|
38 | 38 | <div class="wrap"> |
39 | 39 | <h2><?php esc_html_e( 'Download new banners straight from WETU', 'lsx-wetu-importer' ); ?></h2> |
40 | 40 | |
@@ -58,67 +58,67 @@ discard block |
||
58 | 58 | </thead> |
59 | 59 | |
60 | 60 | <?php |
61 | - $accommodation_args = array( |
|
62 | - 'post_type' => 'accommodation', |
|
63 | - 'post_status' => array( 'publish', 'pending', 'draft', 'future', 'private' ), |
|
64 | - 'nopagin' => 'true', |
|
65 | - 'posts_per_page' => '1000', |
|
66 | - 'meta_query' => array( |
|
67 | - 'relation' => 'AND', |
|
68 | - array( |
|
69 | - 'key' => 'lsx_wetu_id', |
|
70 | - 'compare' => 'EXISTS', |
|
71 | - ), |
|
72 | - array( |
|
73 | - 'key' => 'image_group', |
|
74 | - 'compare' => 'EXISTS', |
|
75 | - ), |
|
76 | - array( |
|
77 | - 'key' => 'image_group', |
|
78 | - 'value' => 'a:1:{s:12:"banner_image";a:0:{}}', |
|
79 | - 'compare' => '!=', |
|
80 | - ), |
|
81 | - ), |
|
82 | - ); |
|
83 | - $accommodation = new WP_Query( $accommodation_args ); |
|
84 | - ?> |
|
61 | + $accommodation_args = array( |
|
62 | + 'post_type' => 'accommodation', |
|
63 | + 'post_status' => array( 'publish', 'pending', 'draft', 'future', 'private' ), |
|
64 | + 'nopagin' => 'true', |
|
65 | + 'posts_per_page' => '1000', |
|
66 | + 'meta_query' => array( |
|
67 | + 'relation' => 'AND', |
|
68 | + array( |
|
69 | + 'key' => 'lsx_wetu_id', |
|
70 | + 'compare' => 'EXISTS', |
|
71 | + ), |
|
72 | + array( |
|
73 | + 'key' => 'image_group', |
|
74 | + 'compare' => 'EXISTS', |
|
75 | + ), |
|
76 | + array( |
|
77 | + 'key' => 'image_group', |
|
78 | + 'value' => 'a:1:{s:12:"banner_image";a:0:{}}', |
|
79 | + 'compare' => '!=', |
|
80 | + ), |
|
81 | + ), |
|
82 | + ); |
|
83 | + $accommodation = new WP_Query( $accommodation_args ); |
|
84 | + ?> |
|
85 | 85 | |
86 | 86 | <tbody id="the-list"> |
87 | 87 | <?php |
88 | - if ( $accommodation->have_posts() ) { |
|
89 | - while ( $accommodation->have_posts() ) { |
|
90 | - $accommodation->the_post(); |
|
91 | - ?> |
|
88 | + if ( $accommodation->have_posts() ) { |
|
89 | + while ( $accommodation->have_posts() ) { |
|
90 | + $accommodation->the_post(); |
|
91 | + ?> |
|
92 | 92 | <tr class="post-<?php the_ID(); ?> type-tour status-none" id="post-<?php the_ID(); ?>"> |
93 | 93 | <?php |
94 | - $banner_size_appropriate = false; |
|
95 | - $min_width = '1920'; |
|
96 | - $min_height = '500'; |
|
94 | + $banner_size_appropriate = false; |
|
95 | + $min_width = '1920'; |
|
96 | + $min_height = '500'; |
|
97 | 97 | |
98 | - $img_group = get_post_meta( get_the_ID(), 'image_group', true ); |
|
98 | + $img_group = get_post_meta( get_the_ID(), 'image_group', true ); |
|
99 | 99 | |
100 | - $thumbnails_html = false; |
|
100 | + $thumbnails_html = false; |
|
101 | 101 | |
102 | - if ( false !== $img_group ) { |
|
103 | - foreach ( $img_group['banner_image'] as $banner_image ) { |
|
104 | - $large = wp_get_attachment_image_src( $banner_image, 'full' ); |
|
105 | - $real_width = $large[1]; |
|
106 | - $real_height = $large[2]; |
|
102 | + if ( false !== $img_group ) { |
|
103 | + foreach ( $img_group['banner_image'] as $banner_image ) { |
|
104 | + $large = wp_get_attachment_image_src( $banner_image, 'full' ); |
|
105 | + $real_width = $large[1]; |
|
106 | + $real_height = $large[2]; |
|
107 | 107 | |
108 | - $status = 'optimized'; |
|
109 | - if ( $real_width < intval( $real_width ) ) { |
|
110 | - $status = 'width not enough.'; |
|
111 | - } |
|
108 | + $status = 'optimized'; |
|
109 | + if ( $real_width < intval( $real_width ) ) { |
|
110 | + $status = 'width not enough.'; |
|
111 | + } |
|
112 | 112 | |
113 | - $thumbnail = wp_get_attachment_image_src( $banner_image, 'thumbnail' ); |
|
114 | - $thumbnails_html[] = ' |
|
113 | + $thumbnail = wp_get_attachment_image_src( $banner_image, 'thumbnail' ); |
|
114 | + $thumbnails_html[] = ' |
|
115 | 115 | <div style="display:block;float:left;"> |
116 | 116 | <img src="' . $thumbnail[0] . '" /> |
117 | 117 | <p style="text-align:center;">' . $real_width . 'px by ' . $real_height . 'px</p> |
118 | 118 | </div>'; |
119 | - } |
|
120 | - } |
|
121 | - ?> |
|
119 | + } |
|
120 | + } |
|
121 | + ?> |
|
122 | 122 | <th class="check-column" scope="row"> |
123 | 123 | <label for="cb-select-<?php the_ID(); ?>" class="screen-reader-text"></label> |
124 | 124 | <input type="checkbox" data-identifier="<?php the_ID(); ?>" value="<?php the_ID(); ?>" name="post[]" id="cb-select-<?php the_ID(); ?>"> |
@@ -127,25 +127,25 @@ discard block |
||
127 | 127 | <td class="post-title page-title column-title"> |
128 | 128 | <?php |
129 | 129 | echo '<a href="' . esc_url( admin_url( '/post.php?post=' . get_the_ID() . '&action=edit' ) ) . '" target="_blank">'; |
130 | - the_title(); |
|
131 | - echo '</a>'; |
|
130 | + the_title(); |
|
131 | + echo '</a>'; |
|
132 | 132 | ?> |
133 | 133 | </td> |
134 | 134 | |
135 | 135 | <td colspan="2" class="thumbnails column-thumbnails"> |
136 | 136 | <?php |
137 | - if ( false !== $thumbnails_html ) { |
|
138 | - echo wp_kses_post( implode( '', $thumbnails_html ) ); |
|
139 | - } else { |
|
140 | - echo '<p>There was an error retrieving your images.</p>'; |
|
141 | - } |
|
142 | - ?> |
|
137 | + if ( false !== $thumbnails_html ) { |
|
138 | + echo wp_kses_post( implode( '', $thumbnails_html ) ); |
|
139 | + } else { |
|
140 | + echo '<p>There was an error retrieving your images.</p>'; |
|
141 | + } |
|
142 | + ?> |
|
143 | 143 | </td> |
144 | 144 | </tr> |
145 | 145 | <?php |
146 | 146 | } |
147 | - } |
|
148 | - ?> |
|
147 | + } |
|
148 | + ?> |
|
149 | 149 | </tbody> |
150 | 150 | |
151 | 151 | <tfoot> |
@@ -166,125 +166,125 @@ discard block |
||
166 | 166 | </form> |
167 | 167 | </div> |
168 | 168 | <?php |
169 | - } |
|
170 | - |
|
171 | - /** |
|
172 | - * Creates the main gallery data |
|
173 | - */ |
|
174 | - public function sync_new_banner() { |
|
175 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
176 | - if ( isset( $_POST['action'] ) && 'lsx_import_sync_banners' === $_POST['action'] && isset( $_POST['post_id'] ) ) { |
|
177 | - |
|
178 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
179 | - $banners = get_post_meta( $post_id, 'image_group', true ); |
|
180 | - $this->wetu_id = get_post_meta( $post_id, 'lsx_wetu_id', true ); |
|
181 | - |
|
182 | - $new_banner_array = false; |
|
183 | - $array_index = 0; |
|
184 | - |
|
185 | - foreach ( $banners['banner_image'] as $banner_image ) { |
|
186 | - $image_id = $this->attach_external_image2( $this->format_wetu_url( $banner_image ), array(), $post_id ); |
|
187 | - if ( null !== $image_id && '' !== $image_id ) { |
|
188 | - $new_banner_array['banner_image'][ 'cmb-field-' . $array_index ] = $image_id; |
|
189 | - $array_index++; |
|
190 | - } |
|
191 | - } |
|
192 | - |
|
193 | - if ( false !== $new_banner_array ) { |
|
194 | - delete_post_meta( $post_id, 'image_group' ); |
|
195 | - add_post_meta( $post_id, 'image_group', $new_banner_array, true ); |
|
196 | - echo true; |
|
197 | - } else { |
|
198 | - echo false; |
|
199 | - } |
|
200 | - } else { |
|
201 | - echo false; |
|
202 | - } |
|
203 | - |
|
204 | - die(); |
|
205 | - } |
|
206 | - |
|
207 | - /** |
|
208 | - * formats the url |
|
209 | - */ |
|
210 | - public function format_wetu_url( $post_id ) { |
|
211 | - return 'https://wetu.com/ImageHandler/c1920x800/' . $this->wetu_id . '/' . $this->format_filename( $post_id ); |
|
212 | - } |
|
213 | - |
|
214 | - /** |
|
215 | - * formats the filename |
|
216 | - */ |
|
217 | - public function format_filename( $post_id ) { |
|
218 | - $base = str_replace( '_', ' ', get_the_title( $post_id ) ); |
|
219 | - $base = rawurlencode( $base ); |
|
220 | - $type = get_post_mime_type( $post_id ); |
|
221 | - |
|
222 | - switch ( $type ) { |
|
223 | - case 'image/jpeg': |
|
224 | - return $base . '.jpg'; |
|
225 | - break; |
|
226 | - case 'image/png': |
|
227 | - return $base . '.png'; |
|
228 | - break; |
|
229 | - case 'image/gif': |
|
230 | - return $base . '.gif'; |
|
231 | - break; |
|
232 | - default: |
|
233 | - return false; |
|
234 | - } |
|
235 | - } |
|
236 | - |
|
237 | - public function attach_external_image2( $url = null, $post_data = array(), $post_id = '' ) { |
|
238 | - if ( ! $url ) { |
|
169 | + } |
|
170 | + |
|
171 | + /** |
|
172 | + * Creates the main gallery data |
|
173 | + */ |
|
174 | + public function sync_new_banner() { |
|
175 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
176 | + if ( isset( $_POST['action'] ) && 'lsx_import_sync_banners' === $_POST['action'] && isset( $_POST['post_id'] ) ) { |
|
177 | + |
|
178 | + $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
179 | + $banners = get_post_meta( $post_id, 'image_group', true ); |
|
180 | + $this->wetu_id = get_post_meta( $post_id, 'lsx_wetu_id', true ); |
|
181 | + |
|
182 | + $new_banner_array = false; |
|
183 | + $array_index = 0; |
|
184 | + |
|
185 | + foreach ( $banners['banner_image'] as $banner_image ) { |
|
186 | + $image_id = $this->attach_external_image2( $this->format_wetu_url( $banner_image ), array(), $post_id ); |
|
187 | + if ( null !== $image_id && '' !== $image_id ) { |
|
188 | + $new_banner_array['banner_image'][ 'cmb-field-' . $array_index ] = $image_id; |
|
189 | + $array_index++; |
|
190 | + } |
|
191 | + } |
|
192 | + |
|
193 | + if ( false !== $new_banner_array ) { |
|
194 | + delete_post_meta( $post_id, 'image_group' ); |
|
195 | + add_post_meta( $post_id, 'image_group', $new_banner_array, true ); |
|
196 | + echo true; |
|
197 | + } else { |
|
198 | + echo false; |
|
199 | + } |
|
200 | + } else { |
|
201 | + echo false; |
|
202 | + } |
|
203 | + |
|
204 | + die(); |
|
205 | + } |
|
206 | + |
|
207 | + /** |
|
208 | + * formats the url |
|
209 | + */ |
|
210 | + public function format_wetu_url( $post_id ) { |
|
211 | + return 'https://wetu.com/ImageHandler/c1920x800/' . $this->wetu_id . '/' . $this->format_filename( $post_id ); |
|
212 | + } |
|
213 | + |
|
214 | + /** |
|
215 | + * formats the filename |
|
216 | + */ |
|
217 | + public function format_filename( $post_id ) { |
|
218 | + $base = str_replace( '_', ' ', get_the_title( $post_id ) ); |
|
219 | + $base = rawurlencode( $base ); |
|
220 | + $type = get_post_mime_type( $post_id ); |
|
221 | + |
|
222 | + switch ( $type ) { |
|
223 | + case 'image/jpeg': |
|
224 | + return $base . '.jpg'; |
|
225 | + break; |
|
226 | + case 'image/png': |
|
227 | + return $base . '.png'; |
|
228 | + break; |
|
229 | + case 'image/gif': |
|
230 | + return $base . '.gif'; |
|
231 | + break; |
|
232 | + default: |
|
233 | + return false; |
|
234 | + } |
|
235 | + } |
|
236 | + |
|
237 | + public function attach_external_image2( $url = null, $post_data = array(), $post_id = '' ) { |
|
238 | + if ( ! $url ) { |
|
239 | 239 | return new WP_Error( 'missing', 'Need a valid URL' ); } |
240 | - $att_id = false; |
|
241 | - |
|
242 | - require_once( ABSPATH . 'wp-admin/includes/file.php' ); |
|
243 | - require_once( ABSPATH . 'wp-admin/includes/media.php' ); |
|
244 | - require_once( ABSPATH . 'wp-admin/includes/image.php' ); |
|
245 | - |
|
246 | - $tmp = tempnam( '/tmp', 'FOO' ); |
|
247 | - $image = wp_remote_get( $url ); |
|
248 | - |
|
249 | - if ( ! empty( $image ) && isset( $image['response'] ) && isset( $image['response']['code'] ) && 200 === $image['response']['code'] ) { |
|
250 | - file_put_contents( $tmp, $image['body'] ); |
|
251 | - chmod( $tmp, '777' ); |
|
252 | - |
|
253 | - preg_match( '/[^\?]+\.(tif|TIFF|jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG|pdf|PDF|bmp|BMP)/', $url, $matches ); |
|
254 | - $url_filename = basename( $matches[0] ); |
|
255 | - $url_filename = str_replace( '%20', '_', $url_filename ); |
|
256 | - // extract filename from url for title. |
|
257 | - $url_type = wp_check_filetype( $url_filename ); |
|
258 | - |
|
259 | - // assemble file data (should be built like $_FILES since wp_handle_sideload() will be using). |
|
260 | - $file_array['tmp_name'] = $tmp; |
|
261 | - |
|
262 | - if ( ! empty( $filename ) && ' ' != $filename ) { |
|
263 | - $file_array['name'] = $filename . '.' . $url_type['ext']; |
|
264 | - } else { |
|
265 | - $file_array['name'] = $url_filename; |
|
266 | - } |
|
267 | - |
|
268 | - // set additional wp_posts columns. |
|
269 | - if ( empty( $post_data['post_title'] ) ) { |
|
270 | - $url_filename = str_replace( '%20', ' ', $url_filename ); |
|
271 | - $post_data['post_title'] = basename( $url_filename, '.' . $url_type['ext'] ); |
|
272 | - } |
|
273 | - |
|
274 | - // make sure gets tied to parent. |
|
275 | - if ( empty( $post_data['post_parent'] ) ) { |
|
276 | - $post_data['post_parent'] = $post_id; |
|
277 | - } |
|
278 | - |
|
279 | - // do the validation and storage stuff. |
|
280 | - $att_id = media_handle_sideload( $file_array, $post_id, null, $post_data ); |
|
281 | - |
|
282 | - // If error storing permanently, unlink. |
|
283 | - if ( is_wp_error( $att_id ) ) { |
|
284 | - unlink( $file_array['tmp_name'] ); |
|
285 | - return false; |
|
286 | - } |
|
287 | - } |
|
288 | - return $att_id; |
|
289 | - } |
|
240 | + $att_id = false; |
|
241 | + |
|
242 | + require_once( ABSPATH . 'wp-admin/includes/file.php' ); |
|
243 | + require_once( ABSPATH . 'wp-admin/includes/media.php' ); |
|
244 | + require_once( ABSPATH . 'wp-admin/includes/image.php' ); |
|
245 | + |
|
246 | + $tmp = tempnam( '/tmp', 'FOO' ); |
|
247 | + $image = wp_remote_get( $url ); |
|
248 | + |
|
249 | + if ( ! empty( $image ) && isset( $image['response'] ) && isset( $image['response']['code'] ) && 200 === $image['response']['code'] ) { |
|
250 | + file_put_contents( $tmp, $image['body'] ); |
|
251 | + chmod( $tmp, '777' ); |
|
252 | + |
|
253 | + preg_match( '/[^\?]+\.(tif|TIFF|jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG|pdf|PDF|bmp|BMP)/', $url, $matches ); |
|
254 | + $url_filename = basename( $matches[0] ); |
|
255 | + $url_filename = str_replace( '%20', '_', $url_filename ); |
|
256 | + // extract filename from url for title. |
|
257 | + $url_type = wp_check_filetype( $url_filename ); |
|
258 | + |
|
259 | + // assemble file data (should be built like $_FILES since wp_handle_sideload() will be using). |
|
260 | + $file_array['tmp_name'] = $tmp; |
|
261 | + |
|
262 | + if ( ! empty( $filename ) && ' ' != $filename ) { |
|
263 | + $file_array['name'] = $filename . '.' . $url_type['ext']; |
|
264 | + } else { |
|
265 | + $file_array['name'] = $url_filename; |
|
266 | + } |
|
267 | + |
|
268 | + // set additional wp_posts columns. |
|
269 | + if ( empty( $post_data['post_title'] ) ) { |
|
270 | + $url_filename = str_replace( '%20', ' ', $url_filename ); |
|
271 | + $post_data['post_title'] = basename( $url_filename, '.' . $url_type['ext'] ); |
|
272 | + } |
|
273 | + |
|
274 | + // make sure gets tied to parent. |
|
275 | + if ( empty( $post_data['post_parent'] ) ) { |
|
276 | + $post_data['post_parent'] = $post_id; |
|
277 | + } |
|
278 | + |
|
279 | + // do the validation and storage stuff. |
|
280 | + $att_id = media_handle_sideload( $file_array, $post_id, null, $post_data ); |
|
281 | + |
|
282 | + // If error storing permanently, unlink. |
|
283 | + if ( is_wp_error( $att_id ) ) { |
|
284 | + unlink( $file_array['tmp_name'] ); |
|
285 | + return false; |
|
286 | + } |
|
287 | + } |
|
288 | + return $att_id; |
|
289 | + } |
|
290 | 290 | } |
@@ -26,8 +26,8 @@ discard block |
||
26 | 26 | * @access private |
27 | 27 | */ |
28 | 28 | public function __construct() { |
29 | - add_action( 'wp_ajax_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
30 | - add_action( 'wp_ajax_nopriv_lsx_import_sync_banners', array( $this, 'sync_new_banner' ) ); |
|
29 | + add_action('wp_ajax_lsx_import_sync_banners', array($this, 'sync_new_banner')); |
|
30 | + add_action('wp_ajax_nopriv_lsx_import_sync_banners', array($this, 'sync_new_banner')); |
|
31 | 31 | } |
32 | 32 | |
33 | 33 | /** |
@@ -36,13 +36,13 @@ discard block |
||
36 | 36 | public function display_page() { |
37 | 37 | ?> |
38 | 38 | <div class="wrap"> |
39 | - <h2><?php esc_html_e( 'Download new banners straight from WETU', 'lsx-wetu-importer' ); ?></h2> |
|
39 | + <h2><?php esc_html_e('Download new banners straight from WETU', 'lsx-wetu-importer'); ?></h2> |
|
40 | 40 | |
41 | 41 | <form method="get" action="" id="banners-filter"> |
42 | - <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr( $this->tab_slug ); ?>" /> |
|
42 | + <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr($this->tab_slug); ?>" /> |
|
43 | 43 | |
44 | 44 | <div class="ajax-loader-small" style="display:none;width:100%;text-align:center;"> |
45 | - <img style="width:32px;" src="<?php echo esc_url( LSX_WETU_IMPORTER_URL . 'assets/images/ajaxloader.gif' ); ?>" /> |
|
45 | + <img style="width:32px;" src="<?php echo esc_url(LSX_WETU_IMPORTER_URL.'assets/images/ajaxloader.gif'); ?>" /> |
|
46 | 46 | </div> |
47 | 47 | |
48 | 48 | <table class="wp-list-table widefat fixed posts"> |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | <?php |
61 | 61 | $accommodation_args = array( |
62 | 62 | 'post_type' => 'accommodation', |
63 | - 'post_status' => array( 'publish', 'pending', 'draft', 'future', 'private' ), |
|
63 | + 'post_status' => array('publish', 'pending', 'draft', 'future', 'private'), |
|
64 | 64 | 'nopagin' => 'true', |
65 | 65 | 'posts_per_page' => '1000', |
66 | 66 | 'meta_query' => array( |
@@ -80,13 +80,13 @@ discard block |
||
80 | 80 | ), |
81 | 81 | ), |
82 | 82 | ); |
83 | - $accommodation = new WP_Query( $accommodation_args ); |
|
83 | + $accommodation = new WP_Query($accommodation_args); |
|
84 | 84 | ?> |
85 | 85 | |
86 | 86 | <tbody id="the-list"> |
87 | 87 | <?php |
88 | - if ( $accommodation->have_posts() ) { |
|
89 | - while ( $accommodation->have_posts() ) { |
|
88 | + if ($accommodation->have_posts()) { |
|
89 | + while ($accommodation->have_posts()) { |
|
90 | 90 | $accommodation->the_post(); |
91 | 91 | ?> |
92 | 92 | <tr class="post-<?php the_ID(); ?> type-tour status-none" id="post-<?php the_ID(); ?>"> |
@@ -95,26 +95,26 @@ discard block |
||
95 | 95 | $min_width = '1920'; |
96 | 96 | $min_height = '500'; |
97 | 97 | |
98 | - $img_group = get_post_meta( get_the_ID(), 'image_group', true ); |
|
98 | + $img_group = get_post_meta(get_the_ID(), 'image_group', true); |
|
99 | 99 | |
100 | 100 | $thumbnails_html = false; |
101 | 101 | |
102 | - if ( false !== $img_group ) { |
|
103 | - foreach ( $img_group['banner_image'] as $banner_image ) { |
|
104 | - $large = wp_get_attachment_image_src( $banner_image, 'full' ); |
|
102 | + if (false !== $img_group) { |
|
103 | + foreach ($img_group['banner_image'] as $banner_image) { |
|
104 | + $large = wp_get_attachment_image_src($banner_image, 'full'); |
|
105 | 105 | $real_width = $large[1]; |
106 | 106 | $real_height = $large[2]; |
107 | 107 | |
108 | 108 | $status = 'optimized'; |
109 | - if ( $real_width < intval( $real_width ) ) { |
|
109 | + if ($real_width < intval($real_width)) { |
|
110 | 110 | $status = 'width not enough.'; |
111 | 111 | } |
112 | 112 | |
113 | - $thumbnail = wp_get_attachment_image_src( $banner_image, 'thumbnail' ); |
|
113 | + $thumbnail = wp_get_attachment_image_src($banner_image, 'thumbnail'); |
|
114 | 114 | $thumbnails_html[] = ' |
115 | 115 | <div style="display:block;float:left;"> |
116 | - <img src="' . $thumbnail[0] . '" /> |
|
117 | - <p style="text-align:center;">' . $real_width . 'px by ' . $real_height . 'px</p> |
|
116 | + <img src="' . $thumbnail[0].'" /> |
|
117 | + <p style="text-align:center;">' . $real_width.'px by '.$real_height.'px</p> |
|
118 | 118 | </div>'; |
119 | 119 | } |
120 | 120 | } |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | |
127 | 127 | <td class="post-title page-title column-title"> |
128 | 128 | <?php |
129 | - echo '<a href="' . esc_url( admin_url( '/post.php?post=' . get_the_ID() . '&action=edit' ) ) . '" target="_blank">'; |
|
129 | + echo '<a href="'.esc_url(admin_url('/post.php?post='.get_the_ID().'&action=edit')).'" target="_blank">'; |
|
130 | 130 | the_title(); |
131 | 131 | echo '</a>'; |
132 | 132 | ?> |
@@ -134,9 +134,9 @@ discard block |
||
134 | 134 | |
135 | 135 | <td colspan="2" class="thumbnails column-thumbnails"> |
136 | 136 | <?php |
137 | - if ( false !== $thumbnails_html ) { |
|
138 | - echo wp_kses_post( implode( '', $thumbnails_html ) ); |
|
139 | - } else { |
|
137 | + if (false !== $thumbnails_html) { |
|
138 | + echo wp_kses_post(implode('', $thumbnails_html)); |
|
139 | + }else { |
|
140 | 140 | echo '<p>There was an error retrieving your images.</p>'; |
141 | 141 | } |
142 | 142 | ?> |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | |
162 | 162 | </table> |
163 | 163 | |
164 | - <p><input class="button button-primary download" type="button" value="<?php esc_html_e( 'Download new Banners', 'lsx-wetu-importer' ); ?>" /> |
|
164 | + <p><input class="button button-primary download" type="button" value="<?php esc_html_e('Download new Banners', 'lsx-wetu-importer'); ?>" /> |
|
165 | 165 | </p> |
166 | 166 | </form> |
167 | 167 | </div> |
@@ -172,32 +172,32 @@ discard block |
||
172 | 172 | * Creates the main gallery data |
173 | 173 | */ |
174 | 174 | public function sync_new_banner() { |
175 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
176 | - if ( isset( $_POST['action'] ) && 'lsx_import_sync_banners' === $_POST['action'] && isset( $_POST['post_id'] ) ) { |
|
175 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
176 | + if (isset($_POST['action']) && 'lsx_import_sync_banners' === $_POST['action'] && isset($_POST['post_id'])) { |
|
177 | 177 | |
178 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
179 | - $banners = get_post_meta( $post_id, 'image_group', true ); |
|
180 | - $this->wetu_id = get_post_meta( $post_id, 'lsx_wetu_id', true ); |
|
178 | + $post_id = sanitize_text_field($_POST['post_id']); |
|
179 | + $banners = get_post_meta($post_id, 'image_group', true); |
|
180 | + $this->wetu_id = get_post_meta($post_id, 'lsx_wetu_id', true); |
|
181 | 181 | |
182 | 182 | $new_banner_array = false; |
183 | 183 | $array_index = 0; |
184 | 184 | |
185 | - foreach ( $banners['banner_image'] as $banner_image ) { |
|
186 | - $image_id = $this->attach_external_image2( $this->format_wetu_url( $banner_image ), array(), $post_id ); |
|
187 | - if ( null !== $image_id && '' !== $image_id ) { |
|
188 | - $new_banner_array['banner_image'][ 'cmb-field-' . $array_index ] = $image_id; |
|
185 | + foreach ($banners['banner_image'] as $banner_image) { |
|
186 | + $image_id = $this->attach_external_image2($this->format_wetu_url($banner_image), array(), $post_id); |
|
187 | + if (null !== $image_id && '' !== $image_id) { |
|
188 | + $new_banner_array['banner_image']['cmb-field-'.$array_index] = $image_id; |
|
189 | 189 | $array_index++; |
190 | 190 | } |
191 | 191 | } |
192 | 192 | |
193 | - if ( false !== $new_banner_array ) { |
|
194 | - delete_post_meta( $post_id, 'image_group' ); |
|
195 | - add_post_meta( $post_id, 'image_group', $new_banner_array, true ); |
|
193 | + if (false !== $new_banner_array) { |
|
194 | + delete_post_meta($post_id, 'image_group'); |
|
195 | + add_post_meta($post_id, 'image_group', $new_banner_array, true); |
|
196 | 196 | echo true; |
197 | - } else { |
|
197 | + }else { |
|
198 | 198 | echo false; |
199 | 199 | } |
200 | - } else { |
|
200 | + }else { |
|
201 | 201 | echo false; |
202 | 202 | } |
203 | 203 | |
@@ -207,81 +207,81 @@ discard block |
||
207 | 207 | /** |
208 | 208 | * formats the url |
209 | 209 | */ |
210 | - public function format_wetu_url( $post_id ) { |
|
211 | - return 'https://wetu.com/ImageHandler/c1920x800/' . $this->wetu_id . '/' . $this->format_filename( $post_id ); |
|
210 | + public function format_wetu_url($post_id) { |
|
211 | + return 'https://wetu.com/ImageHandler/c1920x800/'.$this->wetu_id.'/'.$this->format_filename($post_id); |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
215 | 215 | * formats the filename |
216 | 216 | */ |
217 | - public function format_filename( $post_id ) { |
|
218 | - $base = str_replace( '_', ' ', get_the_title( $post_id ) ); |
|
219 | - $base = rawurlencode( $base ); |
|
220 | - $type = get_post_mime_type( $post_id ); |
|
217 | + public function format_filename($post_id) { |
|
218 | + $base = str_replace('_', ' ', get_the_title($post_id)); |
|
219 | + $base = rawurlencode($base); |
|
220 | + $type = get_post_mime_type($post_id); |
|
221 | 221 | |
222 | - switch ( $type ) { |
|
222 | + switch ($type) { |
|
223 | 223 | case 'image/jpeg': |
224 | - return $base . '.jpg'; |
|
224 | + return $base.'.jpg'; |
|
225 | 225 | break; |
226 | 226 | case 'image/png': |
227 | - return $base . '.png'; |
|
227 | + return $base.'.png'; |
|
228 | 228 | break; |
229 | 229 | case 'image/gif': |
230 | - return $base . '.gif'; |
|
230 | + return $base.'.gif'; |
|
231 | 231 | break; |
232 | 232 | default: |
233 | 233 | return false; |
234 | 234 | } |
235 | 235 | } |
236 | 236 | |
237 | - public function attach_external_image2( $url = null, $post_data = array(), $post_id = '' ) { |
|
238 | - if ( ! $url ) { |
|
239 | -return new WP_Error( 'missing', 'Need a valid URL' ); } |
|
237 | + public function attach_external_image2($url = null, $post_data = array(), $post_id = '') { |
|
238 | + if (!$url) { |
|
239 | +return new WP_Error('missing', 'Need a valid URL'); } |
|
240 | 240 | $att_id = false; |
241 | 241 | |
242 | - require_once( ABSPATH . 'wp-admin/includes/file.php' ); |
|
243 | - require_once( ABSPATH . 'wp-admin/includes/media.php' ); |
|
244 | - require_once( ABSPATH . 'wp-admin/includes/image.php' ); |
|
242 | + require_once(ABSPATH.'wp-admin/includes/file.php'); |
|
243 | + require_once(ABSPATH.'wp-admin/includes/media.php'); |
|
244 | + require_once(ABSPATH.'wp-admin/includes/image.php'); |
|
245 | 245 | |
246 | - $tmp = tempnam( '/tmp', 'FOO' ); |
|
247 | - $image = wp_remote_get( $url ); |
|
246 | + $tmp = tempnam('/tmp', 'FOO'); |
|
247 | + $image = wp_remote_get($url); |
|
248 | 248 | |
249 | - if ( ! empty( $image ) && isset( $image['response'] ) && isset( $image['response']['code'] ) && 200 === $image['response']['code'] ) { |
|
250 | - file_put_contents( $tmp, $image['body'] ); |
|
251 | - chmod( $tmp, '777' ); |
|
249 | + if (!empty($image) && isset($image['response']) && isset($image['response']['code']) && 200 === $image['response']['code']) { |
|
250 | + file_put_contents($tmp, $image['body']); |
|
251 | + chmod($tmp, '777'); |
|
252 | 252 | |
253 | - preg_match( '/[^\?]+\.(tif|TIFF|jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG|pdf|PDF|bmp|BMP)/', $url, $matches ); |
|
254 | - $url_filename = basename( $matches[0] ); |
|
255 | - $url_filename = str_replace( '%20', '_', $url_filename ); |
|
253 | + preg_match('/[^\?]+\.(tif|TIFF|jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG|pdf|PDF|bmp|BMP)/', $url, $matches); |
|
254 | + $url_filename = basename($matches[0]); |
|
255 | + $url_filename = str_replace('%20', '_', $url_filename); |
|
256 | 256 | // extract filename from url for title. |
257 | - $url_type = wp_check_filetype( $url_filename ); |
|
257 | + $url_type = wp_check_filetype($url_filename); |
|
258 | 258 | |
259 | 259 | // assemble file data (should be built like $_FILES since wp_handle_sideload() will be using). |
260 | 260 | $file_array['tmp_name'] = $tmp; |
261 | 261 | |
262 | - if ( ! empty( $filename ) && ' ' != $filename ) { |
|
263 | - $file_array['name'] = $filename . '.' . $url_type['ext']; |
|
264 | - } else { |
|
262 | + if (!empty($filename) && ' ' != $filename) { |
|
263 | + $file_array['name'] = $filename.'.'.$url_type['ext']; |
|
264 | + }else { |
|
265 | 265 | $file_array['name'] = $url_filename; |
266 | 266 | } |
267 | 267 | |
268 | 268 | // set additional wp_posts columns. |
269 | - if ( empty( $post_data['post_title'] ) ) { |
|
270 | - $url_filename = str_replace( '%20', ' ', $url_filename ); |
|
271 | - $post_data['post_title'] = basename( $url_filename, '.' . $url_type['ext'] ); |
|
269 | + if (empty($post_data['post_title'])) { |
|
270 | + $url_filename = str_replace('%20', ' ', $url_filename); |
|
271 | + $post_data['post_title'] = basename($url_filename, '.'.$url_type['ext']); |
|
272 | 272 | } |
273 | 273 | |
274 | 274 | // make sure gets tied to parent. |
275 | - if ( empty( $post_data['post_parent'] ) ) { |
|
275 | + if (empty($post_data['post_parent'])) { |
|
276 | 276 | $post_data['post_parent'] = $post_id; |
277 | 277 | } |
278 | 278 | |
279 | 279 | // do the validation and storage stuff. |
280 | - $att_id = media_handle_sideload( $file_array, $post_id, null, $post_data ); |
|
280 | + $att_id = media_handle_sideload($file_array, $post_id, null, $post_data); |
|
281 | 281 | |
282 | 282 | // If error storing permanently, unlink. |
283 | - if ( is_wp_error( $att_id ) ) { |
|
284 | - unlink( $file_array['tmp_name'] ); |
|
283 | + if (is_wp_error($att_id)) { |
|
284 | + unlink($file_array['tmp_name']); |
|
285 | 285 | return false; |
286 | 286 | } |
287 | 287 | } |
@@ -9,51 +9,51 @@ discard block |
||
9 | 9 | |
10 | 10 | class LSX_WETU_Importer_Connect_Accommodation extends LSX_WETU_Importer_Admin { |
11 | 11 | |
12 | - /** |
|
13 | - * The url to list items from WETU |
|
14 | - * |
|
15 | - * @since 0.0.1 |
|
16 | - * |
|
17 | - * @var string |
|
18 | - */ |
|
19 | - public $tab_slug = 'connect_accommodation'; |
|
20 | - |
|
21 | - /** |
|
22 | - * The url to list items from WETU |
|
23 | - * |
|
24 | - * @since 0.0.1 |
|
25 | - * |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - public $url = false; |
|
29 | - |
|
30 | - /** |
|
31 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
32 | - * |
|
33 | - * @since 1.0.0 |
|
34 | - * |
|
35 | - * @access private |
|
36 | - */ |
|
37 | - public function __construct() { |
|
38 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
39 | - |
|
40 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
41 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
42 | - } |
|
43 | - |
|
44 | - $this->url = 'http://wetu.com/API/Pins/' . $this->options['api_key'] . '/List'; |
|
45 | - |
|
46 | - add_action( 'lsx_tour_importer_admin_tab_' . $this->tab_slug, array( $this, 'display_page' ) ); |
|
47 | - add_action( 'wp_ajax_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
48 | - add_action( 'wp_ajax_nopriv_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
49 | - } |
|
50 | - |
|
51 | - /** |
|
52 | - * Display the importer administration screen |
|
53 | - */ |
|
54 | - public function display_page() { |
|
55 | - global $post; |
|
56 | - ?> |
|
12 | + /** |
|
13 | + * The url to list items from WETU |
|
14 | + * |
|
15 | + * @since 0.0.1 |
|
16 | + * |
|
17 | + * @var string |
|
18 | + */ |
|
19 | + public $tab_slug = 'connect_accommodation'; |
|
20 | + |
|
21 | + /** |
|
22 | + * The url to list items from WETU |
|
23 | + * |
|
24 | + * @since 0.0.1 |
|
25 | + * |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + public $url = false; |
|
29 | + |
|
30 | + /** |
|
31 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
32 | + * |
|
33 | + * @since 1.0.0 |
|
34 | + * |
|
35 | + * @access private |
|
36 | + */ |
|
37 | + public function __construct() { |
|
38 | + $temp_options = get_option( '_lsx-to_settings', false ); |
|
39 | + |
|
40 | + if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
41 | + $this->options = $temp_options[ $this->plugin_slug ]; |
|
42 | + } |
|
43 | + |
|
44 | + $this->url = 'http://wetu.com/API/Pins/' . $this->options['api_key'] . '/List'; |
|
45 | + |
|
46 | + add_action( 'lsx_tour_importer_admin_tab_' . $this->tab_slug, array( $this, 'display_page' ) ); |
|
47 | + add_action( 'wp_ajax_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
48 | + add_action( 'wp_ajax_nopriv_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
49 | + } |
|
50 | + |
|
51 | + /** |
|
52 | + * Display the importer administration screen |
|
53 | + */ |
|
54 | + public function display_page() { |
|
55 | + global $post; |
|
56 | + ?> |
|
57 | 57 | <div class="wrap"> |
58 | 58 | <h3><span class="dashicons dashicons-admin-multisite"></span> <?php esc_html_e( 'Connect your Accommodation', 'lsx-wetu-importer' ); ?></h3> |
59 | 59 | |
@@ -67,38 +67,38 @@ discard block |
||
67 | 67 | </div> |
68 | 68 | |
69 | 69 | <?php |
70 | - $loose_accommodation = $this->find_current_accommodation(); |
|
71 | - ?> |
|
70 | + $loose_accommodation = $this->find_current_accommodation(); |
|
71 | + ?> |
|
72 | 72 | <p><input class="button button-primary connect" type="button" value="<?php esc_html_e( 'Connect', 'lsx-wetu-importer' ); ?>" /></p> |
73 | 73 | <table class="wp-list-table widefat fixed posts"> |
74 | 74 | <?php $this->table_header(); ?> |
75 | 75 | |
76 | 76 | <tbody> |
77 | 77 | <?php |
78 | - if ( false !== $loose_accommodation ) { |
|
79 | - |
|
80 | - $loose_args = array( |
|
81 | - 'post_type' => 'accommodation', |
|
82 | - 'post_status' => array( 'publish', 'pending' ), |
|
83 | - 'nopagin' => true, |
|
84 | - 'post__in' => $loose_accommodation, |
|
85 | - ); |
|
86 | - $loose_accommodation_query = new WP_Query( $loose_args ); |
|
87 | - $accommodation = get_transient( 'lsx_ti_accommodation' ); |
|
88 | - $identifier = ''; |
|
89 | - |
|
90 | - if ( $loose_accommodation_query->have_posts() && false !== $accommodation ) { |
|
91 | - while ( $loose_accommodation_query->have_posts() ) { |
|
92 | - $loose_accommodation_query->the_post(); |
|
93 | - |
|
94 | - foreach ( $accommodation as $row_key => $row ) { |
|
95 | - if ( stripos( ltrim( rtrim( $row->name ) ), $post->post_title ) !== false ) { |
|
96 | - $identifier = $row->id; |
|
97 | - } else { |
|
98 | - continue; |
|
99 | - } |
|
100 | - } |
|
101 | - ?> |
|
78 | + if ( false !== $loose_accommodation ) { |
|
79 | + |
|
80 | + $loose_args = array( |
|
81 | + 'post_type' => 'accommodation', |
|
82 | + 'post_status' => array( 'publish', 'pending' ), |
|
83 | + 'nopagin' => true, |
|
84 | + 'post__in' => $loose_accommodation, |
|
85 | + ); |
|
86 | + $loose_accommodation_query = new WP_Query( $loose_args ); |
|
87 | + $accommodation = get_transient( 'lsx_ti_accommodation' ); |
|
88 | + $identifier = ''; |
|
89 | + |
|
90 | + if ( $loose_accommodation_query->have_posts() && false !== $accommodation ) { |
|
91 | + while ( $loose_accommodation_query->have_posts() ) { |
|
92 | + $loose_accommodation_query->the_post(); |
|
93 | + |
|
94 | + foreach ( $accommodation as $row_key => $row ) { |
|
95 | + if ( stripos( ltrim( rtrim( $row->name ) ), $post->post_title ) !== false ) { |
|
96 | + $identifier = $row->id; |
|
97 | + } else { |
|
98 | + continue; |
|
99 | + } |
|
100 | + } |
|
101 | + ?> |
|
102 | 102 | <tr class="post-<?php the_ID(); ?> type-accommodation status-none" id="post-<?php the_ID(); ?>"> |
103 | 103 | <th class="check-column" scope="row"> |
104 | 104 | <label for="cb-select-<?php the_ID(); ?>" class="screen-reader-text"><?php the_title(); ?></label> |
@@ -109,15 +109,15 @@ discard block |
||
109 | 109 | </td> |
110 | 110 | <td class="excerpt column-excerpt"> |
111 | 111 | <?php |
112 | - echo wp_kses_post( strip_tags( get_the_excerpt() ) ); |
|
113 | - ?> |
|
112 | + echo wp_kses_post( strip_tags( get_the_excerpt() ) ); |
|
113 | + ?> |
|
114 | 114 | </td> |
115 | 115 | </tr> |
116 | 116 | <?php |
117 | - } |
|
118 | - } |
|
119 | - } |
|
120 | - ?> |
|
117 | + } |
|
118 | + } |
|
119 | + } |
|
120 | + ?> |
|
121 | 121 | </tbody> |
122 | 122 | |
123 | 123 | <?php $this->table_footer(); ?> |
@@ -135,13 +135,13 @@ discard block |
||
135 | 135 | </div> |
136 | 136 | </div> |
137 | 137 | <?php |
138 | - } |
|
138 | + } |
|
139 | 139 | |
140 | - /** |
|
141 | - * The header of the item list |
|
142 | - */ |
|
143 | - public function table_header() { |
|
144 | - ?> |
|
140 | + /** |
|
141 | + * The header of the item list |
|
142 | + */ |
|
143 | + public function table_header() { |
|
144 | + ?> |
|
145 | 145 | <thead> |
146 | 146 | <tr> |
147 | 147 | <th style="" class="manage-column column-cb check-column" id="cb" scope="col"> |
@@ -153,13 +153,13 @@ discard block |
||
153 | 153 | </tr> |
154 | 154 | </thead> |
155 | 155 | <?php |
156 | - } |
|
156 | + } |
|
157 | 157 | |
158 | - /** |
|
159 | - * The footer of the item list |
|
160 | - */ |
|
161 | - public function table_footer() { |
|
162 | - ?> |
|
158 | + /** |
|
159 | + * The footer of the item list |
|
160 | + */ |
|
161 | + public function table_footer() { |
|
162 | + ?> |
|
163 | 163 | <tfoot> |
164 | 164 | <tr> |
165 | 165 | <th style="" class="manage-column column-cb check-column" id="cb" scope="col"> |
@@ -171,23 +171,23 @@ discard block |
||
171 | 171 | </tr> |
172 | 172 | </tfoot> |
173 | 173 | <?php |
174 | - } |
|
174 | + } |
|
175 | 175 | |
176 | - /** |
|
177 | - * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
178 | - */ |
|
179 | - public function find_current_accommodation() { |
|
180 | - global $wpdb; |
|
181 | - $return = false; |
|
176 | + /** |
|
177 | + * Grab all the current accommodation posts via the lsx_wetu_id field. |
|
178 | + */ |
|
179 | + public function find_current_accommodation() { |
|
180 | + global $wpdb; |
|
181 | + $return = false; |
|
182 | 182 | |
183 | - $all_accommodation = $wpdb->get_results(" |
|
183 | + $all_accommodation = $wpdb->get_results(" |
|
184 | 184 | SELECT ID |
185 | 185 | FROM {$wpdb->posts} |
186 | 186 | WHERE post_type = 'accommodation' |
187 | 187 | LIMIT 0,500 |
188 | 188 | ", ARRAY_A); |
189 | 189 | |
190 | - $current_accommodation = $wpdb->get_results(" |
|
190 | + $current_accommodation = $wpdb->get_results(" |
|
191 | 191 | SELECT key1.post_id |
192 | 192 | FROM {$wpdb->postmeta} key1 |
193 | 193 | |
@@ -200,52 +200,52 @@ discard block |
||
200 | 200 | LIMIT 0,500 |
201 | 201 | ", ARRAY_A); |
202 | 202 | |
203 | - if ( null !== $all_accommodation && ! empty( $all_accommodation ) ) { |
|
204 | - //remove the extra accommodation |
|
205 | - if ( null !== $current_accommodation && ! empty( $current_accommodation ) ) { |
|
206 | - $all_accommodation = array_diff( $this->format_array( $all_accommodation, 'ID' ), $this->format_array( $current_accommodation, 'post_id' ) ); |
|
207 | - } elseif ( null !== $current_accommodation && empty( $current_accommodation ) ) { |
|
208 | - $all_accommodation = $this->format_array( $current_accommodation, 'post_id' ); |
|
209 | - } |
|
210 | - |
|
211 | - $return = $all_accommodation; |
|
212 | - } |
|
213 | - |
|
214 | - return $return; |
|
215 | - } |
|
216 | - |
|
217 | - /** |
|
218 | - * format the array |
|
219 | - */ |
|
220 | - public function format_array( $array, $key ) { |
|
221 | - $new_array = array(); |
|
222 | - |
|
223 | - foreach ( $array as $value ) { |
|
224 | - $new_array[] = $value[ $key ]; |
|
225 | - } |
|
226 | - |
|
227 | - return $new_array; |
|
228 | - } |
|
229 | - |
|
230 | - /** |
|
231 | - * Run through the accommodation an connect them. |
|
232 | - */ |
|
233 | - public function process_connection() { |
|
234 | - $return = false; |
|
235 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
236 | - if ( isset( $_POST['action'] ) && 'lsx_import_connect_accommodation' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['post_id'] ) && isset( $_POST['wetu_id'] ) ) { |
|
237 | - $post_id = false; |
|
238 | - $matching_id = false; |
|
239 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
240 | - $matching_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
241 | - |
|
242 | - add_post_meta( $post_id, 'lsx_wetu_id', $matching_id ); |
|
243 | - $return = '<li class="post-' . $post_id . '"><span class="dashicons dashicons-yes"></span> <a target="_blank" href="' . get_permalink( $post_id ) . '">' . get_the_title( $post_id ) . '</a></li>'; |
|
244 | - } |
|
245 | - |
|
246 | - print_r( $return ); |
|
247 | - die(); |
|
248 | - } |
|
203 | + if ( null !== $all_accommodation && ! empty( $all_accommodation ) ) { |
|
204 | + //remove the extra accommodation |
|
205 | + if ( null !== $current_accommodation && ! empty( $current_accommodation ) ) { |
|
206 | + $all_accommodation = array_diff( $this->format_array( $all_accommodation, 'ID' ), $this->format_array( $current_accommodation, 'post_id' ) ); |
|
207 | + } elseif ( null !== $current_accommodation && empty( $current_accommodation ) ) { |
|
208 | + $all_accommodation = $this->format_array( $current_accommodation, 'post_id' ); |
|
209 | + } |
|
210 | + |
|
211 | + $return = $all_accommodation; |
|
212 | + } |
|
213 | + |
|
214 | + return $return; |
|
215 | + } |
|
216 | + |
|
217 | + /** |
|
218 | + * format the array |
|
219 | + */ |
|
220 | + public function format_array( $array, $key ) { |
|
221 | + $new_array = array(); |
|
222 | + |
|
223 | + foreach ( $array as $value ) { |
|
224 | + $new_array[] = $value[ $key ]; |
|
225 | + } |
|
226 | + |
|
227 | + return $new_array; |
|
228 | + } |
|
229 | + |
|
230 | + /** |
|
231 | + * Run through the accommodation an connect them. |
|
232 | + */ |
|
233 | + public function process_connection() { |
|
234 | + $return = false; |
|
235 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
236 | + if ( isset( $_POST['action'] ) && 'lsx_import_connect_accommodation' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['post_id'] ) && isset( $_POST['wetu_id'] ) ) { |
|
237 | + $post_id = false; |
|
238 | + $matching_id = false; |
|
239 | + $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
240 | + $matching_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
241 | + |
|
242 | + add_post_meta( $post_id, 'lsx_wetu_id', $matching_id ); |
|
243 | + $return = '<li class="post-' . $post_id . '"><span class="dashicons dashicons-yes"></span> <a target="_blank" href="' . get_permalink( $post_id ) . '">' . get_the_title( $post_id ) . '</a></li>'; |
|
244 | + } |
|
245 | + |
|
246 | + print_r( $return ); |
|
247 | + die(); |
|
248 | + } |
|
249 | 249 | |
250 | 250 | } |
251 | 251 |
@@ -35,17 +35,17 @@ discard block |
||
35 | 35 | * @access private |
36 | 36 | */ |
37 | 37 | public function __construct() { |
38 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
38 | + $temp_options = get_option('_lsx-to_settings', false); |
|
39 | 39 | |
40 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
41 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
40 | + if (false !== $temp_options && isset($temp_options[$this->plugin_slug]) && !empty($temp_options[$this->plugin_slug])) { |
|
41 | + $this->options = $temp_options[$this->plugin_slug]; |
|
42 | 42 | } |
43 | 43 | |
44 | - $this->url = 'http://wetu.com/API/Pins/' . $this->options['api_key'] . '/List'; |
|
44 | + $this->url = 'http://wetu.com/API/Pins/'.$this->options['api_key'].'/List'; |
|
45 | 45 | |
46 | - add_action( 'lsx_tour_importer_admin_tab_' . $this->tab_slug, array( $this, 'display_page' ) ); |
|
47 | - add_action( 'wp_ajax_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
48 | - add_action( 'wp_ajax_nopriv_lsx_import_connect_accommodation', array( $this, 'process_connection' ) ); |
|
46 | + add_action('lsx_tour_importer_admin_tab_'.$this->tab_slug, array($this, 'display_page')); |
|
47 | + add_action('wp_ajax_lsx_import_connect_accommodation', array($this, 'process_connection')); |
|
48 | + add_action('wp_ajax_nopriv_lsx_import_connect_accommodation', array($this, 'process_connection')); |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | /** |
@@ -55,46 +55,46 @@ discard block |
||
55 | 55 | global $post; |
56 | 56 | ?> |
57 | 57 | <div class="wrap"> |
58 | - <h3><span class="dashicons dashicons-admin-multisite"></span> <?php esc_html_e( 'Connect your Accommodation', 'lsx-wetu-importer' ); ?></h3> |
|
58 | + <h3><span class="dashicons dashicons-admin-multisite"></span> <?php esc_html_e('Connect your Accommodation', 'lsx-wetu-importer'); ?></h3> |
|
59 | 59 | |
60 | 60 | <form method="get" action="" id="connect-accommodation-filter"> |
61 | - <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr( $this->tab_slug ); ?>" /> |
|
61 | + <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr($this->tab_slug); ?>" /> |
|
62 | 62 | |
63 | - <p><?php esc_html_e( 'Below is a list of your accommodation that does not contain a WETU ID, but its Title matches a name in the WETU DB. Connecting it will all you to pull through information from WETU.', 'lsx-wetu-importer' ); ?></p> |
|
63 | + <p><?php esc_html_e('Below is a list of your accommodation that does not contain a WETU ID, but its Title matches a name in the WETU DB. Connecting it will all you to pull through information from WETU.', 'lsx-wetu-importer'); ?></p> |
|
64 | 64 | |
65 | 65 | <div class="ajax-loader-small" style="display:none;width:100%;text-align:center;"> |
66 | - <img style="width:32px;" src="<?php echo esc_url( LSX_WETU_IMPORTER_URL . 'assets/images/ajaxloader.gif' ); ?>" /> |
|
66 | + <img style="width:32px;" src="<?php echo esc_url(LSX_WETU_IMPORTER_URL.'assets/images/ajaxloader.gif'); ?>" /> |
|
67 | 67 | </div> |
68 | 68 | |
69 | 69 | <?php |
70 | 70 | $loose_accommodation = $this->find_current_accommodation(); |
71 | 71 | ?> |
72 | - <p><input class="button button-primary connect" type="button" value="<?php esc_html_e( 'Connect', 'lsx-wetu-importer' ); ?>" /></p> |
|
72 | + <p><input class="button button-primary connect" type="button" value="<?php esc_html_e('Connect', 'lsx-wetu-importer'); ?>" /></p> |
|
73 | 73 | <table class="wp-list-table widefat fixed posts"> |
74 | 74 | <?php $this->table_header(); ?> |
75 | 75 | |
76 | 76 | <tbody> |
77 | 77 | <?php |
78 | - if ( false !== $loose_accommodation ) { |
|
78 | + if (false !== $loose_accommodation) { |
|
79 | 79 | |
80 | 80 | $loose_args = array( |
81 | 81 | 'post_type' => 'accommodation', |
82 | - 'post_status' => array( 'publish', 'pending' ), |
|
82 | + 'post_status' => array('publish', 'pending'), |
|
83 | 83 | 'nopagin' => true, |
84 | 84 | 'post__in' => $loose_accommodation, |
85 | 85 | ); |
86 | - $loose_accommodation_query = new WP_Query( $loose_args ); |
|
87 | - $accommodation = get_transient( 'lsx_ti_accommodation' ); |
|
86 | + $loose_accommodation_query = new WP_Query($loose_args); |
|
87 | + $accommodation = get_transient('lsx_ti_accommodation'); |
|
88 | 88 | $identifier = ''; |
89 | 89 | |
90 | - if ( $loose_accommodation_query->have_posts() && false !== $accommodation ) { |
|
91 | - while ( $loose_accommodation_query->have_posts() ) { |
|
90 | + if ($loose_accommodation_query->have_posts() && false !== $accommodation) { |
|
91 | + while ($loose_accommodation_query->have_posts()) { |
|
92 | 92 | $loose_accommodation_query->the_post(); |
93 | 93 | |
94 | - foreach ( $accommodation as $row_key => $row ) { |
|
95 | - if ( stripos( ltrim( rtrim( $row->name ) ), $post->post_title ) !== false ) { |
|
94 | + foreach ($accommodation as $row_key => $row) { |
|
95 | + if (stripos(ltrim(rtrim($row->name)), $post->post_title) !== false) { |
|
96 | 96 | $identifier = $row->id; |
97 | - } else { |
|
97 | + }else { |
|
98 | 98 | continue; |
99 | 99 | } |
100 | 100 | } |
@@ -102,14 +102,14 @@ discard block |
||
102 | 102 | <tr class="post-<?php the_ID(); ?> type-accommodation status-none" id="post-<?php the_ID(); ?>"> |
103 | 103 | <th class="check-column" scope="row"> |
104 | 104 | <label for="cb-select-<?php the_ID(); ?>" class="screen-reader-text"><?php the_title(); ?></label> |
105 | - <input type="checkbox" data-identifier="<?php echo esc_attr( $identifier ); ?>" value="<?php the_ID(); ?>" name="post[]" id="cb-select-<?php the_ID(); ?>"> |
|
105 | + <input type="checkbox" data-identifier="<?php echo esc_attr($identifier); ?>" value="<?php the_ID(); ?>" name="post[]" id="cb-select-<?php the_ID(); ?>"> |
|
106 | 106 | </th> |
107 | 107 | <td class="post-title page-title column-title"> |
108 | - <strong><?php the_title(); ?></strong> - <a href="<?php echo esc_url( admin_url( '/post.php?post=' . $post->ID . '&action=edit' ) ); ?>" target="_blank"><?php echo esc_html( $post->post_status ); ?></a> |
|
108 | + <strong><?php the_title(); ?></strong> - <a href="<?php echo esc_url(admin_url('/post.php?post='.$post->ID.'&action=edit')); ?>" target="_blank"><?php echo esc_html($post->post_status); ?></a> |
|
109 | 109 | </td> |
110 | 110 | <td class="excerpt column-excerpt"> |
111 | 111 | <?php |
112 | - echo wp_kses_post( strip_tags( get_the_excerpt() ) ); |
|
112 | + echo wp_kses_post(strip_tags(get_the_excerpt())); |
|
113 | 113 | ?> |
114 | 114 | </td> |
115 | 115 | </tr> |
@@ -124,12 +124,12 @@ discard block |
||
124 | 124 | |
125 | 125 | </table> |
126 | 126 | |
127 | - <p><input class="button button-primary connect" type="button" value="<?php esc_html_e( 'Connect', 'lsx-wetu-importer' ); ?>" /></p> |
|
127 | + <p><input class="button button-primary connect" type="button" value="<?php esc_html_e('Connect', 'lsx-wetu-importer'); ?>" /></p> |
|
128 | 128 | |
129 | 129 | </form> |
130 | 130 | |
131 | 131 | <div style="display:none;" class="completed-list-wrapper"> |
132 | - <h3><?php esc_html_e( 'Completed' ); ?></h3> |
|
132 | + <h3><?php esc_html_e('Completed'); ?></h3> |
|
133 | 133 | <ul> |
134 | 134 | </ul> |
135 | 135 | </div> |
@@ -200,12 +200,12 @@ discard block |
||
200 | 200 | LIMIT 0,500 |
201 | 201 | ", ARRAY_A); |
202 | 202 | |
203 | - if ( null !== $all_accommodation && ! empty( $all_accommodation ) ) { |
|
203 | + if (null !== $all_accommodation && !empty($all_accommodation)) { |
|
204 | 204 | //remove the extra accommodation |
205 | - if ( null !== $current_accommodation && ! empty( $current_accommodation ) ) { |
|
206 | - $all_accommodation = array_diff( $this->format_array( $all_accommodation, 'ID' ), $this->format_array( $current_accommodation, 'post_id' ) ); |
|
207 | - } elseif ( null !== $current_accommodation && empty( $current_accommodation ) ) { |
|
208 | - $all_accommodation = $this->format_array( $current_accommodation, 'post_id' ); |
|
205 | + if (null !== $current_accommodation && !empty($current_accommodation)) { |
|
206 | + $all_accommodation = array_diff($this->format_array($all_accommodation, 'ID'), $this->format_array($current_accommodation, 'post_id')); |
|
207 | + } elseif (null !== $current_accommodation && empty($current_accommodation)) { |
|
208 | + $all_accommodation = $this->format_array($current_accommodation, 'post_id'); |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | $return = $all_accommodation; |
@@ -217,11 +217,11 @@ discard block |
||
217 | 217 | /** |
218 | 218 | * format the array |
219 | 219 | */ |
220 | - public function format_array( $array, $key ) { |
|
220 | + public function format_array($array, $key) { |
|
221 | 221 | $new_array = array(); |
222 | 222 | |
223 | - foreach ( $array as $value ) { |
|
224 | - $new_array[] = $value[ $key ]; |
|
223 | + foreach ($array as $value) { |
|
224 | + $new_array[] = $value[$key]; |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | return $new_array; |
@@ -232,18 +232,18 @@ discard block |
||
232 | 232 | */ |
233 | 233 | public function process_connection() { |
234 | 234 | $return = false; |
235 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
236 | - if ( isset( $_POST['action'] ) && 'lsx_import_connect_accommodation' === $_POST['action'] && isset( $_POST['type'] ) && $_POST['type'] === $this->tab_slug && isset( $_POST['post_id'] ) && isset( $_POST['wetu_id'] ) ) { |
|
235 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
236 | + if (isset($_POST['action']) && 'lsx_import_connect_accommodation' === $_POST['action'] && isset($_POST['type']) && $_POST['type'] === $this->tab_slug && isset($_POST['post_id']) && isset($_POST['wetu_id'])) { |
|
237 | 237 | $post_id = false; |
238 | 238 | $matching_id = false; |
239 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
240 | - $matching_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
239 | + $post_id = sanitize_text_field($_POST['post_id']); |
|
240 | + $matching_id = sanitize_text_field($_POST['wetu_id']); |
|
241 | 241 | |
242 | - add_post_meta( $post_id, 'lsx_wetu_id', $matching_id ); |
|
243 | - $return = '<li class="post-' . $post_id . '"><span class="dashicons dashicons-yes"></span> <a target="_blank" href="' . get_permalink( $post_id ) . '">' . get_the_title( $post_id ) . '</a></li>'; |
|
242 | + add_post_meta($post_id, 'lsx_wetu_id', $matching_id); |
|
243 | + $return = '<li class="post-'.$post_id.'"><span class="dashicons dashicons-yes"></span> <a target="_blank" href="'.get_permalink($post_id).'">'.get_the_title($post_id).'</a></li>'; |
|
244 | 244 | } |
245 | 245 | |
246 | - print_r( $return ); |
|
246 | + print_r($return); |
|
247 | 247 | die(); |
248 | 248 | } |
249 | 249 |
@@ -9,95 +9,95 @@ discard block |
||
9 | 9 | |
10 | 10 | class LSX_WETU_Importer_Accommodation extends LSX_WETU_Importer { |
11 | 11 | |
12 | - /** |
|
13 | - * The url to list items from WETU |
|
14 | - * |
|
15 | - * @since 0.0.1 |
|
16 | - * |
|
17 | - * @var string |
|
18 | - */ |
|
19 | - public $tab_slug = 'accommodation'; |
|
20 | - |
|
21 | - /** |
|
22 | - * The url to list items from WETU |
|
23 | - * |
|
24 | - * @since 0.0.1 |
|
25 | - * |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - public $url = false; |
|
29 | - |
|
30 | - /** |
|
31 | - * The query string url to list items from WETU |
|
32 | - * |
|
33 | - * @since 0.0.1 |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public $url_qs = false; |
|
38 | - |
|
39 | - /** |
|
40 | - * Options |
|
41 | - * |
|
42 | - * @since 0.0.1 |
|
43 | - * |
|
44 | - * @var string |
|
45 | - */ |
|
46 | - public $options = false; |
|
47 | - |
|
48 | - /** |
|
49 | - * The fields you wish to import |
|
50 | - * |
|
51 | - * @since 0.0.1 |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
55 | - public $accommodation_options = false; |
|
56 | - |
|
57 | - /** |
|
58 | - * Initialize the plugin by setting localization, filters, and administration functions. |
|
59 | - * |
|
60 | - * @since 1.0.0 |
|
61 | - * |
|
62 | - * @access private |
|
63 | - */ |
|
64 | - public function __construct() { |
|
65 | - $this->set_variables(); |
|
66 | - } |
|
67 | - |
|
68 | - /** |
|
69 | - * Sets the variables used throughout the plugin. |
|
70 | - */ |
|
71 | - public function set_variables() { |
|
72 | - parent::set_variables(); |
|
73 | - |
|
74 | - // ** This request only works with API KEY ** |
|
75 | - //if ( false !== $this->api_username && false !== $this->api_password ) { |
|
76 | - // $this->url = 'https://wetu.com/API/Pins/'; |
|
77 | - // $this->url_qs = 'username=' . $this->api_username . '&password=' . $this->api_password; |
|
78 | - //} elseif ( false !== $this->api_key ) { |
|
79 | - $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
80 | - $this->url_qs = 'all=include'; |
|
81 | - //} |
|
82 | - |
|
83 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
84 | - |
|
85 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
86 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
87 | - } |
|
88 | - |
|
89 | - $accommodation_options = get_option( 'lsx_wetu_importer_accommodation_settings', false ); |
|
90 | - |
|
91 | - if ( false !== $accommodation_options ) { |
|
92 | - $this->accommodation_options = $accommodation_options; |
|
93 | - } |
|
94 | - } |
|
95 | - |
|
96 | - /** |
|
97 | - * Display the importer administration screen |
|
98 | - */ |
|
99 | - public function display_page() { |
|
100 | - ?> |
|
12 | + /** |
|
13 | + * The url to list items from WETU |
|
14 | + * |
|
15 | + * @since 0.0.1 |
|
16 | + * |
|
17 | + * @var string |
|
18 | + */ |
|
19 | + public $tab_slug = 'accommodation'; |
|
20 | + |
|
21 | + /** |
|
22 | + * The url to list items from WETU |
|
23 | + * |
|
24 | + * @since 0.0.1 |
|
25 | + * |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + public $url = false; |
|
29 | + |
|
30 | + /** |
|
31 | + * The query string url to list items from WETU |
|
32 | + * |
|
33 | + * @since 0.0.1 |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public $url_qs = false; |
|
38 | + |
|
39 | + /** |
|
40 | + * Options |
|
41 | + * |
|
42 | + * @since 0.0.1 |
|
43 | + * |
|
44 | + * @var string |
|
45 | + */ |
|
46 | + public $options = false; |
|
47 | + |
|
48 | + /** |
|
49 | + * The fields you wish to import |
|
50 | + * |
|
51 | + * @since 0.0.1 |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | + public $accommodation_options = false; |
|
56 | + |
|
57 | + /** |
|
58 | + * Initialize the plugin by setting localization, filters, and administration functions. |
|
59 | + * |
|
60 | + * @since 1.0.0 |
|
61 | + * |
|
62 | + * @access private |
|
63 | + */ |
|
64 | + public function __construct() { |
|
65 | + $this->set_variables(); |
|
66 | + } |
|
67 | + |
|
68 | + /** |
|
69 | + * Sets the variables used throughout the plugin. |
|
70 | + */ |
|
71 | + public function set_variables() { |
|
72 | + parent::set_variables(); |
|
73 | + |
|
74 | + // ** This request only works with API KEY ** |
|
75 | + //if ( false !== $this->api_username && false !== $this->api_password ) { |
|
76 | + // $this->url = 'https://wetu.com/API/Pins/'; |
|
77 | + // $this->url_qs = 'username=' . $this->api_username . '&password=' . $this->api_password; |
|
78 | + //} elseif ( false !== $this->api_key ) { |
|
79 | + $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
80 | + $this->url_qs = 'all=include'; |
|
81 | + //} |
|
82 | + |
|
83 | + $temp_options = get_option( '_lsx-to_settings', false ); |
|
84 | + |
|
85 | + if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
86 | + $this->options = $temp_options[ $this->plugin_slug ]; |
|
87 | + } |
|
88 | + |
|
89 | + $accommodation_options = get_option( 'lsx_wetu_importer_accommodation_settings', false ); |
|
90 | + |
|
91 | + if ( false !== $accommodation_options ) { |
|
92 | + $this->accommodation_options = $accommodation_options; |
|
93 | + } |
|
94 | + } |
|
95 | + |
|
96 | + /** |
|
97 | + * Display the importer administration screen |
|
98 | + */ |
|
99 | + public function display_page() { |
|
100 | + ?> |
|
101 | 101 | <div class="wrap"> |
102 | 102 | |
103 | 103 | <div class="tablenav top"> |
@@ -189,8 +189,8 @@ discard block |
||
189 | 189 | <div style="width:30%;display:block;float:left;"> |
190 | 190 | <h3><?php esc_html_e( 'Assign a Safari Brand' ); ?></h3> |
191 | 191 | <?php |
192 | - echo wp_kses_post( $this->taxonomy_checkboxes( 'accommodation-brand', $this->accommodation_options ) ); |
|
193 | - ?> |
|
192 | + echo wp_kses_post( $this->taxonomy_checkboxes( 'accommodation-brand', $this->accommodation_options ) ); |
|
193 | + ?> |
|
194 | 194 | </div> |
195 | 195 | |
196 | 196 | <br clear="both" /> |
@@ -220,142 +220,142 @@ discard block |
||
220 | 220 | </div> |
221 | 221 | </div> |
222 | 222 | <?php |
223 | - } |
|
224 | - |
|
225 | - /** |
|
226 | - * Run through the accommodation grabbed from the DB. |
|
227 | - */ |
|
228 | - public function process_ajax_search() { |
|
229 | - $return = false; |
|
230 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
231 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] ) { |
|
232 | - |
|
233 | - $searched_items = false; |
|
234 | - if ( isset( $_POST['keyword'] ) ) { |
|
235 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
236 | - } else { |
|
237 | - $keyphrases = array( 0 ); |
|
238 | - } |
|
239 | - |
|
240 | - if ( ! is_array( $keyphrases ) ) { |
|
241 | - $keyphrases = array( $keyphrases ); |
|
242 | - } |
|
243 | - foreach ( $keyphrases as &$keyword ) { |
|
244 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
245 | - } |
|
246 | - |
|
247 | - $post_status = false; |
|
248 | - |
|
249 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
250 | - $post_status = 'publish'; |
|
251 | - } |
|
252 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
253 | - $post_status = 'pending'; |
|
254 | - } |
|
255 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
256 | - $post_status = 'draft'; |
|
257 | - } |
|
258 | - if ( in_array( 'import', $keyphrases ) ) { |
|
259 | - $post_status = 'import'; |
|
260 | - } |
|
261 | - |
|
262 | - // If there is a post status use it. |
|
263 | - if ( false !== $post_status ) { |
|
264 | - |
|
265 | - $accommodation = array(); |
|
266 | - $current_accommodation = $this->find_current_accommodation(); |
|
267 | - if ( ! empty( $current_accommodation ) ) { |
|
268 | - foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
269 | - $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
270 | - } |
|
271 | - } |
|
272 | - |
|
273 | - // Run through each accommodation and use it. |
|
274 | - if ( ! empty( $accommodation ) ) { |
|
275 | - foreach ( $accommodation as $row_key => $row ) { |
|
276 | - $row['post_title'] = $row['name']; |
|
277 | - if ( 'import' === $post_status ) { |
|
278 | - if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
279 | - $current_status = get_post_status( $row['post_id'] ); |
|
280 | - if ( 'draft' === $current_status ) { |
|
281 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row ); |
|
282 | - } |
|
283 | - } else { |
|
284 | - continue; |
|
285 | - } |
|
286 | - } else { |
|
287 | - if ( 0 === $row['post_id'] ) { |
|
288 | - continue; |
|
289 | - } else { |
|
290 | - $current_status = get_post_status( $row['post_id'] ); |
|
291 | - if ( $current_status !== $post_status ) { |
|
292 | - continue; |
|
293 | - } |
|
294 | - } |
|
295 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
296 | - } |
|
297 | - } |
|
298 | - } |
|
299 | - } else { |
|
300 | - $key_string_search = implode( '+', $keyphrases ); |
|
301 | - $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search ); |
|
302 | - if ( ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
303 | - |
|
304 | - $search_data = json_decode( $search_data['body'], true ); |
|
305 | - foreach ( $search_data as $sdata_key => $sdata ) { |
|
306 | - |
|
307 | - if ( 'Destination' === trim( $sdata['type'] ) || 'Activity' === trim( $sdata['type'] ) || 'Restaurant' === trim( $sdata['type'] ) || 'None' === trim( $sdata['type'] ) || 'Site / Attraction' === trim( $sdata['type'] ) || '' === trim( $sdata['type'] ) ) { |
|
308 | - continue; |
|
309 | - } |
|
310 | - |
|
311 | - $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
312 | - if ( false === $temp_id ) { |
|
313 | - $sdata['post_id'] = 0; |
|
314 | - $sdata['post_title'] = $sdata['name']; |
|
315 | - } else { |
|
316 | - $sdata['post_id'] = $temp_id; |
|
317 | - $sdata['post_title'] = get_the_title( $temp_id ); |
|
318 | - } |
|
319 | - $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
320 | - } |
|
321 | - } |
|
322 | - } |
|
323 | - |
|
324 | - if ( false !== $searched_items ) { |
|
325 | - $return = implode( $searched_items ); |
|
326 | - } |
|
327 | - print_r( $return ); |
|
328 | - } |
|
329 | - |
|
330 | - die(); |
|
331 | - } |
|
332 | - |
|
333 | - public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
334 | - $row_item = array( |
|
335 | - 'id' => $cs_key, |
|
336 | - 'type' => 'Accommodation', |
|
337 | - 'name' => get_the_title( $ccs_id ), |
|
338 | - 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
339 | - 'post_id' => $ccs_id, |
|
340 | - ); |
|
341 | - return $row_item; |
|
342 | - } |
|
343 | - |
|
344 | - /** |
|
345 | - * Formats the row for output on the screen. |
|
346 | - * |
|
347 | - * @param boolean $row the current row to format. |
|
348 | - * @return void |
|
349 | - */ |
|
350 | - public function format_row( $row = false, $row_key = '' ) { |
|
351 | - if ( false !== $row ) { |
|
352 | - |
|
353 | - $status = 'import'; |
|
354 | - if ( 0 !== $row['post_id'] ) { |
|
355 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
356 | - } |
|
357 | - |
|
358 | - $row_html = ' |
|
223 | + } |
|
224 | + |
|
225 | + /** |
|
226 | + * Run through the accommodation grabbed from the DB. |
|
227 | + */ |
|
228 | + public function process_ajax_search() { |
|
229 | + $return = false; |
|
230 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
231 | + if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] ) { |
|
232 | + |
|
233 | + $searched_items = false; |
|
234 | + if ( isset( $_POST['keyword'] ) ) { |
|
235 | + $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
236 | + } else { |
|
237 | + $keyphrases = array( 0 ); |
|
238 | + } |
|
239 | + |
|
240 | + if ( ! is_array( $keyphrases ) ) { |
|
241 | + $keyphrases = array( $keyphrases ); |
|
242 | + } |
|
243 | + foreach ( $keyphrases as &$keyword ) { |
|
244 | + $keyword = ltrim( rtrim( $keyword ) ); |
|
245 | + } |
|
246 | + |
|
247 | + $post_status = false; |
|
248 | + |
|
249 | + if ( in_array( 'publish', $keyphrases ) ) { |
|
250 | + $post_status = 'publish'; |
|
251 | + } |
|
252 | + if ( in_array( 'pending', $keyphrases ) ) { |
|
253 | + $post_status = 'pending'; |
|
254 | + } |
|
255 | + if ( in_array( 'draft', $keyphrases ) ) { |
|
256 | + $post_status = 'draft'; |
|
257 | + } |
|
258 | + if ( in_array( 'import', $keyphrases ) ) { |
|
259 | + $post_status = 'import'; |
|
260 | + } |
|
261 | + |
|
262 | + // If there is a post status use it. |
|
263 | + if ( false !== $post_status ) { |
|
264 | + |
|
265 | + $accommodation = array(); |
|
266 | + $current_accommodation = $this->find_current_accommodation(); |
|
267 | + if ( ! empty( $current_accommodation ) ) { |
|
268 | + foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
269 | + $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
270 | + } |
|
271 | + } |
|
272 | + |
|
273 | + // Run through each accommodation and use it. |
|
274 | + if ( ! empty( $accommodation ) ) { |
|
275 | + foreach ( $accommodation as $row_key => $row ) { |
|
276 | + $row['post_title'] = $row['name']; |
|
277 | + if ( 'import' === $post_status ) { |
|
278 | + if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
279 | + $current_status = get_post_status( $row['post_id'] ); |
|
280 | + if ( 'draft' === $current_status ) { |
|
281 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row ); |
|
282 | + } |
|
283 | + } else { |
|
284 | + continue; |
|
285 | + } |
|
286 | + } else { |
|
287 | + if ( 0 === $row['post_id'] ) { |
|
288 | + continue; |
|
289 | + } else { |
|
290 | + $current_status = get_post_status( $row['post_id'] ); |
|
291 | + if ( $current_status !== $post_status ) { |
|
292 | + continue; |
|
293 | + } |
|
294 | + } |
|
295 | + $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
296 | + } |
|
297 | + } |
|
298 | + } |
|
299 | + } else { |
|
300 | + $key_string_search = implode( '+', $keyphrases ); |
|
301 | + $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search ); |
|
302 | + if ( ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
303 | + |
|
304 | + $search_data = json_decode( $search_data['body'], true ); |
|
305 | + foreach ( $search_data as $sdata_key => $sdata ) { |
|
306 | + |
|
307 | + if ( 'Destination' === trim( $sdata['type'] ) || 'Activity' === trim( $sdata['type'] ) || 'Restaurant' === trim( $sdata['type'] ) || 'None' === trim( $sdata['type'] ) || 'Site / Attraction' === trim( $sdata['type'] ) || '' === trim( $sdata['type'] ) ) { |
|
308 | + continue; |
|
309 | + } |
|
310 | + |
|
311 | + $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
312 | + if ( false === $temp_id ) { |
|
313 | + $sdata['post_id'] = 0; |
|
314 | + $sdata['post_title'] = $sdata['name']; |
|
315 | + } else { |
|
316 | + $sdata['post_id'] = $temp_id; |
|
317 | + $sdata['post_title'] = get_the_title( $temp_id ); |
|
318 | + } |
|
319 | + $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
320 | + } |
|
321 | + } |
|
322 | + } |
|
323 | + |
|
324 | + if ( false !== $searched_items ) { |
|
325 | + $return = implode( $searched_items ); |
|
326 | + } |
|
327 | + print_r( $return ); |
|
328 | + } |
|
329 | + |
|
330 | + die(); |
|
331 | + } |
|
332 | + |
|
333 | + public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
334 | + $row_item = array( |
|
335 | + 'id' => $cs_key, |
|
336 | + 'type' => 'Accommodation', |
|
337 | + 'name' => get_the_title( $ccs_id ), |
|
338 | + 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
339 | + 'post_id' => $ccs_id, |
|
340 | + ); |
|
341 | + return $row_item; |
|
342 | + } |
|
343 | + |
|
344 | + /** |
|
345 | + * Formats the row for output on the screen. |
|
346 | + * |
|
347 | + * @param boolean $row the current row to format. |
|
348 | + * @return void |
|
349 | + */ |
|
350 | + public function format_row( $row = false, $row_key = '' ) { |
|
351 | + if ( false !== $row ) { |
|
352 | + |
|
353 | + $status = 'import'; |
|
354 | + if ( 0 !== $row['post_id'] ) { |
|
355 | + $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
356 | + } |
|
357 | + |
|
358 | + $row_html = ' |
|
359 | 359 | <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
360 | 360 | <th class="check-column" scope="row"> |
361 | 361 | <label for="cb-select-' . $row['id'] . '" class="screen-reader-text">' . $row['name'] . '</label> |
@@ -374,457 +374,457 @@ discard block |
||
374 | 374 | ' . $row['id'] . ' |
375 | 375 | </td> |
376 | 376 | </tr>'; |
377 | - return $row_html; |
|
378 | - } |
|
379 | - } |
|
380 | - |
|
381 | - /** |
|
382 | - * Saves the queue to the option. |
|
383 | - */ |
|
384 | - public function remove_from_queue( $id ) { |
|
385 | - if ( ! empty( $this->queued_imports ) ) { |
|
386 | - $key = array_search( $id, $this->queued_imports ); |
|
387 | - if ( false !== $key ) { |
|
388 | - unset( $this->queued_imports[ $key ] ); |
|
389 | - |
|
390 | - delete_option( 'lsx_wetu_importer_que' ); |
|
391 | - update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
392 | - } |
|
393 | - } |
|
394 | - } |
|
395 | - |
|
396 | - /** |
|
397 | - * Connect to wetu |
|
398 | - */ |
|
399 | - public function process_ajax_import() { |
|
400 | - $return = false; |
|
401 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
402 | - |
|
403 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
404 | - |
|
405 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
406 | - if ( isset( $_POST['post_id'] ) ) { |
|
407 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
408 | - } else { |
|
409 | - $post_id = 0; |
|
410 | - } |
|
411 | - |
|
412 | - if ( isset( $_POST['team_members'] ) ) { |
|
413 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
414 | - } else { |
|
415 | - $team_members = false; |
|
416 | - } |
|
417 | - |
|
418 | - if ( isset( $_POST['safari_brands'] ) ) { |
|
419 | - $safari_brands = array_map( 'sanitize_text_field', wp_unslash( $_POST['safari_brands'] ) ); |
|
420 | - } else { |
|
421 | - $safari_brands = false; |
|
422 | - } |
|
423 | - delete_option( 'lsx_wetu_importer_accommodation_settings' ); |
|
424 | - |
|
425 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
426 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
427 | - add_option( 'lsx_wetu_importer_accommodation_settings', $content ); |
|
428 | - } else { |
|
429 | - $content = false; |
|
430 | - } |
|
431 | - |
|
432 | - $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
433 | - |
|
434 | - if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
435 | - $adata = json_decode( $jdata['body'], true ); |
|
436 | - $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
437 | - $this->format_completed_row( $return ); |
|
438 | - $this->remove_from_queue( $return ); |
|
439 | - $this->cleanup_posts(); |
|
440 | - } else { |
|
441 | - $this->format_error( esc_html__( 'There was a problem importing your accommodation, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
442 | - } |
|
443 | - } |
|
444 | - } |
|
445 | - |
|
446 | - /** |
|
447 | - * Connect to wetu |
|
448 | - */ |
|
449 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
450 | - $post_name = ''; |
|
451 | - $data_post_content = ''; |
|
452 | - $data_post_excerpt = ''; |
|
453 | - |
|
454 | - $post = array( |
|
455 | - 'post_type' => 'accommodation', |
|
456 | - ); |
|
457 | - $content_used_general_description = false; |
|
458 | - |
|
459 | - // Set the post_content. |
|
460 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
461 | - if ( isset( $data[0]['content']['extended_description'] ) ) { |
|
462 | - $data_post_content = $data[0]['content']['extended_description']; |
|
463 | - } elseif ( isset( $data[0]['content']['general_description'] ) ) { |
|
464 | - $data_post_content = $data[0]['content']['general_description']; |
|
465 | - $content_used_general_description = true; |
|
466 | - } elseif ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
467 | - $data_post_content = $data[0]['content']['teaser_description']; |
|
468 | - } |
|
469 | - |
|
470 | - if ( isset( $this->options['disable_accommodation_filtering'] ) && 'on' === $this->options['disable_accommodation_filtering'] ) { |
|
471 | - $post['post_content'] = $data_post_content; |
|
472 | - } else { |
|
473 | - $post['post_content'] = wp_strip_all_tags( $data_post_content ); |
|
474 | - } |
|
475 | - } |
|
476 | - |
|
477 | - // set the post_excerpt. |
|
478 | - if ( ! empty( $importable_content ) && in_array( 'excerpt', $importable_content ) ) { |
|
479 | - if ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
480 | - $data_post_excerpt = $data[0]['content']['teaser_description']; |
|
481 | - } elseif ( isset( $data[0]['content']['general_description'] ) && false === $content_used_general_description ) { |
|
482 | - $data_post_excerpt = $data[0]['content']['general_description']; |
|
483 | - } |
|
484 | - |
|
485 | - $post['post_excerpt'] = $data_post_excerpt; |
|
486 | - } |
|
487 | - |
|
488 | - if ( false !== $id && '0' !== $id ) { |
|
489 | - $post['ID'] = $id; |
|
490 | - |
|
491 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] && isset( $data[0]['name'] ) ) { |
|
492 | - $post['post_title'] = $data[0]['name']; |
|
493 | - $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
494 | - } |
|
495 | - |
|
496 | - $post['post_status'] = 'publish'; |
|
497 | - |
|
498 | - $id = wp_update_post( $post ); |
|
499 | - $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
500 | - update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
501 | - } else { |
|
502 | - // Set the name. |
|
503 | - if ( isset( $data[0]['name'] ) ) { |
|
504 | - $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
505 | - } |
|
506 | - |
|
507 | - $post['post_name'] = $post_name; |
|
508 | - $post['post_title'] = $data[0]['name']; |
|
509 | - $post['post_status'] = 'publish'; |
|
510 | - $id = wp_insert_post( $post ); |
|
511 | - |
|
512 | - // Save the WETU ID and the Last date it was modified. |
|
513 | - if ( false !== $id ) { |
|
514 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
515 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
516 | - } |
|
517 | - } |
|
518 | - |
|
519 | - // Setup some default for use in the import. |
|
520 | - if ( false !== $importable_content && ( in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content ) ) ) { |
|
521 | - $this->find_attachments( $id ); |
|
522 | - } |
|
523 | - |
|
524 | - // Set the team member if it is there. |
|
525 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
526 | - $this->set_team_member( $id, $team_members ); |
|
527 | - } |
|
528 | - |
|
529 | - // Set the safari brand. |
|
530 | - if ( false !== $safari_brands && '' !== $safari_brands ) { |
|
531 | - $this->set_safari_brands( $id, $safari_brands ); |
|
532 | - } |
|
533 | - |
|
534 | - $this->set_map_data( $data, $id, 9 ); |
|
535 | - |
|
536 | - if ( post_type_exists( 'destination' ) && false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
537 | - $this->connect_destinations( $data, $id ); |
|
538 | - } |
|
539 | - |
|
540 | - if ( false !== $importable_content && in_array( 'category', $importable_content ) ) { |
|
541 | - $this->set_taxonomy_style( $data, $id ); |
|
542 | - } |
|
543 | - |
|
544 | - // Set the Room Data. |
|
545 | - if ( false !== $importable_content && in_array( 'rooms', $importable_content ) ) { |
|
546 | - $this->set_room_data( $data, $id ); |
|
547 | - } |
|
548 | - |
|
549 | - // Set the rating. |
|
550 | - if ( false !== $importable_content && in_array( 'rating', $importable_content ) ) { |
|
551 | - $this->set_rating( $data, $id ); |
|
552 | - } |
|
553 | - |
|
554 | - // Set the checkin checkout data. |
|
555 | - if ( false !== $importable_content && in_array( 'checkin', $importable_content ) ) { |
|
556 | - $this->set_checkin_checkout( $data, $id ); |
|
557 | - } |
|
558 | - |
|
559 | - // Set the Spoken Languages. |
|
560 | - if ( false !== $importable_content && in_array( 'spoken_languages', $importable_content ) ) { |
|
561 | - $this->set_spoken_languages( $data, $id ); |
|
562 | - } |
|
563 | - |
|
564 | - // Set the friendly options. |
|
565 | - if ( false !== $importable_content && in_array( 'friendly', $importable_content ) ) { |
|
566 | - $this->set_friendly( $data, $id ); |
|
567 | - } |
|
568 | - |
|
569 | - // Set the special_interests. |
|
570 | - if ( false !== $importable_content && in_array( 'special_interests', $importable_content ) ) { |
|
571 | - $this->set_special_interests( $data, $id ); |
|
572 | - } |
|
573 | - |
|
574 | - // Import the videos. |
|
575 | - if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
576 | - $this->set_video_data( $data, $id ); |
|
577 | - } |
|
578 | - |
|
579 | - // Import the facilities. |
|
580 | - if ( false !== $importable_content && in_array( 'facilities', $importable_content ) ) { |
|
581 | - $this->set_facilities( $data, $id ); |
|
582 | - } |
|
583 | - |
|
584 | - // Set the featured image. |
|
585 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
586 | - $this->set_featured_image( $data, $id ); |
|
587 | - } |
|
588 | - |
|
589 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
590 | - $this->set_banner_image( $data, $id ); |
|
591 | - } |
|
592 | - |
|
593 | - // Import the main gallery. |
|
594 | - if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
595 | - $this->create_main_gallery( $data, $id ); |
|
596 | - } |
|
597 | - |
|
598 | - return $id; |
|
599 | - } |
|
600 | - |
|
601 | - /** |
|
602 | - * Set the safari brand |
|
603 | - */ |
|
604 | - public function set_safari_brands( $id, $safari_brands ) { |
|
605 | - foreach ( $safari_brands as $safari_brand ) { |
|
606 | - wp_set_object_terms( $id, intval( $safari_brand ), 'accommodation-brand', true ); |
|
607 | - } |
|
608 | - } |
|
609 | - |
|
610 | - /** |
|
611 | - * Connects the destinations post type |
|
612 | - */ |
|
613 | - public function connect_destinations( $data, $id ) { |
|
614 | - if ( isset( $data[0]['position'] ) ) { |
|
615 | - $destinations = false; |
|
616 | - |
|
617 | - if ( isset( $data[0]['position']['country'] ) ) { |
|
618 | - $destinations['country'] = $data[0]['position']['country']; |
|
619 | - } |
|
620 | - |
|
621 | - if ( isset( $data[0]['position']['destination'] ) ) { |
|
622 | - $destinations['destination'] = $data[0]['position']['destination']; |
|
623 | - } |
|
624 | - |
|
625 | - if ( false !== $destinations ) { |
|
626 | - $prev_values = get_post_meta( $id, 'destination_to_accommodation', false ); |
|
627 | - |
|
628 | - if ( false === $prev_values || ! is_array( $prev_values ) ) { |
|
629 | - $prev_values = array(); |
|
630 | - } |
|
631 | - |
|
632 | - delete_post_meta( $id, 'destination_to_accommodation', $prev_values ); |
|
633 | - $destinations = array_unique( $destinations ); |
|
634 | - |
|
635 | - foreach ( $destinations as $key => $value ) { |
|
636 | - $destination = get_page_by_title( ltrim( rtrim( $value ) ), 'OBJECT', 'destination' ); |
|
637 | - if ( null !== $destination ) { |
|
638 | - if ( ! in_array( $destination->ID, $prev_values ) ) { |
|
639 | - add_post_meta( $id, 'destination_to_accommodation', $destination->ID, false ); |
|
640 | - add_post_meta( $destination->ID, 'accommodation_to_destination', $id, false ); |
|
641 | - $this->cleanup_posts[ $destination->ID ] = 'accommodation_to_destination'; |
|
642 | - } |
|
643 | - } |
|
644 | - } |
|
645 | - } |
|
646 | - } |
|
647 | - } |
|
648 | - |
|
649 | - /** |
|
650 | - * Set the Travel Style |
|
651 | - */ |
|
652 | - public function set_taxonomy_style( $data, $id ) { |
|
653 | - $terms = false; |
|
654 | - |
|
655 | - if ( isset( $data[0]['category'] ) ) { |
|
656 | - $term = term_exists( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
657 | - if ( ! $term ) { |
|
658 | - $term = wp_insert_term( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
659 | - |
|
660 | - if ( is_wp_error( $term ) ) { |
|
661 | - echo wp_kses_post( $term->get_error_message() ); |
|
662 | - } |
|
663 | - } else { |
|
664 | - wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
665 | - } |
|
666 | - } else { |
|
667 | - wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
668 | - } |
|
669 | - } |
|
670 | - |
|
671 | - /** |
|
672 | - * Saves the room data |
|
673 | - */ |
|
674 | - public function set_room_data( $data, $id ) { |
|
675 | - if ( ! empty( $data[0]['rooms'] ) && is_array( $data[0]['rooms'] ) ) { |
|
676 | - $rooms = false; |
|
677 | - |
|
678 | - foreach ( $data[0]['rooms'] as $room ) { |
|
679 | - $temp_room = array(); |
|
680 | - |
|
681 | - if ( isset( $room['name'] ) ) { |
|
682 | - $temp_room['title'] = $room['name']; |
|
683 | - } |
|
684 | - |
|
685 | - if ( isset( $room['description'] ) ) { |
|
686 | - $temp_room['description'] = strip_tags( $room['description'] ); |
|
687 | - } |
|
688 | - |
|
689 | - $temp_room['price'] = 0; |
|
690 | - $temp_room['type'] = 'room'; |
|
691 | - |
|
692 | - if ( ! empty( $room['images'] ) && is_array( $room['images'] ) ) { |
|
693 | - $temp_room['gallery'] = array(); |
|
694 | - $temp_room['gallery'][] = $this->attach_image( $room['images'][0], $id ); |
|
695 | - } |
|
696 | - $rooms[] = $temp_room; |
|
697 | - } |
|
698 | - |
|
699 | - if ( false !== $id && '0' !== $id ) { |
|
700 | - delete_post_meta( $id, 'units' ); |
|
701 | - } |
|
702 | - |
|
703 | - foreach ( $rooms as $room ) { |
|
704 | - add_post_meta( $id, 'units', $room, false ); |
|
705 | - } |
|
706 | - |
|
707 | - if ( isset( $data[0]['features'] ) && isset( $data[0]['features']['rooms'] ) ) { |
|
708 | - $room_count = $data[0]['features']['rooms']; |
|
709 | - } else { |
|
710 | - $room_count = count( $data[0]['rooms'] ); |
|
711 | - } |
|
712 | - |
|
713 | - if ( false !== $id && '0' !== $id ) { |
|
714 | - $prev_rooms = get_post_meta( $id, 'number_of_rooms', true ); |
|
715 | - update_post_meta( $id, 'number_of_rooms', $room_count, $prev_rooms ); |
|
716 | - } else { |
|
717 | - add_post_meta( $id, 'number_of_rooms', $room_count, true ); |
|
718 | - } |
|
719 | - } |
|
720 | - } |
|
721 | - |
|
722 | - /** |
|
723 | - * Set the ratings |
|
724 | - */ |
|
725 | - public function set_rating( $data, $id ) { |
|
726 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['star_authority'] ) ) { |
|
727 | - $rating_type = $data[0]['features']['star_authority']; |
|
728 | - } else { |
|
729 | - $rating_type = 'Unspecified2'; |
|
730 | - } |
|
731 | - |
|
732 | - $this->save_custom_field( $rating_type, 'rating_type', $id ); |
|
733 | - |
|
734 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['stars'] ) ) { |
|
735 | - $this->save_custom_field( $data[0]['features']['stars'], 'rating', $id, true ); |
|
736 | - } |
|
737 | - } |
|
738 | - |
|
739 | - /** |
|
740 | - * Set the spoken_languages |
|
741 | - */ |
|
742 | - public function set_spoken_languages( $data, $id ) { |
|
743 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['spoken_languages'] ) && ! empty( $data[0]['features']['spoken_languages'] ) ) { |
|
744 | - $languages = false; |
|
745 | - |
|
746 | - foreach ( $data[0]['features']['spoken_languages'] as $spoken_language ) { |
|
747 | - $languages[] = sanitize_title( $spoken_language ); |
|
748 | - } |
|
749 | - |
|
750 | - if ( false !== $languages ) { |
|
751 | - $this->save_custom_field( $languages, 'spoken_languages', $id ); |
|
752 | - } |
|
753 | - } |
|
754 | - } |
|
755 | - |
|
756 | - /** |
|
757 | - * Set the friendly |
|
758 | - */ |
|
759 | - public function set_friendly( $data, $id ) { |
|
760 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['suggested_visitor_types'] ) && ! empty( $data[0]['features']['suggested_visitor_types'] ) ) { |
|
761 | - $friendly_options = false; |
|
762 | - |
|
763 | - foreach ( $data[0]['features']['suggested_visitor_types'] as $visitor_type ) { |
|
764 | - $friendly_options[] = sanitize_title( $visitor_type ); |
|
765 | - } |
|
766 | - |
|
767 | - if ( false !== $friendly_options ) { |
|
768 | - $this->save_custom_field( $friendly_options, 'suggested_visitor_types', $id ); |
|
769 | - } |
|
770 | - } |
|
771 | - } |
|
772 | - |
|
773 | - /** |
|
774 | - * Set the special interests |
|
775 | - */ |
|
776 | - public function set_special_interests( $data, $id ) { |
|
777 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['special_interests'] ) && ! empty( $data[0]['features']['special_interests'] ) ) { |
|
778 | - $interests = false; |
|
779 | - |
|
780 | - foreach ( $data[0]['features']['special_interests'] as $special_interest ) { |
|
781 | - $interests[] = sanitize_title( $special_interest ); |
|
782 | - } |
|
783 | - |
|
784 | - if ( false !== $interests ) { |
|
785 | - $this->save_custom_field( $interests, 'special_interests', $id ); |
|
786 | - } |
|
787 | - } |
|
788 | - } |
|
789 | - |
|
790 | - /** |
|
791 | - * Set the Check in and Check out Date |
|
792 | - */ |
|
793 | - public function set_checkin_checkout( $data, $id ) { |
|
794 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_in_time'] ) ) { |
|
795 | - $time = str_replace( 'h', ':', $data[0]['features']['check_in_time'] ); |
|
796 | - $time = date( 'h:ia', strtotime( $time ) ); |
|
797 | - $this->save_custom_field( $time, 'checkin_time', $id ); |
|
798 | - } |
|
799 | - |
|
800 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_out_time'] ) ) { |
|
801 | - $time = str_replace( 'h', ':', $data[0]['features']['check_out_time'] ); |
|
802 | - $time = date( 'h:ia', strtotime( $time ) ); |
|
803 | - $this->save_custom_field( $time, 'checkout_time', $id ); |
|
804 | - } |
|
805 | - } |
|
806 | - |
|
807 | - /** |
|
808 | - * Set the Facilities |
|
809 | - */ |
|
810 | - public function set_facilities( $data, $id ) { |
|
811 | - $parent_facilities = array( |
|
812 | - 'available_services' => 'Available Services', |
|
813 | - 'property_facilities' => 'Property Facilities', |
|
814 | - 'room_facilities' => 'Room Facilities', |
|
815 | - 'activities_on_site' => 'Activities on Site', |
|
816 | - ); |
|
817 | - |
|
818 | - foreach ( $parent_facilities as $key => $label ) { |
|
819 | - $terms = false; |
|
820 | - |
|
821 | - if ( isset( $data[0]['features'] ) && isset( $data[0]['features'][ $key ] ) ) { |
|
822 | - $parent_id = $this->set_term( $id, $label, 'facility' ); |
|
823 | - } |
|
824 | - |
|
825 | - foreach ( $data[0]['features'][ $key ] as $child_facility ) { |
|
826 | - $this->set_term( $id, $child_facility, 'facility', $parent_id ); |
|
827 | - } |
|
828 | - } |
|
829 | - } |
|
377 | + return $row_html; |
|
378 | + } |
|
379 | + } |
|
380 | + |
|
381 | + /** |
|
382 | + * Saves the queue to the option. |
|
383 | + */ |
|
384 | + public function remove_from_queue( $id ) { |
|
385 | + if ( ! empty( $this->queued_imports ) ) { |
|
386 | + $key = array_search( $id, $this->queued_imports ); |
|
387 | + if ( false !== $key ) { |
|
388 | + unset( $this->queued_imports[ $key ] ); |
|
389 | + |
|
390 | + delete_option( 'lsx_wetu_importer_que' ); |
|
391 | + update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
392 | + } |
|
393 | + } |
|
394 | + } |
|
395 | + |
|
396 | + /** |
|
397 | + * Connect to wetu |
|
398 | + */ |
|
399 | + public function process_ajax_import() { |
|
400 | + $return = false; |
|
401 | + check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
402 | + |
|
403 | + if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
404 | + |
|
405 | + $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
406 | + if ( isset( $_POST['post_id'] ) ) { |
|
407 | + $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
408 | + } else { |
|
409 | + $post_id = 0; |
|
410 | + } |
|
411 | + |
|
412 | + if ( isset( $_POST['team_members'] ) ) { |
|
413 | + $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
414 | + } else { |
|
415 | + $team_members = false; |
|
416 | + } |
|
417 | + |
|
418 | + if ( isset( $_POST['safari_brands'] ) ) { |
|
419 | + $safari_brands = array_map( 'sanitize_text_field', wp_unslash( $_POST['safari_brands'] ) ); |
|
420 | + } else { |
|
421 | + $safari_brands = false; |
|
422 | + } |
|
423 | + delete_option( 'lsx_wetu_importer_accommodation_settings' ); |
|
424 | + |
|
425 | + if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
426 | + $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
427 | + add_option( 'lsx_wetu_importer_accommodation_settings', $content ); |
|
428 | + } else { |
|
429 | + $content = false; |
|
430 | + } |
|
431 | + |
|
432 | + $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
433 | + |
|
434 | + if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
435 | + $adata = json_decode( $jdata['body'], true ); |
|
436 | + $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
437 | + $this->format_completed_row( $return ); |
|
438 | + $this->remove_from_queue( $return ); |
|
439 | + $this->cleanup_posts(); |
|
440 | + } else { |
|
441 | + $this->format_error( esc_html__( 'There was a problem importing your accommodation, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
442 | + } |
|
443 | + } |
|
444 | + } |
|
445 | + |
|
446 | + /** |
|
447 | + * Connect to wetu |
|
448 | + */ |
|
449 | + public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
450 | + $post_name = ''; |
|
451 | + $data_post_content = ''; |
|
452 | + $data_post_excerpt = ''; |
|
453 | + |
|
454 | + $post = array( |
|
455 | + 'post_type' => 'accommodation', |
|
456 | + ); |
|
457 | + $content_used_general_description = false; |
|
458 | + |
|
459 | + // Set the post_content. |
|
460 | + if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
461 | + if ( isset( $data[0]['content']['extended_description'] ) ) { |
|
462 | + $data_post_content = $data[0]['content']['extended_description']; |
|
463 | + } elseif ( isset( $data[0]['content']['general_description'] ) ) { |
|
464 | + $data_post_content = $data[0]['content']['general_description']; |
|
465 | + $content_used_general_description = true; |
|
466 | + } elseif ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
467 | + $data_post_content = $data[0]['content']['teaser_description']; |
|
468 | + } |
|
469 | + |
|
470 | + if ( isset( $this->options['disable_accommodation_filtering'] ) && 'on' === $this->options['disable_accommodation_filtering'] ) { |
|
471 | + $post['post_content'] = $data_post_content; |
|
472 | + } else { |
|
473 | + $post['post_content'] = wp_strip_all_tags( $data_post_content ); |
|
474 | + } |
|
475 | + } |
|
476 | + |
|
477 | + // set the post_excerpt. |
|
478 | + if ( ! empty( $importable_content ) && in_array( 'excerpt', $importable_content ) ) { |
|
479 | + if ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
480 | + $data_post_excerpt = $data[0]['content']['teaser_description']; |
|
481 | + } elseif ( isset( $data[0]['content']['general_description'] ) && false === $content_used_general_description ) { |
|
482 | + $data_post_excerpt = $data[0]['content']['general_description']; |
|
483 | + } |
|
484 | + |
|
485 | + $post['post_excerpt'] = $data_post_excerpt; |
|
486 | + } |
|
487 | + |
|
488 | + if ( false !== $id && '0' !== $id ) { |
|
489 | + $post['ID'] = $id; |
|
490 | + |
|
491 | + if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] && isset( $data[0]['name'] ) ) { |
|
492 | + $post['post_title'] = $data[0]['name']; |
|
493 | + $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
494 | + } |
|
495 | + |
|
496 | + $post['post_status'] = 'publish'; |
|
497 | + |
|
498 | + $id = wp_update_post( $post ); |
|
499 | + $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
500 | + update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
501 | + } else { |
|
502 | + // Set the name. |
|
503 | + if ( isset( $data[0]['name'] ) ) { |
|
504 | + $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
505 | + } |
|
506 | + |
|
507 | + $post['post_name'] = $post_name; |
|
508 | + $post['post_title'] = $data[0]['name']; |
|
509 | + $post['post_status'] = 'publish'; |
|
510 | + $id = wp_insert_post( $post ); |
|
511 | + |
|
512 | + // Save the WETU ID and the Last date it was modified. |
|
513 | + if ( false !== $id ) { |
|
514 | + add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
515 | + add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
516 | + } |
|
517 | + } |
|
518 | + |
|
519 | + // Setup some default for use in the import. |
|
520 | + if ( false !== $importable_content && ( in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content ) ) ) { |
|
521 | + $this->find_attachments( $id ); |
|
522 | + } |
|
523 | + |
|
524 | + // Set the team member if it is there. |
|
525 | + if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
526 | + $this->set_team_member( $id, $team_members ); |
|
527 | + } |
|
528 | + |
|
529 | + // Set the safari brand. |
|
530 | + if ( false !== $safari_brands && '' !== $safari_brands ) { |
|
531 | + $this->set_safari_brands( $id, $safari_brands ); |
|
532 | + } |
|
533 | + |
|
534 | + $this->set_map_data( $data, $id, 9 ); |
|
535 | + |
|
536 | + if ( post_type_exists( 'destination' ) && false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
537 | + $this->connect_destinations( $data, $id ); |
|
538 | + } |
|
539 | + |
|
540 | + if ( false !== $importable_content && in_array( 'category', $importable_content ) ) { |
|
541 | + $this->set_taxonomy_style( $data, $id ); |
|
542 | + } |
|
543 | + |
|
544 | + // Set the Room Data. |
|
545 | + if ( false !== $importable_content && in_array( 'rooms', $importable_content ) ) { |
|
546 | + $this->set_room_data( $data, $id ); |
|
547 | + } |
|
548 | + |
|
549 | + // Set the rating. |
|
550 | + if ( false !== $importable_content && in_array( 'rating', $importable_content ) ) { |
|
551 | + $this->set_rating( $data, $id ); |
|
552 | + } |
|
553 | + |
|
554 | + // Set the checkin checkout data. |
|
555 | + if ( false !== $importable_content && in_array( 'checkin', $importable_content ) ) { |
|
556 | + $this->set_checkin_checkout( $data, $id ); |
|
557 | + } |
|
558 | + |
|
559 | + // Set the Spoken Languages. |
|
560 | + if ( false !== $importable_content && in_array( 'spoken_languages', $importable_content ) ) { |
|
561 | + $this->set_spoken_languages( $data, $id ); |
|
562 | + } |
|
563 | + |
|
564 | + // Set the friendly options. |
|
565 | + if ( false !== $importable_content && in_array( 'friendly', $importable_content ) ) { |
|
566 | + $this->set_friendly( $data, $id ); |
|
567 | + } |
|
568 | + |
|
569 | + // Set the special_interests. |
|
570 | + if ( false !== $importable_content && in_array( 'special_interests', $importable_content ) ) { |
|
571 | + $this->set_special_interests( $data, $id ); |
|
572 | + } |
|
573 | + |
|
574 | + // Import the videos. |
|
575 | + if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
576 | + $this->set_video_data( $data, $id ); |
|
577 | + } |
|
578 | + |
|
579 | + // Import the facilities. |
|
580 | + if ( false !== $importable_content && in_array( 'facilities', $importable_content ) ) { |
|
581 | + $this->set_facilities( $data, $id ); |
|
582 | + } |
|
583 | + |
|
584 | + // Set the featured image. |
|
585 | + if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
586 | + $this->set_featured_image( $data, $id ); |
|
587 | + } |
|
588 | + |
|
589 | + if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
590 | + $this->set_banner_image( $data, $id ); |
|
591 | + } |
|
592 | + |
|
593 | + // Import the main gallery. |
|
594 | + if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
595 | + $this->create_main_gallery( $data, $id ); |
|
596 | + } |
|
597 | + |
|
598 | + return $id; |
|
599 | + } |
|
600 | + |
|
601 | + /** |
|
602 | + * Set the safari brand |
|
603 | + */ |
|
604 | + public function set_safari_brands( $id, $safari_brands ) { |
|
605 | + foreach ( $safari_brands as $safari_brand ) { |
|
606 | + wp_set_object_terms( $id, intval( $safari_brand ), 'accommodation-brand', true ); |
|
607 | + } |
|
608 | + } |
|
609 | + |
|
610 | + /** |
|
611 | + * Connects the destinations post type |
|
612 | + */ |
|
613 | + public function connect_destinations( $data, $id ) { |
|
614 | + if ( isset( $data[0]['position'] ) ) { |
|
615 | + $destinations = false; |
|
616 | + |
|
617 | + if ( isset( $data[0]['position']['country'] ) ) { |
|
618 | + $destinations['country'] = $data[0]['position']['country']; |
|
619 | + } |
|
620 | + |
|
621 | + if ( isset( $data[0]['position']['destination'] ) ) { |
|
622 | + $destinations['destination'] = $data[0]['position']['destination']; |
|
623 | + } |
|
624 | + |
|
625 | + if ( false !== $destinations ) { |
|
626 | + $prev_values = get_post_meta( $id, 'destination_to_accommodation', false ); |
|
627 | + |
|
628 | + if ( false === $prev_values || ! is_array( $prev_values ) ) { |
|
629 | + $prev_values = array(); |
|
630 | + } |
|
631 | + |
|
632 | + delete_post_meta( $id, 'destination_to_accommodation', $prev_values ); |
|
633 | + $destinations = array_unique( $destinations ); |
|
634 | + |
|
635 | + foreach ( $destinations as $key => $value ) { |
|
636 | + $destination = get_page_by_title( ltrim( rtrim( $value ) ), 'OBJECT', 'destination' ); |
|
637 | + if ( null !== $destination ) { |
|
638 | + if ( ! in_array( $destination->ID, $prev_values ) ) { |
|
639 | + add_post_meta( $id, 'destination_to_accommodation', $destination->ID, false ); |
|
640 | + add_post_meta( $destination->ID, 'accommodation_to_destination', $id, false ); |
|
641 | + $this->cleanup_posts[ $destination->ID ] = 'accommodation_to_destination'; |
|
642 | + } |
|
643 | + } |
|
644 | + } |
|
645 | + } |
|
646 | + } |
|
647 | + } |
|
648 | + |
|
649 | + /** |
|
650 | + * Set the Travel Style |
|
651 | + */ |
|
652 | + public function set_taxonomy_style( $data, $id ) { |
|
653 | + $terms = false; |
|
654 | + |
|
655 | + if ( isset( $data[0]['category'] ) ) { |
|
656 | + $term = term_exists( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
657 | + if ( ! $term ) { |
|
658 | + $term = wp_insert_term( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
659 | + |
|
660 | + if ( is_wp_error( $term ) ) { |
|
661 | + echo wp_kses_post( $term->get_error_message() ); |
|
662 | + } |
|
663 | + } else { |
|
664 | + wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
665 | + } |
|
666 | + } else { |
|
667 | + wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
668 | + } |
|
669 | + } |
|
670 | + |
|
671 | + /** |
|
672 | + * Saves the room data |
|
673 | + */ |
|
674 | + public function set_room_data( $data, $id ) { |
|
675 | + if ( ! empty( $data[0]['rooms'] ) && is_array( $data[0]['rooms'] ) ) { |
|
676 | + $rooms = false; |
|
677 | + |
|
678 | + foreach ( $data[0]['rooms'] as $room ) { |
|
679 | + $temp_room = array(); |
|
680 | + |
|
681 | + if ( isset( $room['name'] ) ) { |
|
682 | + $temp_room['title'] = $room['name']; |
|
683 | + } |
|
684 | + |
|
685 | + if ( isset( $room['description'] ) ) { |
|
686 | + $temp_room['description'] = strip_tags( $room['description'] ); |
|
687 | + } |
|
688 | + |
|
689 | + $temp_room['price'] = 0; |
|
690 | + $temp_room['type'] = 'room'; |
|
691 | + |
|
692 | + if ( ! empty( $room['images'] ) && is_array( $room['images'] ) ) { |
|
693 | + $temp_room['gallery'] = array(); |
|
694 | + $temp_room['gallery'][] = $this->attach_image( $room['images'][0], $id ); |
|
695 | + } |
|
696 | + $rooms[] = $temp_room; |
|
697 | + } |
|
698 | + |
|
699 | + if ( false !== $id && '0' !== $id ) { |
|
700 | + delete_post_meta( $id, 'units' ); |
|
701 | + } |
|
702 | + |
|
703 | + foreach ( $rooms as $room ) { |
|
704 | + add_post_meta( $id, 'units', $room, false ); |
|
705 | + } |
|
706 | + |
|
707 | + if ( isset( $data[0]['features'] ) && isset( $data[0]['features']['rooms'] ) ) { |
|
708 | + $room_count = $data[0]['features']['rooms']; |
|
709 | + } else { |
|
710 | + $room_count = count( $data[0]['rooms'] ); |
|
711 | + } |
|
712 | + |
|
713 | + if ( false !== $id && '0' !== $id ) { |
|
714 | + $prev_rooms = get_post_meta( $id, 'number_of_rooms', true ); |
|
715 | + update_post_meta( $id, 'number_of_rooms', $room_count, $prev_rooms ); |
|
716 | + } else { |
|
717 | + add_post_meta( $id, 'number_of_rooms', $room_count, true ); |
|
718 | + } |
|
719 | + } |
|
720 | + } |
|
721 | + |
|
722 | + /** |
|
723 | + * Set the ratings |
|
724 | + */ |
|
725 | + public function set_rating( $data, $id ) { |
|
726 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['star_authority'] ) ) { |
|
727 | + $rating_type = $data[0]['features']['star_authority']; |
|
728 | + } else { |
|
729 | + $rating_type = 'Unspecified2'; |
|
730 | + } |
|
731 | + |
|
732 | + $this->save_custom_field( $rating_type, 'rating_type', $id ); |
|
733 | + |
|
734 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['stars'] ) ) { |
|
735 | + $this->save_custom_field( $data[0]['features']['stars'], 'rating', $id, true ); |
|
736 | + } |
|
737 | + } |
|
738 | + |
|
739 | + /** |
|
740 | + * Set the spoken_languages |
|
741 | + */ |
|
742 | + public function set_spoken_languages( $data, $id ) { |
|
743 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['spoken_languages'] ) && ! empty( $data[0]['features']['spoken_languages'] ) ) { |
|
744 | + $languages = false; |
|
745 | + |
|
746 | + foreach ( $data[0]['features']['spoken_languages'] as $spoken_language ) { |
|
747 | + $languages[] = sanitize_title( $spoken_language ); |
|
748 | + } |
|
749 | + |
|
750 | + if ( false !== $languages ) { |
|
751 | + $this->save_custom_field( $languages, 'spoken_languages', $id ); |
|
752 | + } |
|
753 | + } |
|
754 | + } |
|
755 | + |
|
756 | + /** |
|
757 | + * Set the friendly |
|
758 | + */ |
|
759 | + public function set_friendly( $data, $id ) { |
|
760 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['suggested_visitor_types'] ) && ! empty( $data[0]['features']['suggested_visitor_types'] ) ) { |
|
761 | + $friendly_options = false; |
|
762 | + |
|
763 | + foreach ( $data[0]['features']['suggested_visitor_types'] as $visitor_type ) { |
|
764 | + $friendly_options[] = sanitize_title( $visitor_type ); |
|
765 | + } |
|
766 | + |
|
767 | + if ( false !== $friendly_options ) { |
|
768 | + $this->save_custom_field( $friendly_options, 'suggested_visitor_types', $id ); |
|
769 | + } |
|
770 | + } |
|
771 | + } |
|
772 | + |
|
773 | + /** |
|
774 | + * Set the special interests |
|
775 | + */ |
|
776 | + public function set_special_interests( $data, $id ) { |
|
777 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['special_interests'] ) && ! empty( $data[0]['features']['special_interests'] ) ) { |
|
778 | + $interests = false; |
|
779 | + |
|
780 | + foreach ( $data[0]['features']['special_interests'] as $special_interest ) { |
|
781 | + $interests[] = sanitize_title( $special_interest ); |
|
782 | + } |
|
783 | + |
|
784 | + if ( false !== $interests ) { |
|
785 | + $this->save_custom_field( $interests, 'special_interests', $id ); |
|
786 | + } |
|
787 | + } |
|
788 | + } |
|
789 | + |
|
790 | + /** |
|
791 | + * Set the Check in and Check out Date |
|
792 | + */ |
|
793 | + public function set_checkin_checkout( $data, $id ) { |
|
794 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_in_time'] ) ) { |
|
795 | + $time = str_replace( 'h', ':', $data[0]['features']['check_in_time'] ); |
|
796 | + $time = date( 'h:ia', strtotime( $time ) ); |
|
797 | + $this->save_custom_field( $time, 'checkin_time', $id ); |
|
798 | + } |
|
799 | + |
|
800 | + if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_out_time'] ) ) { |
|
801 | + $time = str_replace( 'h', ':', $data[0]['features']['check_out_time'] ); |
|
802 | + $time = date( 'h:ia', strtotime( $time ) ); |
|
803 | + $this->save_custom_field( $time, 'checkout_time', $id ); |
|
804 | + } |
|
805 | + } |
|
806 | + |
|
807 | + /** |
|
808 | + * Set the Facilities |
|
809 | + */ |
|
810 | + public function set_facilities( $data, $id ) { |
|
811 | + $parent_facilities = array( |
|
812 | + 'available_services' => 'Available Services', |
|
813 | + 'property_facilities' => 'Property Facilities', |
|
814 | + 'room_facilities' => 'Room Facilities', |
|
815 | + 'activities_on_site' => 'Activities on Site', |
|
816 | + ); |
|
817 | + |
|
818 | + foreach ( $parent_facilities as $key => $label ) { |
|
819 | + $terms = false; |
|
820 | + |
|
821 | + if ( isset( $data[0]['features'] ) && isset( $data[0]['features'][ $key ] ) ) { |
|
822 | + $parent_id = $this->set_term( $id, $label, 'facility' ); |
|
823 | + } |
|
824 | + |
|
825 | + foreach ( $data[0]['features'][ $key ] as $child_facility ) { |
|
826 | + $this->set_term( $id, $child_facility, 'facility', $parent_id ); |
|
827 | + } |
|
828 | + } |
|
829 | + } |
|
830 | 830 | } |
@@ -76,19 +76,19 @@ discard block |
||
76 | 76 | // $this->url = 'https://wetu.com/API/Pins/'; |
77 | 77 | // $this->url_qs = 'username=' . $this->api_username . '&password=' . $this->api_password; |
78 | 78 | //} elseif ( false !== $this->api_key ) { |
79 | - $this->url = 'https://wetu.com/API/Pins/' . $this->api_key; |
|
79 | + $this->url = 'https://wetu.com/API/Pins/'.$this->api_key; |
|
80 | 80 | $this->url_qs = 'all=include'; |
81 | 81 | //} |
82 | 82 | |
83 | - $temp_options = get_option( '_lsx-to_settings', false ); |
|
83 | + $temp_options = get_option('_lsx-to_settings', false); |
|
84 | 84 | |
85 | - if ( false !== $temp_options && isset( $temp_options[ $this->plugin_slug ] ) && ! empty( $temp_options[ $this->plugin_slug ] ) ) { |
|
86 | - $this->options = $temp_options[ $this->plugin_slug ]; |
|
85 | + if (false !== $temp_options && isset($temp_options[$this->plugin_slug]) && !empty($temp_options[$this->plugin_slug])) { |
|
86 | + $this->options = $temp_options[$this->plugin_slug]; |
|
87 | 87 | } |
88 | 88 | |
89 | - $accommodation_options = get_option( 'lsx_wetu_importer_accommodation_settings', false ); |
|
89 | + $accommodation_options = get_option('lsx_wetu_importer_accommodation_settings', false); |
|
90 | 90 | |
91 | - if ( false !== $accommodation_options ) { |
|
91 | + if (false !== $accommodation_options) { |
|
92 | 92 | $this->accommodation_options = $accommodation_options; |
93 | 93 | } |
94 | 94 | } |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | </div> |
108 | 108 | |
109 | 109 | <form method="get" action="" id="posts-filter"> |
110 | - <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr( $this->tab_slug ); ?>" /> |
|
110 | + <input type="hidden" name="post_type" class="post_type" value="<?php echo esc_attr($this->tab_slug); ?>" /> |
|
111 | 111 | |
112 | 112 | <table class="wp-list-table widefat fixed posts"> |
113 | 113 | <?php $this->table_header(); ?> |
@@ -115,11 +115,11 @@ discard block |
||
115 | 115 | <tbody id="the-list"> |
116 | 116 | <tr class="post-0 type-tour status-none" id="post-0"> |
117 | 117 | <th class="check-column" scope="row"> |
118 | - <label for="cb-select-0" class="screen-reader-text"><?php esc_html_e( 'Enter a title to search for and press enter', 'lsx-wetu-importer' ); ?></label> |
|
118 | + <label for="cb-select-0" class="screen-reader-text"><?php esc_html_e('Enter a title to search for and press enter', 'lsx-wetu-importer'); ?></label> |
|
119 | 119 | </th> |
120 | 120 | <td class="post-title page-title column-title"> |
121 | 121 | <strong> |
122 | - <?php esc_html_e( 'Enter a title to search for', 'lsx-wetu-importer' ); ?> |
|
122 | + <?php esc_html_e('Enter a title to search for', 'lsx-wetu-importer'); ?> |
|
123 | 123 | </strong> |
124 | 124 | </td> |
125 | 125 | <td class="date column-date"> |
@@ -133,8 +133,8 @@ discard block |
||
133 | 133 | |
134 | 134 | </table> |
135 | 135 | |
136 | - <p><input class="button button-primary add" type="button" value="<?php esc_attr_e( 'Add to List', 'lsx-wetu-importer' ); ?>" /> |
|
137 | - <input class="button button-primary clear" type="button" value="<?php esc_attr_e( 'Clear', 'lsx-wetu-importer' ); ?>" /> |
|
136 | + <p><input class="button button-primary add" type="button" value="<?php esc_attr_e('Add to List', 'lsx-wetu-importer'); ?>" /> |
|
137 | + <input class="button button-primary clear" type="button" value="<?php esc_attr_e('Clear', 'lsx-wetu-importer'); ?>" /> |
|
138 | 138 | </p> |
139 | 139 | </form> |
140 | 140 | |
@@ -144,60 +144,60 @@ discard block |
||
144 | 144 | |
145 | 145 | <div class="row"> |
146 | 146 | <div class="settings-all" style="width:30%;display:block;float:left;"> |
147 | - <h3><?php esc_html_e( 'What content to Sync from WETU' ); ?></h3> |
|
147 | + <h3><?php esc_html_e('What content to Sync from WETU'); ?></h3> |
|
148 | 148 | <ul> |
149 | - <?php if ( isset( $this->options['disable_accommodation_descriptions'] ) && 'on' !== $this->options['disable_accommodation_descriptions'] ) { ?> |
|
150 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="description" /> <?php esc_html_e( 'Description', 'lsx-wetu-importer' ); ?></li> |
|
149 | + <?php if (isset($this->options['disable_accommodation_descriptions']) && 'on' !== $this->options['disable_accommodation_descriptions']) { ?> |
|
150 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="description" /> <?php esc_html_e('Description', 'lsx-wetu-importer'); ?></li> |
|
151 | 151 | <?php } ?> |
152 | - <?php if ( isset( $this->options['disable_accommodation_excerpts'] ) && 'on' !== $this->options['disable_accommodation_excerpts'] ) { ?> |
|
153 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="excerpt" /> <?php esc_html_e( 'Excerpt', 'lsx-wetu-importer' ); ?></li> |
|
152 | + <?php if (isset($this->options['disable_accommodation_excerpts']) && 'on' !== $this->options['disable_accommodation_excerpts']) { ?> |
|
153 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="excerpt" /> <?php esc_html_e('Excerpt', 'lsx-wetu-importer'); ?></li> |
|
154 | 154 | <?php } ?> |
155 | 155 | |
156 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="gallery" /> <?php esc_html_e( 'Main Gallery', 'lsx-wetu-importer' ); ?></li> |
|
157 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="category" /> <?php esc_html_e( 'Category', 'lsx-wetu-importer' ); ?></li> |
|
158 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="location" /> <?php esc_html_e( 'Location', 'lsx-wetu-importer' ); ?></li> |
|
156 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="gallery" /> <?php esc_html_e('Main Gallery', 'lsx-wetu-importer'); ?></li> |
|
157 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="category" /> <?php esc_html_e('Category', 'lsx-wetu-importer'); ?></li> |
|
158 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="location" /> <?php esc_html_e('Location', 'lsx-wetu-importer'); ?></li> |
|
159 | 159 | |
160 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="destination" /> <?php esc_html_e( 'Connect Destinations', 'lsx-wetu-importer' ); ?></li> |
|
161 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="rating" /> <?php esc_html_e( 'Rating', 'lsx-wetu-importer' ); ?></li> |
|
162 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="rooms" /> <?php esc_html_e( 'Rooms', 'lsx-wetu-importer' ); ?></li> |
|
160 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="destination" /> <?php esc_html_e('Connect Destinations', 'lsx-wetu-importer'); ?></li> |
|
161 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="rating" /> <?php esc_html_e('Rating', 'lsx-wetu-importer'); ?></li> |
|
162 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="rooms" /> <?php esc_html_e('Rooms', 'lsx-wetu-importer'); ?></li> |
|
163 | 163 | |
164 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="checkin" /> <?php esc_html_e( 'Check In / Check Out', 'lsx-wetu-importer' ); ?></li> |
|
165 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="facilities" /> <?php esc_html_e( 'Facilities', 'lsx-wetu-importer' ); ?></li> |
|
166 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="friendly" /> <?php esc_html_e( 'Friendly', 'lsx-wetu-importer' ); ?></li> |
|
164 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="checkin" /> <?php esc_html_e('Check In / Check Out', 'lsx-wetu-importer'); ?></li> |
|
165 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="facilities" /> <?php esc_html_e('Facilities', 'lsx-wetu-importer'); ?></li> |
|
166 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="friendly" /> <?php esc_html_e('Friendly', 'lsx-wetu-importer'); ?></li> |
|
167 | 167 | |
168 | 168 | |
169 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="special_interests" /> <?php esc_html_e( 'Special Interests', 'lsx-wetu-importer' ); ?></li> |
|
170 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="spoken_languages" /> <?php esc_html_e( 'Spoken Languages', 'lsx-wetu-importer' ); ?></li> |
|
169 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="special_interests" /> <?php esc_html_e('Special Interests', 'lsx-wetu-importer'); ?></li> |
|
170 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="spoken_languages" /> <?php esc_html_e('Spoken Languages', 'lsx-wetu-importer'); ?></li> |
|
171 | 171 | |
172 | - <?php if ( class_exists( 'LSX_TO_Videos' ) ) { ?> |
|
173 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="videos" /> <?php esc_html_e( 'Videos', 'lsx-wetu-importer' ); ?></li> |
|
172 | + <?php if (class_exists('LSX_TO_Videos')) { ?> |
|
173 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="videos" /> <?php esc_html_e('Videos', 'lsx-wetu-importer'); ?></li> |
|
174 | 174 | <?php } ?> |
175 | 175 | </ul> |
176 | - <h4><?php esc_html_e( 'Additional Content' ); ?></h4> |
|
176 | + <h4><?php esc_html_e('Additional Content'); ?></h4> |
|
177 | 177 | <ul> |
178 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="featured_image" /> <?php esc_html_e( 'Set Featured Image', 'lsx-wetu-importer' ); ?></li> |
|
179 | - <?php if ( class_exists( 'LSX_Banners' ) && ! isset( $this->accommodation_settings['disable_single'] ) ) { ?> |
|
180 | - <li><input class="content" checked="checked" type="checkbox" name="content[]" value="banner_image" /> <?php esc_html_e( 'Set Banner Image', 'lsx-wetu-importer' ); ?></li> |
|
178 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="featured_image" /> <?php esc_html_e('Set Featured Image', 'lsx-wetu-importer'); ?></li> |
|
179 | + <?php if (class_exists('LSX_Banners') && !isset($this->accommodation_settings['disable_single'])) { ?> |
|
180 | + <li><input class="content" checked="checked" type="checkbox" name="content[]" value="banner_image" /> <?php esc_html_e('Set Banner Image', 'lsx-wetu-importer'); ?></li> |
|
181 | 181 | <?php } ?> |
182 | 182 | </ul> |
183 | 183 | </div> |
184 | 184 | <div style="width:30%;display:block;float:left;"> |
185 | - <h3><?php esc_html_e( 'Assign a Team Member' ); ?></h3> |
|
186 | - <?php $this->team_member_checkboxes( $this->accommodation_options ); ?> |
|
185 | + <h3><?php esc_html_e('Assign a Team Member'); ?></h3> |
|
186 | + <?php $this->team_member_checkboxes($this->accommodation_options); ?> |
|
187 | 187 | </div> |
188 | 188 | |
189 | 189 | <div style="width:30%;display:block;float:left;"> |
190 | - <h3><?php esc_html_e( 'Assign a Safari Brand' ); ?></h3> |
|
190 | + <h3><?php esc_html_e('Assign a Safari Brand'); ?></h3> |
|
191 | 191 | <?php |
192 | - echo wp_kses_post( $this->taxonomy_checkboxes( 'accommodation-brand', $this->accommodation_options ) ); |
|
192 | + echo wp_kses_post($this->taxonomy_checkboxes('accommodation-brand', $this->accommodation_options)); |
|
193 | 193 | ?> |
194 | 194 | </div> |
195 | 195 | |
196 | 196 | <br clear="both" /> |
197 | 197 | </div> |
198 | 198 | |
199 | - <h3><?php esc_html_e( 'Your List' ); ?></h3> |
|
200 | - <p><input class="button button-primary" type="submit" value="<?php esc_attr_e( 'Sync', 'lsx-wetu-importer' ); ?>" /></p> |
|
199 | + <h3><?php esc_html_e('Your List'); ?></h3> |
|
200 | + <p><input class="button button-primary" type="submit" value="<?php esc_attr_e('Sync', 'lsx-wetu-importer'); ?>" /></p> |
|
201 | 201 | <table class="wp-list-table widefat fixed posts"> |
202 | 202 | <?php $this->table_header(); ?> |
203 | 203 | |
@@ -209,12 +209,12 @@ discard block |
||
209 | 209 | |
210 | 210 | </table> |
211 | 211 | |
212 | - <p><input class="button button-primary" type="submit" value="<?php esc_attr_e( 'Sync', 'lsx-wetu-importer' ); ?>" /></p> |
|
212 | + <p><input class="button button-primary" type="submit" value="<?php esc_attr_e('Sync', 'lsx-wetu-importer'); ?>" /></p> |
|
213 | 213 | </form> |
214 | 214 | </div> |
215 | 215 | |
216 | 216 | <div style="display:none;" class="completed-list-wrapper"> |
217 | - <h3><?php esc_html_e( 'Completed' ); ?> - <small><?php esc_html_e( 'Import your', 'lsx-wetu-importer' ); ?> <a href="<?php echo esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->plugin_slug ); ?>&tab=destination"><?php esc_html_e( 'destinations' ); ?></a> <?php esc_html_e( 'next', 'lsx-wetu-importer' ); ?></small></h3> |
|
217 | + <h3><?php esc_html_e('Completed'); ?> - <small><?php esc_html_e('Import your', 'lsx-wetu-importer'); ?> <a href="<?php echo esc_url(admin_url('admin.php')); ?>?page=<?php echo esc_attr($this->plugin_slug); ?>&tab=destination"><?php esc_html_e('destinations'); ?></a> <?php esc_html_e('next', 'lsx-wetu-importer'); ?></small></h3> |
|
218 | 218 | <ul> |
219 | 219 | </ul> |
220 | 220 | </div> |
@@ -227,115 +227,115 @@ discard block |
||
227 | 227 | */ |
228 | 228 | public function process_ajax_search() { |
229 | 229 | $return = false; |
230 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
231 | - if ( isset( $_POST['action'] ) && 'lsx_tour_importer' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] ) { |
|
230 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
231 | + if (isset($_POST['action']) && 'lsx_tour_importer' === $_POST['action'] && isset($_POST['type']) && 'accommodation' === $_POST['type']) { |
|
232 | 232 | |
233 | 233 | $searched_items = false; |
234 | - if ( isset( $_POST['keyword'] ) ) { |
|
235 | - $keyphrases = array_map( 'sanitize_text_field', wp_unslash( $_POST['keyword'] ) ); |
|
236 | - } else { |
|
237 | - $keyphrases = array( 0 ); |
|
234 | + if (isset($_POST['keyword'])) { |
|
235 | + $keyphrases = array_map('sanitize_text_field', wp_unslash($_POST['keyword'])); |
|
236 | + }else { |
|
237 | + $keyphrases = array(0); |
|
238 | 238 | } |
239 | 239 | |
240 | - if ( ! is_array( $keyphrases ) ) { |
|
241 | - $keyphrases = array( $keyphrases ); |
|
240 | + if (!is_array($keyphrases)) { |
|
241 | + $keyphrases = array($keyphrases); |
|
242 | 242 | } |
243 | - foreach ( $keyphrases as &$keyword ) { |
|
244 | - $keyword = ltrim( rtrim( $keyword ) ); |
|
243 | + foreach ($keyphrases as &$keyword) { |
|
244 | + $keyword = ltrim(rtrim($keyword)); |
|
245 | 245 | } |
246 | 246 | |
247 | 247 | $post_status = false; |
248 | 248 | |
249 | - if ( in_array( 'publish', $keyphrases ) ) { |
|
249 | + if (in_array('publish', $keyphrases)) { |
|
250 | 250 | $post_status = 'publish'; |
251 | 251 | } |
252 | - if ( in_array( 'pending', $keyphrases ) ) { |
|
252 | + if (in_array('pending', $keyphrases)) { |
|
253 | 253 | $post_status = 'pending'; |
254 | 254 | } |
255 | - if ( in_array( 'draft', $keyphrases ) ) { |
|
255 | + if (in_array('draft', $keyphrases)) { |
|
256 | 256 | $post_status = 'draft'; |
257 | 257 | } |
258 | - if ( in_array( 'import', $keyphrases ) ) { |
|
258 | + if (in_array('import', $keyphrases)) { |
|
259 | 259 | $post_status = 'import'; |
260 | 260 | } |
261 | 261 | |
262 | 262 | // If there is a post status use it. |
263 | - if ( false !== $post_status ) { |
|
263 | + if (false !== $post_status) { |
|
264 | 264 | |
265 | 265 | $accommodation = array(); |
266 | 266 | $current_accommodation = $this->find_current_accommodation(); |
267 | - if ( ! empty( $current_accommodation ) ) { |
|
268 | - foreach ( $current_accommodation as $cs_key => $ccs_id ) { |
|
269 | - $accommodation[] = $this->prepare_row_attributes( $cs_key, $ccs_id->post_id ); |
|
267 | + if (!empty($current_accommodation)) { |
|
268 | + foreach ($current_accommodation as $cs_key => $ccs_id) { |
|
269 | + $accommodation[] = $this->prepare_row_attributes($cs_key, $ccs_id->post_id); |
|
270 | 270 | } |
271 | 271 | } |
272 | 272 | |
273 | 273 | // Run through each accommodation and use it. |
274 | - if ( ! empty( $accommodation ) ) { |
|
275 | - foreach ( $accommodation as $row_key => $row ) { |
|
274 | + if (!empty($accommodation)) { |
|
275 | + foreach ($accommodation as $row_key => $row) { |
|
276 | 276 | $row['post_title'] = $row['name']; |
277 | - if ( 'import' === $post_status ) { |
|
278 | - if ( is_array( $this->queued_imports ) && in_array( $row['post_id'], $this->queued_imports ) ) { |
|
279 | - $current_status = get_post_status( $row['post_id'] ); |
|
280 | - if ( 'draft' === $current_status ) { |
|
281 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row ); |
|
277 | + if ('import' === $post_status) { |
|
278 | + if (is_array($this->queued_imports) && in_array($row['post_id'], $this->queued_imports)) { |
|
279 | + $current_status = get_post_status($row['post_id']); |
|
280 | + if ('draft' === $current_status) { |
|
281 | + $searched_items[sanitize_title($row['name']).'-'.$row['id']] = $this->format_row($row); |
|
282 | 282 | } |
283 | - } else { |
|
283 | + }else { |
|
284 | 284 | continue; |
285 | 285 | } |
286 | - } else { |
|
287 | - if ( 0 === $row['post_id'] ) { |
|
286 | + }else { |
|
287 | + if (0 === $row['post_id']) { |
|
288 | 288 | continue; |
289 | - } else { |
|
290 | - $current_status = get_post_status( $row['post_id'] ); |
|
291 | - if ( $current_status !== $post_status ) { |
|
289 | + }else { |
|
290 | + $current_status = get_post_status($row['post_id']); |
|
291 | + if ($current_status !== $post_status) { |
|
292 | 292 | continue; |
293 | 293 | } |
294 | 294 | } |
295 | - $searched_items[ sanitize_title( $row['name'] ) . '-' . $row['id'] ] = $this->format_row( $row, $row_key ); |
|
295 | + $searched_items[sanitize_title($row['name']).'-'.$row['id']] = $this->format_row($row, $row_key); |
|
296 | 296 | } |
297 | 297 | } |
298 | 298 | } |
299 | - } else { |
|
300 | - $key_string_search = implode( '+', $keyphrases ); |
|
301 | - $search_data = wp_remote_get( $this->url . '/Search/' . $key_string_search ); |
|
302 | - if ( ! empty( $search_data ) && isset( $search_data['response'] ) && isset( $search_data['response']['code'] ) && 200 === $search_data['response']['code'] ) { |
|
299 | + }else { |
|
300 | + $key_string_search = implode('+', $keyphrases); |
|
301 | + $search_data = wp_remote_get($this->url.'/Search/'.$key_string_search); |
|
302 | + if (!empty($search_data) && isset($search_data['response']) && isset($search_data['response']['code']) && 200 === $search_data['response']['code']) { |
|
303 | 303 | |
304 | - $search_data = json_decode( $search_data['body'], true ); |
|
305 | - foreach ( $search_data as $sdata_key => $sdata ) { |
|
304 | + $search_data = json_decode($search_data['body'], true); |
|
305 | + foreach ($search_data as $sdata_key => $sdata) { |
|
306 | 306 | |
307 | - if ( 'Destination' === trim( $sdata['type'] ) || 'Activity' === trim( $sdata['type'] ) || 'Restaurant' === trim( $sdata['type'] ) || 'None' === trim( $sdata['type'] ) || 'Site / Attraction' === trim( $sdata['type'] ) || '' === trim( $sdata['type'] ) ) { |
|
307 | + if ('Destination' === trim($sdata['type']) || 'Activity' === trim($sdata['type']) || 'Restaurant' === trim($sdata['type']) || 'None' === trim($sdata['type']) || 'Site / Attraction' === trim($sdata['type']) || '' === trim($sdata['type'])) { |
|
308 | 308 | continue; |
309 | 309 | } |
310 | 310 | |
311 | - $temp_id = $this->get_post_id_by_key_value( $sdata['id'] ); |
|
312 | - if ( false === $temp_id ) { |
|
311 | + $temp_id = $this->get_post_id_by_key_value($sdata['id']); |
|
312 | + if (false === $temp_id) { |
|
313 | 313 | $sdata['post_id'] = 0; |
314 | 314 | $sdata['post_title'] = $sdata['name']; |
315 | - } else { |
|
315 | + }else { |
|
316 | 316 | $sdata['post_id'] = $temp_id; |
317 | - $sdata['post_title'] = get_the_title( $temp_id ); |
|
317 | + $sdata['post_title'] = get_the_title($temp_id); |
|
318 | 318 | } |
319 | - $searched_items[ sanitize_title( $sdata['name'] ) . '-' . $sdata['id'] ] = $this->format_row( $sdata, $sdata_key ); |
|
319 | + $searched_items[sanitize_title($sdata['name']).'-'.$sdata['id']] = $this->format_row($sdata, $sdata_key); |
|
320 | 320 | } |
321 | 321 | } |
322 | 322 | } |
323 | 323 | |
324 | - if ( false !== $searched_items ) { |
|
325 | - $return = implode( $searched_items ); |
|
324 | + if (false !== $searched_items) { |
|
325 | + $return = implode($searched_items); |
|
326 | 326 | } |
327 | - print_r( $return ); |
|
327 | + print_r($return); |
|
328 | 328 | } |
329 | 329 | |
330 | 330 | die(); |
331 | 331 | } |
332 | 332 | |
333 | - public function prepare_row_attributes( $cs_key, $ccs_id ) { |
|
333 | + public function prepare_row_attributes($cs_key, $ccs_id) { |
|
334 | 334 | $row_item = array( |
335 | 335 | 'id' => $cs_key, |
336 | 336 | 'type' => 'Accommodation', |
337 | - 'name' => get_the_title( $ccs_id ), |
|
338 | - 'last_modified' => date( 'Y-m-d', strtotime( 'now' ) ), |
|
337 | + 'name' => get_the_title($ccs_id), |
|
338 | + 'last_modified' => date('Y-m-d', strtotime('now')), |
|
339 | 339 | 'post_id' => $ccs_id, |
340 | 340 | ); |
341 | 341 | return $row_item; |
@@ -347,31 +347,31 @@ discard block |
||
347 | 347 | * @param boolean $row the current row to format. |
348 | 348 | * @return void |
349 | 349 | */ |
350 | - public function format_row( $row = false, $row_key = '' ) { |
|
351 | - if ( false !== $row ) { |
|
350 | + public function format_row($row = false, $row_key = '') { |
|
351 | + if (false !== $row) { |
|
352 | 352 | |
353 | 353 | $status = 'import'; |
354 | - if ( 0 !== $row['post_id'] ) { |
|
355 | - $status = '<a href="' . admin_url( '/post.php?post=' . $row['post_id'] . '&action=edit' ) . '" target="_blank">' . get_post_status( $row['post_id'] ) . '</a>'; |
|
354 | + if (0 !== $row['post_id']) { |
|
355 | + $status = '<a href="'.admin_url('/post.php?post='.$row['post_id'].'&action=edit').'" target="_blank">'.get_post_status($row['post_id']).'</a>'; |
|
356 | 356 | } |
357 | 357 | |
358 | 358 | $row_html = ' |
359 | - <tr class="post-' . $row['post_id'] . ' type-tour" id="post-' . $row['post_id'] . '"> |
|
359 | + <tr class="post-' . $row['post_id'].' type-tour" id="post-'.$row['post_id'].'"> |
|
360 | 360 | <th class="check-column" scope="row"> |
361 | - <label for="cb-select-' . $row['id'] . '" class="screen-reader-text">' . $row['name'] . '</label> |
|
362 | - <input type="checkbox" data-identifier="' . $row['id'] . '" value="' . $row['post_id'] . '" name="post[]" id="cb-select-' . $row['id'] . '"> |
|
361 | + <label for="cb-select-' . $row['id'].'" class="screen-reader-text">'.$row['name'].'</label> |
|
362 | + <input type="checkbox" data-identifier="' . $row['id'].'" value="'.$row['post_id'].'" name="post[]" id="cb-select-'.$row['id'].'"> |
|
363 | 363 | </th> |
364 | 364 | <td class="column-order"> |
365 | - ' . ( $row_key + 1 ) . ' |
|
365 | + ' . ($row_key + 1).' |
|
366 | 366 | </td> |
367 | 367 | <td class="post-title page-title column-title"> |
368 | - <strong>' . $row['post_title'] . '</strong> - ' . $status . ' |
|
368 | + <strong>' . $row['post_title'].'</strong> - '.$status.' |
|
369 | 369 | </td> |
370 | 370 | <td class="date column-date"> |
371 | - <abbr title="' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '">' . date( 'Y/m/d', strtotime( $row['last_modified'] ) ) . '</abbr><br>Last Modified |
|
371 | + <abbr title="' . date('Y/m/d', strtotime($row['last_modified'])).'">'.date('Y/m/d', strtotime($row['last_modified'])).'</abbr><br>Last Modified |
|
372 | 372 | </td> |
373 | 373 | <td class="ssid column-ssid"> |
374 | - ' . $row['id'] . ' |
|
374 | + ' . $row['id'].' |
|
375 | 375 | </td> |
376 | 376 | </tr>'; |
377 | 377 | return $row_html; |
@@ -381,14 +381,14 @@ discard block |
||
381 | 381 | /** |
382 | 382 | * Saves the queue to the option. |
383 | 383 | */ |
384 | - public function remove_from_queue( $id ) { |
|
385 | - if ( ! empty( $this->queued_imports ) ) { |
|
386 | - $key = array_search( $id, $this->queued_imports ); |
|
387 | - if ( false !== $key ) { |
|
388 | - unset( $this->queued_imports[ $key ] ); |
|
384 | + public function remove_from_queue($id) { |
|
385 | + if (!empty($this->queued_imports)) { |
|
386 | + $key = array_search($id, $this->queued_imports); |
|
387 | + if (false !== $key) { |
|
388 | + unset($this->queued_imports[$key]); |
|
389 | 389 | |
390 | - delete_option( 'lsx_wetu_importer_que' ); |
|
391 | - update_option( 'lsx_wetu_importer_que', $this->queued_imports ); |
|
390 | + delete_option('lsx_wetu_importer_que'); |
|
391 | + update_option('lsx_wetu_importer_que', $this->queued_imports); |
|
392 | 392 | } |
393 | 393 | } |
394 | 394 | } |
@@ -398,47 +398,47 @@ discard block |
||
398 | 398 | */ |
399 | 399 | public function process_ajax_import() { |
400 | 400 | $return = false; |
401 | - check_ajax_referer( 'lsx_wetu_ajax_action', 'security' ); |
|
401 | + check_ajax_referer('lsx_wetu_ajax_action', 'security'); |
|
402 | 402 | |
403 | - if ( isset( $_POST['action'] ) && 'lsx_import_items' === $_POST['action'] && isset( $_POST['type'] ) && 'accommodation' === $_POST['type'] && isset( $_POST['wetu_id'] ) ) { |
|
403 | + if (isset($_POST['action']) && 'lsx_import_items' === $_POST['action'] && isset($_POST['type']) && 'accommodation' === $_POST['type'] && isset($_POST['wetu_id'])) { |
|
404 | 404 | |
405 | - $wetu_id = sanitize_text_field( $_POST['wetu_id'] ); |
|
406 | - if ( isset( $_POST['post_id'] ) ) { |
|
407 | - $post_id = sanitize_text_field( $_POST['post_id'] ); |
|
408 | - } else { |
|
405 | + $wetu_id = sanitize_text_field($_POST['wetu_id']); |
|
406 | + if (isset($_POST['post_id'])) { |
|
407 | + $post_id = sanitize_text_field($_POST['post_id']); |
|
408 | + }else { |
|
409 | 409 | $post_id = 0; |
410 | 410 | } |
411 | 411 | |
412 | - if ( isset( $_POST['team_members'] ) ) { |
|
413 | - $team_members = array_map( 'sanitize_text_field', wp_unslash( $_POST['team_members'] ) ); |
|
414 | - } else { |
|
412 | + if (isset($_POST['team_members'])) { |
|
413 | + $team_members = array_map('sanitize_text_field', wp_unslash($_POST['team_members'])); |
|
414 | + }else { |
|
415 | 415 | $team_members = false; |
416 | 416 | } |
417 | 417 | |
418 | - if ( isset( $_POST['safari_brands'] ) ) { |
|
419 | - $safari_brands = array_map( 'sanitize_text_field', wp_unslash( $_POST['safari_brands'] ) ); |
|
420 | - } else { |
|
418 | + if (isset($_POST['safari_brands'])) { |
|
419 | + $safari_brands = array_map('sanitize_text_field', wp_unslash($_POST['safari_brands'])); |
|
420 | + }else { |
|
421 | 421 | $safari_brands = false; |
422 | 422 | } |
423 | - delete_option( 'lsx_wetu_importer_accommodation_settings' ); |
|
423 | + delete_option('lsx_wetu_importer_accommodation_settings'); |
|
424 | 424 | |
425 | - if ( isset( $_POST['content'] ) && is_array( $_POST['content'] ) && ! empty( $_POST['content'] ) ) { |
|
426 | - $content = array_map( 'sanitize_text_field', wp_unslash( $_POST['content'] ) ); |
|
427 | - add_option( 'lsx_wetu_importer_accommodation_settings', $content ); |
|
428 | - } else { |
|
425 | + if (isset($_POST['content']) && is_array($_POST['content']) && !empty($_POST['content'])) { |
|
426 | + $content = array_map('sanitize_text_field', wp_unslash($_POST['content'])); |
|
427 | + add_option('lsx_wetu_importer_accommodation_settings', $content); |
|
428 | + }else { |
|
429 | 429 | $content = false; |
430 | 430 | } |
431 | 431 | |
432 | - $jdata = wp_remote_get( $this->url . '/Get?' . $this->url_qs . '&ids=' . $wetu_id ); |
|
432 | + $jdata = wp_remote_get($this->url.'/Get?'.$this->url_qs.'&ids='.$wetu_id); |
|
433 | 433 | |
434 | - if ( ! empty( $jdata ) && isset( $jdata['response'] ) && isset( $jdata['response']['code'] ) && 200 === $jdata['response']['code'] ) { |
|
435 | - $adata = json_decode( $jdata['body'], true ); |
|
436 | - $return = $this->import_row( $adata, $wetu_id, $post_id, $team_members, $content, $safari_brands ); |
|
437 | - $this->format_completed_row( $return ); |
|
438 | - $this->remove_from_queue( $return ); |
|
434 | + if (!empty($jdata) && isset($jdata['response']) && isset($jdata['response']['code']) && 200 === $jdata['response']['code']) { |
|
435 | + $adata = json_decode($jdata['body'], true); |
|
436 | + $return = $this->import_row($adata, $wetu_id, $post_id, $team_members, $content, $safari_brands); |
|
437 | + $this->format_completed_row($return); |
|
438 | + $this->remove_from_queue($return); |
|
439 | 439 | $this->cleanup_posts(); |
440 | - } else { |
|
441 | - $this->format_error( esc_html__( 'There was a problem importing your accommodation, please try refreshing the page.', 'lsx-wetu-importer' ) ); |
|
440 | + }else { |
|
441 | + $this->format_error(esc_html__('There was a problem importing your accommodation, please try refreshing the page.', 'lsx-wetu-importer')); |
|
442 | 442 | } |
443 | 443 | } |
444 | 444 | } |
@@ -446,7 +446,7 @@ discard block |
||
446 | 446 | /** |
447 | 447 | * Connect to wetu |
448 | 448 | */ |
449 | - public function import_row( $data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false ) { |
|
449 | + public function import_row($data, $wetu_id, $id = 0, $team_members = false, $importable_content = array(), $safari_brands = false) { |
|
450 | 450 | $post_name = ''; |
451 | 451 | $data_post_content = ''; |
452 | 452 | $data_post_excerpt = ''; |
@@ -457,142 +457,142 @@ discard block |
||
457 | 457 | $content_used_general_description = false; |
458 | 458 | |
459 | 459 | // Set the post_content. |
460 | - if ( ! empty( $importable_content ) && in_array( 'description', $importable_content ) ) { |
|
461 | - if ( isset( $data[0]['content']['extended_description'] ) ) { |
|
460 | + if (!empty($importable_content) && in_array('description', $importable_content)) { |
|
461 | + if (isset($data[0]['content']['extended_description'])) { |
|
462 | 462 | $data_post_content = $data[0]['content']['extended_description']; |
463 | - } elseif ( isset( $data[0]['content']['general_description'] ) ) { |
|
463 | + } elseif (isset($data[0]['content']['general_description'])) { |
|
464 | 464 | $data_post_content = $data[0]['content']['general_description']; |
465 | 465 | $content_used_general_description = true; |
466 | - } elseif ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
466 | + } elseif (isset($data[0]['content']['teaser_description'])) { |
|
467 | 467 | $data_post_content = $data[0]['content']['teaser_description']; |
468 | 468 | } |
469 | 469 | |
470 | - if ( isset( $this->options['disable_accommodation_filtering'] ) && 'on' === $this->options['disable_accommodation_filtering'] ) { |
|
470 | + if (isset($this->options['disable_accommodation_filtering']) && 'on' === $this->options['disable_accommodation_filtering']) { |
|
471 | 471 | $post['post_content'] = $data_post_content; |
472 | - } else { |
|
473 | - $post['post_content'] = wp_strip_all_tags( $data_post_content ); |
|
472 | + }else { |
|
473 | + $post['post_content'] = wp_strip_all_tags($data_post_content); |
|
474 | 474 | } |
475 | 475 | } |
476 | 476 | |
477 | 477 | // set the post_excerpt. |
478 | - if ( ! empty( $importable_content ) && in_array( 'excerpt', $importable_content ) ) { |
|
479 | - if ( isset( $data[0]['content']['teaser_description'] ) ) { |
|
478 | + if (!empty($importable_content) && in_array('excerpt', $importable_content)) { |
|
479 | + if (isset($data[0]['content']['teaser_description'])) { |
|
480 | 480 | $data_post_excerpt = $data[0]['content']['teaser_description']; |
481 | - } elseif ( isset( $data[0]['content']['general_description'] ) && false === $content_used_general_description ) { |
|
481 | + } elseif (isset($data[0]['content']['general_description']) && false === $content_used_general_description) { |
|
482 | 482 | $data_post_excerpt = $data[0]['content']['general_description']; |
483 | 483 | } |
484 | 484 | |
485 | 485 | $post['post_excerpt'] = $data_post_excerpt; |
486 | 486 | } |
487 | 487 | |
488 | - if ( false !== $id && '0' !== $id ) { |
|
488 | + if (false !== $id && '0' !== $id) { |
|
489 | 489 | $post['ID'] = $id; |
490 | 490 | |
491 | - if ( isset( $this->options ) && 'on' !== $this->options['disable_accommodation_title'] && isset( $data[0]['name'] ) ) { |
|
491 | + if (isset($this->options) && 'on' !== $this->options['disable_accommodation_title'] && isset($data[0]['name'])) { |
|
492 | 492 | $post['post_title'] = $data[0]['name']; |
493 | - $post['post_name'] = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
493 | + $post['post_name'] = wp_unique_post_slug(sanitize_title($data[0]['name']), $id, 'draft', 'accommodation', 0); |
|
494 | 494 | } |
495 | 495 | |
496 | 496 | $post['post_status'] = 'publish'; |
497 | 497 | |
498 | - $id = wp_update_post( $post ); |
|
499 | - $prev_date = get_post_meta( $id, 'lsx_wetu_modified_date', true ); |
|
500 | - update_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ), $prev_date ); |
|
501 | - } else { |
|
498 | + $id = wp_update_post($post); |
|
499 | + $prev_date = get_post_meta($id, 'lsx_wetu_modified_date', true); |
|
500 | + update_post_meta($id, 'lsx_wetu_modified_date', strtotime($data[0]['last_modified']), $prev_date); |
|
501 | + }else { |
|
502 | 502 | // Set the name. |
503 | - if ( isset( $data[0]['name'] ) ) { |
|
504 | - $post_name = wp_unique_post_slug( sanitize_title( $data[0]['name'] ), $id, 'draft', 'accommodation', 0 ); |
|
503 | + if (isset($data[0]['name'])) { |
|
504 | + $post_name = wp_unique_post_slug(sanitize_title($data[0]['name']), $id, 'draft', 'accommodation', 0); |
|
505 | 505 | } |
506 | 506 | |
507 | 507 | $post['post_name'] = $post_name; |
508 | 508 | $post['post_title'] = $data[0]['name']; |
509 | 509 | $post['post_status'] = 'publish'; |
510 | - $id = wp_insert_post( $post ); |
|
510 | + $id = wp_insert_post($post); |
|
511 | 511 | |
512 | 512 | // Save the WETU ID and the Last date it was modified. |
513 | - if ( false !== $id ) { |
|
514 | - add_post_meta( $id, 'lsx_wetu_id', $wetu_id ); |
|
515 | - add_post_meta( $id, 'lsx_wetu_modified_date', strtotime( $data[0]['last_modified'] ) ); |
|
513 | + if (false !== $id) { |
|
514 | + add_post_meta($id, 'lsx_wetu_id', $wetu_id); |
|
515 | + add_post_meta($id, 'lsx_wetu_modified_date', strtotime($data[0]['last_modified'])); |
|
516 | 516 | } |
517 | 517 | } |
518 | 518 | |
519 | 519 | // Setup some default for use in the import. |
520 | - if ( false !== $importable_content && ( in_array( 'gallery', $importable_content ) || in_array( 'banner_image', $importable_content ) || in_array( 'featured_image', $importable_content ) ) ) { |
|
521 | - $this->find_attachments( $id ); |
|
520 | + if (false !== $importable_content && (in_array('gallery', $importable_content) || in_array('banner_image', $importable_content) || in_array('featured_image', $importable_content))) { |
|
521 | + $this->find_attachments($id); |
|
522 | 522 | } |
523 | 523 | |
524 | 524 | // Set the team member if it is there. |
525 | - if ( post_type_exists( 'team' ) && false !== $team_members && '' !== $team_members ) { |
|
526 | - $this->set_team_member( $id, $team_members ); |
|
525 | + if (post_type_exists('team') && false !== $team_members && '' !== $team_members) { |
|
526 | + $this->set_team_member($id, $team_members); |
|
527 | 527 | } |
528 | 528 | |
529 | 529 | // Set the safari brand. |
530 | - if ( false !== $safari_brands && '' !== $safari_brands ) { |
|
531 | - $this->set_safari_brands( $id, $safari_brands ); |
|
530 | + if (false !== $safari_brands && '' !== $safari_brands) { |
|
531 | + $this->set_safari_brands($id, $safari_brands); |
|
532 | 532 | } |
533 | 533 | |
534 | - $this->set_map_data( $data, $id, 9 ); |
|
534 | + $this->set_map_data($data, $id, 9); |
|
535 | 535 | |
536 | - if ( post_type_exists( 'destination' ) && false !== $importable_content && in_array( 'destination', $importable_content ) ) { |
|
537 | - $this->connect_destinations( $data, $id ); |
|
536 | + if (post_type_exists('destination') && false !== $importable_content && in_array('destination', $importable_content)) { |
|
537 | + $this->connect_destinations($data, $id); |
|
538 | 538 | } |
539 | 539 | |
540 | - if ( false !== $importable_content && in_array( 'category', $importable_content ) ) { |
|
541 | - $this->set_taxonomy_style( $data, $id ); |
|
540 | + if (false !== $importable_content && in_array('category', $importable_content)) { |
|
541 | + $this->set_taxonomy_style($data, $id); |
|
542 | 542 | } |
543 | 543 | |
544 | 544 | // Set the Room Data. |
545 | - if ( false !== $importable_content && in_array( 'rooms', $importable_content ) ) { |
|
546 | - $this->set_room_data( $data, $id ); |
|
545 | + if (false !== $importable_content && in_array('rooms', $importable_content)) { |
|
546 | + $this->set_room_data($data, $id); |
|
547 | 547 | } |
548 | 548 | |
549 | 549 | // Set the rating. |
550 | - if ( false !== $importable_content && in_array( 'rating', $importable_content ) ) { |
|
551 | - $this->set_rating( $data, $id ); |
|
550 | + if (false !== $importable_content && in_array('rating', $importable_content)) { |
|
551 | + $this->set_rating($data, $id); |
|
552 | 552 | } |
553 | 553 | |
554 | 554 | // Set the checkin checkout data. |
555 | - if ( false !== $importable_content && in_array( 'checkin', $importable_content ) ) { |
|
556 | - $this->set_checkin_checkout( $data, $id ); |
|
555 | + if (false !== $importable_content && in_array('checkin', $importable_content)) { |
|
556 | + $this->set_checkin_checkout($data, $id); |
|
557 | 557 | } |
558 | 558 | |
559 | 559 | // Set the Spoken Languages. |
560 | - if ( false !== $importable_content && in_array( 'spoken_languages', $importable_content ) ) { |
|
561 | - $this->set_spoken_languages( $data, $id ); |
|
560 | + if (false !== $importable_content && in_array('spoken_languages', $importable_content)) { |
|
561 | + $this->set_spoken_languages($data, $id); |
|
562 | 562 | } |
563 | 563 | |
564 | 564 | // Set the friendly options. |
565 | - if ( false !== $importable_content && in_array( 'friendly', $importable_content ) ) { |
|
566 | - $this->set_friendly( $data, $id ); |
|
565 | + if (false !== $importable_content && in_array('friendly', $importable_content)) { |
|
566 | + $this->set_friendly($data, $id); |
|
567 | 567 | } |
568 | 568 | |
569 | 569 | // Set the special_interests. |
570 | - if ( false !== $importable_content && in_array( 'special_interests', $importable_content ) ) { |
|
571 | - $this->set_special_interests( $data, $id ); |
|
570 | + if (false !== $importable_content && in_array('special_interests', $importable_content)) { |
|
571 | + $this->set_special_interests($data, $id); |
|
572 | 572 | } |
573 | 573 | |
574 | 574 | // Import the videos. |
575 | - if ( false !== $importable_content && in_array( 'videos', $importable_content ) ) { |
|
576 | - $this->set_video_data( $data, $id ); |
|
575 | + if (false !== $importable_content && in_array('videos', $importable_content)) { |
|
576 | + $this->set_video_data($data, $id); |
|
577 | 577 | } |
578 | 578 | |
579 | 579 | // Import the facilities. |
580 | - if ( false !== $importable_content && in_array( 'facilities', $importable_content ) ) { |
|
581 | - $this->set_facilities( $data, $id ); |
|
580 | + if (false !== $importable_content && in_array('facilities', $importable_content)) { |
|
581 | + $this->set_facilities($data, $id); |
|
582 | 582 | } |
583 | 583 | |
584 | 584 | // Set the featured image. |
585 | - if ( false !== $importable_content && in_array( 'featured_image', $importable_content ) ) { |
|
586 | - $this->set_featured_image( $data, $id ); |
|
585 | + if (false !== $importable_content && in_array('featured_image', $importable_content)) { |
|
586 | + $this->set_featured_image($data, $id); |
|
587 | 587 | } |
588 | 588 | |
589 | - if ( false !== $importable_content && in_array( 'banner_image', $importable_content ) ) { |
|
590 | - $this->set_banner_image( $data, $id ); |
|
589 | + if (false !== $importable_content && in_array('banner_image', $importable_content)) { |
|
590 | + $this->set_banner_image($data, $id); |
|
591 | 591 | } |
592 | 592 | |
593 | 593 | // Import the main gallery. |
594 | - if ( false !== $importable_content && in_array( 'gallery', $importable_content ) ) { |
|
595 | - $this->create_main_gallery( $data, $id ); |
|
594 | + if (false !== $importable_content && in_array('gallery', $importable_content)) { |
|
595 | + $this->create_main_gallery($data, $id); |
|
596 | 596 | } |
597 | 597 | |
598 | 598 | return $id; |
@@ -601,44 +601,44 @@ discard block |
||
601 | 601 | /** |
602 | 602 | * Set the safari brand |
603 | 603 | */ |
604 | - public function set_safari_brands( $id, $safari_brands ) { |
|
605 | - foreach ( $safari_brands as $safari_brand ) { |
|
606 | - wp_set_object_terms( $id, intval( $safari_brand ), 'accommodation-brand', true ); |
|
604 | + public function set_safari_brands($id, $safari_brands) { |
|
605 | + foreach ($safari_brands as $safari_brand) { |
|
606 | + wp_set_object_terms($id, intval($safari_brand), 'accommodation-brand', true); |
|
607 | 607 | } |
608 | 608 | } |
609 | 609 | |
610 | 610 | /** |
611 | 611 | * Connects the destinations post type |
612 | 612 | */ |
613 | - public function connect_destinations( $data, $id ) { |
|
614 | - if ( isset( $data[0]['position'] ) ) { |
|
613 | + public function connect_destinations($data, $id) { |
|
614 | + if (isset($data[0]['position'])) { |
|
615 | 615 | $destinations = false; |
616 | 616 | |
617 | - if ( isset( $data[0]['position']['country'] ) ) { |
|
617 | + if (isset($data[0]['position']['country'])) { |
|
618 | 618 | $destinations['country'] = $data[0]['position']['country']; |
619 | 619 | } |
620 | 620 | |
621 | - if ( isset( $data[0]['position']['destination'] ) ) { |
|
621 | + if (isset($data[0]['position']['destination'])) { |
|
622 | 622 | $destinations['destination'] = $data[0]['position']['destination']; |
623 | 623 | } |
624 | 624 | |
625 | - if ( false !== $destinations ) { |
|
626 | - $prev_values = get_post_meta( $id, 'destination_to_accommodation', false ); |
|
625 | + if (false !== $destinations) { |
|
626 | + $prev_values = get_post_meta($id, 'destination_to_accommodation', false); |
|
627 | 627 | |
628 | - if ( false === $prev_values || ! is_array( $prev_values ) ) { |
|
628 | + if (false === $prev_values || !is_array($prev_values)) { |
|
629 | 629 | $prev_values = array(); |
630 | 630 | } |
631 | 631 | |
632 | - delete_post_meta( $id, 'destination_to_accommodation', $prev_values ); |
|
633 | - $destinations = array_unique( $destinations ); |
|
632 | + delete_post_meta($id, 'destination_to_accommodation', $prev_values); |
|
633 | + $destinations = array_unique($destinations); |
|
634 | 634 | |
635 | - foreach ( $destinations as $key => $value ) { |
|
636 | - $destination = get_page_by_title( ltrim( rtrim( $value ) ), 'OBJECT', 'destination' ); |
|
637 | - if ( null !== $destination ) { |
|
638 | - if ( ! in_array( $destination->ID, $prev_values ) ) { |
|
639 | - add_post_meta( $id, 'destination_to_accommodation', $destination->ID, false ); |
|
640 | - add_post_meta( $destination->ID, 'accommodation_to_destination', $id, false ); |
|
641 | - $this->cleanup_posts[ $destination->ID ] = 'accommodation_to_destination'; |
|
635 | + foreach ($destinations as $key => $value) { |
|
636 | + $destination = get_page_by_title(ltrim(rtrim($value)), 'OBJECT', 'destination'); |
|
637 | + if (null !== $destination) { |
|
638 | + if (!in_array($destination->ID, $prev_values)) { |
|
639 | + add_post_meta($id, 'destination_to_accommodation', $destination->ID, false); |
|
640 | + add_post_meta($destination->ID, 'accommodation_to_destination', $id, false); |
|
641 | + $this->cleanup_posts[$destination->ID] = 'accommodation_to_destination'; |
|
642 | 642 | } |
643 | 643 | } |
644 | 644 | } |
@@ -649,72 +649,72 @@ discard block |
||
649 | 649 | /** |
650 | 650 | * Set the Travel Style |
651 | 651 | */ |
652 | - public function set_taxonomy_style( $data, $id ) { |
|
652 | + public function set_taxonomy_style($data, $id) { |
|
653 | 653 | $terms = false; |
654 | 654 | |
655 | - if ( isset( $data[0]['category'] ) ) { |
|
656 | - $term = term_exists( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
657 | - if ( ! $term ) { |
|
658 | - $term = wp_insert_term( trim( $data[0]['category'] ), 'accommodation-type' ); |
|
655 | + if (isset($data[0]['category'])) { |
|
656 | + $term = term_exists(trim($data[0]['category']), 'accommodation-type'); |
|
657 | + if (!$term) { |
|
658 | + $term = wp_insert_term(trim($data[0]['category']), 'accommodation-type'); |
|
659 | 659 | |
660 | - if ( is_wp_error( $term ) ) { |
|
661 | - echo wp_kses_post( $term->get_error_message() ); |
|
660 | + if (is_wp_error($term)) { |
|
661 | + echo wp_kses_post($term->get_error_message()); |
|
662 | 662 | } |
663 | - } else { |
|
664 | - wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
663 | + }else { |
|
664 | + wp_set_object_terms($id, intval($term['term_id']), 'accommodation-type', true); |
|
665 | 665 | } |
666 | - } else { |
|
667 | - wp_set_object_terms( $id, intval( $term['term_id'] ), 'accommodation-type', true ); |
|
666 | + }else { |
|
667 | + wp_set_object_terms($id, intval($term['term_id']), 'accommodation-type', true); |
|
668 | 668 | } |
669 | 669 | } |
670 | 670 | |
671 | 671 | /** |
672 | 672 | * Saves the room data |
673 | 673 | */ |
674 | - public function set_room_data( $data, $id ) { |
|
675 | - if ( ! empty( $data[0]['rooms'] ) && is_array( $data[0]['rooms'] ) ) { |
|
674 | + public function set_room_data($data, $id) { |
|
675 | + if (!empty($data[0]['rooms']) && is_array($data[0]['rooms'])) { |
|
676 | 676 | $rooms = false; |
677 | 677 | |
678 | - foreach ( $data[0]['rooms'] as $room ) { |
|
678 | + foreach ($data[0]['rooms'] as $room) { |
|
679 | 679 | $temp_room = array(); |
680 | 680 | |
681 | - if ( isset( $room['name'] ) ) { |
|
681 | + if (isset($room['name'])) { |
|
682 | 682 | $temp_room['title'] = $room['name']; |
683 | 683 | } |
684 | 684 | |
685 | - if ( isset( $room['description'] ) ) { |
|
686 | - $temp_room['description'] = strip_tags( $room['description'] ); |
|
685 | + if (isset($room['description'])) { |
|
686 | + $temp_room['description'] = strip_tags($room['description']); |
|
687 | 687 | } |
688 | 688 | |
689 | 689 | $temp_room['price'] = 0; |
690 | 690 | $temp_room['type'] = 'room'; |
691 | 691 | |
692 | - if ( ! empty( $room['images'] ) && is_array( $room['images'] ) ) { |
|
692 | + if (!empty($room['images']) && is_array($room['images'])) { |
|
693 | 693 | $temp_room['gallery'] = array(); |
694 | - $temp_room['gallery'][] = $this->attach_image( $room['images'][0], $id ); |
|
694 | + $temp_room['gallery'][] = $this->attach_image($room['images'][0], $id); |
|
695 | 695 | } |
696 | 696 | $rooms[] = $temp_room; |
697 | 697 | } |
698 | 698 | |
699 | - if ( false !== $id && '0' !== $id ) { |
|
700 | - delete_post_meta( $id, 'units' ); |
|
699 | + if (false !== $id && '0' !== $id) { |
|
700 | + delete_post_meta($id, 'units'); |
|
701 | 701 | } |
702 | 702 | |
703 | - foreach ( $rooms as $room ) { |
|
704 | - add_post_meta( $id, 'units', $room, false ); |
|
703 | + foreach ($rooms as $room) { |
|
704 | + add_post_meta($id, 'units', $room, false); |
|
705 | 705 | } |
706 | 706 | |
707 | - if ( isset( $data[0]['features'] ) && isset( $data[0]['features']['rooms'] ) ) { |
|
707 | + if (isset($data[0]['features']) && isset($data[0]['features']['rooms'])) { |
|
708 | 708 | $room_count = $data[0]['features']['rooms']; |
709 | - } else { |
|
710 | - $room_count = count( $data[0]['rooms'] ); |
|
709 | + }else { |
|
710 | + $room_count = count($data[0]['rooms']); |
|
711 | 711 | } |
712 | 712 | |
713 | - if ( false !== $id && '0' !== $id ) { |
|
714 | - $prev_rooms = get_post_meta( $id, 'number_of_rooms', true ); |
|
715 | - update_post_meta( $id, 'number_of_rooms', $room_count, $prev_rooms ); |
|
716 | - } else { |
|
717 | - add_post_meta( $id, 'number_of_rooms', $room_count, true ); |
|
713 | + if (false !== $id && '0' !== $id) { |
|
714 | + $prev_rooms = get_post_meta($id, 'number_of_rooms', true); |
|
715 | + update_post_meta($id, 'number_of_rooms', $room_count, $prev_rooms); |
|
716 | + }else { |
|
717 | + add_post_meta($id, 'number_of_rooms', $room_count, true); |
|
718 | 718 | } |
719 | 719 | } |
720 | 720 | } |
@@ -722,33 +722,33 @@ discard block |
||
722 | 722 | /** |
723 | 723 | * Set the ratings |
724 | 724 | */ |
725 | - public function set_rating( $data, $id ) { |
|
726 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['star_authority'] ) ) { |
|
725 | + public function set_rating($data, $id) { |
|
726 | + if (!empty($data[0]['features']) && isset($data[0]['features']['star_authority'])) { |
|
727 | 727 | $rating_type = $data[0]['features']['star_authority']; |
728 | - } else { |
|
728 | + }else { |
|
729 | 729 | $rating_type = 'Unspecified2'; |
730 | 730 | } |
731 | 731 | |
732 | - $this->save_custom_field( $rating_type, 'rating_type', $id ); |
|
732 | + $this->save_custom_field($rating_type, 'rating_type', $id); |
|
733 | 733 | |
734 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['stars'] ) ) { |
|
735 | - $this->save_custom_field( $data[0]['features']['stars'], 'rating', $id, true ); |
|
734 | + if (!empty($data[0]['features']) && isset($data[0]['features']['stars'])) { |
|
735 | + $this->save_custom_field($data[0]['features']['stars'], 'rating', $id, true); |
|
736 | 736 | } |
737 | 737 | } |
738 | 738 | |
739 | 739 | /** |
740 | 740 | * Set the spoken_languages |
741 | 741 | */ |
742 | - public function set_spoken_languages( $data, $id ) { |
|
743 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['spoken_languages'] ) && ! empty( $data[0]['features']['spoken_languages'] ) ) { |
|
742 | + public function set_spoken_languages($data, $id) { |
|
743 | + if (!empty($data[0]['features']) && isset($data[0]['features']['spoken_languages']) && !empty($data[0]['features']['spoken_languages'])) { |
|
744 | 744 | $languages = false; |
745 | 745 | |
746 | - foreach ( $data[0]['features']['spoken_languages'] as $spoken_language ) { |
|
747 | - $languages[] = sanitize_title( $spoken_language ); |
|
746 | + foreach ($data[0]['features']['spoken_languages'] as $spoken_language) { |
|
747 | + $languages[] = sanitize_title($spoken_language); |
|
748 | 748 | } |
749 | 749 | |
750 | - if ( false !== $languages ) { |
|
751 | - $this->save_custom_field( $languages, 'spoken_languages', $id ); |
|
750 | + if (false !== $languages) { |
|
751 | + $this->save_custom_field($languages, 'spoken_languages', $id); |
|
752 | 752 | } |
753 | 753 | } |
754 | 754 | } |
@@ -756,16 +756,16 @@ discard block |
||
756 | 756 | /** |
757 | 757 | * Set the friendly |
758 | 758 | */ |
759 | - public function set_friendly( $data, $id ) { |
|
760 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['suggested_visitor_types'] ) && ! empty( $data[0]['features']['suggested_visitor_types'] ) ) { |
|
759 | + public function set_friendly($data, $id) { |
|
760 | + if (!empty($data[0]['features']) && isset($data[0]['features']['suggested_visitor_types']) && !empty($data[0]['features']['suggested_visitor_types'])) { |
|
761 | 761 | $friendly_options = false; |
762 | 762 | |
763 | - foreach ( $data[0]['features']['suggested_visitor_types'] as $visitor_type ) { |
|
764 | - $friendly_options[] = sanitize_title( $visitor_type ); |
|
763 | + foreach ($data[0]['features']['suggested_visitor_types'] as $visitor_type) { |
|
764 | + $friendly_options[] = sanitize_title($visitor_type); |
|
765 | 765 | } |
766 | 766 | |
767 | - if ( false !== $friendly_options ) { |
|
768 | - $this->save_custom_field( $friendly_options, 'suggested_visitor_types', $id ); |
|
767 | + if (false !== $friendly_options) { |
|
768 | + $this->save_custom_field($friendly_options, 'suggested_visitor_types', $id); |
|
769 | 769 | } |
770 | 770 | } |
771 | 771 | } |
@@ -773,16 +773,16 @@ discard block |
||
773 | 773 | /** |
774 | 774 | * Set the special interests |
775 | 775 | */ |
776 | - public function set_special_interests( $data, $id ) { |
|
777 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['special_interests'] ) && ! empty( $data[0]['features']['special_interests'] ) ) { |
|
776 | + public function set_special_interests($data, $id) { |
|
777 | + if (!empty($data[0]['features']) && isset($data[0]['features']['special_interests']) && !empty($data[0]['features']['special_interests'])) { |
|
778 | 778 | $interests = false; |
779 | 779 | |
780 | - foreach ( $data[0]['features']['special_interests'] as $special_interest ) { |
|
781 | - $interests[] = sanitize_title( $special_interest ); |
|
780 | + foreach ($data[0]['features']['special_interests'] as $special_interest) { |
|
781 | + $interests[] = sanitize_title($special_interest); |
|
782 | 782 | } |
783 | 783 | |
784 | - if ( false !== $interests ) { |
|
785 | - $this->save_custom_field( $interests, 'special_interests', $id ); |
|
784 | + if (false !== $interests) { |
|
785 | + $this->save_custom_field($interests, 'special_interests', $id); |
|
786 | 786 | } |
787 | 787 | } |
788 | 788 | } |
@@ -790,24 +790,24 @@ discard block |
||
790 | 790 | /** |
791 | 791 | * Set the Check in and Check out Date |
792 | 792 | */ |
793 | - public function set_checkin_checkout( $data, $id ) { |
|
794 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_in_time'] ) ) { |
|
795 | - $time = str_replace( 'h', ':', $data[0]['features']['check_in_time'] ); |
|
796 | - $time = date( 'h:ia', strtotime( $time ) ); |
|
797 | - $this->save_custom_field( $time, 'checkin_time', $id ); |
|
793 | + public function set_checkin_checkout($data, $id) { |
|
794 | + if (!empty($data[0]['features']) && isset($data[0]['features']['check_in_time'])) { |
|
795 | + $time = str_replace('h', ':', $data[0]['features']['check_in_time']); |
|
796 | + $time = date('h:ia', strtotime($time)); |
|
797 | + $this->save_custom_field($time, 'checkin_time', $id); |
|
798 | 798 | } |
799 | 799 | |
800 | - if ( ! empty( $data[0]['features'] ) && isset( $data[0]['features']['check_out_time'] ) ) { |
|
801 | - $time = str_replace( 'h', ':', $data[0]['features']['check_out_time'] ); |
|
802 | - $time = date( 'h:ia', strtotime( $time ) ); |
|
803 | - $this->save_custom_field( $time, 'checkout_time', $id ); |
|
800 | + if (!empty($data[0]['features']) && isset($data[0]['features']['check_out_time'])) { |
|
801 | + $time = str_replace('h', ':', $data[0]['features']['check_out_time']); |
|
802 | + $time = date('h:ia', strtotime($time)); |
|
803 | + $this->save_custom_field($time, 'checkout_time', $id); |
|
804 | 804 | } |
805 | 805 | } |
806 | 806 | |
807 | 807 | /** |
808 | 808 | * Set the Facilities |
809 | 809 | */ |
810 | - public function set_facilities( $data, $id ) { |
|
810 | + public function set_facilities($data, $id) { |
|
811 | 811 | $parent_facilities = array( |
812 | 812 | 'available_services' => 'Available Services', |
813 | 813 | 'property_facilities' => 'Property Facilities', |
@@ -815,15 +815,15 @@ discard block |
||
815 | 815 | 'activities_on_site' => 'Activities on Site', |
816 | 816 | ); |
817 | 817 | |
818 | - foreach ( $parent_facilities as $key => $label ) { |
|
818 | + foreach ($parent_facilities as $key => $label) { |
|
819 | 819 | $terms = false; |
820 | 820 | |
821 | - if ( isset( $data[0]['features'] ) && isset( $data[0]['features'][ $key ] ) ) { |
|
822 | - $parent_id = $this->set_term( $id, $label, 'facility' ); |
|
821 | + if (isset($data[0]['features']) && isset($data[0]['features'][$key])) { |
|
822 | + $parent_id = $this->set_term($id, $label, 'facility'); |
|
823 | 823 | } |
824 | 824 | |
825 | - foreach ( $data[0]['features'][ $key ] as $child_facility ) { |
|
826 | - $this->set_term( $id, $child_facility, 'facility', $parent_id ); |
|
825 | + foreach ($data[0]['features'][$key] as $child_facility) { |
|
826 | + $this->set_term($id, $child_facility, 'facility', $parent_id); |
|
827 | 827 | } |
828 | 828 | } |
829 | 829 | } |