Completed
Branch EDTR/refactor-master (18eaa1)
by
unknown
42:46 queued 34:55
created
core/helpers/EEH_Template_Validator.helper.php 3 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
     /**
131 131
      * For verifying that a variable is indeed an array, else throw an EE_Error
132 132
      * @param type $variable_to_test
133
-     * @param type $variable_name
133
+     * @param string $variable_name
134 134
      * @param type $allow_empty one of 'allow_empty' or 'do_not_allow_empty'
135 135
      * @return void
136 136
      * @throws EE_Error
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
      * for verifying that a variable is one of the string optiosn supplied
162 162
      * @param mixed $variable_to_test
163 163
      * @param mixed $variable_name the name you've given the variable. Eg, '$foo'. THis helps in producing better error messages
164
-     * @param array $string_options an array of acceptable values
164
+     * @param string[] $string_options an array of acceptable values
165 165
      * @return void
166 166
      * @throws EE_Error
167 167
      */
Please login to merge, or discard this patch.
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -28,152 +28,152 @@
 block discarded – undo
28 28
     
29 29
     
30 30
     
31
-    /**
32
-     * Throws an EE_Error if $variabel_to_test isn't an array of objects of class $class_name
33
-     * @param mixed $variable_to_test
34
-     * @param string $name_of_variable helpful in throwing intelligent errors
35
-     * @param string $class_name eg EE_Answer, EE_Transaction, etc.
36
-     * @param string $allow_null one of 'allow_null', or 'do_not_allow_null'
37
-     * @return void
38
-     * @throws EE_Error (indirectly)
39
-     */
40
-    public static function verify_is_array_of($variable_to_test, $name_of_variable, $class_name, $allow_null = 'allow_null')
41
-    {
42
-        if (!WP_DEBUG) {
43
-            return;
44
-        }
45
-        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
46
-        if ('allow_null' == $allow_null && is_null($variable_to_test)) {
47
-            return;
48
-        }
49
-        self::verify_is_array($variable_to_test, $name_of_variable);
50
-        foreach ($variable_to_test as $key => $array_element) {
51
-            self::verify_instanceof($array_element, $key, $class_name);
52
-        }
53
-    }
54
-    
55
-    
56
-    
57
-    
58
-    
59
-    /**
60
-     * throws an EE_Error if $variable_to_test is null
61
-     * @param mixed $variable_to_test
62
-     * @param string $name_of_variable helpful for throwing intelligent errors
63
-     * @return void
64
-     * @throws EE_Error
65
-     */
66
-    public static function verify_isnt_null($variable_to_test, $name_of_variable)
67
-    {
68
-        if (!WP_DEBUG) {
69
-            return;
70
-        }
71
-        if ($variable_to_test==null && $variable_to_test!=0 && $variable_to_test!=false) {
72
-            $error[]=__('Variable named %s is null.', 'event_espresso');
73
-            $error[]=__("Consider looking at the stack trace to see why it wasn't set.", 'event_espresso');
74
-            throw new EE_Error(sprintf(implode(",", $error), $name_of_variable, $name_of_variable));
75
-        }
76
-    }
77
-    
78
-    /**
79
-     * When WP_DEBUG is activted, throws an error if $expression_to_test is false.
80
-     * @param boolean $expression_to_test
81
-     * @param string $expression_string_representation a string representation of your expression
82
-     * for example, if your expression were $var1==23, then this should be '$var1==23'
83
-     * @return void
84
-     * @throws EE_Error
85
-     */
86
-    public static function verify_is_true($expression_to_test, $expression_string_representation)
87
-    {
88
-        if (!WP_DEBUG) {
89
-            return;
90
-        }
91
-        if (!$expression_to_test) {
92
-            $error[]=__('Template error.', 'event_espresso');
93
-            $error[]=__("%s evaluated to false, but it must be true!", 'event_espresso');
94
-            throw new EE_Error(sprintf(implode(",", $error), $expression_string_representation));
95
-        }
96
-    }
97
-    
98
-    
99
-    
100
-    
101
-    
102
-    /**
103
-     * For verifying that a variable is indeed an object of class $class_name
104
-     * @param mixed $variable_to_test
105
-     * @param string $name_of_variable helpful when throwing errors
106
-     * @param string $class_name eg, EE_Answer,
107
-     * @return void
108
-     * @throws EE_Error
109
-     */
110
-    public static function verify_instanceof($variable_to_test, $name_of_variable, $class_name, $allow_null = 'do_not_allow_null')
111
-    {
112
-        if (!WP_DEBUG) {
113
-            return;
114
-        }
115
-        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
116
-        if ($allow_null == 'allow_null' && is_null($variable_to_test)) {
117
-            return;
118
-        }
119
-        if ($variable_to_test == null ||  ! ( $variable_to_test instanceof $class_name )) {
120
-            $msg[]=__('Variable %s is not of the correct type.', 'event_espresso');
121
-            $msg[]=__("It should be of type %s", 'event_espresso');
122
-            throw new EE_Error(sprintf(implode(",", $msg), $name_of_variable, $name_of_variable, $class_name));
123
-        }
124
-    }
125
-    
126
-    
127
-    
128
-    
129
-    
130
-    /**
131
-     * For verifying that a variable is indeed an array, else throw an EE_Error
132
-     * @param type $variable_to_test
133
-     * @param type $variable_name
134
-     * @param type $allow_empty one of 'allow_empty' or 'do_not_allow_empty'
135
-     * @return void
136
-     * @throws EE_Error
137
-     */
138
-    public static function verify_is_array($variable_to_test, $variable_name, $allow_empty = 'allow_empty')
139
-    {
140
-        if (!WP_DEBUG) {
141
-            return;
142
-        }
143
-        self::verify_argument_is_one_of($allow_empty, $variable_name, array('allow_empty','do_not_allow_empty'));
144
-        if (empty($variable_to_test) && 'allow_empty'==$allow_empty) {
145
-            return;
146
-        }
147
-        if (!is_array($variable_to_test)) {
148
-            $error[]=__('Variable %s should be an array, but it is not.', 'event_espresso');
149
-            $error[]=__("Its value is, instead '%s'", 'event_espresso');
150
-            throw new EE_Error(sprintf(implode(",", $error), $variable_name, $variable_name, $variable_to_test));
151
-        }
152
-    }
153
-    
154
-    
155
-    
156
-    
157
-    
158
-    
159
-    
160
-    /**
161
-     * for verifying that a variable is one of the string optiosn supplied
162
-     * @param mixed $variable_to_test
163
-     * @param mixed $variable_name the name you've given the variable. Eg, '$foo'. THis helps in producing better error messages
164
-     * @param array $string_options an array of acceptable values
165
-     * @return void
166
-     * @throws EE_Error
167
-     */
168
-    public static function verify_argument_is_one_of($variable_to_test, $variable_name, $string_options)
169
-    {
170
-        if (!WP_DEBUG) {
171
-            return;
172
-        }
173
-        if (!in_array($variable_to_test, $string_options)) {
174
-            $msg[0]=__('Malconfigured template.', 'event_espresso');
175
-            $msg[1]=__("Variable named '%s' was set to '%s'. It can only be one of '%s'", 'event_espresso');
176
-            throw new EE_Error(sprintf(implode("||", $msg), $variable_name, $variable_to_test, implode("', '", $string_options)));
177
-        }
178
-    }
31
+	/**
32
+	 * Throws an EE_Error if $variabel_to_test isn't an array of objects of class $class_name
33
+	 * @param mixed $variable_to_test
34
+	 * @param string $name_of_variable helpful in throwing intelligent errors
35
+	 * @param string $class_name eg EE_Answer, EE_Transaction, etc.
36
+	 * @param string $allow_null one of 'allow_null', or 'do_not_allow_null'
37
+	 * @return void
38
+	 * @throws EE_Error (indirectly)
39
+	 */
40
+	public static function verify_is_array_of($variable_to_test, $name_of_variable, $class_name, $allow_null = 'allow_null')
41
+	{
42
+		if (!WP_DEBUG) {
43
+			return;
44
+		}
45
+		self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
46
+		if ('allow_null' == $allow_null && is_null($variable_to_test)) {
47
+			return;
48
+		}
49
+		self::verify_is_array($variable_to_test, $name_of_variable);
50
+		foreach ($variable_to_test as $key => $array_element) {
51
+			self::verify_instanceof($array_element, $key, $class_name);
52
+		}
53
+	}
54
+    
55
+    
56
+    
57
+    
58
+    
59
+	/**
60
+	 * throws an EE_Error if $variable_to_test is null
61
+	 * @param mixed $variable_to_test
62
+	 * @param string $name_of_variable helpful for throwing intelligent errors
63
+	 * @return void
64
+	 * @throws EE_Error
65
+	 */
66
+	public static function verify_isnt_null($variable_to_test, $name_of_variable)
67
+	{
68
+		if (!WP_DEBUG) {
69
+			return;
70
+		}
71
+		if ($variable_to_test==null && $variable_to_test!=0 && $variable_to_test!=false) {
72
+			$error[]=__('Variable named %s is null.', 'event_espresso');
73
+			$error[]=__("Consider looking at the stack trace to see why it wasn't set.", 'event_espresso');
74
+			throw new EE_Error(sprintf(implode(",", $error), $name_of_variable, $name_of_variable));
75
+		}
76
+	}
77
+    
78
+	/**
79
+	 * When WP_DEBUG is activted, throws an error if $expression_to_test is false.
80
+	 * @param boolean $expression_to_test
81
+	 * @param string $expression_string_representation a string representation of your expression
82
+	 * for example, if your expression were $var1==23, then this should be '$var1==23'
83
+	 * @return void
84
+	 * @throws EE_Error
85
+	 */
86
+	public static function verify_is_true($expression_to_test, $expression_string_representation)
87
+	{
88
+		if (!WP_DEBUG) {
89
+			return;
90
+		}
91
+		if (!$expression_to_test) {
92
+			$error[]=__('Template error.', 'event_espresso');
93
+			$error[]=__("%s evaluated to false, but it must be true!", 'event_espresso');
94
+			throw new EE_Error(sprintf(implode(",", $error), $expression_string_representation));
95
+		}
96
+	}
97
+    
98
+    
99
+    
100
+    
101
+    
102
+	/**
103
+	 * For verifying that a variable is indeed an object of class $class_name
104
+	 * @param mixed $variable_to_test
105
+	 * @param string $name_of_variable helpful when throwing errors
106
+	 * @param string $class_name eg, EE_Answer,
107
+	 * @return void
108
+	 * @throws EE_Error
109
+	 */
110
+	public static function verify_instanceof($variable_to_test, $name_of_variable, $class_name, $allow_null = 'do_not_allow_null')
111
+	{
112
+		if (!WP_DEBUG) {
113
+			return;
114
+		}
115
+		self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
116
+		if ($allow_null == 'allow_null' && is_null($variable_to_test)) {
117
+			return;
118
+		}
119
+		if ($variable_to_test == null ||  ! ( $variable_to_test instanceof $class_name )) {
120
+			$msg[]=__('Variable %s is not of the correct type.', 'event_espresso');
121
+			$msg[]=__("It should be of type %s", 'event_espresso');
122
+			throw new EE_Error(sprintf(implode(",", $msg), $name_of_variable, $name_of_variable, $class_name));
123
+		}
124
+	}
125
+    
126
+    
127
+    
128
+    
129
+    
130
+	/**
131
+	 * For verifying that a variable is indeed an array, else throw an EE_Error
132
+	 * @param type $variable_to_test
133
+	 * @param type $variable_name
134
+	 * @param type $allow_empty one of 'allow_empty' or 'do_not_allow_empty'
135
+	 * @return void
136
+	 * @throws EE_Error
137
+	 */
138
+	public static function verify_is_array($variable_to_test, $variable_name, $allow_empty = 'allow_empty')
139
+	{
140
+		if (!WP_DEBUG) {
141
+			return;
142
+		}
143
+		self::verify_argument_is_one_of($allow_empty, $variable_name, array('allow_empty','do_not_allow_empty'));
144
+		if (empty($variable_to_test) && 'allow_empty'==$allow_empty) {
145
+			return;
146
+		}
147
+		if (!is_array($variable_to_test)) {
148
+			$error[]=__('Variable %s should be an array, but it is not.', 'event_espresso');
149
+			$error[]=__("Its value is, instead '%s'", 'event_espresso');
150
+			throw new EE_Error(sprintf(implode(",", $error), $variable_name, $variable_name, $variable_to_test));
151
+		}
152
+	}
153
+    
154
+    
155
+    
156
+    
157
+    
158
+    
159
+    
160
+	/**
161
+	 * for verifying that a variable is one of the string optiosn supplied
162
+	 * @param mixed $variable_to_test
163
+	 * @param mixed $variable_name the name you've given the variable. Eg, '$foo'. THis helps in producing better error messages
164
+	 * @param array $string_options an array of acceptable values
165
+	 * @return void
166
+	 * @throws EE_Error
167
+	 */
168
+	public static function verify_argument_is_one_of($variable_to_test, $variable_name, $string_options)
169
+	{
170
+		if (!WP_DEBUG) {
171
+			return;
172
+		}
173
+		if (!in_array($variable_to_test, $string_options)) {
174
+			$msg[0]=__('Malconfigured template.', 'event_espresso');
175
+			$msg[1]=__("Variable named '%s' was set to '%s'. It can only be one of '%s'", 'event_espresso');
176
+			throw new EE_Error(sprintf(implode("||", $msg), $variable_name, $variable_to_test, implode("', '", $string_options)));
177
+		}
178
+	}
179 179
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -39,10 +39,10 @@  discard block
 block discarded – undo
39 39
      */
40 40
     public static function verify_is_array_of($variable_to_test, $name_of_variable, $class_name, $allow_null = 'allow_null')
41 41
     {
42
-        if (!WP_DEBUG) {
42
+        if ( ! WP_DEBUG) {
43 43
             return;
44 44
         }
45
-        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
45
+        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null', 'do_not_allow_null'));
46 46
         if ('allow_null' == $allow_null && is_null($variable_to_test)) {
47 47
             return;
48 48
         }
@@ -65,12 +65,12 @@  discard block
 block discarded – undo
65 65
      */
66 66
     public static function verify_isnt_null($variable_to_test, $name_of_variable)
67 67
     {
68
-        if (!WP_DEBUG) {
68
+        if ( ! WP_DEBUG) {
69 69
             return;
70 70
         }
71
-        if ($variable_to_test==null && $variable_to_test!=0 && $variable_to_test!=false) {
72
-            $error[]=__('Variable named %s is null.', 'event_espresso');
73
-            $error[]=__("Consider looking at the stack trace to see why it wasn't set.", 'event_espresso');
71
+        if ($variable_to_test == null && $variable_to_test != 0 && $variable_to_test != false) {
72
+            $error[] = __('Variable named %s is null.', 'event_espresso');
73
+            $error[] = __("Consider looking at the stack trace to see why it wasn't set.", 'event_espresso');
74 74
             throw new EE_Error(sprintf(implode(",", $error), $name_of_variable, $name_of_variable));
75 75
         }
76 76
     }
@@ -85,12 +85,12 @@  discard block
 block discarded – undo
85 85
      */
86 86
     public static function verify_is_true($expression_to_test, $expression_string_representation)
87 87
     {
88
-        if (!WP_DEBUG) {
88
+        if ( ! WP_DEBUG) {
89 89
             return;
90 90
         }
91
-        if (!$expression_to_test) {
92
-            $error[]=__('Template error.', 'event_espresso');
93
-            $error[]=__("%s evaluated to false, but it must be true!", 'event_espresso');
91
+        if ( ! $expression_to_test) {
92
+            $error[] = __('Template error.', 'event_espresso');
93
+            $error[] = __("%s evaluated to false, but it must be true!", 'event_espresso');
94 94
             throw new EE_Error(sprintf(implode(",", $error), $expression_string_representation));
95 95
         }
96 96
     }
@@ -109,16 +109,16 @@  discard block
 block discarded – undo
109 109
      */
110 110
     public static function verify_instanceof($variable_to_test, $name_of_variable, $class_name, $allow_null = 'do_not_allow_null')
111 111
     {
112
-        if (!WP_DEBUG) {
112
+        if ( ! WP_DEBUG) {
113 113
             return;
114 114
         }
115
-        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null','do_not_allow_null'));
115
+        self::verify_argument_is_one_of($allow_null, 'allow_null', array('allow_null', 'do_not_allow_null'));
116 116
         if ($allow_null == 'allow_null' && is_null($variable_to_test)) {
117 117
             return;
118 118
         }
119
-        if ($variable_to_test == null ||  ! ( $variable_to_test instanceof $class_name )) {
120
-            $msg[]=__('Variable %s is not of the correct type.', 'event_espresso');
121
-            $msg[]=__("It should be of type %s", 'event_espresso');
119
+        if ($variable_to_test == null || ! ($variable_to_test instanceof $class_name)) {
120
+            $msg[] = __('Variable %s is not of the correct type.', 'event_espresso');
121
+            $msg[] = __("It should be of type %s", 'event_espresso');
122 122
             throw new EE_Error(sprintf(implode(",", $msg), $name_of_variable, $name_of_variable, $class_name));
123 123
         }
124 124
     }
@@ -137,16 +137,16 @@  discard block
 block discarded – undo
137 137
      */
138 138
     public static function verify_is_array($variable_to_test, $variable_name, $allow_empty = 'allow_empty')
139 139
     {
140
-        if (!WP_DEBUG) {
140
+        if ( ! WP_DEBUG) {
141 141
             return;
142 142
         }
143
-        self::verify_argument_is_one_of($allow_empty, $variable_name, array('allow_empty','do_not_allow_empty'));
144
-        if (empty($variable_to_test) && 'allow_empty'==$allow_empty) {
143
+        self::verify_argument_is_one_of($allow_empty, $variable_name, array('allow_empty', 'do_not_allow_empty'));
144
+        if (empty($variable_to_test) && 'allow_empty' == $allow_empty) {
145 145
             return;
146 146
         }
147
-        if (!is_array($variable_to_test)) {
148
-            $error[]=__('Variable %s should be an array, but it is not.', 'event_espresso');
149
-            $error[]=__("Its value is, instead '%s'", 'event_espresso');
147
+        if ( ! is_array($variable_to_test)) {
148
+            $error[] = __('Variable %s should be an array, but it is not.', 'event_espresso');
149
+            $error[] = __("Its value is, instead '%s'", 'event_espresso');
150 150
             throw new EE_Error(sprintf(implode(",", $error), $variable_name, $variable_name, $variable_to_test));
151 151
         }
152 152
     }
@@ -167,12 +167,12 @@  discard block
 block discarded – undo
167 167
      */
168 168
     public static function verify_argument_is_one_of($variable_to_test, $variable_name, $string_options)
169 169
     {
170
-        if (!WP_DEBUG) {
170
+        if ( ! WP_DEBUG) {
171 171
             return;
172 172
         }
173
-        if (!in_array($variable_to_test, $string_options)) {
174
-            $msg[0]=__('Malconfigured template.', 'event_espresso');
175
-            $msg[1]=__("Variable named '%s' was set to '%s'. It can only be one of '%s'", 'event_espresso');
173
+        if ( ! in_array($variable_to_test, $string_options)) {
174
+            $msg[0] = __('Malconfigured template.', 'event_espresso');
175
+            $msg[1] = __("Variable named '%s' was set to '%s'. It can only be one of '%s'", 'event_espresso');
176 176
             throw new EE_Error(sprintf(implode("||", $msg), $variable_name, $variable_to_test, implode("', '", $string_options)));
177 177
         }
178 178
     }
Please login to merge, or discard this patch.
form_sections/strategies/display/EE_Select_Display_Strategy.strategy.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -87,7 +87,7 @@
 block discarded – undo
87 87
      * Checks if that value is the one selected
88 88
      *
89 89
      * @param string|int $option_value unnormalized value option (string). How it will appear in the HTML.
90
-     * @return string
90
+     * @return boolean
91 91
      */
92 92
     protected function _check_if_option_selected($option_value)
93 93
     {
Please login to merge, or discard this patch.
Indentation   +65 added lines, -65 removed lines patch added patch discarded remove patch
@@ -14,78 +14,78 @@
 block discarded – undo
14 14
 class EE_Select_Display_Strategy extends EE_Display_Strategy_Base
15 15
 {
16 16
 
17
-    /**
18
-     *
19
-     * @throws EE_Error
20
-     * @return string of html to display the field
21
-     */
22
-    public function display()
23
-    {
24
-        if (! $this->_input instanceof EE_Form_Input_With_Options_Base) {
25
-            throw new EE_Error(sprintf(__('Cannot use Select Display Strategy with an input that doesn\'t have options', 'event_espresso')));
26
-        }
17
+	/**
18
+	 *
19
+	 * @throws EE_Error
20
+	 * @return string of html to display the field
21
+	 */
22
+	public function display()
23
+	{
24
+		if (! $this->_input instanceof EE_Form_Input_With_Options_Base) {
25
+			throw new EE_Error(sprintf(__('Cannot use Select Display Strategy with an input that doesn\'t have options', 'event_espresso')));
26
+		}
27 27
 
28
-        $html = EEH_HTML::nl(0, 'select');
29
-        $html .= '<select';
30
-        $html .= $this->_attributes_string(
31
-            $this->_standard_attributes_array()
32
-        );
33
-        $html .= '>';
28
+		$html = EEH_HTML::nl(0, 'select');
29
+		$html .= '<select';
30
+		$html .= $this->_attributes_string(
31
+			$this->_standard_attributes_array()
32
+		);
33
+		$html .= '>';
34 34
 
35
-        if (EEH_Array::is_multi_dimensional_array($this->_input->options())) {
36
-            EEH_HTML::indent(1, 'optgroup');
37
-            foreach ($this->_input->options() as $opt_group_label => $opt_group) {
38
-                if (! empty($opt_group_label)) {
39
-                    $html .= EEH_HTML::nl(0, 'optgroup') . '<optgroup label="' . esc_attr($opt_group_label) . '">';
40
-                }
41
-                EEH_HTML::indent(1, 'option');
42
-                $html .= $this->_display_options($opt_group);
43
-                EEH_HTML::indent(-1, 'option');
44
-                if (! empty($opt_group_label)) {
45
-                    $html .= EEH_HTML::nl(0, 'optgroup') . '</optgroup>';
46
-                }
47
-            }
48
-            EEH_HTML::indent(-1, 'optgroup');
49
-        } else {
50
-            $html.=$this->_display_options($this->_input->options());
51
-        }
35
+		if (EEH_Array::is_multi_dimensional_array($this->_input->options())) {
36
+			EEH_HTML::indent(1, 'optgroup');
37
+			foreach ($this->_input->options() as $opt_group_label => $opt_group) {
38
+				if (! empty($opt_group_label)) {
39
+					$html .= EEH_HTML::nl(0, 'optgroup') . '<optgroup label="' . esc_attr($opt_group_label) . '">';
40
+				}
41
+				EEH_HTML::indent(1, 'option');
42
+				$html .= $this->_display_options($opt_group);
43
+				EEH_HTML::indent(-1, 'option');
44
+				if (! empty($opt_group_label)) {
45
+					$html .= EEH_HTML::nl(0, 'optgroup') . '</optgroup>';
46
+				}
47
+			}
48
+			EEH_HTML::indent(-1, 'optgroup');
49
+		} else {
50
+			$html.=$this->_display_options($this->_input->options());
51
+		}
52 52
 
53
-        $html.= EEH_HTML::nl(0, 'select') . '</select>';
54
-        return $html;
55
-    }
53
+		$html.= EEH_HTML::nl(0, 'select') . '</select>';
54
+		return $html;
55
+	}
56 56
 
57 57
 
58 58
 
59
-    /**
60
-     * Displays a flat list of options as option tags
61
-     * @param array $options
62
-     * @return string
63
-     */
64
-    protected function _display_options($options)
65
-    {
66
-        $html = '';
67
-        EEH_HTML::indent(1, 'option');
68
-        foreach ($options as $value => $display_text) {
69
-            // even if this input uses EE_Text_Normalization if one of the array keys is a numeric string, like "123",
70
-            // PHP will have converted it to a PHP integer (eg 123). So we need to make sure it's a string
71
-            $unnormalized_value = $this->_input->get_normalization_strategy()->unnormalize_one($value);
72
-            $selected = $this->_check_if_option_selected($unnormalized_value) ? ' selected="selected"' : '';
73
-            $html.= EEH_HTML::nl(0, 'option') . '<option value="' . esc_attr($unnormalized_value) . '"' . $selected . '>' . $display_text . '</option>';
74
-        }
75
-        EEH_HTML::indent(-1, 'option');
76
-        return $html;
77
-    }
59
+	/**
60
+	 * Displays a flat list of options as option tags
61
+	 * @param array $options
62
+	 * @return string
63
+	 */
64
+	protected function _display_options($options)
65
+	{
66
+		$html = '';
67
+		EEH_HTML::indent(1, 'option');
68
+		foreach ($options as $value => $display_text) {
69
+			// even if this input uses EE_Text_Normalization if one of the array keys is a numeric string, like "123",
70
+			// PHP will have converted it to a PHP integer (eg 123). So we need to make sure it's a string
71
+			$unnormalized_value = $this->_input->get_normalization_strategy()->unnormalize_one($value);
72
+			$selected = $this->_check_if_option_selected($unnormalized_value) ? ' selected="selected"' : '';
73
+			$html.= EEH_HTML::nl(0, 'option') . '<option value="' . esc_attr($unnormalized_value) . '"' . $selected . '>' . $display_text . '</option>';
74
+		}
75
+		EEH_HTML::indent(-1, 'option');
76
+		return $html;
77
+	}
78 78
 
79 79
 
80 80
 
81
-    /**
82
-     * Checks if that value is the one selected
83
-     *
84
-     * @param string|int $option_value unnormalized value option (string). How it will appear in the HTML.
85
-     * @return string
86
-     */
87
-    protected function _check_if_option_selected($option_value)
88
-    {
89
-        return $option_value === $this->_input->raw_value();
90
-    }
81
+	/**
82
+	 * Checks if that value is the one selected
83
+	 *
84
+	 * @param string|int $option_value unnormalized value option (string). How it will appear in the HTML.
85
+	 * @return string
86
+	 */
87
+	protected function _check_if_option_selected($option_value)
88
+	{
89
+		return $option_value === $this->_input->raw_value();
90
+	}
91 91
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
      */
22 22
     public function display()
23 23
     {
24
-        if (! $this->_input instanceof EE_Form_Input_With_Options_Base) {
24
+        if ( ! $this->_input instanceof EE_Form_Input_With_Options_Base) {
25 25
             throw new EE_Error(sprintf(__('Cannot use Select Display Strategy with an input that doesn\'t have options', 'event_espresso')));
26 26
         }
27 27
 
@@ -35,22 +35,22 @@  discard block
 block discarded – undo
35 35
         if (EEH_Array::is_multi_dimensional_array($this->_input->options())) {
36 36
             EEH_HTML::indent(1, 'optgroup');
37 37
             foreach ($this->_input->options() as $opt_group_label => $opt_group) {
38
-                if (! empty($opt_group_label)) {
39
-                    $html .= EEH_HTML::nl(0, 'optgroup') . '<optgroup label="' . esc_attr($opt_group_label) . '">';
38
+                if ( ! empty($opt_group_label)) {
39
+                    $html .= EEH_HTML::nl(0, 'optgroup').'<optgroup label="'.esc_attr($opt_group_label).'">';
40 40
                 }
41 41
                 EEH_HTML::indent(1, 'option');
42 42
                 $html .= $this->_display_options($opt_group);
43 43
                 EEH_HTML::indent(-1, 'option');
44
-                if (! empty($opt_group_label)) {
45
-                    $html .= EEH_HTML::nl(0, 'optgroup') . '</optgroup>';
44
+                if ( ! empty($opt_group_label)) {
45
+                    $html .= EEH_HTML::nl(0, 'optgroup').'</optgroup>';
46 46
                 }
47 47
             }
48 48
             EEH_HTML::indent(-1, 'optgroup');
49 49
         } else {
50
-            $html.=$this->_display_options($this->_input->options());
50
+            $html .= $this->_display_options($this->_input->options());
51 51
         }
52 52
 
53
-        $html.= EEH_HTML::nl(0, 'select') . '</select>';
53
+        $html .= EEH_HTML::nl(0, 'select').'</select>';
54 54
         return $html;
55 55
     }
56 56
 
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
             // PHP will have converted it to a PHP integer (eg 123). So we need to make sure it's a string
71 71
             $unnormalized_value = $this->_input->get_normalization_strategy()->unnormalize_one($value);
72 72
             $selected = $this->_check_if_option_selected($unnormalized_value) ? ' selected="selected"' : '';
73
-            $html.= EEH_HTML::nl(0, 'option') . '<option value="' . esc_attr($unnormalized_value) . '"' . $selected . '>' . $display_text . '</option>';
73
+            $html .= EEH_HTML::nl(0, 'option').'<option value="'.esc_attr($unnormalized_value).'"'.$selected.'>'.$display_text.'</option>';
74 74
         }
75 75
         EEH_HTML::indent(-1, 'option');
76 76
         return $html;
Please login to merge, or discard this patch.
strategies/validation/EE_Float_Validation_Strategy.strategy.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@
 block discarded – undo
27 27
     /**
28 28
      *
29 29
      * @param $normalized_value
30
-     * @return bool
30
+     * @return boolean|null
31 31
      */
32 32
     public function validate($normalized_value)
33 33
     {
Please login to merge, or discard this patch.
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -11,36 +11,36 @@
 block discarded – undo
11 11
 class EE_Float_Validation_Strategy extends EE_Validation_Strategy_Base
12 12
 {
13 13
 
14
-    /**
15
-     * @param null $validation_error_message
16
-     */
17
-    public function __construct($validation_error_message = null)
18
-    {
19
-        if (! $validation_error_message) {
20
-            $validation_error_message = sprintf(__("Only numeric characters, commas, periods, and spaces, please!", "event_espresso"));
21
-        }
22
-        parent::__construct($validation_error_message);
23
-    }
14
+	/**
15
+	 * @param null $validation_error_message
16
+	 */
17
+	public function __construct($validation_error_message = null)
18
+	{
19
+		if (! $validation_error_message) {
20
+			$validation_error_message = sprintf(__("Only numeric characters, commas, periods, and spaces, please!", "event_espresso"));
21
+		}
22
+		parent::__construct($validation_error_message);
23
+	}
24 24
 
25 25
 
26 26
 
27
-    /**
28
-     *
29
-     * @param $normalized_value
30
-     * @return bool
31
-     */
32
-    public function validate($normalized_value)
33
-    {
34
-        // errors should have been detected by the normalization strategy
35
-    }
27
+	/**
28
+	 *
29
+	 * @param $normalized_value
30
+	 * @return bool
31
+	 */
32
+	public function validate($normalized_value)
33
+	{
34
+		// errors should have been detected by the normalization strategy
35
+	}
36 36
 
37 37
 
38 38
 
39
-    /**
40
-     * @return array
41
-     */
42
-    public function get_jquery_validation_rule_array()
43
-    {
44
-        return array('number'=>true, 'messages' => array( 'number' => $this->get_validation_error_message() ) );
45
-    }
39
+	/**
40
+	 * @return array
41
+	 */
42
+	public function get_jquery_validation_rule_array()
43
+	{
44
+		return array('number'=>true, 'messages' => array( 'number' => $this->get_validation_error_message() ) );
45
+	}
46 46
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
      */
17 17
     public function __construct($validation_error_message = null)
18 18
     {
19
-        if (! $validation_error_message) {
19
+        if ( ! $validation_error_message) {
20 20
             $validation_error_message = sprintf(__("Only numeric characters, commas, periods, and spaces, please!", "event_espresso"));
21 21
         }
22 22
         parent::__construct($validation_error_message);
@@ -41,6 +41,6 @@  discard block
 block discarded – undo
41 41
      */
42 42
     public function get_jquery_validation_rule_array()
43 43
     {
44
-        return array('number'=>true, 'messages' => array( 'number' => $this->get_validation_error_message() ) );
44
+        return array('number'=>true, 'messages' => array('number' => $this->get_validation_error_message()));
45 45
     }
46 46
 }
Please login to merge, or discard this patch.
line_item_display/EE_Admin_Table_Line_Item_Display_Strategy.strategy.php 3 patches
Doc Comments   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
      * This is used to output a single
50 50
      * @param EE_Line_Item $line_item
51 51
      * @param array        $options
52
-     * @return mixed
52
+     * @return string
53 53
      */
54 54
     public function display_line_item(EE_Line_Item $line_item, $options = array())
55 55
     {
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
      *
167 167
      * @param EE_Line_Item $line_item
168 168
      * @param array        $options
169
-     * @return mixed
169
+     * @return string
170 170
      */
171 171
     protected function _item_row(EE_Line_Item $line_item, $options = array())
172 172
     {
@@ -264,7 +264,7 @@  discard block
 block discarded – undo
264 264
      *
265 265
      * @param EE_Line_Item $line_item
266 266
      * @param array        $options
267
-     * @return mixed
267
+     * @return string
268 268
      */
269 269
     protected function _sub_item_row(EE_Line_Item $line_item, $options = array())
270 270
     {
@@ -279,7 +279,7 @@  discard block
 block discarded – undo
279 279
      *
280 280
      * @param EE_Line_Item $line_item
281 281
      * @param array        $options
282
-     * @return mixed
282
+     * @return string
283 283
      */
284 284
     protected function _tax_row(EE_Line_Item $line_item, $options = array())
285 285
     {
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
      * @param EE_Line_Item $line_item
304 304
      * @param string       $text
305 305
      * @param array        $options
306
-     * @return mixed
306
+     * @return string
307 307
      */
308 308
     protected function _sub_total_row(EE_Line_Item $line_item, $text = '', $options = array())
309 309
     {
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
      *
319 319
      * @param EE_Line_Item $line_item
320 320
      * @param array        $options
321
-     * @return mixed
321
+     * @return string
322 322
      */
323 323
     protected function _total_row(EE_Line_Item $line_item, $options = array())
324 324
     {
Please login to merge, or discard this patch.
Indentation   +320 added lines, -320 removed lines patch added patch discarded remove patch
@@ -14,324 +14,324 @@
 block discarded – undo
14 14
 {
15 15
 
16 16
 
17
-    /**
18
-     * whether to display the taxes row or not
19
-     * @type bool $_show_taxes
20
-     */
21
-    protected $_show_taxes = false;
22
-
23
-    /**
24
-     * html for any tax rows
25
-     * @type string $_show_taxes
26
-     */
27
-    protected $_taxes_html = '';
28
-
29
-
30
-    /**
31
-     * total amount including tax we can bill for at this time
32
-     * @type float $_grand_total
33
-     */
34
-    protected $_grand_total = 0.00;
35
-
36
-
37
-
38
-    /**
39
-     * @return float
40
-     */
41
-    public function grand_total()
42
-    {
43
-        return $this->_grand_total;
44
-    }
45
-
46
-
47
-
48
-    /**
49
-     * This is used to output a single
50
-     * @param EE_Line_Item $line_item
51
-     * @param array        $options
52
-     * @return mixed
53
-     */
54
-    public function display_line_item(EE_Line_Item $line_item, $options = array())
55
-    {
56
-
57
-        $html = '';
58
-        // set some default options and merge with incoming
59
-        $default_options = array(
60
-            'odd' => true,
61
-            'use_table_wrapper' => true,
62
-            'table_css_class' => 'admin-primary-mbox-tbl',
63
-            'taxes_tr_css_class' => 'admin-primary-mbox-taxes-tr',
64
-            'total_tr_css_class' => 'admin-primary-mbox-total-tr'
65
-        );
66
-        $options = array_merge($default_options, (array) $options);
67
-
68
-        switch ($line_item->type()) {
69
-            case EEM_Line_Item::type_line_item:
70
-                // item row
71
-                $html .= $this->_item_row($line_item, $options);
72
-                break;
73
-
74
-            case EEM_Line_Item::type_sub_line_item:
75
-                $html .= $this->_sub_item_row($line_item, $options);
76
-                break;
77
-
78
-            case EEM_Line_Item::type_sub_total:
79
-                if ($line_item->quantity() === 0) {
80
-                    return $html;
81
-                }
82
-                // loop through children
83
-                $child_line_items = $line_item->children();
84
-                // loop through children
85
-                foreach ($child_line_items as $child_line_item) {
86
-                    // recursively feed children back into this method
87
-                    $html .= $this->display_line_item($child_line_item, $options);
88
-                }
89
-                $html .= $this->_sub_total_row($line_item, $options);
90
-                break;
91
-
92
-            case EEM_Line_Item::type_tax:
93
-                if ($this->_show_taxes) {
94
-                    $this->_taxes_html .= $this->_tax_row($line_item, $options);
95
-                }
96
-                break;
97
-
98
-            case EEM_Line_Item::type_tax_sub_total:
99
-                foreach ($line_item->children() as $child_line_item) {
100
-                    if ($child_line_item->type() == EEM_Line_Item::type_tax) {
101
-                        $this->display_line_item($child_line_item, $options);
102
-                    }
103
-                }
104
-                break;
105
-
106
-            case EEM_Line_Item::type_total:
107
-                // determine whether to display taxes or not
108
-                $this->_show_taxes = $line_item->get_total_tax() > 0 ? true : false;
109
-                // get all child line items
110
-                $children = $line_item->children();
111
-
112
-                // loop thru all non-tax child line items
113
-                foreach ($children as $child_line_item) {
114
-                        $html .= $this->display_line_item($child_line_item, $options);
115
-                }
116
-
117
-                $html .= $this->_taxes_html;
118
-                $html .= $this->_total_row($line_item, $options);
119
-                if ($options['use_table_wrapper']) {
120
-                    $html = $this->_table_header($options) . $html . $this->_table_footer($options);
121
-                }
122
-                break;
123
-        }
124
-
125
-        return $html;
126
-    }
127
-
128
-
129
-
130
-    /**
131
-     * Table header for display.
132
-     * @since   4.8
133
-     * @param array $options
134
-     * @return string
135
-     */
136
-    protected function _table_header($options)
137
-    {
138
-        $html = EEH_HTML::table('', '', $options['table_css_class']);
139
-        $html .= EEH_HTML::thead();
140
-        $html .= EEH_HTML::tr();
141
-        $html .= EEH_HTML::th(__('Name', 'event_espresso'), '', 'jst-left');
142
-        $html .= EEH_HTML::th(__('Type', 'event_espresso'), '', 'jst-left');
143
-        $html .= EEH_HTML::th(__('Amount', 'event_espresso'), '', 'jst-cntr');
144
-        $html .= EEH_HTML::th(__('Qty', 'event_espresso'), '', 'jst-cntr');
145
-        $html .= EEH_HTML::th(__('Line Total', 'event_espresso'), '', 'jst-cntr');
146
-        $html .= EEH_HTML::tbody();
147
-        return $html;
148
-    }
149
-
150
-
151
-    /**
152
-     * Table footer for display
153
-     * @since 4.8
154
-     * @param array $options array of options for the table.
155
-     * @return string
156
-     */
157
-    protected function _table_footer($options)
158
-    {
159
-        return EEH_HTML::tbodyx() .  EEH_HTML::tablex();
160
-    }
161
-
162
-
163
-
164
-    /**
165
-     *    _item_row
166
-     *
167
-     * @param EE_Line_Item $line_item
168
-     * @param array        $options
169
-     * @return mixed
170
-     */
171
-    protected function _item_row(EE_Line_Item $line_item, $options = array())
172
-    {
173
-        $line_item_related_object = $line_item->get_object();
174
-        $parent_line_item_related_object = $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->get_object() : null;
175
-        // start of row
176
-        $row_class = $options['odd'] ? 'item odd' : 'item';
177
-        $html = EEH_HTML::tr('', '', $row_class);
178
-
179
-
180
-        // Name Column
181
-        $name_link = $line_item_related_object instanceof EEI_Admin_Links ? $line_item_related_object->get_admin_details_link() : '';
182
-
183
-        // related object scope.
184
-        $parent_related_object_name = $parent_line_item_related_object instanceof EEI_Line_Item_Object ? $parent_line_item_related_object->name() : '';
185
-        $parent_related_object_name = empty($parent_related_object_name) && $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->name() : $parent_related_object_name;
186
-        $parent_related_object_link = $parent_line_item_related_object instanceof EEI_Admin_Links ? $parent_line_item_related_object->get_admin_details_link() : '';
187
-
188
-
189
-        $name_html = $line_item_related_object instanceof EEI_Line_Item_Object ? $line_item_related_object->name() : $line_item->name();
190
-        $name_html = $name_link ? '<a href="' . $name_link . '">' . $name_html . '</a>' : $name_html;
191
-        $name_html .= $line_item->is_taxable() ? ' *' : '';
192
-        // maybe preface with icon?
193
-        $name_html = $line_item_related_object instanceof EEI_Has_Icon ? $line_item_related_object->get_icon() . $name_html : $name_html;
194
-        $name_html = '<span class="ee-line-item-name linked">' . $name_html . '</span><br>';
195
-        $name_html .=  sprintf(
196
-            _x('%1$sfor the %2$s: %3$s%4$s', 'eg. "for the Event: My Cool Event"', 'event_espresso'),
197
-            '<span class="ee-line-item-related-parent-object">',
198
-            $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->OBJ_type_i18n() : __('Item:', 'event_espresso'),
199
-            $parent_related_object_link ? '<a href="' . $parent_related_object_link . '">' . $parent_related_object_name . '</a>' : $parent_related_object_name,
200
-            '</span>'
201
-        );
202
-        $html .= EEH_HTML::td($name_html, '', 'jst-left');
203
-        // Type Column
204
-        $type_html = $line_item->OBJ_type() ? $line_item->OBJ_type_i18n() : '';
205
-        $type_html .= $this->_get_cancellations($line_item);
206
-        $type_html .= $line_item->OBJ_type() ? '<br />' : '';
207
-        $code = $line_item_related_object instanceof EEI_Has_Code ? $line_item_related_object->code() : '';
208
-        $type_html .= ! empty($code) ? '<span class="ee-line-item-id">' . sprintf(__('Code: %s', 'event_espresso'), $code) . '</span>' : '';
209
-        $html .= EEH_HTML::td($type_html, '', 'jst-left');
210
-
211
-
212
-        // Amount Column
213
-        if ($line_item->is_percent()) {
214
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'jst-rght');
215
-        } else {
216
-            $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'jst-rght');
217
-        }
218
-
219
-        // QTY column
220
-        $html .= EEH_HTML::td($line_item->quantity(), '', 'jst-rght');
221
-
222
-        // total column
223
-        $html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
224
-
225
-        // finish things off and return
226
-        $html .= EEH_HTML::trx();
227
-        return $html;
228
-    }
229
-
230
-
231
-
232
-    /**
233
-     *    _get_cancellations
234
-     *
235
-     * @param EE_Line_Item $line_item
236
-     * @return string
237
-     */
238
-    protected function _get_cancellations(EE_Line_Item $line_item)
239
-    {
240
-        $html = '';
241
-        $cancellations = $line_item->get_cancellations();
242
-        $cancellation = reset($cancellations);
243
-        // \EEH_Debug_Tools::printr( $cancellation, '$cancellation', __FILE__, __LINE__ );
244
-        if ($cancellation instanceof EE_Line_Item) {
245
-            $html .= ' <span class="ee-line-item-id">';
246
-            $html .= sprintf(
247
-                _n(
248
-                    '(%1$s Cancellation)',
249
-                    '(%1$s Cancellations)',
250
-                    $cancellation->quantity(),
251
-                    'event_espresso'
252
-                ),
253
-                $cancellation->quantity()
254
-            );
255
-            $html .= '</span>';
256
-        }
257
-        return $html;
258
-    }
259
-
260
-
261
-
262
-    /**
263
-     *  _sub_item_row
264
-     *
265
-     * @param EE_Line_Item $line_item
266
-     * @param array        $options
267
-     * @return mixed
268
-     */
269
-    protected function _sub_item_row(EE_Line_Item $line_item, $options = array())
270
-    {
271
-        // for now we're not showing sub-items
272
-        return '';
273
-    }
274
-
275
-
276
-
277
-    /**
278
-     *  _tax_row
279
-     *
280
-     * @param EE_Line_Item $line_item
281
-     * @param array        $options
282
-     * @return mixed
283
-     */
284
-    protected function _tax_row(EE_Line_Item $line_item, $options = array())
285
-    {
286
-        // start of row
287
-        $html = EEH_HTML::tr('', 'admin-primary-mbox-taxes-tr');
288
-        // name th
289
-        $html .= EEH_HTML::th($line_item->name() . '(' . $line_item->get_pretty('LIN_percent') . '%)', '', 'jst-rght', '', ' colspan="4"');
290
-        // total th
291
-        $html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
292
-        // end of row
293
-        $html .= EEH_HTML::trx();
294
-        return $html;
295
-    }
296
-
297
-
298
-
299
-
300
-    /**
301
-     *  _total_row
302
-     *
303
-     * @param EE_Line_Item $line_item
304
-     * @param string       $text
305
-     * @param array        $options
306
-     * @return mixed
307
-     */
308
-    protected function _sub_total_row(EE_Line_Item $line_item, $text = '', $options = array())
309
-    {
310
-        // currently not showing subtotal row
311
-        return '';
312
-    }
313
-
314
-
315
-
316
-    /**
317
-     *  _total_row
318
-     *
319
-     * @param EE_Line_Item $line_item
320
-     * @param array        $options
321
-     * @return mixed
322
-     */
323
-    protected function _total_row(EE_Line_Item $line_item, $options = array())
324
-    {
325
-        // start of row
326
-        $html = EEH_HTML::tr('', '', 'admin-primary-mbox-total-tr');
327
-        // Total th label
328
-        $total_label = sprintf(__('Transaction Total %s', 'event_espresso'), '(' . EE_Registry::instance()->CFG->currency->code . ')');
329
-        $html .= EEH_HTML::th($total_label, '', 'jst-rght', '', ' colspan="4"');
330
-        // total th
331
-
332
-        $html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
333
-        // end of row
334
-        $html .= EEH_HTML::trx();
335
-        return $html;
336
-    }
17
+	/**
18
+	 * whether to display the taxes row or not
19
+	 * @type bool $_show_taxes
20
+	 */
21
+	protected $_show_taxes = false;
22
+
23
+	/**
24
+	 * html for any tax rows
25
+	 * @type string $_show_taxes
26
+	 */
27
+	protected $_taxes_html = '';
28
+
29
+
30
+	/**
31
+	 * total amount including tax we can bill for at this time
32
+	 * @type float $_grand_total
33
+	 */
34
+	protected $_grand_total = 0.00;
35
+
36
+
37
+
38
+	/**
39
+	 * @return float
40
+	 */
41
+	public function grand_total()
42
+	{
43
+		return $this->_grand_total;
44
+	}
45
+
46
+
47
+
48
+	/**
49
+	 * This is used to output a single
50
+	 * @param EE_Line_Item $line_item
51
+	 * @param array        $options
52
+	 * @return mixed
53
+	 */
54
+	public function display_line_item(EE_Line_Item $line_item, $options = array())
55
+	{
56
+
57
+		$html = '';
58
+		// set some default options and merge with incoming
59
+		$default_options = array(
60
+			'odd' => true,
61
+			'use_table_wrapper' => true,
62
+			'table_css_class' => 'admin-primary-mbox-tbl',
63
+			'taxes_tr_css_class' => 'admin-primary-mbox-taxes-tr',
64
+			'total_tr_css_class' => 'admin-primary-mbox-total-tr'
65
+		);
66
+		$options = array_merge($default_options, (array) $options);
67
+
68
+		switch ($line_item->type()) {
69
+			case EEM_Line_Item::type_line_item:
70
+				// item row
71
+				$html .= $this->_item_row($line_item, $options);
72
+				break;
73
+
74
+			case EEM_Line_Item::type_sub_line_item:
75
+				$html .= $this->_sub_item_row($line_item, $options);
76
+				break;
77
+
78
+			case EEM_Line_Item::type_sub_total:
79
+				if ($line_item->quantity() === 0) {
80
+					return $html;
81
+				}
82
+				// loop through children
83
+				$child_line_items = $line_item->children();
84
+				// loop through children
85
+				foreach ($child_line_items as $child_line_item) {
86
+					// recursively feed children back into this method
87
+					$html .= $this->display_line_item($child_line_item, $options);
88
+				}
89
+				$html .= $this->_sub_total_row($line_item, $options);
90
+				break;
91
+
92
+			case EEM_Line_Item::type_tax:
93
+				if ($this->_show_taxes) {
94
+					$this->_taxes_html .= $this->_tax_row($line_item, $options);
95
+				}
96
+				break;
97
+
98
+			case EEM_Line_Item::type_tax_sub_total:
99
+				foreach ($line_item->children() as $child_line_item) {
100
+					if ($child_line_item->type() == EEM_Line_Item::type_tax) {
101
+						$this->display_line_item($child_line_item, $options);
102
+					}
103
+				}
104
+				break;
105
+
106
+			case EEM_Line_Item::type_total:
107
+				// determine whether to display taxes or not
108
+				$this->_show_taxes = $line_item->get_total_tax() > 0 ? true : false;
109
+				// get all child line items
110
+				$children = $line_item->children();
111
+
112
+				// loop thru all non-tax child line items
113
+				foreach ($children as $child_line_item) {
114
+						$html .= $this->display_line_item($child_line_item, $options);
115
+				}
116
+
117
+				$html .= $this->_taxes_html;
118
+				$html .= $this->_total_row($line_item, $options);
119
+				if ($options['use_table_wrapper']) {
120
+					$html = $this->_table_header($options) . $html . $this->_table_footer($options);
121
+				}
122
+				break;
123
+		}
124
+
125
+		return $html;
126
+	}
127
+
128
+
129
+
130
+	/**
131
+	 * Table header for display.
132
+	 * @since   4.8
133
+	 * @param array $options
134
+	 * @return string
135
+	 */
136
+	protected function _table_header($options)
137
+	{
138
+		$html = EEH_HTML::table('', '', $options['table_css_class']);
139
+		$html .= EEH_HTML::thead();
140
+		$html .= EEH_HTML::tr();
141
+		$html .= EEH_HTML::th(__('Name', 'event_espresso'), '', 'jst-left');
142
+		$html .= EEH_HTML::th(__('Type', 'event_espresso'), '', 'jst-left');
143
+		$html .= EEH_HTML::th(__('Amount', 'event_espresso'), '', 'jst-cntr');
144
+		$html .= EEH_HTML::th(__('Qty', 'event_espresso'), '', 'jst-cntr');
145
+		$html .= EEH_HTML::th(__('Line Total', 'event_espresso'), '', 'jst-cntr');
146
+		$html .= EEH_HTML::tbody();
147
+		return $html;
148
+	}
149
+
150
+
151
+	/**
152
+	 * Table footer for display
153
+	 * @since 4.8
154
+	 * @param array $options array of options for the table.
155
+	 * @return string
156
+	 */
157
+	protected function _table_footer($options)
158
+	{
159
+		return EEH_HTML::tbodyx() .  EEH_HTML::tablex();
160
+	}
161
+
162
+
163
+
164
+	/**
165
+	 *    _item_row
166
+	 *
167
+	 * @param EE_Line_Item $line_item
168
+	 * @param array        $options
169
+	 * @return mixed
170
+	 */
171
+	protected function _item_row(EE_Line_Item $line_item, $options = array())
172
+	{
173
+		$line_item_related_object = $line_item->get_object();
174
+		$parent_line_item_related_object = $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->get_object() : null;
175
+		// start of row
176
+		$row_class = $options['odd'] ? 'item odd' : 'item';
177
+		$html = EEH_HTML::tr('', '', $row_class);
178
+
179
+
180
+		// Name Column
181
+		$name_link = $line_item_related_object instanceof EEI_Admin_Links ? $line_item_related_object->get_admin_details_link() : '';
182
+
183
+		// related object scope.
184
+		$parent_related_object_name = $parent_line_item_related_object instanceof EEI_Line_Item_Object ? $parent_line_item_related_object->name() : '';
185
+		$parent_related_object_name = empty($parent_related_object_name) && $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->name() : $parent_related_object_name;
186
+		$parent_related_object_link = $parent_line_item_related_object instanceof EEI_Admin_Links ? $parent_line_item_related_object->get_admin_details_link() : '';
187
+
188
+
189
+		$name_html = $line_item_related_object instanceof EEI_Line_Item_Object ? $line_item_related_object->name() : $line_item->name();
190
+		$name_html = $name_link ? '<a href="' . $name_link . '">' . $name_html . '</a>' : $name_html;
191
+		$name_html .= $line_item->is_taxable() ? ' *' : '';
192
+		// maybe preface with icon?
193
+		$name_html = $line_item_related_object instanceof EEI_Has_Icon ? $line_item_related_object->get_icon() . $name_html : $name_html;
194
+		$name_html = '<span class="ee-line-item-name linked">' . $name_html . '</span><br>';
195
+		$name_html .=  sprintf(
196
+			_x('%1$sfor the %2$s: %3$s%4$s', 'eg. "for the Event: My Cool Event"', 'event_espresso'),
197
+			'<span class="ee-line-item-related-parent-object">',
198
+			$line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->OBJ_type_i18n() : __('Item:', 'event_espresso'),
199
+			$parent_related_object_link ? '<a href="' . $parent_related_object_link . '">' . $parent_related_object_name . '</a>' : $parent_related_object_name,
200
+			'</span>'
201
+		);
202
+		$html .= EEH_HTML::td($name_html, '', 'jst-left');
203
+		// Type Column
204
+		$type_html = $line_item->OBJ_type() ? $line_item->OBJ_type_i18n() : '';
205
+		$type_html .= $this->_get_cancellations($line_item);
206
+		$type_html .= $line_item->OBJ_type() ? '<br />' : '';
207
+		$code = $line_item_related_object instanceof EEI_Has_Code ? $line_item_related_object->code() : '';
208
+		$type_html .= ! empty($code) ? '<span class="ee-line-item-id">' . sprintf(__('Code: %s', 'event_espresso'), $code) . '</span>' : '';
209
+		$html .= EEH_HTML::td($type_html, '', 'jst-left');
210
+
211
+
212
+		// Amount Column
213
+		if ($line_item->is_percent()) {
214
+			$html .= EEH_HTML::td($line_item->percent() . '%', '', 'jst-rght');
215
+		} else {
216
+			$html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'jst-rght');
217
+		}
218
+
219
+		// QTY column
220
+		$html .= EEH_HTML::td($line_item->quantity(), '', 'jst-rght');
221
+
222
+		// total column
223
+		$html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
224
+
225
+		// finish things off and return
226
+		$html .= EEH_HTML::trx();
227
+		return $html;
228
+	}
229
+
230
+
231
+
232
+	/**
233
+	 *    _get_cancellations
234
+	 *
235
+	 * @param EE_Line_Item $line_item
236
+	 * @return string
237
+	 */
238
+	protected function _get_cancellations(EE_Line_Item $line_item)
239
+	{
240
+		$html = '';
241
+		$cancellations = $line_item->get_cancellations();
242
+		$cancellation = reset($cancellations);
243
+		// \EEH_Debug_Tools::printr( $cancellation, '$cancellation', __FILE__, __LINE__ );
244
+		if ($cancellation instanceof EE_Line_Item) {
245
+			$html .= ' <span class="ee-line-item-id">';
246
+			$html .= sprintf(
247
+				_n(
248
+					'(%1$s Cancellation)',
249
+					'(%1$s Cancellations)',
250
+					$cancellation->quantity(),
251
+					'event_espresso'
252
+				),
253
+				$cancellation->quantity()
254
+			);
255
+			$html .= '</span>';
256
+		}
257
+		return $html;
258
+	}
259
+
260
+
261
+
262
+	/**
263
+	 *  _sub_item_row
264
+	 *
265
+	 * @param EE_Line_Item $line_item
266
+	 * @param array        $options
267
+	 * @return mixed
268
+	 */
269
+	protected function _sub_item_row(EE_Line_Item $line_item, $options = array())
270
+	{
271
+		// for now we're not showing sub-items
272
+		return '';
273
+	}
274
+
275
+
276
+
277
+	/**
278
+	 *  _tax_row
279
+	 *
280
+	 * @param EE_Line_Item $line_item
281
+	 * @param array        $options
282
+	 * @return mixed
283
+	 */
284
+	protected function _tax_row(EE_Line_Item $line_item, $options = array())
285
+	{
286
+		// start of row
287
+		$html = EEH_HTML::tr('', 'admin-primary-mbox-taxes-tr');
288
+		// name th
289
+		$html .= EEH_HTML::th($line_item->name() . '(' . $line_item->get_pretty('LIN_percent') . '%)', '', 'jst-rght', '', ' colspan="4"');
290
+		// total th
291
+		$html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
292
+		// end of row
293
+		$html .= EEH_HTML::trx();
294
+		return $html;
295
+	}
296
+
297
+
298
+
299
+
300
+	/**
301
+	 *  _total_row
302
+	 *
303
+	 * @param EE_Line_Item $line_item
304
+	 * @param string       $text
305
+	 * @param array        $options
306
+	 * @return mixed
307
+	 */
308
+	protected function _sub_total_row(EE_Line_Item $line_item, $text = '', $options = array())
309
+	{
310
+		// currently not showing subtotal row
311
+		return '';
312
+	}
313
+
314
+
315
+
316
+	/**
317
+	 *  _total_row
318
+	 *
319
+	 * @param EE_Line_Item $line_item
320
+	 * @param array        $options
321
+	 * @return mixed
322
+	 */
323
+	protected function _total_row(EE_Line_Item $line_item, $options = array())
324
+	{
325
+		// start of row
326
+		$html = EEH_HTML::tr('', '', 'admin-primary-mbox-total-tr');
327
+		// Total th label
328
+		$total_label = sprintf(__('Transaction Total %s', 'event_espresso'), '(' . EE_Registry::instance()->CFG->currency->code . ')');
329
+		$html .= EEH_HTML::th($total_label, '', 'jst-rght', '', ' colspan="4"');
330
+		// total th
331
+
332
+		$html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
333
+		// end of row
334
+		$html .= EEH_HTML::trx();
335
+		return $html;
336
+	}
337 337
 }
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
                 $html .= $this->_taxes_html;
118 118
                 $html .= $this->_total_row($line_item, $options);
119 119
                 if ($options['use_table_wrapper']) {
120
-                    $html = $this->_table_header($options) . $html . $this->_table_footer($options);
120
+                    $html = $this->_table_header($options).$html.$this->_table_footer($options);
121 121
                 }
122 122
                 break;
123 123
         }
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
      */
157 157
     protected function _table_footer($options)
158 158
     {
159
-        return EEH_HTML::tbodyx() .  EEH_HTML::tablex();
159
+        return EEH_HTML::tbodyx().EEH_HTML::tablex();
160 160
     }
161 161
 
162 162
 
@@ -187,16 +187,16 @@  discard block
 block discarded – undo
187 187
 
188 188
 
189 189
         $name_html = $line_item_related_object instanceof EEI_Line_Item_Object ? $line_item_related_object->name() : $line_item->name();
190
-        $name_html = $name_link ? '<a href="' . $name_link . '">' . $name_html . '</a>' : $name_html;
190
+        $name_html = $name_link ? '<a href="'.$name_link.'">'.$name_html.'</a>' : $name_html;
191 191
         $name_html .= $line_item->is_taxable() ? ' *' : '';
192 192
         // maybe preface with icon?
193
-        $name_html = $line_item_related_object instanceof EEI_Has_Icon ? $line_item_related_object->get_icon() . $name_html : $name_html;
194
-        $name_html = '<span class="ee-line-item-name linked">' . $name_html . '</span><br>';
195
-        $name_html .=  sprintf(
193
+        $name_html = $line_item_related_object instanceof EEI_Has_Icon ? $line_item_related_object->get_icon().$name_html : $name_html;
194
+        $name_html = '<span class="ee-line-item-name linked">'.$name_html.'</span><br>';
195
+        $name_html .= sprintf(
196 196
             _x('%1$sfor the %2$s: %3$s%4$s', 'eg. "for the Event: My Cool Event"', 'event_espresso'),
197 197
             '<span class="ee-line-item-related-parent-object">',
198 198
             $line_item->parent() instanceof EE_Line_Item ? $line_item->parent()->OBJ_type_i18n() : __('Item:', 'event_espresso'),
199
-            $parent_related_object_link ? '<a href="' . $parent_related_object_link . '">' . $parent_related_object_name . '</a>' : $parent_related_object_name,
199
+            $parent_related_object_link ? '<a href="'.$parent_related_object_link.'">'.$parent_related_object_name.'</a>' : $parent_related_object_name,
200 200
             '</span>'
201 201
         );
202 202
         $html .= EEH_HTML::td($name_html, '', 'jst-left');
@@ -205,13 +205,13 @@  discard block
 block discarded – undo
205 205
         $type_html .= $this->_get_cancellations($line_item);
206 206
         $type_html .= $line_item->OBJ_type() ? '<br />' : '';
207 207
         $code = $line_item_related_object instanceof EEI_Has_Code ? $line_item_related_object->code() : '';
208
-        $type_html .= ! empty($code) ? '<span class="ee-line-item-id">' . sprintf(__('Code: %s', 'event_espresso'), $code) . '</span>' : '';
208
+        $type_html .= ! empty($code) ? '<span class="ee-line-item-id">'.sprintf(__('Code: %s', 'event_espresso'), $code).'</span>' : '';
209 209
         $html .= EEH_HTML::td($type_html, '', 'jst-left');
210 210
 
211 211
 
212 212
         // Amount Column
213 213
         if ($line_item->is_percent()) {
214
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'jst-rght');
214
+            $html .= EEH_HTML::td($line_item->percent().'%', '', 'jst-rght');
215 215
         } else {
216 216
             $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'jst-rght');
217 217
         }
@@ -286,7 +286,7 @@  discard block
 block discarded – undo
286 286
         // start of row
287 287
         $html = EEH_HTML::tr('', 'admin-primary-mbox-taxes-tr');
288 288
         // name th
289
-        $html .= EEH_HTML::th($line_item->name() . '(' . $line_item->get_pretty('LIN_percent') . '%)', '', 'jst-rght', '', ' colspan="4"');
289
+        $html .= EEH_HTML::th($line_item->name().'('.$line_item->get_pretty('LIN_percent').'%)', '', 'jst-rght', '', ' colspan="4"');
290 290
         // total th
291 291
         $html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
292 292
         // end of row
@@ -325,7 +325,7 @@  discard block
 block discarded – undo
325 325
         // start of row
326 326
         $html = EEH_HTML::tr('', '', 'admin-primary-mbox-total-tr');
327 327
         // Total th label
328
-        $total_label = sprintf(__('Transaction Total %s', 'event_espresso'), '(' . EE_Registry::instance()->CFG->currency->code . ')');
328
+        $total_label = sprintf(__('Transaction Total %s', 'event_espresso'), '('.EE_Registry::instance()->CFG->currency->code.')');
329 329
         $html .= EEH_HTML::th($total_label, '', 'jst-rght', '', ' colspan="4"');
330 330
         // total th
331 331
 
Please login to merge, or discard this patch.
line_item_display/EE_Default_Line_Item_Display_Strategy.strategy.php 3 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
     /**
59 59
      * @param EE_Line_Item $line_item
60 60
      * @param array        $options
61
-     * @return mixed
61
+     * @return string
62 62
      */
63 63
     public function display_line_item(EE_Line_Item $line_item, $options = array())
64 64
     {
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
      *
135 135
      * @param EE_Line_Item $line_item
136 136
      * @param array        $options
137
-     * @return mixed
137
+     * @return string
138 138
      */
139 139
     private function _item_row(EE_Line_Item $line_item, $options = array())
140 140
     {
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
      *
190 190
      * @param EE_Line_Item $line_item
191 191
      * @param array        $options
192
-     * @return mixed
192
+     * @return string
193 193
      */
194 194
     private function _sub_item_row(EE_Line_Item $line_item, $options = array())
195 195
     {
Please login to merge, or discard this patch.
Indentation   +218 added lines, -218 removed lines patch added patch discarded remove patch
@@ -1,225 +1,225 @@
 block discarded – undo
1 1
 <?php
2 2
  /**
3
- *
4
- * Class EE_Default_Line_Item_Display_Strategy
5
- *
6
- * Description
7
- *
8
- * @package         Event Espresso
9
- * @subpackage    core
10
- * @author              Brent Christensen
11
- *
12
- *
13
- */
3
+  *
4
+  * Class EE_Default_Line_Item_Display_Strategy
5
+  *
6
+  * Description
7
+  *
8
+  * @package         Event Espresso
9
+  * @subpackage    core
10
+  * @author              Brent Christensen
11
+  *
12
+  *
13
+  */
14 14
 
15 15
 class EE_Default_Line_Item_Display_Strategy implements EEI_Line_Item_Display
16 16
 {
17 17
 
18
-    /**
19
-     * total amount of tax to apply
20
-     * @type float $_tax_rate
21
-     */
22
-    private $_tax_rate = 0;
23
-
24
-    /**
25
-     * total amount including tax we can bill for at this time
26
-     * @type float $_grand_total
27
-     */
28
-    private $_grand_total = 0.00;
29
-
30
-    /**
31
-     * total number of items being billed for
32
-     * @type int $_total_items
33
-     */
34
-    private $_total_items = 0;
35
-
36
-
37
-
38
-    /**
39
-     * @return float
40
-     */
41
-    public function grand_total()
42
-    {
43
-        return $this->_grand_total;
44
-    }
45
-
46
-
47
-
48
-    /**
49
-     * @return int
50
-     */
51
-    public function total_items()
52
-    {
53
-        return $this->_total_items;
54
-    }
55
-
56
-
57
-
58
-    /**
59
-     * @param EE_Line_Item $line_item
60
-     * @param array        $options
61
-     * @return mixed
62
-     */
63
-    public function display_line_item(EE_Line_Item $line_item, $options = array())
64
-    {
65
-
66
-        $html = '';
67
-        // set some default options and merge with incoming
68
-        $default_options = array(
69
-            'show_desc' => true,  //    TRUE        FALSE
70
-            'odd' => false
71
-        );
72
-        $options = array_merge($default_options, (array) $options);
73
-
74
-        switch ($line_item->type()) {
75
-            case EEM_Line_Item::type_line_item:
76
-                // item row
77
-                $html .= $this->_item_row($line_item, $options);
78
-                // got any kids?
79
-                foreach ($line_item->children() as $child_line_item) {
80
-                    $this->display_line_item($child_line_item, $options);
81
-                }
82
-                break;
83
-
84
-            case EEM_Line_Item::type_sub_line_item:
85
-                $html .= $this->_sub_item_row($line_item, $options);
86
-                break;
87
-
88
-            case EEM_Line_Item::type_sub_total:
89
-                break;
90
-
91
-            case EEM_Line_Item::type_tax:
92
-                $this->_tax_rate += $line_item->percent();
93
-                break;
94
-
95
-            case EEM_Line_Item::type_tax_sub_total:
96
-                foreach ($line_item->children() as $child_line_item) {
97
-                    if ($child_line_item->type() == EEM_Line_Item::type_tax) {
98
-                        // recursively feed children back into this method
99
-                        $this->display_line_item($child_line_item, $options);
100
-                    }
101
-                }
102
-                break;
103
-
104
-            case EEM_Line_Item::type_total:
105
-                // get all child line items
106
-                $children = $line_item->children();
107
-                if ($options['set_tax_rate'] === true) {
108
-                    // loop thru tax child line items just to determine tax rate
109
-                    foreach ($children as $child_line_item) {
110
-                        if ($child_line_item->type() == EEM_Line_Item::type_tax_sub_total) {
111
-                            // recursively feed children back into this method
112
-                            $this->display_line_item($child_line_item, $options);
113
-                        }
114
-                    }
115
-                } else {
116
-                    // now loop thru all non-tax child line items
117
-                    foreach ($children as $child_line_item) {
118
-                        if ($child_line_item->type() != EEM_Line_Item::type_tax_sub_total) {
119
-                            // recursively feed children back into this method
120
-                            $html .= $this->display_line_item($child_line_item, $options);
121
-                        }
122
-                    }
123
-                }
124
-                break;
125
-        }
126
-
127
-        return $html;
128
-    }
129
-
130
-
131
-
132
-    /**
133
-     *  _total_row
134
-     *
135
-     * @param EE_Line_Item $line_item
136
-     * @param array        $options
137
-     * @return mixed
138
-     */
139
-    private function _item_row(EE_Line_Item $line_item, $options = array())
140
-    {
141
-        // start of row
142
-        $row_class = $options['odd'] ? 'item odd' : 'item';
143
-        $html = EEH_HTML::tr('', '', $row_class);
144
-        // name && desc
145
-        $name_and_desc = apply_filters(
146
-            'FHEE__EE_Default_Line_Item_Display_Strategy__item_row__name',
147
-            $line_item->name(),
148
-            $line_item
149
-        );
150
-        $name_and_desc .= apply_filters(
151
-            'FHEE__EE_Default_Line_Item_Display_Strategy__item_row__desc',
152
-            ( $options['show_desc'] ? '<span class="line-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '' ),
153
-            $line_item,
154
-            $options
155
-        );
156
-        if ($line_item->is_taxable()) {
157
-            $ticket_price_includes_taxes = EE_Registry::instance()->CFG->tax_settings->prices_displayed_including_taxes
158
-                ? esc_html__('* price includes taxes', 'event_espresso')
159
-                : esc_html__('* price does not include taxes', 'event_espresso');
160
-            $name_and_desc .= '<span class="smaller-text lt-grey-text" style="margin:0 0 0 2em;">'
161
-                  . $ticket_price_includes_taxes
162
-                  . '</span>';
163
-        }
164
-
165
-        // name td
166
-        $html .= EEH_HTML::td($name_and_desc, '', 'item_l');
167
-        // quantity td
168
-        $html .= EEH_HTML::td($line_item->quantity(), '', 'item_l jst-rght');
169
-        $tax_rate = $line_item->is_taxable()
170
-                    && EE_Registry::instance()->CFG->tax_settings->prices_displayed_including_taxes
171
-            ? 1 + ( $this->_tax_rate / 100 )
172
-            : 1;
173
-        // price td
174
-        $unit_price = apply_filters(
175
-            'FHEE__EE_Default_Line_Item_Display_Strategy___item_row__unit_price',
176
-            EEH_Template::format_currency($line_item->unit_price() * $tax_rate, false, false),
177
-            $line_item,
178
-            $tax_rate
179
-        );
180
-        $html .= EEH_HTML::td($unit_price, '', 'item_c jst-rght');
181
-        // total td
182
-        $total = apply_filters(
183
-            'FHEE__EE_Default_Line_Item_Display_Strategy___item_row__total',
184
-            EEH_Template::format_currency($line_item->unit_price() * $line_item->quantity() * $tax_rate, false, false),
185
-            $line_item,
186
-            $tax_rate
187
-        );
188
-        $html .= EEH_HTML::td($total, '', 'item_r jst-rght');
189
-        // end of row
190
-        $html .= EEH_HTML::trx();
191
-
192
-        return $html;
193
-    }
194
-
195
-
196
-
197
-    /**
198
-     *  _sub_item_row
199
-     *
200
-     * @param EE_Line_Item $line_item
201
-     * @param array        $options
202
-     * @return mixed
203
-     */
204
-    private function _sub_item_row(EE_Line_Item $line_item, $options = array())
205
-    {
206
-        // start of row
207
-        $html = EEH_HTML::tr('', 'item sub-item-row');
208
-        // name && desc
209
-        $name_and_desc = $line_item->name();
210
-        $name_and_desc .= $options['show_desc'] ? '<span class="line-sub-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '';
211
-        // name td
212
-        $html .= EEH_HTML::td(/*__FUNCTION__ .*/ $name_and_desc, '', 'item_l sub-item');
213
-        // discount/surcharge td
214
-        if ($line_item->is_percent()) {
215
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
216
-        } else {
217
-            $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c jst-rght');
218
-        }
219
-        // total td
220
-        $html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'item_r jst-rght');
221
-        // end of row
222
-        $html .= EEH_HTML::trx();
223
-        return $html;
224
-    }
18
+	/**
19
+	 * total amount of tax to apply
20
+	 * @type float $_tax_rate
21
+	 */
22
+	private $_tax_rate = 0;
23
+
24
+	/**
25
+	 * total amount including tax we can bill for at this time
26
+	 * @type float $_grand_total
27
+	 */
28
+	private $_grand_total = 0.00;
29
+
30
+	/**
31
+	 * total number of items being billed for
32
+	 * @type int $_total_items
33
+	 */
34
+	private $_total_items = 0;
35
+
36
+
37
+
38
+	/**
39
+	 * @return float
40
+	 */
41
+	public function grand_total()
42
+	{
43
+		return $this->_grand_total;
44
+	}
45
+
46
+
47
+
48
+	/**
49
+	 * @return int
50
+	 */
51
+	public function total_items()
52
+	{
53
+		return $this->_total_items;
54
+	}
55
+
56
+
57
+
58
+	/**
59
+	 * @param EE_Line_Item $line_item
60
+	 * @param array        $options
61
+	 * @return mixed
62
+	 */
63
+	public function display_line_item(EE_Line_Item $line_item, $options = array())
64
+	{
65
+
66
+		$html = '';
67
+		// set some default options and merge with incoming
68
+		$default_options = array(
69
+			'show_desc' => true,  //    TRUE        FALSE
70
+			'odd' => false
71
+		);
72
+		$options = array_merge($default_options, (array) $options);
73
+
74
+		switch ($line_item->type()) {
75
+			case EEM_Line_Item::type_line_item:
76
+				// item row
77
+				$html .= $this->_item_row($line_item, $options);
78
+				// got any kids?
79
+				foreach ($line_item->children() as $child_line_item) {
80
+					$this->display_line_item($child_line_item, $options);
81
+				}
82
+				break;
83
+
84
+			case EEM_Line_Item::type_sub_line_item:
85
+				$html .= $this->_sub_item_row($line_item, $options);
86
+				break;
87
+
88
+			case EEM_Line_Item::type_sub_total:
89
+				break;
90
+
91
+			case EEM_Line_Item::type_tax:
92
+				$this->_tax_rate += $line_item->percent();
93
+				break;
94
+
95
+			case EEM_Line_Item::type_tax_sub_total:
96
+				foreach ($line_item->children() as $child_line_item) {
97
+					if ($child_line_item->type() == EEM_Line_Item::type_tax) {
98
+						// recursively feed children back into this method
99
+						$this->display_line_item($child_line_item, $options);
100
+					}
101
+				}
102
+				break;
103
+
104
+			case EEM_Line_Item::type_total:
105
+				// get all child line items
106
+				$children = $line_item->children();
107
+				if ($options['set_tax_rate'] === true) {
108
+					// loop thru tax child line items just to determine tax rate
109
+					foreach ($children as $child_line_item) {
110
+						if ($child_line_item->type() == EEM_Line_Item::type_tax_sub_total) {
111
+							// recursively feed children back into this method
112
+							$this->display_line_item($child_line_item, $options);
113
+						}
114
+					}
115
+				} else {
116
+					// now loop thru all non-tax child line items
117
+					foreach ($children as $child_line_item) {
118
+						if ($child_line_item->type() != EEM_Line_Item::type_tax_sub_total) {
119
+							// recursively feed children back into this method
120
+							$html .= $this->display_line_item($child_line_item, $options);
121
+						}
122
+					}
123
+				}
124
+				break;
125
+		}
126
+
127
+		return $html;
128
+	}
129
+
130
+
131
+
132
+	/**
133
+	 *  _total_row
134
+	 *
135
+	 * @param EE_Line_Item $line_item
136
+	 * @param array        $options
137
+	 * @return mixed
138
+	 */
139
+	private function _item_row(EE_Line_Item $line_item, $options = array())
140
+	{
141
+		// start of row
142
+		$row_class = $options['odd'] ? 'item odd' : 'item';
143
+		$html = EEH_HTML::tr('', '', $row_class);
144
+		// name && desc
145
+		$name_and_desc = apply_filters(
146
+			'FHEE__EE_Default_Line_Item_Display_Strategy__item_row__name',
147
+			$line_item->name(),
148
+			$line_item
149
+		);
150
+		$name_and_desc .= apply_filters(
151
+			'FHEE__EE_Default_Line_Item_Display_Strategy__item_row__desc',
152
+			( $options['show_desc'] ? '<span class="line-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '' ),
153
+			$line_item,
154
+			$options
155
+		);
156
+		if ($line_item->is_taxable()) {
157
+			$ticket_price_includes_taxes = EE_Registry::instance()->CFG->tax_settings->prices_displayed_including_taxes
158
+				? esc_html__('* price includes taxes', 'event_espresso')
159
+				: esc_html__('* price does not include taxes', 'event_espresso');
160
+			$name_and_desc .= '<span class="smaller-text lt-grey-text" style="margin:0 0 0 2em;">'
161
+				  . $ticket_price_includes_taxes
162
+				  . '</span>';
163
+		}
164
+
165
+		// name td
166
+		$html .= EEH_HTML::td($name_and_desc, '', 'item_l');
167
+		// quantity td
168
+		$html .= EEH_HTML::td($line_item->quantity(), '', 'item_l jst-rght');
169
+		$tax_rate = $line_item->is_taxable()
170
+					&& EE_Registry::instance()->CFG->tax_settings->prices_displayed_including_taxes
171
+			? 1 + ( $this->_tax_rate / 100 )
172
+			: 1;
173
+		// price td
174
+		$unit_price = apply_filters(
175
+			'FHEE__EE_Default_Line_Item_Display_Strategy___item_row__unit_price',
176
+			EEH_Template::format_currency($line_item->unit_price() * $tax_rate, false, false),
177
+			$line_item,
178
+			$tax_rate
179
+		);
180
+		$html .= EEH_HTML::td($unit_price, '', 'item_c jst-rght');
181
+		// total td
182
+		$total = apply_filters(
183
+			'FHEE__EE_Default_Line_Item_Display_Strategy___item_row__total',
184
+			EEH_Template::format_currency($line_item->unit_price() * $line_item->quantity() * $tax_rate, false, false),
185
+			$line_item,
186
+			$tax_rate
187
+		);
188
+		$html .= EEH_HTML::td($total, '', 'item_r jst-rght');
189
+		// end of row
190
+		$html .= EEH_HTML::trx();
191
+
192
+		return $html;
193
+	}
194
+
195
+
196
+
197
+	/**
198
+	 *  _sub_item_row
199
+	 *
200
+	 * @param EE_Line_Item $line_item
201
+	 * @param array        $options
202
+	 * @return mixed
203
+	 */
204
+	private function _sub_item_row(EE_Line_Item $line_item, $options = array())
205
+	{
206
+		// start of row
207
+		$html = EEH_HTML::tr('', 'item sub-item-row');
208
+		// name && desc
209
+		$name_and_desc = $line_item->name();
210
+		$name_and_desc .= $options['show_desc'] ? '<span class="line-sub-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '';
211
+		// name td
212
+		$html .= EEH_HTML::td(/*__FUNCTION__ .*/ $name_and_desc, '', 'item_l sub-item');
213
+		// discount/surcharge td
214
+		if ($line_item->is_percent()) {
215
+			$html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
216
+		} else {
217
+			$html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c jst-rght');
218
+		}
219
+		// total td
220
+		$html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'item_r jst-rght');
221
+		// end of row
222
+		$html .= EEH_HTML::trx();
223
+		return $html;
224
+	}
225 225
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
         $html = '';
67 67
         // set some default options and merge with incoming
68 68
         $default_options = array(
69
-            'show_desc' => true,  //    TRUE        FALSE
69
+            'show_desc' => true, //    TRUE        FALSE
70 70
             'odd' => false
71 71
         );
72 72
         $options = array_merge($default_options, (array) $options);
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
         );
150 150
         $name_and_desc .= apply_filters(
151 151
             'FHEE__EE_Default_Line_Item_Display_Strategy__item_row__desc',
152
-            ( $options['show_desc'] ? '<span class="line-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '' ),
152
+            ($options['show_desc'] ? '<span class="line-item-desc-spn smaller-text">: '.$line_item->desc().'</span>' : ''),
153 153
             $line_item,
154 154
             $options
155 155
         );
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
         $html .= EEH_HTML::td($line_item->quantity(), '', 'item_l jst-rght');
169 169
         $tax_rate = $line_item->is_taxable()
170 170
                     && EE_Registry::instance()->CFG->tax_settings->prices_displayed_including_taxes
171
-            ? 1 + ( $this->_tax_rate / 100 )
171
+            ? 1 + ($this->_tax_rate / 100)
172 172
             : 1;
173 173
         // price td
174 174
         $unit_price = apply_filters(
@@ -207,12 +207,12 @@  discard block
 block discarded – undo
207 207
         $html = EEH_HTML::tr('', 'item sub-item-row');
208 208
         // name && desc
209 209
         $name_and_desc = $line_item->name();
210
-        $name_and_desc .= $options['show_desc'] ? '<span class="line-sub-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '';
210
+        $name_and_desc .= $options['show_desc'] ? '<span class="line-sub-item-desc-spn smaller-text">: '.$line_item->desc().'</span>' : '';
211 211
         // name td
212 212
         $html .= EEH_HTML::td(/*__FUNCTION__ .*/ $name_and_desc, '', 'item_l sub-item');
213 213
         // discount/surcharge td
214 214
         if ($line_item->is_percent()) {
215
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
215
+            $html .= EEH_HTML::td($line_item->percent().'%', '', 'item_c');
216 216
         } else {
217 217
             $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c jst-rght');
218 218
         }
Please login to merge, or discard this patch.
line_item_display/EE_Invoice_Line_Item_Display_Strategy.strategy.php 3 patches
Doc Comments   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
     /**
18 18
      * @param EE_Line_Item $line_item
19 19
      * @param array        $options
20
-     * @return mixed
20
+     * @return string
21 21
      */
22 22
     public function display_line_item(EE_Line_Item $line_item, $options = array())
23 23
     {
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
      *
93 93
      * @param EE_Line_Item $line_item
94 94
      * @param array        $options
95
-     * @return mixed
95
+     * @return string
96 96
      */
97 97
     private function _item_row(EE_Line_Item $line_item, $options = array())
98 98
     {
@@ -122,7 +122,7 @@  discard block
 block discarded – undo
122 122
      *
123 123
      * @param EE_Line_Item $line_item
124 124
      * @param array        $options
125
-     * @return mixed
125
+     * @return string
126 126
      */
127 127
     private function _sub_item_row(EE_Line_Item $line_item, $options = array())
128 128
     {
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
      *
154 154
      * @param EE_Line_Item $line_item
155 155
      * @param array        $options
156
-     * @return mixed
156
+     * @return string
157 157
      */
158 158
     private function _tax_row(EE_Line_Item $line_item, $options = array())
159 159
     {
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
      * @param EE_Line_Item $line_item
181 181
      * @param string       $text
182 182
      * @param array        $options
183
-     * @return mixed
183
+     * @return string
184 184
      */
185 185
     private function _total_row(EE_Line_Item $line_item, $text = '', $options = array())
186 186
     {
@@ -205,7 +205,7 @@  discard block
 block discarded – undo
205 205
      *  _separator_row
206 206
      *
207 207
      * @param array        $options
208
-     * @return mixed
208
+     * @return string
209 209
      */
210 210
     private function _separator_row($options = array())
211 211
     {
Please login to merge, or discard this patch.
Indentation   +212 added lines, -212 removed lines patch added patch discarded remove patch
@@ -1,222 +1,222 @@
 block discarded – undo
1 1
 <?php
2 2
  /**
3
- *
4
- * Class EE_Invoice_Line_Item_Display_Strategy
5
- *
6
- * Description
7
- *
8
- * @package         Event Espresso
9
- * @subpackage    core
10
- * @author              Brent Christensen
11
- *
12
- *
13
- */
3
+  *
4
+  * Class EE_Invoice_Line_Item_Display_Strategy
5
+  *
6
+  * Description
7
+  *
8
+  * @package         Event Espresso
9
+  * @subpackage    core
10
+  * @author              Brent Christensen
11
+  *
12
+  *
13
+  */
14 14
 class EE_Invoice_Line_Item_Display_Strategy implements EEI_Line_Item_Display
15 15
 {
16 16
 
17
-    /**
18
-     * @param EE_Line_Item $line_item
19
-     * @param array        $options
20
-     * @return mixed
21
-     */
22
-    public function display_line_item(EE_Line_Item $line_item, $options = array())
23
-    {
24
-
25
-        $html = '';
26
-        // set some default options and merge with incoming
27
-        $default_options = array(
28
-            'show_desc' => true,
29
-            'odd' => false
30
-        );
31
-        $options = array_merge($default_options, (array) $options);
32
-
33
-        switch ($line_item->type()) {
34
-            case EEM_Line_Item::type_total:
35
-                // loop thru children
36
-                foreach ($line_item->children() as $child_line_item) {
37
-                    // recursively feed children back into this method
38
-                    $html .= $this->display_line_item($child_line_item, $options);
39
-                }
40
-                $html .= $this->_separator_row($options);
41
-                $html .= $this->_total_row($line_item, __('Total', 'event_espresso'), $options);
42
-                break;
43
-
44
-
45
-            case EEM_Line_Item::type_sub_total:
46
-                // loop thru children
47
-                foreach ($line_item->children() as $child_line_item) {
48
-                    // recursively feed children back into this method
49
-                    $html .= $this->display_line_item($child_line_item, $options);
50
-                }
51
-                $html .= $this->_total_row($line_item, __('Sub-Total', 'event_espresso'), $options);
52
-                break;
53
-
54
-
55
-            case EEM_Line_Item::type_tax_sub_total:
56
-                // loop thru children
57
-                foreach ($line_item->children() as $child_line_item) {
58
-                    // recursively feed children back into this method
59
-                    $html .= $this->display_line_item($child_line_item, $options);
60
-                }
61
-                $html .= $this->_total_row($line_item, __('Tax Total', 'event_espresso'), $options);
62
-                break;
63
-
64
-
65
-            case EEM_Line_Item::type_line_item:
66
-                // item row
67
-                $html .= $this->_item_row($line_item, $options);
68
-                // got any kids?
69
-                foreach ($line_item->children() as $child_line_item) {
70
-                    $this->display_line_item($child_line_item, $options);
71
-                }
72
-                break;
73
-
74
-
75
-            case EEM_Line_Item::type_sub_line_item:
76
-                $html .= $this->_sub_item_row($line_item, $options);
77
-                break;
78
-
79
-
80
-            case EEM_Line_Item::type_tax:
81
-                $html .= $this->_tax_row($line_item, $options);
82
-                break;
83
-        }
84
-
85
-        return $html;
86
-    }
87
-
88
-
89
-
90
-    /**
91
-     *  _total_row
92
-     *
93
-     * @param EE_Line_Item $line_item
94
-     * @param array        $options
95
-     * @return mixed
96
-     */
97
-    private function _item_row(EE_Line_Item $line_item, $options = array())
98
-    {
99
-        // start of row
100
-        $row_class = $options['odd'] ? 'item odd' : 'item';
101
-        $html = EEH_HTML::tr('', $row_class);
102
-        // name td
103
-        $html .= EEH_HTML::td($line_item->name(), '', 'item_l');
104
-        // desc td
105
-        $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
106
-        // quantity td
107
-        $html .= EEH_HTML::td($line_item->quantity(), '', 'item_l');
108
-        // price td
109
-        $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
110
-        // total td
111
-        $total = $line_item->is_taxable() ? $line_item->total_no_code() . '*' : $line_item->total_no_code();
112
-        $html .= EEH_HTML::td($total, '', 'item_r');
113
-        // end of row
114
-        $html .= EEH_HTML::trx();
115
-        return $html;
116
-    }
117
-
118
-
119
-
120
-    /**
121
-     *  _sub_item_row
122
-     *
123
-     * @param EE_Line_Item $line_item
124
-     * @param array        $options
125
-     * @return mixed
126
-     */
127
-    private function _sub_item_row(EE_Line_Item $line_item, $options = array())
128
-    {
129
-        // start of row
130
-        $html = EEH_HTML::tr('', 'item sub-item-row');
131
-        // name td
132
-        $html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
133
-        // desc td
134
-        $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
135
-        $html .= EEH_HTML::td() . EEH_HTML::tdx();
136
-        // discount/surcharge td
137
-        if ($line_item->is_percent()) {
138
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
139
-        } else {
140
-            $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
141
-        }
142
-        // total td
143
-        $html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
144
-        // end of row
145
-        $html .= EEH_HTML::trx();
146
-        return $html;
147
-    }
148
-
149
-
150
-
151
-    /**
152
-     *  _tax_row
153
-     *
154
-     * @param EE_Line_Item $line_item
155
-     * @param array        $options
156
-     * @return mixed
157
-     */
158
-    private function _tax_row(EE_Line_Item $line_item, $options = array())
159
-    {
160
-        // start of row
161
-        $html = EEH_HTML::tr('', 'item sub-item tax-total');
162
-        // name td
163
-        $html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
164
-        // desc td
165
-        $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
166
-        // percent td
167
-        $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c', '', ' colspan="2"');
168
-        // total td
169
-        $html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
170
-        // end of row
171
-        $html .= EEH_HTML::trx();
172
-        return $html;
173
-    }
174
-
175
-
176
-
177
-    /**
178
-     *  _total_row
179
-     *
180
-     * @param EE_Line_Item $line_item
181
-     * @param string       $text
182
-     * @param array        $options
183
-     * @return mixed
184
-     */
185
-    private function _total_row(EE_Line_Item $line_item, $text = '', $options = array())
186
-    {
187
-        // colspan
188
-        $colspan = $options['show_desc'] ? ' colspan="2"' : '';
189
-        // start of row
190
-        $html = EEH_HTML::tr('', '', 'total_tr odd');
191
-        // empty td
192
-        $html .= EEH_HTML::td(EEH_HTML::nbsp(), '', '', '', $colspan);
193
-        // total td
194
-        $html .= EEH_HTML::td($text, '', 'total_currency total', '', $colspan);
195
-        // total td
196
-        $html .= EEH_HTML::td($line_item->total_no_code(), '', 'total');
197
-        // end of row
198
-        $html .= EEH_HTML::trx();
199
-        return $html;
200
-    }
201
-
202
-
203
-
204
-    /**
205
-     *  _separator_row
206
-     *
207
-     * @param array        $options
208
-     * @return mixed
209
-     */
210
-    private function _separator_row($options = array())
211
-    {
212
-        // colspan
213
-        $colspan = $options['show_desc'] ? ' colspan="5"' : ' colspan="4"';
214
-        // start of row
215
-        $html = EEH_HTML::tr(EEH_HTML::td('<hr>', '', '', '', $colspan));
17
+	/**
18
+	 * @param EE_Line_Item $line_item
19
+	 * @param array        $options
20
+	 * @return mixed
21
+	 */
22
+	public function display_line_item(EE_Line_Item $line_item, $options = array())
23
+	{
24
+
25
+		$html = '';
26
+		// set some default options and merge with incoming
27
+		$default_options = array(
28
+			'show_desc' => true,
29
+			'odd' => false
30
+		);
31
+		$options = array_merge($default_options, (array) $options);
32
+
33
+		switch ($line_item->type()) {
34
+			case EEM_Line_Item::type_total:
35
+				// loop thru children
36
+				foreach ($line_item->children() as $child_line_item) {
37
+					// recursively feed children back into this method
38
+					$html .= $this->display_line_item($child_line_item, $options);
39
+				}
40
+				$html .= $this->_separator_row($options);
41
+				$html .= $this->_total_row($line_item, __('Total', 'event_espresso'), $options);
42
+				break;
43
+
44
+
45
+			case EEM_Line_Item::type_sub_total:
46
+				// loop thru children
47
+				foreach ($line_item->children() as $child_line_item) {
48
+					// recursively feed children back into this method
49
+					$html .= $this->display_line_item($child_line_item, $options);
50
+				}
51
+				$html .= $this->_total_row($line_item, __('Sub-Total', 'event_espresso'), $options);
52
+				break;
53
+
54
+
55
+			case EEM_Line_Item::type_tax_sub_total:
56
+				// loop thru children
57
+				foreach ($line_item->children() as $child_line_item) {
58
+					// recursively feed children back into this method
59
+					$html .= $this->display_line_item($child_line_item, $options);
60
+				}
61
+				$html .= $this->_total_row($line_item, __('Tax Total', 'event_espresso'), $options);
62
+				break;
63
+
64
+
65
+			case EEM_Line_Item::type_line_item:
66
+				// item row
67
+				$html .= $this->_item_row($line_item, $options);
68
+				// got any kids?
69
+				foreach ($line_item->children() as $child_line_item) {
70
+					$this->display_line_item($child_line_item, $options);
71
+				}
72
+				break;
73
+
74
+
75
+			case EEM_Line_Item::type_sub_line_item:
76
+				$html .= $this->_sub_item_row($line_item, $options);
77
+				break;
78
+
79
+
80
+			case EEM_Line_Item::type_tax:
81
+				$html .= $this->_tax_row($line_item, $options);
82
+				break;
83
+		}
84
+
85
+		return $html;
86
+	}
87
+
88
+
89
+
90
+	/**
91
+	 *  _total_row
92
+	 *
93
+	 * @param EE_Line_Item $line_item
94
+	 * @param array        $options
95
+	 * @return mixed
96
+	 */
97
+	private function _item_row(EE_Line_Item $line_item, $options = array())
98
+	{
99
+		// start of row
100
+		$row_class = $options['odd'] ? 'item odd' : 'item';
101
+		$html = EEH_HTML::tr('', $row_class);
102
+		// name td
103
+		$html .= EEH_HTML::td($line_item->name(), '', 'item_l');
104
+		// desc td
105
+		$html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
106
+		// quantity td
107
+		$html .= EEH_HTML::td($line_item->quantity(), '', 'item_l');
108
+		// price td
109
+		$html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
110
+		// total td
111
+		$total = $line_item->is_taxable() ? $line_item->total_no_code() . '*' : $line_item->total_no_code();
112
+		$html .= EEH_HTML::td($total, '', 'item_r');
113
+		// end of row
114
+		$html .= EEH_HTML::trx();
115
+		return $html;
116
+	}
117
+
118
+
119
+
120
+	/**
121
+	 *  _sub_item_row
122
+	 *
123
+	 * @param EE_Line_Item $line_item
124
+	 * @param array        $options
125
+	 * @return mixed
126
+	 */
127
+	private function _sub_item_row(EE_Line_Item $line_item, $options = array())
128
+	{
129
+		// start of row
130
+		$html = EEH_HTML::tr('', 'item sub-item-row');
131
+		// name td
132
+		$html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
133
+		// desc td
134
+		$html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
135
+		$html .= EEH_HTML::td() . EEH_HTML::tdx();
136
+		// discount/surcharge td
137
+		if ($line_item->is_percent()) {
138
+			$html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
139
+		} else {
140
+			$html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
141
+		}
142
+		// total td
143
+		$html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
144
+		// end of row
145
+		$html .= EEH_HTML::trx();
146
+		return $html;
147
+	}
148
+
149
+
150
+
151
+	/**
152
+	 *  _tax_row
153
+	 *
154
+	 * @param EE_Line_Item $line_item
155
+	 * @param array        $options
156
+	 * @return mixed
157
+	 */
158
+	private function _tax_row(EE_Line_Item $line_item, $options = array())
159
+	{
160
+		// start of row
161
+		$html = EEH_HTML::tr('', 'item sub-item tax-total');
162
+		// name td
163
+		$html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
164
+		// desc td
165
+		$html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
166
+		// percent td
167
+		$html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c', '', ' colspan="2"');
168
+		// total td
169
+		$html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
170
+		// end of row
171
+		$html .= EEH_HTML::trx();
172
+		return $html;
173
+	}
174
+
175
+
176
+
177
+	/**
178
+	 *  _total_row
179
+	 *
180
+	 * @param EE_Line_Item $line_item
181
+	 * @param string       $text
182
+	 * @param array        $options
183
+	 * @return mixed
184
+	 */
185
+	private function _total_row(EE_Line_Item $line_item, $text = '', $options = array())
186
+	{
187
+		// colspan
188
+		$colspan = $options['show_desc'] ? ' colspan="2"' : '';
189
+		// start of row
190
+		$html = EEH_HTML::tr('', '', 'total_tr odd');
191
+		// empty td
192
+		$html .= EEH_HTML::td(EEH_HTML::nbsp(), '', '', '', $colspan);
193
+		// total td
194
+		$html .= EEH_HTML::td($text, '', 'total_currency total', '', $colspan);
195
+		// total td
196
+		$html .= EEH_HTML::td($line_item->total_no_code(), '', 'total');
197
+		// end of row
198
+		$html .= EEH_HTML::trx();
199
+		return $html;
200
+	}
201
+
202
+
203
+
204
+	/**
205
+	 *  _separator_row
206
+	 *
207
+	 * @param array        $options
208
+	 * @return mixed
209
+	 */
210
+	private function _separator_row($options = array())
211
+	{
212
+		// colspan
213
+		$colspan = $options['show_desc'] ? ' colspan="5"' : ' colspan="4"';
214
+		// start of row
215
+		$html = EEH_HTML::tr(EEH_HTML::td('<hr>', '', '', '', $colspan));
216 216
 //      // separator td
217 217
 //      $html .= EEH_HTML::td( '<hr>', '',  '',  '',  $colspan );
218 218
 //      // end of row
219 219
 //      $html .= EEH_HTML::trx();
220
-        return $html;
221
-    }
220
+		return $html;
221
+	}
222 222
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
         // price td
109 109
         $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
110 110
         // total td
111
-        $total = $line_item->is_taxable() ? $line_item->total_no_code() . '*' : $line_item->total_no_code();
111
+        $total = $line_item->is_taxable() ? $line_item->total_no_code().'*' : $line_item->total_no_code();
112 112
         $html .= EEH_HTML::td($total, '', 'item_r');
113 113
         // end of row
114 114
         $html .= EEH_HTML::trx();
@@ -132,10 +132,10 @@  discard block
 block discarded – undo
132 132
         $html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
133 133
         // desc td
134 134
         $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
135
-        $html .= EEH_HTML::td() . EEH_HTML::tdx();
135
+        $html .= EEH_HTML::td().EEH_HTML::tdx();
136 136
         // discount/surcharge td
137 137
         if ($line_item->is_percent()) {
138
-            $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
138
+            $html .= EEH_HTML::td($line_item->percent().'%', '', 'item_c');
139 139
         } else {
140 140
             $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c');
141 141
         }
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
         // desc td
165 165
         $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
166 166
         // percent td
167
-        $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c', '', ' colspan="2"');
167
+        $html .= EEH_HTML::td($line_item->percent().'%', '', 'item_c', '', ' colspan="2"');
168 168
         // total td
169 169
         $html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
170 170
         // end of row
Please login to merge, or discard this patch.
line_item_display/EE_Receipt_Line_Item_Display_Strategy.strategy.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@
 block discarded – undo
32 32
     /**
33 33
      * @param EE_Line_Item $line_item
34 34
      * @param array        $options
35
-     * @return mixed
35
+     * @return string
36 36
      */
37 37
     public function display_line_item(EE_Line_Item $line_item, $options = array())
38 38
     {
Please login to merge, or discard this patch.
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -14,88 +14,88 @@
 block discarded – undo
14 14
  * ------------------------------------------------------------------------
15 15
  */
16 16
  /**
17
- *
18
- * Class EE_Receipt_Line_Item_Display_Strategy
19
- *
20
- * Description
21
- *
22
- * @package         Event Espresso
23
- * @subpackage    core
24
- * @author              Brent Christensen
25
- *
26
- *
27
- */
17
+  *
18
+  * Class EE_Receipt_Line_Item_Display_Strategy
19
+  *
20
+  * Description
21
+  *
22
+  * @package         Event Espresso
23
+  * @subpackage    core
24
+  * @author              Brent Christensen
25
+  *
26
+  *
27
+  */
28 28
 
29 29
 class EE_Receipt_Line_Item_Display_Strategy implements EEI_Line_Item_Display
30 30
 {
31 31
 
32
-    /**
33
-     * @param EE_Line_Item $line_item
34
-     * @param array        $options
35
-     * @return mixed
36
-     */
37
-    public function display_line_item(EE_Line_Item $line_item, $options = array())
38
-    {
32
+	/**
33
+	 * @param EE_Line_Item $line_item
34
+	 * @param array        $options
35
+	 * @return mixed
36
+	 */
37
+	public function display_line_item(EE_Line_Item $line_item, $options = array())
38
+	{
39 39
 
40
-        $html = '';
41
-        // set some default options and merge with incoming
42
-        $default_options = array(
43
-            'show_desc' => true,
44
-            'odd' => false
45
-        );
46
-        $options = array_merge($default_options, (array) $options);
47
-        switch ($line_item->type()) {
48
-            case EEM_Line_Item::type_total:
49
-                // loop thru children
50
-                foreach ($line_item->children() as $child_line_item) {
51
-                    // recursively feed children back into this method
40
+		$html = '';
41
+		// set some default options and merge with incoming
42
+		$default_options = array(
43
+			'show_desc' => true,
44
+			'odd' => false
45
+		);
46
+		$options = array_merge($default_options, (array) $options);
47
+		switch ($line_item->type()) {
48
+			case EEM_Line_Item::type_total:
49
+				// loop thru children
50
+				foreach ($line_item->children() as $child_line_item) {
51
+					// recursively feed children back into this method
52 52
 //                  $html .= $this->display_line_item( $child_line_item, $options );
53
-                }
53
+				}
54 54
 //              $html .= $this->_separator_row( $options );
55 55
 //              $html .= $this->_total_row( $line_item, __('Total', 'event_espresso'), $options );
56
-                break;
56
+				break;
57 57
 
58 58
 
59
-            case EEM_Line_Item::type_sub_total:
60
-                // loop thru children
61
-                foreach ($line_item->children() as $child_line_item) {
62
-                    // recursively feed children back into this method
59
+			case EEM_Line_Item::type_sub_total:
60
+				// loop thru children
61
+				foreach ($line_item->children() as $child_line_item) {
62
+					// recursively feed children back into this method
63 63
 //                  $html .= $this->display_line_item( $child_line_item, $options );
64
-                }
64
+				}
65 65
 //              $html .= $this->_total_row( $line_item, __('Sub-Total', 'event_espresso'), $options );
66
-                break;
66
+				break;
67 67
 
68 68
 
69
-            case EEM_Line_Item::type_tax_sub_total:
70
-                // loop thru children
71
-                foreach ($line_item->children() as $child_line_item) {
72
-                    // recursively feed children back into this method
69
+			case EEM_Line_Item::type_tax_sub_total:
70
+				// loop thru children
71
+				foreach ($line_item->children() as $child_line_item) {
72
+					// recursively feed children back into this method
73 73
 //                  $html .= $this->display_line_item( $child_line_item, $options );
74
-                }
74
+				}
75 75
 //              $html .= $this->_total_row( $line_item, __('Tax Total', 'event_espresso'), $options );
76
-                break;
76
+				break;
77 77
 
78 78
 
79
-            case EEM_Line_Item::type_line_item:
80
-                // item row
79
+			case EEM_Line_Item::type_line_item:
80
+				// item row
81 81
 //              $html .= $this->_item_row( $line_item, $options );
82
-                // got any kids?
83
-                foreach ($line_item->children() as $child_line_item) {
82
+				// got any kids?
83
+				foreach ($line_item->children() as $child_line_item) {
84 84
 //                  $this->display_line_item( $child_line_item, $options );
85
-                }
86
-                break;
85
+				}
86
+				break;
87 87
 
88 88
 
89
-            case EEM_Line_Item::type_sub_line_item:
89
+			case EEM_Line_Item::type_sub_line_item:
90 90
 //              $html .= $this->_sub_item_row( $line_item, $options );
91
-                break;
91
+				break;
92 92
 
93 93
 
94
-            case EEM_Line_Item::type_tax:
94
+			case EEM_Line_Item::type_tax:
95 95
 //              $html .= $this->_tax_row( $line_item, $options );
96
-                break;
97
-        }
96
+				break;
97
+		}
98 98
 
99
-        return $html;
100
-    }
99
+		return $html;
100
+	}
101 101
 }
Please login to merge, or discard this patch.
core/libraries/messages/defaults/EE_Messages_Template_Pack.core.php 3 patches
Doc Comments   +1 added lines patch added patch discarded remove patch
@@ -310,6 +310,7 @@
 block discarded – undo
310 310
      * @param EE_message_type                          $message_type
311 311
      * @param string                                   $field          The field reference for the specific template being looked up.
312 312
      * @param string                                   $context      The context reference for the specific template being looked up
313
+     * @param EE_Messages_Template_Pack_Default|null $default_pack
313 314
      *
314 315
      * @return string          The template contents.
315 316
      */
Please login to merge, or discard this patch.
Indentation   +469 added lines, -469 removed lines patch added patch discarded remove patch
@@ -14,511 +14,511 @@
 block discarded – undo
14 14
 {
15 15
 
16 16
 
17
-    /**
18
-     * This defines the base_path where the templates are located.
19
-     *
20
-     * @since            4.5.0
21
-     *
22
-     * @var string
23
-     */
24
-    protected $_base_path;
17
+	/**
18
+	 * This defines the base_path where the templates are located.
19
+	 *
20
+	 * @since            4.5.0
21
+	 *
22
+	 * @var string
23
+	 */
24
+	protected $_base_path;
25 25
 
26 26
 
27 27
 
28 28
 
29
-    /**
30
-     * This defines the base_url where things are found for this template pack (possibly variations).
31
-     *
32
-     * @since 4.5.0
33
-     *
34
-     * @var string
35
-     */
36
-    protected $_base_url;
29
+	/**
30
+	 * This defines the base_url where things are found for this template pack (possibly variations).
31
+	 *
32
+	 * @since 4.5.0
33
+	 *
34
+	 * @var string
35
+	 */
36
+	protected $_base_url;
37 37
 
38 38
 
39 39
 
40
-    /**
41
-     * localized label for this template pack
42
-     *
43
-     * @since            4.5.0
44
-     *
45
-     * @var string
46
-     */
47
-    public $label;
40
+	/**
41
+	 * localized label for this template pack
42
+	 *
43
+	 * @since            4.5.0
44
+	 *
45
+	 * @var string
46
+	 */
47
+	public $label;
48 48
 
49 49
 
50 50
 
51 51
 
52
-    /**
53
-     * used to contain a description for the template pack.
54
-     *
55
-     * @since 4.5.0
56
-     *
57
-     * @var string
58
-     */
59
-    public $description;
52
+	/**
53
+	 * used to contain a description for the template pack.
54
+	 *
55
+	 * @since 4.5.0
56
+	 *
57
+	 * @var string
58
+	 */
59
+	public $description;
60 60
 
61 61
 
62 62
 
63 63
 
64
-    /**
65
-     * How this template is referenced in the db
66
-     *
67
-     * @since 4.5.0
68
-     *
69
-     * @var string
70
-     */
71
-    public $dbref;
64
+	/**
65
+	 * How this template is referenced in the db
66
+	 *
67
+	 * @since 4.5.0
68
+	 *
69
+	 * @var string
70
+	 */
71
+	public $dbref;
72 72
 
73 73
 
74 74
 
75 75
 
76
-    /**
77
-     * This is an array indexed by messenger and with an array of message types as values that indicate what messenger and message type this template pack supports by default.  It is possible for this to be modified by plugins via filters, but out of the box, this is what the template pack supports.
78
-     *
79
-     * @since 4.5.0
80
-     *
81
-     * @var array.
82
-     */
83
-    protected $_supports = array();
76
+	/**
77
+	 * This is an array indexed by messenger and with an array of message types as values that indicate what messenger and message type this template pack supports by default.  It is possible for this to be modified by plugins via filters, but out of the box, this is what the template pack supports.
78
+	 *
79
+	 * @since 4.5.0
80
+	 *
81
+	 * @var array.
82
+	 */
83
+	protected $_supports = array();
84 84
 
85 85
 
86 86
 
87 87
 
88 88
 
89
-    /**
90
-     * Holds the retrieved default templates for this template pack in a multidimensional array indexed by context and field, for a given messenger and message type.  Example format:
91
-     *
92
-     * $templates = array(
93
-     *  'email' => array(
94
-     *      'registration' => array(
95
-     *          'admin' => array(
96
-     *              'to' => 'contents',
97
-     *              'from' => 'contents',
98
-     *              'subject' => 'contents',
99
-     *              'content' => 'contents',
100
-     *              'event_list' => 'contents',
101
-     *              'attendee_list' => 'contents'
102
-     *          ),
103
-     *          'attendee' => array(
104
-     *              'to' => 'contents',
105
-     *              'from' => 'contents',
106
-     *              'subject' => 'contents',
107
-     *              'content' => 'contents',
108
-     *              'event_list' => 'contents',
109
-     *              'attendee_list' => 'contents',
110
-     *          ),
111
-     *      )
112
-     *  )
113
-     * )
114
-     *
115
-     * @since 4.5.0
116
-     *
117
-     * @var array
118
-     */
119
-    protected $_templates = array();
89
+	/**
90
+	 * Holds the retrieved default templates for this template pack in a multidimensional array indexed by context and field, for a given messenger and message type.  Example format:
91
+	 *
92
+	 * $templates = array(
93
+	 *  'email' => array(
94
+	 *      'registration' => array(
95
+	 *          'admin' => array(
96
+	 *              'to' => 'contents',
97
+	 *              'from' => 'contents',
98
+	 *              'subject' => 'contents',
99
+	 *              'content' => 'contents',
100
+	 *              'event_list' => 'contents',
101
+	 *              'attendee_list' => 'contents'
102
+	 *          ),
103
+	 *          'attendee' => array(
104
+	 *              'to' => 'contents',
105
+	 *              'from' => 'contents',
106
+	 *              'subject' => 'contents',
107
+	 *              'content' => 'contents',
108
+	 *              'event_list' => 'contents',
109
+	 *              'attendee_list' => 'contents',
110
+	 *          ),
111
+	 *      )
112
+	 *  )
113
+	 * )
114
+	 *
115
+	 * @since 4.5.0
116
+	 *
117
+	 * @var array
118
+	 */
119
+	protected $_templates = array();
120 120
 
121 121
 
122 122
 
123 123
 
124 124
 
125 125
 
126
-    /**
127
-     * Template Packs must ALWAYS have a default variation defined.  This property allow one to override the default variation labels per messenger.
128
-     * example:
129
-     * $this->_default_variation_labels = array( 'email' =>  __('Default', 'event_espresso' ) );
130
-     *
131
-     * @var array
132
-     */
133
-    protected $_default_variation_labels = array();
126
+	/**
127
+	 * Template Packs must ALWAYS have a default variation defined.  This property allow one to override the default variation labels per messenger.
128
+	 * example:
129
+	 * $this->_default_variation_labels = array( 'email' =>  __('Default', 'event_espresso' ) );
130
+	 *
131
+	 * @var array
132
+	 */
133
+	protected $_default_variation_labels = array();
134 134
 
135 135
 
136 136
 
137 137
 
138
-    /**
139
-     * This is an array of extra css variations for message templates indexed by messenger with the values as an array or message types the variations apply to as the key  and then values are an array with variation slugs as the key and label as the value. Note the default variation is not included in this array.  So the structure is:
140
-     * array(
141
-     *  'email' => array(
142
-     *  )
143
-     * )
144
-     *
145
-     * Keep in mind that this property is used both for indicating valid variations for a given message type and messenger but the variation files themselves are ONLY unique to the messenger.  So if you have a variation for the html messenger referenced by the slug "sunset_red" Then the variation file for the main type will be html_main_sunset_red.css.  All the array in this property allows you to do, is indicate that with certain message types the sunset_red variation is available but for other message types its not.  But you could NOT have a sunset_red variation file for one messenger/message_type and a different one for another messenger/message_type.  If you want different css looks then you can define a different structural layout for the template , messenger, message type combination and in the same sunset_red.css variation file just add css specific to that layout.
146
-     *
147
-     * @since 4.5.0
148
-     *
149
-     * @var array
150
-     */
151
-    public $_variations = array();
152
-
153
-
154
-
155
-
156
-    /**
157
-     * Template pack constructor
158
-     *
159
-     * @since 4.5.0
160
-     */
161
-    public function __construct()
162
-    {
163
-        $this->_set_props();
164
-        // make sure classname is correct
165
-        $classname = get_class($this);
166
-        // make sure required props have been set
167
-
168
-        // if label is empty then throw an error because we should have it defined by now.
169
-        if (! isset($this->label)) {
170
-            throw new EE_Error(sprintf(__('The label property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
171
-        }
172
-
173
-
174
-        // the reference for this template pack
175
-        if (! isset($this->dbref)) {
176
-            throw new EE_Error(sprintf(__('The dbref property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
177
-        }
178
-
179
-        // make sure dbref is safe
180
-        $this->dbref = str_replace('-', '_', sanitize_key($this->dbref));
181
-
182
-        $should_be = 'EE_Messages_Template_Pack_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', $this->dbref)));
183
-
184
-        if ($should_be !== $classname) {
185
-            throw new EE_Error(sprintf(__('The name of the template pack instantiated class is "%s".  It should be "%s".  Make sure that the name of the template pack class matches is prepended with "EE_Messages_Template_Pack_" and appended with a sentence case iteration of the value for your template pack\'s dbref property.', 'event_espresso'), $classname, $should_be));
186
-        }
187
-
188
-        // if _base_path is not set then throw an error because a base path string is needed.
189
-        if (empty($this->_base_path)) {
190
-            throw new EE_Error(sprintf(__('The _base_path property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
191
-        }
192
-
193
-
194
-        // if _base_url is not set then throw an error because a  string is needed for variations.
195
-        if (empty($this->_base_url)) {
196
-            throw new EE_Error(sprintf(__('The _base_url property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
197
-        }
198
-
199
-
200
-        // if $supports is not set then throw an error because that effectively means this template_pack does not have any templates!
201
-        if (empty($this->_supports)) {
202
-            throw new EE_Error(sprintf(__('The supports property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
203
-        }
204
-    }
205
-
206
-
207
-
208
-    /**
209
-     * This method should be used to define the following properties:
210
-     * - label
211
-     * - dbref
212
-     * - description
213
-     * - _base_path
214
-     * - _base_url
215
-     * - supports
216
-     * - variations
217
-     *
218
-     * @since 4.5.0
219
-     * @return void.
220
-     * @abstract
221
-     */
222
-    abstract protected function _set_props();
223
-
224
-
225
-
226
-
227
-    /**
228
-     * Wrapper for get_templates() ( @see get_templates() for documentation)
229
-     *
230
-     * @since 4.5.0
231
-     *
232
-     * @param EE_messenger    $messenger
233
-     * @param EE_message_type $message_type
234
-     *
235
-     * @return array
236
-     */
237
-    public function get_templates(EE_messenger $messenger, EE_message_type $message_type)
238
-    {
239
-        return isset($this->_templates[ $messenger->name ][ $message_type->name ]) ? $this->_templates[ $messenger->name ][ $message_type->name ] : $this->_get_templates($messenger, $message_type);
240
-    }
241
-
242
-
243
-
244
-
245
-    /**
246
-     * This takes the incoming messenger and message type objects, uses them to get the set fields and contexts, then attempts to retrieve the templates matching those for this given template pack.
247
-     *
248
-     * @since 4.5.0
249
-     *
250
-     * @param EE_messenger    $messenger
251
-     * @param EE_message_type $message_type
252
-     *
253
-     * @return array          Returns an multi-level associative array indexed by template context and field in the format:
254
-     *                                array( 'context' => array( 'field' => 'value', 'another-field', 'value' ) );
255
-     */
256
-    protected function _get_templates(EE_messenger $messenger, EE_message_type $message_type)
257
-    {
258
-        $templates = array();
259
-
260
-        /**
261
-         * Retrieving the default pack for later usage of default templates for template packs that
262
-         * are NOT the default pack ( or an extension of the default pack ).
263
-         * We ONLY set this variable to be the default pack IF the loaded class is NOT the default
264
-         * pack.  This prevents recursion in _get_specific_template().  The intention is that for
265
-         * template packs that are NOT default packs, we use the default template pack to provide
266
-         * the final fallback templates if there aren't any defined for the called template pack.
267
-         *
268
-         * @type EE_Messages_Template_Pack_Default | null $default_pack
269
-         */
270
-        $default_pack = ! $this instanceof EE_Messages_Template_Pack_Default ? new EE_Messages_Template_Pack_Default() : null;
271
-
272
-        $fields = $messenger->get_template_fields();
273
-        $contexts = $message_type->get_contexts();
274
-
275
-
276
-        foreach ($contexts as $context => $details) {
277
-            foreach ($fields as $field => $field_details) {
278
-                if (empty($field_details)) {
279
-                    continue;
280
-                }
281
-                /**
282
-                 * is this a field array (linked to a main field)?
283
-                 */
284
-                if ($field == 'extra') {
285
-                    foreach ($field_details as $main_field => $sub_fields) {
286
-                        foreach ($sub_fields as $sub_field => $sub_field_details) {
287
-                            // make sure that the template_field_ref matches what the main template field is for this template group.
288
-                            $template_field_ref = $sub_field == 'main' ? $main_field : $sub_field;
289
-                            $templates[ $context ][ $main_field ][ $sub_field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $template_field_ref, $context);
290
-                        }
291
-                    }
292
-                } else {
293
-                    $templates[ $context ][ $field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $field, $context);
294
-                }
295
-            }
296
-        }
297
-
298
-        $templates = apply_filters('FHEE__EE_Template_Pack___get_templates__templates', $templates, $messenger, $message_type, $this);
299
-
300
-        $this->_templates[ $messenger->name ][ $message_type->name ] = $templates;
301
-         return $templates;
302
-    }
303
-
304
-
305
-    /**
306
-     * Utility method for retrieving a specific template matching the given parameters
307
-     *
308
-     * @param null | EE_Messages_Template_Pack_Default $default_pack
309
-     * @param EE_messenger                             $messenger
310
-     * @param EE_message_type                          $message_type
311
-     * @param string                                   $field          The field reference for the specific template being looked up.
312
-     * @param string                                   $context      The context reference for the specific template being looked up
313
-     *
314
-     * @return string          The template contents.
315
-     */
316
-    protected function _get_specific_template($default_pack, EE_messenger $messenger, EE_message_type $message_type, $field, $context)
317
-    {
318
-
319
-        // default templates
320
-        $default_templates = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_templates($messenger, $message_type) : array();
321
-
322
-        // first we allow for the $_base_path to be filtered.  However, we assign this to a new variable so that we have the original base_path as a fallback.
323
-        $filtered_base_path = apply_filters('FHEE__EE_Template_Pack___get_specific_template__filtered_base_path', $this->_base_path, $messenger, $message_type, $field, $context, $this);
324
-
325
-        $master_templates = $message_type->get_master_templates();
326
-        $master_templates_mt = isset($master_templates[ $messenger->name ]) ? $master_templates[ $messenger->name ] : $message_type->name;
327
-        $full_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '_' . $context . '.template.php';
328
-        $fallback_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '.template.php';
329
-        $mt_defined_full_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
330
-        $mt_defined_fallback_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
331
-        $base_defined_full_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
332
-        $base_defined_fallback_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
333
-
334
-        /**
335
-         * Template checks are done hierarchically in the following order:
336
-         *
337
-         * - a match for the full messenger name, message type, context and field in the full path for the given template pack.
338
-         * - a match for the full messenger name, message type, field in the full path for the given template pack.
339
-         * - a match for the full messenger name, message type, field, context in the path grabbed for the related message type defined in the _master_templates property for the message type (i.e. all registration message types share the same template as the main registration message type).
340
-         * - match for the full messenger name, message type, field for the related message type defined in the _master templates property for the message type
341
-         * - a match for a default template matching the messenger, name, context, field (as set by the default template packs).
342
-         * - empty string.
343
-         */
344
-
345
-
346
-        if (is_readable($full_path)) {
347
-            $actual_path = $full_path;
348
-        } elseif (is_readable($fallback_path)) {
349
-            $actual_path = $fallback_path;
350
-        } elseif (is_readable($mt_defined_full_path)) {
351
-            $actual_path = $mt_defined_full_path;
352
-        } elseif (is_readable($mt_defined_fallback_path)) {
353
-            $actual_path = $mt_defined_fallback_path;
354
-        } elseif (is_readable($base_defined_full_path)) {
355
-            $actual_path = $base_defined_full_path;
356
-        } elseif (is_readable($base_defined_fallback_path)) {
357
-            $actual_path = $base_defined_fallback_path;
358
-        } else {
359
-            $actual_path = '';
360
-        }
361
-        if (empty($actual_path)) {
362
-            $contents = isset($default_templates[ $context ][ $field ]) ? $default_templates[ $context ][ $field ] : '';
363
-        } else {
364
-            $contents = EEH_Template::display_template($actual_path, array(), true);
365
-        }
366
-
367
-        return apply_filters('FHEE__EE_Messages_Template_Pack__get_specific_template__contents', $contents, $actual_path, $messenger, $message_type, $field, $context, $this);
368
-    }
369
-
370
-
371
-
372
-
373
-
374
-    /**
375
-     * Return filtered _supports property.
376
-     *
377
-     * @since 4.5.0
378
-     *
379
-     * @return array
380
-     */
381
-    public function get_supports()
382
-    {
383
-        $supports = apply_filters('FHEE__' . get_class($this) . '__get_supports', $this->_supports);
384
-        return apply_filters('FHEE__EE_Messages_Template_Pack__get_supports', $supports, $this);
385
-    }
386
-
387
-
388
-
389
-
390
-    /**
391
-     * This simply returns the $_default_variation_labels property value.
392
-     *
393
-     * @since 4.5.0
394
-     *
395
-     * @param string $messenger if the messenger slug is returned then the default label for the specific messenger is retrieved.  If it doesn't exist then the __('Default', 'event_espresso') is returned.  If NO value is provided then whatever is set on the _default_variation_labels property is returned.
396
-     *
397
-     * @return array|string
398
-     */
399
-    public function get_default_variation_labels($messenger = '')
400
-    {
401
-        $label = empty($messenger) ? $this->_default_variation_labels : array();
402
-        $label = empty($label) && ! empty($this->_default_variation_labels[ $messenger ]) ? $this->_default_variation_labels[ $messenger ] : __('Default', 'event_espresso');
403
-
404
-        return apply_filters('FHEE__EE_Messages_Template_Pack__get_default_variation_labels', $label, $this->_default_variation_labels, $messenger);
405
-    }
406
-
407
-
408
-
409
-
410
-
411
-    /**
412
-     * This simply returns the _variations property.
413
-     *
414
-     * @since 4.5.0
415
-     *
416
-     * @param string $messenger if included then css variations matching the messenger are returned.  Otherwise, just the default variation is included.  If both message type AND messenger are empty then all variations are returned.
417
-     * @param string $message_type if included then css variations matching the message_type are returned (must have $messenger set).  Otherwise the array of variations per message type are returned.  If message_type is provided but NOT the messenger, then just all variations for all messengers are returned.
418
-     * @return array
419
-     */
420
-    public function get_variations($messenger = '', $message_type = '')
421
-    {
422
-        $messenger_variations = ! empty($messenger) && isset($this->_variations[ $messenger ]) ? $this->_variations[ $messenger ] : array();
423
-
424
-        // message_type provided? IF so, then we've requested a specific set of variations, so we need to make sure we set it as empty if that's not present.
425
-        $variations = !empty($messenger) && !empty($message_type) && isset($messenger_variations[ $message_type ]) ? $messenger_variations[ $message_type ] : array();
426
-
427
-        // now let's account for the possibility we just want all the variations for a messenger (which is indicated by providing the messenger but not the message type).
428
-        $variations = empty($variations) && !empty($messenger) && empty($message_type) ? $messenger_variations : $variations;
429
-
430
-        // filter per template pack and globally.
431
-        $variations = apply_filters('FHEE__' . get_class($this) . '__get_variations', $variations, $messenger, $message_type);
432
-        $variations = apply_filters('FHEE__EE_Messages_Template_Pack__get_variations', $variations, $messenger, $message_type, $this);
433
-
434
-        // prepend the _default_variation, but ONLY if we're returning the fully validated array.
435
-        if (!empty($messenger) && !empty($message_type) && ! empty($variations)) {
436
-            $variations = array( 'default' => $this->get_default_variation_labels($messenger) ) + $variations;
437
-        }
438
-
439
-        return empty($variations) ? array( 'default' => $this->get_default_variation_labels('dft') ): $variations;
440
-    }
441
-
442
-
443
-
444
-
445
-    /**
446
-     * This is typically called by EE_messenger objects to get the specific css variation defined for the messenger, message_type and type (i.e. inline, wpeditor, preview etc.)
447
-     *
448
-     * @since 4.5.0
449
-     *
450
-     * @param string $messenger messenger slug
451
-     * @param string $message_type message_type slug
452
-     * @param string $type           variation type (i.e. inline, base, wpeditor, preview etc. //this varies per messenger).
453
-     * @param string $variation    this should match one of the defined variations in the _variations property on this class.
454
-     * @param string $file_extension  What type of file the variation file is (defaults to css)
455
-     * @param bool   $url          if true then return the url otherwise path.
456
-     * @param bool   $skip_filters This should not be set directly, its used internally to skip filters when the default template pack is called internally as the fallback.
457
-     *
458
-     * @return string The variation path or url (typically css reference)
459
-     */
460
-    public function get_variation($messenger, $message_type, $type, $variation, $url = true, $file_extension = '.css', $skip_filters = false)
461
-    {
138
+	/**
139
+	 * This is an array of extra css variations for message templates indexed by messenger with the values as an array or message types the variations apply to as the key  and then values are an array with variation slugs as the key and label as the value. Note the default variation is not included in this array.  So the structure is:
140
+	 * array(
141
+	 *  'email' => array(
142
+	 *  )
143
+	 * )
144
+	 *
145
+	 * Keep in mind that this property is used both for indicating valid variations for a given message type and messenger but the variation files themselves are ONLY unique to the messenger.  So if you have a variation for the html messenger referenced by the slug "sunset_red" Then the variation file for the main type will be html_main_sunset_red.css.  All the array in this property allows you to do, is indicate that with certain message types the sunset_red variation is available but for other message types its not.  But you could NOT have a sunset_red variation file for one messenger/message_type and a different one for another messenger/message_type.  If you want different css looks then you can define a different structural layout for the template , messenger, message type combination and in the same sunset_red.css variation file just add css specific to that layout.
146
+	 *
147
+	 * @since 4.5.0
148
+	 *
149
+	 * @var array
150
+	 */
151
+	public $_variations = array();
152
+
153
+
154
+
155
+
156
+	/**
157
+	 * Template pack constructor
158
+	 *
159
+	 * @since 4.5.0
160
+	 */
161
+	public function __construct()
162
+	{
163
+		$this->_set_props();
164
+		// make sure classname is correct
165
+		$classname = get_class($this);
166
+		// make sure required props have been set
167
+
168
+		// if label is empty then throw an error because we should have it defined by now.
169
+		if (! isset($this->label)) {
170
+			throw new EE_Error(sprintf(__('The label property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
171
+		}
172
+
173
+
174
+		// the reference for this template pack
175
+		if (! isset($this->dbref)) {
176
+			throw new EE_Error(sprintf(__('The dbref property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
177
+		}
178
+
179
+		// make sure dbref is safe
180
+		$this->dbref = str_replace('-', '_', sanitize_key($this->dbref));
181
+
182
+		$should_be = 'EE_Messages_Template_Pack_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', $this->dbref)));
183
+
184
+		if ($should_be !== $classname) {
185
+			throw new EE_Error(sprintf(__('The name of the template pack instantiated class is "%s".  It should be "%s".  Make sure that the name of the template pack class matches is prepended with "EE_Messages_Template_Pack_" and appended with a sentence case iteration of the value for your template pack\'s dbref property.', 'event_espresso'), $classname, $should_be));
186
+		}
187
+
188
+		// if _base_path is not set then throw an error because a base path string is needed.
189
+		if (empty($this->_base_path)) {
190
+			throw new EE_Error(sprintf(__('The _base_path property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
191
+		}
192
+
193
+
194
+		// if _base_url is not set then throw an error because a  string is needed for variations.
195
+		if (empty($this->_base_url)) {
196
+			throw new EE_Error(sprintf(__('The _base_url property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
197
+		}
198
+
199
+
200
+		// if $supports is not set then throw an error because that effectively means this template_pack does not have any templates!
201
+		if (empty($this->_supports)) {
202
+			throw new EE_Error(sprintf(__('The supports property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
203
+		}
204
+	}
205
+
206
+
207
+
208
+	/**
209
+	 * This method should be used to define the following properties:
210
+	 * - label
211
+	 * - dbref
212
+	 * - description
213
+	 * - _base_path
214
+	 * - _base_url
215
+	 * - supports
216
+	 * - variations
217
+	 *
218
+	 * @since 4.5.0
219
+	 * @return void.
220
+	 * @abstract
221
+	 */
222
+	abstract protected function _set_props();
223
+
224
+
225
+
226
+
227
+	/**
228
+	 * Wrapper for get_templates() ( @see get_templates() for documentation)
229
+	 *
230
+	 * @since 4.5.0
231
+	 *
232
+	 * @param EE_messenger    $messenger
233
+	 * @param EE_message_type $message_type
234
+	 *
235
+	 * @return array
236
+	 */
237
+	public function get_templates(EE_messenger $messenger, EE_message_type $message_type)
238
+	{
239
+		return isset($this->_templates[ $messenger->name ][ $message_type->name ]) ? $this->_templates[ $messenger->name ][ $message_type->name ] : $this->_get_templates($messenger, $message_type);
240
+	}
241
+
242
+
243
+
244
+
245
+	/**
246
+	 * This takes the incoming messenger and message type objects, uses them to get the set fields and contexts, then attempts to retrieve the templates matching those for this given template pack.
247
+	 *
248
+	 * @since 4.5.0
249
+	 *
250
+	 * @param EE_messenger    $messenger
251
+	 * @param EE_message_type $message_type
252
+	 *
253
+	 * @return array          Returns an multi-level associative array indexed by template context and field in the format:
254
+	 *                                array( 'context' => array( 'field' => 'value', 'another-field', 'value' ) );
255
+	 */
256
+	protected function _get_templates(EE_messenger $messenger, EE_message_type $message_type)
257
+	{
258
+		$templates = array();
259
+
260
+		/**
261
+		 * Retrieving the default pack for later usage of default templates for template packs that
262
+		 * are NOT the default pack ( or an extension of the default pack ).
263
+		 * We ONLY set this variable to be the default pack IF the loaded class is NOT the default
264
+		 * pack.  This prevents recursion in _get_specific_template().  The intention is that for
265
+		 * template packs that are NOT default packs, we use the default template pack to provide
266
+		 * the final fallback templates if there aren't any defined for the called template pack.
267
+		 *
268
+		 * @type EE_Messages_Template_Pack_Default | null $default_pack
269
+		 */
270
+		$default_pack = ! $this instanceof EE_Messages_Template_Pack_Default ? new EE_Messages_Template_Pack_Default() : null;
271
+
272
+		$fields = $messenger->get_template_fields();
273
+		$contexts = $message_type->get_contexts();
274
+
275
+
276
+		foreach ($contexts as $context => $details) {
277
+			foreach ($fields as $field => $field_details) {
278
+				if (empty($field_details)) {
279
+					continue;
280
+				}
281
+				/**
282
+				 * is this a field array (linked to a main field)?
283
+				 */
284
+				if ($field == 'extra') {
285
+					foreach ($field_details as $main_field => $sub_fields) {
286
+						foreach ($sub_fields as $sub_field => $sub_field_details) {
287
+							// make sure that the template_field_ref matches what the main template field is for this template group.
288
+							$template_field_ref = $sub_field == 'main' ? $main_field : $sub_field;
289
+							$templates[ $context ][ $main_field ][ $sub_field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $template_field_ref, $context);
290
+						}
291
+					}
292
+				} else {
293
+					$templates[ $context ][ $field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $field, $context);
294
+				}
295
+			}
296
+		}
297
+
298
+		$templates = apply_filters('FHEE__EE_Template_Pack___get_templates__templates', $templates, $messenger, $message_type, $this);
299
+
300
+		$this->_templates[ $messenger->name ][ $message_type->name ] = $templates;
301
+		 return $templates;
302
+	}
303
+
304
+
305
+	/**
306
+	 * Utility method for retrieving a specific template matching the given parameters
307
+	 *
308
+	 * @param null | EE_Messages_Template_Pack_Default $default_pack
309
+	 * @param EE_messenger                             $messenger
310
+	 * @param EE_message_type                          $message_type
311
+	 * @param string                                   $field          The field reference for the specific template being looked up.
312
+	 * @param string                                   $context      The context reference for the specific template being looked up
313
+	 *
314
+	 * @return string          The template contents.
315
+	 */
316
+	protected function _get_specific_template($default_pack, EE_messenger $messenger, EE_message_type $message_type, $field, $context)
317
+	{
318
+
319
+		// default templates
320
+		$default_templates = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_templates($messenger, $message_type) : array();
321
+
322
+		// first we allow for the $_base_path to be filtered.  However, we assign this to a new variable so that we have the original base_path as a fallback.
323
+		$filtered_base_path = apply_filters('FHEE__EE_Template_Pack___get_specific_template__filtered_base_path', $this->_base_path, $messenger, $message_type, $field, $context, $this);
324
+
325
+		$master_templates = $message_type->get_master_templates();
326
+		$master_templates_mt = isset($master_templates[ $messenger->name ]) ? $master_templates[ $messenger->name ] : $message_type->name;
327
+		$full_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '_' . $context . '.template.php';
328
+		$fallback_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '.template.php';
329
+		$mt_defined_full_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
330
+		$mt_defined_fallback_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
331
+		$base_defined_full_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
332
+		$base_defined_fallback_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
333
+
334
+		/**
335
+		 * Template checks are done hierarchically in the following order:
336
+		 *
337
+		 * - a match for the full messenger name, message type, context and field in the full path for the given template pack.
338
+		 * - a match for the full messenger name, message type, field in the full path for the given template pack.
339
+		 * - a match for the full messenger name, message type, field, context in the path grabbed for the related message type defined in the _master_templates property for the message type (i.e. all registration message types share the same template as the main registration message type).
340
+		 * - match for the full messenger name, message type, field for the related message type defined in the _master templates property for the message type
341
+		 * - a match for a default template matching the messenger, name, context, field (as set by the default template packs).
342
+		 * - empty string.
343
+		 */
344
+
345
+
346
+		if (is_readable($full_path)) {
347
+			$actual_path = $full_path;
348
+		} elseif (is_readable($fallback_path)) {
349
+			$actual_path = $fallback_path;
350
+		} elseif (is_readable($mt_defined_full_path)) {
351
+			$actual_path = $mt_defined_full_path;
352
+		} elseif (is_readable($mt_defined_fallback_path)) {
353
+			$actual_path = $mt_defined_fallback_path;
354
+		} elseif (is_readable($base_defined_full_path)) {
355
+			$actual_path = $base_defined_full_path;
356
+		} elseif (is_readable($base_defined_fallback_path)) {
357
+			$actual_path = $base_defined_fallback_path;
358
+		} else {
359
+			$actual_path = '';
360
+		}
361
+		if (empty($actual_path)) {
362
+			$contents = isset($default_templates[ $context ][ $field ]) ? $default_templates[ $context ][ $field ] : '';
363
+		} else {
364
+			$contents = EEH_Template::display_template($actual_path, array(), true);
365
+		}
366
+
367
+		return apply_filters('FHEE__EE_Messages_Template_Pack__get_specific_template__contents', $contents, $actual_path, $messenger, $message_type, $field, $context, $this);
368
+	}
369
+
370
+
371
+
372
+
373
+
374
+	/**
375
+	 * Return filtered _supports property.
376
+	 *
377
+	 * @since 4.5.0
378
+	 *
379
+	 * @return array
380
+	 */
381
+	public function get_supports()
382
+	{
383
+		$supports = apply_filters('FHEE__' . get_class($this) . '__get_supports', $this->_supports);
384
+		return apply_filters('FHEE__EE_Messages_Template_Pack__get_supports', $supports, $this);
385
+	}
386
+
387
+
388
+
389
+
390
+	/**
391
+	 * This simply returns the $_default_variation_labels property value.
392
+	 *
393
+	 * @since 4.5.0
394
+	 *
395
+	 * @param string $messenger if the messenger slug is returned then the default label for the specific messenger is retrieved.  If it doesn't exist then the __('Default', 'event_espresso') is returned.  If NO value is provided then whatever is set on the _default_variation_labels property is returned.
396
+	 *
397
+	 * @return array|string
398
+	 */
399
+	public function get_default_variation_labels($messenger = '')
400
+	{
401
+		$label = empty($messenger) ? $this->_default_variation_labels : array();
402
+		$label = empty($label) && ! empty($this->_default_variation_labels[ $messenger ]) ? $this->_default_variation_labels[ $messenger ] : __('Default', 'event_espresso');
403
+
404
+		return apply_filters('FHEE__EE_Messages_Template_Pack__get_default_variation_labels', $label, $this->_default_variation_labels, $messenger);
405
+	}
406
+
407
+
408
+
409
+
410
+
411
+	/**
412
+	 * This simply returns the _variations property.
413
+	 *
414
+	 * @since 4.5.0
415
+	 *
416
+	 * @param string $messenger if included then css variations matching the messenger are returned.  Otherwise, just the default variation is included.  If both message type AND messenger are empty then all variations are returned.
417
+	 * @param string $message_type if included then css variations matching the message_type are returned (must have $messenger set).  Otherwise the array of variations per message type are returned.  If message_type is provided but NOT the messenger, then just all variations for all messengers are returned.
418
+	 * @return array
419
+	 */
420
+	public function get_variations($messenger = '', $message_type = '')
421
+	{
422
+		$messenger_variations = ! empty($messenger) && isset($this->_variations[ $messenger ]) ? $this->_variations[ $messenger ] : array();
423
+
424
+		// message_type provided? IF so, then we've requested a specific set of variations, so we need to make sure we set it as empty if that's not present.
425
+		$variations = !empty($messenger) && !empty($message_type) && isset($messenger_variations[ $message_type ]) ? $messenger_variations[ $message_type ] : array();
426
+
427
+		// now let's account for the possibility we just want all the variations for a messenger (which is indicated by providing the messenger but not the message type).
428
+		$variations = empty($variations) && !empty($messenger) && empty($message_type) ? $messenger_variations : $variations;
429
+
430
+		// filter per template pack and globally.
431
+		$variations = apply_filters('FHEE__' . get_class($this) . '__get_variations', $variations, $messenger, $message_type);
432
+		$variations = apply_filters('FHEE__EE_Messages_Template_Pack__get_variations', $variations, $messenger, $message_type, $this);
433
+
434
+		// prepend the _default_variation, but ONLY if we're returning the fully validated array.
435
+		if (!empty($messenger) && !empty($message_type) && ! empty($variations)) {
436
+			$variations = array( 'default' => $this->get_default_variation_labels($messenger) ) + $variations;
437
+		}
438
+
439
+		return empty($variations) ? array( 'default' => $this->get_default_variation_labels('dft') ): $variations;
440
+	}
441
+
442
+
443
+
444
+
445
+	/**
446
+	 * This is typically called by EE_messenger objects to get the specific css variation defined for the messenger, message_type and type (i.e. inline, wpeditor, preview etc.)
447
+	 *
448
+	 * @since 4.5.0
449
+	 *
450
+	 * @param string $messenger messenger slug
451
+	 * @param string $message_type message_type slug
452
+	 * @param string $type           variation type (i.e. inline, base, wpeditor, preview etc. //this varies per messenger).
453
+	 * @param string $variation    this should match one of the defined variations in the _variations property on this class.
454
+	 * @param string $file_extension  What type of file the variation file is (defaults to css)
455
+	 * @param bool   $url          if true then return the url otherwise path.
456
+	 * @param bool   $skip_filters This should not be set directly, its used internally to skip filters when the default template pack is called internally as the fallback.
457
+	 *
458
+	 * @return string The variation path or url (typically css reference)
459
+	 */
460
+	public function get_variation($messenger, $message_type, $type, $variation, $url = true, $file_extension = '.css', $skip_filters = false)
461
+	{
462 462
 
463
-        $base = $url ? $this->_base_url : $this->_base_path;
464
-        $base_path = $this->_base_path;
463
+		$base = $url ? $this->_base_url : $this->_base_path;
464
+		$base_path = $this->_base_path;
465 465
 
466
-        if (! $skip_filters) {
467
-            $base =  apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path_or_url', $base, $messenger, $message_type, $type, $variation, $url, $file_extension, $this);
468
-            $base_path = apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path', $base_path, $messenger, $message_type, $type, $variation, false, $file_extension, $this);
469
-        }
466
+		if (! $skip_filters) {
467
+			$base =  apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path_or_url', $base, $messenger, $message_type, $type, $variation, $url, $file_extension, $this);
468
+			$base_path = apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path', $base_path, $messenger, $message_type, $type, $variation, false, $file_extension, $this);
469
+		}
470 470
 
471
-        $default_pack = get_class($this) != 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : $this;
472
-
473
-        // possible variation paths considering whether message type is present or not in the file name.
474
-        $path_string = 'variations/' . $messenger . '_' . $message_type . '_'  . $type . '_' . $variation . $file_extension;
475
-        $default_path_string = 'variations/' . $messenger . '_' . $type . '_' . $variation . $file_extension;
476
-
477
-        // first see if fully validated file exists.
478
-        if (is_readable($base_path . $path_string)) {
479
-            $variation_path = $base . $path_string;
480
-        // otherwise see if default exists.
481
-        } elseif (is_readable($base_path . $default_path_string)) {
482
-            $variation_path = $base . $default_path_string;
483
-        } else {
484
-            $variation_path = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_default_variation($messenger, $message_type, $type, $url, $file_extension) : '';
485
-        }
471
+		$default_pack = get_class($this) != 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : $this;
472
+
473
+		// possible variation paths considering whether message type is present or not in the file name.
474
+		$path_string = 'variations/' . $messenger . '_' . $message_type . '_'  . $type . '_' . $variation . $file_extension;
475
+		$default_path_string = 'variations/' . $messenger . '_' . $type . '_' . $variation . $file_extension;
476
+
477
+		// first see if fully validated file exists.
478
+		if (is_readable($base_path . $path_string)) {
479
+			$variation_path = $base . $path_string;
480
+		// otherwise see if default exists.
481
+		} elseif (is_readable($base_path . $default_path_string)) {
482
+			$variation_path = $base . $default_path_string;
483
+		} else {
484
+			$variation_path = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_default_variation($messenger, $message_type, $type, $url, $file_extension) : '';
485
+		}
486 486
 
487
-        if ($skip_filters) {
488
-            return $variation_path;
489
-        }
490
-
491
-        // filter result
492
-        $variation_path = apply_filters('FHEE__' . get_class($this) . '__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url);
493
-        return apply_filters('FHEE__EE_Messages_Template_Pack__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url, $this);
494
-    }
495
-
496
-
497
-
498
-
499
-
500
-    /**
501
-     * This method is used to return the wrapper template for the given template pack.  If the given template pack does not include any wrapper templates then the default is used.
502
-     *
503
-     * @param string $messenger What messenger the wrapper is for.
504
-     * @param string $type           What type of wrapper is being returned ( for messengers that may have more than one wrapper )
505
-     *
506
-     * @return string returns the path for the requested wrapper template.
507
-     */
508
-    public function get_wrapper($messenger, $type = 'main')
509
-    {
510
-        $default_pack = get_class($this) !== 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : null;
511
-
512
-        $path_string = $this->_base_path . $messenger . '_' . $type . '_wrapper.template.php';
513
-
514
-        if (is_readable($path_string)) {
515
-            $template = $path_string;
516
-        } else {
517
-            $template = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_wrapper($messenger, $type) : '';
518
-        }
519
-
520
-        // filter
521
-        $template = apply_filters('FHEE__' . get_class($this) . '__get_wrapper', $template, $messenger, $type);
522
-        return apply_filters('FHEE__EE_Messages_Template_Pack__get_wrapper', $template, $messenger, $type, $this);
523
-    }
487
+		if ($skip_filters) {
488
+			return $variation_path;
489
+		}
490
+
491
+		// filter result
492
+		$variation_path = apply_filters('FHEE__' . get_class($this) . '__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url);
493
+		return apply_filters('FHEE__EE_Messages_Template_Pack__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url, $this);
494
+	}
495
+
496
+
497
+
498
+
499
+
500
+	/**
501
+	 * This method is used to return the wrapper template for the given template pack.  If the given template pack does not include any wrapper templates then the default is used.
502
+	 *
503
+	 * @param string $messenger What messenger the wrapper is for.
504
+	 * @param string $type           What type of wrapper is being returned ( for messengers that may have more than one wrapper )
505
+	 *
506
+	 * @return string returns the path for the requested wrapper template.
507
+	 */
508
+	public function get_wrapper($messenger, $type = 'main')
509
+	{
510
+		$default_pack = get_class($this) !== 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : null;
511
+
512
+		$path_string = $this->_base_path . $messenger . '_' . $type . '_wrapper.template.php';
513
+
514
+		if (is_readable($path_string)) {
515
+			$template = $path_string;
516
+		} else {
517
+			$template = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_wrapper($messenger, $type) : '';
518
+		}
519
+
520
+		// filter
521
+		$template = apply_filters('FHEE__' . get_class($this) . '__get_wrapper', $template, $messenger, $type);
522
+		return apply_filters('FHEE__EE_Messages_Template_Pack__get_wrapper', $template, $messenger, $type, $this);
523
+	}
524 524
 }
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -166,20 +166,20 @@  discard block
 block discarded – undo
166 166
         // make sure required props have been set
167 167
 
168 168
         // if label is empty then throw an error because we should have it defined by now.
169
-        if (! isset($this->label)) {
169
+        if ( ! isset($this->label)) {
170 170
             throw new EE_Error(sprintf(__('The label property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
171 171
         }
172 172
 
173 173
 
174 174
         // the reference for this template pack
175
-        if (! isset($this->dbref)) {
175
+        if ( ! isset($this->dbref)) {
176 176
             throw new EE_Error(sprintf(__('The dbref property is not set for %s.  Please ensure that is set for the class.', 'event_espresso'), $classname));
177 177
         }
178 178
 
179 179
         // make sure dbref is safe
180 180
         $this->dbref = str_replace('-', '_', sanitize_key($this->dbref));
181 181
 
182
-        $should_be = 'EE_Messages_Template_Pack_' . str_replace(' ', '_', ucwords(str_replace('_', ' ', $this->dbref)));
182
+        $should_be = 'EE_Messages_Template_Pack_'.str_replace(' ', '_', ucwords(str_replace('_', ' ', $this->dbref)));
183 183
 
184 184
         if ($should_be !== $classname) {
185 185
             throw new EE_Error(sprintf(__('The name of the template pack instantiated class is "%s".  It should be "%s".  Make sure that the name of the template pack class matches is prepended with "EE_Messages_Template_Pack_" and appended with a sentence case iteration of the value for your template pack\'s dbref property.', 'event_espresso'), $classname, $should_be));
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
      */
237 237
     public function get_templates(EE_messenger $messenger, EE_message_type $message_type)
238 238
     {
239
-        return isset($this->_templates[ $messenger->name ][ $message_type->name ]) ? $this->_templates[ $messenger->name ][ $message_type->name ] : $this->_get_templates($messenger, $message_type);
239
+        return isset($this->_templates[$messenger->name][$message_type->name]) ? $this->_templates[$messenger->name][$message_type->name] : $this->_get_templates($messenger, $message_type);
240 240
     }
241 241
 
242 242
 
@@ -286,18 +286,18 @@  discard block
 block discarded – undo
286 286
                         foreach ($sub_fields as $sub_field => $sub_field_details) {
287 287
                             // make sure that the template_field_ref matches what the main template field is for this template group.
288 288
                             $template_field_ref = $sub_field == 'main' ? $main_field : $sub_field;
289
-                            $templates[ $context ][ $main_field ][ $sub_field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $template_field_ref, $context);
289
+                            $templates[$context][$main_field][$sub_field] = $this->_get_specific_template($default_pack, $messenger, $message_type, $template_field_ref, $context);
290 290
                         }
291 291
                     }
292 292
                 } else {
293
-                    $templates[ $context ][ $field ] = $this->_get_specific_template($default_pack, $messenger, $message_type, $field, $context);
293
+                    $templates[$context][$field] = $this->_get_specific_template($default_pack, $messenger, $message_type, $field, $context);
294 294
                 }
295 295
             }
296 296
         }
297 297
 
298 298
         $templates = apply_filters('FHEE__EE_Template_Pack___get_templates__templates', $templates, $messenger, $message_type, $this);
299 299
 
300
-        $this->_templates[ $messenger->name ][ $message_type->name ] = $templates;
300
+        $this->_templates[$messenger->name][$message_type->name] = $templates;
301 301
          return $templates;
302 302
     }
303 303
 
@@ -323,13 +323,13 @@  discard block
 block discarded – undo
323 323
         $filtered_base_path = apply_filters('FHEE__EE_Template_Pack___get_specific_template__filtered_base_path', $this->_base_path, $messenger, $message_type, $field, $context, $this);
324 324
 
325 325
         $master_templates = $message_type->get_master_templates();
326
-        $master_templates_mt = isset($master_templates[ $messenger->name ]) ? $master_templates[ $messenger->name ] : $message_type->name;
327
-        $full_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '_' . $context . '.template.php';
328
-        $fallback_path = $filtered_base_path . $messenger->name . '_' . $message_type->name . '_' . $field . '.template.php';
329
-        $mt_defined_full_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
330
-        $mt_defined_fallback_path = $filtered_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
331
-        $base_defined_full_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '_' . $context . '.template.php';
332
-        $base_defined_fallback_path = $this->_base_path . $messenger->name . '_' . $master_templates_mt . '_' . $field . '.template.php';
326
+        $master_templates_mt = isset($master_templates[$messenger->name]) ? $master_templates[$messenger->name] : $message_type->name;
327
+        $full_path = $filtered_base_path.$messenger->name.'_'.$message_type->name.'_'.$field.'_'.$context.'.template.php';
328
+        $fallback_path = $filtered_base_path.$messenger->name.'_'.$message_type->name.'_'.$field.'.template.php';
329
+        $mt_defined_full_path = $filtered_base_path.$messenger->name.'_'.$master_templates_mt.'_'.$field.'_'.$context.'.template.php';
330
+        $mt_defined_fallback_path = $filtered_base_path.$messenger->name.'_'.$master_templates_mt.'_'.$field.'.template.php';
331
+        $base_defined_full_path = $this->_base_path.$messenger->name.'_'.$master_templates_mt.'_'.$field.'_'.$context.'.template.php';
332
+        $base_defined_fallback_path = $this->_base_path.$messenger->name.'_'.$master_templates_mt.'_'.$field.'.template.php';
333 333
 
334 334
         /**
335 335
          * Template checks are done hierarchically in the following order:
@@ -359,7 +359,7 @@  discard block
 block discarded – undo
359 359
             $actual_path = '';
360 360
         }
361 361
         if (empty($actual_path)) {
362
-            $contents = isset($default_templates[ $context ][ $field ]) ? $default_templates[ $context ][ $field ] : '';
362
+            $contents = isset($default_templates[$context][$field]) ? $default_templates[$context][$field] : '';
363 363
         } else {
364 364
             $contents = EEH_Template::display_template($actual_path, array(), true);
365 365
         }
@@ -380,7 +380,7 @@  discard block
 block discarded – undo
380 380
      */
381 381
     public function get_supports()
382 382
     {
383
-        $supports = apply_filters('FHEE__' . get_class($this) . '__get_supports', $this->_supports);
383
+        $supports = apply_filters('FHEE__'.get_class($this).'__get_supports', $this->_supports);
384 384
         return apply_filters('FHEE__EE_Messages_Template_Pack__get_supports', $supports, $this);
385 385
     }
386 386
 
@@ -399,7 +399,7 @@  discard block
 block discarded – undo
399 399
     public function get_default_variation_labels($messenger = '')
400 400
     {
401 401
         $label = empty($messenger) ? $this->_default_variation_labels : array();
402
-        $label = empty($label) && ! empty($this->_default_variation_labels[ $messenger ]) ? $this->_default_variation_labels[ $messenger ] : __('Default', 'event_espresso');
402
+        $label = empty($label) && ! empty($this->_default_variation_labels[$messenger]) ? $this->_default_variation_labels[$messenger] : __('Default', 'event_espresso');
403 403
 
404 404
         return apply_filters('FHEE__EE_Messages_Template_Pack__get_default_variation_labels', $label, $this->_default_variation_labels, $messenger);
405 405
     }
@@ -419,24 +419,24 @@  discard block
 block discarded – undo
419 419
      */
420 420
     public function get_variations($messenger = '', $message_type = '')
421 421
     {
422
-        $messenger_variations = ! empty($messenger) && isset($this->_variations[ $messenger ]) ? $this->_variations[ $messenger ] : array();
422
+        $messenger_variations = ! empty($messenger) && isset($this->_variations[$messenger]) ? $this->_variations[$messenger] : array();
423 423
 
424 424
         // message_type provided? IF so, then we've requested a specific set of variations, so we need to make sure we set it as empty if that's not present.
425
-        $variations = !empty($messenger) && !empty($message_type) && isset($messenger_variations[ $message_type ]) ? $messenger_variations[ $message_type ] : array();
425
+        $variations = ! empty($messenger) && ! empty($message_type) && isset($messenger_variations[$message_type]) ? $messenger_variations[$message_type] : array();
426 426
 
427 427
         // now let's account for the possibility we just want all the variations for a messenger (which is indicated by providing the messenger but not the message type).
428
-        $variations = empty($variations) && !empty($messenger) && empty($message_type) ? $messenger_variations : $variations;
428
+        $variations = empty($variations) && ! empty($messenger) && empty($message_type) ? $messenger_variations : $variations;
429 429
 
430 430
         // filter per template pack and globally.
431
-        $variations = apply_filters('FHEE__' . get_class($this) . '__get_variations', $variations, $messenger, $message_type);
431
+        $variations = apply_filters('FHEE__'.get_class($this).'__get_variations', $variations, $messenger, $message_type);
432 432
         $variations = apply_filters('FHEE__EE_Messages_Template_Pack__get_variations', $variations, $messenger, $message_type, $this);
433 433
 
434 434
         // prepend the _default_variation, but ONLY if we're returning the fully validated array.
435
-        if (!empty($messenger) && !empty($message_type) && ! empty($variations)) {
436
-            $variations = array( 'default' => $this->get_default_variation_labels($messenger) ) + $variations;
435
+        if ( ! empty($messenger) && ! empty($message_type) && ! empty($variations)) {
436
+            $variations = array('default' => $this->get_default_variation_labels($messenger)) + $variations;
437 437
         }
438 438
 
439
-        return empty($variations) ? array( 'default' => $this->get_default_variation_labels('dft') ): $variations;
439
+        return empty($variations) ? array('default' => $this->get_default_variation_labels('dft')) : $variations;
440 440
     }
441 441
 
442 442
 
@@ -463,23 +463,23 @@  discard block
 block discarded – undo
463 463
         $base = $url ? $this->_base_url : $this->_base_path;
464 464
         $base_path = $this->_base_path;
465 465
 
466
-        if (! $skip_filters) {
467
-            $base =  apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path_or_url', $base, $messenger, $message_type, $type, $variation, $url, $file_extension, $this);
466
+        if ( ! $skip_filters) {
467
+            $base = apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path_or_url', $base, $messenger, $message_type, $type, $variation, $url, $file_extension, $this);
468 468
             $base_path = apply_filters('FHEE__EE_Messages_Template_Pack__get_variation__base_path', $base_path, $messenger, $message_type, $type, $variation, false, $file_extension, $this);
469 469
         }
470 470
 
471 471
         $default_pack = get_class($this) != 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : $this;
472 472
 
473 473
         // possible variation paths considering whether message type is present or not in the file name.
474
-        $path_string = 'variations/' . $messenger . '_' . $message_type . '_'  . $type . '_' . $variation . $file_extension;
475
-        $default_path_string = 'variations/' . $messenger . '_' . $type . '_' . $variation . $file_extension;
474
+        $path_string = 'variations/'.$messenger.'_'.$message_type.'_'.$type.'_'.$variation.$file_extension;
475
+        $default_path_string = 'variations/'.$messenger.'_'.$type.'_'.$variation.$file_extension;
476 476
 
477 477
         // first see if fully validated file exists.
478
-        if (is_readable($base_path . $path_string)) {
479
-            $variation_path = $base . $path_string;
478
+        if (is_readable($base_path.$path_string)) {
479
+            $variation_path = $base.$path_string;
480 480
         // otherwise see if default exists.
481
-        } elseif (is_readable($base_path . $default_path_string)) {
482
-            $variation_path = $base . $default_path_string;
481
+        } elseif (is_readable($base_path.$default_path_string)) {
482
+            $variation_path = $base.$default_path_string;
483 483
         } else {
484 484
             $variation_path = $default_pack instanceof EE_Messages_Template_Pack_Default ? $default_pack->get_default_variation($messenger, $message_type, $type, $url, $file_extension) : '';
485 485
         }
@@ -489,7 +489,7 @@  discard block
 block discarded – undo
489 489
         }
490 490
 
491 491
         // filter result
492
-        $variation_path = apply_filters('FHEE__' . get_class($this) . '__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url);
492
+        $variation_path = apply_filters('FHEE__'.get_class($this).'__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url);
493 493
         return apply_filters('FHEE__EE_Messages_Template_Pack__get_variation', $variation_path, $messenger, $message_type, $type, $variation, $file_extension, $url, $this);
494 494
     }
495 495
 
@@ -509,7 +509,7 @@  discard block
 block discarded – undo
509 509
     {
510 510
         $default_pack = get_class($this) !== 'EE_Messages_Template_Pack_Default' ? new EE_Messages_Template_Pack_Default() : null;
511 511
 
512
-        $path_string = $this->_base_path . $messenger . '_' . $type . '_wrapper.template.php';
512
+        $path_string = $this->_base_path.$messenger.'_'.$type.'_wrapper.template.php';
513 513
 
514 514
         if (is_readable($path_string)) {
515 515
             $template = $path_string;
@@ -518,7 +518,7 @@  discard block
 block discarded – undo
518 518
         }
519 519
 
520 520
         // filter
521
-        $template = apply_filters('FHEE__' . get_class($this) . '__get_wrapper', $template, $messenger, $type);
521
+        $template = apply_filters('FHEE__'.get_class($this).'__get_wrapper', $template, $messenger, $type);
522 522
         return apply_filters('FHEE__EE_Messages_Template_Pack__get_wrapper', $template, $messenger, $type, $this);
523 523
     }
524 524
 }
Please login to merge, or discard this patch.
core/libraries/messages/EE_Message_To_Generate.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -208,7 +208,7 @@
 block discarded – undo
208 208
      * generates an EE_Message using the supplied arguments and some defaults
209 209
      *
210 210
      * @param array $properties
211
-     * @return string
211
+     * @return EE_Message
212 212
      */
213 213
     protected function _generate_message($properties = array())
214 214
     {
Please login to merge, or discard this patch.
Indentation   +300 added lines, -300 removed lines patch added patch discarded remove patch
@@ -11,304 +11,304 @@
 block discarded – undo
11 11
 class EE_Message_To_Generate
12 12
 {
13 13
 
14
-    /**
15
-     * @type string name of EE_messenger
16
-     */
17
-    protected $_messenger_name = null;
18
-
19
-    /**
20
-     * @type string name of EE_message_type
21
-     */
22
-    protected $_message_type_name = null;
23
-
24
-    /**
25
-     * @type EE_messenger
26
-     */
27
-    protected $_messenger = null;
28
-
29
-    /**
30
-     * @type EE_message_type
31
-     */
32
-    protected $_message_type = null;
33
-
34
-    /**
35
-     * Identifier for the context the message is to be generated for.
36
-     * @type string
37
-     */
38
-    protected $_context = '';
39
-
40
-    /**
41
-     * Data that will be used to generate message.
42
-     * @type array
43
-     */
44
-    protected $_data = array();
45
-
46
-    /**
47
-     * Whether this message is for a preview or not.
48
-     * @type bool
49
-     */
50
-    protected $_preview = false;
51
-
52
-    /**
53
-     * @type EE_Message $_message
54
-     */
55
-    protected $_message = null;
56
-
57
-    /**
58
-     * This is set by the constructor to indicate whether the incoming messenger
59
-     * and message type are valid.  This can then be checked by callers to determine whether
60
-     * to generate this message or not.
61
-     * @type bool
62
-     */
63
-    protected $_valid = false;
64
-
65
-    /**
66
-     * If there are any errors (non exception errors) they get added to this array for callers to decide
67
-     * how to handle.
68
-     * @type array
69
-     */
70
-    protected $_error_msg = array();
71
-
72
-    /**
73
-     * Can be accessed via the send_now() method, this is set in the validation
74
-     * routine via the EE_messenger::send_now() method.
75
-     * @type bool
76
-     */
77
-    protected $_send_now = false;
78
-
79
-    /**
80
-     * Holds the classname for the data handler used by the current message type.
81
-     * This is set on the first call to the public `get_data_handler_class_name()` method.
82
-     * @type string
83
-     */
84
-    protected $_data_handler_class_name = '';
85
-
86
-    /**
87
-     * one of the message status constants on EEM_Message
88
-     *
89
-     * @type string
90
-     */
91
-    protected $_message_status = '';
92
-
93
-
94
-
95
-    /**
96
-     * Constructor
97
-     *
98
-     * @param string $messenger_name    Slug representing messenger
99
-     * @param string $message_type_name Slug representing message type.
100
-     * @param mixed  $data              Data used for generating message.
101
-     * @param string $context           Optional context to restrict message generated for.
102
-     * @param bool   $preview           Whether this is being used to generate a preview or not.
103
-     * @param string $status
104
-     */
105
-    public function __construct(
106
-        $messenger_name,
107
-        $message_type_name,
108
-        $data = array(),
109
-        $context = '',
110
-        $preview = false,
111
-        $status = EEM_Message::status_incomplete
112
-    ) {
113
-        $this->_messenger_name      = $messenger_name;
114
-        $this->_message_type_name   = $message_type_name;
115
-        $this->_data                = is_array($data) ? $data : array( $data );
116
-        $this->_context             = $context;
117
-        $this->_preview             = $preview;
118
-        $this->_status              = $status;
119
-        // attempt to generate message immediately
120
-        $this->_message = $this->_generate_message();
121
-    }
122
-
123
-
124
-
125
-    /**
126
-     * @return string
127
-     */
128
-    public function context()
129
-    {
130
-        return $this->_context;
131
-    }
132
-
133
-
134
-
135
-    /**
136
-     * @return array
137
-     */
138
-    public function data()
139
-    {
140
-        return $this->_data;
141
-    }
142
-
143
-
144
-
145
-    /**
146
-     * @return EE_messenger
147
-     */
148
-    public function messenger()
149
-    {
150
-        return $this->_messenger;
151
-    }
152
-
153
-
154
-
155
-    /**
156
-     * @return EE_message_type
157
-     */
158
-    public function message_type()
159
-    {
160
-        return $this->_message_type;
161
-    }
162
-
163
-
164
-
165
-    /**
166
-     * @return boolean
167
-     */
168
-    public function preview()
169
-    {
170
-        return $this->_preview;
171
-    }
172
-
173
-
174
-
175
-    /**
176
-     * @param boolean $preview
177
-     */
178
-    public function set_preview($preview)
179
-    {
180
-        $this->_preview = filter_var($preview, FILTER_VALIDATE_BOOLEAN);
181
-    }
182
-
183
-
184
-
185
-    /**
186
-     * @return bool
187
-     */
188
-    public function send_now()
189
-    {
190
-        return $this->_send_now;
191
-    }
192
-
193
-
194
-
195
-    /**
196
-     * Simply returns the state of the $_valid property.
197
-     *
198
-     * @return bool
199
-     */
200
-    public function valid()
201
-    {
202
-        return $this->_valid;
203
-    }
204
-
205
-
206
-
207
-    /**
208
-     * generates an EE_Message using the supplied arguments and some defaults
209
-     *
210
-     * @param array $properties
211
-     * @return string
212
-     */
213
-    protected function _generate_message($properties = array())
214
-    {
215
-        $message = EE_Message_Factory::create(
216
-            array_merge(
217
-                array(
218
-                    'MSG_messenger'    => $this->_messenger_name,
219
-                    'MSG_message_type' => $this->_message_type_name,
220
-                    'MSG_context'      => $this->_context,
221
-                    'STS_ID'           => $this->_status,
222
-                ),
223
-                $properties
224
-            )
225
-        );
226
-        // validate the message, and if it's good, set some properties
227
-        try {
228
-            $message->is_valid_for_sending_or_generation(true);
229
-            $this->_valid = true;
230
-            $this->_messenger = $message->messenger_object();
231
-            $this->_message_type = $message->message_type_object();
232
-            $this->_send_now = $message->send_now();
233
-        } catch (Exception $e) {
234
-            $this->_valid = false;
235
-            $this->_error_msg[] = $e->getMessage();
236
-        }
237
-        return $message;
238
-    }
239
-
240
-
241
-
242
-    /**
243
-     *  Returns an instantiated EE_Message object from the internal data.
244
-     *
245
-     * @return EE_Message
246
-     */
247
-    public function get_EE_Message()
248
-    {
249
-        // already set ?
250
-        if ($this->_message instanceof EE_Message) {
251
-            return $this->_message;
252
-        }
253
-        // no? then let's create one
254
-        $this->_message = $this->_generate_message();
255
-        return $this->_message;
256
-    }
257
-
258
-
259
-
260
-    /**
261
-     * This returns the data_handler class name for the internal message type set.
262
-     * Note: this also verifies that the data handler class exists.  If it doesn't then $_valid is set to false
263
-     * and the data_handler_class name is set to an empty string.
264
-     *
265
-     * @param   bool    $preview    Used to indicate that the preview data handler is to be returned.
266
-     * @return  string
267
-     */
268
-    public function get_data_handler_class_name($preview = false)
269
-    {
270
-        if ($this->_data_handler_class_name === '' && $this->valid()) {
271
-            $ref = $preview ? 'Preview' : $this->_message_type->get_data_handler($this->_data);
272
-            // make sure internal data is updated.
273
-            $this->_data = $this->_message_type->get_data();
274
-
275
-            // verify
276
-            $this->_data_handler_class_name = EE_Message_To_Generate::verify_and_retrieve_class_name_for_data_handler_reference($ref);
277
-            if ($this->_data_handler_class_name === '') {
278
-                $this->_valid = false;
279
-            }
280
-        }
281
-        return $this->_data_handler_class_name;
282
-    }
283
-
284
-
285
-
286
-    /**
287
-     * Validates the given string as a reference for an existing, accessible data handler and returns the class name
288
-     * For the handler the reference matches.
289
-     *
290
-     * @param string $data_handler_reference
291
-     * @return string
292
-     */
293
-    public static function verify_and_retrieve_class_name_for_data_handler_reference($data_handler_reference)
294
-    {
295
-        $class_name = 'EE_Messages_' . $data_handler_reference . '_incoming_data';
296
-        if (! class_exists($class_name)) {
297
-            EE_Error::add_error(
298
-                sprintf(
299
-                    __(
300
-                        'The included data handler reference (%s) does not match any valid, accessible, "EE_Messages_incoming_data" classes.  Looking for %s.',
301
-                        'event_espresso'
302
-                    ),
303
-                    $data_handler_reference,
304
-                    $class_name
305
-                ),
306
-                __FILE__,
307
-                __FUNCTION__,
308
-                __LINE__
309
-            );
310
-            $class_name = ''; // clear out class_name so caller knows this isn't valid.
311
-        }
312
-        return $class_name;
313
-    }
14
+	/**
15
+	 * @type string name of EE_messenger
16
+	 */
17
+	protected $_messenger_name = null;
18
+
19
+	/**
20
+	 * @type string name of EE_message_type
21
+	 */
22
+	protected $_message_type_name = null;
23
+
24
+	/**
25
+	 * @type EE_messenger
26
+	 */
27
+	protected $_messenger = null;
28
+
29
+	/**
30
+	 * @type EE_message_type
31
+	 */
32
+	protected $_message_type = null;
33
+
34
+	/**
35
+	 * Identifier for the context the message is to be generated for.
36
+	 * @type string
37
+	 */
38
+	protected $_context = '';
39
+
40
+	/**
41
+	 * Data that will be used to generate message.
42
+	 * @type array
43
+	 */
44
+	protected $_data = array();
45
+
46
+	/**
47
+	 * Whether this message is for a preview or not.
48
+	 * @type bool
49
+	 */
50
+	protected $_preview = false;
51
+
52
+	/**
53
+	 * @type EE_Message $_message
54
+	 */
55
+	protected $_message = null;
56
+
57
+	/**
58
+	 * This is set by the constructor to indicate whether the incoming messenger
59
+	 * and message type are valid.  This can then be checked by callers to determine whether
60
+	 * to generate this message or not.
61
+	 * @type bool
62
+	 */
63
+	protected $_valid = false;
64
+
65
+	/**
66
+	 * If there are any errors (non exception errors) they get added to this array for callers to decide
67
+	 * how to handle.
68
+	 * @type array
69
+	 */
70
+	protected $_error_msg = array();
71
+
72
+	/**
73
+	 * Can be accessed via the send_now() method, this is set in the validation
74
+	 * routine via the EE_messenger::send_now() method.
75
+	 * @type bool
76
+	 */
77
+	protected $_send_now = false;
78
+
79
+	/**
80
+	 * Holds the classname for the data handler used by the current message type.
81
+	 * This is set on the first call to the public `get_data_handler_class_name()` method.
82
+	 * @type string
83
+	 */
84
+	protected $_data_handler_class_name = '';
85
+
86
+	/**
87
+	 * one of the message status constants on EEM_Message
88
+	 *
89
+	 * @type string
90
+	 */
91
+	protected $_message_status = '';
92
+
93
+
94
+
95
+	/**
96
+	 * Constructor
97
+	 *
98
+	 * @param string $messenger_name    Slug representing messenger
99
+	 * @param string $message_type_name Slug representing message type.
100
+	 * @param mixed  $data              Data used for generating message.
101
+	 * @param string $context           Optional context to restrict message generated for.
102
+	 * @param bool   $preview           Whether this is being used to generate a preview or not.
103
+	 * @param string $status
104
+	 */
105
+	public function __construct(
106
+		$messenger_name,
107
+		$message_type_name,
108
+		$data = array(),
109
+		$context = '',
110
+		$preview = false,
111
+		$status = EEM_Message::status_incomplete
112
+	) {
113
+		$this->_messenger_name      = $messenger_name;
114
+		$this->_message_type_name   = $message_type_name;
115
+		$this->_data                = is_array($data) ? $data : array( $data );
116
+		$this->_context             = $context;
117
+		$this->_preview             = $preview;
118
+		$this->_status              = $status;
119
+		// attempt to generate message immediately
120
+		$this->_message = $this->_generate_message();
121
+	}
122
+
123
+
124
+
125
+	/**
126
+	 * @return string
127
+	 */
128
+	public function context()
129
+	{
130
+		return $this->_context;
131
+	}
132
+
133
+
134
+
135
+	/**
136
+	 * @return array
137
+	 */
138
+	public function data()
139
+	{
140
+		return $this->_data;
141
+	}
142
+
143
+
144
+
145
+	/**
146
+	 * @return EE_messenger
147
+	 */
148
+	public function messenger()
149
+	{
150
+		return $this->_messenger;
151
+	}
152
+
153
+
154
+
155
+	/**
156
+	 * @return EE_message_type
157
+	 */
158
+	public function message_type()
159
+	{
160
+		return $this->_message_type;
161
+	}
162
+
163
+
164
+
165
+	/**
166
+	 * @return boolean
167
+	 */
168
+	public function preview()
169
+	{
170
+		return $this->_preview;
171
+	}
172
+
173
+
174
+
175
+	/**
176
+	 * @param boolean $preview
177
+	 */
178
+	public function set_preview($preview)
179
+	{
180
+		$this->_preview = filter_var($preview, FILTER_VALIDATE_BOOLEAN);
181
+	}
182
+
183
+
184
+
185
+	/**
186
+	 * @return bool
187
+	 */
188
+	public function send_now()
189
+	{
190
+		return $this->_send_now;
191
+	}
192
+
193
+
194
+
195
+	/**
196
+	 * Simply returns the state of the $_valid property.
197
+	 *
198
+	 * @return bool
199
+	 */
200
+	public function valid()
201
+	{
202
+		return $this->_valid;
203
+	}
204
+
205
+
206
+
207
+	/**
208
+	 * generates an EE_Message using the supplied arguments and some defaults
209
+	 *
210
+	 * @param array $properties
211
+	 * @return string
212
+	 */
213
+	protected function _generate_message($properties = array())
214
+	{
215
+		$message = EE_Message_Factory::create(
216
+			array_merge(
217
+				array(
218
+					'MSG_messenger'    => $this->_messenger_name,
219
+					'MSG_message_type' => $this->_message_type_name,
220
+					'MSG_context'      => $this->_context,
221
+					'STS_ID'           => $this->_status,
222
+				),
223
+				$properties
224
+			)
225
+		);
226
+		// validate the message, and if it's good, set some properties
227
+		try {
228
+			$message->is_valid_for_sending_or_generation(true);
229
+			$this->_valid = true;
230
+			$this->_messenger = $message->messenger_object();
231
+			$this->_message_type = $message->message_type_object();
232
+			$this->_send_now = $message->send_now();
233
+		} catch (Exception $e) {
234
+			$this->_valid = false;
235
+			$this->_error_msg[] = $e->getMessage();
236
+		}
237
+		return $message;
238
+	}
239
+
240
+
241
+
242
+	/**
243
+	 *  Returns an instantiated EE_Message object from the internal data.
244
+	 *
245
+	 * @return EE_Message
246
+	 */
247
+	public function get_EE_Message()
248
+	{
249
+		// already set ?
250
+		if ($this->_message instanceof EE_Message) {
251
+			return $this->_message;
252
+		}
253
+		// no? then let's create one
254
+		$this->_message = $this->_generate_message();
255
+		return $this->_message;
256
+	}
257
+
258
+
259
+
260
+	/**
261
+	 * This returns the data_handler class name for the internal message type set.
262
+	 * Note: this also verifies that the data handler class exists.  If it doesn't then $_valid is set to false
263
+	 * and the data_handler_class name is set to an empty string.
264
+	 *
265
+	 * @param   bool    $preview    Used to indicate that the preview data handler is to be returned.
266
+	 * @return  string
267
+	 */
268
+	public function get_data_handler_class_name($preview = false)
269
+	{
270
+		if ($this->_data_handler_class_name === '' && $this->valid()) {
271
+			$ref = $preview ? 'Preview' : $this->_message_type->get_data_handler($this->_data);
272
+			// make sure internal data is updated.
273
+			$this->_data = $this->_message_type->get_data();
274
+
275
+			// verify
276
+			$this->_data_handler_class_name = EE_Message_To_Generate::verify_and_retrieve_class_name_for_data_handler_reference($ref);
277
+			if ($this->_data_handler_class_name === '') {
278
+				$this->_valid = false;
279
+			}
280
+		}
281
+		return $this->_data_handler_class_name;
282
+	}
283
+
284
+
285
+
286
+	/**
287
+	 * Validates the given string as a reference for an existing, accessible data handler and returns the class name
288
+	 * For the handler the reference matches.
289
+	 *
290
+	 * @param string $data_handler_reference
291
+	 * @return string
292
+	 */
293
+	public static function verify_and_retrieve_class_name_for_data_handler_reference($data_handler_reference)
294
+	{
295
+		$class_name = 'EE_Messages_' . $data_handler_reference . '_incoming_data';
296
+		if (! class_exists($class_name)) {
297
+			EE_Error::add_error(
298
+				sprintf(
299
+					__(
300
+						'The included data handler reference (%s) does not match any valid, accessible, "EE_Messages_incoming_data" classes.  Looking for %s.',
301
+						'event_espresso'
302
+					),
303
+					$data_handler_reference,
304
+					$class_name
305
+				),
306
+				__FILE__,
307
+				__FUNCTION__,
308
+				__LINE__
309
+			);
310
+			$class_name = ''; // clear out class_name so caller knows this isn't valid.
311
+		}
312
+		return $class_name;
313
+	}
314 314
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
     ) {
113 113
         $this->_messenger_name      = $messenger_name;
114 114
         $this->_message_type_name   = $message_type_name;
115
-        $this->_data                = is_array($data) ? $data : array( $data );
115
+        $this->_data                = is_array($data) ? $data : array($data);
116 116
         $this->_context             = $context;
117 117
         $this->_preview             = $preview;
118 118
         $this->_status              = $status;
@@ -292,8 +292,8 @@  discard block
 block discarded – undo
292 292
      */
293 293
     public static function verify_and_retrieve_class_name_for_data_handler_reference($data_handler_reference)
294 294
     {
295
-        $class_name = 'EE_Messages_' . $data_handler_reference . '_incoming_data';
296
-        if (! class_exists($class_name)) {
295
+        $class_name = 'EE_Messages_'.$data_handler_reference.'_incoming_data';
296
+        if ( ! class_exists($class_name)) {
297 297
             EE_Error::add_error(
298 298
                 sprintf(
299 299
                     __(
Please login to merge, or discard this patch.