Can anyone explain the following PHP Code ?

```
function get_param($param_name, $param_type = 0)
    {
      global $HTTP_POST_VARS, $HTTP_GET_VARS;

      $param_value = "";
        if (isset($_POST)) {
          if (isset($_POST[$param_name]) && $param_type != GET)
          $param_value = $_POST[$param_name];
          elseif (isset($_GET[$param_name]) && $param_type != POST)
          $param_value = $_GET[$param_name];
        } else {
          if (isset($HTTP_POST_VARS[$param_name]) && $param_type != GET)
          $param_value = $HTTP_POST_VARS[$param_name];
          elseif (isset($HTTP_GET_VARS[$param_name]) && $param_type != POST)
          $param_value = $HTTP_GET_VARS[$param_name];
        }

        return strip($param_value);
    }

function strip($value)
    {
        if (get_magic_quotes_gpc() == 0) {
            return $value;
        } else {
            return stripslashes($value);
        }
    }

```

---

**UPDATE**

It is used like this: 

```
$xml = get_param('xml');

```