1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #13141

    +153

    1. 1
    $amount = (int) "".((float)$a*100);

    Считаем сумму в копейках

    dimkich, 10 Июня 2013

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $currurl = str_replace(" ", '', $this->helper('core/url')->getCurrentUrl());
    if (strpos($currurl, 'index.php/')) {
        $currurl = str_replace('index.php/', '', $currurl);
    } else if (strpos($currurl, '/index.php')) {
        $currurl = str_replace('index.php', '', $currurl);
    }
    $url_suffix = (substr($currurl, strlen(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB))));
    <?php if (strlen($url_suffix) <= 0) : #not homepage ?>
    ...

    Magento. Увидел в template, код одной английской компании.

    crook, 06 Июня 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $payout_rate = isset( $transfer['draft'] ) ? ( $transfer['payout_rate'] == '' ? 0 : $transfer['payout_rate'] ) : 1;
            if( isset( $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] ) ) {
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["quantity"] += $transfer["quantity"];
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] += $transfer["perechisleno"] * $rate * $payout_rate;
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["commission"] += $transfer["udergano"] * $rate * $payout_rate;
            }
            else {
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["quantity"] = $transfer["quantity"];
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] = $transfer["perechisleno"] * $rate * $payout_rate;
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["commission"] = $transfer["udergano"] * $rate * $payout_rate;
            }

    тайный культ массивов

    dimkich, 24 Мая 2013

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

    +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
    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
    function u8($win,$h,$t)  
    {  
    global $w8;  
    $w8[chr($h).chr($t)] = $win;  
    }  
    $c1 = chr(208);  
    $c2 = chr(209);  
    u8("й",208,185); u8("ц",209,134); u8("у",209,131);  
    u8("к",208,186); u8("е",208,181); u8("н",208,189);  
    u8("г",208,179); u8("ш",209,136); u8("щ",209,137);  
    u8("з",208,183); u8("х",209,133); u8("ъ",209,138);  
    u8("ф",209,132); u8("ы",209,139); u8("в",208,178);  
    u8("а",208,176); u8("п",208,191); u8("р",209,128);  
    u8("о",208,190); u8("л",208,187); u8("д",208,180);  
    u8("ж",208,182); u8("э",209,141); u8("я",209,143);  
    u8("ч",209,135); u8("с",209,129); u8("м",208,188);  
    u8("и",208,184); u8("т",209,130); u8("ь",209,140);  
    u8("б",208,177); u8("ю",209,142); u8("Й",208,153);  
    u8("Ц",208,166); u8("У",208,163); u8("К",208,154);  
    u8("Е",208,149); u8("Н",208,157); u8("Г",208,147);  
    u8("Ш",208,168); u8("Щ",208,169); u8("З",208,151);  
    u8("Х",208,165); u8("Ъ",208,170); u8("Ф",208,164);  
    u8("Ы",208,171); u8("В",208,146); u8("А",208,144);  
    u8("П",208,159); u8("Р",208,160); u8("О",208,158);  
    u8("Л",208,155); u8("Д",208,148); u8("Ж",208,150);  
    u8("Э",208,173); u8("Я",208,175); u8("Ч",208,167);  
    u8("С",208,161); u8("М",208,156); u8("И",208,152);  
    u8("Т",208,162); u8("Ь",208,172); u8("Б",208,145);  
    u8("Ю",208,174); u8("ё",209,145); u8("Ё",208,129);  
       
    function utf2win ($text)  
    {  
    global $c1,$c2,$w8;  
    $u = false;  
    $temp = "";  
    for($i=0,$len=strlen($text); $i<$len; $i++) {  
      $c = substr($text,$i,1);  
      if ($u) {  
      $c = $w8[$lc.$c];  
      $temp .= isset($c)?$c:"?";  
      $u = false;  
      }  
      else if ($c==$c1 || $c==$c2) {  
      $u = true;  
      $lc = $c;  
      }  
      else  
      $temp .= $c;  
    }  
    return $temp;  
    }

    Это код переводит строку из кодировки UTF-8 в Windows-1251. Его автор явно не о iconv.

    vbysnek, 19 Мая 2013

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

    +153

    1. 1
    2. 2
    3. 3
    $d = date("d")-1;
    $h = date("H")-2;
    header("Last-Modified: " . gmdate("D, ".$d." M Y ".$h.":i:s") . " GMT");

    Вчера

    straga_coda, 21 Апреля 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // проверка при дополнительных надстройках
    		if (
    				$this->struct[$num][$v]['changes'] &&		 // если значение было изменено
    				array_key_exists($v, $this->values) &&		// и существуют альтернативно назначенные тип поля (select или radio)
    				isset( $this->values[$v]['vals'] ) &&			 // и также существуют для них значения для значений...
    				!isset( $this->values[$v]['vals'][ $this->struct[$num][$v]['value'] ] )		// НО, пришедшее значение НЕ СООТВЕТСТВУЕТ
    			) {
    
    					$this->struct[$num][$v]['error'] = 'Неправильно указано значение';
    		}

    Ёжкин кот. Вот чего он хотел этим сказать? И что мне теперь с этим делать теперь?

    DoctorHouse, 19 Апреля 2013

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

    +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
    <?php
    $g = $_GET;
    unset($g["search"], $g["sortby"], $g["time"], $g["page"]);
    $q_str = $_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"]."?".http_build_query($g);
    ?>
    <script type="text/javascript">
    		!function ($) {
    			$(document).ready(function () {
    		$("#search").keyup(function(e){
    				$("#search-button").attr("href", "//<?=$q_str?>" + "&search=" + $(this).val());
    				});
            }(window.jQuery);

    varg242, 28 Марта 2013

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

    +153

    1. 1
    2. 2
    $object = __CLASS__;
    self::$instance = new $object;

    Stallman, 23 Марта 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var currentTime = (new Date()).getTime();
                var diff = currentTime - this.startTime;
    
                var min = Math.floor(Math.floor(diff/1000)/60);
                if (min < 10)
                    min = "0"+min;
                var sec = Math.floor(diff/1000)%60;
                if (sec < 10)
                    sec = "0"+sec; 
    
                this.timeLabel.setString("TIME " + min + ":" + sec);

    Классика практически, моего творения. Как это можно сделать по-человечески на JS? Всякие jQuary не катят, ибо js встраиваемый.

    krypt, 12 Марта 2013

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

    +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
    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
    $statement = $pdo->prepare(
         "if not exists
          (select daily_serving_start, daily_serving_end,
                  weekly_service_off, one_time_service_off
          from menu_availability_rules
          where
            (daily_serving_start = :start0 or
             (daily_serving_start is null and :start1 is null)) and
            (daily_serving_end = :end0 or
             (daily_serving_end is null and :end1 is null)) and
            (weekly_service_off = :weekly0 or
             (weekly_service_off is null and :weekly1 is null)) and
            (one_time_service_off = :once0 or
             (one_time_service_off is null and :once1 is null)))
          begin
            insert into menu_availability_rules
             (daily_serving_start, daily_serving_end,
              weekly_service_off, one_time_service_off)
            values (:start2, :end2, :weekly2, :once2)
          end
    
          if not exists
          (select menu_id, daily_serving_start, daily_serving_end,
                  weekly_service_off, one_time_service_off
          from menu_availability
          where
           menu_id = :menu_id0 and
           (daily_serving_start = :start3 or
             (daily_serving_start is null and :start4 is null)) and
            (daily_serving_end = :end3 or
             (daily_serving_end is null and :end4 is null)) and
            (weekly_service_off = :weekly3 or
             (weekly_service_off is null and :weekly4 is null)) and
            (one_time_service_off = :once3 or
             (one_time_service_off is null and :once4 is null)))
          begin
            insert into menu_availability
             (menu_id, daily_serving_start, daily_serving_end,
              weekly_service_off, one_time_service_off)
            values (:menu_id1, :start5, :end5, :weekly5, :once5)
          end");

    Мое :( А что делать?

    wvxvw, 10 Марта 2013

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