@@ -377,7 +377,7 @@ |
||
| 377 | 377 | |
| 378 | 378 | // The behavior of bestfit changed in Imagick 3.0.0 and it will now scale up, we prevent that |
| 379 | 379 | $dest_width = empty($max_width) ? $src_width : ($force_resize ? $max_width : min($max_width, $src_width)); |
| 380 | - $dest_height = empty($max_height) ? $src_height : ($force_resize ? $max_height : min($max_height, $src_height)); |
|
| 380 | + $dest_height = empty($max_height) ? $src_height : ($force_resize ? $max_height : min($max_height, $src_height)); |
|
| 381 | 381 | |
| 382 | 382 | // Set jpeg image quality to 80 |
| 383 | 383 | if ($default_formats[$preferred_format] === 'jpeg') |
@@ -43,7 +43,9 @@ discard block |
||
| 43 | 43 | $destName = substr($destName, 0, -4); |
| 44 | 44 | |
| 45 | 45 | if ($success && @rename($destName . '.tmp', $destName)) |
| 46 | - return true; |
|
| 46 | + { |
|
| 47 | + return true; |
|
| 48 | + } |
|
| 47 | 49 | else |
| 48 | 50 | { |
| 49 | 51 | @unlink($destName . '.tmp'); |
@@ -79,13 +81,17 @@ discard block |
||
| 79 | 81 | if (!resizeImageFile($fileName, $fileName . '.tmp', null, null, $preferred_format, true)) |
| 80 | 82 | { |
| 81 | 83 | if (file_exists($fileName . '.tmp')) |
| 82 | - unlink($fileName . '.tmp'); |
|
| 84 | + { |
|
| 85 | + unlink($fileName . '.tmp'); |
|
| 86 | + } |
|
| 83 | 87 | |
| 84 | 88 | return false; |
| 85 | 89 | } |
| 86 | 90 | |
| 87 | 91 | if (!unlink($fileName)) |
| 88 | - return false; |
|
| 92 | + { |
|
| 93 | + return false; |
|
| 94 | + } |
|
| 89 | 95 | |
| 90 | 96 | return rename($fileName . '.tmp', $fileName); |
| 91 | 97 | } |
@@ -162,7 +168,9 @@ discard block |
||
| 162 | 168 | |
| 163 | 169 | // Check to see if GD is installed and what version. |
| 164 | 170 | if (($extensionFunctions = get_extension_funcs('gd')) === false) |
| 165 | - return false; |
|
| 171 | + { |
|
| 172 | + return false; |
|
| 173 | + } |
|
| 166 | 174 | |
| 167 | 175 | // Also determine if GD2 is installed and store it in a global. |
| 168 | 176 | $gd2 = in_array('imagecreatetruecolor', $extensionFunctions) && function_exists('imagecreatetruecolor'); |
@@ -267,7 +275,9 @@ discard block |
||
| 267 | 275 | |
| 268 | 276 | // Nothing to do without GD or IM |
| 269 | 277 | if (!checkGD() && !checkImagick()) |
| 270 | - return false; |
|
| 278 | + { |
|
| 279 | + return false; |
|
| 280 | + } |
|
| 271 | 281 | |
| 272 | 282 | if (!file_exists($source) && substr($source, 0, 7) !== 'http://' && substr($source, 0, 8) !== 'https://') |
| 273 | 283 | { |
@@ -310,25 +320,33 @@ discard block |
||
| 310 | 320 | } |
| 311 | 321 | fclose($fp_source); |
| 312 | 322 | } |
| 313 | - else |
|
| 314 | - $sizes = array(-1, -1, -1); |
|
| 323 | + else { |
|
| 324 | + $sizes = array(-1, -1, -1); |
|
| 325 | + } |
|
| 315 | 326 | |
| 316 | 327 | fclose($fp_destination); |
| 317 | 328 | } |
| 318 | 329 | // We can't get to the file. |
| 319 | - else |
|
| 320 | - $sizes = array(-1, -1, -1); |
|
| 330 | + else { |
|
| 331 | + $sizes = array(-1, -1, -1); |
|
| 332 | + } |
|
| 321 | 333 | |
| 322 | 334 | if ($sizes[0] === -1) |
| 323 | - return false; |
|
| 335 | + { |
|
| 336 | + return false; |
|
| 337 | + } |
|
| 324 | 338 | |
| 325 | 339 | // See if we have -or- can get the needed memory for this operation |
| 326 | 340 | if (checkGD() && !imageMemoryCheck($sizes)) |
| 327 | - return false; |
|
| 341 | + { |
|
| 342 | + return false; |
|
| 343 | + } |
|
| 328 | 344 | |
| 329 | 345 | // Not allowed to save webp or can't support webp input |
| 330 | 346 | if ((empty($modSettings['attachment_webp_enable']) && $preferred_format == 18) || ($sizes[2] == 18 && !hasWebpSupport())) |
| 331 | - return false; |
|
| 347 | + { |
|
| 348 | + return false; |
|
| 349 | + } |
|
| 332 | 350 | |
| 333 | 351 | // A known and supported format? |
| 334 | 352 | if (checkImagick() && isset($default_formats[$sizes[2]])) |
@@ -404,7 +422,9 @@ discard block |
||
| 404 | 422 | |
| 405 | 423 | // Just to be sure, if the admin does not want webp |
| 406 | 424 | if (empty($modSettings['attachment_webp_enable'])) |
| 407 | - unset($default_formats[18]); |
|
| 425 | + { |
|
| 426 | + unset($default_formats[18]); |
|
| 427 | + } |
|
| 408 | 428 | |
| 409 | 429 | $preferred_format = empty($preferred_format) || !isset($default_formats[$preferred_format]) ? 2 : $preferred_format; |
| 410 | 430 | |
@@ -506,33 +526,46 @@ discard block |
||
| 506 | 526 | imagecopyresamplebicubic($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); |
| 507 | 527 | } |
| 508 | 528 | } |
| 509 | - else |
|
| 510 | - $dst_img = $src_img; |
|
| 529 | + else { |
|
| 530 | + $dst_img = $src_img; |
|
| 531 | + } |
|
| 532 | + } |
|
| 533 | + else { |
|
| 534 | + $dst_img = $src_img; |
|
| 511 | 535 | } |
| 512 | - else |
|
| 513 | - $dst_img = $src_img; |
|
| 514 | 536 | |
| 515 | 537 | // Save the image as ... |
| 516 | 538 | if (!empty($preferred_format) && ($preferred_format == 3) && function_exists('imagepng')) |
| 517 | - $success = imagepng($dst_img, $destName, 9, PNG_ALL_FILTERS); |
|
| 539 | + { |
|
| 540 | + $success = imagepng($dst_img, $destName, 9, PNG_ALL_FILTERS); |
|
| 541 | + } |
|
| 518 | 542 | elseif (!empty($preferred_format) && ($preferred_format == 1) && function_exists('imagegif')) |
| 519 | - $success = imagegif($dst_img, $destName); |
|
| 543 | + { |
|
| 544 | + $success = imagegif($dst_img, $destName); |
|
| 545 | + } |
|
| 520 | 546 | elseif (!empty($preferred_format) && $preferred_format == 18 && function_exists('imagewebp')) |
| 521 | - $success = imagewebp($dst_img, $destName, 80); |
|
| 547 | + { |
|
| 548 | + $success = imagewebp($dst_img, $destName, 80); |
|
| 549 | + } |
|
| 522 | 550 | elseif (function_exists('imagejpeg')) |
| 523 | - $success = imagejpeg($dst_img, $destName, 80); |
|
| 551 | + { |
|
| 552 | + $success = imagejpeg($dst_img, $destName, 80); |
|
| 553 | + } |
|
| 524 | 554 | |
| 525 | 555 | // Free the memory. |
| 526 | 556 | imagedestroy($src_img); |
| 527 | 557 | if ($dst_img != $src_img) |
| 528 | - imagedestroy($dst_img); |
|
| 558 | + { |
|
| 559 | + imagedestroy($dst_img); |
|
| 560 | + } |
|
| 529 | 561 | |
| 530 | 562 | return $success; |
| 531 | 563 | } |
| 532 | 564 | // Without Imagick or GD, no image resizing at all. |
| 533 | - else |
|
| 534 | - return false; |
|
| 535 | -} |
|
| 565 | + else { |
|
| 566 | + return false; |
|
| 567 | + } |
|
| 568 | + } |
|
| 536 | 569 | |
| 537 | 570 | /* |
| 538 | 571 | * Determines if an image has any alpha pixels |
@@ -543,13 +576,17 @@ discard block |
||
| 543 | 576 | function hasTransparency($fileName, $png = true) |
| 544 | 577 | { |
| 545 | 578 | if (empty($fileName) || !file_exists($fileName)) |
| 546 | - return false; |
|
| 579 | + { |
|
| 580 | + return false; |
|
| 581 | + } |
|
| 547 | 582 | |
| 548 | 583 | $header = file_get_contents($fileName, false, null, 0, 26); |
| 549 | 584 | |
| 550 | 585 | // Does it even claim to have been saved with transparency |
| 551 | 586 | if ($png && !ord($header[25]) & 4) |
| 552 | - return false; |
|
| 587 | + { |
|
| 588 | + return false; |
|
| 589 | + } |
|
| 553 | 590 | |
| 554 | 591 | // Webp has its own |
| 555 | 592 | if (!$png) |
@@ -599,11 +636,16 @@ discard block |
||
| 599 | 636 | list ($width, $height, $type) = elk_getimagesize($fileName); |
| 600 | 637 | |
| 601 | 638 | if ($type === 18 && hasWebpSupport()) |
| 602 | - $image = imagecreatefromwebp($fileName); |
|
| 639 | + { |
|
| 640 | + $image = imagecreatefromwebp($fileName); |
|
| 641 | + } |
|
| 603 | 642 | elseif ($type === 3) |
| 604 | - $image = imagecreatefrompng($fileName); |
|
| 605 | - else |
|
| 606 | - return false; |
|
| 643 | + { |
|
| 644 | + $image = imagecreatefrompng($fileName); |
|
| 645 | + } |
|
| 646 | + else { |
|
| 647 | + return false; |
|
| 648 | + } |
|
| 607 | 649 | |
| 608 | 650 | for ($i = 0; $i < $width; $i++) |
| 609 | 651 | { |
@@ -1009,7 +1051,9 @@ discard block |
||
| 1009 | 1051 | if ($color == -1) |
| 1010 | 1052 | { |
| 1011 | 1053 | if ($palsize++ < 256) |
| 1012 | - imagecolorallocate($dst_img, $red, $green, $blue); |
|
| 1054 | + { |
|
| 1055 | + imagecolorallocate($dst_img, $red, $green, $blue); |
|
| 1056 | + } |
|
| 1013 | 1057 | $color = imagecolorclosest($dst_img, $red, $green, $blue); |
| 1014 | 1058 | } |
| 1015 | 1059 | |
@@ -1050,13 +1094,18 @@ discard block |
||
| 1050 | 1094 | |
| 1051 | 1095 | // Not a standard bitmap, bail out |
| 1052 | 1096 | if ($header['type'] != 0x4D42) |
| 1053 | - return false; |
|
| 1097 | + { |
|
| 1098 | + return false; |
|
| 1099 | + } |
|
| 1054 | 1100 | |
| 1055 | 1101 | // Create our image canvas with the given WxH |
| 1056 | 1102 | if ($gd2) |
| 1057 | - $dst_img = imagecreatetruecolor($info['width'], $info['height']); |
|
| 1058 | - else |
|
| 1059 | - $dst_img = imagecreate($info['width'], $info['height']); |
|
| 1103 | + { |
|
| 1104 | + $dst_img = imagecreatetruecolor($info['width'], $info['height']); |
|
| 1105 | + } |
|
| 1106 | + else { |
|
| 1107 | + $dst_img = imagecreate($info['width'], $info['height']); |
|
| 1108 | + } |
|
| 1060 | 1109 | |
| 1061 | 1110 | // Color bitCounts 1,4,8 have palette information we use |
| 1062 | 1111 | $palette = array(); |
@@ -1088,7 +1137,9 @@ discard block |
||
| 1088 | 1137 | $scan_line = fread($fp, $scan_line_size); |
| 1089 | 1138 | |
| 1090 | 1139 | if (strlen($scan_line) < $scan_line_size) |
| 1091 | - continue; |
|
| 1140 | + { |
|
| 1141 | + continue; |
|
| 1142 | + } |
|
| 1092 | 1143 | |
| 1093 | 1144 | // 32 bits per pixel |
| 1094 | 1145 | if ($info['bits'] == 32) |
@@ -1108,7 +1159,9 @@ discard block |
||
| 1108 | 1159 | |
| 1109 | 1160 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
| 1110 | 1161 | if ($color == -1) |
| 1111 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1162 | + { |
|
| 1163 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1164 | + } |
|
| 1112 | 1165 | } |
| 1113 | 1166 | |
| 1114 | 1167 | imagesetpixel($dst_img, $x, $y, $color); |
@@ -1131,7 +1184,9 @@ discard block |
||
| 1131 | 1184 | |
| 1132 | 1185 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
| 1133 | 1186 | if ($color == -1) |
| 1134 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1187 | + { |
|
| 1188 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1189 | + } |
|
| 1135 | 1190 | } |
| 1136 | 1191 | |
| 1137 | 1192 | imagesetpixel($dst_img, $x, $y, $color); |
@@ -1160,7 +1215,9 @@ discard block |
||
| 1160 | 1215 | |
| 1161 | 1216 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
| 1162 | 1217 | if ($color == -1) |
| 1163 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1218 | + { |
|
| 1219 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
| 1220 | + } |
|
| 1164 | 1221 | } |
| 1165 | 1222 | |
| 1166 | 1223 | imagesetpixel($dst_img, $x, $y, $color); |
@@ -1171,7 +1228,9 @@ discard block |
||
| 1171 | 1228 | { |
| 1172 | 1229 | $x = 0; |
| 1173 | 1230 | for ($j = 0; $j < $scan_line_size; $x++) |
| 1174 | - imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line[$j++])]); |
|
| 1231 | + { |
|
| 1232 | + imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line[$j++])]); |
|
| 1233 | + } |
|
| 1175 | 1234 | } |
| 1176 | 1235 | // 4 bits per pixel |
| 1177 | 1236 | elseif ($info['bits'] == 4) |
@@ -1183,7 +1242,9 @@ discard block |
||
| 1183 | 1242 | |
| 1184 | 1243 | imagesetpixel($dst_img, $x, $y, $palette[(int) ($byte / 16)]); |
| 1185 | 1244 | if (++$x < $info['width']) |
| 1186 | - imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]); |
|
| 1245 | + { |
|
| 1246 | + imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]); |
|
| 1247 | + } |
|
| 1187 | 1248 | } |
| 1188 | 1249 | } |
| 1189 | 1250 | // 1 bit |
@@ -1198,7 +1259,9 @@ discard block |
||
| 1198 | 1259 | for ($shift = 1; $shift < 8; $shift++) |
| 1199 | 1260 | { |
| 1200 | 1261 | if (++$x < $info['width']) |
| 1201 | - imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]); |
|
| 1262 | + { |
|
| 1263 | + imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]); |
|
| 1264 | + } |
|
| 1202 | 1265 | } |
| 1203 | 1266 | } |
| 1204 | 1267 | } |
@@ -1231,7 +1294,9 @@ discard block |
||
| 1231 | 1294 | global $gd2, $settings, $user_info, $modSettings; |
| 1232 | 1295 | |
| 1233 | 1296 | if (!checkGD()) |
| 1234 | - return false; |
|
| 1297 | + { |
|
| 1298 | + return false; |
|
| 1299 | + } |
|
| 1235 | 1300 | |
| 1236 | 1301 | // What type are we going to be doing? |
| 1237 | 1302 | // Note: The higher the value of visual_verification_type the harder the verification is |
@@ -1240,7 +1305,9 @@ discard block |
||
| 1240 | 1305 | |
| 1241 | 1306 | // Special case to allow the admin center to show samples. |
| 1242 | 1307 | if ($user_info['is_admin'] && isset($_GET['type'])) |
| 1243 | - $imageType = (int) $_GET['type']; |
|
| 1308 | + { |
|
| 1309 | + $imageType = (int) $_GET['type']; |
|
| 1310 | + } |
|
| 1244 | 1311 | |
| 1245 | 1312 | // Some quick references for what we do. |
| 1246 | 1313 | // Do we show no, low or high noise? |
@@ -1275,24 +1342,33 @@ discard block |
||
| 1275 | 1342 | |
| 1276 | 1343 | // What color is the background - generally white unless we're on "hard". |
| 1277 | 1344 | if ($simpleBGColor) |
| 1278 | - $background_color = array(255, 255, 255); |
|
| 1279 | - else |
|
| 1280 | - $background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243); |
|
| 1345 | + { |
|
| 1346 | + $background_color = array(255, 255, 255); |
|
| 1347 | + } |
|
| 1348 | + else { |
|
| 1349 | + $background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243); |
|
| 1350 | + } |
|
| 1281 | 1351 | |
| 1282 | 1352 | // The color of the characters shown (red, green, blue). |
| 1283 | 1353 | if ($simpleFGColor) |
| 1284 | - $foreground_color = array(0, 0, 0); |
|
| 1354 | + { |
|
| 1355 | + $foreground_color = array(0, 0, 0); |
|
| 1356 | + } |
|
| 1285 | 1357 | else |
| 1286 | 1358 | { |
| 1287 | 1359 | $foreground_color = array(64, 101, 136); |
| 1288 | 1360 | |
| 1289 | 1361 | // Has the theme author requested a custom color? |
| 1290 | 1362 | if (isset($settings['verification_foreground'])) |
| 1291 | - $foreground_color = $settings['verification_foreground']; |
|
| 1363 | + { |
|
| 1364 | + $foreground_color = $settings['verification_foreground']; |
|
| 1365 | + } |
|
| 1292 | 1366 | } |
| 1293 | 1367 | |
| 1294 | 1368 | if (!is_dir($settings['default_theme_dir'] . '/fonts')) |
| 1295 | - return false; |
|
| 1369 | + { |
|
| 1370 | + return false; |
|
| 1371 | + } |
|
| 1296 | 1372 | |
| 1297 | 1373 | // Can we use true type fonts? |
| 1298 | 1374 | $can_do_ttf = function_exists('imagettftext'); |
@@ -1304,13 +1380,19 @@ discard block |
||
| 1304 | 1380 | while ($entry = $font_dir->read()) |
| 1305 | 1381 | { |
| 1306 | 1382 | if (preg_match('~^(.+)\.gdf$~', $entry, $matches) === 1) |
| 1307 | - $font_list[] = $entry; |
|
| 1383 | + { |
|
| 1384 | + $font_list[] = $entry; |
|
| 1385 | + } |
|
| 1308 | 1386 | elseif (preg_match('~^(.+)\.ttf$~', $entry, $matches) === 1) |
| 1309 | - $ttfont_list[] = $entry; |
|
| 1387 | + { |
|
| 1388 | + $ttfont_list[] = $entry; |
|
| 1389 | + } |
|
| 1310 | 1390 | } |
| 1311 | 1391 | |
| 1312 | 1392 | if (empty($font_list) && ($can_do_ttf && empty($ttfont_list))) |
| 1313 | - return false; |
|
| 1393 | + { |
|
| 1394 | + return false; |
|
| 1395 | + } |
|
| 1314 | 1396 | |
| 1315 | 1397 | // For non-hard things don't even change fonts. |
| 1316 | 1398 | if (!$varyFonts) |
@@ -1319,9 +1401,12 @@ discard block |
||
| 1319 | 1401 | |
| 1320 | 1402 | // Try use OpenSans if we can - it looks good! |
| 1321 | 1403 | if (in_array('OpenSans.ttf', $ttfont_list)) |
| 1322 | - $ttfont_list = array('OpenSans.ttf'); |
|
| 1323 | - else |
|
| 1324 | - $ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]); |
|
| 1404 | + { |
|
| 1405 | + $ttfont_list = array('OpenSans.ttf'); |
|
| 1406 | + } |
|
| 1407 | + else { |
|
| 1408 | + $ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]); |
|
| 1409 | + } |
|
| 1325 | 1410 | } |
| 1326 | 1411 | |
| 1327 | 1412 | // Create a list of characters to be shown. |
@@ -1340,8 +1425,10 @@ discard block |
||
| 1340 | 1425 | |
| 1341 | 1426 | // Load all fonts and determine the maximum font height. |
| 1342 | 1427 | if (!$can_do_ttf) |
| 1343 | - foreach ($loaded_fonts as $font_index => $dummy) |
|
| 1428 | + { |
|
| 1429 | + foreach ($loaded_fonts as $font_index => $dummy) |
|
| 1344 | 1430 | $loaded_fonts[$font_index] = imageloadfont($settings['default_theme_dir'] . '/fonts/' . $font_list[$font_index]); |
| 1431 | + } |
|
| 1345 | 1432 | |
| 1346 | 1433 | // Determine the dimensions of each character. |
| 1347 | 1434 | $extra = ($imageType == 4 || $imageType == 5) ? 80 : 45; |
@@ -1353,9 +1440,12 @@ discard block |
||
| 1353 | 1440 | { |
| 1354 | 1441 | // GD2 handles font size differently. |
| 1355 | 1442 | if ($fontSizeRandom) |
| 1356 | - $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(25, 27); |
|
| 1357 | - else |
|
| 1358 | - $font_size = $gd2 ? 17 : 27; |
|
| 1443 | + { |
|
| 1444 | + $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(25, 27); |
|
| 1445 | + } |
|
| 1446 | + else { |
|
| 1447 | + $font_size = $gd2 ? 17 : 27; |
|
| 1448 | + } |
|
| 1359 | 1449 | |
| 1360 | 1450 | $img_box = imagettfbbox($font_size, 0, $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[$character['font']], $character['id']); |
| 1361 | 1451 | |
@@ -1381,13 +1471,17 @@ discard block |
||
| 1381 | 1471 | |
| 1382 | 1472 | // Randomize the foreground color a little. |
| 1383 | 1473 | for ($i = 0; $i < 3; $i++) |
| 1384 | - $foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255)); |
|
| 1474 | + { |
|
| 1475 | + $foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255)); |
|
| 1476 | + } |
|
| 1385 | 1477 | $fg_color = imagecolorallocate($code_image, $foreground_color[0], $foreground_color[1], $foreground_color[2]); |
| 1386 | 1478 | |
| 1387 | 1479 | // Color for the noise dots. |
| 1388 | 1480 | $dotbgcolor = array(); |
| 1389 | 1481 | for ($i = 0; $i < 3; $i++) |
| 1390 | - $dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255); |
|
| 1482 | + { |
|
| 1483 | + $dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255); |
|
| 1484 | + } |
|
| 1391 | 1485 | $randomness_color = imagecolorallocate($code_image, $dotbgcolor[0], $dotbgcolor[1], $dotbgcolor[2]); |
| 1392 | 1486 | |
| 1393 | 1487 | // Some squares/rectangles for new extreme level |
@@ -1414,9 +1508,12 @@ discard block |
||
| 1414 | 1508 | { |
| 1415 | 1509 | // How much rotation will we give? |
| 1416 | 1510 | if ($rotationType == 'none') |
| 1417 | - $angle = 0; |
|
| 1418 | - else |
|
| 1419 | - $angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10); |
|
| 1511 | + { |
|
| 1512 | + $angle = 0; |
|
| 1513 | + } |
|
| 1514 | + else { |
|
| 1515 | + $angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10); |
|
| 1516 | + } |
|
| 1420 | 1517 | |
| 1421 | 1518 | // What color shall we do it? |
| 1422 | 1519 | if ($fontColorType == 'cyclic') |
@@ -1434,22 +1531,30 @@ discard block |
||
| 1434 | 1531 | // Pick a color, but not the same one twice in a row |
| 1435 | 1532 | $new_index = $last_index; |
| 1436 | 1533 | while ($last_index == $new_index) |
| 1437 | - $new_index = mt_rand(0, count($colors) - 1); |
|
| 1534 | + { |
|
| 1535 | + $new_index = mt_rand(0, count($colors) - 1); |
|
| 1536 | + } |
|
| 1438 | 1537 | $char_fg_color = $colors[$new_index]; |
| 1439 | 1538 | $last_index = $new_index; |
| 1440 | 1539 | } |
| 1441 | 1540 | elseif ($fontColorType == 'random') |
| 1442 | - $char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2])); |
|
| 1443 | - else |
|
| 1444 | - $char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]); |
|
| 1541 | + { |
|
| 1542 | + $char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2])); |
|
| 1543 | + } |
|
| 1544 | + else { |
|
| 1545 | + $char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]); |
|
| 1546 | + } |
|
| 1445 | 1547 | |
| 1446 | 1548 | if (!empty($can_do_ttf)) |
| 1447 | 1549 | { |
| 1448 | 1550 | // GD2 handles font size differently. |
| 1449 | 1551 | if ($fontSizeRandom) |
| 1450 | - $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25); |
|
| 1451 | - else |
|
| 1452 | - $font_size = $gd2 ? 18 : 24; |
|
| 1552 | + { |
|
| 1553 | + $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25); |
|
| 1554 | + } |
|
| 1555 | + else { |
|
| 1556 | + $font_size = $gd2 ? 18 : 24; |
|
| 1557 | + } |
|
| 1453 | 1558 | |
| 1454 | 1559 | // Work out the sizes - also fix the character width cause TTF not quite so wide! |
| 1455 | 1560 | $font_x = $fontHorSpace === 'minus' && $cur_x > 0 ? $cur_x - 3 : $cur_x + 5; |
@@ -1457,7 +1562,9 @@ discard block |
||
| 1457 | 1562 | |
| 1458 | 1563 | // What font face? |
| 1459 | 1564 | if (!empty($ttfont_list)) |
| 1460 | - $fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)]; |
|
| 1565 | + { |
|
| 1566 | + $fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)]; |
|
| 1567 | + } |
|
| 1461 | 1568 | |
| 1462 | 1569 | // What color are we to do it in? |
| 1463 | 1570 | $is_reverse = $showReverseChars ? mt_rand(0, 1) : false; |
@@ -1465,20 +1572,27 @@ discard block |
||
| 1465 | 1572 | |
| 1466 | 1573 | $fontcord = @imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $char_color, $fontface, $character['id']); |
| 1467 | 1574 | if (empty($fontcord)) |
| 1468 | - $can_do_ttf = false; |
|
| 1575 | + { |
|
| 1576 | + $can_do_ttf = false; |
|
| 1577 | + } |
|
| 1469 | 1578 | elseif ($is_reverse !== false) |
| 1470 | 1579 | { |
| 1471 | 1580 | if (version_compare(PHP_VERSION, '8.1.0') === -1) |
| 1472 | - imagefilledpolygon($code_image, $fontcord, 4, $fg_color); |
|
| 1473 | - else |
|
| 1474 | - imagefilledpolygon($code_image, $fontcord, $fg_color); |
|
| 1581 | + { |
|
| 1582 | + imagefilledpolygon($code_image, $fontcord, 4, $fg_color); |
|
| 1583 | + } |
|
| 1584 | + else { |
|
| 1585 | + imagefilledpolygon($code_image, $fontcord, $fg_color); |
|
| 1586 | + } |
|
| 1475 | 1587 | |
| 1476 | 1588 | // Put the character back! |
| 1477 | 1589 | imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $randomness_color, $fontface, $character['id']); |
| 1478 | 1590 | } |
| 1479 | 1591 | |
| 1480 | 1592 | if ($can_do_ttf) |
| 1481 | - $cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3); |
|
| 1593 | + { |
|
| 1594 | + $cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3); |
|
| 1595 | + } |
|
| 1482 | 1596 | } |
| 1483 | 1597 | |
| 1484 | 1598 | if (!$can_do_ttf) |
@@ -1505,17 +1619,26 @@ discard block |
||
| 1505 | 1619 | |
| 1506 | 1620 | // Make the background color transparent on the hard image. |
| 1507 | 1621 | if (!$simpleBGColor) |
| 1508 | - imagecolortransparent($code_image, $bg_color); |
|
| 1622 | + { |
|
| 1623 | + imagecolortransparent($code_image, $bg_color); |
|
| 1624 | + } |
|
| 1509 | 1625 | |
| 1510 | 1626 | if ($hasBorder) |
| 1511 | - imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color); |
|
| 1627 | + { |
|
| 1628 | + imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color); |
|
| 1629 | + } |
|
| 1512 | 1630 | |
| 1513 | 1631 | // Add some noise to the background? |
| 1514 | 1632 | if ($noiseType != 'none') |
| 1515 | 1633 | { |
| 1516 | 1634 | for ($i = mt_rand(0, 2); $i < $max_height; $i += mt_rand(1, 2)) |
| 1517 | - for ($j = mt_rand(0, 10); $j < $total_width; $j += mt_rand(1, 10)) |
|
| 1518 | - imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color); |
|
| 1635 | + { |
|
| 1636 | + for ($j = mt_rand(0, 10); |
|
| 1637 | + } |
|
| 1638 | + $j < $total_width; $j += mt_rand(1, 10)) |
|
| 1639 | + { |
|
| 1640 | + imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color); |
|
| 1641 | + } |
|
| 1519 | 1642 | |
| 1520 | 1643 | // Put in some lines too? |
| 1521 | 1644 | if ($noiseType != 'extreme') |
@@ -1594,24 +1717,32 @@ discard block |
||
| 1594 | 1717 | global $settings; |
| 1595 | 1718 | |
| 1596 | 1719 | if (!is_dir($settings['default_theme_dir'] . '/fonts')) |
| 1597 | - return false; |
|
| 1720 | + { |
|
| 1721 | + return false; |
|
| 1722 | + } |
|
| 1598 | 1723 | |
| 1599 | 1724 | // Get a list of the available font directories. |
| 1600 | 1725 | $font_dir = dir($settings['default_theme_dir'] . '/fonts'); |
| 1601 | 1726 | $font_list = array(); |
| 1602 | 1727 | while ($entry = $font_dir->read()) |
| 1603 | - if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf')) |
|
| 1728 | + { |
|
| 1729 | + if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf')) |
|
| 1604 | 1730 | $font_list[] = $entry; |
| 1731 | + } |
|
| 1605 | 1732 | |
| 1606 | 1733 | if (empty($font_list)) |
| 1607 | - return false; |
|
| 1734 | + { |
|
| 1735 | + return false; |
|
| 1736 | + } |
|
| 1608 | 1737 | |
| 1609 | 1738 | // Pick a random font. |
| 1610 | 1739 | $random_font = $font_list[array_rand($font_list)]; |
| 1611 | 1740 | |
| 1612 | 1741 | // Check if the given letter exists. |
| 1613 | 1742 | if (!file_exists($settings['default_theme_dir'] . '/fonts/' . $random_font . '/' . $letter . '.gif')) |
| 1614 | - return false; |
|
| 1743 | + { |
|
| 1744 | + return false; |
|
| 1745 | + } |
|
| 1615 | 1746 | |
| 1616 | 1747 | // Include it! |
| 1617 | 1748 | header('Content-type: image/gif'); |