$value) { if (in_array($name, ['option', 'Itemid', 'start', 'format', 'limitstart', 'no_html', 'val', 'key', 'acyformname', 'id', 'tmpl', 'lang', 'limit'])) { continue; } if ($ctrl == 'user' && $name == 'id') { continue; } $segments[] = $name.':'.$value; unset($query[$name]); } return $segments; } function AcymParseRoute($segments) { $vars = []; if (empty($segments)) { return $vars; } $i = 0; foreach ($segments as $name) { if (strpos($name, ':')) { list($arg, $val) = explode(':', $name); if (is_numeric($arg)) { $vars['Itemid'] = $arg; } else { $vars[$arg] = $val; } } else { $i++; if ($i == 1) { $vars['ctrl'] = $name; } elseif ($i == 2) { $vars['task'] = $name; } } } if (empty($vars['ctrl']) && (!empty($vars['listid']) || !empty($vars['id']))) { $vars['ctrl'] = 'archive'; if (!empty($vars['id'])) { $vars['task'] = 'view'; } } return $vars; }