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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
         * Verify displayed special product price on product page(front-end) equals passed from fixture.
         *
         * @return null|string|void
         */
        protected function verifySpecialPrice()
        {
            return null;
        }

    Судя с того, что написано в дескрипшене, а именно
    @return void
    даный метод можно свести к
    return;
    или даже
    //

    Lord723518, 03 Февраля 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /* Проект на Kohana Framework
    Таблица "курсы" (которую товарищ умудрился ещё обозвать tracks) имеет связь "многие ко многим" с таблицей "разделы курсов". 
    Для этого в ней есть поле section_id вот такого содержания:
    2|3|4|6|9
    А вот так запрашиваются курсы из определённой категории:
    */
    $tracks = ORM::factory('Tracks')->order_by($order_by,'ASC')->where('section_id','LIKE','%'.$this->track_id.'%')->find_all()->as_array();
    // Ну то есть, если категорий будет больше 10, то появятся неожиданные результаты....

    Всегда весело смотреть, как люди, не знающие как делать связь "многие-ко-многим" изобретаю велосипеды....

    mkramer, 28 Января 2015

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

    +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
    'idate' => 
            array (
              'UNIX' => '1346688000',
              'datetime' => '03.09.2012 19:00',
              'time' => '19:00',
              'hour' => '19',
              'second' => '00',
              'date' => '03.09.2012',
              'datename' => '03 September 2012',
              'year' => '2012',
              'y' => '12',
              'd' => '03',
              'd0' => '3',
              'm' => '09',
              'm0' => '9',
              'month' => 'September',
              'day' => 'Monday',
              'monthr' => 'сентября',
              'datenamer' => '03 сентября 2012',
              'ago' => '2 года назад',
            ),

    Правильное хранение даты. Работаю недавно и сам рак еще тот - но это слишком. Переношу БД из в свой проект и встречаю это...

    VladDelec, 28 Января 2015

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for($i = 0; $i < $count; ++$i){
      $result_formatted[$i][] = $result[$counter];
      ++$counter;
      $result_formatted[$i][] = $result[$counter];
      ++$counter;
    }

    Magic operations

    alexhifer, 26 Января 2015

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

    +161

    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
    <?php
    /**
     * Округляет число до заданного количества знаков после запятой.
     * @param float $v	- округляемое число.
     * @param int $prec - количество знаков после запятой (по-умолчанию: 0).
     * @param str $mode - режим округления: ceil | floor | round (по-умолчанию: round).
     * @return float округлённое число.
     */
    function round2($v, $prec = 0, $mode = "round") {
    	for ($k = 1, $i = 0; $i < $prec; $i++, $k *= 10)
    		;
    	switch ($mode) {
    		case "ceil" : $v = ceil($k * $v) / $k;
    			break;
    		case "floor" : $v = floor($k * $v) / $k;
    			break;
    		default : $v = round($k * $v) / $k;
    	}
    
    	return $v;
    }

    kissarat, 24 Января 2015

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function calcHTime($stt) {
            $secs   = time() - $stt;
            $h      = (int) ($secs / 3600);
            $m      = (int) (($secs - ($h * 3600)) / 60);
            $s      = (int) ($secs - ($h * 3600) - ($m * 60));
            return sprintf("%02d:%02d:%02d", $h, $m, $s);
    }

    dannikonov, 23 Января 2015

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

    +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
    24. 24
    if ($var==0 && $var3==0 && $var4==0) {
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` WHERE prod=0 ORDER BY `house_number` ASC" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var!=0 && $var3!=0 && $var4!=0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` WHERE house_number='$var' AND prod=0 AND section_type='$var3' AND rooms='$var4'" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var!=0 && $var3==0 && $var4==0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` WHERE house_number='$var' AND prod=0 ORDER BY `section_number_real` ASC" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var==0 && $var3!=0 && $var4==0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` WHERE section_type='$var3' AND prod=0 ORDER BY `house_number` ASC" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var==0 && $var3==0 && $var4!=0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` where rooms='$var4' AND prod=0 ORDER BY `house_number` ASC" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var!=0 && $var3==0 && $var4!=0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` where house_number='$var' AND prod=0 AND rooms='$var4' ORDER BY `house_number` ASC" . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var!=0 && $var3!=0 && $var4==0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` where house_number='$var' AND prod=0 AND section_type='$var3' ORDER BY `section_number_real` ASC " . $db_table_to_show)
    or die(mysql_error());	}
    elseif ($var==0 && $var3!=0 && $var4!=0){
    $qr_result = mysql_query("SELECT type_id, image_plan, section_type, house_number, section_number_real, rooms, prod  FROM  `psp_gen_plan_type` where rooms='$var4' AND prod=0 AND section_type='$var3' ORDER BY `house_number` ASC " . $db_table_to_show)
    or die(mysql_error());	}

    Кинули сайт на доработку. Вот с таким вот фильтром.

    tin, 22 Января 2015

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

    +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
    public function fillRow($row, $table)
    {
        static $counter;
        global $app_list_strings, $locale;
    
        $counter++;
        $row['counter'] = $counter;
        $row['status_abc_current'] = $row['status_abc_current'];
        $row['status_abc_1_quarter_ago'] = $row['status_abc_1_quarter_ago'];
        $row['status_abc_2_quarter_ago'] = $row['status_abc_2_quarter_ago'];
        $row['status_abc_3_quarter_ago'] = $row['status_abc_3_quarter_ago'];
        $row['status_abc_4_quarter_ago'] = $row['status_abc_4_quarter_ago'];
    
        return $row;
    }

    что-то тут не так

    mr-lekafe, 22 Января 2015

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

    +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
    $i = 0;
            for ($k = 0; $k<=5; $k++){
                if ($i==5)
                    break;
                foreach (getContent($id) as $content_row) {
                    $i++;
                    $htmlshowcase = $content_row->getShowcase(1, $k);
                    if ($htmlshowcase == '')
                        $i--;
                    else
                        $html .= $htmlshowcase;
                    if ($i==5)
                        break;
                }
            }

    Лучший способ прохода по циклу.

    arkham_vm, 20 Января 2015

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

    +152

    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
    <?
    require_once('ittable.class.php');
    
    class ITForm extends ITTable
    {
    public function __construct($tbl)
    {
    parent::__construct($tbl);
    
    //путь с скрипту который удаляет файлы по tblname record_id filename
    $this->path2deletephp='/itcms4/ckeditor/delete.php';
    }
    
    
    public function printForm($i, $action, $head, $submitvalue='', $captcha=0)
    {
    $form = $this->generateFormData($i, $action, $head, $submitvalue, $captcha);
    
    print "<h1>$form->head</h1>
    $form->begin
    $form->inputhidden
    
    <table>";
    
    foreach($form->inputs as $k=>$v)
     print "<tr id='itforms_$k'" . ($this->columns[$k]->blockclass?' class="' . $this->columns[$k]->blockclass . '"':'') ."><td>$v->name</td><td>$v->input</td></tr>\n";
     
    print "</table>
    
    $form->files
    
    
    <hr><input type='submit' value='$form->submitvalue'></form>
    
    <script type='text/javascript'>
    var itform;
    $(document).ready(function()
      {
       itform = new ITForm($('#$this->tbl$i->id'));
       $form->js
       });
    </script>
    ";
    }
    
    public function insertForm($head, $submitvalue='', $i=0)
    {
     if(!$i)
      $i = new stdClass();
      
     $copy_id = intval($_GET['copy_id']);
     if($copy_id)
     {
      $r=exec_mysql_query("SELECT * FROM $this->tbl WHERE id='$copy_id'");
      $row=mysql_fetch_array($r);
      foreach($row as $k=>$v)
       if(!isset($i->$k))
        $i->$k = $v;
     }
     //чтобы можно было загрузить файлы делаем временный id в диапазоне от 10^7 до 2*10^9
     $i->id = 'r' . rand(10000000, 2000000000);
     $this->printForm($i, 'insert.php', $head, $submitvalue);
    } 
    
    public function updateForm($id, $head, $submitvalue='')
    {
     $this->printForm($this->getObject($id), 'update.php',  $head, $submitvalue);
    
    if(mysql_numrows(exec_mysql_query("SELECT id FROM it_updatelog WHERE tbl='$this->tbl' AND record_id='$id'")))
     print "<a href=/crm2/log/?w_tbl_2=$this->tbl&w_record_id_1=$id>История изменений</a><br>"; 
    }
    
    public function deleteForm($id, $head, $submitvalue='')
    {
     $this->printForm($this->getObject($id), 'delete.php',  $head, $submitvalue);
    }
    
    public function updateForm4Object($o, $head, $submitvalue='')
    {
     $this->printForm($o, 'update.php',  $head, $submitvalue);
    
    if(mysql_numrows(exec_mysql_query("SELECT id FROM it_updatelog WHERE tbl='$this->tbl' AND record_id='$o->id'")))
     print "<a href=/crm2/log/?w_tbl_2=$this->tbl&w_record_id_1=$o->id>История изменений</a><br>"; 
    }

    Продолжение: http://govnokod.ru/17479

    itgovnokod, 19 Января 2015

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