Passed
Push — master ( e4ef94...44554e )
by Warwick
02:48 queued 11s
created

functions.php ➔ cb_explode_workouts_2()   C

Complexity

Conditions 13
Paths 9

Size

Total Lines 47

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 13
nc 9
nop 1
dl 0
loc 47
rs 6.6166
c 0
b 0
f 0

How to fix   Complexity   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
use function Aws\serialize;
3
4
/**
5
 * LSX functions and definitions.
6
 *
7
 * @package lsx
8
 */
9
10
if ( ! defined( 'ABSPATH' ) ) {
11
	exit;
12
}
13
14
define( 'LSX_VERSION', '2.3.1' );
15
16
if ( class_exists( 'WooCommerce' ) ) {
17
	require get_template_directory() . '/includes/plugins/woocommerce.php';
18
}
19
20
if ( class_exists( 'Tribe__Events__Main' ) ) {
21
	require get_template_directory() . '/includes/plugins/the-events-calendar.php';
22
}
23
24
if ( class_exists( 'Sensei_WC' ) ) {
25
	require get_template_directory() . '/includes/plugins/sensei.php';
26
}
27
28
if ( class_exists( 'bbPress' ) ) {
29
	require get_template_directory() . '/includes/plugins/bbpress.php';
30
}
31
32
require get_template_directory() . '/includes/config.php';
33
require get_template_directory() . '/includes/classes/class-lsx-theme-customizer.php';
34
require get_template_directory() . '/includes/customizer.php';
35
require get_template_directory() . '/includes/sanitize.php';
36
require get_template_directory() . '/includes/layout.php';
37
require get_template_directory() . '/includes/hooks.php';
38
require get_template_directory() . '/includes/widgets.php';
39
require get_template_directory() . '/includes/scripts.php';
40
require get_template_directory() . '/includes/classes/class-lsx-nav-walker.php';
41
require get_template_directory() . '/includes/nav-navwalker.php';
42
require get_template_directory() . '/includes/classes/class-lsx-bootstrap-navwalker.php';
43
require get_template_directory() . '/includes/nav-bootstrap-navwalker.php';
44
require get_template_directory() . '/includes/classes/class-lsx-walker-comment.php';
45
require get_template_directory() . '/includes/walker-comment.php';
46
require get_template_directory() . '/includes/classes/class-lsx-lazy-load-images.php';
47
require get_template_directory() . '/includes/template-tags.php';
48
require get_template_directory() . '/includes/extras.php';
49
require get_template_directory() . '/includes/welcome.php';
50
require get_template_directory() . '/includes/404-widget.php';
51
require get_template_directory() . '/includes/gutenberg.php';
52
53
54
55
56
function lsx_importer_tester() {
57
	$value = 'a:3:{s:12:""workouttitle"";s:15:""Weighted lunges"";s:4:""reps"";s:7:""20 REPS"";s:16:""video_to_workout"";s:3:""273"";}|a:3:{s:12:""workouttitle"";s:8:""Knee-Ins"";s:4:""reps"";s:7:""20 REPS"";s:16:""video_to_workout"";s:3:""709"";}|a:3:{s:12:""workouttitle"";s:17:""Criss-cross jumps"";s:4:""reps"";s:7:""30 SECS"";s:16:""video_to_workout"";s:3:""710"";}';
58
59
	cb_explode_workouts( 3150, 'extable_1', $value );
60
}
61
//add_action( 'init', 'lsx_importer_tester' );
62
63
function cb_explode_workouts_2( $value ) {
64
	if ( '' !== $value ) {
65
		$new_values = array();
66
67
		$value = explode( '|', $value );	
68
		if ( ! is_array( $value ) ) {
69
			$value = array( $value );
70
		}
71
		if ( ! empty( $value ) ) {
72
73
			foreach ( $value as $serial_string ) {
74
				$serial_string = str_replace( '""', '"', $serial_string );
75
				$old_array = maybe_unserialize( $serial_string );
76
				if ( is_array( $old_array ) && ! empty( $old_array ) ) {
77
					$old_values = array();
78
79
					foreach( $old_array as $old_key => $old_value ){
80
						switch( $old_key ) {
81
							case 'workouttitle':
82
								$old_values['name'] = $old_value;
83
							break;
84
85
							case 'reps':
86
								$old_values['reps'] = $old_value;
87
							break;
88
89
							case 'video_to_workout':
90
								$old_values['connected_video'] = '';
91
							break;							
92
93
							default:
94
							break;
95
						}
96
					};
97
98
					if ( ! empty( $old_values ) ) {
99
						$new_values[] = $old_values;
100
					}
101
				}
102
			}
103
		}	
104
		if ( ! empty( $new_values ) ) {
105
			$value = maybe_serialize( $new_values );
106
		}
107
	}
108
	return $value;
109
}
110