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

    +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
    /*
         * return practices for degree level subject
         * return object
        */
        public static function getDegree_level_subject_practice($degree, $level_id, $subject) {
            return array(
                    array(
                            'practice_id'=> 1,
                            'logo' =>'what.png',
                            'target' => 'Get 500 FPP',
                            'complete'=> rand(10, 100)
                    ),
                    array(
                            'practice_id'=> 2,
                            'logo' =>'what.png',
                            'target' => 'Get 500 FPP',
                            'complete'=> rand(10, 100)
                    )
            );
    
        }

    как то печально что-ли

    KiMindfreak, 22 Октября 2010

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

    +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
    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
    //FIXME: В этот код лучше не смотреть. Он крайне еретический, но работает. На досуге переписать по-человечески
    
    $_1_2[1]="одна ";
    $_1_2[2]="две ";
    $GLOBALS['_1_2'] = $_1_2;
    
    $_1_19[1]="один ";
    $_1_19[2]="два ";
    $_1_19[3]="три ";
    $_1_19[4]="четыре ";
    $_1_19[5]="пять ";
    $_1_19[6]="шесть ";
    $_1_19[7]="семь ";
    $_1_19[8]="восемь ";
    $_1_19[9]="девять ";
    $_1_19[10]="десять ";
    
    $_1_19[11]="одиннацать ";
    $_1_19[12]="двенадцать ";
    $_1_19[13]="тринадцать ";
    $_1_19[14]="четырнадцать ";
    $_1_19[15]="пятнадцать ";
    $_1_19[16]="шестнадцать ";
    $_1_19[17]="семнадцать ";
    $_1_19[18]="восемнадцать ";
    $_1_19[19]="девятнадцать ";
    $GLOBALS['_1_19'] = $_1_19;
    
    $des[2]="двадцать ";
    $des[3]="тридцать ";
    $des[4]="сорок ";
    $des[5]="пятьдесят ";
    $des[6]="шестьдесят ";
    $des[7]="семьдесят ";
    $des[8]="восемдесят ";
    $des[9]="девяносто ";
    $GLOBALS['des'] = $des;
    
    $hang[1]="сто ";
    $hang[2]="двести ";
    $hang[3]="триста ";
    $hang[4]="четыреста ";
    $hang[5]="пятьсот ";
    $hang[6]="шестьсот ";
    $hang[7]="семьсот ";
    $hang[8]="восемьсот ";
    $hang[9]="девятьсот ";
    $GLOBALS['hang'] = $hang;
    
    $namerub[1]="рубль ";
    $namerub[2]="рубля ";
    $namerub[3]="рублей ";
    $GLOBALS['namerub'] = $namerub;
    
    $nametho[1]="тысяча ";
    $nametho[2]="тысячи ";
    $nametho[3]="тысяч ";
    $GLOBALS['nametho'] = $nametho;
    
    $namemil[1]="миллион ";
    $namemil[2]="миллиона ";
    $namemil[3]="миллионов ";
    $GLOBALS['namemil'] = $namemil;
    
    $namemrd[1]="миллиард ";
    $namemrd[2]="миллиарда ";
    $namemrd[3]="миллиардов ";
    $GLOBALS['namemrd'] = $namemrd;
    
    $kopeek[1]="копейка ";
    $kopeek[2]="копейки ";
    $kopeek[3]="копеек ";
    $GLOBALS['kopeek'] = $kopeek;
    
    
    function semantic($i,&$words,&$fem,$f){
        $_1_2 = $GLOBALS['_1_2'];
    	$_1_19 = $GLOBALS['_1_19'];
    	$des = $GLOBALS['des'];
    	$hang = $GLOBALS['hang'];
    	$namerub = $GLOBALS['namerub'];
    	$nametho = $GLOBALS['nametho'];
    	$namemil = $GLOBALS['namemil'];
    	$namemrd = $GLOBALS['namemrd'];
        $words="";
        $fl=0;
        if($i >= 100){
            $jkl = intval($i / 100);
            $words.=$hang[$jkl];
            $i%=100;
        }
        if($i >= 20){
            $jkl = intval($i / 10);
            $words.=$des[$jkl];
            $i%=10;
            $fl=1;
        }
        switch($i){
            case 1: $fem=1; break;

    Нашел в коде нашего интернет проекта

    madiedinro, 22 Октября 2010

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

    +159

    1. 1
    <a href="<?=$res["URL"]?>" style="font-size: <?=$res["FONT_SIZE"]?>px; color: #<?=$res["COLOR"]?>;px" rel="nofollow"><?=$res["NAME"]?></a>

    Битрикс, компонент "Облако тэгов"
    Последний "px" в тэге style явно лишний.

    hdkeeper, 22 Октября 2010

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    //Переводим строку в нижний регистр
    function myStrtolower($word){
    	return strtr(strtolower($word), 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ', 'йцукенгшщзхъфывапролджэячсмитьбю');
    }

    сказать нечего

    Sum, 22 Октября 2010

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

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $a_year[2005]="2005";
    $a_year[2006]="2006";
    $a_year[2007]="2007";
    $a_year[2008]="2008";
    $a_year[2009]="2009";
    $a_year[2010]="2010";
    $a_year[2011]="2011";
    $a_year[2012]="2012";

    больше 2012 года не вписали... xd

    ferry-very-good, 21 Октября 2010

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

    +158

    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
    function getAvailableFlights($source,$dest){
    
        $connection = initDB();
        $query2;       
    
        $query2 = "SELECT * FROM Sectors WHERE Sector='".$source."'";
        $result2 = mysql_query($query2);
            //or die ("Query Failed ".mysql_error());                
        $row2 = mysql_fetch_array($result2);
        $SourceSID = $row2['SID'];
    
        $query3 = "SELECT * FROM Sectors WHERE Sector='".$dest."'";
        $result3 = mysql_query($query3);
            // or die ("Query Failed ".mysql_error());                
        $row3 = mysql_fetch_array($result3);
        $destSID= $row3['SID'];
            
            //Get available flights
        $query3 = "SELECT * FROM Flights WHERE SourceSID='".$SourceSID."' AND DestSID='".$destSID."'";
        $result3 = mysql_query($query3);
            //  or die ("Query Failed ".mysql_error()); 
    
        $flightsArray;
        $flightsID=1;
    
        while($row = mysql_fetch_array($result3)){        
                $fName= $row['FName'];
                $flightsArray[$flightsID] = $fName;
                $flightsID = $flightsID +1;
            }
        closeDB($connection);
        return $flightsArray;
    }

    В NetBeans есть несколько примеров с проектами PHP. Один из них AirAlliance. весь код оттуда можно сюда запостить.
    ну вместо той херни что написана выше можно использовать один запрос MySql
    'select distinct f.FName
    from Flights f
    left join Sectors s on f.SourceSID=s.SID
    left join Sectors d on f.DestSID=d.SID
    where s.SID='.(int)$source.' or d.SID='.(int)$dest

    duburlan, 21 Октября 2010

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

    +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
    class XXX
    {
    	function _item()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function _lister()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function item()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function lister()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function __construct()
    	{
    		$this->_lister();
    	}
    }

    В прицнипе пофиг что оно делает. Но смотреть без слез, имхо нельзя :)

    grelkin, 21 Октября 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //функция конвертации времени в таймстамп, добавлено 08.07.2010
    function convertDate($date){
    	$dateArr = explode(".", $date);
    	$date = mktime(0,0,0,$dateArr[1],$dateArr[0],$dateArr[2]);
    	return $date;
    	
    	// 21.10.2010: а чем strtotime не устраивает?
    }

    И чем strtotime() не устроило, не понятно.

    getrix, 21 Октября 2010

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

    +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
    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
    <?php
    		// ...
    		////////////////
    		$_engines = unserialize(SENGINES);
    
    		if (0 == count($loading)) return -3;
    		$select=-1;
    		$delta=0;
    		$me=count($_engines);
    		$ms=count($args);
    
    		if (count($loading))
    		foreach ($loading as $k=>$v)
    		{
    			if (!isset($v['all'])) continue;
    			if (0==$v['all']) continue;
    			$tmp=0;
    			switch(1)
    			{
    				case $ms > 0:
    					foreach ($args as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$ms;
    					break;
    
    				case $me > 0:
    					foreach ($_engines as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$me;
    					break;
    
    			}
    
    			if ($tmp > $delta)	{$delta=$tmp;$select=$k;}
    		}
    		if (-1 == $select) return false;
    		////////////////
    		// ...

    Автор этого убеждает, что тут где-то производится сортировка.

    Кстати, это, #4071 и #4215 кодил один и тот же автор. Поэтому тут можно наблюдать десериализацию массива из константы, возвращение непонятных отрицательных статусов, очень информативное именование переменных, копипаст и самое классное — "if для лохов, я использую switch(1)"

    user654321, 20 Октября 2010

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

    +159

    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
    class Request_BrowserDetector
    {
      public static function singleton()
      {
        if (null === self::$_instance)
        {
          self::$_instance = new self;
        }
        
        return self::$_instance;
      }
      
      protected static $_instance = null;
    
      public function __construct()
      {
        $this->_sigs = Application::singleton()->cfg('request.browser.signatures');
      }
      
      public function detect($str)
      {
        if (isset($this->_cache[$str]))
        {
          $out = $this->_cache[$str];
        }
        else
        {
          $notFound = true;
          
          foreach ($this->_sigs as $k => $v)
          {
            if (false !== strpos($str, $k))
            {
              $out = $v;
              $notFound = false;
              break;
            }
          }
          
          if ($notFound)
          {
            $out = $this->_escape($str);
          }
          
          $this->_cache[$str] = $out;
        }
        
        return $out;
      }
      
      protected function _escape($str)
      {
        return mysql_real_escape_string($str);
      }
      
      protected $_sigs, $_cache = array();
    }

    синглетон такой, синглетон

    seonull, 20 Октября 2010

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