Completed
Branch dependabot/npm_and_yarn/@wordp... (e9f48b)
by
unknown
60:52 queued 52:34
created
core/services/commands/CommandHandlerManager.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
         if (empty($command)) {
75 75
             throw new InvalidCommandHandlerException($command);
76 76
         }
77
-        $this->command_handlers[ $command ] = $command_handler;
77
+        $this->command_handlers[$command] = $command_handler;
78 78
     }
79 79
 
80 80
 
@@ -96,14 +96,14 @@  discard block
 block discarded – undo
96 96
         $handler = null;
97 97
         // has a command handler already been set for this class ?
98 98
         // if not, can we find one via the FQCN ?
99
-        if (isset($this->command_handlers[ $command_name ])) {
100
-            $handler = $this->command_handlers[ $command_name ];
99
+        if (isset($this->command_handlers[$command_name])) {
100
+            $handler = $this->command_handlers[$command_name];
101 101
         } elseif (class_exists($command_handler)) {
102 102
             $handler = $this->loader->getShared($command_handler);
103 103
         }
104 104
         // if Handler requires an instance of the CommandBus, but that has not yet been set
105 105
         if ($handler instanceof CompositeCommandHandler && ! $handler->commandBus() instanceof CommandBusInterface) {
106
-            if (! $command_bus instanceof CommandBusInterface) {
106
+            if ( ! $command_bus instanceof CommandBusInterface) {
107 107
                 throw new DomainException(
108 108
                     esc_html__(
109 109
                         'CompositeCommandHandler classes require an instance of the CommandBus.',
Please login to merge, or discard this patch.
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -18,83 +18,83 @@  discard block
 block discarded – undo
18 18
 class CommandHandlerManager implements CommandHandlerManagerInterface
19 19
 {
20 20
 
21
-    /**
22
-     * @var CommandHandlerInterface[] $command_handlers
23
-     */
24
-    protected $command_handlers;
21
+	/**
22
+	 * @var CommandHandlerInterface[] $command_handlers
23
+	 */
24
+	protected $command_handlers;
25 25
 
26
-    /**
27
-     * @type LoaderInterface $loader
28
-     */
29
-    private $loader;
26
+	/**
27
+	 * @type LoaderInterface $loader
28
+	 */
29
+	private $loader;
30 30
 
31 31
 
32
-    /**
33
-     * CommandHandlerManager constructor
34
-     *
35
-     * @param LoaderInterface $loader
36
-     */
37
-    public function __construct(LoaderInterface $loader)
38
-    {
39
-        $this->loader = $loader;
40
-    }
32
+	/**
33
+	 * CommandHandlerManager constructor
34
+	 *
35
+	 * @param LoaderInterface $loader
36
+	 */
37
+	public function __construct(LoaderInterface $loader)
38
+	{
39
+		$this->loader = $loader;
40
+	}
41 41
 
42 42
 
43
-    /**
44
-     * By default, Commands and CommandHandlers would normally
45
-     * reside in the same folder under the same namespace,
46
-     * and the names of the two classes would only differ in that
47
-     * one ends in "Command" and the other ends in "CommandHandler".
48
-     * However, if you wanted to utilize a CommandHandler from somewhere else,
49
-     * then this method allows you to add that CommandHandler and specify the FQCN
50
-     * (Fully Qualified ClassName) for the Command class that it should be used for.
51
-     * For example:
52
-     *      by default the "Vendor\some\namespace\DoSomethingCommand"
53
-     *      would resolve to using "Vendor\some\namespace\DoSomethingCommandHandler"
54
-     *      but if you wanted to instead process that commend using:
55
-     *      "Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler"
56
-     *      then the following code:
57
-     *      $CommandHandlerManager = $this->loader->getShared( 'CommandHandlerManagerInterface' );
58
-     *      $CommandHandlerManager->addCommandHandler(
59
-     *          new Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler(),
60
-     *          'Vendor\some\namespace\DoSomethingCommand'
61
-     *      );
62
-     *      would result in the alternate CommandHandler being used to process that Command
63
-     *
64
-     * !!! IMPORTANT !!!
65
-     * If overriding the default CommandHandler for a Command,
66
-     * be sure to also override CommandHandler::verify(),
67
-     * or else an Exception will be thrown when the CommandBus
68
-     * attempts to verify that the incoming Command matches the Handler
69
-     *
70
-     * @param CommandHandlerInterface $command_handler
71
-     * @param string                  $fqcn_for_command Fully Qualified ClassName for Command
72
-     * @return void
73
-     * @throws InvalidCommandHandlerException
74
-     */
75
-    public function addCommandHandler(CommandHandlerInterface $command_handler, $fqcn_for_command = '')
76
-    {
77
-        $command = ! empty($fqcn_for_command)
78
-            ? $fqcn_for_command
79
-            : str_replace('CommandHandler', 'Command', get_class($command_handler));
80
-        if (empty($command)) {
81
-            throw new InvalidCommandHandlerException($command);
82
-        }
83
-        $this->command_handlers[ $command ] = $command_handler;
84
-    }
43
+	/**
44
+	 * By default, Commands and CommandHandlers would normally
45
+	 * reside in the same folder under the same namespace,
46
+	 * and the names of the two classes would only differ in that
47
+	 * one ends in "Command" and the other ends in "CommandHandler".
48
+	 * However, if you wanted to utilize a CommandHandler from somewhere else,
49
+	 * then this method allows you to add that CommandHandler and specify the FQCN
50
+	 * (Fully Qualified ClassName) for the Command class that it should be used for.
51
+	 * For example:
52
+	 *      by default the "Vendor\some\namespace\DoSomethingCommand"
53
+	 *      would resolve to using "Vendor\some\namespace\DoSomethingCommandHandler"
54
+	 *      but if you wanted to instead process that commend using:
55
+	 *      "Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler"
56
+	 *      then the following code:
57
+	 *      $CommandHandlerManager = $this->loader->getShared( 'CommandHandlerManagerInterface' );
58
+	 *      $CommandHandlerManager->addCommandHandler(
59
+	 *          new Vendor\a\totally\different\namespace\for\DoSomethingCommandHandler(),
60
+	 *          'Vendor\some\namespace\DoSomethingCommand'
61
+	 *      );
62
+	 *      would result in the alternate CommandHandler being used to process that Command
63
+	 *
64
+	 * !!! IMPORTANT !!!
65
+	 * If overriding the default CommandHandler for a Command,
66
+	 * be sure to also override CommandHandler::verify(),
67
+	 * or else an Exception will be thrown when the CommandBus
68
+	 * attempts to verify that the incoming Command matches the Handler
69
+	 *
70
+	 * @param CommandHandlerInterface $command_handler
71
+	 * @param string                  $fqcn_for_command Fully Qualified ClassName for Command
72
+	 * @return void
73
+	 * @throws InvalidCommandHandlerException
74
+	 */
75
+	public function addCommandHandler(CommandHandlerInterface $command_handler, $fqcn_for_command = '')
76
+	{
77
+		$command = ! empty($fqcn_for_command)
78
+			? $fqcn_for_command
79
+			: str_replace('CommandHandler', 'Command', get_class($command_handler));
80
+		if (empty($command)) {
81
+			throw new InvalidCommandHandlerException($command);
82
+		}
83
+		$this->command_handlers[ $command ] = $command_handler;
84
+	}
85 85
 
86 86
 
87
-    /**
88
-     * @param CommandInterface    $command
89
-     * @param CommandBusInterface $command_bus
90
-     * @return mixed
91
-     * @throws DomainException
92
-     * @throws CommandHandlerNotFoundException
93
-     */
94
-    public function getCommandHandler(CommandInterface $command, CommandBusInterface $command_bus = null)
95
-    {
96
-        $command_name = get_class($command);
97
-        /*
87
+	/**
88
+	 * @param CommandInterface    $command
89
+	 * @param CommandBusInterface $command_bus
90
+	 * @return mixed
91
+	 * @throws DomainException
92
+	 * @throws CommandHandlerNotFoundException
93
+	 */
94
+	public function getCommandHandler(CommandInterface $command, CommandBusInterface $command_bus = null)
95
+	{
96
+		$command_name = get_class($command);
97
+		/*
98 98
          * Filters the Fully Qualified Class Name for the Command Handler
99 99
          * that will be used to handle the incoming Command
100 100
          *
@@ -107,34 +107,34 @@  discard block
 block discarded – undo
107 107
          * @param string "CommandHandler::class" Fully Qualified Class Name for the Command Handler
108 108
          * @param CommandInterface $command the actual Command instance
109 109
          */
110
-        $command_handler = apply_filters(
111
-            'FHEE__EventEspresso_core_services_commands_CommandHandlerManager__getCommandHandler__command_handler',
112
-            str_replace('Command', 'CommandHandler', $command_name),
113
-            $command
114
-        );
115
-        $handler = null;
116
-        // has a command handler already been set for this class ?
117
-        // if not, can we find one via the FQCN ?
118
-        if (isset($this->command_handlers[ $command_name ])) {
119
-            $handler = $this->command_handlers[ $command_name ];
120
-        } elseif (class_exists($command_handler)) {
121
-            $handler = $this->loader->getShared($command_handler);
122
-        }
123
-        // if Handler requires an instance of the CommandBus, but that has not yet been set
124
-        if ($handler instanceof CompositeCommandHandler && ! $handler->commandBus() instanceof CommandBusInterface) {
125
-            if (! $command_bus instanceof CommandBusInterface) {
126
-                throw new DomainException(
127
-                    esc_html__(
128
-                        'CompositeCommandHandler classes require an instance of the CommandBus.',
129
-                        'event_espresso'
130
-                    )
131
-                );
132
-            }
133
-            $handler->setCommandBus($command_bus);
134
-        }
135
-        if ($handler instanceof CommandHandlerInterface) {
136
-            return $handler;
137
-        }
138
-        throw new CommandHandlerNotFoundException($command_handler);
139
-    }
110
+		$command_handler = apply_filters(
111
+			'FHEE__EventEspresso_core_services_commands_CommandHandlerManager__getCommandHandler__command_handler',
112
+			str_replace('Command', 'CommandHandler', $command_name),
113
+			$command
114
+		);
115
+		$handler = null;
116
+		// has a command handler already been set for this class ?
117
+		// if not, can we find one via the FQCN ?
118
+		if (isset($this->command_handlers[ $command_name ])) {
119
+			$handler = $this->command_handlers[ $command_name ];
120
+		} elseif (class_exists($command_handler)) {
121
+			$handler = $this->loader->getShared($command_handler);
122
+		}
123
+		// if Handler requires an instance of the CommandBus, but that has not yet been set
124
+		if ($handler instanceof CompositeCommandHandler && ! $handler->commandBus() instanceof CommandBusInterface) {
125
+			if (! $command_bus instanceof CommandBusInterface) {
126
+				throw new DomainException(
127
+					esc_html__(
128
+						'CompositeCommandHandler classes require an instance of the CommandBus.',
129
+						'event_espresso'
130
+					)
131
+				);
132
+			}
133
+			$handler->setCommandBus($command_bus);
134
+		}
135
+		if ($handler instanceof CommandHandlerInterface) {
136
+			return $handler;
137
+		}
138
+		throw new CommandHandlerNotFoundException($command_handler);
139
+	}
140 140
 }
Please login to merge, or discard this patch.
core/services/notices/Notice.php 2 patches
Indentation   +249 added lines, -249 removed lines patch added patch discarded remove patch
@@ -14,253 +14,253 @@
 block discarded – undo
14 14
 class Notice implements NoticeInterface
15 15
 {
16 16
 
17
-    const ERROR = 'error';
18
-
19
-    const SUCCESS = 'success';
20
-
21
-    const ATTENTION = 'attention'; // alias for warning
22
-
23
-    const INFORMATION = 'information';
24
-
25
-    /**
26
-     * @var string $type
27
-     */
28
-    private $type;
29
-
30
-
31
-    /**
32
-     * @var string $message
33
-     */
34
-    private $message;
35
-
36
-
37
-    /**
38
-     * @var string $file
39
-     */
40
-    private $file;
41
-
42
-
43
-    /**
44
-     * @var string $func
45
-     */
46
-    private $func;
47
-
48
-
49
-    /**
50
-     * @var string $line
51
-     */
52
-    private $line;
53
-
54
-
55
-    /**
56
-     * @var boolean $dismissible
57
-     */
58
-    private $dismissible;
59
-
60
-
61
-    /**
62
-     * Notice constructor.
63
-     *
64
-     * @param string $type
65
-     * @param string $message
66
-     * @param bool   $dismissible
67
-     * @param string $file
68
-     * @param string $func
69
-     * @param string $line
70
-     * @throws InvalidDataTypeException
71
-     */
72
-    public function __construct($type, $message, $dismissible = true, $file = '', $func = '', $line = '')
73
-    {
74
-        $this->setType($type);
75
-        $this->setMessage($message);
76
-        $this->setDismissible($dismissible);
77
-        $this->setFile($file);
78
-        $this->setFunc($func);
79
-        $this->setLine($line);
80
-    }
81
-
82
-
83
-    /**
84
-     * @return array
85
-     */
86
-    private function types()
87
-    {
88
-        return (array) apply_filters(
89
-            'FHEE__EventEspresso_core_services_notices_Notice__types',
90
-            array(
91
-                Notice::ERROR,
92
-                Notice::SUCCESS,
93
-                Notice::ATTENTION,
94
-                Notice::INFORMATION,
95
-            )
96
-        );
97
-    }
98
-
99
-
100
-    /**
101
-     * @return string
102
-     */
103
-    public function type()
104
-    {
105
-        return $this->type;
106
-    }
107
-
108
-
109
-    /**
110
-     * @return string
111
-     */
112
-    public function message()
113
-    {
114
-        return $this->message;
115
-    }
116
-
117
-
118
-    /**
119
-     * @return string
120
-     */
121
-    public function file()
122
-    {
123
-        return $this->file;
124
-    }
125
-
126
-
127
-    /**
128
-     * @return string
129
-     */
130
-    public function func()
131
-    {
132
-        return $this->func;
133
-    }
134
-
135
-
136
-    /**
137
-     * @return string
138
-     */
139
-    public function line()
140
-    {
141
-        return $this->line;
142
-    }
143
-
144
-
145
-    /**
146
-     * @return bool
147
-     */
148
-    public function isDismissible()
149
-    {
150
-        return $this->dismissible;
151
-    }
152
-
153
-
154
-    /**
155
-     * @param string $type
156
-     * @throws InvalidDataTypeException
157
-     */
158
-    private function setType($type)
159
-    {
160
-        if (! in_array($type, $this->types(), true)) {
161
-            throw new InvalidDataTypeException(
162
-                '$type',
163
-                $type,
164
-                $this->invalidTypeMessage()
165
-            );
166
-        }
167
-        $this->type = $type;
168
-    }
169
-
170
-
171
-    /**
172
-     * gets the $invalid_type_message string
173
-     */
174
-    private function invalidTypeMessage()
175
-    {
176
-        return apply_filters(
177
-            'FHEE__EventEspresso_core_services_notices_Notice__invalidTypeMessage',
178
-            sprintf(
179
-                esc_html__(
180
-                    ' one of the following notice types was expected: %1$s %2$s',
181
-                    'event_espresso'
182
-                ),
183
-                '<br />',
184
-                var_export($this->types(), true)
185
-            )
186
-        );
187
-    }
188
-
189
-
190
-    /**
191
-     * @param string $message
192
-     * @throws InvalidDataTypeException
193
-     */
194
-    private function setMessage($message)
195
-    {
196
-        if (empty($message) || ! is_string($message)) {
197
-            throw new InvalidDataTypeException(
198
-                '$message',
199
-                $message,
200
-                esc_html__('non empty string', 'event_espresso')
201
-            );
202
-        }
203
-        $this->message = $message;
204
-    }
205
-
206
-
207
-    /**
208
-     * @param string $file
209
-     * @throws InvalidDataTypeException
210
-     */
211
-    private function setFile($file)
212
-    {
213
-        if ($this->type === Notice::ERROR && (empty($file) || ! is_string($file))) {
214
-            throw new InvalidDataTypeException(
215
-                '$file',
216
-                $file,
217
-                esc_html__('non empty string', 'event_espresso')
218
-            );
219
-        }
220
-        $this->file = $file;
221
-    }
222
-
223
-
224
-    /**
225
-     * @param string $func
226
-     * @throws InvalidDataTypeException
227
-     */
228
-    private function setFunc($func)
229
-    {
230
-        if ($this->type === Notice::ERROR && (empty($func) || ! is_string($func))) {
231
-            throw new InvalidDataTypeException(
232
-                '$func',
233
-                $func,
234
-                esc_html__('non empty string', 'event_espresso')
235
-            );
236
-        }
237
-        $this->func = $func;
238
-    }
239
-
240
-
241
-    /**
242
-     * @param int $line
243
-     * @throws InvalidDataTypeException
244
-     */
245
-    private function setLine($line)
246
-    {
247
-        $line = absint($line);
248
-        if ($this->type === Notice::ERROR && $line === 0) {
249
-            throw new InvalidDataTypeException(
250
-                '$line',
251
-                $line,
252
-                esc_html__('integer', 'event_espresso')
253
-            );
254
-        }
255
-        $this->line = $line;
256
-    }
257
-
258
-
259
-    /**
260
-     * @param boolean $dismissible
261
-     */
262
-    private function setDismissible($dismissible = true)
263
-    {
264
-        $this->dismissible = filter_var($dismissible, FILTER_VALIDATE_BOOLEAN);
265
-    }
17
+	const ERROR = 'error';
18
+
19
+	const SUCCESS = 'success';
20
+
21
+	const ATTENTION = 'attention'; // alias for warning
22
+
23
+	const INFORMATION = 'information';
24
+
25
+	/**
26
+	 * @var string $type
27
+	 */
28
+	private $type;
29
+
30
+
31
+	/**
32
+	 * @var string $message
33
+	 */
34
+	private $message;
35
+
36
+
37
+	/**
38
+	 * @var string $file
39
+	 */
40
+	private $file;
41
+
42
+
43
+	/**
44
+	 * @var string $func
45
+	 */
46
+	private $func;
47
+
48
+
49
+	/**
50
+	 * @var string $line
51
+	 */
52
+	private $line;
53
+
54
+
55
+	/**
56
+	 * @var boolean $dismissible
57
+	 */
58
+	private $dismissible;
59
+
60
+
61
+	/**
62
+	 * Notice constructor.
63
+	 *
64
+	 * @param string $type
65
+	 * @param string $message
66
+	 * @param bool   $dismissible
67
+	 * @param string $file
68
+	 * @param string $func
69
+	 * @param string $line
70
+	 * @throws InvalidDataTypeException
71
+	 */
72
+	public function __construct($type, $message, $dismissible = true, $file = '', $func = '', $line = '')
73
+	{
74
+		$this->setType($type);
75
+		$this->setMessage($message);
76
+		$this->setDismissible($dismissible);
77
+		$this->setFile($file);
78
+		$this->setFunc($func);
79
+		$this->setLine($line);
80
+	}
81
+
82
+
83
+	/**
84
+	 * @return array
85
+	 */
86
+	private function types()
87
+	{
88
+		return (array) apply_filters(
89
+			'FHEE__EventEspresso_core_services_notices_Notice__types',
90
+			array(
91
+				Notice::ERROR,
92
+				Notice::SUCCESS,
93
+				Notice::ATTENTION,
94
+				Notice::INFORMATION,
95
+			)
96
+		);
97
+	}
98
+
99
+
100
+	/**
101
+	 * @return string
102
+	 */
103
+	public function type()
104
+	{
105
+		return $this->type;
106
+	}
107
+
108
+
109
+	/**
110
+	 * @return string
111
+	 */
112
+	public function message()
113
+	{
114
+		return $this->message;
115
+	}
116
+
117
+
118
+	/**
119
+	 * @return string
120
+	 */
121
+	public function file()
122
+	{
123
+		return $this->file;
124
+	}
125
+
126
+
127
+	/**
128
+	 * @return string
129
+	 */
130
+	public function func()
131
+	{
132
+		return $this->func;
133
+	}
134
+
135
+
136
+	/**
137
+	 * @return string
138
+	 */
139
+	public function line()
140
+	{
141
+		return $this->line;
142
+	}
143
+
144
+
145
+	/**
146
+	 * @return bool
147
+	 */
148
+	public function isDismissible()
149
+	{
150
+		return $this->dismissible;
151
+	}
152
+
153
+
154
+	/**
155
+	 * @param string $type
156
+	 * @throws InvalidDataTypeException
157
+	 */
158
+	private function setType($type)
159
+	{
160
+		if (! in_array($type, $this->types(), true)) {
161
+			throw new InvalidDataTypeException(
162
+				'$type',
163
+				$type,
164
+				$this->invalidTypeMessage()
165
+			);
166
+		}
167
+		$this->type = $type;
168
+	}
169
+
170
+
171
+	/**
172
+	 * gets the $invalid_type_message string
173
+	 */
174
+	private function invalidTypeMessage()
175
+	{
176
+		return apply_filters(
177
+			'FHEE__EventEspresso_core_services_notices_Notice__invalidTypeMessage',
178
+			sprintf(
179
+				esc_html__(
180
+					' one of the following notice types was expected: %1$s %2$s',
181
+					'event_espresso'
182
+				),
183
+				'<br />',
184
+				var_export($this->types(), true)
185
+			)
186
+		);
187
+	}
188
+
189
+
190
+	/**
191
+	 * @param string $message
192
+	 * @throws InvalidDataTypeException
193
+	 */
194
+	private function setMessage($message)
195
+	{
196
+		if (empty($message) || ! is_string($message)) {
197
+			throw new InvalidDataTypeException(
198
+				'$message',
199
+				$message,
200
+				esc_html__('non empty string', 'event_espresso')
201
+			);
202
+		}
203
+		$this->message = $message;
204
+	}
205
+
206
+
207
+	/**
208
+	 * @param string $file
209
+	 * @throws InvalidDataTypeException
210
+	 */
211
+	private function setFile($file)
212
+	{
213
+		if ($this->type === Notice::ERROR && (empty($file) || ! is_string($file))) {
214
+			throw new InvalidDataTypeException(
215
+				'$file',
216
+				$file,
217
+				esc_html__('non empty string', 'event_espresso')
218
+			);
219
+		}
220
+		$this->file = $file;
221
+	}
222
+
223
+
224
+	/**
225
+	 * @param string $func
226
+	 * @throws InvalidDataTypeException
227
+	 */
228
+	private function setFunc($func)
229
+	{
230
+		if ($this->type === Notice::ERROR && (empty($func) || ! is_string($func))) {
231
+			throw new InvalidDataTypeException(
232
+				'$func',
233
+				$func,
234
+				esc_html__('non empty string', 'event_espresso')
235
+			);
236
+		}
237
+		$this->func = $func;
238
+	}
239
+
240
+
241
+	/**
242
+	 * @param int $line
243
+	 * @throws InvalidDataTypeException
244
+	 */
245
+	private function setLine($line)
246
+	{
247
+		$line = absint($line);
248
+		if ($this->type === Notice::ERROR && $line === 0) {
249
+			throw new InvalidDataTypeException(
250
+				'$line',
251
+				$line,
252
+				esc_html__('integer', 'event_espresso')
253
+			);
254
+		}
255
+		$this->line = $line;
256
+	}
257
+
258
+
259
+	/**
260
+	 * @param boolean $dismissible
261
+	 */
262
+	private function setDismissible($dismissible = true)
263
+	{
264
+		$this->dismissible = filter_var($dismissible, FILTER_VALIDATE_BOOLEAN);
265
+	}
266 266
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -157,7 +157,7 @@
 block discarded – undo
157 157
      */
158 158
     private function setType($type)
159 159
     {
160
-        if (! in_array($type, $this->types(), true)) {
160
+        if ( ! in_array($type, $this->types(), true)) {
161 161
             throw new InvalidDataTypeException(
162 162
                 '$type',
163 163
                 $type,
Please login to merge, or discard this patch.
core/libraries/iframe_display/Iframe.php 2 patches
Indentation   +332 added lines, -332 removed lines patch added patch discarded remove patch
@@ -18,371 +18,371 @@
 block discarded – undo
18 18
 class Iframe
19 19
 {
20 20
 
21
-    /*
21
+	/*
22 22
     * HTML for notices and ajax gif
23 23
     * @var string $title
24 24
     */
25
-    protected $title = '';
25
+	protected $title = '';
26 26
 
27
-    /*
27
+	/*
28 28
     * HTML for the content being displayed
29 29
     * @var string $content
30 30
     */
31
-    protected $content = '';
31
+	protected $content = '';
32 32
 
33
-    /*
33
+	/*
34 34
     * whether or not to call wp_head() and wp_footer()
35 35
     * @var boolean $enqueue_wp_assets
36 36
     */
37
-    protected $enqueue_wp_assets = false;
37
+	protected $enqueue_wp_assets = false;
38 38
 
39
-    /*
39
+	/*
40 40
     * an array of CSS URLs
41 41
     * @var array $css
42 42
     */
43
-    protected $css = array();
43
+	protected $css = array();
44 44
 
45
-    /*
45
+	/*
46 46
     * an array of JS URLs to be set in the HTML header.
47 47
     * @var array $header_js
48 48
     */
49
-    protected $header_js = array();
49
+	protected $header_js = array();
50 50
 
51
-    /*
51
+	/*
52 52
     * an array of additional attributes to be added to <script> tags for header JS
53 53
     * @var array $footer_js
54 54
     */
55
-    protected $header_js_attributes = array();
55
+	protected $header_js_attributes = array();
56 56
 
57
-    /*
57
+	/*
58 58
     * an array of JS URLs to be displayed before the HTML </body> tag
59 59
     * @var array $footer_js
60 60
     */
61
-    protected $footer_js = array();
61
+	protected $footer_js = array();
62 62
 
63
-    /*
63
+	/*
64 64
     * an array of additional attributes to be added to <script> tags for footer JS
65 65
     * @var array $footer_js_attributes
66 66
     */
67
-    protected $footer_js_attributes = array();
67
+	protected $footer_js_attributes = array();
68 68
 
69
-    /*
69
+	/*
70 70
     * an array of JSON vars to be set in the HTML header.
71 71
     * @var array $localized_vars
72 72
     */
73
-    protected $localized_vars = array();
74
-
75
-
76
-    /**
77
-     * Iframe constructor
78
-     *
79
-     * @param string $title
80
-     * @param string $content
81
-     * @throws DomainException
82
-     */
83
-    public function __construct($title, $content)
84
-    {
85
-        global $wp_version;
86
-        if (! defined('EE_IFRAME_DIR_URL')) {
87
-            define('EE_IFRAME_DIR_URL', plugin_dir_url(__FILE__));
88
-        }
89
-        $this->setContent($content);
90
-        $this->setTitle($title);
91
-        $this->addStylesheets(
92
-            apply_filters(
93
-                'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_css',
94
-                array(
95
-                    'site_theme'       => get_stylesheet_directory_uri() . DS
96
-                                          . 'style.css?ver=' . EVENT_ESPRESSO_VERSION,
97
-                    'dashicons'        => includes_url('css/dashicons.min.css?ver=' . $wp_version),
98
-                    'espresso_default' => EE_GLOBAL_ASSETS_URL
99
-                                          . 'css/espresso_default.css?ver=' . EVENT_ESPRESSO_VERSION,
100
-                ),
101
-                $this
102
-            )
103
-        );
104
-        $this->addScripts(
105
-            apply_filters(
106
-                'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_js',
107
-                array(
108
-                    'jquery'        => includes_url('js/jquery/jquery.js?ver=' . $wp_version),
109
-                    'espresso_core' => EE_GLOBAL_ASSETS_URL
110
-                                       . 'scripts/espresso_core.js?ver=' . EVENT_ESPRESSO_VERSION,
111
-                ),
112
-                $this
113
-            )
114
-        );
115
-        if (apply_filters(
116
-            'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__load_default_theme_stylesheet',
117
-            false
118
-        )) {
119
-            $this->addStylesheets(
120
-                apply_filters(
121
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_theme_stylesheet',
122
-                    array('default_theme_stylesheet' => get_stylesheet_uri()),
123
-                    $this
124
-                )
125
-            );
126
-        }
127
-    }
128
-
129
-
130
-    /**
131
-     * @param string $title
132
-     * @throws DomainException
133
-     */
134
-    public function setTitle($title)
135
-    {
136
-        if (empty($title)) {
137
-            throw new DomainException(
138
-                esc_html__('You must provide a page title in order to create an iframe.', 'event_espresso')
139
-            );
140
-        }
141
-        $this->title = $title;
142
-    }
143
-
144
-
145
-    /**
146
-     * @param string $content
147
-     * @throws DomainException
148
-     */
149
-    public function setContent($content)
150
-    {
151
-        if (empty($content)) {
152
-            throw new DomainException(
153
-                esc_html__('You must provide content in order to create an iframe.', 'event_espresso')
154
-            );
155
-        }
156
-        $this->content = $content;
157
-    }
158
-
159
-
160
-    /**
161
-     * @param boolean $enqueue_wp_assets
162
-     */
163
-    public function setEnqueueWpAssets($enqueue_wp_assets)
164
-    {
165
-        $this->enqueue_wp_assets = filter_var($enqueue_wp_assets, FILTER_VALIDATE_BOOLEAN);
166
-    }
167
-
168
-
169
-    /**
170
-     * @param array $stylesheets
171
-     * @throws DomainException
172
-     */
173
-    public function addStylesheets(array $stylesheets)
174
-    {
175
-        if (empty($stylesheets)) {
176
-            throw new DomainException(
177
-                esc_html__(
178
-                    'A non-empty array of URLs, is required to add a CSS stylesheet to an iframe.',
179
-                    'event_espresso'
180
-                )
181
-            );
182
-        }
183
-        foreach ($stylesheets as $handle => $stylesheet) {
184
-            $this->css[ $handle ] = $stylesheet;
185
-        }
186
-    }
187
-
188
-
189
-    /**
190
-     * @param array $scripts
191
-     * @param bool  $add_to_header
192
-     * @throws DomainException
193
-     */
194
-    public function addScripts(array $scripts, $add_to_header = false)
195
-    {
196
-        if (empty($scripts)) {
197
-            throw new DomainException(
198
-                esc_html__(
199
-                    'A non-empty array of URLs, is required to add Javascript to an iframe.',
200
-                    'event_espresso'
201
-                )
202
-            );
203
-        }
204
-        foreach ($scripts as $handle => $script) {
205
-            if ($add_to_header) {
206
-                $this->header_js[ $handle ] = $script;
207
-            } else {
208
-                $this->footer_js[ $handle ] = $script;
209
-            }
210
-        }
211
-    }
212
-
213
-
214
-    /**
215
-     * @param array $script_attributes
216
-     * @param bool  $add_to_header
217
-     * @throws DomainException
218
-     */
219
-    public function addScriptAttributes(array $script_attributes, $add_to_header = false)
220
-    {
221
-        if (empty($script_attributes)) {
222
-            throw new DomainException(
223
-                esc_html__(
224
-                    'A non-empty array of strings, is required to add attributes to iframe Javascript.',
225
-                    'event_espresso'
226
-                )
227
-            );
228
-        }
229
-        foreach ($script_attributes as $handle => $script_attribute) {
230
-            if ($add_to_header) {
231
-                $this->header_js_attributes[ $handle ] = $script_attribute;
232
-            } else {
233
-                $this->footer_js_attributes[ $handle ] = $script_attribute;
234
-            }
235
-        }
236
-    }
237
-
238
-
239
-    /**
240
-     * @param array  $vars
241
-     * @param string $var_name
242
-     * @throws DomainException
243
-     */
244
-    public function addLocalizedVars(array $vars, $var_name = 'eei18n')
245
-    {
246
-        if (empty($vars)) {
247
-            throw new DomainException(
248
-                esc_html__(
249
-                    'A non-empty array of vars, is required to add localized Javascript vars to an iframe.',
250
-                    'event_espresso'
251
-                )
252
-            );
253
-        }
254
-        foreach ($vars as $handle => $var) {
255
-            if ($var_name === 'eei18n') {
256
-                EE_Registry::$i18n_js_strings[ $handle ] = $var;
257
-            } elseif ($var_name === 'eeCAL' && $handle === 'espresso_calendar') {
258
-                $this->localized_vars[ $var_name ] = $var;
259
-            } else {
260
-                if (! isset($this->localized_vars[ $var_name ])) {
261
-                    $this->localized_vars[ $var_name ] = array();
262
-                }
263
-                $this->localized_vars[ $var_name ][ $handle ] = $var;
264
-            }
265
-        }
266
-    }
267
-
268
-
269
-    /**
270
-     * @param string $utm_content
271
-     * @throws DomainException
272
-     */
273
-    public function display($utm_content = '')
274
-    {
275
-        $this->content .= EEH_Template::powered_by_event_espresso(
276
-            '',
277
-            '',
278
-            ! empty($utm_content) ? array('utm_content' => $utm_content) : array()
279
-        );
280
-        EE_System::do_not_cache();
281
-        echo $this->getTemplate();
282
-        exit;
283
-    }
284
-
285
-
286
-    /**
287
-     * @return string
288
-     * @throws DomainException
289
-     */
290
-    public function getTemplate()
291
-    {
292
-        return EEH_Template::display_template(
293
-            __DIR__ . DIRECTORY_SEPARATOR . 'iframe_wrapper.template.php',
294
-            array(
295
-                'title'                => apply_filters(
296
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__title',
297
-                    $this->title,
298
-                    $this
299
-                ),
300
-                'content'              => apply_filters(
301
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__content',
302
-                    $this->content,
303
-                    $this
304
-                ),
305
-                'enqueue_wp_assets'    => apply_filters(
306
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__enqueue_wp_assets',
307
-                    $this->enqueue_wp_assets,
308
-                    $this
309
-                ),
310
-                'css'                  => (array) apply_filters(
311
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__css_urls',
312
-                    $this->css,
313
-                    $this
314
-                ),
315
-                'header_js'            => (array) apply_filters(
316
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__header_js_urls',
317
-                    $this->header_js,
318
-                    $this
319
-                ),
320
-                'header_js_attributes' => (array) apply_filters(
321
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__header_js_attributes',
322
-                    $this->header_js_attributes,
323
-                    $this
324
-                ),
325
-                'footer_js'            => (array) apply_filters(
326
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__footer_js_urls',
327
-                    $this->footer_js,
328
-                    $this
329
-                ),
330
-                'footer_js_attributes' => (array) apply_filters(
331
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__footer_js_attributes',
332
-                    $this->footer_js_attributes,
333
-                    $this
334
-                ),
335
-                'eei18n'               => apply_filters(
336
-                    'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__eei18n_js_strings',
337
-                    EE_Registry::localize_i18n_js_strings() . $this->localizeJsonVars(),
338
-                    $this
339
-                ),
340
-                'notices'              => EEH_Template::display_template(
341
-                    EE_TEMPLATES . 'espresso-ajax-notices.template.php',
342
-                    array(),
343
-                    true
344
-                ),
345
-            ),
346
-            true,
347
-            true
348
-        );
349
-    }
350
-
351
-
352
-    /**
353
-     * localizeJsonVars
354
-     *
355
-     * @return string
356
-     */
357
-    public function localizeJsonVars()
358
-    {
359
-        $JSON = '';
360
-        foreach ((array) $this->localized_vars as $var_name => $vars) {
361
-            $this->localized_vars[ $var_name ] = $this->encodeJsonVars($vars);
362
-            $JSON .= "/* <![CDATA[ */ var {$var_name} = ";
363
-            $JSON .= wp_json_encode($this->localized_vars[ $var_name ]);
364
-            $JSON .= '; /* ]]> */';
365
-        }
366
-        return $JSON;
367
-    }
368
-
369
-
370
-    /**
371
-     * @param bool|int|float|string|array $var
372
-     * @return array
373
-     */
374
-    public function encodeJsonVars($var)
375
-    {
376
-        if (is_array($var)) {
377
-            $localized_vars = array();
378
-            foreach ((array) $var as $key => $value) {
379
-                $localized_vars[ $key ] = $this->encodeJsonVars($value);
380
-            }
381
-            return $localized_vars;
382
-        }
383
-        if (is_scalar($var)) {
384
-            return html_entity_decode((string) $var, ENT_QUOTES, 'UTF-8');
385
-        }
386
-        return null;
387
-    }
73
+	protected $localized_vars = array();
74
+
75
+
76
+	/**
77
+	 * Iframe constructor
78
+	 *
79
+	 * @param string $title
80
+	 * @param string $content
81
+	 * @throws DomainException
82
+	 */
83
+	public function __construct($title, $content)
84
+	{
85
+		global $wp_version;
86
+		if (! defined('EE_IFRAME_DIR_URL')) {
87
+			define('EE_IFRAME_DIR_URL', plugin_dir_url(__FILE__));
88
+		}
89
+		$this->setContent($content);
90
+		$this->setTitle($title);
91
+		$this->addStylesheets(
92
+			apply_filters(
93
+				'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_css',
94
+				array(
95
+					'site_theme'       => get_stylesheet_directory_uri() . DS
96
+										  . 'style.css?ver=' . EVENT_ESPRESSO_VERSION,
97
+					'dashicons'        => includes_url('css/dashicons.min.css?ver=' . $wp_version),
98
+					'espresso_default' => EE_GLOBAL_ASSETS_URL
99
+										  . 'css/espresso_default.css?ver=' . EVENT_ESPRESSO_VERSION,
100
+				),
101
+				$this
102
+			)
103
+		);
104
+		$this->addScripts(
105
+			apply_filters(
106
+				'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_js',
107
+				array(
108
+					'jquery'        => includes_url('js/jquery/jquery.js?ver=' . $wp_version),
109
+					'espresso_core' => EE_GLOBAL_ASSETS_URL
110
+									   . 'scripts/espresso_core.js?ver=' . EVENT_ESPRESSO_VERSION,
111
+				),
112
+				$this
113
+			)
114
+		);
115
+		if (apply_filters(
116
+			'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__load_default_theme_stylesheet',
117
+			false
118
+		)) {
119
+			$this->addStylesheets(
120
+				apply_filters(
121
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_theme_stylesheet',
122
+					array('default_theme_stylesheet' => get_stylesheet_uri()),
123
+					$this
124
+				)
125
+			);
126
+		}
127
+	}
128
+
129
+
130
+	/**
131
+	 * @param string $title
132
+	 * @throws DomainException
133
+	 */
134
+	public function setTitle($title)
135
+	{
136
+		if (empty($title)) {
137
+			throw new DomainException(
138
+				esc_html__('You must provide a page title in order to create an iframe.', 'event_espresso')
139
+			);
140
+		}
141
+		$this->title = $title;
142
+	}
143
+
144
+
145
+	/**
146
+	 * @param string $content
147
+	 * @throws DomainException
148
+	 */
149
+	public function setContent($content)
150
+	{
151
+		if (empty($content)) {
152
+			throw new DomainException(
153
+				esc_html__('You must provide content in order to create an iframe.', 'event_espresso')
154
+			);
155
+		}
156
+		$this->content = $content;
157
+	}
158
+
159
+
160
+	/**
161
+	 * @param boolean $enqueue_wp_assets
162
+	 */
163
+	public function setEnqueueWpAssets($enqueue_wp_assets)
164
+	{
165
+		$this->enqueue_wp_assets = filter_var($enqueue_wp_assets, FILTER_VALIDATE_BOOLEAN);
166
+	}
167
+
168
+
169
+	/**
170
+	 * @param array $stylesheets
171
+	 * @throws DomainException
172
+	 */
173
+	public function addStylesheets(array $stylesheets)
174
+	{
175
+		if (empty($stylesheets)) {
176
+			throw new DomainException(
177
+				esc_html__(
178
+					'A non-empty array of URLs, is required to add a CSS stylesheet to an iframe.',
179
+					'event_espresso'
180
+				)
181
+			);
182
+		}
183
+		foreach ($stylesheets as $handle => $stylesheet) {
184
+			$this->css[ $handle ] = $stylesheet;
185
+		}
186
+	}
187
+
188
+
189
+	/**
190
+	 * @param array $scripts
191
+	 * @param bool  $add_to_header
192
+	 * @throws DomainException
193
+	 */
194
+	public function addScripts(array $scripts, $add_to_header = false)
195
+	{
196
+		if (empty($scripts)) {
197
+			throw new DomainException(
198
+				esc_html__(
199
+					'A non-empty array of URLs, is required to add Javascript to an iframe.',
200
+					'event_espresso'
201
+				)
202
+			);
203
+		}
204
+		foreach ($scripts as $handle => $script) {
205
+			if ($add_to_header) {
206
+				$this->header_js[ $handle ] = $script;
207
+			} else {
208
+				$this->footer_js[ $handle ] = $script;
209
+			}
210
+		}
211
+	}
212
+
213
+
214
+	/**
215
+	 * @param array $script_attributes
216
+	 * @param bool  $add_to_header
217
+	 * @throws DomainException
218
+	 */
219
+	public function addScriptAttributes(array $script_attributes, $add_to_header = false)
220
+	{
221
+		if (empty($script_attributes)) {
222
+			throw new DomainException(
223
+				esc_html__(
224
+					'A non-empty array of strings, is required to add attributes to iframe Javascript.',
225
+					'event_espresso'
226
+				)
227
+			);
228
+		}
229
+		foreach ($script_attributes as $handle => $script_attribute) {
230
+			if ($add_to_header) {
231
+				$this->header_js_attributes[ $handle ] = $script_attribute;
232
+			} else {
233
+				$this->footer_js_attributes[ $handle ] = $script_attribute;
234
+			}
235
+		}
236
+	}
237
+
238
+
239
+	/**
240
+	 * @param array  $vars
241
+	 * @param string $var_name
242
+	 * @throws DomainException
243
+	 */
244
+	public function addLocalizedVars(array $vars, $var_name = 'eei18n')
245
+	{
246
+		if (empty($vars)) {
247
+			throw new DomainException(
248
+				esc_html__(
249
+					'A non-empty array of vars, is required to add localized Javascript vars to an iframe.',
250
+					'event_espresso'
251
+				)
252
+			);
253
+		}
254
+		foreach ($vars as $handle => $var) {
255
+			if ($var_name === 'eei18n') {
256
+				EE_Registry::$i18n_js_strings[ $handle ] = $var;
257
+			} elseif ($var_name === 'eeCAL' && $handle === 'espresso_calendar') {
258
+				$this->localized_vars[ $var_name ] = $var;
259
+			} else {
260
+				if (! isset($this->localized_vars[ $var_name ])) {
261
+					$this->localized_vars[ $var_name ] = array();
262
+				}
263
+				$this->localized_vars[ $var_name ][ $handle ] = $var;
264
+			}
265
+		}
266
+	}
267
+
268
+
269
+	/**
270
+	 * @param string $utm_content
271
+	 * @throws DomainException
272
+	 */
273
+	public function display($utm_content = '')
274
+	{
275
+		$this->content .= EEH_Template::powered_by_event_espresso(
276
+			'',
277
+			'',
278
+			! empty($utm_content) ? array('utm_content' => $utm_content) : array()
279
+		);
280
+		EE_System::do_not_cache();
281
+		echo $this->getTemplate();
282
+		exit;
283
+	}
284
+
285
+
286
+	/**
287
+	 * @return string
288
+	 * @throws DomainException
289
+	 */
290
+	public function getTemplate()
291
+	{
292
+		return EEH_Template::display_template(
293
+			__DIR__ . DIRECTORY_SEPARATOR . 'iframe_wrapper.template.php',
294
+			array(
295
+				'title'                => apply_filters(
296
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__title',
297
+					$this->title,
298
+					$this
299
+				),
300
+				'content'              => apply_filters(
301
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__content',
302
+					$this->content,
303
+					$this
304
+				),
305
+				'enqueue_wp_assets'    => apply_filters(
306
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__enqueue_wp_assets',
307
+					$this->enqueue_wp_assets,
308
+					$this
309
+				),
310
+				'css'                  => (array) apply_filters(
311
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__css_urls',
312
+					$this->css,
313
+					$this
314
+				),
315
+				'header_js'            => (array) apply_filters(
316
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__header_js_urls',
317
+					$this->header_js,
318
+					$this
319
+				),
320
+				'header_js_attributes' => (array) apply_filters(
321
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__header_js_attributes',
322
+					$this->header_js_attributes,
323
+					$this
324
+				),
325
+				'footer_js'            => (array) apply_filters(
326
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__footer_js_urls',
327
+					$this->footer_js,
328
+					$this
329
+				),
330
+				'footer_js_attributes' => (array) apply_filters(
331
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__footer_js_attributes',
332
+					$this->footer_js_attributes,
333
+					$this
334
+				),
335
+				'eei18n'               => apply_filters(
336
+					'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__eei18n_js_strings',
337
+					EE_Registry::localize_i18n_js_strings() . $this->localizeJsonVars(),
338
+					$this
339
+				),
340
+				'notices'              => EEH_Template::display_template(
341
+					EE_TEMPLATES . 'espresso-ajax-notices.template.php',
342
+					array(),
343
+					true
344
+				),
345
+			),
346
+			true,
347
+			true
348
+		);
349
+	}
350
+
351
+
352
+	/**
353
+	 * localizeJsonVars
354
+	 *
355
+	 * @return string
356
+	 */
357
+	public function localizeJsonVars()
358
+	{
359
+		$JSON = '';
360
+		foreach ((array) $this->localized_vars as $var_name => $vars) {
361
+			$this->localized_vars[ $var_name ] = $this->encodeJsonVars($vars);
362
+			$JSON .= "/* <![CDATA[ */ var {$var_name} = ";
363
+			$JSON .= wp_json_encode($this->localized_vars[ $var_name ]);
364
+			$JSON .= '; /* ]]> */';
365
+		}
366
+		return $JSON;
367
+	}
368
+
369
+
370
+	/**
371
+	 * @param bool|int|float|string|array $var
372
+	 * @return array
373
+	 */
374
+	public function encodeJsonVars($var)
375
+	{
376
+		if (is_array($var)) {
377
+			$localized_vars = array();
378
+			foreach ((array) $var as $key => $value) {
379
+				$localized_vars[ $key ] = $this->encodeJsonVars($value);
380
+			}
381
+			return $localized_vars;
382
+		}
383
+		if (is_scalar($var)) {
384
+			return html_entity_decode((string) $var, ENT_QUOTES, 'UTF-8');
385
+		}
386
+		return null;
387
+	}
388 388
 }
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
     public function __construct($title, $content)
84 84
     {
85 85
         global $wp_version;
86
-        if (! defined('EE_IFRAME_DIR_URL')) {
86
+        if ( ! defined('EE_IFRAME_DIR_URL')) {
87 87
             define('EE_IFRAME_DIR_URL', plugin_dir_url(__FILE__));
88 88
         }
89 89
         $this->setContent($content);
@@ -92,11 +92,11 @@  discard block
 block discarded – undo
92 92
             apply_filters(
93 93
                 'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_css',
94 94
                 array(
95
-                    'site_theme'       => get_stylesheet_directory_uri() . DS
96
-                                          . 'style.css?ver=' . EVENT_ESPRESSO_VERSION,
97
-                    'dashicons'        => includes_url('css/dashicons.min.css?ver=' . $wp_version),
95
+                    'site_theme'       => get_stylesheet_directory_uri().DS
96
+                                          . 'style.css?ver='.EVENT_ESPRESSO_VERSION,
97
+                    'dashicons'        => includes_url('css/dashicons.min.css?ver='.$wp_version),
98 98
                     'espresso_default' => EE_GLOBAL_ASSETS_URL
99
-                                          . 'css/espresso_default.css?ver=' . EVENT_ESPRESSO_VERSION,
99
+                                          . 'css/espresso_default.css?ver='.EVENT_ESPRESSO_VERSION,
100 100
                 ),
101 101
                 $this
102 102
             )
@@ -105,9 +105,9 @@  discard block
 block discarded – undo
105 105
             apply_filters(
106 106
                 'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__construct__default_js',
107 107
                 array(
108
-                    'jquery'        => includes_url('js/jquery/jquery.js?ver=' . $wp_version),
108
+                    'jquery'        => includes_url('js/jquery/jquery.js?ver='.$wp_version),
109 109
                     'espresso_core' => EE_GLOBAL_ASSETS_URL
110
-                                       . 'scripts/espresso_core.js?ver=' . EVENT_ESPRESSO_VERSION,
110
+                                       . 'scripts/espresso_core.js?ver='.EVENT_ESPRESSO_VERSION,
111 111
                 ),
112 112
                 $this
113 113
             )
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
             );
182 182
         }
183 183
         foreach ($stylesheets as $handle => $stylesheet) {
184
-            $this->css[ $handle ] = $stylesheet;
184
+            $this->css[$handle] = $stylesheet;
185 185
         }
186 186
     }
187 187
 
@@ -203,9 +203,9 @@  discard block
 block discarded – undo
203 203
         }
204 204
         foreach ($scripts as $handle => $script) {
205 205
             if ($add_to_header) {
206
-                $this->header_js[ $handle ] = $script;
206
+                $this->header_js[$handle] = $script;
207 207
             } else {
208
-                $this->footer_js[ $handle ] = $script;
208
+                $this->footer_js[$handle] = $script;
209 209
             }
210 210
         }
211 211
     }
@@ -228,9 +228,9 @@  discard block
 block discarded – undo
228 228
         }
229 229
         foreach ($script_attributes as $handle => $script_attribute) {
230 230
             if ($add_to_header) {
231
-                $this->header_js_attributes[ $handle ] = $script_attribute;
231
+                $this->header_js_attributes[$handle] = $script_attribute;
232 232
             } else {
233
-                $this->footer_js_attributes[ $handle ] = $script_attribute;
233
+                $this->footer_js_attributes[$handle] = $script_attribute;
234 234
             }
235 235
         }
236 236
     }
@@ -253,14 +253,14 @@  discard block
 block discarded – undo
253 253
         }
254 254
         foreach ($vars as $handle => $var) {
255 255
             if ($var_name === 'eei18n') {
256
-                EE_Registry::$i18n_js_strings[ $handle ] = $var;
256
+                EE_Registry::$i18n_js_strings[$handle] = $var;
257 257
             } elseif ($var_name === 'eeCAL' && $handle === 'espresso_calendar') {
258
-                $this->localized_vars[ $var_name ] = $var;
258
+                $this->localized_vars[$var_name] = $var;
259 259
             } else {
260
-                if (! isset($this->localized_vars[ $var_name ])) {
261
-                    $this->localized_vars[ $var_name ] = array();
260
+                if ( ! isset($this->localized_vars[$var_name])) {
261
+                    $this->localized_vars[$var_name] = array();
262 262
                 }
263
-                $this->localized_vars[ $var_name ][ $handle ] = $var;
263
+                $this->localized_vars[$var_name][$handle] = $var;
264 264
             }
265 265
         }
266 266
     }
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
     public function getTemplate()
291 291
     {
292 292
         return EEH_Template::display_template(
293
-            __DIR__ . DIRECTORY_SEPARATOR . 'iframe_wrapper.template.php',
293
+            __DIR__.DIRECTORY_SEPARATOR.'iframe_wrapper.template.php',
294 294
             array(
295 295
                 'title'                => apply_filters(
296 296
                     'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__title',
@@ -334,11 +334,11 @@  discard block
 block discarded – undo
334 334
                 ),
335 335
                 'eei18n'               => apply_filters(
336 336
                     'FHEE___EventEspresso_core_libraries_iframe_display_Iframe__getTemplate__eei18n_js_strings',
337
-                    EE_Registry::localize_i18n_js_strings() . $this->localizeJsonVars(),
337
+                    EE_Registry::localize_i18n_js_strings().$this->localizeJsonVars(),
338 338
                     $this
339 339
                 ),
340 340
                 'notices'              => EEH_Template::display_template(
341
-                    EE_TEMPLATES . 'espresso-ajax-notices.template.php',
341
+                    EE_TEMPLATES.'espresso-ajax-notices.template.php',
342 342
                     array(),
343 343
                     true
344 344
                 ),
@@ -358,9 +358,9 @@  discard block
 block discarded – undo
358 358
     {
359 359
         $JSON = '';
360 360
         foreach ((array) $this->localized_vars as $var_name => $vars) {
361
-            $this->localized_vars[ $var_name ] = $this->encodeJsonVars($vars);
361
+            $this->localized_vars[$var_name] = $this->encodeJsonVars($vars);
362 362
             $JSON .= "/* <![CDATA[ */ var {$var_name} = ";
363
-            $JSON .= wp_json_encode($this->localized_vars[ $var_name ]);
363
+            $JSON .= wp_json_encode($this->localized_vars[$var_name]);
364 364
             $JSON .= '; /* ]]> */';
365 365
         }
366 366
         return $JSON;
@@ -376,7 +376,7 @@  discard block
 block discarded – undo
376 376
         if (is_array($var)) {
377 377
             $localized_vars = array();
378 378
             foreach ((array) $var as $key => $value) {
379
-                $localized_vars[ $key ] = $this->encodeJsonVars($value);
379
+                $localized_vars[$key] = $this->encodeJsonVars($value);
380 380
             }
381 381
             return $localized_vars;
382 382
         }
Please login to merge, or discard this patch.
core/libraries/iframe_display/IframeEmbedButton.php 2 patches
Indentation   +245 added lines, -245 removed lines patch added patch discarded remove patch
@@ -13,274 +13,274 @@
 block discarded – undo
13 13
 {
14 14
 
15 15
 
16
-    /**
17
-     * @var string $iframe_name
18
-     */
19
-    private $iframe_name;
16
+	/**
17
+	 * @var string $iframe_name
18
+	 */
19
+	private $iframe_name;
20 20
 
21
-    /**
22
-     * @var string $route_name
23
-     */
24
-    private $route_name;
21
+	/**
22
+	 * @var string $route_name
23
+	 */
24
+	private $route_name;
25 25
 
26
-    /**
27
-     * @var string $slug
28
-     */
29
-    private $slug;
26
+	/**
27
+	 * @var string $slug
28
+	 */
29
+	private $slug;
30 30
 
31
-    /**
32
-     * @var boolean $append_filterable_content
33
-     */
34
-    private $append_filterable_content;
31
+	/**
32
+	 * @var boolean $append_filterable_content
33
+	 */
34
+	private $append_filterable_content;
35 35
 
36 36
 
37
-    /**
38
-     * IframeEmbedButton constructor.
39
-     *
40
-     * @param string $iframe_name i18n name for the iframe. This will be used in HTML
41
-     * @param string $route_name  the name of the registered route
42
-     * @param string $slug        URL slug used for the thing the iframe button is being embedded in.
43
-     *                            will most likely be "event" since that's the only usage atm
44
-     */
45
-    public function __construct($iframe_name, $route_name, $slug = 'event')
46
-    {
47
-        $this->iframe_name = $iframe_name;
48
-        $this->route_name = $route_name;
49
-        $this->slug = $slug;
50
-    }
37
+	/**
38
+	 * IframeEmbedButton constructor.
39
+	 *
40
+	 * @param string $iframe_name i18n name for the iframe. This will be used in HTML
41
+	 * @param string $route_name  the name of the registered route
42
+	 * @param string $slug        URL slug used for the thing the iframe button is being embedded in.
43
+	 *                            will most likely be "event" since that's the only usage atm
44
+	 */
45
+	public function __construct($iframe_name, $route_name, $slug = 'event')
46
+	{
47
+		$this->iframe_name = $iframe_name;
48
+		$this->route_name = $route_name;
49
+		$this->slug = $slug;
50
+	}
51 51
 
52 52
 
53
-    /**
54
-     * Adds an iframe embed code button to the Event editor.
55
-     */
56
-    public function addEventEditorIframeEmbedButtonFilter()
57
-    {
58
-        // add button for iframe code to event editor.
59
-        add_filter(
60
-            'get_sample_permalink_html',
61
-            array($this, 'appendIframeEmbedButtonToSamplePermalinkHtml'),
62
-            10,
63
-            2
64
-        );
65
-        add_action(
66
-            'admin_enqueue_scripts',
67
-            array($this, 'embedButtonAssets'),
68
-            10
69
-        );
70
-    }
53
+	/**
54
+	 * Adds an iframe embed code button to the Event editor.
55
+	 */
56
+	public function addEventEditorIframeEmbedButtonFilter()
57
+	{
58
+		// add button for iframe code to event editor.
59
+		add_filter(
60
+			'get_sample_permalink_html',
61
+			array($this, 'appendIframeEmbedButtonToSamplePermalinkHtml'),
62
+			10,
63
+			2
64
+		);
65
+		add_action(
66
+			'admin_enqueue_scripts',
67
+			array($this, 'embedButtonAssets'),
68
+			10
69
+		);
70
+	}
71 71
 
72 72
 
73
-    /**
74
-     * @param $permalink_string
75
-     * @param $id
76
-     * @return string
77
-     */
78
-    public function appendIframeEmbedButtonToSamplePermalinkHtml($permalink_string, $id)
79
-    {
80
-        return $this->eventEditorIframeEmbedButton(
81
-            $permalink_string,
82
-            $id
83
-        );
84
-    }
73
+	/**
74
+	 * @param $permalink_string
75
+	 * @param $id
76
+	 * @return string
77
+	 */
78
+	public function appendIframeEmbedButtonToSamplePermalinkHtml($permalink_string, $id)
79
+	{
80
+		return $this->eventEditorIframeEmbedButton(
81
+			$permalink_string,
82
+			$id
83
+		);
84
+	}
85 85
 
86 86
 
87
-    /**
88
-     * iframe embed code button to the Event editor.
89
-     *
90
-     * @param string $permalink_string
91
-     * @param int    $id
92
-     * @return string
93
-     */
94
-    public function eventEditorIframeEmbedButton(
95
-        $permalink_string,
96
-        $id
97
-    ) {
98
-        // make sure this is ONLY when editing and the event id has been set.
99
-        if (! empty($id)) {
100
-            $post = get_post($id);
101
-            // if NOT event then let's get out.
102
-            if ($post->post_type !== 'espresso_events') {
103
-                return $permalink_string;
104
-            }
105
-            $permalink_string .= $this->embedButtonHtml(
106
-                array($this->slug => $id),
107
-                'button-small'
108
-            );
109
-        }
110
-        return $permalink_string;
111
-    }
87
+	/**
88
+	 * iframe embed code button to the Event editor.
89
+	 *
90
+	 * @param string $permalink_string
91
+	 * @param int    $id
92
+	 * @return string
93
+	 */
94
+	public function eventEditorIframeEmbedButton(
95
+		$permalink_string,
96
+		$id
97
+	) {
98
+		// make sure this is ONLY when editing and the event id has been set.
99
+		if (! empty($id)) {
100
+			$post = get_post($id);
101
+			// if NOT event then let's get out.
102
+			if ($post->post_type !== 'espresso_events') {
103
+				return $permalink_string;
104
+			}
105
+			$permalink_string .= $this->embedButtonHtml(
106
+				array($this->slug => $id),
107
+				'button-small'
108
+			);
109
+		}
110
+		return $permalink_string;
111
+	}
112 112
 
113 113
 
114
-    /**
115
-     * Adds an iframe embed code button via a WP do_action() as determined by the first parameter
116
-     *
117
-     * @param string $action name of the WP do_action() to hook into
118
-     */
119
-    public function addActionIframeEmbedButton($action)
120
-    {
121
-        // add button for iframe code to event editor.
122
-        add_action(
123
-            $action,
124
-            array($this, 'addActionIframeEmbedButtonCallback'),
125
-            10,
126
-            2
127
-        );
128
-    }
114
+	/**
115
+	 * Adds an iframe embed code button via a WP do_action() as determined by the first parameter
116
+	 *
117
+	 * @param string $action name of the WP do_action() to hook into
118
+	 */
119
+	public function addActionIframeEmbedButton($action)
120
+	{
121
+		// add button for iframe code to event editor.
122
+		add_action(
123
+			$action,
124
+			array($this, 'addActionIframeEmbedButtonCallback'),
125
+			10,
126
+			2
127
+		);
128
+	}
129 129
 
130 130
 
131
-    /**
132
-     * @return void
133
-     */
134
-    public function addActionIframeEmbedButtonCallback()
135
-    {
136
-        echo $this->embedButtonHtml();
137
-    }
131
+	/**
132
+	 * @return void
133
+	 */
134
+	public function addActionIframeEmbedButtonCallback()
135
+	{
136
+		echo $this->embedButtonHtml();
137
+	}
138 138
 
139 139
 
140
-    /**
141
-     * Adds an iframe embed code button via a WP apply_filters() as determined by the first parameter
142
-     *
143
-     * @param string $filter     name of the WP apply_filters() to hook into
144
-     * @param bool   $append     if true, will add iframe embed button to end of content,
145
-     *                           else if false, will add to the beginning of the content
146
-     */
147
-    public function addFilterIframeEmbedButton($filter, $append = true)
148
-    {
149
-        $this->append_filterable_content = $append;
150
-        // add button for iframe code to event editor.
151
-        add_filter(
152
-            $filter,
153
-            array($this, 'addFilterIframeEmbedButtonCallback'),
154
-            10
155
-        );
156
-    }
140
+	/**
141
+	 * Adds an iframe embed code button via a WP apply_filters() as determined by the first parameter
142
+	 *
143
+	 * @param string $filter     name of the WP apply_filters() to hook into
144
+	 * @param bool   $append     if true, will add iframe embed button to end of content,
145
+	 *                           else if false, will add to the beginning of the content
146
+	 */
147
+	public function addFilterIframeEmbedButton($filter, $append = true)
148
+	{
149
+		$this->append_filterable_content = $append;
150
+		// add button for iframe code to event editor.
151
+		add_filter(
152
+			$filter,
153
+			array($this, 'addFilterIframeEmbedButtonCallback'),
154
+			10
155
+		);
156
+	}
157 157
 
158 158
 
159
-    /**
160
-     * @param array|string $filterable_content
161
-     * @return array|string
162
-     */
163
-    public function addFilterIframeEmbedButtonCallback($filterable_content)
164
-    {
165
-        $embedButtonHtml = $this->embedButtonHtml();
166
-        if (is_array($filterable_content)) {
167
-            $filterable_content = $this->append_filterable_content
168
-                ? $filterable_content + array($this->route_name => $embedButtonHtml)
169
-                : array($this->route_name => $embedButtonHtml) + $filterable_content;
170
-        } else {
171
-            $filterable_content = $this->append_filterable_content
172
-                ? $filterable_content . $embedButtonHtml
173
-                : $embedButtonHtml . $filterable_content;
174
-        }
175
-        return $filterable_content;
176
-    }
159
+	/**
160
+	 * @param array|string $filterable_content
161
+	 * @return array|string
162
+	 */
163
+	public function addFilterIframeEmbedButtonCallback($filterable_content)
164
+	{
165
+		$embedButtonHtml = $this->embedButtonHtml();
166
+		if (is_array($filterable_content)) {
167
+			$filterable_content = $this->append_filterable_content
168
+				? $filterable_content + array($this->route_name => $embedButtonHtml)
169
+				: array($this->route_name => $embedButtonHtml) + $filterable_content;
170
+		} else {
171
+			$filterable_content = $this->append_filterable_content
172
+				? $filterable_content . $embedButtonHtml
173
+				: $embedButtonHtml . $filterable_content;
174
+		}
175
+		return $filterable_content;
176
+	}
177 177
 
178 178
 
179
-    /**
180
-     * iframe_embed_html
181
-     *
182
-     * @param array  $query_args
183
-     * @param string $button_class
184
-     * @return string
185
-     */
186
-    public function embedButtonHtml($query_args = array(), $button_class = '')
187
-    {
188
-        // incoming args will replace the defaults listed here in the second array (union preserves first array)
189
-        $query_args = (array) $query_args + array($this->route_name => 'iframe');
190
-        $query_args = (array) apply_filters(
191
-            'FHEE__EventEspresso_core_libraries_iframe_display_IframeEmbedButton__embedButtonHtml__query_args',
192
-            $query_args
193
-        );
194
-        // add this route to our localized vars
195
-        $iframe_module_routes = isset(\EE_Registry::$i18n_js_strings['iframe_module_routes'])
196
-            ? \EE_Registry::$i18n_js_strings['iframe_module_routes']
197
-            : array();
198
-        $iframe_module_routes[ $this->route_name ] = $this->route_name;
199
-        \EE_Registry::$i18n_js_strings['iframe_module_routes'] = $iframe_module_routes;
200
-        $iframe_embed_html = \EEH_HTML::link(
201
-            '#',
202
-            sprintf(esc_html__('Embed %1$s', 'event_espresso'), $this->iframe_name),
203
-            sprintf(
204
-                esc_html__(
205
-                    'click here to generate code for embedding %1$s iframe into another site.',
206
-                    'event_espresso'
207
-                ),
208
-                \EEH_Inflector::add_indefinite_article($this->iframe_name)
209
-            ),
210
-            "{$this->route_name}-iframe-embed-trigger-js",
211
-            'iframe-embed-trigger-js button ' . $button_class,
212
-            '',
213
-            ' data-iframe_embed_button="#' . $this->route_name . '-iframe-js" tabindex="-1"'
214
-        );
215
-        $iframe_embed_html .= \EEH_HTML::div(
216
-            '',
217
-            "{$this->route_name}-iframe-js",
218
-            'iframe-embed-wrapper-js',
219
-            'display:none;'
220
-        );
221
-        $iframe_embed_html .= esc_html(
222
-            \EEH_HTML::div(
223
-                '<iframe src="' . add_query_arg($query_args, site_url()) . '" width="100%" height="100%"></iframe>',
224
-                '',
225
-                '',
226
-                'width:100%; height: 500px;'
227
-            )
228
-        );
229
-        $iframe_embed_html .= \EEH_HTML::divx();
230
-        return $iframe_embed_html;
231
-    }
179
+	/**
180
+	 * iframe_embed_html
181
+	 *
182
+	 * @param array  $query_args
183
+	 * @param string $button_class
184
+	 * @return string
185
+	 */
186
+	public function embedButtonHtml($query_args = array(), $button_class = '')
187
+	{
188
+		// incoming args will replace the defaults listed here in the second array (union preserves first array)
189
+		$query_args = (array) $query_args + array($this->route_name => 'iframe');
190
+		$query_args = (array) apply_filters(
191
+			'FHEE__EventEspresso_core_libraries_iframe_display_IframeEmbedButton__embedButtonHtml__query_args',
192
+			$query_args
193
+		);
194
+		// add this route to our localized vars
195
+		$iframe_module_routes = isset(\EE_Registry::$i18n_js_strings['iframe_module_routes'])
196
+			? \EE_Registry::$i18n_js_strings['iframe_module_routes']
197
+			: array();
198
+		$iframe_module_routes[ $this->route_name ] = $this->route_name;
199
+		\EE_Registry::$i18n_js_strings['iframe_module_routes'] = $iframe_module_routes;
200
+		$iframe_embed_html = \EEH_HTML::link(
201
+			'#',
202
+			sprintf(esc_html__('Embed %1$s', 'event_espresso'), $this->iframe_name),
203
+			sprintf(
204
+				esc_html__(
205
+					'click here to generate code for embedding %1$s iframe into another site.',
206
+					'event_espresso'
207
+				),
208
+				\EEH_Inflector::add_indefinite_article($this->iframe_name)
209
+			),
210
+			"{$this->route_name}-iframe-embed-trigger-js",
211
+			'iframe-embed-trigger-js button ' . $button_class,
212
+			'',
213
+			' data-iframe_embed_button="#' . $this->route_name . '-iframe-js" tabindex="-1"'
214
+		);
215
+		$iframe_embed_html .= \EEH_HTML::div(
216
+			'',
217
+			"{$this->route_name}-iframe-js",
218
+			'iframe-embed-wrapper-js',
219
+			'display:none;'
220
+		);
221
+		$iframe_embed_html .= esc_html(
222
+			\EEH_HTML::div(
223
+				'<iframe src="' . add_query_arg($query_args, site_url()) . '" width="100%" height="100%"></iframe>',
224
+				'',
225
+				'',
226
+				'width:100%; height: 500px;'
227
+			)
228
+		);
229
+		$iframe_embed_html .= \EEH_HTML::divx();
230
+		return $iframe_embed_html;
231
+	}
232 232
 
233 233
 
234
-    /**
235
-     * enqueue iframe button js
236
-     */
237
-    public function embedButtonAssets()
238
-    {
239
-        \EE_Registry::$i18n_js_strings['iframe_embed_title'] = esc_html__(
240
-            'copy and paste the following into any other site\'s content to display this event:',
241
-            'event_espresso'
242
-        );
243
-        \EE_Registry::$i18n_js_strings['iframe_embed_close_msg'] = esc_html__(
244
-            'click anywhere outside of this window to close it.',
245
-            'event_espresso'
246
-        );
247
-        wp_register_script(
248
-            'iframe_embed_button',
249
-            plugin_dir_url(__FILE__) . 'iframe-embed-button.js',
250
-            array('ee-dialog'),
251
-            EVENT_ESPRESSO_VERSION,
252
-            true
253
-        );
254
-        wp_enqueue_script('iframe_embed_button');
255
-    }
234
+	/**
235
+	 * enqueue iframe button js
236
+	 */
237
+	public function embedButtonAssets()
238
+	{
239
+		\EE_Registry::$i18n_js_strings['iframe_embed_title'] = esc_html__(
240
+			'copy and paste the following into any other site\'s content to display this event:',
241
+			'event_espresso'
242
+		);
243
+		\EE_Registry::$i18n_js_strings['iframe_embed_close_msg'] = esc_html__(
244
+			'click anywhere outside of this window to close it.',
245
+			'event_espresso'
246
+		);
247
+		wp_register_script(
248
+			'iframe_embed_button',
249
+			plugin_dir_url(__FILE__) . 'iframe-embed-button.js',
250
+			array('ee-dialog'),
251
+			EVENT_ESPRESSO_VERSION,
252
+			true
253
+		);
254
+		wp_enqueue_script('iframe_embed_button');
255
+	}
256 256
 
257 257
 
258
-    /**
259
-     * generates embed button sections for admin pages
260
-     *
261
-     * @param array $embed_buttons
262
-     * @return string
263
-     */
264
-    public function addIframeEmbedButtonsSection(array $embed_buttons)
265
-    {
266
-        $embed_buttons = (array) apply_filters(
267
-            'FHEE__EventEspresso_core_libraries_iframe_display_IframeEmbedButton__addIframeEmbedButtonsSection__embed_buttons',
268
-            $embed_buttons
269
-        );
270
-        if (empty($embed_buttons)) {
271
-            return '';
272
-        }
273
-        // add button for iframe code to event editor.
274
-        $html = \EEH_HTML::br(2);
275
-        $html .= \EEH_HTML::h3(esc_html__('iFrame Embed Code', 'event_espresso'));
276
-        $html .= \EEH_HTML::p(
277
-            esc_html__(
278
-                'Click the following button(s) to generate iframe HTML that will allow you to embed your event content within the content of other websites.',
279
-                'event_espresso'
280
-            )
281
-        );
282
-        $html .= ' &nbsp; ' . implode(' &nbsp; ', $embed_buttons) . ' ';
283
-        $html .= \EEH_HTML::br(2);
284
-        return $html;
285
-    }
258
+	/**
259
+	 * generates embed button sections for admin pages
260
+	 *
261
+	 * @param array $embed_buttons
262
+	 * @return string
263
+	 */
264
+	public function addIframeEmbedButtonsSection(array $embed_buttons)
265
+	{
266
+		$embed_buttons = (array) apply_filters(
267
+			'FHEE__EventEspresso_core_libraries_iframe_display_IframeEmbedButton__addIframeEmbedButtonsSection__embed_buttons',
268
+			$embed_buttons
269
+		);
270
+		if (empty($embed_buttons)) {
271
+			return '';
272
+		}
273
+		// add button for iframe code to event editor.
274
+		$html = \EEH_HTML::br(2);
275
+		$html .= \EEH_HTML::h3(esc_html__('iFrame Embed Code', 'event_espresso'));
276
+		$html .= \EEH_HTML::p(
277
+			esc_html__(
278
+				'Click the following button(s) to generate iframe HTML that will allow you to embed your event content within the content of other websites.',
279
+				'event_espresso'
280
+			)
281
+		);
282
+		$html .= ' &nbsp; ' . implode(' &nbsp; ', $embed_buttons) . ' ';
283
+		$html .= \EEH_HTML::br(2);
284
+		return $html;
285
+	}
286 286
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
         $id
97 97
     ) {
98 98
         // make sure this is ONLY when editing and the event id has been set.
99
-        if (! empty($id)) {
99
+        if ( ! empty($id)) {
100 100
             $post = get_post($id);
101 101
             // if NOT event then let's get out.
102 102
             if ($post->post_type !== 'espresso_events') {
@@ -169,8 +169,8 @@  discard block
 block discarded – undo
169 169
                 : array($this->route_name => $embedButtonHtml) + $filterable_content;
170 170
         } else {
171 171
             $filterable_content = $this->append_filterable_content
172
-                ? $filterable_content . $embedButtonHtml
173
-                : $embedButtonHtml . $filterable_content;
172
+                ? $filterable_content.$embedButtonHtml
173
+                : $embedButtonHtml.$filterable_content;
174 174
         }
175 175
         return $filterable_content;
176 176
     }
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
         $iframe_module_routes = isset(\EE_Registry::$i18n_js_strings['iframe_module_routes'])
196 196
             ? \EE_Registry::$i18n_js_strings['iframe_module_routes']
197 197
             : array();
198
-        $iframe_module_routes[ $this->route_name ] = $this->route_name;
198
+        $iframe_module_routes[$this->route_name] = $this->route_name;
199 199
         \EE_Registry::$i18n_js_strings['iframe_module_routes'] = $iframe_module_routes;
200 200
         $iframe_embed_html = \EEH_HTML::link(
201 201
             '#',
@@ -208,9 +208,9 @@  discard block
 block discarded – undo
208 208
                 \EEH_Inflector::add_indefinite_article($this->iframe_name)
209 209
             ),
210 210
             "{$this->route_name}-iframe-embed-trigger-js",
211
-            'iframe-embed-trigger-js button ' . $button_class,
211
+            'iframe-embed-trigger-js button '.$button_class,
212 212
             '',
213
-            ' data-iframe_embed_button="#' . $this->route_name . '-iframe-js" tabindex="-1"'
213
+            ' data-iframe_embed_button="#'.$this->route_name.'-iframe-js" tabindex="-1"'
214 214
         );
215 215
         $iframe_embed_html .= \EEH_HTML::div(
216 216
             '',
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
         );
221 221
         $iframe_embed_html .= esc_html(
222 222
             \EEH_HTML::div(
223
-                '<iframe src="' . add_query_arg($query_args, site_url()) . '" width="100%" height="100%"></iframe>',
223
+                '<iframe src="'.add_query_arg($query_args, site_url()).'" width="100%" height="100%"></iframe>',
224 224
                 '',
225 225
                 '',
226 226
                 'width:100%; height: 500px;'
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
         );
247 247
         wp_register_script(
248 248
             'iframe_embed_button',
249
-            plugin_dir_url(__FILE__) . 'iframe-embed-button.js',
249
+            plugin_dir_url(__FILE__).'iframe-embed-button.js',
250 250
             array('ee-dialog'),
251 251
             EVENT_ESPRESSO_VERSION,
252 252
             true
@@ -279,7 +279,7 @@  discard block
 block discarded – undo
279 279
                 'event_espresso'
280 280
             )
281 281
         );
282
-        $html .= ' &nbsp; ' . implode(' &nbsp; ', $embed_buttons) . ' ';
282
+        $html .= ' &nbsp; '.implode(' &nbsp; ', $embed_buttons).' ';
283 283
         $html .= \EEH_HTML::br(2);
284 284
         return $html;
285 285
     }
Please login to merge, or discard this patch.
core/libraries/rest_api/controllers/config/Read.php 1 patch
Indentation   +77 added lines, -77 removed lines patch added patch discarded remove patch
@@ -20,85 +20,85 @@
 block discarded – undo
20 20
 class Read
21 21
 {
22 22
 
23
-    /**
24
-     * @param WP_REST_Request $request
25
-     * @param string          $version
26
-     * @return EE_Config|WP_Error
27
-     */
28
-    public static function handleRequest(WP_REST_Request $request, $version)
29
-    {
30
-        $cap = EE_Restriction_Generator_Base::get_default_restrictions_cap();
31
-        if (EE_Capabilities::instance()->current_user_can($cap, 'read_over_api')) {
32
-            return EE_Config::instance();
33
-        } else {
34
-            return new WP_Error(
35
-                'cannot_read_config',
36
-                sprintf(
37
-                    __(
38
-                        'You do not have the necessary capabilities (%s) to read Event Espresso Configuration data',
39
-                        'event_espresso'
40
-                    ),
41
-                    $cap
42
-                ),
43
-                array('status' => 403)
44
-            );
45
-        }
46
-    }
23
+	/**
24
+	 * @param WP_REST_Request $request
25
+	 * @param string          $version
26
+	 * @return EE_Config|WP_Error
27
+	 */
28
+	public static function handleRequest(WP_REST_Request $request, $version)
29
+	{
30
+		$cap = EE_Restriction_Generator_Base::get_default_restrictions_cap();
31
+		if (EE_Capabilities::instance()->current_user_can($cap, 'read_over_api')) {
32
+			return EE_Config::instance();
33
+		} else {
34
+			return new WP_Error(
35
+				'cannot_read_config',
36
+				sprintf(
37
+					__(
38
+						'You do not have the necessary capabilities (%s) to read Event Espresso Configuration data',
39
+						'event_espresso'
40
+					),
41
+					$cap
42
+				),
43
+				array('status' => 403)
44
+			);
45
+		}
46
+	}
47 47
 
48 48
 
49
-    /**
50
-     * Handles the request for public site info
51
-     *
52
-     * @global                 $wp_json_basic_auth_success       boolean set by the basic auth plugin, indicates if the
53
-     *                                                           current user could be authenticated using basic auth
54
-     *                                                           data
55
-     * @global                 $wp_json_basic_auth_received_data boolean set by the basic auth plugin, indicates if
56
-     *                                                           basic auth data was somehow received
57
-     * @param WP_REST_Request  $request
58
-     * @param string           $version
59
-     * @return array|WP_Error
60
-     */
61
-    public static function handleRequestSiteInfo(WP_REST_Request $request, $version)
62
-    {
63
-        global $wp_json_basic_auth_success, $wp_json_basic_auth_received_data;
64
-        $insecure_usage_of_basic_auth = apply_filters(
65
-        // @codingStandardsIgnoreStart
66
-            'EventEspresso__core__libraries__rest_api__controllers__config__handle_request_site_info__insecure_usage_of_basic_auth',
67
-            // @codingStandardsIgnoreEnd
68
-            $wp_json_basic_auth_success && ! is_ssl(),
69
-            $request
70
-        );
71
-        if ($insecure_usage_of_basic_auth) {
72
-            $warning = sprintf(
73
-                esc_html__(
74
-                // @codingStandardsIgnoreStart
75
-                    'Notice: We strongly recommend installing an SSL Certificate on your website to keep your data secure. %1$sPlease see our recommendations.%2$s',
76
-                    // @codingStandardsIgnoreEnd
77
-                    'event_espresso'
78
-                ),
79
-                '<a href="https://eventespresso.com/wiki/rest-api-security-recommendations/">',
80
-                '</a>'
81
-            );
82
-        } else {
83
-            $warning = '';
84
-        }
85
-        return apply_filters(
86
-            'FHEE__EventEspresso_core_libraries_rest_api_controllers_config__handleRequestSiteInfo__return_val',
87
-            array(
88
-                'default_timezone' => array(
89
-                    'pretty' => EEH_DTT_Helper::get_timezone_string_for_display(),
90
-                    'string' => get_option('timezone_string'),
91
-                    'offset' => EEH_DTT_Helper::get_site_timezone_gmt_offset(),
92
-                ),
93
-                'default_currency' => EE_Config::instance()->currency,
94
-                'authentication'   => array(
95
-                    'received_basic_auth_data'     => (bool) $wp_json_basic_auth_received_data,
96
-                    'insecure_usage_of_basic_auth' => (bool) $insecure_usage_of_basic_auth,
97
-                    'warning'                      => $warning,
98
-                ),
99
-            )
100
-        );
101
-    }
49
+	/**
50
+	 * Handles the request for public site info
51
+	 *
52
+	 * @global                 $wp_json_basic_auth_success       boolean set by the basic auth plugin, indicates if the
53
+	 *                                                           current user could be authenticated using basic auth
54
+	 *                                                           data
55
+	 * @global                 $wp_json_basic_auth_received_data boolean set by the basic auth plugin, indicates if
56
+	 *                                                           basic auth data was somehow received
57
+	 * @param WP_REST_Request  $request
58
+	 * @param string           $version
59
+	 * @return array|WP_Error
60
+	 */
61
+	public static function handleRequestSiteInfo(WP_REST_Request $request, $version)
62
+	{
63
+		global $wp_json_basic_auth_success, $wp_json_basic_auth_received_data;
64
+		$insecure_usage_of_basic_auth = apply_filters(
65
+		// @codingStandardsIgnoreStart
66
+			'EventEspresso__core__libraries__rest_api__controllers__config__handle_request_site_info__insecure_usage_of_basic_auth',
67
+			// @codingStandardsIgnoreEnd
68
+			$wp_json_basic_auth_success && ! is_ssl(),
69
+			$request
70
+		);
71
+		if ($insecure_usage_of_basic_auth) {
72
+			$warning = sprintf(
73
+				esc_html__(
74
+				// @codingStandardsIgnoreStart
75
+					'Notice: We strongly recommend installing an SSL Certificate on your website to keep your data secure. %1$sPlease see our recommendations.%2$s',
76
+					// @codingStandardsIgnoreEnd
77
+					'event_espresso'
78
+				),
79
+				'<a href="https://eventespresso.com/wiki/rest-api-security-recommendations/">',
80
+				'</a>'
81
+			);
82
+		} else {
83
+			$warning = '';
84
+		}
85
+		return apply_filters(
86
+			'FHEE__EventEspresso_core_libraries_rest_api_controllers_config__handleRequestSiteInfo__return_val',
87
+			array(
88
+				'default_timezone' => array(
89
+					'pretty' => EEH_DTT_Helper::get_timezone_string_for_display(),
90
+					'string' => get_option('timezone_string'),
91
+					'offset' => EEH_DTT_Helper::get_site_timezone_gmt_offset(),
92
+				),
93
+				'default_currency' => EE_Config::instance()->currency,
94
+				'authentication'   => array(
95
+					'received_basic_auth_data'     => (bool) $wp_json_basic_auth_received_data,
96
+					'insecure_usage_of_basic_auth' => (bool) $insecure_usage_of_basic_auth,
97
+					'warning'                      => $warning,
98
+				),
99
+			)
100
+		);
101
+	}
102 102
 }
103 103
 
104 104
 // End of file Read.php
Please login to merge, or discard this patch.
core/libraries/rest_api/controllers/model/Meta.php 2 patches
Indentation   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -23,122 +23,122 @@
 block discarded – undo
23 23
 {
24 24
 
25 25
 
26
-    /**
27
-     * @param \WP_REST_Request $request
28
-     * @param string           $version
29
-     * @return array|\WP_REST_Response
30
-     */
31
-    public static function handleRequestModelsMeta(\WP_REST_Request $request, $version)
32
-    {
33
-        $controller = new Meta();
34
-        try {
35
-            $controller->setRequestedVersion($version);
36
-            return $controller->sendResponse($controller->getModelsMetadataEntity());
37
-        } catch (Exception $e) {
38
-            return $controller->sendResponse($e);
39
-        }
40
-    }
26
+	/**
27
+	 * @param \WP_REST_Request $request
28
+	 * @param string           $version
29
+	 * @return array|\WP_REST_Response
30
+	 */
31
+	public static function handleRequestModelsMeta(\WP_REST_Request $request, $version)
32
+	{
33
+		$controller = new Meta();
34
+		try {
35
+			$controller->setRequestedVersion($version);
36
+			return $controller->sendResponse($controller->getModelsMetadataEntity());
37
+		} catch (Exception $e) {
38
+			return $controller->sendResponse($e);
39
+		}
40
+	}
41 41
 
42 42
 
43
-    /*
43
+	/*
44 44
      * Gets the model metadata resource entity
45 45
      * @return array for JSON response, describing all the models available in teh requested version
46 46
      */
47
-    protected function getModelsMetadataEntity()
48
-    {
49
-        $response = array();
50
-        foreach ($this->getModelVersionInfo()->modelsForRequestedVersion() as $model_name => $model_classname) {
51
-            $model = $this->getModelVersionInfo()->loadModel($model_name);
52
-            $fields_json = array();
53
-            foreach ($this->getModelVersionInfo()->fieldsOnModelInThisVersion($model) as $field_name => $field_obj) {
54
-                if ($this->getModelVersionInfo()->fieldIsIgnored($field_obj)) {
55
-                    continue;
56
-                }
57
-                if ($field_obj instanceof EE_Boolean_Field) {
58
-                    $datatype = 'Boolean';
59
-                } elseif ($field_obj->get_wpdb_data_type() == '%d') {
60
-                    $datatype = 'Number';
61
-                } elseif ($field_name instanceof EE_Serialized_Text_Field) {
62
-                    $datatype = 'Object';
63
-                } else {
64
-                    $datatype = 'String';
65
-                }
66
-                $default_value = ModelDataTranslator::prepareFieldValueForJson(
67
-                    $field_obj,
68
-                    $field_obj->get_default_value(),
69
-                    $this->getModelVersionInfo()->requestedVersion()
70
-                );
71
-                $field_json = array(
72
-                    'name'                => $field_name,
73
-                    'nicename'            => wp_specialchars_decode($field_obj->get_nicename(), ENT_QUOTES),
74
-                    'has_rendered_format' => $this->getModelVersionInfo()->fieldHasRenderedFormat($field_obj),
75
-                    'has_pretty_format'   => $this->getModelVersionInfo()->fieldHasPrettyFormat($field_obj),
76
-                    'type'                => str_replace('EE_', '', get_class($field_obj)),
77
-                    'datatype'            => $datatype,
78
-                    'nullable'            => $field_obj->is_nullable(),
79
-                    'default'             => $default_value,
80
-                    'table_alias'         => $field_obj->get_table_alias(),
81
-                    'table_column'        => $field_obj->get_table_column(),
82
-                );
83
-                $fields_json[ $field_json['name'] ] = $field_json;
84
-            }
85
-            $fields_json = array_merge(
86
-                $fields_json,
87
-                $this->getModelVersionInfo()->extraResourcePropertiesForModel($model)
88
-            );
89
-            $response[ $model_name ]['fields'] = apply_filters(
90
-                'FHEE__Meta__handle_request_models_meta__fields',
91
-                $fields_json,
92
-                $model
93
-            );
94
-            $relations_json = array();
95
-            foreach ($model->relation_settings() as $relation_name => $relation_obj) {
96
-                $relation_json = array(
97
-                    'name'   => $relation_name,
98
-                    'type'   => str_replace('EE_', '', get_class($relation_obj)),
99
-                    'single' => $relation_obj instanceof \EE_Belongs_To_Relation ? true : false,
100
-                );
101
-                $relations_json[ $relation_name ] = $relation_json;
102
-            }
103
-            $response[ $model_name ]['relations'] = apply_filters(
104
-                'FHEE__Meta__handle_request_models_meta__relations',
105
-                $relations_json,
106
-                $model
107
-            );
108
-        }
109
-        return $response;
110
-    }
47
+	protected function getModelsMetadataEntity()
48
+	{
49
+		$response = array();
50
+		foreach ($this->getModelVersionInfo()->modelsForRequestedVersion() as $model_name => $model_classname) {
51
+			$model = $this->getModelVersionInfo()->loadModel($model_name);
52
+			$fields_json = array();
53
+			foreach ($this->getModelVersionInfo()->fieldsOnModelInThisVersion($model) as $field_name => $field_obj) {
54
+				if ($this->getModelVersionInfo()->fieldIsIgnored($field_obj)) {
55
+					continue;
56
+				}
57
+				if ($field_obj instanceof EE_Boolean_Field) {
58
+					$datatype = 'Boolean';
59
+				} elseif ($field_obj->get_wpdb_data_type() == '%d') {
60
+					$datatype = 'Number';
61
+				} elseif ($field_name instanceof EE_Serialized_Text_Field) {
62
+					$datatype = 'Object';
63
+				} else {
64
+					$datatype = 'String';
65
+				}
66
+				$default_value = ModelDataTranslator::prepareFieldValueForJson(
67
+					$field_obj,
68
+					$field_obj->get_default_value(),
69
+					$this->getModelVersionInfo()->requestedVersion()
70
+				);
71
+				$field_json = array(
72
+					'name'                => $field_name,
73
+					'nicename'            => wp_specialchars_decode($field_obj->get_nicename(), ENT_QUOTES),
74
+					'has_rendered_format' => $this->getModelVersionInfo()->fieldHasRenderedFormat($field_obj),
75
+					'has_pretty_format'   => $this->getModelVersionInfo()->fieldHasPrettyFormat($field_obj),
76
+					'type'                => str_replace('EE_', '', get_class($field_obj)),
77
+					'datatype'            => $datatype,
78
+					'nullable'            => $field_obj->is_nullable(),
79
+					'default'             => $default_value,
80
+					'table_alias'         => $field_obj->get_table_alias(),
81
+					'table_column'        => $field_obj->get_table_column(),
82
+				);
83
+				$fields_json[ $field_json['name'] ] = $field_json;
84
+			}
85
+			$fields_json = array_merge(
86
+				$fields_json,
87
+				$this->getModelVersionInfo()->extraResourcePropertiesForModel($model)
88
+			);
89
+			$response[ $model_name ]['fields'] = apply_filters(
90
+				'FHEE__Meta__handle_request_models_meta__fields',
91
+				$fields_json,
92
+				$model
93
+			);
94
+			$relations_json = array();
95
+			foreach ($model->relation_settings() as $relation_name => $relation_obj) {
96
+				$relation_json = array(
97
+					'name'   => $relation_name,
98
+					'type'   => str_replace('EE_', '', get_class($relation_obj)),
99
+					'single' => $relation_obj instanceof \EE_Belongs_To_Relation ? true : false,
100
+				);
101
+				$relations_json[ $relation_name ] = $relation_json;
102
+			}
103
+			$response[ $model_name ]['relations'] = apply_filters(
104
+				'FHEE__Meta__handle_request_models_meta__relations',
105
+				$relations_json,
106
+				$model
107
+			);
108
+		}
109
+		return $response;
110
+	}
111 111
 
112 112
 
113
-    /**
114
-     * Adds EE metadata to the index
115
-     *
116
-     * @param \WP_REST_Response $rest_response_obj
117
-     * @return \WP_REST_Response
118
-     */
119
-    public static function filterEeMetadataIntoIndex(\WP_REST_Response $rest_response_obj)
120
-    {
121
-        $response_data = $rest_response_obj->get_data();
122
-        $addons = array();
123
-        foreach (EE_Registry::instance()->addons as $addon) {
124
-            $addon_json = array(
125
-                'name'    => $addon->name(),
126
-                'version' => $addon->version(),
127
-            );
128
-            $addons[ $addon_json['name'] ] = $addon_json;
129
-        }
130
-        $response_data['ee'] = array(
131
-            'version'              => EEM_System_Status::instance()->get_ee_version(),
132
-            // @codingStandardsIgnoreStart
133
-            'documentation_url'    => 'https://github.com/eventespresso/event-espresso-core/tree/master/docs/C--REST-API',
134
-            // @codingStandardsIgnoreEnd
135
-            'addons'               => $addons,
136
-            'maintenance_mode'     => EE_Maintenance_Mode::instance()->real_level(),
137
-            'served_core_versions' => array_keys(EED_Core_Rest_Api::versions_served()),
138
-        );
139
-        $rest_response_obj->set_data($response_data);
140
-        return $rest_response_obj;
141
-    }
113
+	/**
114
+	 * Adds EE metadata to the index
115
+	 *
116
+	 * @param \WP_REST_Response $rest_response_obj
117
+	 * @return \WP_REST_Response
118
+	 */
119
+	public static function filterEeMetadataIntoIndex(\WP_REST_Response $rest_response_obj)
120
+	{
121
+		$response_data = $rest_response_obj->get_data();
122
+		$addons = array();
123
+		foreach (EE_Registry::instance()->addons as $addon) {
124
+			$addon_json = array(
125
+				'name'    => $addon->name(),
126
+				'version' => $addon->version(),
127
+			);
128
+			$addons[ $addon_json['name'] ] = $addon_json;
129
+		}
130
+		$response_data['ee'] = array(
131
+			'version'              => EEM_System_Status::instance()->get_ee_version(),
132
+			// @codingStandardsIgnoreStart
133
+			'documentation_url'    => 'https://github.com/eventespresso/event-espresso-core/tree/master/docs/C--REST-API',
134
+			// @codingStandardsIgnoreEnd
135
+			'addons'               => $addons,
136
+			'maintenance_mode'     => EE_Maintenance_Mode::instance()->real_level(),
137
+			'served_core_versions' => array_keys(EED_Core_Rest_Api::versions_served()),
138
+		);
139
+		$rest_response_obj->set_data($response_data);
140
+		return $rest_response_obj;
141
+	}
142 142
 }
143 143
 
144 144
 
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -80,13 +80,13 @@  discard block
 block discarded – undo
80 80
                     'table_alias'         => $field_obj->get_table_alias(),
81 81
                     'table_column'        => $field_obj->get_table_column(),
82 82
                 );
83
-                $fields_json[ $field_json['name'] ] = $field_json;
83
+                $fields_json[$field_json['name']] = $field_json;
84 84
             }
85 85
             $fields_json = array_merge(
86 86
                 $fields_json,
87 87
                 $this->getModelVersionInfo()->extraResourcePropertiesForModel($model)
88 88
             );
89
-            $response[ $model_name ]['fields'] = apply_filters(
89
+            $response[$model_name]['fields'] = apply_filters(
90 90
                 'FHEE__Meta__handle_request_models_meta__fields',
91 91
                 $fields_json,
92 92
                 $model
@@ -98,9 +98,9 @@  discard block
 block discarded – undo
98 98
                     'type'   => str_replace('EE_', '', get_class($relation_obj)),
99 99
                     'single' => $relation_obj instanceof \EE_Belongs_To_Relation ? true : false,
100 100
                 );
101
-                $relations_json[ $relation_name ] = $relation_json;
101
+                $relations_json[$relation_name] = $relation_json;
102 102
             }
103
-            $response[ $model_name ]['relations'] = apply_filters(
103
+            $response[$model_name]['relations'] = apply_filters(
104 104
                 'FHEE__Meta__handle_request_models_meta__relations',
105 105
                 $relations_json,
106 106
                 $model
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
                 'name'    => $addon->name(),
126 126
                 'version' => $addon->version(),
127 127
             );
128
-            $addons[ $addon_json['name'] ] = $addon_json;
128
+            $addons[$addon_json['name']] = $addon_json;
129 129
         }
130 130
         $response_data['ee'] = array(
131 131
             'version'              => EEM_System_Status::instance()->get_ee_version(),
Please login to merge, or discard this patch.
core/libraries/rest_api/changes/ChangesInBase.php 2 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -35,74 +35,74 @@
 block discarded – undo
35 35
 abstract class ChangesInBase
36 36
 {
37 37
 
38
-    /**
39
-     * The version that these changes happened
40
-     *
41
-     * @var string
42
-     */
43
-    protected $version = null;
38
+	/**
39
+	 * The version that these changes happened
40
+	 *
41
+	 * @var string
42
+	 */
43
+	protected $version = null;
44 44
 
45 45
 
46
-    /**
47
-     * Called when an EE4 REST API request is made to an earlier version than
48
-     * what is indicated in this class' name.
49
-     * Uses WordPress' add_filter and add_action to modify the EE4 REST API's response
50
-     * so that regardless of what version of EE4 core is running, API clients
51
-     * will have a consistent response
52
-     *
53
-     * @return void
54
-     */
55
-    abstract public function setHooks();
46
+	/**
47
+	 * Called when an EE4 REST API request is made to an earlier version than
48
+	 * what is indicated in this class' name.
49
+	 * Uses WordPress' add_filter and add_action to modify the EE4 REST API's response
50
+	 * so that regardless of what version of EE4 core is running, API clients
51
+	 * will have a consistent response
52
+	 *
53
+	 * @return void
54
+	 */
55
+	abstract public function setHooks();
56 56
 
57 57
 
58
-    /**
59
-     * Returns whether or not this class' name indicates its hooks should
60
-     * apply when a request comes in for $requested_version. A class can use
61
-     * other conditions when determining whether to perform their callbacks or not,
62
-     * but this will typically be enough
63
-     *
64
-     * @param string $requested_version eg "4.8.33"
65
-     * @return boolean true: this class' name indicates its filters and actions
66
-     *                                  should take effect. False: this class' name indicates it shouldn't do anything
67
-     */
68
-    public function appliesToVersion($requested_version)
69
-    {
70
-        if ($this->version() > $requested_version) {
71
-            return true;
72
-        }
73
-        return false;
74
-    }
58
+	/**
59
+	 * Returns whether or not this class' name indicates its hooks should
60
+	 * apply when a request comes in for $requested_version. A class can use
61
+	 * other conditions when determining whether to perform their callbacks or not,
62
+	 * but this will typically be enough
63
+	 *
64
+	 * @param string $requested_version eg "4.8.33"
65
+	 * @return boolean true: this class' name indicates its filters and actions
66
+	 *                                  should take effect. False: this class' name indicates it shouldn't do anything
67
+	 */
68
+	public function appliesToVersion($requested_version)
69
+	{
70
+		if ($this->version() > $requested_version) {
71
+			return true;
72
+		}
73
+		return false;
74
+	}
75 75
 
76 76
 
77
-    /**
78
-     * Gets the EE core version when this changes were made to the rest api.
79
-     * Any requests to earlier versions should have modifications made to them
80
-     * by the callbacks of this class.
81
-     *
82
-     * @return string eg "4.8.33"
83
-     * @throws EE_Error
84
-     */
85
-    public function version()
86
-    {
87
-        if ($this->version === null) {
88
-            $matches = array();
89
-            $regex = '~ChangesIn(\d)(\d\d)(\d\d)$~';
90
-            $success = preg_match(
91
-                $regex,
92
-                get_class($this),
93
-                $matches
94
-            );
95
-            if (! $success) {
96
-                throw new EE_Error(
97
-                    sprintf(
98
-                        __('The class %1$s was misnamed. It name should match the regex "%2$s"', 'event_espresso'),
99
-                        get_class($this),
100
-                        $regex
101
-                    )
102
-                );
103
-            }
104
-            $this->version = (int) $matches[1] . '.' . (int) $matches[2] . '.' . (int) $matches[3];
105
-        }
106
-        return $this->version;
107
-    }
77
+	/**
78
+	 * Gets the EE core version when this changes were made to the rest api.
79
+	 * Any requests to earlier versions should have modifications made to them
80
+	 * by the callbacks of this class.
81
+	 *
82
+	 * @return string eg "4.8.33"
83
+	 * @throws EE_Error
84
+	 */
85
+	public function version()
86
+	{
87
+		if ($this->version === null) {
88
+			$matches = array();
89
+			$regex = '~ChangesIn(\d)(\d\d)(\d\d)$~';
90
+			$success = preg_match(
91
+				$regex,
92
+				get_class($this),
93
+				$matches
94
+			);
95
+			if (! $success) {
96
+				throw new EE_Error(
97
+					sprintf(
98
+						__('The class %1$s was misnamed. It name should match the regex "%2$s"', 'event_espresso'),
99
+						get_class($this),
100
+						$regex
101
+					)
102
+				);
103
+			}
104
+			$this->version = (int) $matches[1] . '.' . (int) $matches[2] . '.' . (int) $matches[3];
105
+		}
106
+		return $this->version;
107
+	}
108 108
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
                 get_class($this),
93 93
                 $matches
94 94
             );
95
-            if (! $success) {
95
+            if ( ! $success) {
96 96
                 throw new EE_Error(
97 97
                     sprintf(
98 98
                         __('The class %1$s was misnamed. It name should match the regex "%2$s"', 'event_espresso'),
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
                     )
102 102
                 );
103 103
             }
104
-            $this->version = (int) $matches[1] . '.' . (int) $matches[2] . '.' . (int) $matches[3];
104
+            $this->version = (int) $matches[1].'.'.(int) $matches[2].'.'.(int) $matches[3];
105 105
         }
106 106
         return $this->version;
107 107
     }
Please login to merge, or discard this patch.
core/libraries/rest_api/changes/ChangesIn40836.php 2 patches
Indentation   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -14,174 +14,174 @@
 block discarded – undo
14 14
 class ChangesIn40836 extends ChangesInBase
15 15
 {
16 16
 
17
-    /**
18
-     * Adds hooks so requests to 4.8.29 don't have the checkin endpoints
19
-     */
20
-    public function setHooks()
21
-    {
22
-        // set a hook to remove the "calculate" query param
23
-        add_filter(
24
-            'FHEE__EED_Core_Rest_Api___get_response_selection_query_params',
25
-            array($this, 'removeCalculateQueryParam'),
26
-            10,
27
-            3
28
-        );
29
-        // don't add the _calculated_fields either
30
-        add_filter(
31
-            'FHEE__Read__create_entity_from_wpdb_results__entity_before_inaccessible_field_removal',
32
-            array($this, 'removeCalculatedFieldsFromResponse'),
33
-            10,
34
-            5
35
-        );
36
-        // and also don't add the count headers
37
-        add_filter(
38
-            'FHEE__EventEspresso\core\libraries\rest_api\controllers\Base___get_response_headers',
39
-            array($this, 'removeHeadersNewInThisVersion'),
40
-            10,
41
-            3
42
-        );
43
-        // remove the old featured_image part of the response...
44
-        add_filter(
45
-            'FHEE__Read__create_entity_from_wpdb_results__entity_before_including_requested_models',
46
-            array($this, 'addOldFeaturedImagePartOfCptEntities'),
47
-            10,
48
-            5
49
-        );
50
-        // assuming ticket 9425's change gets pushed with 9406, we don't need to
51
-        // remove it from the calculated fields on older requests (because this will
52
-        // be the first version with calculated fields)
53
-        // before this, infinity was -1, now it's null
54
-        add_filter(
55
-            'FHEE__EventEspresso\core\libraries\rest_api\Model_Data_Translator__prepare_field_for_rest_api',
56
-            array($this, 'useNegativeOneForInfinityBeforeThisVersion'),
57
-            10,
58
-            4
59
-        );
60
-    }
17
+	/**
18
+	 * Adds hooks so requests to 4.8.29 don't have the checkin endpoints
19
+	 */
20
+	public function setHooks()
21
+	{
22
+		// set a hook to remove the "calculate" query param
23
+		add_filter(
24
+			'FHEE__EED_Core_Rest_Api___get_response_selection_query_params',
25
+			array($this, 'removeCalculateQueryParam'),
26
+			10,
27
+			3
28
+		);
29
+		// don't add the _calculated_fields either
30
+		add_filter(
31
+			'FHEE__Read__create_entity_from_wpdb_results__entity_before_inaccessible_field_removal',
32
+			array($this, 'removeCalculatedFieldsFromResponse'),
33
+			10,
34
+			5
35
+		);
36
+		// and also don't add the count headers
37
+		add_filter(
38
+			'FHEE__EventEspresso\core\libraries\rest_api\controllers\Base___get_response_headers',
39
+			array($this, 'removeHeadersNewInThisVersion'),
40
+			10,
41
+			3
42
+		);
43
+		// remove the old featured_image part of the response...
44
+		add_filter(
45
+			'FHEE__Read__create_entity_from_wpdb_results__entity_before_including_requested_models',
46
+			array($this, 'addOldFeaturedImagePartOfCptEntities'),
47
+			10,
48
+			5
49
+		);
50
+		// assuming ticket 9425's change gets pushed with 9406, we don't need to
51
+		// remove it from the calculated fields on older requests (because this will
52
+		// be the first version with calculated fields)
53
+		// before this, infinity was -1, now it's null
54
+		add_filter(
55
+			'FHEE__EventEspresso\core\libraries\rest_api\Model_Data_Translator__prepare_field_for_rest_api',
56
+			array($this, 'useNegativeOneForInfinityBeforeThisVersion'),
57
+			10,
58
+			4
59
+		);
60
+	}
61 61
 
62 62
 
63
-    /**
64
-     * Don't show "calculate" as an query param option in the index
65
-     *
66
-     * @param array    $query_params
67
-     * @param EEM_Base $model
68
-     * @param string   $version
69
-     * @return array
70
-     */
71
-    public function removeCalculateQueryParam($query_params, EEM_Base $model, $version)
72
-    {
73
-        if ($this->appliesToVersion($version)) {
74
-            unset($query_params['calculate']);
75
-        }
76
-        return $query_params;
77
-    }
63
+	/**
64
+	 * Don't show "calculate" as an query param option in the index
65
+	 *
66
+	 * @param array    $query_params
67
+	 * @param EEM_Base $model
68
+	 * @param string   $version
69
+	 * @return array
70
+	 */
71
+	public function removeCalculateQueryParam($query_params, EEM_Base $model, $version)
72
+	{
73
+		if ($this->appliesToVersion($version)) {
74
+			unset($query_params['calculate']);
75
+		}
76
+		return $query_params;
77
+	}
78 78
 
79 79
 
80
-    /**
81
-     * Removes the "_calculate_fields" part of entity responses before 4.8.36
82
-     *
83
-     * @param array           $entity_response_array
84
-     * @param EEM_Base        $model
85
-     * @param string          $request_context
86
-     * @param WP_REST_Request $request
87
-     * @param Read            $controller
88
-     * @return array
89
-     */
90
-    public function removeCalculatedFieldsFromResponse(
91
-        $entity_response_array,
92
-        EEM_Base $model,
93
-        $request_context,
94
-        WP_REST_Request $request,
95
-        Read $controller
96
-    ) {
97
-        if ($this->appliesToVersion($controller->getModelVersionInfo()->requestedVersion())) {
98
-            unset($entity_response_array['_calculated_fields']);
99
-        }
100
-        return $entity_response_array;
101
-    }
80
+	/**
81
+	 * Removes the "_calculate_fields" part of entity responses before 4.8.36
82
+	 *
83
+	 * @param array           $entity_response_array
84
+	 * @param EEM_Base        $model
85
+	 * @param string          $request_context
86
+	 * @param WP_REST_Request $request
87
+	 * @param Read            $controller
88
+	 * @return array
89
+	 */
90
+	public function removeCalculatedFieldsFromResponse(
91
+		$entity_response_array,
92
+		EEM_Base $model,
93
+		$request_context,
94
+		WP_REST_Request $request,
95
+		Read $controller
96
+	) {
97
+		if ($this->appliesToVersion($controller->getModelVersionInfo()->requestedVersion())) {
98
+			unset($entity_response_array['_calculated_fields']);
99
+		}
100
+		return $entity_response_array;
101
+	}
102 102
 
103 103
 
104
-    /**
105
-     * Removes the new headers for requests before 4.8.36
106
-     *
107
-     * @param array           $headers
108
-     * @param Controller_Base $controller
109
-     * @param string          $version
110
-     * @return array
111
-     */
112
-    public function removeHeadersNewInThisVersion(
113
-        $headers,
114
-        Controller_Base $controller,
115
-        $version
116
-    ) {
117
-        if ($this->appliesToVersion($version)) {
118
-            $headers = array_diff_key(
119
-                $headers,
120
-                array_flip(
121
-                    array(
122
-                        Base::HEADER_PREFIX_FOR_WP . 'Total',
123
-                        Base::HEADER_PREFIX_FOR_WP . 'TotalPages',
124
-                        Base::HEADER_PREFIX_FOR_WP . 'PageSize',
125
-                    )
126
-                )
127
-            );
128
-        }
129
-        return $headers;
130
-    }
104
+	/**
105
+	 * Removes the new headers for requests before 4.8.36
106
+	 *
107
+	 * @param array           $headers
108
+	 * @param Controller_Base $controller
109
+	 * @param string          $version
110
+	 * @return array
111
+	 */
112
+	public function removeHeadersNewInThisVersion(
113
+		$headers,
114
+		Controller_Base $controller,
115
+		$version
116
+	) {
117
+		if ($this->appliesToVersion($version)) {
118
+			$headers = array_diff_key(
119
+				$headers,
120
+				array_flip(
121
+					array(
122
+						Base::HEADER_PREFIX_FOR_WP . 'Total',
123
+						Base::HEADER_PREFIX_FOR_WP . 'TotalPages',
124
+						Base::HEADER_PREFIX_FOR_WP . 'PageSize',
125
+					)
126
+				)
127
+			);
128
+		}
129
+		return $headers;
130
+	}
131 131
 
132 132
 
133
-    /**
134
-     * Puts the 'featured_image_url' back in for responses before 4.8.36.
135
-     *
136
-     * @param array           $entity_response_array
137
-     * @param EEM_Base        $model
138
-     * @param string          $request_context
139
-     * @param WP_REST_Request $request
140
-     * @param Read            $controller
141
-     * @return array
142
-     */
143
-    public function addOldFeaturedImagePartOfCptEntities(
144
-        $entity_response_array,
145
-        EEM_Base $model,
146
-        $request_context,
147
-        WP_REST_Request $request,
148
-        Read $controller
149
-    ) {
150
-        if ($this->appliesToVersion($controller->getModelVersionInfo()->requestedVersion())
151
-            && $model instanceof \EEM_CPT_Base
152
-        ) {
153
-            $attachment = wp_get_attachment_image_src(
154
-                get_post_thumbnail_id($entity_response_array[ $model->primary_key_name() ]),
155
-                'full'
156
-            );
157
-            $entity_response_array['featured_image_url'] = ! empty($attachment) ? $attachment[0] : null;
158
-        }
159
-        return $entity_response_array;
160
-    }
133
+	/**
134
+	 * Puts the 'featured_image_url' back in for responses before 4.8.36.
135
+	 *
136
+	 * @param array           $entity_response_array
137
+	 * @param EEM_Base        $model
138
+	 * @param string          $request_context
139
+	 * @param WP_REST_Request $request
140
+	 * @param Read            $controller
141
+	 * @return array
142
+	 */
143
+	public function addOldFeaturedImagePartOfCptEntities(
144
+		$entity_response_array,
145
+		EEM_Base $model,
146
+		$request_context,
147
+		WP_REST_Request $request,
148
+		Read $controller
149
+	) {
150
+		if ($this->appliesToVersion($controller->getModelVersionInfo()->requestedVersion())
151
+			&& $model instanceof \EEM_CPT_Base
152
+		) {
153
+			$attachment = wp_get_attachment_image_src(
154
+				get_post_thumbnail_id($entity_response_array[ $model->primary_key_name() ]),
155
+				'full'
156
+			);
157
+			$entity_response_array['featured_image_url'] = ! empty($attachment) ? $attachment[0] : null;
158
+		}
159
+		return $entity_response_array;
160
+	}
161 161
 
162 162
 
163
-    /**
164
-     * If the value was infinity, we now use null in our JSON responses,
165
-     * but before this version we used -1.
166
-     *
167
-     * @param mixed                $new_value
168
-     * @param \EE_Model_Field_Base $field_obj
169
-     * @param mixed                $original_value
170
-     * @param string               $requested_value
171
-     * @return mixed
172
-     */
173
-    public function useNegativeOneForInfinityBeforeThisVersion(
174
-        $new_value,
175
-        $field_obj,
176
-        $original_value,
177
-        $requested_value
178
-    ) {
179
-        if ($this->appliesToVersion($requested_value)
180
-            && $original_value === EE_INF
181
-        ) {
182
-            // return the old representation of infinity in the JSON
183
-            return -1;
184
-        }
185
-        return $new_value;
186
-    }
163
+	/**
164
+	 * If the value was infinity, we now use null in our JSON responses,
165
+	 * but before this version we used -1.
166
+	 *
167
+	 * @param mixed                $new_value
168
+	 * @param \EE_Model_Field_Base $field_obj
169
+	 * @param mixed                $original_value
170
+	 * @param string               $requested_value
171
+	 * @return mixed
172
+	 */
173
+	public function useNegativeOneForInfinityBeforeThisVersion(
174
+		$new_value,
175
+		$field_obj,
176
+		$original_value,
177
+		$requested_value
178
+	) {
179
+		if ($this->appliesToVersion($requested_value)
180
+			&& $original_value === EE_INF
181
+		) {
182
+			// return the old representation of infinity in the JSON
183
+			return -1;
184
+		}
185
+		return $new_value;
186
+	}
187 187
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -119,9 +119,9 @@  discard block
 block discarded – undo
119 119
                 $headers,
120 120
                 array_flip(
121 121
                     array(
122
-                        Base::HEADER_PREFIX_FOR_WP . 'Total',
123
-                        Base::HEADER_PREFIX_FOR_WP . 'TotalPages',
124
-                        Base::HEADER_PREFIX_FOR_WP . 'PageSize',
122
+                        Base::HEADER_PREFIX_FOR_WP.'Total',
123
+                        Base::HEADER_PREFIX_FOR_WP.'TotalPages',
124
+                        Base::HEADER_PREFIX_FOR_WP.'PageSize',
125 125
                     )
126 126
                 )
127 127
             );
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
             && $model instanceof \EEM_CPT_Base
152 152
         ) {
153 153
             $attachment = wp_get_attachment_image_src(
154
-                get_post_thumbnail_id($entity_response_array[ $model->primary_key_name() ]),
154
+                get_post_thumbnail_id($entity_response_array[$model->primary_key_name()]),
155 155
                 'full'
156 156
             );
157 157
             $entity_response_array['featured_image_url'] = ! empty($attachment) ? $attachment[0] : null;
Please login to merge, or discard this patch.
core/libraries/rest_api/ModelVersionInfo.php 2 patches
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -114,10 +114,10 @@  discard block
 block discarded – undo
114 114
         foreach ($this->resource_changes as $version => $model_classnames) {
115 115
             foreach ($model_classnames as $model_classname => $extra_fields) {
116 116
                 foreach ($extra_fields as $fieldname => $field_data) {
117
-                    $this->resource_changes[ $model_classname ][ $fieldname ]['name'] = $fieldname;
117
+                    $this->resource_changes[$model_classname][$fieldname]['name'] = $fieldname;
118 118
                     foreach ($defaults as $attribute => $default_value) {
119
-                        if (! isset($this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ])) {
120
-                            $this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ] = $default_value;
119
+                        if ( ! isset($this->resource_changes[$model_classname][$fieldname][$attribute])) {
120
+                            $this->resource_changes[$model_classname][$fieldname][$attribute] = $default_value;
121 121
                         }
122 122
                     }
123 123
                 }
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
             $model_changes = array();
140 140
             foreach ($this->modelChanges() as $version => $models_changed_in_version) {
141 141
                 if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
142
-                    $model_changes[ $version ] = $models_changed_in_version;
142
+                    $model_changes[$version] = $models_changed_in_version;
143 143
                 }
144 144
             }
145 145
             $this->cached_model_changes_between_requested_version_and_current = $model_changes;
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
             $resource_changes = array();
162 162
             foreach ($this->resourceChanges() as $version => $model_classnames) {
163 163
                 if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
164
-                    $resource_changes[ $version ] = $model_classnames;
164
+                    $resource_changes[$version] = $model_classnames;
165 165
                 }
166 166
             }
167 167
             $this->cached_resource_changes_between_requested_version_and_current = $resource_changes;
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
             foreach ($this->modelChangesBetweenRequestedVersionAndCurrent() as $version => $models_changed) {
213 213
                 foreach ($models_changed as $model_name => $new_indicator_or_fields_added) {
214 214
                     if ($new_indicator_or_fields_added === ModelVersionInfo::MODEL_ADDED) {
215
-                        unset($all_models_in_current_version[ $model_name ]);
215
+                        unset($all_models_in_current_version[$model_name]);
216 216
                     }
217 217
                 }
218 218
             }
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
     public function isModelNameInThisVersion($model_name)
238 238
     {
239 239
         $model_names = $this->modelsForRequestedVersion();
240
-        if (isset($model_names[ $model_name ])) {
240
+        if (isset($model_names[$model_name])) {
241 241
             return true;
242 242
         } else {
243 243
             return false;
@@ -280,19 +280,19 @@  discard block
 block discarded – undo
280 280
      */
281 281
     public function fieldsOnModelInThisVersion($model)
282 282
     {
283
-        if (! isset($this->cached_fields_on_models[ $model->get_this_model_name() ])) {
283
+        if ( ! isset($this->cached_fields_on_models[$model->get_this_model_name()])) {
284 284
             // get all model changes between the requested version and current core version
285 285
             $changes = $this->modelChangesBetweenRequestedVersionAndCurrent();
286 286
             // fetch all fields currently on this model
287 287
             $current_fields = $model->field_settings();
288 288
             // remove all fields that have been added since
289 289
             foreach ($changes as $version => $changes_in_version) {
290
-                if (isset($changes_in_version[ $model->get_this_model_name() ])
291
-                    && $changes_in_version[ $model->get_this_model_name() ] !== ModelVersionInfo::MODEL_ADDED
290
+                if (isset($changes_in_version[$model->get_this_model_name()])
291
+                    && $changes_in_version[$model->get_this_model_name()] !== ModelVersionInfo::MODEL_ADDED
292 292
                 ) {
293 293
                     $current_fields = array_diff_key(
294 294
                         $current_fields,
295
-                        array_flip($changes_in_version[ $model->get_this_model_name() ])
295
+                        array_flip($changes_in_version[$model->get_this_model_name()])
296 296
                     );
297 297
                 }
298 298
             }
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
         $relations = array();
448 448
         foreach ($model->relation_settings() as $relation_name => $relation_obj) {
449 449
             if ($this->isModelNameInThisVersion($relation_name)) {
450
-                $relations[ $relation_name ] = $relation_obj;
450
+                $relations[$relation_name] = $relation_obj;
451 451
             }
452 452
         }
453 453
         // filter the results, but use the old filter name
Please login to merge, or discard this patch.
Indentation   +436 added lines, -436 removed lines patch added patch discarded remove patch
@@ -21,440 +21,440 @@
 block discarded – undo
21 21
 class ModelVersionInfo
22 22
 {
23 23
 
24
-    /**
25
-     * Constant used in the $_model_changes array to indicate that a model
26
-     * was completely new in this version
27
-     */
28
-    const MODEL_ADDED = 'model_added_in_this_version';
29
-
30
-    /**
31
-     * Top-level keys are versions (major and minor version numbers, eg "4.6")
32
-     * next-level keys are model names (eg "Event") that underwent some change in that version
33
-     * and the value is either Model_Version_Info::model_added (indicating the model is completely NEW in this version),
34
-     * or it's an array where the values are model field names,
35
-     * or API resource properties (ie, non-model fields that appear in REST API results)
36
-     * If a version is missing then we don't know anything about what changes it introduced from the previous version
37
-     *
38
-     * @var array
39
-     */
40
-    protected $model_changes = array();
41
-
42
-    /**
43
-     * top-level keys are version numbers,
44
-     * next-level keys are model CLASSNAMES (even parent classnames),
45
-     * and next-level keys are extra resource properties to attach to those models' resources,
46
-     * and next-level key-value pairs, where the keys are:
47
-     * 'raw', 'type', 'nullable', 'table_alias', 'table_column',  'always_available'
48
-     *
49
-     * @var array
50
-     */
51
-    protected $resource_changes = array();
52
-
53
-    /**
54
-     * @var string indicating what version of the API was requested
55
-     * (eg although core might be at version 4.8.11, they may have sent a request
56
-     * for 4.6)
57
-     */
58
-    protected $requested_version = null;
59
-
60
-    /**
61
-     * Keys are model names, values are their classnames.
62
-     * We cache this so we only need to calculate this once per request
63
-     *
64
-     * @var array
65
-     */
66
-    protected $cached_models_for_requested_version = null;
67
-
68
-    /**
69
-     * @var array
70
-     */
71
-    protected $cached_model_changes_between_requested_version_and_current = null;
72
-
73
-    /**
74
-     * @var array
75
-     */
76
-    protected $cached_resource_changes_between_requested_version_and_current = null;
77
-
78
-    /**
79
-     * 2d array where top-level keys are model names, 2nd-level keys are field names
80
-     * and values are the actual field objects
81
-     *
82
-     * @var array
83
-     */
84
-    protected $cached_fields_on_models = array();
85
-
86
-
87
-    /**
88
-     * Model_Version_Info constructor.
89
-     *
90
-     * @param string $requested_version
91
-     */
92
-    public function __construct($requested_version)
93
-    {
94
-        $this->requested_version = (string) $requested_version;
95
-        $this->model_changes = array(
96
-            '4.8.29' => array(
97
-                // first version where the REST API is in EE core, so no need
98
-                // to specify how its different from the previous
99
-            ),
100
-        );
101
-        // setup data for "extra" fields added onto resources which don't actually exist on models
102
-        $this->resource_changes = apply_filters(
103
-            'FHEE__Model_Version_Info___construct__extra_resource_properties_for_models',
104
-            array()
105
-        );
106
-        $defaults = array(
107
-            'raw'              => false,
108
-            'type'             => 'N/A',
109
-            'nullable'         => true,
110
-            'table_alias'      => 'N/A',
111
-            'table_column'     => 'N/A',
112
-            'always_available' => true,
113
-        );
114
-        foreach ($this->resource_changes as $version => $model_classnames) {
115
-            foreach ($model_classnames as $model_classname => $extra_fields) {
116
-                foreach ($extra_fields as $fieldname => $field_data) {
117
-                    $this->resource_changes[ $model_classname ][ $fieldname ]['name'] = $fieldname;
118
-                    foreach ($defaults as $attribute => $default_value) {
119
-                        if (! isset($this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ])) {
120
-                            $this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ] = $default_value;
121
-                        }
122
-                    }
123
-                }
124
-            }
125
-        }
126
-    }
127
-
128
-
129
-    /**
130
-     * Returns a slice of Model_Version_Info::model_changes()'s array
131
-     * indicating exactly what changes happened between the current core version,
132
-     * and the version requested
133
-     *
134
-     * @return array
135
-     */
136
-    public function modelChangesBetweenRequestedVersionAndCurrent()
137
-    {
138
-        if ($this->cached_model_changes_between_requested_version_and_current === null) {
139
-            $model_changes = array();
140
-            foreach ($this->modelChanges() as $version => $models_changed_in_version) {
141
-                if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
142
-                    $model_changes[ $version ] = $models_changed_in_version;
143
-                }
144
-            }
145
-            $this->cached_model_changes_between_requested_version_and_current = $model_changes;
146
-        }
147
-        return $this->cached_model_changes_between_requested_version_and_current;
148
-    }
149
-
150
-
151
-    /**
152
-     * Returns a slice of Model_Version_Info::model_changes()'s array
153
-     * indicating exactly what changes happened between the current core version,
154
-     * and the version requested
155
-     *
156
-     * @return array
157
-     */
158
-    public function resourceChangesBetweenRequestedVersionAndCurrent()
159
-    {
160
-        if ($this->cached_resource_changes_between_requested_version_and_current === null) {
161
-            $resource_changes = array();
162
-            foreach ($this->resourceChanges() as $version => $model_classnames) {
163
-                if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
164
-                    $resource_changes[ $version ] = $model_classnames;
165
-                }
166
-            }
167
-            $this->cached_resource_changes_between_requested_version_and_current = $resource_changes;
168
-        }
169
-        return $this->cached_resource_changes_between_requested_version_and_current;
170
-    }
171
-
172
-
173
-    /**
174
-     * If a request was sent to 'wp-json/ee/v4.7/events' this would be '4.7'
175
-     *
176
-     * @return string like '4.6'
177
-     */
178
-    public function requestedVersion()
179
-    {
180
-        return $this->requested_version;
181
-    }
182
-
183
-
184
-    /**
185
-     * Returns an array describing how the models have changed in each version of core
186
-     * that supports the API (starting at 4.6)
187
-     * Top-level keys are versions (major and minor version numbers, eg "4.6")
188
-     * next-level keys are model names (eg "Event") that underwent some change in that version
189
-     * and the value is either NULL (indicating the model is completely NEW in this version),
190
-     * or it's an array where fields are value names.
191
-     * If a version is missing then we don't know anything about what changes it introduced from the previous version
192
-     *
193
-     * @return array
194
-     */
195
-    public function modelChanges()
196
-    {
197
-        return $this->model_changes;
198
-    }
199
-
200
-
201
-    /**
202
-     * Takes into account the requested version, and the current version, and
203
-     * what changed between the two, and tries to return.
204
-     * Analogous to EE_Registry::instance()->non_abstract_db_models
205
-     *
206
-     * @return array keys are model names, values are their classname
207
-     */
208
-    public function modelsForRequestedVersion()
209
-    {
210
-        if ($this->cached_models_for_requested_version === null) {
211
-            $all_models_in_current_version = EE_Registry::instance()->non_abstract_db_models;
212
-            foreach ($this->modelChangesBetweenRequestedVersionAndCurrent() as $version => $models_changed) {
213
-                foreach ($models_changed as $model_name => $new_indicator_or_fields_added) {
214
-                    if ($new_indicator_or_fields_added === ModelVersionInfo::MODEL_ADDED) {
215
-                        unset($all_models_in_current_version[ $model_name ]);
216
-                    }
217
-                }
218
-            }
219
-            $this->cached_models_for_requested_version = apply_filters(
220
-                'FHEE__EventEspresso_core_libraries_rest_api__models_for_requested_version',
221
-                $all_models_in_current_version,
222
-                $this
223
-            );
224
-        }
225
-        return $this->cached_models_for_requested_version;
226
-    }
227
-
228
-
229
-    /**
230
-     * Determines if this is a valid model name in the requested version.
231
-     * Similar to EE_Registry::instance()->is_model_name(), but takes the requested
232
-     * version's models into account
233
-     *
234
-     * @param string $model_name eg 'Event'
235
-     * @return boolean
236
-     */
237
-    public function isModelNameInThisVersion($model_name)
238
-    {
239
-        $model_names = $this->modelsForRequestedVersion();
240
-        if (isset($model_names[ $model_name ])) {
241
-            return true;
242
-        } else {
243
-            return false;
244
-        }
245
-    }
246
-
247
-
248
-    /**
249
-     * Wrapper for EE_Registry::instance()->load_model(), but takes the requested
250
-     * version's models into account
251
-     *
252
-     * @param string $model_name
253
-     * @return \EEM_Base
254
-     * @throws \EE_Error
255
-     */
256
-    public function loadModel($model_name)
257
-    {
258
-        if ($this->isModelNameInThisVersion($model_name)) {
259
-            return EE_Registry::instance()->load_model($model_name);
260
-        } else {
261
-            throw new \EE_Error(
262
-                sprintf(
263
-                    __(
264
-                        'Cannot load model "%1$s" because it does not exist in version %2$s of Event Espresso',
265
-                        'event_espresso'
266
-                    ),
267
-                    $model_name,
268
-                    $this->requestedVersion()
269
-                )
270
-            );
271
-        }
272
-    }
273
-
274
-
275
-    /**
276
-     * Gets all the fields that should exist on this model right now
277
-     *
278
-     * @param \EEM_Base $model
279
-     * @return array|\EE_Model_Field_Base[]
280
-     */
281
-    public function fieldsOnModelInThisVersion($model)
282
-    {
283
-        if (! isset($this->cached_fields_on_models[ $model->get_this_model_name() ])) {
284
-            // get all model changes between the requested version and current core version
285
-            $changes = $this->modelChangesBetweenRequestedVersionAndCurrent();
286
-            // fetch all fields currently on this model
287
-            $current_fields = $model->field_settings();
288
-            // remove all fields that have been added since
289
-            foreach ($changes as $version => $changes_in_version) {
290
-                if (isset($changes_in_version[ $model->get_this_model_name() ])
291
-                    && $changes_in_version[ $model->get_this_model_name() ] !== ModelVersionInfo::MODEL_ADDED
292
-                ) {
293
-                    $current_fields = array_diff_key(
294
-                        $current_fields,
295
-                        array_flip($changes_in_version[ $model->get_this_model_name() ])
296
-                    );
297
-                }
298
-            }
299
-            $this->cached_fields_on_models = $current_fields;
300
-        }
301
-        return $this->cached_fields_on_models;
302
-    }
303
-
304
-
305
-    /**
306
-     * Determines if $object is of one of the classes of $classes. Similar to
307
-     * in_array(), except this checks if $object is a subclass of the classnames provided
308
-     * in $classnames
309
-     *
310
-     * @param object $object
311
-     * @param array  $classnames
312
-     * @return boolean
313
-     */
314
-    public function isSubclassOfOne($object, $classnames)
315
-    {
316
-        foreach ($classnames as $classname) {
317
-            if (is_a($object, $classname)) {
318
-                return true;
319
-            }
320
-        }
321
-        return false;
322
-    }
323
-
324
-
325
-    /**
326
-     * Returns the list of model field classes that that the API basically ignores
327
-     *
328
-     * @return array
329
-     */
330
-    public function fieldsIgnored()
331
-    {
332
-        return apply_filters(
333
-            'FHEE__Controller_Model_Read_fields_ignored',
334
-            array()
335
-        );
336
-    }
337
-
338
-
339
-    /**
340
-     * If this field one that should be ignored by the API?
341
-     *
342
-     * @param EE_Model_Field_Base
343
-     * @return boolean
344
-     */
345
-    public function fieldIsIgnored($field_obj)
346
-    {
347
-        return $this->isSubclassOfOne($field_obj, $this->fieldsIgnored());
348
-    }
349
-
350
-
351
-    /**
352
-     * Returns the list of model field classes that have a "raw" and non-raw formats.
353
-     * Normally the "raw" versions are only accessible to those who can edit them.
354
-     *
355
-     * @return array an array of EE_Model_Field_Base child classnames
356
-     */
357
-    public function fieldsThatHaveRenderedFormat()
358
-    {
359
-        return apply_filters(
360
-            'FHEE__Controller_Model_Read__fields_raw',
361
-            array('EE_Post_Content_Field', 'EE_Full_HTML_Field')
362
-        );
363
-    }
364
-
365
-
366
-    /**
367
-     * If this field one that has a raw format
368
-     *
369
-     * @param EE_Model_Field_Base
370
-     * @return boolean
371
-     */
372
-    public function fieldHasRenderedFormat($field_obj)
373
-    {
374
-        return $this->isSubclassOfOne($field_obj, $this->fieldsThatHaveRenderedFormat());
375
-    }
376
-
377
-
378
-    /**
379
-     * Returns the list of model field classes that have a "_pretty" and non-pretty versions.
380
-     * The pretty version of the field is NOT query-able or editable, but requires no extra permissions
381
-     * to view
382
-     *
383
-     * @return array an array of EE_Model_Field_Base child classnames
384
-     */
385
-    public function fieldsThatHavePrettyFormat()
386
-    {
387
-        return apply_filters(
388
-            'FHEE__Controller_Model_Read__fields_pretty',
389
-            array('EE_Enum_Integer_Field', 'EE_Enum_Text_Field', 'EE_Money_Field')
390
-        );
391
-    }
392
-
393
-
394
-    /**
395
-     * If this field one that has a pretty equivalent
396
-     *
397
-     * @param EE_Model_Field_Base
398
-     * @return boolean
399
-     */
400
-    public function fieldHasPrettyFormat($field_obj)
401
-    {
402
-        return $this->isSubclassOfOne($field_obj, $this->fieldsThatHavePrettyFormat());
403
-    }
404
-
405
-
406
-    /**
407
-     * Returns an array describing what extra API resource properties have been added through the versions
408
-     *
409
-     * @return array @see $this->_extra_resource_properties_for_models
410
-     */
411
-    public function resourceChanges()
412
-    {
413
-        return $this->resource_changes;
414
-    }
415
-
416
-
417
-    /**
418
-     * Returns an array where keys are extra resource properties in this version of the API,
419
-     * and values are key-value pairs describing the new properties. @see Model_Version::_resource_changes
420
-     *
421
-     * @param \EEM_Base $model
422
-     * @return array
423
-     */
424
-    public function extraResourcePropertiesForModel($model)
425
-    {
426
-        $extra_properties = array();
427
-        foreach ($this->resourceChangesBetweenRequestedVersionAndCurrent() as $version => $model_classnames) {
428
-            foreach ($model_classnames as $model_classname => $properties_added_in_this_version) {
429
-                if (is_subclass_of($model, $model_classname)) {
430
-                    $extra_properties = array_merge($extra_properties, $properties_added_in_this_version);
431
-                }
432
-            }
433
-        }
434
-        return $extra_properties;
435
-    }
436
-
437
-
438
-    /**
439
-     * Gets all the related models for the specified model. It's good to use this
440
-     * in case this model didn't exist for this version or something
441
-     *
442
-     * @param \EEM_Base $model
443
-     * @return \EE_Model_Relation_Base[]
444
-     */
445
-    public function relationSettings(\EEM_Base $model)
446
-    {
447
-        $relations = array();
448
-        foreach ($model->relation_settings() as $relation_name => $relation_obj) {
449
-            if ($this->isModelNameInThisVersion($relation_name)) {
450
-                $relations[ $relation_name ] = $relation_obj;
451
-            }
452
-        }
453
-        // filter the results, but use the old filter name
454
-        return apply_filters(
455
-            'FHEE__Read__create_entity_from_wpdb_result__related_models_to_include',
456
-            $relations,
457
-            $model
458
-        );
459
-    }
24
+	/**
25
+	 * Constant used in the $_model_changes array to indicate that a model
26
+	 * was completely new in this version
27
+	 */
28
+	const MODEL_ADDED = 'model_added_in_this_version';
29
+
30
+	/**
31
+	 * Top-level keys are versions (major and minor version numbers, eg "4.6")
32
+	 * next-level keys are model names (eg "Event") that underwent some change in that version
33
+	 * and the value is either Model_Version_Info::model_added (indicating the model is completely NEW in this version),
34
+	 * or it's an array where the values are model field names,
35
+	 * or API resource properties (ie, non-model fields that appear in REST API results)
36
+	 * If a version is missing then we don't know anything about what changes it introduced from the previous version
37
+	 *
38
+	 * @var array
39
+	 */
40
+	protected $model_changes = array();
41
+
42
+	/**
43
+	 * top-level keys are version numbers,
44
+	 * next-level keys are model CLASSNAMES (even parent classnames),
45
+	 * and next-level keys are extra resource properties to attach to those models' resources,
46
+	 * and next-level key-value pairs, where the keys are:
47
+	 * 'raw', 'type', 'nullable', 'table_alias', 'table_column',  'always_available'
48
+	 *
49
+	 * @var array
50
+	 */
51
+	protected $resource_changes = array();
52
+
53
+	/**
54
+	 * @var string indicating what version of the API was requested
55
+	 * (eg although core might be at version 4.8.11, they may have sent a request
56
+	 * for 4.6)
57
+	 */
58
+	protected $requested_version = null;
59
+
60
+	/**
61
+	 * Keys are model names, values are their classnames.
62
+	 * We cache this so we only need to calculate this once per request
63
+	 *
64
+	 * @var array
65
+	 */
66
+	protected $cached_models_for_requested_version = null;
67
+
68
+	/**
69
+	 * @var array
70
+	 */
71
+	protected $cached_model_changes_between_requested_version_and_current = null;
72
+
73
+	/**
74
+	 * @var array
75
+	 */
76
+	protected $cached_resource_changes_between_requested_version_and_current = null;
77
+
78
+	/**
79
+	 * 2d array where top-level keys are model names, 2nd-level keys are field names
80
+	 * and values are the actual field objects
81
+	 *
82
+	 * @var array
83
+	 */
84
+	protected $cached_fields_on_models = array();
85
+
86
+
87
+	/**
88
+	 * Model_Version_Info constructor.
89
+	 *
90
+	 * @param string $requested_version
91
+	 */
92
+	public function __construct($requested_version)
93
+	{
94
+		$this->requested_version = (string) $requested_version;
95
+		$this->model_changes = array(
96
+			'4.8.29' => array(
97
+				// first version where the REST API is in EE core, so no need
98
+				// to specify how its different from the previous
99
+			),
100
+		);
101
+		// setup data for "extra" fields added onto resources which don't actually exist on models
102
+		$this->resource_changes = apply_filters(
103
+			'FHEE__Model_Version_Info___construct__extra_resource_properties_for_models',
104
+			array()
105
+		);
106
+		$defaults = array(
107
+			'raw'              => false,
108
+			'type'             => 'N/A',
109
+			'nullable'         => true,
110
+			'table_alias'      => 'N/A',
111
+			'table_column'     => 'N/A',
112
+			'always_available' => true,
113
+		);
114
+		foreach ($this->resource_changes as $version => $model_classnames) {
115
+			foreach ($model_classnames as $model_classname => $extra_fields) {
116
+				foreach ($extra_fields as $fieldname => $field_data) {
117
+					$this->resource_changes[ $model_classname ][ $fieldname ]['name'] = $fieldname;
118
+					foreach ($defaults as $attribute => $default_value) {
119
+						if (! isset($this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ])) {
120
+							$this->resource_changes[ $model_classname ][ $fieldname ][ $attribute ] = $default_value;
121
+						}
122
+					}
123
+				}
124
+			}
125
+		}
126
+	}
127
+
128
+
129
+	/**
130
+	 * Returns a slice of Model_Version_Info::model_changes()'s array
131
+	 * indicating exactly what changes happened between the current core version,
132
+	 * and the version requested
133
+	 *
134
+	 * @return array
135
+	 */
136
+	public function modelChangesBetweenRequestedVersionAndCurrent()
137
+	{
138
+		if ($this->cached_model_changes_between_requested_version_and_current === null) {
139
+			$model_changes = array();
140
+			foreach ($this->modelChanges() as $version => $models_changed_in_version) {
141
+				if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
142
+					$model_changes[ $version ] = $models_changed_in_version;
143
+				}
144
+			}
145
+			$this->cached_model_changes_between_requested_version_and_current = $model_changes;
146
+		}
147
+		return $this->cached_model_changes_between_requested_version_and_current;
148
+	}
149
+
150
+
151
+	/**
152
+	 * Returns a slice of Model_Version_Info::model_changes()'s array
153
+	 * indicating exactly what changes happened between the current core version,
154
+	 * and the version requested
155
+	 *
156
+	 * @return array
157
+	 */
158
+	public function resourceChangesBetweenRequestedVersionAndCurrent()
159
+	{
160
+		if ($this->cached_resource_changes_between_requested_version_and_current === null) {
161
+			$resource_changes = array();
162
+			foreach ($this->resourceChanges() as $version => $model_classnames) {
163
+				if ($version <= EED_Core_Rest_Api::core_version() && $version > $this->requestedVersion()) {
164
+					$resource_changes[ $version ] = $model_classnames;
165
+				}
166
+			}
167
+			$this->cached_resource_changes_between_requested_version_and_current = $resource_changes;
168
+		}
169
+		return $this->cached_resource_changes_between_requested_version_and_current;
170
+	}
171
+
172
+
173
+	/**
174
+	 * If a request was sent to 'wp-json/ee/v4.7/events' this would be '4.7'
175
+	 *
176
+	 * @return string like '4.6'
177
+	 */
178
+	public function requestedVersion()
179
+	{
180
+		return $this->requested_version;
181
+	}
182
+
183
+
184
+	/**
185
+	 * Returns an array describing how the models have changed in each version of core
186
+	 * that supports the API (starting at 4.6)
187
+	 * Top-level keys are versions (major and minor version numbers, eg "4.6")
188
+	 * next-level keys are model names (eg "Event") that underwent some change in that version
189
+	 * and the value is either NULL (indicating the model is completely NEW in this version),
190
+	 * or it's an array where fields are value names.
191
+	 * If a version is missing then we don't know anything about what changes it introduced from the previous version
192
+	 *
193
+	 * @return array
194
+	 */
195
+	public function modelChanges()
196
+	{
197
+		return $this->model_changes;
198
+	}
199
+
200
+
201
+	/**
202
+	 * Takes into account the requested version, and the current version, and
203
+	 * what changed between the two, and tries to return.
204
+	 * Analogous to EE_Registry::instance()->non_abstract_db_models
205
+	 *
206
+	 * @return array keys are model names, values are their classname
207
+	 */
208
+	public function modelsForRequestedVersion()
209
+	{
210
+		if ($this->cached_models_for_requested_version === null) {
211
+			$all_models_in_current_version = EE_Registry::instance()->non_abstract_db_models;
212
+			foreach ($this->modelChangesBetweenRequestedVersionAndCurrent() as $version => $models_changed) {
213
+				foreach ($models_changed as $model_name => $new_indicator_or_fields_added) {
214
+					if ($new_indicator_or_fields_added === ModelVersionInfo::MODEL_ADDED) {
215
+						unset($all_models_in_current_version[ $model_name ]);
216
+					}
217
+				}
218
+			}
219
+			$this->cached_models_for_requested_version = apply_filters(
220
+				'FHEE__EventEspresso_core_libraries_rest_api__models_for_requested_version',
221
+				$all_models_in_current_version,
222
+				$this
223
+			);
224
+		}
225
+		return $this->cached_models_for_requested_version;
226
+	}
227
+
228
+
229
+	/**
230
+	 * Determines if this is a valid model name in the requested version.
231
+	 * Similar to EE_Registry::instance()->is_model_name(), but takes the requested
232
+	 * version's models into account
233
+	 *
234
+	 * @param string $model_name eg 'Event'
235
+	 * @return boolean
236
+	 */
237
+	public function isModelNameInThisVersion($model_name)
238
+	{
239
+		$model_names = $this->modelsForRequestedVersion();
240
+		if (isset($model_names[ $model_name ])) {
241
+			return true;
242
+		} else {
243
+			return false;
244
+		}
245
+	}
246
+
247
+
248
+	/**
249
+	 * Wrapper for EE_Registry::instance()->load_model(), but takes the requested
250
+	 * version's models into account
251
+	 *
252
+	 * @param string $model_name
253
+	 * @return \EEM_Base
254
+	 * @throws \EE_Error
255
+	 */
256
+	public function loadModel($model_name)
257
+	{
258
+		if ($this->isModelNameInThisVersion($model_name)) {
259
+			return EE_Registry::instance()->load_model($model_name);
260
+		} else {
261
+			throw new \EE_Error(
262
+				sprintf(
263
+					__(
264
+						'Cannot load model "%1$s" because it does not exist in version %2$s of Event Espresso',
265
+						'event_espresso'
266
+					),
267
+					$model_name,
268
+					$this->requestedVersion()
269
+				)
270
+			);
271
+		}
272
+	}
273
+
274
+
275
+	/**
276
+	 * Gets all the fields that should exist on this model right now
277
+	 *
278
+	 * @param \EEM_Base $model
279
+	 * @return array|\EE_Model_Field_Base[]
280
+	 */
281
+	public function fieldsOnModelInThisVersion($model)
282
+	{
283
+		if (! isset($this->cached_fields_on_models[ $model->get_this_model_name() ])) {
284
+			// get all model changes between the requested version and current core version
285
+			$changes = $this->modelChangesBetweenRequestedVersionAndCurrent();
286
+			// fetch all fields currently on this model
287
+			$current_fields = $model->field_settings();
288
+			// remove all fields that have been added since
289
+			foreach ($changes as $version => $changes_in_version) {
290
+				if (isset($changes_in_version[ $model->get_this_model_name() ])
291
+					&& $changes_in_version[ $model->get_this_model_name() ] !== ModelVersionInfo::MODEL_ADDED
292
+				) {
293
+					$current_fields = array_diff_key(
294
+						$current_fields,
295
+						array_flip($changes_in_version[ $model->get_this_model_name() ])
296
+					);
297
+				}
298
+			}
299
+			$this->cached_fields_on_models = $current_fields;
300
+		}
301
+		return $this->cached_fields_on_models;
302
+	}
303
+
304
+
305
+	/**
306
+	 * Determines if $object is of one of the classes of $classes. Similar to
307
+	 * in_array(), except this checks if $object is a subclass of the classnames provided
308
+	 * in $classnames
309
+	 *
310
+	 * @param object $object
311
+	 * @param array  $classnames
312
+	 * @return boolean
313
+	 */
314
+	public function isSubclassOfOne($object, $classnames)
315
+	{
316
+		foreach ($classnames as $classname) {
317
+			if (is_a($object, $classname)) {
318
+				return true;
319
+			}
320
+		}
321
+		return false;
322
+	}
323
+
324
+
325
+	/**
326
+	 * Returns the list of model field classes that that the API basically ignores
327
+	 *
328
+	 * @return array
329
+	 */
330
+	public function fieldsIgnored()
331
+	{
332
+		return apply_filters(
333
+			'FHEE__Controller_Model_Read_fields_ignored',
334
+			array()
335
+		);
336
+	}
337
+
338
+
339
+	/**
340
+	 * If this field one that should be ignored by the API?
341
+	 *
342
+	 * @param EE_Model_Field_Base
343
+	 * @return boolean
344
+	 */
345
+	public function fieldIsIgnored($field_obj)
346
+	{
347
+		return $this->isSubclassOfOne($field_obj, $this->fieldsIgnored());
348
+	}
349
+
350
+
351
+	/**
352
+	 * Returns the list of model field classes that have a "raw" and non-raw formats.
353
+	 * Normally the "raw" versions are only accessible to those who can edit them.
354
+	 *
355
+	 * @return array an array of EE_Model_Field_Base child classnames
356
+	 */
357
+	public function fieldsThatHaveRenderedFormat()
358
+	{
359
+		return apply_filters(
360
+			'FHEE__Controller_Model_Read__fields_raw',
361
+			array('EE_Post_Content_Field', 'EE_Full_HTML_Field')
362
+		);
363
+	}
364
+
365
+
366
+	/**
367
+	 * If this field one that has a raw format
368
+	 *
369
+	 * @param EE_Model_Field_Base
370
+	 * @return boolean
371
+	 */
372
+	public function fieldHasRenderedFormat($field_obj)
373
+	{
374
+		return $this->isSubclassOfOne($field_obj, $this->fieldsThatHaveRenderedFormat());
375
+	}
376
+
377
+
378
+	/**
379
+	 * Returns the list of model field classes that have a "_pretty" and non-pretty versions.
380
+	 * The pretty version of the field is NOT query-able or editable, but requires no extra permissions
381
+	 * to view
382
+	 *
383
+	 * @return array an array of EE_Model_Field_Base child classnames
384
+	 */
385
+	public function fieldsThatHavePrettyFormat()
386
+	{
387
+		return apply_filters(
388
+			'FHEE__Controller_Model_Read__fields_pretty',
389
+			array('EE_Enum_Integer_Field', 'EE_Enum_Text_Field', 'EE_Money_Field')
390
+		);
391
+	}
392
+
393
+
394
+	/**
395
+	 * If this field one that has a pretty equivalent
396
+	 *
397
+	 * @param EE_Model_Field_Base
398
+	 * @return boolean
399
+	 */
400
+	public function fieldHasPrettyFormat($field_obj)
401
+	{
402
+		return $this->isSubclassOfOne($field_obj, $this->fieldsThatHavePrettyFormat());
403
+	}
404
+
405
+
406
+	/**
407
+	 * Returns an array describing what extra API resource properties have been added through the versions
408
+	 *
409
+	 * @return array @see $this->_extra_resource_properties_for_models
410
+	 */
411
+	public function resourceChanges()
412
+	{
413
+		return $this->resource_changes;
414
+	}
415
+
416
+
417
+	/**
418
+	 * Returns an array where keys are extra resource properties in this version of the API,
419
+	 * and values are key-value pairs describing the new properties. @see Model_Version::_resource_changes
420
+	 *
421
+	 * @param \EEM_Base $model
422
+	 * @return array
423
+	 */
424
+	public function extraResourcePropertiesForModel($model)
425
+	{
426
+		$extra_properties = array();
427
+		foreach ($this->resourceChangesBetweenRequestedVersionAndCurrent() as $version => $model_classnames) {
428
+			foreach ($model_classnames as $model_classname => $properties_added_in_this_version) {
429
+				if (is_subclass_of($model, $model_classname)) {
430
+					$extra_properties = array_merge($extra_properties, $properties_added_in_this_version);
431
+				}
432
+			}
433
+		}
434
+		return $extra_properties;
435
+	}
436
+
437
+
438
+	/**
439
+	 * Gets all the related models for the specified model. It's good to use this
440
+	 * in case this model didn't exist for this version or something
441
+	 *
442
+	 * @param \EEM_Base $model
443
+	 * @return \EE_Model_Relation_Base[]
444
+	 */
445
+	public function relationSettings(\EEM_Base $model)
446
+	{
447
+		$relations = array();
448
+		foreach ($model->relation_settings() as $relation_name => $relation_obj) {
449
+			if ($this->isModelNameInThisVersion($relation_name)) {
450
+				$relations[ $relation_name ] = $relation_obj;
451
+			}
452
+		}
453
+		// filter the results, but use the old filter name
454
+		return apply_filters(
455
+			'FHEE__Read__create_entity_from_wpdb_result__related_models_to_include',
456
+			$relations,
457
+			$model
458
+		);
459
+	}
460 460
 }
Please login to merge, or discard this patch.