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

    +66

    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
    /**
         * 
         * check for collection object
         * @access public
         * @param string $session_path
         * @param string $session_name
         * @return boolean
         */
        public function open($session_path, $session_name)
        {
            $result = false;
            if ($this->__mongo_collection != NULL)
            {
                $result = false;
            }
            return $result;
        }

    Недавно искал класс для хранения сессий в базе данных и нашел его тут
    http://www.phpclasses.org/browse/file/34711.html (для тех кто не видит смотрим тут http://pastebin.com/xuQav8nD)
    При внимательном просмотре нашел этот кусок кода :)

    haker, 20 Июня 2012

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

    +142

    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
    <?php
    
    	switch(1==1) {
    	
    		case true;
    		
    			// ...
    		
    		break;
    		
    		case false;
    			
    			// ...
    			
    		break;
    	
    	}
    
    ?>

    Аналог конструкции if-else...

    killro0000, 18 Июня 2012

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

    +65

    1. 1
    $needDied = $this->battle_data['type'] == 104 ? true : false;

    AndryG, 18 Июня 2012

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

    +153

    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
    <ul class="menu">
      <li class="leaf first">
        <a href="http://example.com/app1?operator=<!--{cke_protected}
          <?php echo($user->profile_crm_name); ?>
          -->" target="_blank">Заявка №1</a>
      </li>
      <li class="leaf">
        <a href="http://example.com/app2?operator=<!--{cke_protected}
          <?php echo($user->profile_crm_name); ?>
          -->" target="_blank">Заявка №2</a>
      </li>
      <!-- ... еще десяток ... -->
    </ul>

    Drupal, приложение для колл-центра, пользовательский блок со списком ссылок. {cke_protected} - защита от WYSIWYG-редактора.

    Спасибо, что хоть без SQL

    scriptin, 17 Июня 2012

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

    +56

    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
    49. 49
    50. 50
    51. 51
    52. 52
    <?php
    
    define(STATIC_SALT, "herz_salt");
    
    function generateRandChar()
    {
      $chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
      
      $numChars = strlen($chars);
      
      $string = '';
      
      for ($i = 0; $i < rand(1, 7); $i++) 
      {
          $string .= substr($chars, rand(1, $numChars) - 1, 1);
      }
      
      return $string;
    }
    
    $time = microtime(true) / 10000;
    
    $str = $time - floor($time);
    
    $str = (string)$str;
    
    $str = preg_replace('/0./', '', $str);
    
    $deleteNum = strlen($str);
    
    if($deleteNum  <= 5)
    {
        $str = substr($str, rand(0, 4));
    }
    elseif($deleteNum > 5 && $deleteNum  <= 10)
    {
        $str = substr($str, rand(5, 9));
    }
    else $str = substr($str, rand(7, 9));
    
    if(strlen($str) == 0)
    {
        $str = rand(0, 15000);
    }
    
    sleep(5);
    
    $str = sha1(md5($str . STATIC_SALT . microtime(true))) . generateRandChar();
    
    echo $str;
    
    ?>

    паранойя в действии :)

    Archont12, 16 Июня 2012

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

    +50

    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
    // $conn - mysqli_object
     $query = "insert into orders values
                ('0', '".$customerid."', '".$_SESSION['total_price']."',
                '".$date."', '".PARTIAL."', '".$ship_name."',
                '".$ship_address."', '".$ship_city."',
                '".$ship_state."', '".$ship_zip."',
                '".$ship_phone."', '".$ship_mail."')";
      $result = $conn->query($query) ;
      if (!$result) {
        return false;
      }
    //amount - float
      $query = "select orderid from orders where
              customerid = '".$customerid."' and
              amount > (".$_SESSION['total_price']."-.001) and
              amount < (".$_SESSION['total_price']."+.001) and
              date = '".$date."' and
              order_status = 'PARTIAL' and
              ship_name = '".$ship_name."' and
              ship_address = '".$ship_address."' and
              ship_city = '".$ship_city."' and
              ship_state = '".$ship_state."' and
              ship_zip = '".$ship_zip."' and
              ship_country = '".$ship_country."'";
      $result = $conn->query($query);
      if ($result->num_rows > 0) {
        $order = $result->fetch_object();
        $orderid = $order->orderid;
      } else {
        return false;
      }

    Источник: Люк Веллинг и Лора Томсон: Разработка веб-приложений с помощью PHP и MySQL(4 издание стр 594)

    Как выдрать last_insert_id? Очень просто: нужно составить запрос на select вставленного orderid с указанием всех вставленных значений в поля, а для флоата указать на всякий случай интервал, и только тогда можно из выборки извлечь вставленный id

    ps: констатна PARTIAL нигде не задаётся=)

    RedMonkey, 16 Июня 2012

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    $res = mysql_query(...);
    if($res == 'true'){
        .....
    }

    Может кому то покажутся знакомы эти строки, но те, кто не знают Е. Попова могут над ним поржать.

    BioMan, 15 Июня 2012

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

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?if($metaid == 16 || $metaid == 44 || $metaid == 52 || $metaid == 60 || $metaid == 90 ||
     $metaid == 132 || $metaid == 136 || $metaid == 174 || $metaid == 192 || $metaid == 196 || 
    $metaid == 238 || $metaid == 388 || $metaid == 462 || $metaid == 470 || $metaid == 480 || 
    $metaid == 500 || $metaid == 530 || $metaid == 533 || $metaid == 548 || $metaid == 580 || 
    $metaid == 584 || $metaid == 662 || $metaid == 666 || $metaid == 678 || $metaid == 690 || 
    $metaid == 772 || $metaid == 780 || $metaid == 833){?>на<?} else if($metaid == 250 || 
    $metaid == 254 || $metaid == 258 || $metaid == 704){?>во<?}else{?>в<?}?>

    Одно из пятнадцати подобных условий в файле. Было написано в одну строку, поэтому тело условия увидели не сразу. Разнес по строкам для удобства чтения.

    kreksoverzum, 15 Июня 2012

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

    +57

    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
    // Сортируем по дате {
    foreach ($arfiles as $key => $value)
    {
        $data = file_get_contents($fullcatpage.$arfiles[$key]);
        $pubdata_text = articlesparam('pubdate',$data); 
        $arfiles[$key] = $pubdata_text . '-' . $value;
    }
    sort($arfiles);
    foreach ($arfiles as $key => $value)
    {
        $arfiles[$key] = substr($value, 11);
    }
    // }

    1. прикрутить префикс
    2. отсортировать
    3. открутить префикс

    Vasiliy, 15 Июня 2012

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

    +61

    1. 1
    $istmount = mysql_num_rows(mysql_query("SELECT `cid` FROM `usermail` WHERE `date` >='".date('Y-m-d', strtotime('-1 month'))."'"));

    Подсчет количества подписчиков за прошлый месяц. Про count(*) автор, похоже, не в курсе...
    И, чтобы не было вопросов про формат поля даты:
    date - это varchar(11) :)

    domaster, 15 Июня 2012

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