1. JavaScript / Говнокод #6213

    +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
    function addRowToTable(){
     
     var tBody = document.getElementById("table_"+currentLocator).getElementsByTagName("TBODY")[0];
     var row = document.createElement("TR");
     tBody.appendChild(row);
     for (i=1;i<=6;i++){
      var td = document.createElement("TD"); 
      if (i==1){
       td.className="locatorTxt";
      } else {
       td.className="locatorDtlTxt";
      }
      td.innerHTML=" ";
      if ( i==2 ){
       td.innerHTML=CollectionsUtils.getSelectedItem(selectCollectorId);
       td.name = prefNameAsg+currentLocator;
      } else if (i==3) {
       td.innerHTML=ControlUtils.getValueById(percentId)+"%";
       td.name=prefPercentAsg+currentLocator;
      } else if ( i== 4) {
       td.name=prefJobAsg+currentLocator;
      } else if ( i==5 ) {
       td.name=prefPercentChg+currentLocator;
       td.innerHTML=ControlUtils.getValueById(percentId)+"%";
      } else if ( i==6 ) {
       td.name=prefJobChg+currentLocator;
      }
      row.appendChild(td);
     }
     recalulateTable( prefPercentAsg, prefJobAsg, "");
     recalulateTable( prefPercentChg, prefJobChg, "");
    }

    tr00_gr1m_doomster, 04 Апреля 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $is_active = true;
           try
            {
                $is_active = $this->getIsActive($this->pk_id, true);
            }
            catch (DBModelException $e)
            {
                $is_active = false;
            }

    Довольно хитрый способ проверить является ли объект новым или уже присутствует в базе (название переменной, кстати, тоже крутое).
    Если объект новый, то при обращении к this->pk_id будет брошен DbModelException, который бросается при доступе к несуществующим свойствам объекта. Подразумевается, что несохранённый в базе объект не имеет первичного ключа.

    ilovephp, 04 Апреля 2011

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

    +168

    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
    template <typename T> T min3 (T v1, T v2, T v3) {
      T min = v1;
      if (min > v2)
        min = v2;
      if (min > v3)
        min = v3;
      return min;
    };
    
    template <typename T> T max3 (T v1, T v2, T v3) {
      T max = v1;
      if (max < v2)
        max = v2;
      if (max < v3)
        max = v3;
      return max;
    };

    Как говорится - главное, чтоб работало.

    panter_dsd, 04 Апреля 2011

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

    +169

    1. 1
    'VNALICHII' => getMainVnalichii()

    надо было поправить один блок "Есть в наличии".
    Долго и упорно искал метку inStock и т.п.

    warider, 04 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $result = array(
                'clips' => $clips,
                'block_title' => $title,
                'clips_count' => sizeof($clips),
            );
            
            $this->view->assign('clips', $result['clips']);
            $this->view->assign('block_title', $result['block_title']);
            $this->view->assign('clips_count', $result['clips_count']);

    Оптимизируя читабельность :)

    kovel, 04 Апреля 2011

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

    +156

    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
    if (licenseImageAvailable) {
        QPoint p1, p2, p3;
        p1.setX (top->getUIntSeq ("X1",licenseImageAvailable));
        p1.setY (top->getUIntSeq ("Y1",licenseImageAvailable));
        p2.setX (top->getUIntSeq ("X2",licenseImageAvailable));
        p2.setY (top->getUIntSeq ("Y2",licenseImageAvailable));
        p3.setX (top->getUIntSeq ("X3",licenseImageAvailable));
        p3.setY (top->getUIntSeq ("Y3",licenseImageAvailable));
    
        if (licenseImageAvailable)
          seq = seq && imageElement->getNeedJPEG (targetSize.width (),
                                                  targetSize.height (), &targetImg, top, &licenseImage, p1, p2, p3);
        else
          seq = seq && imageElement->getNeedJPEG (targetSize.width (), targetSize.height (), &targetImg, top);
      } else {
    
        seq = seq && imageElement->getNeedJPEG (targetSize.width (), targetSize.height (), &targetImg, top);
      }

    panter_dsd, 04 Апреля 2011

    Комментарии (5)
  7. C++ / Говнокод #6207

    +146

    1. 1
    this++;

    Думаю, так нельзя в члене класса, но выглядит все равно забавно.

    Говногость, 04 Апреля 2011

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

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    const char * strtime(const time_t * t){
    	tm tt;
    	const int dt_len = 60;
    	char str_dt[dt_len];
    	localtime_r(t, &tt);
    	strftime(str_dt, dt_len, "%d.%m.%Y %H:%M:%S", &tt);
    	std::string str(str_dt);
    	return str.c_str();
    }

    Код, как ни странно, работал несколько лет, пока проект не трогали и байты не сместились. Неудивительно, что код вместо времени стал возвращать имя функции, из которого вызывался.

    Deacon, 04 Апреля 2011

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

    +161

    1. 1
    <?if ((eregi('?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]"(?:(?:\(?:[^\"\r\\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*',$_POST['admin_mail']))){echo'Ошибка в адресе почты';} ?>

    Проверка на правильность E-mail))) (Ссылка с форума php.ru)

    Пришлось укоротить регулярное выражение, что-бы вставить сюда, кто хочет взглянуть на оригинал, ссылка снизу.

    http://www.php.ru/forum/viewtopic.php?p=194512

    X-proger, 04 Апреля 2011

    Комментарии (18)
  10. bash / Говнокод #6204

    −137

    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
    #!/bin/bash
    
    num=30
    while : 
    do
    lns=`aureport -f -i --summary | wc -l`
    aureport -f -i --summary | wc -l
    if [ $num -gt $lns ]
    then
      num=0
    fi
    aureport -f -i --summary | head -n$num | tail -n30 | ./mkbar files
    let "num=num+30"
    echo $num
      sleep 1s
    done

    Выводит аудит файлов в виде диаграммы по 30 файлов за раз.

    AliceGoth, 03 Апреля 2011

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