@@ -129,41 +129,41 @@ discard block |
||
| 129 | 129 | } |
| 130 | 130 | foreach ($option as $k => $v) { |
| 131 | 131 | switch ($k) { |
| 132 | - case 'encoding': |
|
| 133 | - switch ($v) { |
|
| 134 | - case 'utf8': |
|
| 135 | - case 'ucs4_string': |
|
| 136 | - case 'ucs4_array': |
|
| 137 | - $this->_api_encoding = $v; |
|
| 132 | + case 'encoding': |
|
| 133 | + switch ($v) { |
|
| 134 | + case 'utf8': |
|
| 135 | + case 'ucs4_string': |
|
| 136 | + case 'ucs4_array': |
|
| 137 | + $this->_api_encoding = $v; |
|
| 138 | + break; |
|
| 139 | + default: |
|
| 140 | + $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k); |
|
| 141 | + return false; |
|
| 142 | + } |
|
| 143 | + break; |
|
| 144 | + case 'overlong': |
|
| 145 | + $this->_allow_overlong = ($v) ? true : false; |
|
| 146 | + break; |
|
| 147 | + case 'strict': |
|
| 148 | + $this->_strict_mode = ($v) ? true : false; |
|
| 149 | + break; |
|
| 150 | + case 'idn_version': |
|
| 151 | + if (in_array($v, array('2003', '2008'))) { |
|
| 152 | + $this->_idn_version = $v; |
|
| 153 | + } else { |
|
| 154 | + $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k); |
|
| 155 | + } |
|
| 156 | + break; |
|
| 157 | + case 'encode_german_sz': // Deprecated |
|
| 158 | + if (!$v) { |
|
| 159 | + self::$NP['replacemaps'][0xDF] = array(0x73, 0x73); |
|
| 160 | + } else { |
|
| 161 | + unset(self::$NP['replacemaps'][0xDF]); |
|
| 162 | + } |
|
| 138 | 163 | break; |
| 139 | 164 | default: |
| 140 | - $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k); |
|
| 165 | + $this->_error('Set Parameter: Unknown option '.$k); |
|
| 141 | 166 | return false; |
| 142 | - } |
|
| 143 | - break; |
|
| 144 | - case 'overlong': |
|
| 145 | - $this->_allow_overlong = ($v) ? true : false; |
|
| 146 | - break; |
|
| 147 | - case 'strict': |
|
| 148 | - $this->_strict_mode = ($v) ? true : false; |
|
| 149 | - break; |
|
| 150 | - case 'idn_version': |
|
| 151 | - if (in_array($v, array('2003', '2008'))) { |
|
| 152 | - $this->_idn_version = $v; |
|
| 153 | - } else { |
|
| 154 | - $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k); |
|
| 155 | - } |
|
| 156 | - break; |
|
| 157 | - case 'encode_german_sz': // Deprecated |
|
| 158 | - if (!$v) { |
|
| 159 | - self::$NP['replacemaps'][0xDF] = array(0x73, 0x73); |
|
| 160 | - } else { |
|
| 161 | - unset(self::$NP['replacemaps'][0xDF]); |
|
| 162 | - } |
|
| 163 | - break; |
|
| 164 | - default: |
|
| 165 | - $this->_error('Set Parameter: Unknown option '.$k); |
|
| 166 | - return false; |
|
| 167 | 167 | } |
| 168 | 168 | } |
| 169 | 169 | return true; |
@@ -180,13 +180,13 @@ discard block |
||
| 180 | 180 | // Optionally set |
| 181 | 181 | if ($one_time_encoding) { |
| 182 | 182 | switch ($one_time_encoding) { |
| 183 | - case 'utf8': |
|
| 184 | - case 'ucs4_string': |
|
| 185 | - case 'ucs4_array': |
|
| 186 | - break; |
|
| 187 | - default: |
|
| 188 | - $this->_error('Unknown encoding '.$one_time_encoding); |
|
| 189 | - return false; |
|
| 183 | + case 'utf8': |
|
| 184 | + case 'ucs4_string': |
|
| 185 | + case 'ucs4_array': |
|
| 186 | + break; |
|
| 187 | + default: |
|
| 188 | + $this->_error('Unknown encoding '.$one_time_encoding); |
|
| 189 | + return false; |
|
| 190 | 190 | } |
| 191 | 191 | } |
| 192 | 192 | // Make sure to drop any newline characters around |
@@ -255,18 +255,18 @@ discard block |
||
| 255 | 255 | // The output is UTF-8 by default, other output formats need conversion here |
| 256 | 256 | // If one time encoding is given, use this, else the objects property |
| 257 | 257 | switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) { |
| 258 | - case 'utf8': |
|
| 259 | - return $return; |
|
| 260 | - break; |
|
| 261 | - case 'ucs4_string': |
|
| 262 | - return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); |
|
| 263 | - break; |
|
| 264 | - case 'ucs4_array': |
|
| 265 | - return $this->_utf8_to_ucs4($return); |
|
| 266 | - break; |
|
| 267 | - default: |
|
| 268 | - $this->_error('Unsupported output format'); |
|
| 269 | - return false; |
|
| 258 | + case 'utf8': |
|
| 259 | + return $return; |
|
| 260 | + break; |
|
| 261 | + case 'ucs4_string': |
|
| 262 | + return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); |
|
| 263 | + break; |
|
| 264 | + case 'ucs4_array': |
|
| 265 | + return $this->_utf8_to_ucs4($return); |
|
| 266 | + break; |
|
| 267 | + default: |
|
| 268 | + $this->_error('Unsupported output format'); |
|
| 269 | + return false; |
|
| 270 | 270 | } |
| 271 | 271 | } |
| 272 | 272 | |
@@ -281,16 +281,16 @@ discard block |
||
| 281 | 281 | // Forcing conversion of input to UCS4 array |
| 282 | 282 | // If one time encoding is given, use this, else the objects property |
| 283 | 283 | switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) { |
| 284 | - case 'utf8': |
|
| 285 | - $decoded = $this->_utf8_to_ucs4($decoded); |
|
| 286 | - break; |
|
| 287 | - case 'ucs4_string': |
|
| 288 | - $decoded = $this->_ucs4_string_to_ucs4($decoded); |
|
| 289 | - case 'ucs4_array': |
|
| 290 | - break; |
|
| 291 | - default: |
|
| 292 | - $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding)); |
|
| 293 | - return false; |
|
| 284 | + case 'utf8': |
|
| 285 | + $decoded = $this->_utf8_to_ucs4($decoded); |
|
| 286 | + break; |
|
| 287 | + case 'ucs4_string': |
|
| 288 | + $decoded = $this->_ucs4_string_to_ucs4($decoded); |
|
| 289 | + case 'ucs4_array': |
|
| 290 | + break; |
|
| 291 | + default: |
|
| 292 | + $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding)); |
|
| 293 | + return false; |
|
| 294 | 294 | } |
| 295 | 295 | |
| 296 | 296 | // No input, no output, what else did you expect? |
@@ -303,35 +303,35 @@ discard block |
||
| 303 | 303 | foreach ($decoded as $k => $v) { |
| 304 | 304 | // Make sure to use just the plain dot |
| 305 | 305 | switch($v) { |
| 306 | - case 0x3002: |
|
| 307 | - case 0xFF0E: |
|
| 308 | - case 0xFF61: |
|
| 309 | - $decoded[$k] = 0x2E; |
|
| 310 | - // Right, no break here, the above are converted to dots anyway |
|
| 311 | - // Stumbling across an anchoring character |
|
| 312 | - case 0x2E: |
|
| 313 | - case 0x2F: |
|
| 314 | - case 0x3A: |
|
| 315 | - case 0x3F: |
|
| 316 | - case 0x40: |
|
| 317 | - // Neither email addresses nor URLs allowed in strict mode |
|
| 318 | - if ($this->_strict_mode) { |
|
| 319 | - $this->_error('Neither email addresses nor URLs are allowed in strict mode.'); |
|
| 320 | - return false; |
|
| 321 | - } else { |
|
| 322 | - // Skip first char |
|
| 323 | - if ($k) { |
|
| 324 | - $encoded = ''; |
|
| 325 | - $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin))); |
|
| 326 | - if ($encoded) { |
|
| 327 | - $output .= $encoded; |
|
| 328 | - } else { |
|
| 329 | - $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin))); |
|
| 306 | + case 0x3002: |
|
| 307 | + case 0xFF0E: |
|
| 308 | + case 0xFF61: |
|
| 309 | + $decoded[$k] = 0x2E; |
|
| 310 | + // Right, no break here, the above are converted to dots anyway |
|
| 311 | + // Stumbling across an anchoring character |
|
| 312 | + case 0x2E: |
|
| 313 | + case 0x2F: |
|
| 314 | + case 0x3A: |
|
| 315 | + case 0x3F: |
|
| 316 | + case 0x40: |
|
| 317 | + // Neither email addresses nor URLs allowed in strict mode |
|
| 318 | + if ($this->_strict_mode) { |
|
| 319 | + $this->_error('Neither email addresses nor URLs are allowed in strict mode.'); |
|
| 320 | + return false; |
|
| 321 | + } else { |
|
| 322 | + // Skip first char |
|
| 323 | + if ($k) { |
|
| 324 | + $encoded = ''; |
|
| 325 | + $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin))); |
|
| 326 | + if ($encoded) { |
|
| 327 | + $output .= $encoded; |
|
| 328 | + } else { |
|
| 329 | + $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin))); |
|
| 330 | + } |
|
| 331 | + $output .= chr($decoded[$k]); |
|
| 330 | 332 | } |
| 331 | - $output .= chr($decoded[$k]); |
|
| 333 | + $last_begin = $k + 1; |
|
| 332 | 334 | } |
| 333 | - $last_begin = $k + 1; |
|
| 334 | - } |
|
| 335 | 335 | } |
| 336 | 336 | } |
| 337 | 337 | // Catch the rest of the string |