1. SQL / Говнокод #10965

    −165

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    $sql = 'SELECT * FROM 
                        (SELECT COUNT(company.id) as cnt_company , 
                        FROM_DAYS(TO_DAYS( company.created_at )) as day 
                            FROM company
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                        JOIN bill ON bill.company_id = company.id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND company.created_at '.$query.'
                        GROUP BY day) as A 
                    LEFT JOIN
                        (SELECT COUNT(process.id) as finished, 
                        FROM_DAYS(TO_DAYS( process.finished_at )) as day2 
                            FROM process
                        JOIN bill on bill.id= process.bill_id
                        JOIN company ON bill.company_id = company.id
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND issuer.signature_article_id = bill.article_id
                        GROUP BY day2) as B ON A.day = B.day2
                    LEFT JOIN
                        (SELECT COUNT( * ) as count,
                        FROM_DAYS(TO_DAYS(click.created_at)) as day3,
                        COUNT( DISTINCT click.ip ) as uniq 
                            FROM click 
                        WHERE click.partner_id = '.$this->_partner->getId().'
                        AND click.created_at '.$query.'
                           GROUP BY day3)  as C ON A.day = C.day3
                    UNION
                    SELECT * FROM 
                        (SELECT COUNT(company.id) as cnt_company , 
                        FROM_DAYS(TO_DAYS( company.created_at )) as day 
                            FROM company
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                        JOIN bill ON bill.company_id = company.id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                            AND DATE(company.created_at)'.$query.'
                        GROUP BY day) as A 
                    RIGHT JOIN
                        (SELECT COUNT(process.id) as finished, 
                        FROM_DAYS(TO_DAYS( process.finished_at )) as day2 
                            FROM process
                        JOIN bill on bill.id= process.bill_id
                        JOIN company ON bill.company_id = company.id
                        JOIN contact ON contact.company_id = company.id
                        JOIN issuer ON issuer.id = company.issuer_id
                            WHERE contact.partner_id ='.$this->_partner->getId().'
                        AND issuer.signature_article_id = bill.article_id
                        GROUP BY day2 ) as B ON A.day = B.day2
                    RIGHT JOIN
                        (SELECT COUNT( * ) as count,
                        FROM_DAYS(TO_DAYS(click.created_at)) as day3,
                        COUNT( DISTINCT click.ip ) as uniq 
                            FROM click 
                        WHERE click.partner_id = '.$this->_partner->getId().'
                        AND click.created_at '.$query.'
                           GROUP BY day3)  as C ON A.day = C.day3';

    T_T

    raga, 15 Июня 2012

    Комментарии (6)
  2. Куча / Говнокод #10964

    +132

    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
    <div style="text-align: left;">
      <span style="font-size: 30px;line-height:100%;font-family:Tahoma; ">
        <a style="color:#FFFFFF" href="/uslugi/skoraya-pomoshh">
          <span style="font-size: 24pt;">
            <strong>
              <span style="font-size: 18pt;">
                <span style="font-family: arial helvetica sans-serif;">Выезд врача</span>
              </span>
            </strong>
          </span>
          <strong>
            <span style="font-size: 18pt;">
              <span style="font-family:  arial  helvetica  sans-serif;">
                <br>
              </span>
            </span>
          </strong>
        </a>
      </span>
    </div>
    <div style="text-align: left;">
      <strong>
        <span style="font-size: 18pt;">
          <span style="font-family: arial helvetica  sans-serif;"></span>
        </span>
      </strong>
    </div>
    <div style="text-align: left;">
      <span style="font-size: 30px;line-height:100%;font-family:Tahoma; ">
        <a style="color:#FFFFFF" href="/uslugi/skoraya-pomoshh">
          <span style="font-size: 12pt;">
            <span style="font-size: 14pt;">
              <strong>
                <span style="font-size: 18pt;">
                  <span style="font-family:  arial  helvetica sans-serif;">на дом</span>
                </span>
              </strong>
            </span>
          </span>
        </a>
      </span>
    </div>

    Просто ссылка "Выезд врача на дом"

    aleksey_b, 15 Июня 2012

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

    +70

    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
    public boolean getOrgType() throws SIRException {
            int type = StoredProcedures.getOrgType(getOrgId());
            boolean result = true;
            try {
                if (type == 3 || type == 4) {
                    result = false;
                }
                return result;
            } catch (NumberFormatException e) {
                log.error(e.getMessage(), e);
                throw new SIRException(e.getMessage(), "Ошибка кода организации");
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new SIRException(e.getMessage(), "Ошибка кода организации");
            }
        }

    stalv, 15 Июня 2012

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

    +61

    1. 1
    2. 2
    3. 3
    $translitReplace=array(array('.', ',', ' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я'),
      array('', '', '-', 'A', 'B', 'V', 'G', 'D', 'E', 'JO', 'ZH', 'Z', 'I', '', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'KH', 'C', 'CH', 'SH', 'SHH', '', 'Y', '', 'E', 'JU', 'JA'));
      if(!$_POST['uriNews']) $_POST['uriNews']=strtolower(str_replace($translitReplace[0], $translitReplace[1], mb_strtolower($_POST['titleNews'], 'utf-8')));

    Личное творчество. :)
    Это когда начальник грозно дышит в ухо "гдебля", ты отвечаешь "щабля", ударяешься оземь и оборачиваешься птицей с радостным "вобля", а потом смотришь собственный код и думаешь "нубля".

    skryisli, 15 Июня 2012

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

    +53

    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
    53. 53
    54. 54
    55. 55
    56. 56
    function CP1251toUTF8($string) {
        $out = '';
        for ($i = 0; $i < strlen($string); ++$i) {
            $ch = ord($string{$i});
            if ($ch < 0x80)
                $out .= chr($ch);
            else
            if ($ch >= 0xC0)
                if ($ch < 0xF0)
                    $out .= "\xD0" . chr(0x90 + $ch - 0xC0); // А-Я, а-п (A-YA, a-p) 
                else
                    $out .= "\xD1" . chr(0x80 + $ch - 0xF0); // р-я (r-ya) 
                    else
                switch ($ch) {
                    case 0xA8: $out .= "\xD0\x81";
                        break; // YO 
                    case 0xB8: $out .= "\xD1\x91";
                        break; // yo 
    // ukrainian 
                    case 0xA1: $out .= "\xD0\x8E";
                        break; // Ў (U) 
                    case 0xA2: $out .= "\xD1\x9E";
                        break; // ў (u) 
                    case 0xAA: $out .= "\xD0\x84";
                        break; // Є (e) 
                    case 0xAF: $out .= "\xD0\x87";
                        break; // Ї (I..) 
                    case 0xB2: $out .= "\xD0\x86";
                        break; // I (I) 
                    case 0xB3: $out .= "\xD1\x96";
                        break; // i (i) 
                    case 0xBA: $out .= "\xD1\x94";
                        break; // є (e) 
                    case 0xBF: $out .= "\xD1\x97";
                        break; // ї (i..) 
    // chuvashian 
                    case 0x8C: $out .= "\xD3\x90";
                        break; // ? (A) 
                    case 0x8D: $out .= "\xD3\x96";
                        break; // ? (E) 
                    case 0x8E: $out .= "\xD2\xAA";
                        break; // ? (SCH) 
                    case 0x8F: $out .= "\xD3\xB2";
                        break; // ? (U) 
                    case 0x9C: $out .= "\xD3\x91";
                        break; // ? (a) 
                    case 0x9D: $out .= "\xD3\x97";
                        break; // ? (e) 
                    case 0x9E: $out .= "\xD2\xAB";
                        break; // ? (sch) 
                    case 0x9F: $out .= "\xD3\xB3";
                        break; // ? (u) 
                }
        }
        return $out;
    }

    iconv? Не, не слышал.

    7ion, 14 Июня 2012

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function sanitizeString($var)
      {
        trim($var);
        strip_tags($var);
        htmlspecialchars($var);
        stripslashes($var);
        mysql_real_escape_string($var);
      }

    Защита от SQL инъекции - экранирование, http://www.askdev.ru/q/10604

    Anon39AsAjYN, 14 Июня 2012

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

    +65

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    <?php
    
    $str = file_get_contents('source.txt');
    $out = '';
    
    $len = strlen($str);
    $word = '';
    
    $bad_words = array(
        'Аноним',
        'Птн',
        'Сен',
        'Ответ',
        'Пропущено',
        'ответов',
        'изображениями',
        'Нажмите',
        'jpg',
        'png',
        'gif',
        'Кб',
        'x',
    );
    
    $str=str_replace('Нажмите "ответ", чтобы увидеть тред целиком.','', $str);
    $str=str_replace('Показана уменьшенная копия, оригинал по клику.','', $str);
    $str=str_replace('Пропущено ','', $str);
    $str=str_replace(' ответов, из них ','', $str);
    $str=str_replace(' с изображениями.','', $str);
    $str=str_replace('Аноним','', $str);
    $str=str_replace('Ответы','', $str);
    $str=str_replace('Ответ','', $str);
    $str=str_replace('Птн','', $str);
    $str=str_replace('Сен','', $str);
    $str=str_replace('jpg','', $str);
    $str=str_replace('png','', $str);
    $str=str_replace('gif','', $str);
    $str=str_replace('Кб','', $str);
    $str=str_replace('x','', $str);
    
    
    
    for ($i = 0; $i < $len; $i++) {
        $c = $str[$i];
        if (($c >= 'a') && ($c <= 'z') ||
                ($c >= 'A') && ($c <= 'Z') ||
                ($c >= 'а') && ($c <= 'я') ||
                ($c >= 'А') && ($c <= 'Я')
        ) {
            $word.=$c;
        } else {
            if ($word != '') {
                $out.=strtolower($word) . "\r\n";
            }
            $word = '';
        }
    }
    file_put_contents('dictonary.txt', $out);
    ?>

    Из чьей-то пхп-вайпалки для известной имиджборды.
    Генерирует словарь слов из текста, взятого с помощью Ctrl+C с любой из страниц борды.

    7ion, 14 Июня 2012

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    <table>
    	<tr><th colspan="2">Если вы еще не зарегистрированы:</th></tr>
    	<tr><td colspan="2"><a href="/registration.php">Перейдите к регистрации на сайте</a></td></tr>
    </table>

    Глубокий смысл в наличии colspan="2" постичь никак не получается...

    domaster, 14 Июня 2012

    Комментарии (13)
  9. Си / Говнокод #10953

    +133

    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
    static inline int getKey(short int high, short int low)
    {
        return (((int)high)<<16)+(int)low;
    }
    
    static inline short getHigh(int pKey)
    {
        return (short)(pKey>>16);
    }
    
    static inline short getLow(int pKey)
    {
        return (short)(pKey&0x00000000FFFFFFFF);
    }

    вот так. getHigh() оставил для полноты.

    Dummy00001, 14 Июня 2012

    Комментарии (8)
  10. 1C / Говнокод #10952

    −117

    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
    Если Номенклатура1 <> Номенклатура2 Тогда
    Запрос=Новый Запрос("ВЫБРАТЬ
    |РаспределениеМатериаловПоМенеджерам.ЗаявкаНаМатериалы,
    |РаспределениеМатериаловПоМенеджерам.Материал
    |ИЗ
    |РегистрСведений.РаспределениеМатериаловПоМенеджерам КАК РаспределениеМатериаловПоМенеджерам
    |ГДЕ
    |РаспределениеМатериаловПоМенеджерам.Материал = &Материал");
    Запрос.УстановитьПараметр("Материал",Номенклатура1);
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    МЗСтарой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
    МЗСтарой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
    МЗСтарой.Материал=Номенклатура2;
    МЗСтарой.Прочитать();
    МЗНовой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
    МЗНовой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
    МЗНовой.Материал=Выборка.Материал;
    МЗНовой.Прочитать();
    Если МЗСтарой.Выбран() тогда
    МЗНовой.Удалить();
    Иначе
    МЗНовой.Материал=Номенклатура2;
    МЗНовой.Записать(Истина);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше

    dart, 14 Июня 2012

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