Completed
Push — developer ( a73d1e...07972d )
by Błażej
180:52 queued 129:18
created
include/Webservices/VtigerCRMObjectMeta.php 1 patch
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -212,8 +212,9 @@  discard block
 block discarded – undo
212 212
 		$adb = PearDatabase::getInstance();
213 213
 
214 214
 		// administrator's have assign privilege
215
-		if (\vtlib\Functions::userIsAdministrator($this->user))
216
-			return true;
215
+		if (\vtlib\Functions::userIsAdministrator($this->user)) {
216
+					return true;
217
+		}
217 218
 
218 219
 		$idComponents = vtws_getIdComponents($webserviceId);
219 220
 		$userId = $idComponents[1];
@@ -353,8 +354,9 @@  discard block
 block discarded – undo
353 354
 		$theme = vtws_preserveGlobal('theme', $this->user->theme);
354 355
 		$default_language = AppConfig::main('default_language');
355 356
 		$current_language = vglobal('current_language');
356
-		if (empty($current_language))
357
-			$current_language = $default_language;
357
+		if (empty($current_language)) {
358
+					$current_language = $default_language;
359
+		}
358 360
 		$current_language = vtws_preserveGlobal('current_language', $current_language);
359 361
 
360 362
 		$this->computeAccess();
Please login to merge, or discard this patch.
include/Webservices/History.php 1 patch
Braces   +7 added lines, -4 removed lines patch added patch discarded remove patch
@@ -31,8 +31,9 @@  discard block
 block discarded – undo
31 31
 	$page = empty($element['page']) ? 0 : intval($element['page']); // Page to start
32 32
 
33 33
 	$acrossAllModule = false;
34
-	if ($moduleName == 'Home')
35
-		$acrossAllModule = true;
34
+	if ($moduleName == 'Home') {
35
+			$acrossAllModule = true;
36
+	}
36 37
 
37 38
 	// Pre-condition check
38 39
 	if (empty($moduleName)) {
@@ -71,8 +72,10 @@  discard block
 block discarded – undo
71 72
 
72 73
 	// Get most recently tracked changes with limit
73 74
 	$start = $page * $MAXLIMIT;
74
-	if ($start > 0)
75
-		$start = $start + 1; // Adjust the start range
75
+	if ($start > 0) {
76
+			$start = $start + 1;
77
+	}
78
+	// Adjust the start range
76 79
 	$sql .= sprintf(' ORDER BY vtiger_modtracker_basic.id DESC LIMIT %s,%s', $start, $MAXLIMIT);
77 80
 
78 81
 	$result = $adb->pquery($sql, $params);
Please login to merge, or discard this patch.
include/Webservices/ModuleTypes.php 1 patch
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -52,8 +52,9 @@  discard block
 block discarded – undo
52 52
 				generateQuestionMarks($fieldTypeList) . ')';
53 53
 			$params = [];
54 54
 			$params[] = $user->id;
55
-			foreach ($fieldTypeList as $fieldType)
56
-				$params[] = $fieldType;
55
+			foreach ($fieldTypeList as $fieldType) {
56
+							$params[] = $fieldType;
57
+			}
57 58
 			$result = $db->pquery($sql, $params);
58 59
 			$it = new SqlResultIterator($db, $result);
59 60
 			$moduleList = [];
@@ -107,8 +108,9 @@  discard block
 block discarded – undo
107 108
 
108 109
 	$default_language = VTWS_PreserveGlobal::getGlobal('default_language');
109 110
 	$current_language = vglobal('current_language');
110
-	if (empty($current_language))
111
-		$current_language = $default_language;
111
+	if (empty($current_language)) {
112
+			$current_language = $default_language;
113
+	}
112 114
 	$current_language = vtws_preserveGlobal('current_language', $current_language);
113 115
 
114 116
 	$appStrings = return_application_language($current_language);
Please login to merge, or discard this patch.
include/Privileges.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -183,7 +183,7 @@
 block discarded – undo
183 183
 			if (\AppConfig::security('PERMITTED_BY_RECORD_HIERARCHY')) {
184 184
 				$userPrivilegesModel = \Users_Privileges_Model::getInstanceById($userId);
185 185
 				$role = $userPrivilegesModel->getRoleDetail();
186
-				if ((($actionid == 3 || $actionid == 4) && $role->get('previewrelatedrecord') != 0 ) || (($actionid == 0 || $actionid == 1) && $role->get('editrelatedrecord') != 0 )) {
186
+				if ((($actionid == 3 || $actionid == 4) && $role->get('previewrelatedrecord') != 0) || (($actionid == 0 || $actionid == 1) && $role->get('editrelatedrecord') != 0)) {
187 187
 					$parentRecord = \Users_Privileges_Model::getParentRecord($record, $moduleName, $role->get('previewrelatedrecord'), $actionid);
188 188
 					if ($parentRecord) {
189 189
 						$recordMetaData = \vtlib\Functions::getCRMRecordMetadata($parentRecord);
Please login to merge, or discard this patch.
libraries/Smarty/libs/SmartyBC.class.php 2 patches
Indentation   +415 added lines, -415 removed lines patch added patch discarded remove patch
@@ -37,419 +37,419 @@
 block discarded – undo
37 37
  */
38 38
 class SmartyBC extends Smarty
39 39
 {
40
-    /**
41
-     * Smarty 2 BC
42
-     *
43
-     * @var string
44
-     */
45
-    public $_version = self::SMARTY_VERSION;
46
-
47
-    /**
48
-     * This is an array of directories where trusted php scripts reside.
49
-     *
50
-     * @var array
51
-     */
52
-    public $trusted_dir = array();
53
-
54
-    /**
55
-     * Initialize new SmartyBC object
56
-     *
57
-     */
58
-    public function __construct()
59
-    {
60
-        parent::__construct();
61
-    }
62
-
63
-    /**
64
-     * wrapper for assign_by_ref
65
-     *
66
-     * @param string $tpl_var the template variable name
67
-     * @param mixed  &$value  the referenced value to assign
68
-     */
69
-    public function assign_by_ref($tpl_var, &$value)
70
-    {
71
-        $this->assignByRef($tpl_var, $value);
72
-    }
73
-
74
-    /**
75
-     * wrapper for append_by_ref
76
-     *
77
-     * @param string  $tpl_var the template variable name
78
-     * @param mixed   &$value  the referenced value to append
79
-     * @param boolean $merge   flag if array elements shall be merged
80
-     */
81
-    public function append_by_ref($tpl_var, &$value, $merge = false)
82
-    {
83
-        $this->appendByRef($tpl_var, $value, $merge);
84
-    }
85
-
86
-    /**
87
-     * clear the given assigned template variable.
88
-     *
89
-     * @param string $tpl_var the template variable to clear
90
-     */
91
-    public function clear_assign($tpl_var)
92
-    {
93
-        $this->clearAssign($tpl_var);
94
-    }
95
-
96
-    /**
97
-     * Registers custom function to be used in templates
98
-     *
99
-     * @param string $function      the name of the template function
100
-     * @param string $function_impl the name of the PHP function to register
101
-     * @param bool   $cacheable
102
-     * @param mixed  $cache_attrs
103
-     */
104
-    public function register_function($function, $function_impl, $cacheable = true, $cache_attrs = null)
105
-    {
106
-        $this->registerPlugin('function', $function, $function_impl, $cacheable, $cache_attrs);
107
-    }
108
-
109
-    /**
110
-     * Unregister custom function
111
-     *
112
-     * @param string $function name of template function
113
-     */
114
-    public function unregister_function($function)
115
-    {
116
-        $this->unregisterPlugin('function', $function);
117
-    }
118
-
119
-    /**
120
-     * Registers object to be used in templates
121
-     *
122
-     * @param string  $object        name of template object
123
-     * @param object  $object_impl   the referenced PHP object to register
124
-     * @param array   $allowed       list of allowed methods (empty = all)
125
-     * @param boolean $smarty_args   smarty argument format, else traditional
126
-     * @param array   $block_methods list of methods that are block format
127
-     *
128
-     * @throws SmartyException
129
-     * @internal param array $block_functs list of methods that are block format
130
-     */
131
-    public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true,
132
-                                    $block_methods = array())
133
-    {
134
-        settype($allowed, 'array');
135
-        settype($smarty_args, 'boolean');
136
-        $this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
137
-    }
138
-
139
-    /**
140
-     * Unregister object
141
-     *
142
-     * @param string $object name of template object
143
-     */
144
-    public function unregister_object($object)
145
-    {
146
-        $this->unregisterObject($object);
147
-    }
148
-
149
-    /**
150
-     * Registers block function to be used in templates
151
-     *
152
-     * @param string $block      name of template block
153
-     * @param string $block_impl PHP function to register
154
-     * @param bool   $cacheable
155
-     * @param mixed  $cache_attrs
156
-     */
157
-    public function register_block($block, $block_impl, $cacheable = true, $cache_attrs = null)
158
-    {
159
-        $this->registerPlugin('block', $block, $block_impl, $cacheable, $cache_attrs);
160
-    }
161
-
162
-    /**
163
-     * Unregister block function
164
-     *
165
-     * @param string $block name of template function
166
-     */
167
-    public function unregister_block($block)
168
-    {
169
-        $this->unregisterPlugin('block', $block);
170
-    }
171
-
172
-    /**
173
-     * Registers compiler function
174
-     *
175
-     * @param string $function      name of template function
176
-     * @param string $function_impl name of PHP function to register
177
-     * @param bool   $cacheable
178
-     */
179
-    public function register_compiler_function($function, $function_impl, $cacheable = true)
180
-    {
181
-        $this->registerPlugin('compiler', $function, $function_impl, $cacheable);
182
-    }
183
-
184
-    /**
185
-     * Unregister compiler function
186
-     *
187
-     * @param string $function name of template function
188
-     */
189
-    public function unregister_compiler_function($function)
190
-    {
191
-        $this->unregisterPlugin('compiler', $function);
192
-    }
193
-
194
-    /**
195
-     * Registers modifier to be used in templates
196
-     *
197
-     * @param string $modifier      name of template modifier
198
-     * @param string $modifier_impl name of PHP function to register
199
-     */
200
-    public function register_modifier($modifier, $modifier_impl)
201
-    {
202
-        $this->registerPlugin('modifier', $modifier, $modifier_impl);
203
-    }
204
-
205
-    /**
206
-     * Unregister modifier
207
-     *
208
-     * @param string $modifier name of template modifier
209
-     */
210
-    public function unregister_modifier($modifier)
211
-    {
212
-        $this->unregisterPlugin('modifier', $modifier);
213
-    }
214
-
215
-    /**
216
-     * Registers a resource to fetch a template
217
-     *
218
-     * @param string $type      name of resource
219
-     * @param array  $functions array of functions to handle resource
220
-     */
221
-    public function register_resource($type, $functions)
222
-    {
223
-        $this->registerResource($type, $functions);
224
-    }
225
-
226
-    /**
227
-     * Unregister a resource
228
-     *
229
-     * @param string $type name of resource
230
-     */
231
-    public function unregister_resource($type)
232
-    {
233
-        $this->unregisterResource($type);
234
-    }
235
-
236
-    /**
237
-     * Registers a prefilter function to apply
238
-     * to a template before compiling
239
-     *
240
-     * @param callable $function
241
-     */
242
-    public function register_prefilter($function)
243
-    {
244
-        $this->registerFilter('pre', $function);
245
-    }
246
-
247
-    /**
248
-     * Unregister a prefilter function
249
-     *
250
-     * @param callable $function
251
-     */
252
-    public function unregister_prefilter($function)
253
-    {
254
-        $this->unregisterFilter('pre', $function);
255
-    }
256
-
257
-    /**
258
-     * Registers a postfilter function to apply
259
-     * to a compiled template after compilation
260
-     *
261
-     * @param callable $function
262
-     */
263
-    public function register_postfilter($function)
264
-    {
265
-        $this->registerFilter('post', $function);
266
-    }
267
-
268
-    /**
269
-     * Unregister a postfilter function
270
-     *
271
-     * @param callable $function
272
-     */
273
-    public function unregister_postfilter($function)
274
-    {
275
-        $this->unregisterFilter('post', $function);
276
-    }
277
-
278
-    /**
279
-     * Registers an output filter function to apply
280
-     * to a template output
281
-     *
282
-     * @param callable $function
283
-     */
284
-    public function register_outputfilter($function)
285
-    {
286
-        $this->registerFilter('output', $function);
287
-    }
288
-
289
-    /**
290
-     * Unregister an outputfilter function
291
-     *
292
-     * @param callable $function
293
-     */
294
-    public function unregister_outputfilter($function)
295
-    {
296
-        $this->unregisterFilter('output', $function);
297
-    }
298
-
299
-    /**
300
-     * load a filter of specified type and name
301
-     *
302
-     * @param string $type filter type
303
-     * @param string $name filter name
304
-     */
305
-    public function load_filter($type, $name)
306
-    {
307
-        $this->loadFilter($type, $name);
308
-    }
309
-
310
-    /**
311
-     * clear cached content for the given template and cache id
312
-     *
313
-     * @param  string $tpl_file   name of template file
314
-     * @param  string $cache_id   name of cache_id
315
-     * @param  string $compile_id name of compile_id
316
-     * @param  string $exp_time   expiration time
317
-     *
318
-     * @return boolean
319
-     */
320
-    public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
321
-    {
322
-        return $this->clearCache($tpl_file, $cache_id, $compile_id, $exp_time);
323
-    }
324
-
325
-    /**
326
-     * clear the entire contents of cache (all templates)
327
-     *
328
-     * @param  string $exp_time expire time
329
-     *
330
-     * @return boolean
331
-     */
332
-    public function clear_all_cache($exp_time = null)
333
-    {
334
-        return $this->clearCache(null, null, null, $exp_time);
335
-    }
336
-
337
-    /**
338
-     * test to see if valid cache exists for this template
339
-     *
340
-     * @param  string $tpl_file name of template file
341
-     * @param  string $cache_id
342
-     * @param  string $compile_id
343
-     *
344
-     * @return boolean
345
-     */
346
-    public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
347
-    {
348
-        return $this->isCached($tpl_file, $cache_id, $compile_id);
349
-    }
350
-
351
-    /**
352
-     * clear all the assigned template variables.
353
-     */
354
-    public function clear_all_assign()
355
-    {
356
-        $this->clearAllAssign();
357
-    }
358
-
359
-    /**
360
-     * clears compiled version of specified template resource,
361
-     * or all compiled template files if one is not specified.
362
-     * This function is for advanced use only, not normally needed.
363
-     *
364
-     * @param  string $tpl_file
365
-     * @param  string $compile_id
366
-     * @param  string $exp_time
367
-     *
368
-     * @return boolean results of {@link smarty_core_rm_auto()}
369
-     */
370
-    public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
371
-    {
372
-        return $this->clearCompiledTemplate($tpl_file, $compile_id, $exp_time);
373
-    }
374
-
375
-    /**
376
-     * Checks whether requested template exists.
377
-     *
378
-     * @param  string $tpl_file
379
-     *
380
-     * @return boolean
381
-     */
382
-    public function template_exists($tpl_file)
383
-    {
384
-        return $this->templateExists($tpl_file);
385
-    }
386
-
387
-    /**
388
-     * Returns an array containing template variables
389
-     *
390
-     * @param  string $name
391
-     *
392
-     * @return array
393
-     */
394
-    public function get_template_vars($name = null)
395
-    {
396
-        return $this->getTemplateVars($name);
397
-    }
398
-
399
-    /**
400
-     * Returns an array containing config variables
401
-     *
402
-     * @param  string $name
403
-     *
404
-     * @return array
405
-     */
406
-    public function get_config_vars($name = null)
407
-    {
408
-        return $this->getConfigVars($name);
409
-    }
410
-
411
-    /**
412
-     * load configuration values
413
-     *
414
-     * @param string $file
415
-     * @param string $section
416
-     * @param string $scope
417
-     */
418
-    public function config_load($file, $section = null, $scope = 'global')
419
-    {
420
-        $this->ConfigLoad($file, $section, $scope);
421
-    }
422
-
423
-    /**
424
-     * return a reference to a registered object
425
-     *
426
-     * @param  string $name
427
-     *
428
-     * @return object
429
-     */
430
-    public function get_registered_object($name)
431
-    {
432
-        return $this->getRegisteredObject($name);
433
-    }
434
-
435
-    /**
436
-     * clear configuration values
437
-     *
438
-     * @param string $var
439
-     */
440
-    public function clear_config($var = null)
441
-    {
442
-        $this->clearConfig($var);
443
-    }
444
-
445
-    /**
446
-     * trigger Smarty error
447
-     *
448
-     * @param string  $error_msg
449
-     * @param integer $error_type
450
-     */
451
-    public function trigger_error($error_msg, $error_type = E_USER_WARNING)
452
-    {
453
-        trigger_error("Smarty error: $error_msg", $error_type);
454
-    }
40
+	/**
41
+	 * Smarty 2 BC
42
+	 *
43
+	 * @var string
44
+	 */
45
+	public $_version = self::SMARTY_VERSION;
46
+
47
+	/**
48
+	 * This is an array of directories where trusted php scripts reside.
49
+	 *
50
+	 * @var array
51
+	 */
52
+	public $trusted_dir = array();
53
+
54
+	/**
55
+	 * Initialize new SmartyBC object
56
+	 *
57
+	 */
58
+	public function __construct()
59
+	{
60
+		parent::__construct();
61
+	}
62
+
63
+	/**
64
+	 * wrapper for assign_by_ref
65
+	 *
66
+	 * @param string $tpl_var the template variable name
67
+	 * @param mixed  &$value  the referenced value to assign
68
+	 */
69
+	public function assign_by_ref($tpl_var, &$value)
70
+	{
71
+		$this->assignByRef($tpl_var, $value);
72
+	}
73
+
74
+	/**
75
+	 * wrapper for append_by_ref
76
+	 *
77
+	 * @param string  $tpl_var the template variable name
78
+	 * @param mixed   &$value  the referenced value to append
79
+	 * @param boolean $merge   flag if array elements shall be merged
80
+	 */
81
+	public function append_by_ref($tpl_var, &$value, $merge = false)
82
+	{
83
+		$this->appendByRef($tpl_var, $value, $merge);
84
+	}
85
+
86
+	/**
87
+	 * clear the given assigned template variable.
88
+	 *
89
+	 * @param string $tpl_var the template variable to clear
90
+	 */
91
+	public function clear_assign($tpl_var)
92
+	{
93
+		$this->clearAssign($tpl_var);
94
+	}
95
+
96
+	/**
97
+	 * Registers custom function to be used in templates
98
+	 *
99
+	 * @param string $function      the name of the template function
100
+	 * @param string $function_impl the name of the PHP function to register
101
+	 * @param bool   $cacheable
102
+	 * @param mixed  $cache_attrs
103
+	 */
104
+	public function register_function($function, $function_impl, $cacheable = true, $cache_attrs = null)
105
+	{
106
+		$this->registerPlugin('function', $function, $function_impl, $cacheable, $cache_attrs);
107
+	}
108
+
109
+	/**
110
+	 * Unregister custom function
111
+	 *
112
+	 * @param string $function name of template function
113
+	 */
114
+	public function unregister_function($function)
115
+	{
116
+		$this->unregisterPlugin('function', $function);
117
+	}
118
+
119
+	/**
120
+	 * Registers object to be used in templates
121
+	 *
122
+	 * @param string  $object        name of template object
123
+	 * @param object  $object_impl   the referenced PHP object to register
124
+	 * @param array   $allowed       list of allowed methods (empty = all)
125
+	 * @param boolean $smarty_args   smarty argument format, else traditional
126
+	 * @param array   $block_methods list of methods that are block format
127
+	 *
128
+	 * @throws SmartyException
129
+	 * @internal param array $block_functs list of methods that are block format
130
+	 */
131
+	public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true,
132
+									$block_methods = array())
133
+	{
134
+		settype($allowed, 'array');
135
+		settype($smarty_args, 'boolean');
136
+		$this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
137
+	}
138
+
139
+	/**
140
+	 * Unregister object
141
+	 *
142
+	 * @param string $object name of template object
143
+	 */
144
+	public function unregister_object($object)
145
+	{
146
+		$this->unregisterObject($object);
147
+	}
148
+
149
+	/**
150
+	 * Registers block function to be used in templates
151
+	 *
152
+	 * @param string $block      name of template block
153
+	 * @param string $block_impl PHP function to register
154
+	 * @param bool   $cacheable
155
+	 * @param mixed  $cache_attrs
156
+	 */
157
+	public function register_block($block, $block_impl, $cacheable = true, $cache_attrs = null)
158
+	{
159
+		$this->registerPlugin('block', $block, $block_impl, $cacheable, $cache_attrs);
160
+	}
161
+
162
+	/**
163
+	 * Unregister block function
164
+	 *
165
+	 * @param string $block name of template function
166
+	 */
167
+	public function unregister_block($block)
168
+	{
169
+		$this->unregisterPlugin('block', $block);
170
+	}
171
+
172
+	/**
173
+	 * Registers compiler function
174
+	 *
175
+	 * @param string $function      name of template function
176
+	 * @param string $function_impl name of PHP function to register
177
+	 * @param bool   $cacheable
178
+	 */
179
+	public function register_compiler_function($function, $function_impl, $cacheable = true)
180
+	{
181
+		$this->registerPlugin('compiler', $function, $function_impl, $cacheable);
182
+	}
183
+
184
+	/**
185
+	 * Unregister compiler function
186
+	 *
187
+	 * @param string $function name of template function
188
+	 */
189
+	public function unregister_compiler_function($function)
190
+	{
191
+		$this->unregisterPlugin('compiler', $function);
192
+	}
193
+
194
+	/**
195
+	 * Registers modifier to be used in templates
196
+	 *
197
+	 * @param string $modifier      name of template modifier
198
+	 * @param string $modifier_impl name of PHP function to register
199
+	 */
200
+	public function register_modifier($modifier, $modifier_impl)
201
+	{
202
+		$this->registerPlugin('modifier', $modifier, $modifier_impl);
203
+	}
204
+
205
+	/**
206
+	 * Unregister modifier
207
+	 *
208
+	 * @param string $modifier name of template modifier
209
+	 */
210
+	public function unregister_modifier($modifier)
211
+	{
212
+		$this->unregisterPlugin('modifier', $modifier);
213
+	}
214
+
215
+	/**
216
+	 * Registers a resource to fetch a template
217
+	 *
218
+	 * @param string $type      name of resource
219
+	 * @param array  $functions array of functions to handle resource
220
+	 */
221
+	public function register_resource($type, $functions)
222
+	{
223
+		$this->registerResource($type, $functions);
224
+	}
225
+
226
+	/**
227
+	 * Unregister a resource
228
+	 *
229
+	 * @param string $type name of resource
230
+	 */
231
+	public function unregister_resource($type)
232
+	{
233
+		$this->unregisterResource($type);
234
+	}
235
+
236
+	/**
237
+	 * Registers a prefilter function to apply
238
+	 * to a template before compiling
239
+	 *
240
+	 * @param callable $function
241
+	 */
242
+	public function register_prefilter($function)
243
+	{
244
+		$this->registerFilter('pre', $function);
245
+	}
246
+
247
+	/**
248
+	 * Unregister a prefilter function
249
+	 *
250
+	 * @param callable $function
251
+	 */
252
+	public function unregister_prefilter($function)
253
+	{
254
+		$this->unregisterFilter('pre', $function);
255
+	}
256
+
257
+	/**
258
+	 * Registers a postfilter function to apply
259
+	 * to a compiled template after compilation
260
+	 *
261
+	 * @param callable $function
262
+	 */
263
+	public function register_postfilter($function)
264
+	{
265
+		$this->registerFilter('post', $function);
266
+	}
267
+
268
+	/**
269
+	 * Unregister a postfilter function
270
+	 *
271
+	 * @param callable $function
272
+	 */
273
+	public function unregister_postfilter($function)
274
+	{
275
+		$this->unregisterFilter('post', $function);
276
+	}
277
+
278
+	/**
279
+	 * Registers an output filter function to apply
280
+	 * to a template output
281
+	 *
282
+	 * @param callable $function
283
+	 */
284
+	public function register_outputfilter($function)
285
+	{
286
+		$this->registerFilter('output', $function);
287
+	}
288
+
289
+	/**
290
+	 * Unregister an outputfilter function
291
+	 *
292
+	 * @param callable $function
293
+	 */
294
+	public function unregister_outputfilter($function)
295
+	{
296
+		$this->unregisterFilter('output', $function);
297
+	}
298
+
299
+	/**
300
+	 * load a filter of specified type and name
301
+	 *
302
+	 * @param string $type filter type
303
+	 * @param string $name filter name
304
+	 */
305
+	public function load_filter($type, $name)
306
+	{
307
+		$this->loadFilter($type, $name);
308
+	}
309
+
310
+	/**
311
+	 * clear cached content for the given template and cache id
312
+	 *
313
+	 * @param  string $tpl_file   name of template file
314
+	 * @param  string $cache_id   name of cache_id
315
+	 * @param  string $compile_id name of compile_id
316
+	 * @param  string $exp_time   expiration time
317
+	 *
318
+	 * @return boolean
319
+	 */
320
+	public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
321
+	{
322
+		return $this->clearCache($tpl_file, $cache_id, $compile_id, $exp_time);
323
+	}
324
+
325
+	/**
326
+	 * clear the entire contents of cache (all templates)
327
+	 *
328
+	 * @param  string $exp_time expire time
329
+	 *
330
+	 * @return boolean
331
+	 */
332
+	public function clear_all_cache($exp_time = null)
333
+	{
334
+		return $this->clearCache(null, null, null, $exp_time);
335
+	}
336
+
337
+	/**
338
+	 * test to see if valid cache exists for this template
339
+	 *
340
+	 * @param  string $tpl_file name of template file
341
+	 * @param  string $cache_id
342
+	 * @param  string $compile_id
343
+	 *
344
+	 * @return boolean
345
+	 */
346
+	public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
347
+	{
348
+		return $this->isCached($tpl_file, $cache_id, $compile_id);
349
+	}
350
+
351
+	/**
352
+	 * clear all the assigned template variables.
353
+	 */
354
+	public function clear_all_assign()
355
+	{
356
+		$this->clearAllAssign();
357
+	}
358
+
359
+	/**
360
+	 * clears compiled version of specified template resource,
361
+	 * or all compiled template files if one is not specified.
362
+	 * This function is for advanced use only, not normally needed.
363
+	 *
364
+	 * @param  string $tpl_file
365
+	 * @param  string $compile_id
366
+	 * @param  string $exp_time
367
+	 *
368
+	 * @return boolean results of {@link smarty_core_rm_auto()}
369
+	 */
370
+	public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
371
+	{
372
+		return $this->clearCompiledTemplate($tpl_file, $compile_id, $exp_time);
373
+	}
374
+
375
+	/**
376
+	 * Checks whether requested template exists.
377
+	 *
378
+	 * @param  string $tpl_file
379
+	 *
380
+	 * @return boolean
381
+	 */
382
+	public function template_exists($tpl_file)
383
+	{
384
+		return $this->templateExists($tpl_file);
385
+	}
386
+
387
+	/**
388
+	 * Returns an array containing template variables
389
+	 *
390
+	 * @param  string $name
391
+	 *
392
+	 * @return array
393
+	 */
394
+	public function get_template_vars($name = null)
395
+	{
396
+		return $this->getTemplateVars($name);
397
+	}
398
+
399
+	/**
400
+	 * Returns an array containing config variables
401
+	 *
402
+	 * @param  string $name
403
+	 *
404
+	 * @return array
405
+	 */
406
+	public function get_config_vars($name = null)
407
+	{
408
+		return $this->getConfigVars($name);
409
+	}
410
+
411
+	/**
412
+	 * load configuration values
413
+	 *
414
+	 * @param string $file
415
+	 * @param string $section
416
+	 * @param string $scope
417
+	 */
418
+	public function config_load($file, $section = null, $scope = 'global')
419
+	{
420
+		$this->ConfigLoad($file, $section, $scope);
421
+	}
422
+
423
+	/**
424
+	 * return a reference to a registered object
425
+	 *
426
+	 * @param  string $name
427
+	 *
428
+	 * @return object
429
+	 */
430
+	public function get_registered_object($name)
431
+	{
432
+		return $this->getRegisteredObject($name);
433
+	}
434
+
435
+	/**
436
+	 * clear configuration values
437
+	 *
438
+	 * @param string $var
439
+	 */
440
+	public function clear_config($var = null)
441
+	{
442
+		$this->clearConfig($var);
443
+	}
444
+
445
+	/**
446
+	 * trigger Smarty error
447
+	 *
448
+	 * @param string  $error_msg
449
+	 * @param integer $error_type
450
+	 */
451
+	public function trigger_error($error_msg, $error_type = E_USER_WARNING)
452
+	{
453
+		trigger_error("Smarty error: $error_msg", $error_type);
454
+	}
455 455
 }
Please login to merge, or discard this patch.
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -315,7 +315,7 @@  discard block
 block discarded – undo
315 315
      * @param  string $compile_id name of compile_id
316 316
      * @param  string $exp_time   expiration time
317 317
      *
318
-     * @return boolean
318
+     * @return integer
319 319
      */
320 320
     public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
321 321
     {
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
      *
328 328
      * @param  string $exp_time expire time
329 329
      *
330
-     * @return boolean
330
+     * @return integer
331 331
      */
332 332
     public function clear_all_cache($exp_time = null)
333 333
     {
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
      * @param  string $compile_id
366 366
      * @param  string $exp_time
367 367
      *
368
-     * @return boolean results of {@link smarty_core_rm_auto()}
368
+     * @return integer results of {@link smarty_core_rm_auto()}
369 369
      */
370 370
     public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
371 371
     {
Please login to merge, or discard this patch.
libraries/Smarty/libs/Autoloader.php 2 patches
Indentation   +80 added lines, -80 removed lines patch added patch discarded remove patch
@@ -19,89 +19,89 @@
 block discarded – undo
19 19
  */
20 20
 class Smarty_Autoloader
21 21
 {
22
-    /**
23
-     * Filepath to Smarty root
24
-     *
25
-     * @var string
26
-     */
27
-    public static $SMARTY_DIR = '';
22
+	/**
23
+	 * Filepath to Smarty root
24
+	 *
25
+	 * @var string
26
+	 */
27
+	public static $SMARTY_DIR = '';
28 28
 
29
-    /**
30
-     * Filepath to Smarty internal plugins
31
-     *
32
-     * @var string
33
-     */
34
-    public static $SMARTY_SYSPLUGINS_DIR = '';
29
+	/**
30
+	 * Filepath to Smarty internal plugins
31
+	 *
32
+	 * @var string
33
+	 */
34
+	public static $SMARTY_SYSPLUGINS_DIR = '';
35 35
 
36
-    /**
37
-     * Array with Smarty core classes and their filename
38
-     *
39
-     * @var array
40
-     */
41
-    public static $rootClasses = array('smarty' => 'Smarty.class.php', 'smartybc' => 'SmartyBC.class.php',);
36
+	/**
37
+	 * Array with Smarty core classes and their filename
38
+	 *
39
+	 * @var array
40
+	 */
41
+	public static $rootClasses = array('smarty' => 'Smarty.class.php', 'smartybc' => 'SmartyBC.class.php',);
42 42
 
43
-    /**
44
-     * Registers Smarty_Autoloader backward compatible to older installations.
45
-     *
46
-     * @param bool $prepend Whether to prepend the autoloader or not.
47
-     */
48
-    public static function registerBC($prepend = false)
49
-    {
50
-        /**
51
-         * register the class autoloader
52
-         */
53
-        if (!defined('SMARTY_SPL_AUTOLOAD')) {
54
-            define('SMARTY_SPL_AUTOLOAD', 0);
55
-        }
56
-        if (SMARTY_SPL_AUTOLOAD &&
57
-            set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
58
-        ) {
59
-            $registeredAutoLoadFunctions = spl_autoload_functions();
60
-            if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
61
-                spl_autoload_register();
62
-            }
63
-        } else {
64
-            self::register($prepend);
65
-        }
66
-    }
43
+	/**
44
+	 * Registers Smarty_Autoloader backward compatible to older installations.
45
+	 *
46
+	 * @param bool $prepend Whether to prepend the autoloader or not.
47
+	 */
48
+	public static function registerBC($prepend = false)
49
+	{
50
+		/**
51
+		 * register the class autoloader
52
+		 */
53
+		if (!defined('SMARTY_SPL_AUTOLOAD')) {
54
+			define('SMARTY_SPL_AUTOLOAD', 0);
55
+		}
56
+		if (SMARTY_SPL_AUTOLOAD &&
57
+			set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
58
+		) {
59
+			$registeredAutoLoadFunctions = spl_autoload_functions();
60
+			if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
61
+				spl_autoload_register();
62
+			}
63
+		} else {
64
+			self::register($prepend);
65
+		}
66
+	}
67 67
 
68
-    /**
69
-     * Registers Smarty_Autoloader as an SPL autoloader.
70
-     *
71
-     * @param bool $prepend Whether to prepend the autoloader or not.
72
-     */
73
-    public static function register($prepend = false)
74
-    {
75
-        self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
76
-        self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
77
-            self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
78
-        if (version_compare(phpversion(), '5.3.0', '>=')) {
79
-            spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
80
-        } else {
81
-            spl_autoload_register(array(__CLASS__, 'autoload'));
82
-        }
83
-    }
68
+	/**
69
+	 * Registers Smarty_Autoloader as an SPL autoloader.
70
+	 *
71
+	 * @param bool $prepend Whether to prepend the autoloader or not.
72
+	 */
73
+	public static function register($prepend = false)
74
+	{
75
+		self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
76
+		self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
77
+			self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
78
+		if (version_compare(phpversion(), '5.3.0', '>=')) {
79
+			spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
80
+		} else {
81
+			spl_autoload_register(array(__CLASS__, 'autoload'));
82
+		}
83
+	}
84 84
 
85
-    /**
86
-     * Handles auto loading of classes.
87
-     *
88
-     * @param string $class A class name.
89
-     */
90
-    public static function autoload($class)
91
-    {
92
-        $_class = strtolower($class);
93
-        if (strpos($_class, 'smarty') !== 0) {
94
-            return;
95
-        }
96
-        $file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
97
-        if (is_file($file)) {
98
-            include $file;
99
-        } else if (isset(self::$rootClasses[ $_class ])) {
100
-            $file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
101
-            if (is_file($file)) {
102
-                include $file;
103
-            }
104
-        }
105
-        return;
106
-    }
85
+	/**
86
+	 * Handles auto loading of classes.
87
+	 *
88
+	 * @param string $class A class name.
89
+	 */
90
+	public static function autoload($class)
91
+	{
92
+		$_class = strtolower($class);
93
+		if (strpos($_class, 'smarty') !== 0) {
94
+			return;
95
+		}
96
+		$file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
97
+		if (is_file($file)) {
98
+			include $file;
99
+		} else if (isset(self::$rootClasses[ $_class ])) {
100
+			$file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
101
+			if (is_file($file)) {
102
+				include $file;
103
+			}
104
+		}
105
+		return;
106
+	}
107 107
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -5 removed lines patch added patch discarded remove patch
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
             set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false
58 58
         ) {
59 59
             $registeredAutoLoadFunctions = spl_autoload_functions();
60
-            if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) {
60
+            if (!isset($registeredAutoLoadFunctions['spl_autoload'])) {
61 61
                 spl_autoload_register();
62 62
             }
63 63
         } else {
@@ -73,8 +73,7 @@  discard block
 block discarded – undo
73 73
     public static function register($prepend = false)
74 74
     {
75 75
         self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR;
76
-        self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR :
77
-            self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
76
+        self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR : self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR;
78 77
         if (version_compare(phpversion(), '5.3.0', '>=')) {
79 78
             spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
80 79
         } else {
@@ -96,8 +95,8 @@  discard block
 block discarded – undo
96 95
         $file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php';
97 96
         if (is_file($file)) {
98 97
             include $file;
99
-        } else if (isset(self::$rootClasses[ $_class ])) {
100
-            $file = self::$SMARTY_DIR . self::$rootClasses[ $_class ];
98
+        } else if (isset(self::$rootClasses[$_class])) {
99
+            $file = self::$SMARTY_DIR . self::$rootClasses[$_class];
101 100
             if (is_file($file)) {
102 101
                 include $file;
103 102
             }
Please login to merge, or discard this patch.
libraries/Smarty/libs/plugins/modifiercompiler.noprint.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -17,5 +17,5 @@
 block discarded – undo
17 17
  */
18 18
 function smarty_modifiercompiler_noprint()
19 19
 {
20
-    return "''";
20
+	return "''";
21 21
 }
Please login to merge, or discard this patch.
libraries/Smarty/libs/plugins/modifiercompiler.strip.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -25,9 +25,9 @@
 block discarded – undo
25 25
 
26 26
 function smarty_modifiercompiler_strip($params)
27 27
 {
28
-    if (!isset($params[ 1 ])) {
29
-        $params[ 1 ] = "' '";
30
-    }
28
+	if (!isset($params[ 1 ])) {
29
+		$params[ 1 ] = "' '";
30
+	}
31 31
 
32
-    return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})";
32
+	return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})";
33 33
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -25,8 +25,8 @@
 block discarded – undo
25 25
 
26 26
 function smarty_modifiercompiler_strip($params)
27 27
 {
28
-    if (!isset($params[ 1 ])) {
29
-        $params[ 1 ] = "' '";
28
+    if (!isset($params[1])) {
29
+        $params[1] = "' '";
30 30
     }
31 31
 
32 32
     return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})";
Please login to merge, or discard this patch.
libraries/Smarty/libs/plugins/function.fetch.php 2 patches
Indentation   +194 added lines, -194 removed lines patch added patch discarded remove patch
@@ -24,198 +24,198 @@
 block discarded – undo
24 24
  */
25 25
 function smarty_function_fetch($params, $template)
26 26
 {
27
-    if (empty($params[ 'file' ])) {
28
-        trigger_error("[plugin] fetch parameter 'file' cannot be empty", E_USER_NOTICE);
29
-
30
-        return;
31
-    }
32
-
33
-    // strip file protocol
34
-    if (stripos($params[ 'file' ], 'file://') === 0) {
35
-        $params[ 'file' ] = substr($params[ 'file' ], 7);
36
-    }
37
-
38
-    $protocol = strpos($params[ 'file' ], '://');
39
-    if ($protocol !== false) {
40
-        $protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
41
-    }
42
-
43
-    if (isset($template->smarty->security_policy)) {
44
-        if ($protocol) {
45
-            // remote resource (or php stream, …)
46
-            if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
47
-                return;
48
-            }
49
-        } else {
50
-            // local file
51
-            if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
52
-                return;
53
-            }
54
-        }
55
-    }
56
-
57
-    $content = '';
58
-    if ($protocol == 'http') {
59
-        // http fetch
60
-        if ($uri_parts = parse_url($params[ 'file' ])) {
61
-            // set defaults
62
-            $host = $server_name = $uri_parts[ 'host' ];
63
-            $timeout = 30;
64
-            $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
65
-            $agent = "Smarty Template Engine " . Smarty::SMARTY_VERSION;
66
-            $referer = "";
67
-            $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
68
-            $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
69
-            $_is_proxy = false;
70
-            if (empty($uri_parts[ 'port' ])) {
71
-                $port = 80;
72
-            } else {
73
-                $port = $uri_parts[ 'port' ];
74
-            }
75
-            if (!empty($uri_parts[ 'user' ])) {
76
-                $user = $uri_parts[ 'user' ];
77
-            }
78
-            if (!empty($uri_parts[ 'pass' ])) {
79
-                $pass = $uri_parts[ 'pass' ];
80
-            }
81
-            // loop through parameters, setup headers
82
-            foreach ($params as $param_key => $param_value) {
83
-                switch ($param_key) {
84
-                    case "file":
85
-                    case "assign":
86
-                    case "assign_headers":
87
-                        break;
88
-                    case "user":
89
-                        if (!empty($param_value)) {
90
-                            $user = $param_value;
91
-                        }
92
-                        break;
93
-                    case "pass":
94
-                        if (!empty($param_value)) {
95
-                            $pass = $param_value;
96
-                        }
97
-                        break;
98
-                    case "accept":
99
-                        if (!empty($param_value)) {
100
-                            $accept = $param_value;
101
-                        }
102
-                        break;
103
-                    case "header":
104
-                        if (!empty($param_value)) {
105
-                            if (!preg_match('![\w\d-]+: .+!', $param_value)) {
106
-                                trigger_error("[plugin] invalid header format '" . $param_value . "'", E_USER_NOTICE);
107
-
108
-                                return;
109
-                            } else {
110
-                                $extra_headers[] = $param_value;
111
-                            }
112
-                        }
113
-                        break;
114
-                    case "proxy_host":
115
-                        if (!empty($param_value)) {
116
-                            $proxy_host = $param_value;
117
-                        }
118
-                        break;
119
-                    case "proxy_port":
120
-                        if (!preg_match('!\D!', $param_value)) {
121
-                            $proxy_port = (int) $param_value;
122
-                        } else {
123
-                            trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
124
-
125
-                            return;
126
-                        }
127
-                        break;
128
-                    case "agent":
129
-                        if (!empty($param_value)) {
130
-                            $agent = $param_value;
131
-                        }
132
-                        break;
133
-                    case "referer":
134
-                        if (!empty($param_value)) {
135
-                            $referer = $param_value;
136
-                        }
137
-                        break;
138
-                    case "timeout":
139
-                        if (!preg_match('!\D!', $param_value)) {
140
-                            $timeout = (int) $param_value;
141
-                        } else {
142
-                            trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
143
-
144
-                            return;
145
-                        }
146
-                        break;
147
-                    default:
148
-                        trigger_error("[plugin] unrecognized attribute '" . $param_key . "'", E_USER_NOTICE);
149
-
150
-                        return;
151
-                }
152
-            }
153
-            if (!empty($proxy_host) && !empty($proxy_port)) {
154
-                $_is_proxy = true;
155
-                $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout);
156
-            } else {
157
-                $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
158
-            }
159
-
160
-            if (!$fp) {
161
-                trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
162
-
163
-                return;
164
-            } else {
165
-                if ($_is_proxy) {
166
-                    fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
167
-                } else {
168
-                    fputs($fp, "GET $uri HTTP/1.0\r\n");
169
-                }
170
-                if (!empty($host)) {
171
-                    fputs($fp, "Host: $host\r\n");
172
-                }
173
-                if (!empty($accept)) {
174
-                    fputs($fp, "Accept: $accept\r\n");
175
-                }
176
-                if (!empty($agent)) {
177
-                    fputs($fp, "User-Agent: $agent\r\n");
178
-                }
179
-                if (!empty($referer)) {
180
-                    fputs($fp, "Referer: $referer\r\n");
181
-                }
182
-                if (isset($extra_headers) && is_array($extra_headers)) {
183
-                    foreach ($extra_headers as $curr_header) {
184
-                        fputs($fp, $curr_header . "\r\n");
185
-                    }
186
-                }
187
-                if (!empty($user) && !empty($pass)) {
188
-                    fputs($fp, "Authorization: BASIC " . base64_encode("$user:$pass") . "\r\n");
189
-                }
190
-
191
-                fputs($fp, "\r\n");
192
-                while (!feof($fp)) {
193
-                    $content .= fgets($fp, 4096);
194
-                }
195
-                fclose($fp);
196
-                $csplit = preg_split("!\r\n\r\n!", $content, 2);
197
-
198
-                $content = $csplit[ 1 ];
199
-
200
-                if (!empty($params[ 'assign_headers' ])) {
201
-                    $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
202
-                }
203
-            }
204
-        } else {
205
-            trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
206
-
207
-            return;
208
-        }
209
-    } else {
210
-        $content = @file_get_contents($params[ 'file' ]);
211
-        if ($content === false) {
212
-            throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
213
-        }
214
-    }
215
-
216
-    if (!empty($params[ 'assign' ])) {
217
-        $template->assign($params[ 'assign' ], $content);
218
-    } else {
219
-        return $content;
220
-    }
27
+	if (empty($params[ 'file' ])) {
28
+		trigger_error("[plugin] fetch parameter 'file' cannot be empty", E_USER_NOTICE);
29
+
30
+		return;
31
+	}
32
+
33
+	// strip file protocol
34
+	if (stripos($params[ 'file' ], 'file://') === 0) {
35
+		$params[ 'file' ] = substr($params[ 'file' ], 7);
36
+	}
37
+
38
+	$protocol = strpos($params[ 'file' ], '://');
39
+	if ($protocol !== false) {
40
+		$protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
41
+	}
42
+
43
+	if (isset($template->smarty->security_policy)) {
44
+		if ($protocol) {
45
+			// remote resource (or php stream, …)
46
+			if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
47
+				return;
48
+			}
49
+		} else {
50
+			// local file
51
+			if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
52
+				return;
53
+			}
54
+		}
55
+	}
56
+
57
+	$content = '';
58
+	if ($protocol == 'http') {
59
+		// http fetch
60
+		if ($uri_parts = parse_url($params[ 'file' ])) {
61
+			// set defaults
62
+			$host = $server_name = $uri_parts[ 'host' ];
63
+			$timeout = 30;
64
+			$accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
65
+			$agent = "Smarty Template Engine " . Smarty::SMARTY_VERSION;
66
+			$referer = "";
67
+			$uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
68
+			$uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
69
+			$_is_proxy = false;
70
+			if (empty($uri_parts[ 'port' ])) {
71
+				$port = 80;
72
+			} else {
73
+				$port = $uri_parts[ 'port' ];
74
+			}
75
+			if (!empty($uri_parts[ 'user' ])) {
76
+				$user = $uri_parts[ 'user' ];
77
+			}
78
+			if (!empty($uri_parts[ 'pass' ])) {
79
+				$pass = $uri_parts[ 'pass' ];
80
+			}
81
+			// loop through parameters, setup headers
82
+			foreach ($params as $param_key => $param_value) {
83
+				switch ($param_key) {
84
+					case "file":
85
+					case "assign":
86
+					case "assign_headers":
87
+						break;
88
+					case "user":
89
+						if (!empty($param_value)) {
90
+							$user = $param_value;
91
+						}
92
+						break;
93
+					case "pass":
94
+						if (!empty($param_value)) {
95
+							$pass = $param_value;
96
+						}
97
+						break;
98
+					case "accept":
99
+						if (!empty($param_value)) {
100
+							$accept = $param_value;
101
+						}
102
+						break;
103
+					case "header":
104
+						if (!empty($param_value)) {
105
+							if (!preg_match('![\w\d-]+: .+!', $param_value)) {
106
+								trigger_error("[plugin] invalid header format '" . $param_value . "'", E_USER_NOTICE);
107
+
108
+								return;
109
+							} else {
110
+								$extra_headers[] = $param_value;
111
+							}
112
+						}
113
+						break;
114
+					case "proxy_host":
115
+						if (!empty($param_value)) {
116
+							$proxy_host = $param_value;
117
+						}
118
+						break;
119
+					case "proxy_port":
120
+						if (!preg_match('!\D!', $param_value)) {
121
+							$proxy_port = (int) $param_value;
122
+						} else {
123
+							trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
124
+
125
+							return;
126
+						}
127
+						break;
128
+					case "agent":
129
+						if (!empty($param_value)) {
130
+							$agent = $param_value;
131
+						}
132
+						break;
133
+					case "referer":
134
+						if (!empty($param_value)) {
135
+							$referer = $param_value;
136
+						}
137
+						break;
138
+					case "timeout":
139
+						if (!preg_match('!\D!', $param_value)) {
140
+							$timeout = (int) $param_value;
141
+						} else {
142
+							trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
143
+
144
+							return;
145
+						}
146
+						break;
147
+					default:
148
+						trigger_error("[plugin] unrecognized attribute '" . $param_key . "'", E_USER_NOTICE);
149
+
150
+						return;
151
+				}
152
+			}
153
+			if (!empty($proxy_host) && !empty($proxy_port)) {
154
+				$_is_proxy = true;
155
+				$fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout);
156
+			} else {
157
+				$fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
158
+			}
159
+
160
+			if (!$fp) {
161
+				trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
162
+
163
+				return;
164
+			} else {
165
+				if ($_is_proxy) {
166
+					fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
167
+				} else {
168
+					fputs($fp, "GET $uri HTTP/1.0\r\n");
169
+				}
170
+				if (!empty($host)) {
171
+					fputs($fp, "Host: $host\r\n");
172
+				}
173
+				if (!empty($accept)) {
174
+					fputs($fp, "Accept: $accept\r\n");
175
+				}
176
+				if (!empty($agent)) {
177
+					fputs($fp, "User-Agent: $agent\r\n");
178
+				}
179
+				if (!empty($referer)) {
180
+					fputs($fp, "Referer: $referer\r\n");
181
+				}
182
+				if (isset($extra_headers) && is_array($extra_headers)) {
183
+					foreach ($extra_headers as $curr_header) {
184
+						fputs($fp, $curr_header . "\r\n");
185
+					}
186
+				}
187
+				if (!empty($user) && !empty($pass)) {
188
+					fputs($fp, "Authorization: BASIC " . base64_encode("$user:$pass") . "\r\n");
189
+				}
190
+
191
+				fputs($fp, "\r\n");
192
+				while (!feof($fp)) {
193
+					$content .= fgets($fp, 4096);
194
+				}
195
+				fclose($fp);
196
+				$csplit = preg_split("!\r\n\r\n!", $content, 2);
197
+
198
+				$content = $csplit[ 1 ];
199
+
200
+				if (!empty($params[ 'assign_headers' ])) {
201
+					$template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
202
+				}
203
+			}
204
+		} else {
205
+			trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
206
+
207
+			return;
208
+		}
209
+	} else {
210
+		$content = @file_get_contents($params[ 'file' ]);
211
+		if ($content === false) {
212
+			throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
213
+		}
214
+	}
215
+
216
+	if (!empty($params[ 'assign' ])) {
217
+		$template->assign($params[ 'assign' ], $content);
218
+	} else {
219
+		return $content;
220
+	}
221 221
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -24,31 +24,31 @@  discard block
 block discarded – undo
24 24
  */
25 25
 function smarty_function_fetch($params, $template)
26 26
 {
27
-    if (empty($params[ 'file' ])) {
27
+    if (empty($params['file'])) {
28 28
         trigger_error("[plugin] fetch parameter 'file' cannot be empty", E_USER_NOTICE);
29 29
 
30 30
         return;
31 31
     }
32 32
 
33 33
     // strip file protocol
34
-    if (stripos($params[ 'file' ], 'file://') === 0) {
35
-        $params[ 'file' ] = substr($params[ 'file' ], 7);
34
+    if (stripos($params['file'], 'file://') === 0) {
35
+        $params['file'] = substr($params['file'], 7);
36 36
     }
37 37
 
38
-    $protocol = strpos($params[ 'file' ], '://');
38
+    $protocol = strpos($params['file'], '://');
39 39
     if ($protocol !== false) {
40
-        $protocol = strtolower(substr($params[ 'file' ], 0, $protocol));
40
+        $protocol = strtolower(substr($params['file'], 0, $protocol));
41 41
     }
42 42
 
43 43
     if (isset($template->smarty->security_policy)) {
44 44
         if ($protocol) {
45 45
             // remote resource (or php stream, …)
46
-            if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) {
46
+            if (!$template->smarty->security_policy->isTrustedUri($params['file'])) {
47 47
                 return;
48 48
             }
49 49
         } else {
50 50
             // local file
51
-            if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) {
51
+            if (!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) {
52 52
                 return;
53 53
             }
54 54
         }
@@ -57,26 +57,26 @@  discard block
 block discarded – undo
57 57
     $content = '';
58 58
     if ($protocol == 'http') {
59 59
         // http fetch
60
-        if ($uri_parts = parse_url($params[ 'file' ])) {
60
+        if ($uri_parts = parse_url($params['file'])) {
61 61
             // set defaults
62
-            $host = $server_name = $uri_parts[ 'host' ];
62
+            $host = $server_name = $uri_parts['host'];
63 63
             $timeout = 30;
64 64
             $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
65 65
             $agent = "Smarty Template Engine " . Smarty::SMARTY_VERSION;
66 66
             $referer = "";
67
-            $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/';
68
-            $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : '';
67
+            $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/';
68
+            $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : '';
69 69
             $_is_proxy = false;
70
-            if (empty($uri_parts[ 'port' ])) {
70
+            if (empty($uri_parts['port'])) {
71 71
                 $port = 80;
72 72
             } else {
73
-                $port = $uri_parts[ 'port' ];
73
+                $port = $uri_parts['port'];
74 74
             }
75
-            if (!empty($uri_parts[ 'user' ])) {
76
-                $user = $uri_parts[ 'user' ];
75
+            if (!empty($uri_parts['user'])) {
76
+                $user = $uri_parts['user'];
77 77
             }
78
-            if (!empty($uri_parts[ 'pass' ])) {
79
-                $pass = $uri_parts[ 'pass' ];
78
+            if (!empty($uri_parts['pass'])) {
79
+                $pass = $uri_parts['pass'];
80 80
             }
81 81
             // loop through parameters, setup headers
82 82
             foreach ($params as $param_key => $param_value) {
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
                 return;
164 164
             } else {
165 165
                 if ($_is_proxy) {
166
-                    fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n");
166
+                    fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n");
167 167
                 } else {
168 168
                     fputs($fp, "GET $uri HTTP/1.0\r\n");
169 169
                 }
@@ -195,10 +195,10 @@  discard block
 block discarded – undo
195 195
                 fclose($fp);
196 196
                 $csplit = preg_split("!\r\n\r\n!", $content, 2);
197 197
 
198
-                $content = $csplit[ 1 ];
198
+                $content = $csplit[1];
199 199
 
200
-                if (!empty($params[ 'assign_headers' ])) {
201
-                    $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ]));
200
+                if (!empty($params['assign_headers'])) {
201
+                    $template->assign($params['assign_headers'], preg_split("!\r\n!", $csplit[0]));
202 202
                 }
203 203
             }
204 204
         } else {
@@ -207,14 +207,14 @@  discard block
 block discarded – undo
207 207
             return;
208 208
         }
209 209
     } else {
210
-        $content = @file_get_contents($params[ 'file' ]);
210
+        $content = @file_get_contents($params['file']);
211 211
         if ($content === false) {
212
-            throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'");
212
+            throw new SmartyException("{fetch} cannot read resource '" . $params['file'] . "'");
213 213
         }
214 214
     }
215 215
 
216
-    if (!empty($params[ 'assign' ])) {
217
-        $template->assign($params[ 'assign' ], $content);
216
+    if (!empty($params['assign'])) {
217
+        $template->assign($params['assign'], $content);
218 218
     } else {
219 219
         return $content;
220 220
     }
Please login to merge, or discard this patch.