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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    @$captcha = $_POST['captcha'] or die("Убедитесь, что вы ввели защитный код!$back");
      $num = $_POST['num'];
      
      if($captcha != $num)
      {
       echo "Вы ввели неправильный защитный код!$back";
       exit;
      }

    Валидация формы онлайн-заявки на сайте магазина межкомнатных дверей. Зачем хранить капчу в сессии? На сессиях пускай студенты мучаются, а сабж писал целый аспирант.

    telnet, 05 Июля 2011

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

    −96

    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
    import os
    import codecs
    from xml.dom import minidom
    
    dir = 'C:\\Users\\pee\\AppData\\Roaming\\Thunderbird\\Profiles\\your_profile_here.default\\extensions'
    target = 'install.rdf'
    TB_id = '{3550f703-e582-4d05-9a08-453d09bdfdc6}'
    maxVer = '5.*'
    
    # open file, parse xml, find Thunderbird ID, change maxVersion, save file
    def verchanger(rdf):
        found = False
        print(rdf)
        xmldoc = minidom.parse(rdf)
        idlist = xmldoc.getElementsByTagName("em:id")
        for i in idlist:
            if i._get_firstChild().nodeValue == TB_id:
                print('Thunderbird ID was founded in em:id node with index ', idlist.index(i)+1)
                print(i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue)
                if i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue == maxVer:
                    print('file already updated, skipping')
                    break
                else:
                    found = True
                    i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue = maxVer
                print('new value is: ', i.parentNode.getElementsByTagName("em:maxVersion")[0]._get_firstChild().nodeValue )
        if found:
            xmldoc.writexml(codecs.open(rdf,'w','utf-8'), encoding='utf-8')
    
    
    # get list of files with full paths
    filelist = [dir + '\\' + x + '\\' + target for x in os.listdir(dir)]
    
    for i in filelist:
        verchanger(i)

    Мой первый говнокод :)

    Проходит по папке с расширениями Thunderbird, изменяя требуемую минимальную версию плагина на железно заданную maxVer. Вынужденно наговнокодено после обновления ТБ на версию 5.

    Прошу разобрать по косточкам, я Питон только изучаю. Дочитал Лутца до классов, почти всё накопал с помощью Гугля .

    omgiafs, 05 Июля 2011

    Комментарии (21)
  3. Java / Говнокод #7152

    +84

    1. 1
    2. 2
    double speed = ....;
    this.speed = new Double(speed).floatValue();

    Оригинальный способ преобразования double в float.

    lucidfox, 05 Июля 2011

    Комментарии (15)
  4. JavaScript / Говнокод #7151

    +165

    1. 1
    window.setTimeout=window.setTimeout;window.setInterval=window.setInterval;

    свиттер, ВНЕЗАПТНО

    DrFreez, 05 Июля 2011

    Комментарии (10)
  5. Java / Говнокод #7150

    +147

    1. 1
    2. 2
    3. 3
    while (cell.getFlag() != null) {
          this.flag(x, y);
        }

    из моего древнего "Сапёра".
    заменяется на

    cell.setFlag(null);

    Lure Of Chaos, 05 Июля 2011

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    using namespace std;
    
    int main () {
      for( struct {int i; long i2;} x = {1, 1};
           x.i2 <= 100;
           x.i++, x.i2 = x.i * x.i ) {
        cout << x.i2 << endl;
      }
      return 0;
    }

    Поскольку реального ГК нет, добавлю синтетического.
    NB: Под MSVC такое не пройдет. g++ - ok: http://codepad.org/JesKsnMQ

    http://jia3ep.blogspot.com/2010/07/struct-in-for-loop.html

    Aleskey, 04 Июля 2011

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

    +163

    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
    $res=mysql_query("SELECT * FROM `admin` ");
       $nam=mysql_result($res, 0, "name");
       $psw=mysql_result($res, 0, "pass");
       $snm=mysql_result($res, 0, "sitename");
       $ops=mysql_result($res, 0, "opis");
       $key=mysql_result($res, 0, "keyw");
       $rul=mysql_result($res, 0, "rules");
       $mls=mysql_result($res, 0, "lst");
       $mnm=mysql_result($res, 0, "mxnm");
       $mur=mysql_result($res, 0, "mxur");
       $mop=mysql_result($res, 0, "mxop");
       $mky=mysql_result($res, 0, "mxky");
       $mem=mysql_result($res, 0, "mxem");
       $mps=mysql_result($res, 0, "mxps");
       $mil=mysql_result($res, 0, "mail");
       $adr=mysql_result($res, 0, "adres");
       $logo=mysql_result($res, 0, "logo");
       $txlogo=mysql_result($res, 0, "txlogo");
       $copir=mysql_result($res, 0, "copirat");
       $blokrekl=mysql_result($res, 0, "blokrekl");

    Rinat, 04 Июля 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <title><?php getSiteName();echo ' - ';getTitle();?></title>
    // Еще
                  if(isset($errors['sitename']))  echo '<span class="error"><li>'.$errors['sitename'].'</li></span>';
                    if(isset($errors['siteurl']))   echo '<span class="error"><li>'.$errors['siteurl'].'</li></span>';
                    if(isset($errors['login']))     echo '<span class="error"><li>'.$errors['login'].'</li></span>';
                    if(isset($errors['password']))  echo '<span class="error"><li>'.$errors['password'].'</li></span>';
                    if(isset($errors['email']))     echo '<span class="error"><li>'.$errors['email'].'</li></span>'

    Пример из template cms =)

    invision70, 04 Июля 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // удалить товары, которые помечены на удаление из общего массива товаров
    // как-то так...
    $goods_ids= array_flip($goods_ids);
    foreach ($goods_ids_delete as $key) {
        unset($goods_ids[$key]);
    }
    $goods_ids = array_flip($goods_ids);

    Если бы не "как-то так", ничего понятно не было бы

    Nicklasos, 04 Июля 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function getComponentList($state, $unit = '') {
    	global $smarty;
    		$suser = _sessionVar('user');
    		$_GET['state'] = $state;
    		$_GET['unit'] = $unit;
    ....

    LmSys, 04 Июля 2011

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