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

    +159

    1. 1
    2. 2
    3. 3
    for (i = 1; i < <?php echo count($prog[1])?>; i++){
         if (document.getElementById('module'+i).checked)
            	module_tmp= Math.abs($('#module'+i).val())+module_tmp;

    1_and_0, 11 Января 2011

    Комментарии (2)
  2. ActionScript / Говнокод #5214

    −85

    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
    private function createPanel(isPlay:String):void
    {
    	if(NativeApplication.supportsSystemTrayIcon){
    		iconMenu.removeAllItems();
    		if(isPlay!='play')
    		{
    			var playCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Воспроизвести")); 
    			playCommand.addEventListener(Event.SELECT, playHandler);
    		}
    		if(isPlay=='play')
    		{
    			var pauseCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Пауза")); 
    			pauseCommand.addEventListener(Event.SELECT, pauseHandler); 
    		}
    		if(isPlay!='stop'){				
    			var stopCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Стоп")); 
    			stopCommand.addEventListener(Event.SELECT, stopHandler);
    		}
    	
    		/*----Volume------*/
    		var vulumeNativeMenu:NativeMenu = new NativeMenu();				
    		var volumeSubMenu:NativeMenuItem = iconMenu.addSubmenu(vulumeNativeMenu,'Громкость');
    		
    		var volume100:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("100%")); 
    		volume100.addEventListener(Event.SELECT, volume100Handler);
    
    		var volume75:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("75%")); 
    		volume75.addEventListener(Event.SELECT, volume75Handler);
    				
    		var volume50:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("50%")); 
    		volume50.addEventListener(Event.SELECT, volume50Handler);
    				
    		var volume25:NativeMenuItem = vulumeNativeMenu.addItem(new NativeMenuItem("25%")); 
    		volume25.addEventListener(Event.SELECT, volume25Handler);
    		/*----End Volume------*/
    				
    		var exitCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Выход")); 
    		exitCommand.addEventListener(Event.SELECT, exinHandler);
    
    	}
    }

    Немного моего айро-высера... Думать было ой как в лом =)

    KirAmp, 11 Января 2011

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

    +160

    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
    <?php
     include '/system/config_bd.php'; // соединение с базой
     
    class pagination_start {
    public $page;
    public $CountListPage=10; 
    public $sql="SELECT * FROM `news`";
    public $start;
    public $limit;
    public $ires;
     
    public function page_settings() {
    $this->page_get();
    $this->start=($this->page-1)*$this->CountListPage; 
    $this->limit=" LIMIT $this->start,$this->CountListPage";
    $this->ires=mysql_query($this->sql.$this->limit);
    }
     
    public function page_get() {
    if(empty($_GET['page'])){$this->page=1;} 
    else {$this->page=$_GET['page'];} 
    }
    }
     
    class pagination_end extends pagination_start{
    public $link_interval;
    public $i;
    public $sp;
     
    public function pagination($class_all,$class_once) {
     $link_page = '';
     $this->page_get();
     $count=mysql_num_rows(mysql_query($this->sql)); 
     if($count>$this->CountListPage){ 
    $CountList=ceil($count/$this->CountListPage); 
     if($this->page > 3 && $CountList > 5){echo '<span class="'.$class_all.'"><a href="?page=1'.$this->link_interval.'">1</a></span><span class="'.$class_all.'">...</span>';} 
    if($this->page > 3 && $CountList > 5){$this->sp=$this->page-2;}else{$this->sp=1;} 
    if($this->page > $CountList-3 && $CountList > 5){$this->sp=$CountList-4; } 
    if($CountList>5)$cpc=5;else $cpc=$CountList; 
    for($this->i=$this->sp;$this->i<$this->sp+$cpc;$this->i++){ 
     
    if($this->i == $this->page){  printf ('<span class="'.$class_once.'">%s</span>',$this->i); }
    else{ $suit=$this->link_interval.$this->i; 
    $links_cent = '<span class="'.$class_all.'"><a href="?page='.$suit.'">'.$this->i.'</a></span>';
     echo $links_cent;  } } 
    $suit=$this->link_interval."?page=".$CountList.""; 
    if($this->page<=$CountList-3 and $CountList>5){echo '<span class="'.$class_all.'">...</span>  <span class="'.$class_all.'"><a href="'.$suit.'">'.$CountList.'</a></span> ';} }
    }
    }
    
    $CountListPage = 5;   // Сколько объектов отображать на странице # по умолчанию 10
    $sql="SELECT * FROM `news` ";  // SQL запрос # по умолчанию "SELECT * FROM `news`"
    $class_all='page_all'; // Css класс всех страниц кроме текущей
    $class_once='class_once'; // Css класс всех страниц кроме текущей
    
    /* Формирование страниц и sql запрос */
    $pagination = new pagination_start();
    $pagination->CountListPage = $CountListPage;
    $pagination->sql = $sql;
    $pagination->page_settings();
    while($ires_result=mysql_fetch_array($pagination->ires))
    {
    echo $ires_result['id']."<br/>";
    } 
    /* Пагенирование */
    $pagination_end = new pagination_end();
    $pagination_end->CountListPage = $CountListPage;
    $pagination_end->sql = $sql;
    $pagination_end->pagination($class_all,$class_once); // От css клас от 2 страници до предпоследней

    qbasic, 11 Января 2011

    Комментарии (238)
  4. Objective C / Говнокод #5212

    −314

    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
    #pragma mark -
    #pragma mark Table view delegate
    
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    	if (indexPath.section == 3 && indexPath.row == 0) {
    		CGSize fitSize = [[item objectForKey:@"note"]
    							sizeWithFont:[UIFont boldSystemFontOfSize:18]
    							constrainedToSize:CGSizeMake([UIScreen mainScreen].bounds.size.width - 50, MAXFLOAT)
    							lineBreakMode:UILineBreakModeWordWrap];
    		
    		return fitSize.height;
    	}
    	
    	return [self.tableView rowHeight];
    }

    Я тут на Objective C говнокодить стал, вот моя почти первая аппса
    http://itunes.apple.com/ru/app/qx9pro/id408832020?mt=8

    striker, 11 Января 2011

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

    +37

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    error_log('json_upload(): called');
    error_log('json_upload(): dump $_POST');
    foreach(explode("\n", var_export($_POST, TRUE) ) as $val) error_log('advupload_json_upload() dump: ' . $val);
    error_log('json_upload(): dump $_GET');
    foreach(explode("\n", var_export($_GET, TRUE) ) as $val) error_log('advupload_json_upload() dump: ' . $val);

    отладка аццкого json вызова который вызываецо с клиента для загрузке файла покускам.
    думать было лень. наговнякал :)
    потом tail -f /var/log/apache2/errors.log в консоли и фпирет

    brainstorm, 11 Января 2011

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

    +104

    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
    public class BuildActivity     
     {
            private class RequestLimit : ICloneable
            {
                 //несколько свойств
            }
    
            private class Request : IDisposable
            {
               // оберка вокруг stream      
            }
    
            private class Response
            {
                // несколько методов
            }
    
            private class Document        
            {
                // 4 простых свойства
            }
    
           //примерно с десяток методов   
    }

    еще один пример навороченных структур на ровном месте. В достаточно простом классе имеем 4 (sic!) private вложенных класса - которые ниоткуда никем больше не используются. Все потому что человек не умел дизайнить классы так что бы не приходилось временные данные передавать из одной процедуры в другую. Страшно представить что он будет писать когда узнает про Tupels :)

    eval_2009, 11 Января 2011

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

    +160

    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
    /*
    ...
    */
    
    /* Add some salt */
    $sold = $settings['users']['password_salt'];
    $password = $sold.$password;
    
    /* 1. MD5 */
    $password = md5($password);
    		
    /* 2. SHA1 */
    $password = sha1($password);
    		
    /* 4. Base64 */
    $password = base64_encode($password);
    		
    /* 5. Fatality! */
    $password = sha1($password);
    
    /* Well done! */
    return $password;

    Мощно

    qman, 10 Января 2011

    Комментарии (21)
  8. Pascal / Говнокод #5208

    +98

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if a[512] < x then L := n – 512 + 1;
    if a[L + 256] < x then L := L + 256;
    if a[L + 128] < x then L := L + 128;
    if a[L + 64] < x then L := L + 64;
    if a[L + 32] < x then L := L + 32;
    if a[L + 16] < x then L := L + 16;
    if a[L + 8] < x then L := L + 8;
    if a[L + 4] < x then L := L + 4;
    if a[L + 2] < x then L := L + 2;
    if a[L + 1] < x then L := L + 1;

    Взято из методического пособия по программированию - отрывок из алгоритма бинарного поиска (реализация для сходимости в 9 шагов)

    diok, 10 Января 2011

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

    +145

    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
    private boolean save(Writer writer, int indent) {
      StringBuffer nlb = new StringBuffer("\n");
      for (int i = 0; i < indent; i++) {
       nlb.append("\t");
      }
      String nl = nlb.toString();
      Writer s = writer;
      try {
       if (this.isRoot()) {
        s.append("<?xml version=\"1.0\" encoding=\"");
        s.append(Charset.defaultCharset().displayName());
        s.append("\"?>");
       }
       s.append(nl);
       s.append("<");
       s.append(RegNode.EL_NODE);
       s.append(" ");
       s.append(RegNode.ATT_NAME);
       s.append("=\"");
       s.append(this.getName());
       s.append("\">");
       if (this.getData() != null) {
        s.append(nl);
        s.append("\t<");
        s.append(RegNode.EL_DATA);
        s.append(" ");
        s.append(RegNode.ATT_TYPE);
        s.append("=\"");
        s.append(RegNode.getTypeFor(this.getData()));
        s.append("\" ");
        s.append(RegNode.ATT_ENCODE);
        s.append("=\"");
        s.append(this.getMethod());
        s.append("\">");
        s.append(nl);
        s.append("\t\t");
        s.append(RegNode.encodeData(this.getData(), this.getMethod()));
        s.append(nl);
        s.append("\t</");
        s.append(RegNode.EL_DATA);
        s.append(">");
       }
       for (RegNode child : this.getChildren()) {
        s.append("\t");
        child.save(s, indent + 1);
       }
       s.append(nl);
       s.append("</");
       s.append(RegNode.EL_NODE);
       s.append(">");
       return true;
      } catch (IOException e) {
       e.printStackTrace();
      }
      return false;
     }

    не нужен нам ни DOM, ни SAX, ни JAXB!

    из класса, пытающегося реализовать себе "Windows Registry"-подобное древовидное хранилище.
    каюсь, лисапед тоже мой = )

    Lure Of Chaos, 10 Января 2011

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

    −174

    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
    Sub display(frm As Form)
        Dim lvl As Boolean
        Dim format As String
        If (frm.optSex(0).value) Then
            format = oI18n.translate("res_m")
            format = Replace(format, "\n", vbCrLf, 1, -1, vbBinaryCompare)
            format = Replace(format, "*", frm.cmbSchool.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtForm.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtName.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtSurname.Text, 1, 1, vbTextCompare)
            lvl = False
            For Each optLvl In frm.chkLevel
                If (optLvl.value) Then
                    format = Replace(format, "*", oI18n.translate(optLvl.Tag & "_m"), 1, 1, vbTextCompare)
                    lvl = True
                End If
            Next optLvl
            If (Not lvl) Then format = Replace(format, "*", oI18n.translate("Bad" & "_m"), 1, 1, vbTextCompare)
        End If
        If (frm.optSex(1).value) Then
            format = oI18n.translate("res_f")
            format = Replace(format, "\n", vbCrLf, 1, -1, vbBinaryCompare)
            format = Replace(format, "*", frm.cmbSchool.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtForm.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtName.Text, 1, 1, vbTextCompare)
            format = Replace(format, "*", frm.txtSurname.Text, 1, 1, vbTextCompare)
            lvl = False
            For Each optLvl In frm.chkLevel
                If (optLvl.value) Then
                    format = Replace(format, "*", oI18n.translate(optLvl.Tag & "_f"), 1, 1, vbTextCompare)
                End If
            Next optLvl
            If (Not lvl) Then format = Replace(format, "*", oI18n.translate("Bad" & "_f"), 1, 1, vbTextCompare)
        End If
        Dim dalykai As String
        Dim first As Boolean
        dalykai = ""
        first = True
        For Each chkFavorite In frm.chkFavorites
            If (chkFavorite.value) Then dalykai = dalykai & IIf(first, vbCrLf, vbCrLf) & (chkFavorite.Caption)
            first = False
        Next chkFavorite
        If (frm.chkFavoriteOther.value) Then dalykai = dalykai & IIf(first, vbCrLf, vbCrLf) & (frm.txtFavoriteOther.Text)
        Dim b As Boolean
        b = dalykai = ""
        If (b) Then
            If (frm.optSex(0).value) Then dalykai = oI18n.translate("nores_m")
            If (frm.optSex(1).value) Then dalykai = oI18n.translate("nores_f")
        End If
        If (Not b) Then
            If (frm.optSex(0).value) Then dalykai = oI18n.translate("res2_m") & dalykai
            If (frm.optSex(1).value) Then dalykai = oI18n.translate("res2_f") & dalykai
        End If
        
        MsgBox (format & vbCrLf & dalykai)
    End Sub

    заполняем строку-шаблон, заменяя звездочки реальными данными
    вот не было в VB6 printf-подобной функции ((

    Lure Of Chaos, 10 Января 2011

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