1. Поиск говнокода

    Этот поиск практически ничего не может найти! Но вы всё-таки попытайтесь, вдруг повезет.

    Найдено: 384

  2. C# / Говнокод #18089

    +142

    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
    public List<MainTZInfoVO> GetMyJobs(bool flag1, bool flag2, bool flag3, bool flag4, string date1, string date2)
    {
        List<MainTZInfoVO> ulist = new List<MainTZInfoVO>();  // список заданий пользователя
        string sIdUser = usr.GetUserOrAssistansID().ToString();   // ID пользователя
        
        //выданы мне задания
        string sql1 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '1' as NOT_RECEIVED from tz_all_jobs where (trim(id_ispol) like '%,'||'" + sIdUser + "'||',%' or trim(id_ispol) like '" + sIdUser + "'||',%') and (status='Выдано' or status = 'Отклонено частично') and nvl(id_prin,' ') not like  '%,'||'" + sIdUser + "'||',%' and  nvl(id_prin,' ') not like '" + sIdUser + "'||',%' and nvl(id_otkl,' ') not like  '%,'||'" + sIdUser + "'||',%' and  nvl(id_otkl,' ') not like '" + sIdUser + "'||',%'";
        //принятые мной, не рассмотренные другими
        string sql2 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '0' as NOT_RECEIVED from tz_all_jobs where (status='Выдано' or status = 'Отклонено частично') and (nvl(id_prin,' ')  like  '%,'||'" + sIdUser + "'||',%' or  nvl(id_prin,' ')  like '" + sIdUser + "'||',%' or nvl(id_otkl,' ')  like  '%,'||'" + sIdUser + "'||',%' or  nvl(id_otkl,' ')  like '" + sIdUser + "'||',%')";
        //выданные мне в статусе отклонено
        string sql3 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '2' as NOT_RECEIVED from tz_all_jobs where  (id_ispol like '%,'||'" + sIdUser + "'||',%' or id_ispol like '" + sIdUser + "'||',%') and (status='Отклонено' or status='Аннулировано')";
        //ограничение по дате
        string sql4 = "date_vyd between to_date('" + date1 + "','DD.MM.YYYY') and to_date('" + date2 + "','DD.MM.YYYY')";
        string sql = " ";
        //формируем sql-ку по флажкам, которые передаем в функцию
        if (flag1 == true)
        {
            sql = sql1;
        }
        if (flag2 == true)
        {
            if (sql.Length > 1)
            {
                sql = sql + " union " + sql2;
            }
            else
            {
                sql = sql2;
            }
        }
        if (flag3 == true)
        {
            if (sql.Length > 1)
            {
                sql = sql + " union " + sql3;
            }
            else
            {
                sql = sql3;
            }
        }
        if ((flag4 == true) & (sql.Length > 1))
        {
            sql = "select * from (" + sql + ") tabl where " + sql4;
        }
        sql = sql + " order by date_vyd desc";
    
        OracleCommand cmd = new OracleCommand(sql, connection);
        OracleDataReader reader = cmd.ExecuteReader();
        //ТУТ ПЕРЕДЕЛАТЬ ВСЕ
        /*заполнение полей из ридера*/
        while (reader.Read())
        {
            //...
        }
        return ulist; 
    }

    в этом коде прекрасно все (имена и типы переменных, жестокое обращение с датами, чуть менее жестокое обращения с "флажками", соединение с Ораклом, которое открывается где-то за пределами вселенной и не закрывается нигде, и еще много всего)...
    дочитав этот шедевр до строчки //ТУТ ПЕРЕДЕЛАТЬ ВСЕ, просто невозможно не прослезиться...

    svetkeen, 29 Апреля 2015

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    $res = $link->query("SELECT * FROM BetaTesters WHERE email='".$_POST['email']."'");
        if($row = mysqli_fetch_array($res))
        {
         $result['message'] = "<p>Емейл уж используется!</p>";

    skydev, 02 Апреля 2015

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

    +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
    public function getProductAttributes($product_id) {
    	$product_attribute_data = array();
    
    	$product_attribute_query = $this->db->query("SELECT attribute_id FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' GROUP BY attribute_id");
    
    	foreach ($product_attribute_query->rows as $product_attribute) {
    		$product_attribute_description_data = array();
    
    		$product_attribute_description_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");
    
    		foreach ($product_attribute_description_query->rows as $product_attribute_description) {
    			$product_attribute_description_data[$product_attribute_description['language_id']] = array('text' => $product_attribute_description['text']);
    		}
    
    		$product_attribute_data[] = array(
    			'attribute_id'                  => $product_attribute['attribute_id'],
    			'product_attribute_description' => $product_attribute_description_data
    		);
    	}
    
    	return $product_attribute_data;
    }

    Opencart -> ModelCatalogProduct -> getProductAttributes
    Первым запросом в БД они берут IDы атрибутов, перебирают их циклом, в котором другим запросом берут всё, в том числе и те же IDы, из той же таблицы и снова перебирают строки циклом.

    technobulka, 25 Марта 2015

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

    +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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    if (!isset($_GET['outbox']) and !isset($_GET['deleted']) and !isset($_GET['verification'])){
    				$res2 = mysql_query("SELECT l.* FROM letters l LEFT JOIN `customers` ct ON ct.id=l.from_user WHERE l.deleted<>1 AND ct.`Sex` = 'male' {$addon_sql} ORDER BY l.time_insert DESC");
    				for($arr=array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
    
    				smarty_put_var('zagolovok', 'Входящие письма');
    		}
    
    		if (isset($_GET['verification'])) {
    		$res2 = mysql_query("SELECT * FROM `letters` where `deleted` != 1 AND `checked` = 'N' {$addon_sql} order by `time_insert` DESC");
    		for($arr = array(); $t = mysql_fetch_assoc($res2); $arr[] = $t);
    
    		smarty_put_var('zagolovok', 'Ожидающие проверку');
    		}
    
    		if (isset($_GET['outbox'])) {
        	$res2 = mysql_query("SELECT l.* FROM `letters` l
    		    	LEFT JOIN `customers` ct ON ct.`id`=l.from_user
    		    	WHERE l.deleted != 1 AND ct.`Sex` = 'female' {$addon_sql}
    		    	ORDER BY l.time_insert DESC LIMIT 200");
    		    	for ($arr = array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
    
    		    	smarty_put_var('zagolovok', 'Исходящие письма');
    		}
    
    		    	if (isset($_GET['deleted'])){
        	$res2 = mysql_query("SELECT * FROM `letters` WHERE `deleted` = 1
    		    	{$addon_sql} ORDER BY `time_insert` DESC");
    		    	for($arr=array(); $t=mysql_fetch_assoc($res2); $arr[]=$t);
    
    		    	smarty_put_var('deleted', true);
    		    	smarty_put_var('zagolovok', 'Удаленные письма');
    		    	}
    
    		    	$letters = array_slice($arr, $first, $limit);
    
    		foreach ($letters as &$letter) {
    			$letter['from_user_details'] = Model_Table_Customers::model()
    				->fetchByPk($letter['from_user']);
    			$letter['to_user_details'] = Model_Table_Customers::model()
    				->fetchByPk($letter['to_user']);
    		}
    
    if (isset($_GET['outbox'])){smarty_put_var('pages', pages_admin("?module=admin_letters&outbox&page=", $arr, $page, $limit)); smarty_put_var('type', 'outbox');}
    elseif (isset($_GET['verification'])){smarty_put_var('pages', pages_admin("?module=admin_letters&verification&page=", $arr, $page, $limit)); smarty_put_var('type', 'verification');}
    elseif (isset($_GET['deleted'])){smarty_put_var('pages', pages_admin("?module=admin_letters&deleted&page=", $arr, $page, $limit)); smarty_put_var('type', 'deleted');}
    else {smarty_put_var('pages', pages_admin("?module=admin_letters&page=", $arr, $page, $limit)); smarty_put_var('type', '');}
    
    ...
    
    function pages_admin($link, $arr, $page, $vis)
    {
        $radius=4;
        $pages=floor(count($arr)/$vis);
        $return="";
        $str='<table cellpadding="0" cellspacing=3 border="0">
        <tr><td height=7></td></tr>
        <tr>';
    
        if ($pages > 1) {
            $first = 'First';
            $prev = 'Prev';
            $next = 'Next';
            $last = 'Last';
    
            if($page<$radius*2){
               .....
          трэшак в том же духе

    Очередной шедевр с сохранением авторского стиля и табуляции. Это подготовка для smarty представления таблицы с постраничной разбивкой. Возможны 4 типа писем - 4 вкладки. pages_admin() - возвращает пагинатор в виде готового html кода.

    Клиент жаловался, что страница сильно тормозит. Там более 150 000 писем. Я догадывался, что код можно чутка оптимизирвоать, но не думал, что существенно. А когда посмотрел вижу - п-ц ))) Интересно насколько получить ускорить?

    stechkh, 01 Марта 2015

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

    +158

    1. 1
    2. 2
    $arr = mysql_fetch_assoc(mysql_query("select * from customers where Email1='".$_POST['email']."'"));
    if ($arr and count($arr)!=0) {

    Проверка, что массив не пустой

    stechkh, 28 Февраля 2015

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function resort($a){
        $res=mysql_query("select * from image where id_gal='".$a."' order by position");
        for ($q=array(); $w=mysql_fetch_assoc($res); $q[]=$w);
        for ($i=0; $i<count($q); $i++){mysql_query("delete from image where id='".$q[$i]['id']."'");}
        for ($i=0; $i<count($q); $i++){
        static $e=1;
            $res="INSERT INTO `image` ( `id` , `id_gal` , `user_id`, `file` , `podp` , `position`, `status` )
                    VALUES ('".$q[$i]['id']."', '".$q[$i]['id_gal']."', '".$q[$i]['user_id']."', '".$q[$i]['file']."', '".$q[$i]['podp']."', '".($e++)."', '".$q[$i]['status']."')";
            mysql_query($res);
        }
    }

    Сортируем фото после удаления одного из них. Зачем то нужен непрерывный position

    stechkh, 07 Февраля 2015

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

    +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
    public static function ShowClaimsByManager($manager_id,$status,$offset_limit,$rows_limit){
            $DBH = Registry::get('DBH');
            $STH = $DBH ->prepare(
                "SELECT * FROM claims,claims_status
                 WHERE claims.manager_id = :manager_id
                 AND claims.id = claims_status.claim_id
                 AND claims_status.status = :statusc
                 LIMIT :offsetl, :rowsl" );
            $STH->bindParam(':manager_id', $manager_id, PDO::PARAM_STR);
            $STH->bindParam(':statusc', $status, PDO::PARAM_STR);
            $STH->bindParam(':offsetl', $offset_limit, PDO::PARAM_INT);
            $STH->bindParam(':rowsl', $rows_limit, PDO::PARAM_INT);
            $STH->execute();
            $result = $STH->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        }

    Парень явно любит ctrl+c и ctrl+v
    про $STH->execute($data); не не слышал.

    werdan, 04 Февраля 2015

    Комментарии (5)
  9. SQL / Говнокод #17499

    −170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CREATE TRIGGER TR_Table1 ON Table1
    INSTEAD OF INSERT
    AS
    INSERT INTO Table1
    SELECT * FROM INSERTED

    Диалект MS SQL
    INSTEAD OF INSERT - триггер, отменяющий вставку и передающий список значений, указанных в запросе в псевдотаблице INSERTED.

    т.е. автор вместо того чтобы позволить северу вставлять строк решил каждый раз вставлять их лично.

    German_1984, 23 Января 2015

    Комментарии (57)
  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)
  11. PHP / Говнокод #17412

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $friends = mysql_query("(SELECT * FROM  `friends` WHERE `from` LIKE  '{$act}' AND  `to` LIKE  '{$act}' AND  `isaccepted` =  '1') UNION (SELECT  `id` ,  `name` ,  `surname` FROM  `users_info`);");
    		$friend = array();$loop=0;
    		while($fetch = mysql_fetch_assoc($friends)) {
    			if ($fetch['from'] == $act) $search=$fetch['to']; else $search=$fetch['from'];
    			$friend[$loop]=mysql_fetch_assoc(mysql_query("SELECT `id`,`name`,`surname` FROM `users_info` where `id`='{$search}'"));
    			$loop++;
    		}

    Почему не работает?

    yanislavb, 05 Января 2015

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