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

    +156

    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
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body background="money.jpg">
    <h1 align="center">Звіт по витратах</h1>
    
    <table align="center">';
    {% for item in payments['list'] %}
        <tr><td>{{ item['data']}}</td>
            <td>{{item['summa']}}</td>
            <td>{{item['id']}}</td>
            <td><button  onclick="window.location.href=index.php/?id={{item['id']}}&go=delete"><img src="del.gif" alt="Del"style="vertical-align: middle">  </button></td></tr>
    {% endfor %}
    
    </table>
    </br></br></br>
    <table align="center"><tr><td><button   onclick="window.location.href='index.php?go=addData'">
        <img src="add.png" alt="Add" style="vertical-align: middle">Додати новий запис </button></td></tr></table>
    </body>
    </html>

    vityapro, 13 Марта 2015

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

    +130

    1. 1
    List(1,2,3) + "X" == "List(1, 2, 3)X"

    Скала

    laMer007, 13 Марта 2015

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

    +154

    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
    <?php
    // define variables and set to empty values
    $fNameErr = $lNameErr = $passErr = $pconfErr = $bDayErr = $genderErr = $ageErr = $progErr = $emailErr = $websiteErr = "";
    $fname = $lname = $password = $passconfirm = $day = $month = $year = $email = $gender = $age = $plang = $email = $website = "";
    $validate = TRUE;
    
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
      $fname = test_input($_POST["fname"]);
      $lname = test_input($_POST["lname"]);
      $password = test_input($_POST["password"]);
      $passconfirm = test_input($_POST["passconfirm"]);
      $day = test_input($_POST["day1"]);
      $month = test_input($_POST["month1"]);
      $year = test_input($_POST["year1"]);
      $email = test_input($_POST["email"]);
      $website = test_input($_POST["website"]);
    }
     
    function test_input($data)
    {
      $data = trim($data);
      $data = stripslashes($data);
      $data = htmlspecialchars($data);
      return $data;
    }
     
    if(!$_POST)
    {
      $validate = FALSE;
    }
     
     
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
     
     
     
      //validation of forename
      if(!empty($_POST["fname"]))
      {
        if (!preg_match("/^[a-zA-Z '-]*$/", $fname))
        {
          $fNameErr = "Only letters, - , ' and whitespaces are allowed";
          $fname = "";
          $validate = FALSE;
        }
        else
        {
          $fname = test_input($_POST["fname"]);
        }
      }
      else
      {
        $fNameErr = "Forename is required";
        $validate = FALSE;
      }
     
      //validation of surname
      if (!empty($_POST["lname"]))
      {
        if (!preg_match("/^[a-zA-Z '-]*$/", $lname))
        {
          $lNameErr = "Only letters, - , ' and whitespaces are allowed";
          $lname = "";
          $validate = FALSE;
        }
        else
        {
          $lname = test_input($_POST['lname']);
        }
      }
      else
      {
        $lNameErr = "Last name is required";
        $validate = FALSE;
      }

    Только начал кодить на пхп, интересно мнение более опытных товарищей - можно ли подобное отнести к говнокоду/ быдлокоду?) просто были уже подобные комментарии относительно этого кода

    ragie, 13 Марта 2015

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

    +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
    /**
     * Дублирование пароля в поле CONFIRM_PASSWORD.
     */
    function removeConfirmPasswordField()
    {
        $arFields  = filter_input(INPUT_POST, 'REGISTER', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);
        if($arFields)
        {
            $arKeys = array_keys($arFields);
            $arNeedKeys = array('PASSWORD', 'CONFIRM_PASSWORD');
            if(count(array_intersect($arKeys, $arNeedKeys)) === count($arNeedKeys))
            {
                $_POST['REGISTER']['CONFIRM_PASSWORD'] = $_POST['REGISTER']['PASSWORD'];
                $_REQUEST['REGISTER']['CONFIRM_PASSWORD'] = $_REQUEST['REGISTER']['PASSWORD'];
            }
        }
    }
    
    AddEventHandler('main', 'OnBeforeProlog', 'removeConfirmPasswordField');

    Вот таким способом я дублирую значение поля ввода пароля в поле для его подтверждения...

    littlefuntik, 13 Марта 2015

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

    +157

    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
    /**
         * Checks if the same user added to more than one role
         * @private
         */
        _checkUsersConficts: function() {
            var adminUsers = this._usersGrids[TI.constants.RoleLevels.ADMIN].getStore().getRange().map(function(rec) {
                return rec.get(this.COLUMN_EMAIL);
            }, this);
    
            var editorUsers = this._usersGrids[TI.constants.RoleLevels.EDITOR].getStore().getRange().map(function(rec) {
                return rec.get(this.COLUMN_EMAIL);
            }, this);
    
            var readerUsers = this._usersGrids[TI.constants.RoleLevels.READER].getStore().getRange().map(function(rec) {
                return rec.get(this.COLUMN_EMAIL);
            }, this);
    
            //let's use dumb approach. probably later will have time for some more sophisticated algorithm ¯\_(ツ)_/¯
    
            var conflictAdminEditor = adminUsers.intersect(editorUsers);
            var conflictAdminReader = adminUsers.intersect(readerUsers);
            var conflictEditorReader = editorUsers.intersect(readerUsers);
    
            return conflictAdminEditor
                .concat(conflictAdminReader)
                .concat(conflictEditorReader)
                .unique();
        }

    Да чо там, больше ролей не добавлялось уже очень давно и не предполагается.

    bakagaijin, 13 Марта 2015

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

    +159

    1. 1
    2. 2
    <button type="submit"  method="post" action="/vote-positive" class="like" name="<?=$model->numb_positive?>"></button>
                        <button type="submit"  method="post" action="vote-negative" class="dizlike" name="<?=$model->numb_positive?>"></button>

    Попытка обработать нажатие на кнопку - для системы рейтинга.

    qstd, 13 Марта 2015

    Комментарии (7)
  7. C++ / Говнокод #17777

    +56

    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
    template<typename T, typename E=emp> class _interlock;
    		template<typename T> class _interlock
    			<T,
    			typename std::enable_if<
    				std::is_same<
    					typename std::conditional<
    						std::is_same<udi,typename std::make_unsigned<T>::type>::value,
    						udi,
    						uqi
    					>::type,
    					typename std::make_unsigned<T>::type
    				>::value
    			>::type
    			>
    		{
    		public:
    
    			_interlock
    				<T,
    				typename std::enable_if<
    				std::is_same<
    				typename std::conditional<
    				std::is_same<udi,typename std::make_unsigned<T>::type>::value,
    				udi,
    				uqi
    				>::type,
    				typename std::make_unsigned<T>::type
    				>::value
    				>::type
    				>
    				(T x=0)
    			{
    				number=x;
    			}
    
    			//Возвращается прежнее значение
    			T operator + (T x)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,(_sign_t)x);
    			}
    
    			//Возвращается прежнее значение
    			T operator - (T x)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-(_sign_t)x);
    			}
    
    			//Чтение
    			T operator () ()
    			{
    				return number;
    			}
    
    			//Замена на x
    			T operator () (T x)
    			{
    				return (T)InterlockedExchange((_unsign_t*)&number,(_unsign_t)x);
    			}
    
    			//Сравнение с y, замена на x, если равны
    			T operator () (T x, T y)
    			{
    				return (T)InterlockedCompareExchange((_unsign_t*)&number,(_unsign_t)x,(_unsign_t)y);
    			}
    			
    			T operator ++ ()
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,1)+1;
    			}
    
    			T operator -- ()
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-1)-1;
    			}
    
    			T operator ++ (int)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,1);
    			}
    
    			T operator -- (int)
    			{
    				return (T)InterlockedExchangeAdd((_unsign_t*)&number,-1);
    			}
    
    		private:
    			typedef typename std::make_unsigned<T>::type _unsign_t;
    			typedef typename std::make_signed<T>::type _sign_t;
    			volatile T number;
    		};

    Функция "ИЛИ" для типов через type_traits для шаблона. А также атомарный: сумматор, счётчик, компаратор с возможностью условной и безусловной замены значения в одном лице. Для типов: udi (unsigned int), sdi (signed int), uqi (unsigned long long), sqi (signed long long). Тип emp = void (от слова empty).

    Tirannozavr, 13 Марта 2015

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

    +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
    jQuery('#btn-submit-calck').on('click',function () {
     var GDO = jQuery('#GDO').val().replace(',', '.');
     var GAZ = jQuery('#GAZ').val().replace(',', '.');
     var BENZIN = jQuery('#BENZIN').val().replace(',', '.');
     var ROZHOD = jQuery('#ROZHOD').val().replace(',', '.');
     var PROBEG = jQuery('#PROBEG').val().replace(',', '.');
     var RESULT = ((GDO * 100)/((BENZIN-GAZ*1.1)*ROZHOD*PROBEG));
     jQuery('#RESULTO').text(Math.round(RESULT));
     jQuery('#EKONOM').text(Math.round(((BENZIN-GAZ*1.1)*ROZHOD*PROBEG)/100));
     jQuery('#1GOD').text(Math.round((((BENZIN-GAZ*1.1)*ROZHOD*PROBEG)/100)*365));
     
     return false;
    });

    talam0nal, 13 Марта 2015

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

    +74

    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
    for (int i = 0; i < blockNodeSize; i++) {
        String blockTitle = subBlock.getElementsByClass("b-results__drugs-title").get(i).text();
        String blockData = String.valueOf(subBlock.getElementsByTag("dd").get(i))
                //.replace("\n", "")
                .replace("<dd>", "")
                .replace("</dd>", "")
                .replace("<p><i>", "")
                .replace("</i></p>", ":")
                .replace("<p>", "")
                .replace("</p>", "")
                .replace("</i>", "")
                .replace("<br>", "")
                .replace("</br>", "\n");

    extruder, 13 Марта 2015

    Комментарии (22)
  10. Куча / Говнокод #17774

    +124

    1. 1
    <script src="/js/js.js" type="text/javascript"></script>

    Я так и не понял. Что же интересно может делать файл js.js в папке js? Ума не могу приложить :\

    volter9, 13 Марта 2015

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