[Changed URL generation Tijmen de Mes **20240209181906 Ignore-this: 8b32de293255aff223fedc6e331af5dfcd5873457434d031d94e1a019dde503b700909db1ac53e84 ] hunk ./library/NGNPro/Records/EnumMappings.php 229 + $base_url_data = array( + 'service' => $this->SoapEngine->service, + 'number_filter' => $number->id->number, + 'tld_filter' => $number->id->tld + ); + hunk ./library/NGNPro/Records/EnumMappings.php 254 - if (preg_match("/^sip:(.*)$/",$_mapping->mapto, $m) && $this->sip_settings_page) { - $url=sprintf('%s?account=%s&reseller=%s&sip_engine=%s', - $this->sip_settings_page,urlencode($m[1]), $number->reseller,$sip_engine); - - if ($this->adminonly) $url .= sprintf('&adminonly=%s',$this->adminonly); + if (preg_match("/^sip:(.*)$/", $_mapping->mapto, $m) && $this->sip_settings_page) { + $mapto_url_data = array( + 'account' => $m[1], + 'reseller' => $number->reseller, + 'sip_engine' => $sip_engine + ); + + if ($this->adminonly) { + $mapto_url_data['adminonly'] = $this->adminonly; + } hunk ./library/NGNPro/Records/EnumMappings.php 267 - $url .= sprintf('&%s=%s',$element,urlencode($this->SoapEngine->extraFormElements[$element])); + + $mapto_url_data[$element] = $this->SoapEngine->extraFormElements[$element]; hunk ./library/NGNPro/Records/EnumMappings.php 271 - $mapto=sprintf(" - - sip:%s",$url,$m[1]); + $mapto = sprintf( + " + sip:%s", + $this->sip_settings_page, + http_build_query($mapto_url_data), + $m[1] + ); hunk ./library/NGNPro/Records/EnumMappings.php 283 - $_url = $this->url.sprintf("&service=%s&action=Delete&number_filter=%s&tld_filter=%s&mapto_filter=%s", - urlencode($this->SoapEngine->service), - urlencode($number->id->number), - urlencode($number->id->tld), - urlencode($_mapping->mapto) + $delete_url_data = array_merge( + $base_url_data, + array( + 'action' => 'Delete', + 'mapto_filter' => $_mapping->mapto + ) hunk ./library/NGNPro/Records/EnumMappings.php 291 - if ($this->adminonly) $_url.= sprintf ("&reseller_filter=%s",$number->reseller); - - if ($_REQUEST['action'] == 'Delete' && - $_REQUEST['number_filter'] == $number->id->number && - $_REQUEST['tld_filter'] == $number->id->tld && - $_REQUEST['mapto_filter'] == $_mapping->mapto) { - $_url .= "&confirm=1"; + if ($_REQUEST['action'] == 'Delete' + && $_REQUEST['number_filter'] == $number->id->number + && $_REQUEST['tld_filter'] == $number->id->tld + && $_REQUEST['mapto_filter'] == $_mapping->mapto + ) { + $delete_url_data['confirm'] = 1; hunk ./library/NGNPro/Records/EnumMappings.php 302 + $_url = sprintf( + "%s&%s", + $this->url, + http_build_query($delete_url_data) + ); hunk ./library/NGNPro/Records/EnumMappings.php 308 - - $_number_url = $this->url.sprintf("&service=%s&number_filter=%s&tld_filter=%s", - urlencode($this->SoapEngine->service), - urlencode($number->id->number), - urlencode($number->id->tld) + $number_url_data = $base_url_data; + + if ($this->adminonly) $_number_url_data['reseller_filter'] = $number->reseller; + + $_number_url = sprintf( + "%s&%s", + $this->url, + http_build_query($number_url_data) hunk ./library/NGNPro/Records/EnumMappings.php 318 - if ($this->adminonly) $_number_url.= sprintf ("&reseller_filter=%s",$number->reseller); - - $_customer_url = $this->url.sprintf("&service=customers@%s&customer_filter=%s", - urlencode($this->SoapEngine->customer_engine), - urlencode($number->customer) + $_customer_url = sprintf( + 's&%s', + $this->url, + http_build_query( + array( + 'service' => sprintf('customers@%s', $this->SoapEngine->customer_engine), + 'customer_filter' => $number->customer + ) + ) hunk ./library/NGNPro/Records/EnumMappings.php 330 - $_owner_url = sprintf - ("%s", + $_owner_url = sprintf( + '%s', + $this->url, + http_build_query( + array( + 'service' => sprintf('customers@%s', $this->SoapEngine->customer_engine), + 'customer_filter' => $number->owner + ) + ), + $number->owner + ); + } else { + $_owner_url=''; + } + + printf( + " + + %s + %s.%s + +%s + %s + %s + %s + %s + %s + %s + %s + %s + %s + + ", + $index, + $_customer_url, + $number->customer, + $number->reseller, + $_number_url, + $number->id->number, + $number->id->tld, + $number->info, + $_owner_url, + ucfirst($_mapping->type), + $_mapping->id, + $mapto, + $_mapping->ttl, + $number->changeDate, + $_url, + $actionText + ); + } else { + printf( + " + + + + + + + + %s + %s + %s + %s + %s + %s + ", + ucfirst($_mapping->type), + $_mapping->id, + $mapto, + $_mapping->ttl, + $number->changeDate, + $_url, + $actionText + ); + } + $j++; + } + + if (!is_array($number->mappings) || !count($number->mappings)) { + $delete_url_data = array_merge( + $base_url_data, + array( + 'action' => 'Delete', + 'mapto_filter' => $_mapping->mapto + ) + ); + + if ($_REQUEST['action'] == 'Delete' + && $_REQUEST['number_filter'] == $number->id->number + && $_REQUEST['tld_filter'] == $number->id->tld + && $_REQUEST['mapto_filter'] == $_mapping->mapto + ) { + $delete_url_data['confirm'] = 1; + $actionText = "Confirm"; + } else { + $actionText = "Delete"; + } + + $_url = sprintf( + "%s&%s", + $this->url, + http_build_query($delete_url_data) + ); + + $number_url_data = $base_url_data; + + if ($this->adminonly) $_number_url_data['reseller_filter'] = $number->reseller; + + $_number_url = sprintf( + "%s&%s", + $this->url, + http_build_query($number_url_data) + ); + + $_customer_url = sprintf( + 's&%s', + $this->url, + http_build_query( + array( + 'service' => sprintf('customers@%s', $this->SoapEngine->customer_engine), + 'customer_filter' => $number->customer + ) + ) + ); + + if ($number->owner) { + $_owner_url = sprintf( + '%s', hunk ./library/NGNPro/Records/EnumMappings.php 459 - urlencode($this->SoapEngine->soapEngine), - urlencode($number->owner), + http_build_query( + array( + 'service' => sprintf('customers@%s', $this->SoapEngine->customer_engine), + 'customer_filter' => $number->owner + ) + ), hunk ./library/NGNPro/Records/EnumMappings.php 466 - ); - } else { - $_owner_url=''; - } - - printf(" + ); + } else { + $_owner_url=''; + } + + printf( + " hunk ./library/NGNPro/Records/EnumMappings.php 480 + + + hunk ./library/NGNPro/Records/EnumMappings.php 484 - %s - %s - %s - %s hunk ./library/NGNPro/Records/EnumMappings.php 485 - ", + + ", hunk ./library/NGNPro/Records/EnumMappings.php 496 - ucfirst($_mapping->type), - $_mapping->id, - $mapto, - $_mapping->ttl, hunk ./library/NGNPro/Records/EnumMappings.php 499 - ); - } else { - printf(" - - - - - - - - %s - %s - %s - %s - %s - %s - ", - ucfirst($_mapping->type), - $_mapping->id, - $mapto, - $_mapping->ttl, - $number->changeDate, - $_url, - $actionText - ); - } - $j++; - } - - if (!is_array($number->mappings) || !count($number->mappings)) { - $_url = $this->url.sprintf("&service=%s&action=Delete&number_filter=%s&tld_filter=%s", - urlencode($this->SoapEngine->service), - urlencode($number->id->number), - urlencode($number->id->tld), - urlencode($_mapping->mapto) hunk ./library/NGNPro/Records/EnumMappings.php 500 - - if ($this->adminonly) $_url.= sprintf ("&reseller_filter=%s",$number->reseller); - - if ($_REQUEST['action'] == 'Delete' && - $_REQUEST['number_filter'] == $number->id->number && - $_REQUEST['tld_filter'] == $number->id->tld && - $_REQUEST['mapto_filter'] == $_mapping->mapto) { - $_url .= "&confirm=1"; - $actionText = "Confirm"; - } else { - $actionText = "Delete"; - } - - $_number_url = $this->url.sprintf("&service=%s&number_filter=%s&tld_filter=%s", - urlencode($this->SoapEngine->service), - urlencode($number->id->number), - urlencode($number->id->tld) - ); - - if ($this->adminonly) $_number_url.= sprintf ("&reseller_filter=%s",$number->reseller); - - $_customer_url = $this->url.sprintf("&service=customers@%s&customer_filter=%s", - urlencode($this->SoapEngine->customer_engine), - urlencode($number->customer) - ); - - if ($number->owner) { - $_owner_url = sprintf - ("%s", - $this->url, - urlencode($this->SoapEngine->soapEngine), - urlencode($number->owner), - $number->owner - ); - } else { - $_owner_url=''; - } - - printf(" - - %s - %s.%s - +%s - %s - %s - %s - - - - %s - %s - ", - $index, - $_customer_url, - $number->customer, - $number->reseller, - $_number_url, - $number->id->number, - $number->id->tld, - $number->info, - $_owner_url, - $number->changeDate, - $_url, - $actionText - ); hunk ./library/NGNPro/Records/EnumMappings.php 507 - hunk ./library/NGNPro/Records/EnumMappings.php 508 -