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

    +160

    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
    <?php
    switch($_GET['action']){
    // ...
    /**
     * Обработка формы редактирования выпусков рассылок.
     * Практически полностью состоит из кастылей, потому ОООЧЕНЬ кривая !!
     */
    case 'add_atach':
        //Удаление атачей, (почему стоит выше, уже не помню, возможно косяк)
        if(isset($_POST['atach_del'])){
            foreach($_POST['atach_del'] as $value){
                 $atach_del_id=(int)$value;
                 $ata_del_rez=$db->Query("SELECT atach_file FROM atach WHERE atach_id='$atach_del_id'");
                 $ata_del_arr=mysql_fetch_array($ata_del_rez);
    // ...
    }
    // ...
    //не работающий блок как всегда, разработка заглохла
    if($div_table_add==''){
    // ...
    }
    // ...
    //собираем всё в кучку
    ?> 
    <table style="background-color:#EFEFDE; border-top-width: 2px; border-right-width: 2px;>...</table>
    <?php
    die();
    break;
    }
    }
    ?>

    А что тут добавить?.. Все предельно доступно описано в комментариях к коду. (С кавычками мог напутать, в этой мешанине даже редактор с подсветкой синтаксиса не помогает)

    Mervin, 17 Мая 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    foreach ( array( 'submenu' ) as $sub_loop ) {
        foreach ($$sub_loop as $parent => $sub) {
            foreach ($sub as $index => $data) {
               ....
            }
        }
    }

    Источник wordpress 3.1.1 (хотя данный код тянется еще с 2008 года).
    Файл /wp-admin/includes/menu.php

    Явно интересный код :)

    asinyakov, 16 Мая 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $var = 'element';
    if(preg_match('#^.{7}$#', $var)) {
       // .....
    } else {
      // .....
    }

    Давно рассказывал мне один программист как определять длину строки

    taral, 15 Мая 2011

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

    +157

    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
    $day = date('w');
    if($day == 0 || $day == 3 || $day == 4)
    {
    	$me->handsDown();
    	$words = $music = $strength = false;
    	$me->separateWith($you);
    	$me->askForHelp($words);
    }
    
    try{
    	$key = md5(rand(0, 100));
    	$me->closeHouse($key);
    	unset($key);
    }
    catch(e){
    	while($light && $candle->getLight())
    		$me->believe($_GLOBALS);
    }
    
    doSilence();
    try{
    	$me->sing();
    }
    catch(e){
    	$me->spreadShoulders($_GLOBALS['song']);
    	$difficulty = $me->silent(); //often big (bug?)
    }
    
    $days_rest = $time_end - time(); //often small (bug!)
    /*
    you may uncomment - that doesn't matter
    $snow(); //true
    $warm_blood(); //false
    */
    while($light && $candle->getLight())
    	for($i = 0; $i < 100; ++$i)
    		$me->beginFrom(BEGINNING);

    Если есть желание, попробуйте угадать песню. ;)
    Все остальные могут минусовать.

    ling, 15 Мая 2011

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function mysql_escape($s)
    {
    	if (preg_match('/\b(select|union|update|replace|delete|create)\b/ui', $s))
    		return null;
    
    	return mysql_escape_string($s);
    }

    SQL Injection не пройдёт!

    vsu, 14 Мая 2011

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

    +168

    1. 1
    <? echo convert($current_order['post_price']-1+1, 'CNY', $order_currency); ?>

    цена плюсминусадин

    Axell, 14 Мая 2011

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

    +146

    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
    function hsl2rgb($h, $s, $v) {
        if($s == 0) { //если насыщенность цвета равно 0, то мы имеем дело с оттенком серого код которого и вычисляем умножая на 255
            $r = $g = $b = $v * 255;
        } else {
            $var_H = $h * 6;
            $var_i = floor( $var_H );
            $var_1 = $v * ( 1 - $s );
            $var_2 = $v * ( 1 - $s * ( $var_H - $var_i ) );
            $var_3 = $v * ( 1 - $s * (1 - ( $var_H - $var_i ) ) );
    
            if      ($var_i == 0) { $var_R = $v     ; $var_G = $var_3  ; $var_B = $var_1 ; }
            elseif  ($var_i == 1) { $var_R = $var_2 ; $var_G = $v      ; $var_B = $var_1 ; }
            elseif  ($var_i == 2) { $var_R = $var_1 ; $var_G = $v      ; $var_B = $var_3 ; }
            elseif  ($var_i == 3) { $var_R = $var_1 ; $var_G = $var_2  ; $var_B = $v     ; }
            elseif  ($var_i == 4) { $var_R = $var_3 ; $var_G = $var_1  ; $var_B = $v     ; }
            else                  { $var_R = $v     ; $var_G = $var_1  ; $var_B = $var_2 ; }
    
            $r = $var_R * 255;
            $g = $var_G * 255;
            $b = $var_B * 255;
        }
        return array($r, $g, $b);
    }

    Lure Of Chaos, 14 Мая 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function write($pole,$table,$where,$order)
    {
      if ($where) $where="WHERE ".$where;
      $query="SELECT $pole FROM $table $where $order";
      $result=mysql_query($query);

    с одного дружественного сайта

    Lure Of Chaos, 14 Мая 2011

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

    +168

    1. 1
    2. 2
    3. 3
    $new_array=array();
    foreach ($old_array as $k => $v)
        $new_array[$k] = $v;

    Таким образом чел создаёт копию массива...

    uni, 14 Мая 2011

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

    +159

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    function colorQuote($message) {
        global $tinyib, $mysql_posts_table, $mysql_database, $mysql_password, $mysql_username, $mysql_host;
        $message=str_replace("<", "<", $message);
        $message=str_replace("'", "'", $message);
        $message=str_replace("\n", "<br>\n", $message);
        $cd = getcwd();
        $lastSlash = 0;
        if (($lastSlash = strrpos($cd, '/')) === false)
        {
            if (($lastSlash = strrpos($cd, '\\')) === false)
            {
                $lastSlash = 0;
            }
        }
        $message_lines=explode("\n", $message);
        for($i=0; $i<count($message_lines); $i++) {
            if(preg_match("#^(\*|\+|-) .*#si", $message_lines[$i])) {
                if(!preg_match("#^(\*|\+|-) .*#si", $message_lines[$i-1]) && substr($message_lines[$i-1], 0, 4)!="<ul>" && substr($message_lines[$i-1], 0, 4)!="<li>"){
                    $message_lines[$i]="<ul>".preg_replace("#^(\*|\+|-) (.*)#si", "<li>\\2</li>", $message_lines[$i]);
                }
                $message_lines[$i]=preg_replace("#^(\*|\+|-) (.*)#si", "<li>\\2</li>", $message_lines[$i]);
                if(!preg_match("#^(\*|\+|-) .*#si", $message_lines[$i+1]) && substr($message_lines[$i+1], 0, 5)!="</ul>" && substr($message_lines[$i+1], 0, 4)!="<li>"){
                    $message_lines[$i].="</ul>";
                }
            }
            if(preg_match("|^[0-9]+\..*|si", $message_lines[$i])) {
                if(!preg_match("|^[0-9]+\..*|si", $message_lines[$i-1]) && substr($message_lines[$i-1], 0, 4)!="<ol>" && substr($message_lines[$i-1], 0, 4)!="<li>"){
                    $message_lines[$i]="<ol>".$message_lines[$i];
                }
                $message_lines[$i]=preg_replace("|[0-9]+\.(.*)|si", "<li>\\1</li>", $message_lines[$i]);
                if(!preg_match("|^[0-9]+\..*|si", $message_lines[$i+1]) && substr($message_lines[$i+1], 0, 5)!="</ol>" && substr($message_lines[$i+1], 0, 4)!="<li>"){
                    $message_lines[$i].="</ol>";
                }
            }
            $message_lines[$i]=preg_replace("|^>(.*)|is", "<span class=\"unkfunc\">>\\1</span>", $message_lines[$i]);
            if(preg_match("|^[\s]{4}.+$|si", $message_lines[$i])){
                $message_lines[$i]=preg_replace("|^[\s]{4}(.+)$|si", "<pre>\\1</pre>", $message_lines[$i]);
            }
        }
        $message=implode("\n", $message_lines);
        $message=preg_replace("|\*\*([^\*\*]+)\*\*|si", "<strong>\\1</strong>", $message);
        $message=preg_replace("|\*([^\*]+)\*|si", "<em>\\1</em>", $message);
        $message=preg_replace("|__([^__]+)__|si", "<span style='text-decoration: underline;'>\\1</span>", $message);
        $message=preg_replace("#(http://|ftp://|mailto:|irc:|news:)([^\s]+[^\s\.,?(!):;])#si", "<a href='\\1\\2'>\\1\\2</a>", $message);
        $message=preg_replace("|%%([^%%]+)%%|si", "<span class='spoiler'>\\1</span>", $message);
        $message=preg_replace("|`([^`]+)`|si", "<pre>\\1</pre>", $message);
        return $message;
    }

    Вставил почти целиком, только кусочек вырезал. PHP делает просто лютый пиздец!
    Откуда - сами догадаетесь.

    Skelet0n, 13 Мая 2011

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