Edit File by line
/home/zeestwma/richards.../wp-inclu.../Requests/src
File: Iri.php
$position = $strlen - 1;
[500] Fix | Delete
$valid = false;
[501] Fix | Delete
}
[502] Fix | Delete
}
[503] Fix | Delete
[504] Fix | Delete
// Percent encode anything invalid or not in ucschar
[505] Fix | Delete
if (
[506] Fix | Delete
// Invalid sequences
[507] Fix | Delete
!$valid
[508] Fix | Delete
// Non-shortest form sequences are invalid
[509] Fix | Delete
|| $length > 1 && $character <= 0x7F
[510] Fix | Delete
|| $length > 2 && $character <= 0x7FF
[511] Fix | Delete
|| $length > 3 && $character <= 0xFFFF
[512] Fix | Delete
// Outside of range of ucschar codepoints
[513] Fix | Delete
// Noncharacters
[514] Fix | Delete
|| ($character & 0xFFFE) === 0xFFFE
[515] Fix | Delete
|| $character >= 0xFDD0 && $character <= 0xFDEF
[516] Fix | Delete
|| (
[517] Fix | Delete
// Everything else not in ucschar
[518] Fix | Delete
$character > 0xD7FF && $character < 0xF900
[519] Fix | Delete
|| $character < 0xA0
[520] Fix | Delete
|| $character > 0xEFFFD
[521] Fix | Delete
)
[522] Fix | Delete
&& (
[523] Fix | Delete
// Everything not in iprivate, if it applies
[524] Fix | Delete
!$iprivate
[525] Fix | Delete
|| $character < 0xE000
[526] Fix | Delete
|| $character > 0x10FFFD
[527] Fix | Delete
)
[528] Fix | Delete
) {
[529] Fix | Delete
// If we were a character, pretend we weren't, but rather an error.
[530] Fix | Delete
if ($valid) {
[531] Fix | Delete
$position--;
[532] Fix | Delete
}
[533] Fix | Delete
[534] Fix | Delete
for ($j = $start; $j <= $position; $j++) {
[535] Fix | Delete
$text = substr_replace($text, sprintf('%%%02X', ord($text[$j])), $j, 1);
[536] Fix | Delete
$j += 2;
[537] Fix | Delete
$position += 2;
[538] Fix | Delete
$strlen += 2;
[539] Fix | Delete
}
[540] Fix | Delete
}
[541] Fix | Delete
}
[542] Fix | Delete
[543] Fix | Delete
return $text;
[544] Fix | Delete
}
[545] Fix | Delete
[546] Fix | Delete
/**
[547] Fix | Delete
* Callback function for preg_replace_callback.
[548] Fix | Delete
*
[549] Fix | Delete
* Removes sequences of percent encoded bytes that represent UTF-8
[550] Fix | Delete
* encoded characters in iunreserved
[551] Fix | Delete
*
[552] Fix | Delete
* @param array $regex_match PCRE match
[553] Fix | Delete
* @return string Replacement
[554] Fix | Delete
*/
[555] Fix | Delete
protected function remove_iunreserved_percent_encoded($regex_match) {
[556] Fix | Delete
// As we just have valid percent encoded sequences we can just explode
[557] Fix | Delete
// and ignore the first member of the returned array (an empty string).
[558] Fix | Delete
$bytes = explode('%', $regex_match[0]);
[559] Fix | Delete
[560] Fix | Delete
// Initialize the new string (this is what will be returned) and that
[561] Fix | Delete
// there are no bytes remaining in the current sequence (unsurprising
[562] Fix | Delete
// at the first byte!).
[563] Fix | Delete
$string = '';
[564] Fix | Delete
$remaining = 0;
[565] Fix | Delete
[566] Fix | Delete
// Loop over each and every byte, and set $value to its value
[567] Fix | Delete
for ($i = 1, $len = count($bytes); $i < $len; $i++) {
[568] Fix | Delete
$value = hexdec($bytes[$i]);
[569] Fix | Delete
[570] Fix | Delete
// If we're the first byte of sequence:
[571] Fix | Delete
if (!$remaining) {
[572] Fix | Delete
// Start position
[573] Fix | Delete
$start = $i;
[574] Fix | Delete
[575] Fix | Delete
// By default we are valid
[576] Fix | Delete
$valid = true;
[577] Fix | Delete
[578] Fix | Delete
// One byte sequence:
[579] Fix | Delete
if ($value <= 0x7F) {
[580] Fix | Delete
$character = $value;
[581] Fix | Delete
$length = 1;
[582] Fix | Delete
}
[583] Fix | Delete
// Two byte sequence:
[584] Fix | Delete
elseif (($value & 0xE0) === 0xC0) {
[585] Fix | Delete
$character = ($value & 0x1F) << 6;
[586] Fix | Delete
$length = 2;
[587] Fix | Delete
$remaining = 1;
[588] Fix | Delete
}
[589] Fix | Delete
// Three byte sequence:
[590] Fix | Delete
elseif (($value & 0xF0) === 0xE0) {
[591] Fix | Delete
$character = ($value & 0x0F) << 12;
[592] Fix | Delete
$length = 3;
[593] Fix | Delete
$remaining = 2;
[594] Fix | Delete
}
[595] Fix | Delete
// Four byte sequence:
[596] Fix | Delete
elseif (($value & 0xF8) === 0xF0) {
[597] Fix | Delete
$character = ($value & 0x07) << 18;
[598] Fix | Delete
$length = 4;
[599] Fix | Delete
$remaining = 3;
[600] Fix | Delete
}
[601] Fix | Delete
// Invalid byte:
[602] Fix | Delete
else {
[603] Fix | Delete
$valid = false;
[604] Fix | Delete
$remaining = 0;
[605] Fix | Delete
}
[606] Fix | Delete
}
[607] Fix | Delete
// Continuation byte:
[608] Fix | Delete
else {
[609] Fix | Delete
// Check that the byte is valid, then add it to the character:
[610] Fix | Delete
if (($value & 0xC0) === 0x80) {
[611] Fix | Delete
$remaining--;
[612] Fix | Delete
$character |= ($value & 0x3F) << ($remaining * 6);
[613] Fix | Delete
}
[614] Fix | Delete
// If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence:
[615] Fix | Delete
else {
[616] Fix | Delete
$valid = false;
[617] Fix | Delete
$remaining = 0;
[618] Fix | Delete
$i--;
[619] Fix | Delete
}
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
// If we've reached the end of the current byte sequence, append it to Unicode::$data
[623] Fix | Delete
if (!$remaining) {
[624] Fix | Delete
// Percent encode anything invalid or not in iunreserved
[625] Fix | Delete
if (
[626] Fix | Delete
// Invalid sequences
[627] Fix | Delete
!$valid
[628] Fix | Delete
// Non-shortest form sequences are invalid
[629] Fix | Delete
|| $length > 1 && $character <= 0x7F
[630] Fix | Delete
|| $length > 2 && $character <= 0x7FF
[631] Fix | Delete
|| $length > 3 && $character <= 0xFFFF
[632] Fix | Delete
// Outside of range of iunreserved codepoints
[633] Fix | Delete
|| $character < 0x2D
[634] Fix | Delete
|| $character > 0xEFFFD
[635] Fix | Delete
// Noncharacters
[636] Fix | Delete
|| ($character & 0xFFFE) === 0xFFFE
[637] Fix | Delete
|| $character >= 0xFDD0 && $character <= 0xFDEF
[638] Fix | Delete
// Everything else not in iunreserved (this is all BMP)
[639] Fix | Delete
|| $character === 0x2F
[640] Fix | Delete
|| $character > 0x39 && $character < 0x41
[641] Fix | Delete
|| $character > 0x5A && $character < 0x61
[642] Fix | Delete
|| $character > 0x7A && $character < 0x7E
[643] Fix | Delete
|| $character > 0x7E && $character < 0xA0
[644] Fix | Delete
|| $character > 0xD7FF && $character < 0xF900
[645] Fix | Delete
) {
[646] Fix | Delete
for ($j = $start; $j <= $i; $j++) {
[647] Fix | Delete
$string .= '%' . strtoupper($bytes[$j]);
[648] Fix | Delete
}
[649] Fix | Delete
}
[650] Fix | Delete
else {
[651] Fix | Delete
for ($j = $start; $j <= $i; $j++) {
[652] Fix | Delete
$string .= chr(hexdec($bytes[$j]));
[653] Fix | Delete
}
[654] Fix | Delete
}
[655] Fix | Delete
}
[656] Fix | Delete
}
[657] Fix | Delete
[658] Fix | Delete
// If we have any bytes left over they are invalid (i.e., we are
[659] Fix | Delete
// mid-way through a multi-byte sequence)
[660] Fix | Delete
if ($remaining) {
[661] Fix | Delete
for ($j = $start; $j < $len; $j++) {
[662] Fix | Delete
$string .= '%' . strtoupper($bytes[$j]);
[663] Fix | Delete
}
[664] Fix | Delete
}
[665] Fix | Delete
[666] Fix | Delete
return $string;
[667] Fix | Delete
}
[668] Fix | Delete
[669] Fix | Delete
protected function scheme_normalization() {
[670] Fix | Delete
if (isset($this->normalization[$this->scheme]['iuserinfo']) && $this->iuserinfo === $this->normalization[$this->scheme]['iuserinfo']) {
[671] Fix | Delete
$this->iuserinfo = null;
[672] Fix | Delete
}
[673] Fix | Delete
if (isset($this->normalization[$this->scheme]['ihost']) && $this->ihost === $this->normalization[$this->scheme]['ihost']) {
[674] Fix | Delete
$this->ihost = null;
[675] Fix | Delete
}
[676] Fix | Delete
if (isset($this->normalization[$this->scheme]['port']) && $this->port === $this->normalization[$this->scheme]['port']) {
[677] Fix | Delete
$this->port = null;
[678] Fix | Delete
}
[679] Fix | Delete
if (isset($this->normalization[$this->scheme]['ipath']) && $this->ipath === $this->normalization[$this->scheme]['ipath']) {
[680] Fix | Delete
$this->ipath = '';
[681] Fix | Delete
}
[682] Fix | Delete
if (isset($this->ihost) && empty($this->ipath)) {
[683] Fix | Delete
$this->ipath = '/';
[684] Fix | Delete
}
[685] Fix | Delete
if (isset($this->normalization[$this->scheme]['iquery']) && $this->iquery === $this->normalization[$this->scheme]['iquery']) {
[686] Fix | Delete
$this->iquery = null;
[687] Fix | Delete
}
[688] Fix | Delete
if (isset($this->normalization[$this->scheme]['ifragment']) && $this->ifragment === $this->normalization[$this->scheme]['ifragment']) {
[689] Fix | Delete
$this->ifragment = null;
[690] Fix | Delete
}
[691] Fix | Delete
}
[692] Fix | Delete
[693] Fix | Delete
/**
[694] Fix | Delete
* Check if the object represents a valid IRI. This needs to be done on each
[695] Fix | Delete
* call as some things change depending on another part of the IRI.
[696] Fix | Delete
*
[697] Fix | Delete
* @return bool
[698] Fix | Delete
*/
[699] Fix | Delete
public function is_valid() {
[700] Fix | Delete
$isauthority = $this->iuserinfo !== null || $this->ihost !== null || $this->port !== null;
[701] Fix | Delete
if ($this->ipath !== '' &&
[702] Fix | Delete
(
[703] Fix | Delete
$isauthority && $this->ipath[0] !== '/' ||
[704] Fix | Delete
(
[705] Fix | Delete
$this->scheme === null &&
[706] Fix | Delete
!$isauthority &&
[707] Fix | Delete
strpos($this->ipath, ':') !== false &&
[708] Fix | Delete
(strpos($this->ipath, '/') === false ? true : strpos($this->ipath, ':') < strpos($this->ipath, '/'))
[709] Fix | Delete
)
[710] Fix | Delete
)
[711] Fix | Delete
) {
[712] Fix | Delete
return false;
[713] Fix | Delete
}
[714] Fix | Delete
[715] Fix | Delete
return true;
[716] Fix | Delete
}
[717] Fix | Delete
[718] Fix | Delete
public function __wakeup() {
[719] Fix | Delete
$class_props = get_class_vars( __CLASS__ );
[720] Fix | Delete
$string_props = array( 'scheme', 'iuserinfo', 'ihost', 'port', 'ipath', 'iquery', 'ifragment' );
[721] Fix | Delete
$array_props = array( 'normalization' );
[722] Fix | Delete
foreach ( $class_props as $prop => $default_value ) {
[723] Fix | Delete
if ( in_array( $prop, $string_props, true ) && ! is_string( $this->$prop ) ) {
[724] Fix | Delete
throw new UnexpectedValueException();
[725] Fix | Delete
} elseif ( in_array( $prop, $array_props, true ) && ! is_array( $this->$prop ) ) {
[726] Fix | Delete
throw new UnexpectedValueException();
[727] Fix | Delete
}
[728] Fix | Delete
$this->$prop = null;
[729] Fix | Delete
}
[730] Fix | Delete
}
[731] Fix | Delete
[732] Fix | Delete
/**
[733] Fix | Delete
* Set the entire IRI. Returns true on success, false on failure (if there
[734] Fix | Delete
* are any invalid characters).
[735] Fix | Delete
*
[736] Fix | Delete
* @param string $iri
[737] Fix | Delete
* @return bool
[738] Fix | Delete
*/
[739] Fix | Delete
protected function set_iri($iri) {
[740] Fix | Delete
static $cache;
[741] Fix | Delete
if (!$cache) {
[742] Fix | Delete
$cache = array();
[743] Fix | Delete
}
[744] Fix | Delete
[745] Fix | Delete
if ($iri === null) {
[746] Fix | Delete
return true;
[747] Fix | Delete
}
[748] Fix | Delete
[749] Fix | Delete
$iri = (string) $iri;
[750] Fix | Delete
[751] Fix | Delete
if (isset($cache[$iri])) {
[752] Fix | Delete
list($this->scheme,
[753] Fix | Delete
$this->iuserinfo,
[754] Fix | Delete
$this->ihost,
[755] Fix | Delete
$this->port,
[756] Fix | Delete
$this->ipath,
[757] Fix | Delete
$this->iquery,
[758] Fix | Delete
$this->ifragment,
[759] Fix | Delete
$return) = $cache[$iri];
[760] Fix | Delete
return $return;
[761] Fix | Delete
}
[762] Fix | Delete
[763] Fix | Delete
$parsed = $this->parse_iri($iri);
[764] Fix | Delete
[765] Fix | Delete
$return = $this->set_scheme($parsed['scheme'])
[766] Fix | Delete
&& $this->set_authority($parsed['authority'])
[767] Fix | Delete
&& $this->set_path($parsed['path'])
[768] Fix | Delete
&& $this->set_query($parsed['query'])
[769] Fix | Delete
&& $this->set_fragment($parsed['fragment']);
[770] Fix | Delete
[771] Fix | Delete
$cache[$iri] = array($this->scheme,
[772] Fix | Delete
$this->iuserinfo,
[773] Fix | Delete
$this->ihost,
[774] Fix | Delete
$this->port,
[775] Fix | Delete
$this->ipath,
[776] Fix | Delete
$this->iquery,
[777] Fix | Delete
$this->ifragment,
[778] Fix | Delete
$return);
[779] Fix | Delete
return $return;
[780] Fix | Delete
}
[781] Fix | Delete
[782] Fix | Delete
/**
[783] Fix | Delete
* Set the scheme. Returns true on success, false on failure (if there are
[784] Fix | Delete
* any invalid characters).
[785] Fix | Delete
*
[786] Fix | Delete
* @param string $scheme
[787] Fix | Delete
* @return bool
[788] Fix | Delete
*/
[789] Fix | Delete
protected function set_scheme($scheme) {
[790] Fix | Delete
if ($scheme === null) {
[791] Fix | Delete
$this->scheme = null;
[792] Fix | Delete
}
[793] Fix | Delete
elseif (!preg_match('/^[A-Za-z][0-9A-Za-z+\-.]*$/', $scheme)) {
[794] Fix | Delete
$this->scheme = null;
[795] Fix | Delete
return false;
[796] Fix | Delete
}
[797] Fix | Delete
else {
[798] Fix | Delete
$this->scheme = strtolower($scheme);
[799] Fix | Delete
}
[800] Fix | Delete
return true;
[801] Fix | Delete
}
[802] Fix | Delete
[803] Fix | Delete
/**
[804] Fix | Delete
* Set the authority. Returns true on success, false on failure (if there are
[805] Fix | Delete
* any invalid characters).
[806] Fix | Delete
*
[807] Fix | Delete
* @param string $authority
[808] Fix | Delete
* @return bool
[809] Fix | Delete
*/
[810] Fix | Delete
protected function set_authority($authority) {
[811] Fix | Delete
static $cache;
[812] Fix | Delete
if (!$cache) {
[813] Fix | Delete
$cache = array();
[814] Fix | Delete
}
[815] Fix | Delete
[816] Fix | Delete
if ($authority === null) {
[817] Fix | Delete
$this->iuserinfo = null;
[818] Fix | Delete
$this->ihost = null;
[819] Fix | Delete
$this->port = null;
[820] Fix | Delete
return true;
[821] Fix | Delete
}
[822] Fix | Delete
if (isset($cache[$authority])) {
[823] Fix | Delete
list($this->iuserinfo,
[824] Fix | Delete
$this->ihost,
[825] Fix | Delete
$this->port,
[826] Fix | Delete
$return) = $cache[$authority];
[827] Fix | Delete
[828] Fix | Delete
return $return;
[829] Fix | Delete
}
[830] Fix | Delete
[831] Fix | Delete
$remaining = $authority;
[832] Fix | Delete
if (($iuserinfo_end = strrpos($remaining, '@')) !== false) {
[833] Fix | Delete
$iuserinfo = substr($remaining, 0, $iuserinfo_end);
[834] Fix | Delete
$remaining = substr($remaining, $iuserinfo_end + 1);
[835] Fix | Delete
}
[836] Fix | Delete
else {
[837] Fix | Delete
$iuserinfo = null;
[838] Fix | Delete
}
[839] Fix | Delete
[840] Fix | Delete
if (($port_start = strpos($remaining, ':', (strpos($remaining, ']') ?: 0))) !== false) {
[841] Fix | Delete
$port = substr($remaining, $port_start + 1);
[842] Fix | Delete
if ($port === false || $port === '') {
[843] Fix | Delete
$port = null;
[844] Fix | Delete
}
[845] Fix | Delete
$remaining = substr($remaining, 0, $port_start);
[846] Fix | Delete
}
[847] Fix | Delete
else {
[848] Fix | Delete
$port = null;
[849] Fix | Delete
}
[850] Fix | Delete
[851] Fix | Delete
$return = $this->set_userinfo($iuserinfo) &&
[852] Fix | Delete
$this->set_host($remaining) &&
[853] Fix | Delete
$this->set_port($port);
[854] Fix | Delete
[855] Fix | Delete
$cache[$authority] = array($this->iuserinfo,
[856] Fix | Delete
$this->ihost,
[857] Fix | Delete
$this->port,
[858] Fix | Delete
$return);
[859] Fix | Delete
[860] Fix | Delete
return $return;
[861] Fix | Delete
}
[862] Fix | Delete
[863] Fix | Delete
/**
[864] Fix | Delete
* Set the iuserinfo.
[865] Fix | Delete
*
[866] Fix | Delete
* @param string $iuserinfo
[867] Fix | Delete
* @return bool
[868] Fix | Delete
*/
[869] Fix | Delete
protected function set_userinfo($iuserinfo) {
[870] Fix | Delete
if ($iuserinfo === null) {
[871] Fix | Delete
$this->iuserinfo = null;
[872] Fix | Delete
}
[873] Fix | Delete
else {
[874] Fix | Delete
$this->iuserinfo = $this->replace_invalid_with_pct_encoding($iuserinfo, '!$&\'()*+,;=:');
[875] Fix | Delete
$this->scheme_normalization();
[876] Fix | Delete
}
[877] Fix | Delete
[878] Fix | Delete
return true;
[879] Fix | Delete
}
[880] Fix | Delete
[881] Fix | Delete
/**
[882] Fix | Delete
* Set the ihost. Returns true on success, false on failure (if there are
[883] Fix | Delete
* any invalid characters).
[884] Fix | Delete
*
[885] Fix | Delete
* @param string $ihost
[886] Fix | Delete
* @return bool
[887] Fix | Delete
*/
[888] Fix | Delete
protected function set_host($ihost) {
[889] Fix | Delete
if ($ihost === null) {
[890] Fix | Delete
$this->ihost = null;
[891] Fix | Delete
return true;
[892] Fix | Delete
}
[893] Fix | Delete
if (substr($ihost, 0, 1) === '[' && substr($ihost, -1) === ']') {
[894] Fix | Delete
if (Ipv6::check_ipv6(substr($ihost, 1, -1))) {
[895] Fix | Delete
$this->ihost = '[' . Ipv6::compress(substr($ihost, 1, -1)) . ']';
[896] Fix | Delete
}
[897] Fix | Delete
else {
[898] Fix | Delete
$this->ihost = null;
[899] Fix | Delete
return false;
[900] Fix | Delete
}
[901] Fix | Delete
}
[902] Fix | Delete
else {
[903] Fix | Delete
$ihost = $this->replace_invalid_with_pct_encoding($ihost, '!$&\'()*+,;=');
[904] Fix | Delete
[905] Fix | Delete
// Lowercase, but ignore pct-encoded sections (as they should
[906] Fix | Delete
// remain uppercase). This must be done after the previous step
[907] Fix | Delete
// as that can add unescaped characters.
[908] Fix | Delete
$position = 0;
[909] Fix | Delete
$strlen = strlen($ihost);
[910] Fix | Delete
while (($position += strcspn($ihost, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ%', $position)) < $strlen) {
[911] Fix | Delete
if ($ihost[$position] === '%') {
[912] Fix | Delete
$position += 3;
[913] Fix | Delete
}
[914] Fix | Delete
else {
[915] Fix | Delete
$ihost[$position] = strtolower($ihost[$position]);
[916] Fix | Delete
$position++;
[917] Fix | Delete
}
[918] Fix | Delete
}
[919] Fix | Delete
[920] Fix | Delete
$this->ihost = $ihost;
[921] Fix | Delete
}
[922] Fix | Delete
[923] Fix | Delete
$this->scheme_normalization();
[924] Fix | Delete
[925] Fix | Delete
return true;
[926] Fix | Delete
}
[927] Fix | Delete
[928] Fix | Delete
/**
[929] Fix | Delete
* Set the port. Returns true on success, false on failure (if there are
[930] Fix | Delete
* any invalid characters).
[931] Fix | Delete
*
[932] Fix | Delete
* @param string $port
[933] Fix | Delete
* @return bool
[934] Fix | Delete
*/
[935] Fix | Delete
protected function set_port($port) {
[936] Fix | Delete
if ($port === null) {
[937] Fix | Delete
$this->port = null;
[938] Fix | Delete
return true;
[939] Fix | Delete
}
[940] Fix | Delete
[941] Fix | Delete
if (strspn($port, '0123456789') === strlen($port)) {
[942] Fix | Delete
$this->port = (int) $port;
[943] Fix | Delete
$this->scheme_normalization();
[944] Fix | Delete
return true;
[945] Fix | Delete
}
[946] Fix | Delete
[947] Fix | Delete
$this->port = null;
[948] Fix | Delete
return false;
[949] Fix | Delete
}
[950] Fix | Delete
[951] Fix | Delete
/**
[952] Fix | Delete
* Set the ipath.
[953] Fix | Delete
*
[954] Fix | Delete
* @param string $ipath
[955] Fix | Delete
* @return bool
[956] Fix | Delete
*/
[957] Fix | Delete
protected function set_path($ipath) {
[958] Fix | Delete
static $cache;
[959] Fix | Delete
if (!$cache) {
[960] Fix | Delete
$cache = array();
[961] Fix | Delete
}
[962] Fix | Delete
[963] Fix | Delete
$ipath = (string) $ipath;
[964] Fix | Delete
[965] Fix | Delete
if (isset($cache[$ipath])) {
[966] Fix | Delete
$this->ipath = $cache[$ipath][(int) ($this->scheme !== null)];
[967] Fix | Delete
}
[968] Fix | Delete
else {
[969] Fix | Delete
$valid = $this->replace_invalid_with_pct_encoding($ipath, '!$&\'()*+,;=@:/');
[970] Fix | Delete
$removed = $this->remove_dot_segments($valid);
[971] Fix | Delete
[972] Fix | Delete
$cache[$ipath] = array($valid, $removed);
[973] Fix | Delete
$this->ipath = ($this->scheme !== null) ? $removed : $valid;
[974] Fix | Delete
}
[975] Fix | Delete
$this->scheme_normalization();
[976] Fix | Delete
return true;
[977] Fix | Delete
}
[978] Fix | Delete
[979] Fix | Delete
/**
[980] Fix | Delete
* Set the iquery.
[981] Fix | Delete
*
[982] Fix | Delete
* @param string $iquery
[983] Fix | Delete
* @return bool
[984] Fix | Delete
*/
[985] Fix | Delete
protected function set_query($iquery) {
[986] Fix | Delete
if ($iquery === null) {
[987] Fix | Delete
$this->iquery = null;
[988] Fix | Delete
}
[989] Fix | Delete
else {
[990] Fix | Delete
$this->iquery = $this->replace_invalid_with_pct_encoding($iquery, '!$&\'()*+,;=:@/?', true);
[991] Fix | Delete
$this->scheme_normalization();
[992] Fix | Delete
}
[993] Fix | Delete
return true;
[994] Fix | Delete
}
[995] Fix | Delete
[996] Fix | Delete
/**
[997] Fix | Delete
* Set the ifragment.
[998] Fix | Delete
*
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function