XoopsModules25x /
mylinks
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | /** |
||
| 4 | * mylinks Utility Class Elements |
||
| 5 | * |
||
| 6 | * @copyright :: ZySpec Incorporated |
||
| 7 | * @license :: {@link http://www.gnu.org/licenses/gpl-2.0.html GNU Public License} |
||
| 8 | * @package :: mylinks |
||
| 9 | * @subpackage:: class |
||
| 10 | * @author :: zyspec ([email protected]) |
||
| 11 | */ |
||
| 12 | |||
| 13 | defined('XOOPS_ROOT_PATH') or die('Restricted access'); |
||
| 14 | |||
| 15 | /** |
||
| 16 | * MylinksUtility |
||
| 17 | * |
||
| 18 | * @package :: mylinks |
||
| 19 | * @author :: zyspec ([email protected]), Herve Thouzard |
||
| 20 | * @copyright :: {@link http://xoops.org/ XOOPS Project} |
||
| 21 | * @copyright :: Copyright (c) 2010 ZySpec Incorporated, Herve Thouzard |
||
| 22 | * @access:: public |
||
| 23 | */ |
||
| 24 | class MylinksUtility |
||
| 25 | { |
||
| 26 | /** |
||
| 27 | * Sanitize input variables |
||
| 28 | * @param string $global the input array ($_REQUEST, $_GET, $_POST) |
||
| 29 | * @param unknown_type $key the array key for variable to clean |
||
| 30 | * @param string|unknown_type $default the default value to use if filter fails |
||
| 31 | * @param string $type the variable type (string, email, url, int) |
||
| 32 | * @param array $limit 'min' 'max' keys - the lower/upper limit for integer values |
||
| 33 | * @return Ambigous|number <boolean, unknown> |
||
| 34 | */ |
||
| 35 | public static function mylinks_cleanVars(&$global, $key, $default = '', $type = 'int', $limit = null) |
||
| 36 | { |
||
| 37 | switch ($type) { |
||
| 38 | case 'string': |
||
| 39 | $ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_MAGIC_QUOTES) : $default; |
||
| 40 | break; |
||
| 41 | case 'email': |
||
| 42 | $ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_EMAIL) : $default; |
||
| 43 | break; |
||
| 44 | case 'url': |
||
| 45 | $ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_URL) : $default; |
||
| 46 | break; |
||
| 47 | case 'int': |
||
| 48 | default: |
||
| 49 | $default = (int)$default; |
||
| 50 | $ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_NUMBER_INT) : false; |
||
| 51 | if (isset($limit) && is_array($limit) && (false !== $ret)) { |
||
| 52 | View Code Duplication | if (array_key_exists('min', $limit)) { |
|
| 53 | $ret = ($ret >= $limit['min']) ? $ret : false; |
||
| 54 | } |
||
| 55 | View Code Duplication | if (array_key_exists('max', $limit)) { |
|
| 56 | $ret = ($ret <= $limit['max']) ? $ret : false; |
||
| 57 | } |
||
| 58 | } |
||
| 59 | break; |
||
| 60 | } |
||
| 61 | $ret = ($ret === false) ? $default : $ret; |
||
| 62 | |||
| 63 | return $ret; |
||
| 64 | } |
||
| 65 | |||
| 66 | /** |
||
| 67 | * |
||
| 68 | * Temporary patch for errorHandler processing |
||
| 69 | * @deprecated |
||
| 70 | * @param string $msg message to display |
||
| 71 | * @param int $pages number of pages to jump back for link |
||
| 72 | * @param string $type error||info to add errorMsg CSS to display |
||
| 73 | * @return null |
||
| 74 | */ |
||
| 75 | public static function show_message($msg, $pages = 1, $type = 'error') |
||
| 76 | { |
||
| 77 | switch (mb_strtolower($type)) { |
||
| 78 | case 'error': |
||
| 79 | $div_class = "class='errorMsg'"; |
||
| 80 | break; |
||
| 81 | case 'info': |
||
| 82 | $div_class = ''; |
||
| 83 | break; |
||
| 84 | } |
||
| 85 | include_once XOOPS_ROOT_PATH . '/header.php'; |
||
| 86 | echo "<div{$div_class}><strong>{$xoopsConfig['sitename']} Error</strong><br><br>\n" . "Error Code: {$e_code}<br><br><br>\n" . "<strong>ERROR:</strong> {$msg}<br>\n"; |
||
|
0 ignored issues
–
show
The variable
$xoopsConfig does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. Loading history...
|
|||
| 87 | $pages = (int)$pages; |
||
| 88 | if (0 != $pages) { |
||
| 89 | $pages = '-' . abs($pages); |
||
| 90 | echo "<br><br>\n" . "[ <a href=\'javascript:history.go(-{$pages})\'>" . _BACK . '</a> ]</div>'; |
||
| 91 | } |
||
| 92 | include_once XOOPS_ROOT_PATH . '/footer.php'; |
||
| 93 | |||
| 94 | return; |
||
| 95 | } |
||
| 96 | } |
||
| 97 |
If you define a variable conditionally, it can happen that it is not defined for all execution paths.
Let’s take a look at an example:
In the above example, the variable $x is defined if you pass “foo” or “bar” as argument for $a. However, since the switch statement has no default case statement, if you pass any other value, the variable $x would be undefined.
Available Fixes
Check for existence of the variable explicitly:
Define a default value for the variable:
Add a value for the missing path: