Changeset 2283003
- Timestamp:
- 04/14/2020 09:20:43 AM (6 years ago)
- Location:
- wp-soundsystem/trunk
- Files:
-
- 3 edited
-
readme.txt (modified) (1 diff)
-
wp-soundsystem.php (modified) (2 diffs)
-
wpsstm-core-tracks.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wp-soundsystem/trunk/readme.txt
r2282204 r2283003 142 142 143 143 == Changelog == 144 145 = 3.2.9 = 146 * bugfix playlist manager was broken 144 147 145 148 = 3.2.8 = -
wp-soundsystem/trunk/wp-soundsystem.php
r2282204 r2283003 6 6 Author: G.Breant 7 7 Author URI: https://profiles.wordpress.org/grosbouff/#content-plugins 8 Version: 3.2. 88 Version: 3.2.9 9 9 License: GPL2 10 10 */ … … 37 37 * @public string plugin version 38 38 */ 39 public $version = '3.2. 8';39 public $version = '3.2.9'; 40 40 /** 41 41 * @public string plugin DB version -
wp-soundsystem/trunk/wpsstm-core-tracks.php
r2249711 r2283003 181 181 182 182 function handle_manager_action(){ 183 global $wpsstm_track; 184 $success = null; 185 186 if ( !$subtrack_id = get_query_var( 'subtrack_id' ) ) return; 187 if ( 'manage' !== get_query_var( 'wpsstm_action' ) ) return; //action does not exist 188 189 $manager_action = wpsstm_get_array_value(array('wpsstm_manager_action'),$_REQUEST); 190 $manager_data = wpsstm_get_array_value(array('wpsstm_manager_data'),$_REQUEST); 191 192 193 switch ($manager_action){ 194 case 'toggle_tracklists': 195 196 $checked_tracklists = wpsstm_get_array_value(array('new_tids'),$manager_data); 197 $previous_values = wpsstm_get_array_value(array('old_tids'),$manager_data); 198 $edit_values = array(); 199 200 if (!$previous_values) break; //no range to compare to 201 202 //use bool values instead of strings 203 foreach((array)$previous_values as $key => $value){ 204 $previous_values[$key] = ($value === '1') ? true : false; 205 } 206 207 foreach((array)$checked_tracklists as $key => $value){ 208 $checked_tracklists[$key] = true; 209 } 210 211 //build an array containing the tracklists IDs that have been updated 212 foreach((array)$previous_values as $key => $value){ 213 if ( $value && !array_key_exists($key,$checked_tracklists) ){//item has been unchecked 214 $edit_values[$key] = false; 215 }elseif ( !$value && array_key_exists($key,$checked_tracklists) ){//item has been checked 216 $edit_values[$key] = true; 217 } 218 } 219 220 //process changed values 221 if ($edit_values){ 222 223 foreach($edit_values as $tracklist_id => $is_child){ 224 225 $tracklist = new WPSSTM_Post_Tracklist($tracklist_id); 226 227 if ($is_child){ 228 $success = $tracklist->queue_track($wpsstm_track); 229 }else{ 230 $success = $tracklist->dequeue_track($wpsstm_track); 231 } 232 233 if ( is_wp_error($success) ){ 234 break; //break at first error 235 } 236 } 237 238 } 239 240 241 242 break; 243 244 case 'new_tracklist': 245 $tracklist_title = wpsstm_get_array_value(array('new_tracklist_title'),$manager_data); 246 if (!$tracklist_title){ 247 $success = new WP_Error('wpsstm_missing_tracklist_title',__('Missing tracklist title','wpsstm')); 248 }else{ 249 250 //create new tracklist 251 $tracklist = new WPSSTM_Post_Tracklist(); 252 $tracklist->title = $tracklist_title; 253 254 $success = $tracklist->save_tracklist(); 255 256 //append subtrack if any 257 if ( !is_wp_error($success) ){ 258 $tracklist_id = $success; 259 $tracklist = new WPSSTM_Post_Tracklist($tracklist_id); 260 $success = $tracklist->queue_track($wpsstm_track); 261 } 262 } 263 264 265 266 break; 267 } 268 269 if ($success){ 270 if ( is_wp_error($success) ){ 271 //TOUFIX we should remove that track notice function. 272 $wpsstm_track->add_notice($success->get_error_code(),$success->get_error_message()); 273 }else{ 274 $wpsstm_track->add_notice('success',__('Track action success!','wpsstm')); 183 global $wpsstm_track; 184 $success = null; 185 186 if ( 'manage' !== get_query_var( 'wpsstm_action' ) ) return; //action does not exist 187 188 $manager_action = wpsstm_get_array_value(array('wpsstm_manager_action'),$_REQUEST); 189 $manager_data = wpsstm_get_array_value(array('wpsstm_manager_data'),$_REQUEST); 190 191 switch ($manager_action){ 192 case 'toggle_tracklists': 193 194 $checked_tracklists = wpsstm_get_array_value(array('new_tids'),$manager_data); 195 $previous_values = wpsstm_get_array_value(array('old_tids'),$manager_data); 196 $edit_values = array(); 197 198 if (!$previous_values) break; //no range to compare to 199 200 //use bool values instead of strings 201 foreach((array)$previous_values as $key => $value){ 202 $previous_values[$key] = ($value === '1') ? true : false; 203 } 204 205 foreach((array)$checked_tracklists as $key => $value){ 206 $checked_tracklists[$key] = true; 207 } 208 209 //build an array containing the tracklists IDs that have been updated 210 foreach((array)$previous_values as $key => $value){ 211 if ( $value && !array_key_exists($key,$checked_tracklists) ){//item has been unchecked 212 $edit_values[$key] = false; 213 }elseif ( !$value && array_key_exists($key,$checked_tracklists) ){//item has been checked 214 $edit_values[$key] = true; 275 215 } 276 } 216 } 217 218 //process changed values 219 if ($edit_values){ 220 221 foreach($edit_values as $tracklist_id => $is_child){ 222 223 $tracklist = new WPSSTM_Post_Tracklist($tracklist_id); 224 225 if ($is_child){ 226 $success = $tracklist->queue_track($wpsstm_track); 227 }else{ 228 $success = $tracklist->dequeue_track($wpsstm_track); 229 } 230 231 if ( is_wp_error($success) ){ 232 break; //break at first error 233 } 234 } 235 236 } 237 238 break; 239 240 case 'new_tracklist': 241 $tracklist_title = wpsstm_get_array_value(array('new_tracklist_title'),$manager_data); 242 if (!$tracklist_title){ 243 $success = new WP_Error('wpsstm_missing_tracklist_title',__('Missing tracklist title','wpsstm')); 244 }else{ 245 246 //create new tracklist 247 $tracklist = new WPSSTM_Post_Tracklist(); 248 $tracklist->title = $tracklist_title; 249 250 $success = $tracklist->save_tracklist(); 251 252 //append subtrack if any 253 if ( !is_wp_error($success) ){ 254 $tracklist_id = $success; 255 $tracklist = new WPSSTM_Post_Tracklist($tracklist_id); 256 $success = $tracklist->queue_track($wpsstm_track); 257 } 258 } 259 260 261 262 break; 263 } 264 265 if ($success){ 266 if ( is_wp_error($success) ){ 267 //TOUFIX we should remove that track notice function. 268 $wpsstm_track->add_notice($success->get_error_code(),$success->get_error_message()); 269 }else{ 270 $wpsstm_track->add_notice('success',__('Track action success!','wpsstm')); 271 } 272 } 277 273 278 274 }
Note: See TracChangeset
for help on using the changeset viewer.