Changeset 1509 in ExiteCMS for branches/PLi-Fusion/includes/core_functions.php
- Timestamp:
- 07/02/08 18:27:06 (4 years ago)
- File:
-
- 1 edited
-
branches/PLi-Fusion/includes/core_functions.php (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/PLi-Fusion/includes/core_functions.php
r1408 r1509 14 14 +----------------------------------------------------*/ 15 15 if (eregi("core_functions.php", $_SERVER['PHP_SELF'])) die(); 16 17 // disable error reporting, we don't want to give anything away 18 error_reporting(E_USER_ERROR); 16 19 17 20 // code to calculate the page loading time, this can be used … … 80 83 define("PATH_ADMIN", PATH_ROOT."administration/"); 81 84 define("PATH_THEMES", PATH_ROOT."themes/"); 82 define("PATH_PHOTOS", PATH_ROOT."images/ photoalbum/");85 define("PATH_PHOTOS", PATH_ROOT."images/gallery/"); 83 86 define("PATH_IMAGES", PATH_ROOT."images/"); 84 87 define("PATH_IMAGES_A", PATH_IMAGES."articles/"); … … 97 100 98 101 // load the config file 99 if (file_exists(PATH_ROOT."config.php")) { 100 @include_once PATH_ROOT."config.php"; 102 @include_once PATH_ROOT."configpath.php"; 103 if (substr(CONFIG_PATH,0,1) == "/") { 104 if(is_file(CONFIG_PATH."/config.php")) { 105 @include_once CONFIG_PATH."/config.php"; 106 } 107 } else { 108 if(is_file(PATH_ROOT.CONFIG_PATH."/config.php")) { 109 @include_once PATH_ROOT.CONFIG_PATH."/config.php"; 110 } 101 111 } 102 112 103 113 // if config.php is absent or empty, bail out with an error 104 if (!isset($db_name)) die('FATAL ERROR: config file is missing. Check the documentationon how to run the setup');114 if (!isset($db_name)) terminate('FATAL ERROR: config file is missing. Check our Wiki at http://exitecms.exite.eu on how to run the setup'); 105 115 106 116 // load the database functions, and establish a database connection … … 186 196 require_once PATH_INCLUDES."user_functions.php"; 187 197 188 // activate query log debugging if set 189 if ($settings['debug_querylog'] != "") { 190 $_db_log = checkgroup($settings['debug_querylog']); 198 // set the query log debugging switch, enable error reporting if needed 199 $_db_log = checkgroup($settings['debug_querylog'], false); 200 // if debugging is requested, also activate some other debugging features 201 if ($_db_log) { 202 error_reporting(E_ALL); 191 203 } 192 204 … … 221 233 222 234 // image types we can generate a thumbnail from 223 $thumbtypes = array(".gif",".jpg",".jpeg",".png", );235 $thumbtypes = array(".gif",".jpg",".jpeg",".png",".bmp", ".psd"); 224 236 225 237 // debug function, handy to print a standard debug text … … 227 239 228 240 if (is_array($text)) { 241 echo "<br /><hr /><br /><pre>"; print_r($text); echo "</pre><br /><hr /><br />"; 242 } elseif (is_object($text)) { 229 243 echo "<br /><hr /><br /><pre>"; print_r($text); echo "</pre><br /><hr /><br />"; 230 244 } else { … … 352 366 } 353 367 354 // Parse smiley bbcode into HTML images 355 function parsesmileys($message) { 356 $smiley = array( 357 "#\:oops\:#si" => "<img src='".IMAGES."smiley/more/redface.gif' alt='smiley' />", 358 "#\;\)#si" => "<img src='".IMAGES."smiley/wink.gif' alt='smiley' />", 359 "#\:\(#si" => "<img src='".IMAGES."smiley/sad.gif' alt='smiley' />", 360 "#\:\|#si" => "<img src='".IMAGES."smiley/frown.gif' alt='smiley' />", 361 "#\:o#si" => "<img src='".IMAGES."smiley/shock.gif' alt='smiley' />", 362 "#\:p#si" => "<img src='".IMAGES."smiley/pfft.gif' alt='smiley' />", 363 "#b\)#si" => "<img src='".IMAGES."smiley/cool.gif' alt='smiley' />", 364 "#\:d#si" => "<img src='".IMAGES."smiley/grin.gif' alt='smiley' />", 365 "#\:@#si" => "<img src='".IMAGES."smiley/angry.gif' alt='smiley' />", 366 "#\:thumbleft#si" => "<img src='".IMAGES."smiley/more/icon_thumleft.gif' alt='smiley' />", 367 "#\:thumbright#si" => "<img src='".IMAGES."smiley/more/icon_thumright.gif' alt='smiley' />", 368 "#=D>#si" => "<img src='".IMAGES."smiley/more/eusa_clap.gif' alt='smiley' />", 369 "#\\\:D/#si" => "<img src='".IMAGES."smiley/more/eusa_dance.gif' alt='smiley' />", 370 "#\:D#si" => "<img src='".IMAGES."smiley/more/biggrin.gif' alt='smiley' />", 371 "#\:smt014#si" => "<img src='".IMAGES."smiley/more/014.gif' alt='smiley' />", 372 "#\:boring#si" => "<img src='".IMAGES."smiley/more/015.gif' alt='smiley' />", 373 "#\:smt018#si" => "<img src='".IMAGES."smiley/more/018.gif' alt='smiley' />", 374 "#\:smt022#si" => "<img src='".IMAGES."smiley/more/022.gif' alt='smiley' />", 375 "#\:smt071#si" => "<img src='".IMAGES."smiley/more/071.gif' alt='smiley' />", 376 "#\:smt102#si" => "<img src='".IMAGES."smiley/more/102.gif' alt='smiley' />", 377 "#\:smt100#si" => "<img src='".IMAGES."smiley/more/100.gif' alt='smiley' />", 378 "#\:\-D#si" => "<img src='".IMAGES."smiley/more/003.gif' alt='smiley' />", 379 "#\:\-\)#si" => "<img src='".IMAGES."smiley/more/001.gif' alt='smiley' />", 380 "#\:\(#si" => "<img src='".IMAGES."smiley/more/sad.gif' alt='smiley' />", 381 "#\:o#si" => "<img src='".IMAGES."smiley/more/surprised.gif' alt='smiley' />", 382 "#\:shock\:#si" => "<img src='".IMAGES."smiley/more/shock.gif' alt='smiley' />", 383 "#8\)#si" => "<img src='".IMAGES."smiley/more/cool.gif' alt='smiley' />", 384 "#\:lol\:#si" => "<img src='".IMAGES."smiley/more/lol.gif' alt='smiley' />", 385 "#\:x#si" => "<img src='".IMAGES."smiley/more/mad.gif' alt='smiley' />", 386 "#\:\-x#si" => "<img src='".IMAGES."smiley/more/icon_mad.gif' alt='smiley' />", 387 "#\:P#si" => "<img src='".IMAGES."smiley/more/icon_razz.gif' alt='smiley' />", 388 "#\:razz\:#si" => "<img src='".IMAGES."smiley/more/razz.gif' alt='smiley' />", 389 "#\:cry\:#si" => "<img src='".IMAGES."smiley/more/cry.gif' alt='smiley' />", 390 "#\:evil\:#si" => "<img src='".IMAGES."smiley/more/evil.gif' alt='smiley' />", 391 "#\:twisted\:#si" => "<img src='".IMAGES."smiley/more/icon_twisted.gif' alt='smiley' />", 392 "#\:roll\:#si" => "<img src='".IMAGES."smiley/more/rolleyes.gif' alt='smiley' />", 393 "#\:wink\:#si" => "<img src='".IMAGES."smiley/more/wink.gif' alt='smiley' />", 394 "#\;\-\)#si" => "<img src='".IMAGES."smiley/more/002.gif' alt='smiley' />", 395 "#\:\!\:#si" => "<img src='".IMAGES."smiley/more/exclaim.gif' alt='smiley' />", 396 "#\:\?\:#si" => "<img src='".IMAGES."smiley/more/question.gif' alt='smiley' />", 397 "#\:\?#si" => "<img src='".IMAGES."smiley/more/confused.gif' alt='smiley' />", 398 "#\:idea\:#si" => "<img src='".IMAGES."smiley/more/idea.gif' alt='smiley' />", 399 "#\:arrow\:#si" => "<img src='".IMAGES."smiley/more/arrow.gif' alt='smiley' />", 400 "#\:\|#si" => "<img src='".IMAGES."smiley/more/neutral.gif' alt='smiley' />", 401 "#\:mrgreen\:#si" => "<img src='".IMAGES."smiley/more/icon_mrgreen.gif' alt='smiley' />", 402 "#\:badgrin\:#si" => "<img src='".IMAGES."smiley/more/badgrin.gif' alt='smiley' />", 403 "#\:doubt\:#si" => "<img src='".IMAGES."smiley/more/doubt.gif' alt='smiley' />", 404 "#\#\-o#si" => "<img src='".IMAGES."smiley/more/eusa_doh.gif' alt='smiley' />", 405 "#\=P\~#si" => "<img src='".IMAGES."smiley/more/eusa_drool.gif' alt='smiley' />", 406 "#\:\^o#si" => "<img src='".IMAGES."smiley/more/eusa_liar.gif' alt='smiley' />", 407 "#\[\-X#si" => "<img src='".IMAGES."smiley/more/eusa_naughty.gif' alt='smiley' />", 408 "#\[\-o\<\;#si" => "<img src='".IMAGES."smiley/more/eusa_pray.gif' alt='smiley' />", 409 "#8\-\[#si" => "<img src='".IMAGES."smiley/more/eusa_shifty.gif' alt='smiley' />", 410 "#\[\-\(#si" => "<img src='".IMAGES."smiley/more/eusa_snooty.gif' alt='smiley' />", 411 "#\:\-k#si" => "<img src='".IMAGES."smiley/more/eusa_think.gif' alt='smiley' />", 412 "#\]\(\*\,\)#si" => "<img src='".IMAGES."smiley/more/eusa_wall.gif' alt='smiley' />", 413 // "#\:\-\"#si" => "<img src='".IMAGES."smiley/more/eusa_whistle.gif' alt='smiley' />", 414 "#O\:\)#si" => "<img src='".IMAGES."smiley/more/eusa_angel.gif' alt='smiley' />", 415 "#\=\;#si" => "<img src='".IMAGES."smiley/more/eusa_hand.gif' alt='smiley' />", 416 "#\:\-\&#si" => "<img src='".IMAGES."smiley/more/eusa_sick.gif' alt='smiley' />", 417 "#\:\-\(\{\|\=#si" => "<img src='".IMAGES."smiley/more/eusa_boohoo.gif' alt='smiley' />", 418 "#\:\-\$#si" => "<img src='".IMAGES."smiley/more/eusa_shhh.gif' alt='smiley' />", 419 "#\:\-s#si" => "<img src='".IMAGES."smiley/more/eusa_eh.gif' alt='smiley' />", 420 "#\:\-\##si" => "<img src='".IMAGES."smiley/more/eusa_silenced.gif' alt='smiley' />", 421 "#\:smt004#si" => "<img src='".IMAGES."smiley/more/004.gif' alt='smiley' />", 422 "#\:smt005#si" => "<img src='".IMAGES."smiley/more/005.gif' alt='smiley' />", 423 "#\:smt006#si" => "<img src='".IMAGES."smiley/more/006.gif' alt='smiley' />", 424 "#\:smt007#si" => "<img src='".IMAGES."smiley/more/007.gif' alt='smiley' />", 425 "#\:smt008#si" => "<img src='".IMAGES."smiley/more/008.gif' alt='smiley' />", 426 "#\:smt009#si" => "<img src='".IMAGES."smiley/more/009.gif' alt='smiley' />", 427 "#\:smt010#si" => "<img src='".IMAGES."smiley/more/010.gif' alt='smiley' />", 428 "#\:smt011#si" => "<img src='".IMAGES."smiley/more/011.gif' alt='smiley' />", 429 "#\:smt012#si" => "<img src='".IMAGES."smiley/more/012.gif' alt='smiley' />", 430 "#\:smt013#si" => "<img src='".IMAGES."smiley/more/013.gif' alt='smiley' />", 431 "#\:smt016#si" => "<img src='".IMAGES."smiley/more/016.gif' alt='smiley' />", 432 "#\:smt017#si" => "<img src='".IMAGES."smiley/more/017.gif' alt='smiley' />", 433 "#\:smt019#si" => "<img src='".IMAGES."smiley/more/019.gif' alt='smiley' />", 434 "#\:smt020#si" => "<img src='".IMAGES."smiley/more/020.gif' alt='smiley' />", 435 "#\:smt021#si" => "<img src='".IMAGES."smiley/more/021.gif' alt='smiley' />", 436 "#\:smt023#si" => "<img src='".IMAGES."smiley/more/023.gif' alt='smiley' />", 437 "#\:smt024#si" => "<img src='".IMAGES."smiley/more/024.gif' alt='smiley' />", 438 "#\:smt025#si" => "<img src='".IMAGES."smiley/more/025.gif' alt='smiley' />", 439 "#\:smt026#si" => "<img src='".IMAGES."smiley/more/026.gif' alt='smiley' />", 440 "#\:smt027#si" => "<img src='".IMAGES."smiley/more/027.gif' alt='smiley' />", 441 "#\:smt028#si" => "<img src='".IMAGES."smiley/more/028.gif' alt='smiley' />", 442 "#\:smt029#si" => "<img src='".IMAGES."smiley/more/029.gif' alt='smiley' />", 443 "#\:smt030#si" => "<img src='".IMAGES."smiley/more/030.gif' alt='smiley' />", 444 "#\:smt031#si" => "<img src='".IMAGES."smiley/more/031.gif' alt='smiley' />", 445 "#\:smt032#si" => "<img src='".IMAGES."smiley/more/032.gif' alt='smiley' />", 446 "#\:smt033#si" => "<img src='".IMAGES."smiley/more/033.gif' alt='smiley' />", 447 "#\:smt034#si" => "<img src='".IMAGES."smiley/more/034.gif' alt='smiley' />", 448 "#\:smt035#si" => "<img src='".IMAGES."smiley/more/035.gif' alt='smiley' />", 449 "#\:smt036#si" => "<img src='".IMAGES."smiley/more/036.gif' alt='smiley' />", 450 "#\:smt037#si" => "<img src='".IMAGES."smiley/more/037.gif' alt='smiley' />", 451 "#\:smt038#si" => "<img src='".IMAGES."smiley/more/038.gif' alt='smiley' />", 452 "#\:smt039#si" => "<img src='".IMAGES."smiley/more/039.gif' alt='smiley' />", 453 "#\:smt040#si" => "<img src='".IMAGES."smiley/more/040.gif' alt='smiley' />", 454 "#\:smt041#si" => "<img src='".IMAGES."smiley/more/041.gif' alt='smiley' />", 455 "#\:smt042#si" => "<img src='".IMAGES."smiley/more/042.gif' alt='smiley' />", 456 "#\:smt043#si" => "<img src='".IMAGES."smiley/more/043.gif' alt='smiley' />", 457 "#\:smt044#si" => "<img src='".IMAGES."smiley/more/044.gif' alt='smiley' />", 458 "#\:smt045#si" => "<img src='".IMAGES."smiley/more/045.gif' alt='smiley' />", 459 "#\:smt046#si" => "<img src='".IMAGES."smiley/more/046.gif' alt='smiley' />", 460 "#\:smt047#si" => "<img src='".IMAGES."smiley/more/047.gif' alt='smiley' />", 461 "#\:smt048#si" => "<img src='".IMAGES."smiley/more/048.gif' alt='smiley' />", 462 "#\:smt049#si" => "<img src='".IMAGES."smiley/more/049.gif' alt='smiley' />", 463 "#\:smt050#si" => "<img src='".IMAGES."smiley/more/050.gif' alt='smiley' />", 464 "#\:smt051#si" => "<img src='".IMAGES."smiley/more/051.gif' alt='smiley' />", 465 "#\:smt052#si" => "<img src='".IMAGES."smiley/more/052.gif' alt='smiley' />", 466 "#\:smt053#si" => "<img src='".IMAGES."smiley/more/053.gif' alt='smiley' />", 467 "#\:smt054#si" => "<img src='".IMAGES."smiley/more/054.gif' alt='smiley' />", 468 "#\:smt055#si" => "<img src='".IMAGES."smiley/more/055.gif' alt='smiley' />", 469 "#\:smt056#si" => "<img src='".IMAGES."smiley/more/056.gif' alt='smiley' />", 470 "#\:smt057#si" => "<img src='".IMAGES."smiley/more/057.gif' alt='smiley' />", 471 "#\:smt058#si" => "<img src='".IMAGES."smiley/more/058.gif' alt='smiley' />", 472 "#\:smt059#si" => "<img src='".IMAGES."smiley/more/059.gif' alt='smiley' />", 473 "#\:smt060#si" => "<img src='".IMAGES."smiley/more/060.gif' alt='smiley' />", 474 "#\:smt061#si" => "<img src='".IMAGES."smiley/more/061.gif' alt='smiley' />", 475 "#\:smt062#si" => "<img src='".IMAGES."smiley/more/062.gif' alt='smiley' />", 476 "#\:smt063#si" => "<img src='".IMAGES."smiley/more/063.gif' alt='smiley' />", 477 "#\:smt064#si" => "<img src='".IMAGES."smiley/more/064.gif' alt='smiley' />", 478 "#\:smt065#si" => "<img src='".IMAGES."smiley/more/065.gif' alt='smiley' />", 479 "#\:smt066#si" => "<img src='".IMAGES."smiley/more/066.gif' alt='smiley' />", 480 "#\:smt067#si" => "<img src='".IMAGES."smiley/more/067.gif' alt='smiley' />", 481 "#\:smt068#si" => "<img src='".IMAGES."smiley/more/068.gif' alt='smiley' />", 482 "#\:smt069#si" => "<img src='".IMAGES."smiley/more/069.gif' alt='smiley' />", 483 "#\:smt070#si" => "<img src='".IMAGES."smiley/more/070.gif' alt='smiley' />", 484 "#\:smt073#si" => "<img src='".IMAGES."smiley/more/073.gif' alt='smiley' />", 485 "#\:smt074#si" => "<img src='".IMAGES."smiley/more/074.gif' alt='smiley' />", 486 "#\:smt075#si" => "<img src='".IMAGES."smiley/more/075.gif' alt='smiley' />", 487 "#\:smt076#si" => "<img src='".IMAGES."smiley/more/076.gif' alt='smiley' />", 488 "#\:smt077#si" => "<img src='".IMAGES."smiley/more/077.gif' alt='smiley' />", 489 "#\:smt078#si" => "<img src='".IMAGES."smiley/more/078.gif' alt='smiley' />", 490 "#\:smt079#si" => "<img src='".IMAGES."smiley/more/079.gif' alt='smiley' />", 491 "#\:smt080#si" => "<img src='".IMAGES."smiley/more/080.gif' alt='smiley' />", 492 "#\:smt081#si" => "<img src='".IMAGES."smiley/more/081.gif' alt='smiley' />", 493 "#\:smt082#si" => "<img src='".IMAGES."smiley/more/082.gif' alt='smiley' />", 494 "#\:smt083#si" => "<img src='".IMAGES."smiley/more/083.gif' alt='smiley' />", 495 "#\:smt084#si" => "<img src='".IMAGES."smiley/more/084.gif' alt='smiley' />", 496 "#\:smt085#si" => "<img src='".IMAGES."smiley/more/085.gif' alt='smiley' />", 497 "#\:smt086#si" => "<img src='".IMAGES."smiley/more/086.gif' alt='smiley' />", 498 "#\:smt087#si" => "<img src='".IMAGES."smiley/more/087.gif' alt='smiley' />", 499 "#\:smt088#si" => "<img src='".IMAGES."smiley/more/088.gif' alt='smiley' />", 500 "#\:smt089#si" => "<img src='".IMAGES."smiley/more/089.gif' alt='smiley' />", 501 "#\:smt090#si" => "<img src='".IMAGES."smiley/more/090.gif' alt='smiley' />", 502 "#\:smt091#si" => "<img src='".IMAGES."smiley/more/091.gif' alt='smiley' />", 503 "#\:smt092#si" => "<img src='".IMAGES."smiley/more/092.gif' alt='smiley' />", 504 "#\:smt093#si" => "<img src='".IMAGES."smiley/more/093.gif' alt='smiley' />", 505 "#\:smt084#si" => "<img src='".IMAGES."smiley/more/094.gif' alt='smiley' />", 506 "#\:smt095#si" => "<img src='".IMAGES."smiley/more/095.gif' alt='smiley' />", 507 "#\:smt096#si" => "<img src='".IMAGES."smiley/more/096.gif' alt='smiley' />", 508 "#\:smt097#si" => "<img src='".IMAGES."smiley/more/097.gif' alt='smiley' />", 509 "#\:smt098#si" => "<img src='".IMAGES."smiley/more/098.gif' alt='smiley' />", 510 "#\:smt099#si" => "<img src='".IMAGES."smiley/more/099.gif' alt='smiley' />", 511 "#\:smt101#si" => "<img src='".IMAGES."smiley/more/101.gif' alt='smiley' />", 512 "#\:smt103#si" => "<img src='".IMAGES."smiley/more/103.gif' alt='smiley' />", 513 "#\:smt104#si" => "<img src='".IMAGES."smiley/more/104.gif' alt='smiley' />", 514 "#\:smt105#si" => "<img src='".IMAGES."smiley/more/105.gif' alt='smiley' />", 515 "#\:smt106#si" => "<img src='".IMAGES."smiley/more/106.gif' alt='smiley' />", 516 "#\:smt107#si" => "<img src='".IMAGES."smiley/more/107.gif' alt='smiley' />", 517 "#\:smt108#si" => "<img src='".IMAGES."smiley/more/108.gif' alt='smiley' />", 518 "#\:smt109#si" => "<img src='".IMAGES."smiley/more/109.gif' alt='smiley' />", 519 "#\:smt110#si" => "<img src='".IMAGES."smiley/more/110.gif' alt='smiley' />", 520 "#\:smt111#si" => "<img src='".IMAGES."smiley/more/111.gif' alt='smiley' />", 521 "#\:smt112#si" => "<img src='".IMAGES."smiley/more/112.gif' alt='smiley' />", 522 "#\:smt113#si" => "<img src='".IMAGES."smiley/more/113.gif' alt='smiley' />", 523 "#\:smt114#si" => "<img src='".IMAGES."smiley/more/114.gif' alt='smiley' />", 524 "#\:smt115#si" => "<img src='".IMAGES."smiley/more/115.gif' alt='smiley' />", 525 "#\:smt116#si" => "<img src='".IMAGES."smiley/more/116.gif' alt='smiley' />", 526 "#\:smt117#si" => "<img src='".IMAGES."smiley/more/117.gif' alt='smiley' />", 527 "#\:smt118#si" => "<img src='".IMAGES."smiley/more/118.gif' alt='smiley' />", 528 "#\:smt119#si" => "<img src='".IMAGES."smiley/more/119.gif' alt='smiley' />", 529 "#\:smt120#si" => "<img src='".IMAGES."smiley/more/120.gif' alt='smiley' />", 530 "#\:\)#si" => "<img src='".IMAGES."smiley/smile.gif' alt='smiley' />" 531 ); 532 foreach($smiley as $key=>$smiley_img) { 533 $message = preg_replace($key, $smiley_img, $message); 534 } 535 return $message; 536 } 537 538 // internal function: preg_replace_callback for parseubb, to validate the URL found in [url] 539 function _parseubb_checkurl($matches) { 540 541 // if it's a old-style bbcode (not [url=][/url] but [url][/url]), convert it before checking 542 if (empty($matches[2])) { 543 $matches[2] = $matches[3]; 544 } 368 // validate an IP address 369 function isIP($value){ 370 return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $value); 371 } 372 373 // validate an URL 374 function isURL($value, $onlyhttp=false) { 545 375 546 376 // Build the regex to check the URL 547 $scheme = "(https?|s?ftp|mailto|svn|cvs|callto|mms|skype)\:\/\/"; // SCHEMES supported 377 if ($onlyhttp) { 378 $scheme = "(https?)\:\/\/"; // HTTP SCHEMES supported 379 } else { 380 $scheme = "(https?|s?ftp|mailto|svn|cvs|callto|mms|skype)\:\/\/"; // ALL SCHEMES supported 381 } 548 382 $urlregex = "^(".$scheme.")?"; // make the scheme optional 549 383 $urlregex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // USERID + PASSWORD (optional) … … 553 387 $urlregex .= "(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?"; // GET querystring (optional) 554 388 $urlregex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?\$"; // ANCHOR (optional) 389 // validate the URL 390 return eregi($urlregex, $value); 391 } 392 393 // Parse smiley bbcode into HTML images 394 function parsesmileys($message) { 395 $smiley = array( 396 "\:oops\:" => "<img src='".IMAGES."smiley/more/redface.gif' alt='smiley' />", 397 "\:doubt\:" => "<img src='".IMAGES."smiley/more/doubt.gif' alt='smiley' />", 398 "\:thumbleft" => "<img src='".IMAGES."smiley/more/icon_thumleft.gif' alt='smiley' />", 399 "\:thumbright" => "<img src='".IMAGES."smiley/more/icon_thumright.gif' alt='smiley' />", 400 "\:smt004" => "<img src='".IMAGES."smiley/more/004.gif' alt='smiley' />", 401 "\:smt005" => "<img src='".IMAGES."smiley/more/005.gif' alt='smiley' />", 402 "\:smt006" => "<img src='".IMAGES."smiley/more/006.gif' alt='smiley' />", 403 "\:smt007" => "<img src='".IMAGES."smiley/more/007.gif' alt='smiley' />", 404 "\:smt008" => "<img src='".IMAGES."smiley/more/008.gif' alt='smiley' />", 405 "\:smt009" => "<img src='".IMAGES."smiley/more/009.gif' alt='smiley' />", 406 "\:smt010" => "<img src='".IMAGES."smiley/more/010.gif' alt='smiley' />", 407 "\:smt011" => "<img src='".IMAGES."smiley/more/011.gif' alt='smiley' />", 408 "\:smt012" => "<img src='".IMAGES."smiley/more/012.gif' alt='smiley' />", 409 "\:smt013" => "<img src='".IMAGES."smiley/more/013.gif' alt='smiley' />", 410 "\:smt014" => "<img src='".IMAGES."smiley/more/014.gif' alt='smiley' />", 411 "\:smt016" => "<img src='".IMAGES."smiley/more/016.gif' alt='smiley' />", 412 "\:smt017" => "<img src='".IMAGES."smiley/more/017.gif' alt='smiley' />", 413 "\:smt018" => "<img src='".IMAGES."smiley/more/018.gif' alt='smiley' />", 414 "\:smt019" => "<img src='".IMAGES."smiley/more/019.gif' alt='smiley' />", 415 "\:smt020" => "<img src='".IMAGES."smiley/more/020.gif' alt='smiley' />", 416 "\:smt021" => "<img src='".IMAGES."smiley/more/021.gif' alt='smiley' />", 417 "\:smt022" => "<img src='".IMAGES."smiley/more/022.gif' alt='smiley' />", 418 "\:smt023" => "<img src='".IMAGES."smiley/more/023.gif' alt='smiley' />", 419 "\:smt024" => "<img src='".IMAGES."smiley/more/024.gif' alt='smiley' />", 420 "\:smt025" => "<img src='".IMAGES."smiley/more/025.gif' alt='smiley' />", 421 "\:smt026" => "<img src='".IMAGES."smiley/more/026.gif' alt='smiley' />", 422 "\:smt027" => "<img src='".IMAGES."smiley/more/027.gif' alt='smiley' />", 423 "\:smt028" => "<img src='".IMAGES."smiley/more/028.gif' alt='smiley' />", 424 "\:smt029" => "<img src='".IMAGES."smiley/more/029.gif' alt='smiley' />", 425 "\:smt030" => "<img src='".IMAGES."smiley/more/030.gif' alt='smiley' />", 426 "\:smt031" => "<img src='".IMAGES."smiley/more/031.gif' alt='smiley' />", 427 "\:smt032" => "<img src='".IMAGES."smiley/more/032.gif' alt='smiley' />", 428 "\:smt033" => "<img src='".IMAGES."smiley/more/033.gif' alt='smiley' />", 429 "\:smt034" => "<img src='".IMAGES."smiley/more/034.gif' alt='smiley' />", 430 "\:smt035" => "<img src='".IMAGES."smiley/more/035.gif' alt='smiley' />", 431 "\:smt036" => "<img src='".IMAGES."smiley/more/036.gif' alt='smiley' />", 432 "\:smt037" => "<img src='".IMAGES."smiley/more/037.gif' alt='smiley' />", 433 "\:smt038" => "<img src='".IMAGES."smiley/more/038.gif' alt='smiley' />", 434 "\:smt039" => "<img src='".IMAGES."smiley/more/039.gif' alt='smiley' />", 435 "\:smt040" => "<img src='".IMAGES."smiley/more/040.gif' alt='smiley' />", 436 "\:smt041" => "<img src='".IMAGES."smiley/more/041.gif' alt='smiley' />", 437 "\:smt042" => "<img src='".IMAGES."smiley/more/042.gif' alt='smiley' />", 438 "\:smt043" => "<img src='".IMAGES."smiley/more/043.gif' alt='smiley' />", 439 "\:smt044" => "<img src='".IMAGES."smiley/more/044.gif' alt='smiley' />", 440 "\:smt045" => "<img src='".IMAGES."smiley/more/045.gif' alt='smiley' />", 441 "\:smt046" => "<img src='".IMAGES."smiley/more/046.gif' alt='smiley' />", 442 "\:smt047" => "<img src='".IMAGES."smiley/more/047.gif' alt='smiley' />", 443 "\:smt048" => "<img src='".IMAGES."smiley/more/048.gif' alt='smiley' />", 444 "\:smt049" => "<img src='".IMAGES."smiley/more/049.gif' alt='smiley' />", 445 "\:smt050" => "<img src='".IMAGES."smiley/more/050.gif' alt='smiley' />", 446 "\:smt051" => "<img src='".IMAGES."smiley/more/051.gif' alt='smiley' />", 447 "\:smt052" => "<img src='".IMAGES."smiley/more/052.gif' alt='smiley' />", 448 "\:smt053" => "<img src='".IMAGES."smiley/more/053.gif' alt='smiley' />", 449 "\:smt054" => "<img src='".IMAGES."smiley/more/054.gif' alt='smiley' />", 450 "\:smt055" => "<img src='".IMAGES."smiley/more/055.gif' alt='smiley' />", 451 "\:smt056" => "<img src='".IMAGES."smiley/more/056.gif' alt='smiley' />", 452 "\:smt057" => "<img src='".IMAGES."smiley/more/057.gif' alt='smiley' />", 453 "\:smt058" => "<img src='".IMAGES."smiley/more/058.gif' alt='smiley' />", 454 "\:smt059" => "<img src='".IMAGES."smiley/more/059.gif' alt='smiley' />", 455 "\:smt060" => "<img src='".IMAGES."smiley/more/060.gif' alt='smiley' />", 456 "\:smt061" => "<img src='".IMAGES."smiley/more/061.gif' alt='smiley' />", 457 "\:smt062" => "<img src='".IMAGES."smiley/more/062.gif' alt='smiley' />", 458 "\:smt063" => "<img src='".IMAGES."smiley/more/063.gif' alt='smiley' />", 459 "\:smt064" => "<img src='".IMAGES."smiley/more/064.gif' alt='smiley' />", 460 "\:smt065" => "<img src='".IMAGES."smiley/more/065.gif' alt='smiley' />", 461 "\:smt066" => "<img src='".IMAGES."smiley/more/066.gif' alt='smiley' />", 462 "\:smt067" => "<img src='".IMAGES."smiley/more/067.gif' alt='smiley' />", 463 "\:smt068" => "<img src='".IMAGES."smiley/more/068.gif' alt='smiley' />", 464 "\:smt069" => "<img src='".IMAGES."smiley/more/069.gif' alt='smiley' />", 465 "\:smt070" => "<img src='".IMAGES."smiley/more/070.gif' alt='smiley' />", 466 "\:smt073" => "<img src='".IMAGES."smiley/more/073.gif' alt='smiley' />", 467 "\:smt074" => "<img src='".IMAGES."smiley/more/074.gif' alt='smiley' />", 468 "\:smt075" => "<img src='".IMAGES."smiley/more/075.gif' alt='smiley' />", 469 "\:smt076" => "<img src='".IMAGES."smiley/more/076.gif' alt='smiley' />", 470 "\:smt077" => "<img src='".IMAGES."smiley/more/077.gif' alt='smiley' />", 471 "\:smt078" => "<img src='".IMAGES."smiley/more/078.gif' alt='smiley' />", 472 "\:smt079" => "<img src='".IMAGES."smiley/more/079.gif' alt='smiley' />", 473 "\:smt080" => "<img src='".IMAGES."smiley/more/080.gif' alt='smiley' />", 474 "\:smt081" => "<img src='".IMAGES."smiley/more/081.gif' alt='smiley' />", 475 "\:smt082" => "<img src='".IMAGES."smiley/more/082.gif' alt='smiley' />", 476 "\:smt083" => "<img src='".IMAGES."smiley/more/083.gif' alt='smiley' />", 477 "\:smt084" => "<img src='".IMAGES."smiley/more/084.gif' alt='smiley' />", 478 "\:smt085" => "<img src='".IMAGES."smiley/more/085.gif' alt='smiley' />", 479 "\:smt086" => "<img src='".IMAGES."smiley/more/086.gif' alt='smiley' />", 480 "\:smt087" => "<img src='".IMAGES."smiley/more/087.gif' alt='smiley' />", 481 "\:smt088" => "<img src='".IMAGES."smiley/more/088.gif' alt='smiley' />", 482 "\:smt089" => "<img src='".IMAGES."smiley/more/089.gif' alt='smiley' />", 483 "\:smt090" => "<img src='".IMAGES."smiley/more/090.gif' alt='smiley' />", 484 "\:smt091" => "<img src='".IMAGES."smiley/more/091.gif' alt='smiley' />", 485 "\:smt092" => "<img src='".IMAGES."smiley/more/092.gif' alt='smiley' />", 486 "\:smt093" => "<img src='".IMAGES."smiley/more/093.gif' alt='smiley' />", 487 "\:smt084" => "<img src='".IMAGES."smiley/more/094.gif' alt='smiley' />", 488 "\:smt095" => "<img src='".IMAGES."smiley/more/095.gif' alt='smiley' />", 489 "\:smt096" => "<img src='".IMAGES."smiley/more/096.gif' alt='smiley' />", 490 "\:smt097" => "<img src='".IMAGES."smiley/more/097.gif' alt='smiley' />", 491 "\:smt098" => "<img src='".IMAGES."smiley/more/098.gif' alt='smiley' />", 492 "\:smt099" => "<img src='".IMAGES."smiley/more/099.gif' alt='smiley' />", 493 "\:smt101" => "<img src='".IMAGES."smiley/more/101.gif' alt='smiley' />", 494 "\:smt103" => "<img src='".IMAGES."smiley/more/103.gif' alt='smiley' />", 495 "\:smt104" => "<img src='".IMAGES."smiley/more/104.gif' alt='smiley' />", 496 "\:smt105" => "<img src='".IMAGES."smiley/more/105.gif' alt='smiley' />", 497 "\:smt106" => "<img src='".IMAGES."smiley/more/106.gif' alt='smiley' />", 498 "\:smt107" => "<img src='".IMAGES."smiley/more/107.gif' alt='smiley' />", 499 "\:smt108" => "<img src='".IMAGES."smiley/more/108.gif' alt='smiley' />", 500 "\:smt109" => "<img src='".IMAGES."smiley/more/109.gif' alt='smiley' />", 501 "\:smt110" => "<img src='".IMAGES."smiley/more/110.gif' alt='smiley' />", 502 "\:smt111" => "<img src='".IMAGES."smiley/more/111.gif' alt='smiley' />", 503 "\:smt112" => "<img src='".IMAGES."smiley/more/112.gif' alt='smiley' />", 504 "\:smt113" => "<img src='".IMAGES."smiley/more/113.gif' alt='smiley' />", 505 "\:smt114" => "<img src='".IMAGES."smiley/more/114.gif' alt='smiley' />", 506 "\:smt115" => "<img src='".IMAGES."smiley/more/115.gif' alt='smiley' />", 507 "\:smt116" => "<img src='".IMAGES."smiley/more/116.gif' alt='smiley' />", 508 "\:smt117" => "<img src='".IMAGES."smiley/more/117.gif' alt='smiley' />", 509 "\:smt118" => "<img src='".IMAGES."smiley/more/118.gif' alt='smiley' />", 510 "\:smt119" => "<img src='".IMAGES."smiley/more/119.gif' alt='smiley' />", 511 "\:smt120" => "<img src='".IMAGES."smiley/more/120.gif' alt='smiley' />", 512 "\:boring" => "<img src='".IMAGES."smiley/more/015.gif' alt='smiley' />", 513 "\:smt071" => "<img src='".IMAGES."smiley/more/071.gif' alt='smiley' />", 514 "\:smt102" => "<img src='".IMAGES."smiley/more/102.gif' alt='smiley' />", 515 "\:smt100" => "<img src='".IMAGES."smiley/more/100.gif' alt='smiley' />", 516 "\:shock\:" => "<img src='".IMAGES."smiley/more/shock.gif' alt='smiley' />", 517 "\:lol\:" => "<img src='".IMAGES."smiley/more/lol.gif' alt='smiley' />", 518 "\:razz\:" => "<img src='".IMAGES."smiley/more/razz.gif' alt='smiley' />", 519 "\:cry\:" => "<img src='".IMAGES."smiley/more/cry.gif' alt='smiley' />", 520 "\:evil\:" => "<img src='".IMAGES."smiley/more/evil.gif' alt='smiley' />", 521 "\:twisted\:" => "<img src='".IMAGES."smiley/more/icon_twisted.gif' alt='smiley' />", 522 "\:roll\:" => "<img src='".IMAGES."smiley/more/rolleyes.gif' alt='smiley' />", 523 "\:wink\:" => "<img src='".IMAGES."smiley/more/wink.gif' alt='smiley' />", 524 "\:idea\:" => "<img src='".IMAGES."smiley/more/idea.gif' alt='smiley' />", 525 "\:arrow\:" => "<img src='".IMAGES."smiley/more/arrow.gif' alt='smiley' />", 526 "\:mrgreen\:" => "<img src='".IMAGES."smiley/more/icon_mrgreen.gif' alt='smiley' />", 527 "\:badgrin\:" => "<img src='".IMAGES."smiley/more/badgrin.gif' alt='smiley' />", 528 "\;\)" => "<img src='".IMAGES."smiley/wink.gif' alt='smiley' />", 529 "\:\(" => "<img src='".IMAGES."smiley/sad.gif' alt='smiley' />", 530 "\:\|" => "<img src='".IMAGES."smiley/frown.gif' alt='smiley' />", 531 "\:o" => "<img src='".IMAGES."smiley/shock.gif' alt='smiley' />", 532 "\:p" => "<img src='".IMAGES."smiley/pfft.gif' alt='smiley' />", 533 "b\)" => "<img src='".IMAGES."smiley/cool.gif' alt='smiley' />", 534 "\:d" => "<img src='".IMAGES."smiley/grin.gif' alt='smiley' />", 535 "\:@" => "<img src='".IMAGES."smiley/angry.gif' alt='smiley' />", 536 "=D>" => "<img src='".IMAGES."smiley/more/eusa_clap.gif' alt='smiley' />", 537 "\\\:D/" => "<img src='".IMAGES."smiley/more/eusa_dance.gif' alt='smiley' />", 538 "\:D" => "<img src='".IMAGES."smiley/more/biggrin.gif' alt='smiley' />", 539 "\:\-D" => "<img src='".IMAGES."smiley/more/003.gif' alt='smiley' />", 540 "\:\-\)" => "<img src='".IMAGES."smiley/more/001.gif' alt='smiley' />", 541 "\:\(" => "<img src='".IMAGES."smiley/more/sad.gif' alt='smiley' />", 542 "\:o" => "<img src='".IMAGES."smiley/more/surprised.gif' alt='smiley' />", 543 "8\)" => "<img src='".IMAGES."smiley/more/cool.gif' alt='smiley' />", 544 "\:x" => "<img src='".IMAGES."smiley/more/mad.gif' alt='smiley' />", 545 "\:\-x" => "<img src='".IMAGES."smiley/more/icon_mad.gif' alt='smiley' />", 546 "\:P" => "<img src='".IMAGES."smiley/more/icon_razz.gif' alt='smiley' />", 547 "\;\-\)" => "<img src='".IMAGES."smiley/more/002.gif' alt='smiley' />", 548 "\:\!\:" => "<img src='".IMAGES."smiley/more/exclaim.gif' alt='smiley' />", 549 "\:\?\:" => "<img src='".IMAGES."smiley/more/question.gif' alt='smiley' />", 550 "\:\?" => "<img src='".IMAGES."smiley/more/confused.gif' alt='smiley' />", 551 "\:\|" => "<img src='".IMAGES."smiley/more/neutral.gif' alt='smiley' />", 552 "\#\-o" => "<img src='".IMAGES."smiley/more/eusa_doh.gif' alt='smiley' />", 553 "\=P\~" => "<img src='".IMAGES."smiley/more/eusa_drool.gif' alt='smiley' />", 554 "\:\^o" => "<img src='".IMAGES."smiley/more/eusa_liar.gif' alt='smiley' />", 555 "\[\-X" => "<img src='".IMAGES."smiley/more/eusa_naughty.gif' alt='smiley' />", 556 "\[\-o\<\;" => "<img src='".IMAGES."smiley/more/eusa_pray.gif' alt='smiley' />", 557 "8\-\[" => "<img src='".IMAGES."smiley/more/eusa_shifty.gif' alt='smiley' />", 558 "\[\-\(" => "<img src='".IMAGES."smiley/more/eusa_snooty.gif' alt='smiley' />", 559 "\:\-k" => "<img src='".IMAGES."smiley/more/eusa_think.gif' alt='smiley' />", 560 "\]\(\*\,\)" => "<img src='".IMAGES."smiley/more/eusa_wall.gif' alt='smiley' />", 561 "\:\-\"" => "<img src='".IMAGES."smiley/more/eusa_whistle.gif' alt='smiley' />", 562 "O\:\)" => "<img src='".IMAGES."smiley/more/eusa_angel.gif' alt='smiley' />", 563 "\=\;" => "<img src='".IMAGES."smiley/more/eusa_hand.gif' alt='smiley' />", 564 "\:\-\&" => "<img src='".IMAGES."smiley/more/eusa_sick.gif' alt='smiley' />", 565 "\:\-\(\{\|\=" => "<img src='".IMAGES."smiley/more/eusa_boohoo.gif' alt='smiley' />", 566 "\:\-\$" => "<img src='".IMAGES."smiley/more/eusa_shhh.gif' alt='smiley' />", 567 "\:\-s" => "<img src='".IMAGES."smiley/more/eusa_eh.gif' alt='smiley' />", 568 "\:\-\#" => "<img src='".IMAGES."smiley/more/eusa_silenced.gif' alt='smiley' />", 569 "\:\)" => "<img src='".IMAGES."smiley/smile.gif' alt='smiley' />" 570 ); 571 foreach($smiley as $key=>$smiley_img) { 572 $search = "#([[:space:]])".$key."([[:space:]])?#si"; 573 $replace = "\\1".$smiley_img."\\2"; 574 $message = preg_replace($search, $replace, $message); 575 } 576 return $message; 577 } 578 579 // internal function: preg_replace_callback for parseubb, to validate the URL found in [url] 580 function _parseubb_checkurl($matches) { 581 582 // if it's a old-style bbcode (not [url=][/url] but [url][/url]), convert it before checking 583 if (empty($matches[2])) { 584 $matches[2] = $matches[3]; 585 } 555 586 556 587 // validate the URL (in $matches[1]) 557 if ( eregi($urlregex,$matches[2])) {588 if (isURL($matches[2])) { 558 589 // check if the URL is prefixed. If not, assume http:// 559 if (!eregi("^( ".$scheme."){1}", $matches[2])) {590 if (!eregi("^((https?|s?ftp|mailto|svn|cvs|callto|mms|skype)\:\/\/){1}", $matches[2])) { 560 591 $matches[2] = "http://".$matches[2]; 561 592 } … … 566 597 return stripinput($matches[0]); 567 598 } 599 } 600 601 // internal function: preg_replace_callback for parseubb, to validate the IMG found in [img] 602 function _parseubb_checkimg($matches) { 603 global $locale; 604 605 // validate the URL (in $matches[1]) 606 if (isURL($matches[1], true)) { 607 if (verify_image($matches[1])) { 608 return "<img src=\"".$matches[1]."\" style=\"border:0px\" alt=\"\" />"; 609 } 610 } 611 // return a sanitized version of the orginal BBcode 612 return stripinput($matches[0]); 568 613 } 569 614 … … 580 625 $text = preg_replace('#\[center\](.*?)\[/center\]#si', '<center>\1</center>', $text); 581 626 582 // new youtube bbcode583 $text = preg_replace('#\[youtube\](.*?)\[/youtube\]#si', '<object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/\1"><param name="movie" value="http://www.youtube.com/v/\1"></param><param name="wmode" value="transparent"></param></object>', $text);584 585 627 // new wiki bbcode 586 628 if (isset($settings['wiki_forum_links']) && $settings['wiki_forum_links']) { 587 629 // add the link to the wiki page 588 $text = preg_replace('#\[wiki\](.*?)\[/wiki\]#si', '<a href="'.BASEDIR.'modules/wiki/index.php?wakka=\1" class="wiki_link" title=" ExiteCMS Wiki">\1</a>', $text);630 $text = preg_replace('#\[wiki\](.*?)\[/wiki\]#si', '<a href="'.BASEDIR.'modules/wiki/index.php?wakka=\1" class="wiki_link" title="'.$settings['wiki_wakka_name'].'">\1</a>', $text); 589 631 } else { 590 632 // strip the wiki bbcode … … 601 643 $text = preg_replace('#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\2</a>', $text); 602 644 $text = preg_replace('#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\3</a>', $text); 603 645 // small 604 646 $text = preg_replace('#\[small\](.*?)\[/small\]#si', '<span class=\'small\'>\1</span>', $text); 647 // color 605 648 $text = preg_replace('#\[color=(\#[0-9a-fA-F]{6}|black|blue|brown|cyan|grey|green|lime|maroon|navy|olive|orange|purple|red|silver|violet|white|yellow)\](.*?)\[/color\]#si', '<span style=\'color:\1\'>\2</span>', $text); 606 649 // new youtube bbcode 650 $text = preg_replace('#\[youtube\](.*?)\[/youtube\]#si', '<object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/\1"><param name="movie" value="http://www.youtube.com/v/\1"></param><param name="wmode" value="transparent"></param></object>', $text); 651 // flash movies 607 652 $text = preg_replace('#\[flash width=([0-9]*?) height=([0-9]*?)\]([^\s\'\";:\+]*?)(\.swf)\[/flash\]#si', '<object classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://active.macromedia.com/flash6/cabs/swflash.cab#version=6,0,0,0\' id=\'\3\4\' width=\'\1\' height=\'\2\'><param name=movie value=\'\3\4\'><param name=\'quality\' value=\'high\'><param name=\'bgcolor\' value=\'#ffffff\'><embed src=\'\3\4\' quality=\'high\' bgcolor=\'#ffffff\' width=\'\1\' height=\'\2\' type=\'application/x-shockwave-flash\' pluginspage=\'http://www.macromedia.com/go/getflashplayer\'></embed></object>', $text); 608 $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:0px\' alt=\'\' />'",$text); 609 653 // images 654 if (ini_get('allow_url_fopen')) { 655 $text = preg_replace_callback('#\[img\](.*?)\[/img\]#si', '_parseubb_checkimg', $text); 656 } else { 657 $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:0px\' alt=\'\' />'",$text); 658 } 659 // quotes 610 660 $text = preg_replace('#\[quote=([\r\n]*)(.*?)\]#si', '<b>\2 '.$locale['199'].':</b><br />[quote]', $text); 611 612 661 $qcount = substr_count($text, "[quote]"); $ccount = substr_count($text, "[code]"); 613 662 for ($i=0;$i < $qcount;$i++) $text = preg_replace('#\[quote\](.*?)\[/quote\]#si', '<div class=\'quote\'>\1</div>', $text); … … 646 695 $text = preg_replace('#([a-z]*)=([\`\'\"]*)javascript:#iU', '$1=$2nojavascript...', $text); 647 696 $text = preg_replace('#([a-z]*)=([\'\"]*)vbscript:#iU', '$1=$2novbscript...', $text); 648 //<span style="width: expression(alert('Ping!'));"></span> (only affects ie...)649 697 $text = preg_replace('#(<[^>]+)style=([\`\'\"]*).*expression\([^>]*>#iU', "$1>", $text); 650 698 $text = preg_replace('#(<[^>]+)style=([\`\'\"]*).*behaviour\([^>]*>#iU', "$1>", $text); … … 660 708 // Scan image files for malicious code 661 709 function verify_image($file) { 662 $txt = file_get_contents($file);663 710 $image_safe = true; 664 if (preg_match('#&(quot|lt|gt|nbsp);#i', $txt)) { $image_safe = false; } 665 elseif (preg_match("#&\#x([0-9a-f]+);#i", $txt)) { $image_safe = false; } 666 elseif (preg_match('#&\#([0-9]+);#i', $txt)) { $image_safe = false; } 667 elseif (preg_match("#([a-z]*)=([\`\'\"]*)script:#iU", $txt)) { $image_safe = false; } 668 elseif (preg_match("#([a-z]*)=([\`\'\"]*)javascript:#iU", $txt)) { $image_safe = false; } 669 elseif (preg_match("#([a-z]*)=([\'\"]*)vbscript:#iU", $txt)) { $image_safe = false; } 670 elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*expression\([^>]*>#iU", $txt)) { $image_safe = false; } 671 elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*behaviour\([^>]*>#iU", $txt)) { $image_safe = false; } 672 elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)[^>]*>#i", $txt)) { $image_safe = false; } 711 if (file_exists($file)) { 712 $er = error_reporting(0); 713 // get info about the image 714 $imginfo = @getimagesize($file); 715 // get the file contents 716 $txt = file_get_contents($file); 717 error_reporting($er); 718 if ($imginfo === false) { $image_safe = false; } 719 if ($txt === false) { $image_safe = false; } 720 elseif (preg_match('#&(quot|lt|gt|nbsp);#i', $txt)) { $image_safe = false; } 721 elseif (preg_match("#&\#x([0-9a-f]+);#i", $txt)) { $image_safe = false; } 722 elseif ($imginfo[2] != 5 && preg_match('#&\#([0-9]+);#i', $txt)) { $image_safe = false; } // skip for psd files 723 elseif (preg_match("#([a-z]*)=([\`\'\"]*)script:#iU", $txt)) { $image_safe = false; } 724 elseif (preg_match("#([a-z]*)=([\`\'\"]*)javascript:#iU", $txt)) { $image_safe = false; } 725 elseif (preg_match("#([a-z]*)=([\'\"]*)vbscript:#iU", $txt)) { $image_safe = false; } 726 elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*expression\([^>]*>#iU", $txt)) { $image_safe = false; } 727 elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*behaviour\([^>]*>#iU", $txt)) { $image_safe = false; } 728 elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)[^>]*>#i", $txt)) { $image_safe = false; } 729 } 673 730 return $image_safe; 674 731 } … … 981 1038 } 982 1039 } 1040 1041 1042 // replacement for die() 1043 function terminate($text) { 1044 die("<div style='font-family:Verdana,Sans-serif;font-size:11px;text-align:center;'>$text</div>"); 1045 } 983 1046 ?>
Note: See TracChangeset
for help on using the changeset viewer.
