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

    +179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    jQuery.atmosphere.request.transport = 'polling';
    if (jQuery.atmosphere.request.transport != 'websocket') {
    	jQuery.atmosphere.executeRequest();
    } else if (jQuery.atmosphere.request.transport == 'websocket') {
    	// ..
    }

    Сразу удар по двум яйцам.
    Сначала говорим, что transport = 'polling', а потом проверяем, не равен ли он случайно 'websocket'
    Второй удар - обычный else использовать, видимо, было не прикольно. Или у транспорта кроме "равен websocket" и "не равен websocket" может быть третье состояние? ;)

    Код актуальный и на данный момент присутствует в официальном репозитории, пруф: https://github.com/jfarcand/atmosphere/blob/master/modules/jquery/src/main/webapp/jquery/jquery.atmosphere.js#L493-503

    пс. А мы на работе удивляемся, почему 'websocket' у них не работает)

    Shock, 03 Августа 2011

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

    +162

    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
    /**
         * Xml Request
         *
         * @param int $hotel_id
         * @param int $hotel_id
         * @param int $hotel_id
         * @return array $cc_type of
         */
    public function XmlStringForBokingFactura($transaction_id, $block, $begin_date, $end_date, $hotel_code, $guest_qty, $smoking, $cc_number, $cc_cardholder, $cc_type, $cc_expiration_date, $cc_cvc, $NameBooker, $LastNameBooker, $guestLastname, $guest_city, $guest_country, $guest_telephone, $email, $additionalEmail, $fake=1, $affiliate_id, $affiliate_pswd, $is_hash = null, $arrival_time, $dialog) {
        ...
        ...
        ...
        $mail = new MailMime($build_params);
        $mail->setHeader($from_email, $subject, array('charset' => 'UTF-8'));
        $mail->setTXTBody($url);
        $mail->setHTMLBody($url);
        $mail->send($to);
        $mail->setHeader($from_email, $subject, array('charset' => 'UTF-8'));
        $mail->setTXTBody($data);
        $mail->setHTMLBody($data);
        $mail->send($to2);
    
        ...
    }

    переменные $to и $to2 нигде в функции никак не объявляются. да и вообще функция шикарная.

    shmaltorhbooks, 03 Августа 2011

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

    +121

    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
    ...
    DateTime dt = new DateTime();
    
    dt = dt.AddYears(deStartDate.DateTime.Year - 1);
    dt = dt.AddMonths(deStartDate.DateTime.Month - 1);
    dt = dt.AddDays(deStartDate.DateTime.Day - 1);
    dt = dt.AddHours(teStartDate.Time.Hour);  
    dt = dt.AddMinutes(teStartDate.Time.Minute); 
    dt = dt.AddSeconds(teStartDate.Time.Second); 
    
    // Массив для хранения результатов проверок...
    bool[] blResults = {false, false};
    
    // Проверка даты и врмени
    if (dt > DateTime.Now)
    {
    	blResults[0] = true;
    }
    // Проверка интервала
    if (seInterval.Value > 0)
    {
    	blResults[1] = true;
    }
    
    // Еслис все проверки были выполнены успешно, то...
    if (blResults[0] && blResults[1])				
    ...

    deStartDate - контрол с выбором даты
    teStartDate - контрол с выбором времени
    В коде было необходимо получить из этих контролов точное время запуска службы.
    Орфография комментариев сохранена :-)

    BaranovskiyNE, 03 Августа 2011

    Комментарии (1)
  4. Pascal / Говнокод #7431

    +120

    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
    // Check if You need Administrator-level access to create a folder
    try
      mkdir(SDirectory + '\~TEST');
    except
      on E: exception do
      begin
        if E.message = 'File access denied' then
        begin
          MessageBox(self.Handle,
            'You need Administrator-level access to create this folder', '', MB_ICONERROR);
          exit;
        end;
      end;
    end;
    RmDir(SDirectory + '\~TEST');

    Мартышки плакали, кололись, но продолжали ронять UAC себе на лапки.

    bugmenot, 03 Августа 2011

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

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <h2>
    <script>
    				var date = new Date();
    				var lefttime = 31 - date.getDate();
    				var day = ['дней','день','дня','дня','дня','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','дней','день','дня','дня','дня','дней','дней','дней','дней','дней','дней','день'];
    				document.write('Чаты@Mail.Ru закрываются через ' + lefttime + ' ' + day[lefttime]);
    			</script>
    Чаты@Mail.Ru закрываются через 30 дней 
    </h2>

    Баннер на входе в чат мэйл ру с предупреждением о закрытии.
    1 августа счетчик обнулился и пошел считать заново.
    Зацените перечисление падежей для дней.

    etcshadow, 03 Августа 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /*
    * Yeah, this is the database engine. It's pretty bad, uses files to store peers.
    * Should be easy to rewrite to use SQL instead.
    *
    * Yes, sometimes collisions may occur and screw the DB over. It might or might not
    * recover by itself.
    */

    Я думаю, сам код можно даже не приводить.

    popoffka, 03 Августа 2011

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

    +166

    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
    function getMaxDays($m, $y)
    {
            switch($m+1) {
                    case 1:
                    case 3:
                    case 5:
                    case 7:
                    case 8:
                    case 10:
                    case 12:
                            $days = 31;
                            break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                            $days = 30;
                            break;
                    default:
                            if($y%100==0) {
                                    $days = 29;
                            } else {
                                    $days = 28;
                            }
                            break;
            }
            return $days;
    }

    http://php.net/manual/en/function.cal-days-in-month.php

    nergalic, 03 Августа 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(preg_match("/^(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)$/", $dt, $m)) {
    } elseif(preg_match("/^(\d\d\d\d)-(\d\d)-(\d\d)$/", $dt, $m)) {
            $isH = false;
            $isM = false;
            $isS = false;
    }

    facepalm...

    nergalic, 03 Августа 2011

    Комментарии (12)
  9. C# / Говнокод #7426

    +970

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static bcnPassword Password
    {
        get { return mPassword; }
        set { ;}
    }

    Классическое говно

    xxxcoderxxx, 03 Августа 2011

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

    +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
    21. 21
    22. 22
    23. 23
    $param='72,pId,kladez;79,item,conf'; //Настройки скрипта
    $temp=explode(';',$param);
    $param=array();
    foreach($temp as $item){
     $tmp=explode(',',$item);
     $param[$tmp[0]]=array('mode'=>$tmp[2],'get'=>$tmp[1]);
    }
    //$param=Array ( [72] => Array ( [mode] => kladez [get] => pId ) [79] => Array ( [mode] => conf [get] => item ) )
    
    $field=array();
    if(isset($_POST['redactor'])){if($_POST['redactor']!=''){if(isset($_GET['id']) && (int)$_GET['id']>0 && isset($param[(int)$_GET['id']]) && isset($_SESSION['user']['id']) && (int)$_SESSION['user']['id']>0){ //вот это место меня выжигает просто
    	$field['user']=(int)$_SESSION['user']['id'];
    	$field['date']=date("Y-m-d H:i:s");
    	$field['comment']=$_POST['redactor'];
    	$field['mode']=$_GET[$param[(int)$_GET['id']]['mode']]
    	$field['id_page']=$_GET[$param[(int)$_GET['id']]['get']]
    	$field['parent']=0;
    }else{
     //Нас хакнуть попробовали
    }}else{
    //пустая форма ошибка
    }}
    //что-то дальше делаем

    Имеются ссылки вида http://example.com/index.php?id=72&pId=21 и http://example.com/index.php?id=79&item=2 где pId и item идентификаторы конкретной статьи.

    Agel_Nash, 03 Августа 2011

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