Quote Originally Posted by DrByte View Post
Design75 ... do you mind if I challenge that?

I'm thinking that code change is redundant. Can you help me understand what I'm missing?
Note the things I've highlighted below, as I think your suggested code change is duplicating what's already in that function's logic:

Code:
  function zen_get_all_get_params($exclude_array = array(), $search_engine_safe = true) {
    if (!is_array($exclude_array)) $exclude_array = array();
    $exclude_array = array_merge($exclude_array, array(zen_session_name(), 'main_page', 'error', 'x', 'y'));
    $get_url = '';
    if (is_array($_GET) && (sizeof($_GET) > 0)) {
      reset($_GET);
      while (list($key, $value) = each($_GET)) {
// bof dynamic filter 1 of 1
        if ( (!in_array($key, $exclude_array)) && (is_string($value) && strlen($value) > 0 || is_array($value) && array_filter($value) ) && ($key != 'main_page') && ($key != zen_session_name()) && ($key != 'error') && ($key != 'x') && ($key != 'y') ) {
// eof dynamic filter 1 of 1
          if (!is_array($value)) {
            if (strlen($value) > 0) {
              $get_url .= zen_sanitize_string($key) . '=' . rawurlencode(stripslashes($value)) . '&';
            }
          } else {
            foreach(array_filter($value) as $arr){
              $get_url .= zen_sanitize_string($key) . '[]=' . rawurlencode(stripslashes($arr)) . '&';
            }
          }
        }
      }
    }
    while (strstr($get_url, '&&')) $get_url = str_replace('&&', '&', $get_url);
    while (strstr($get_url, '&&')) $get_url = str_replace('&&', '&', $get_url);

    return $get_url;
  }
My point is really: if no changes are needed, then it's better not to touch the file.
I must admit I do not fully understand the code , but just compared old 1.5.1 and new 1.5.4 vanilla files end the code from the mod.
This was the line that was left after comparing, but is you say it is not needed, (and after some better reading of that code block) I agree it seems unnecessary.
I am going to test it right now, and will report back.