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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    $_where = array();
    $_where[] = "`activity` = 'active'";
    $_where[] = "`counter_of_waiting_questions` = '0'";
    $_where = implode(' AND ', $_where);

    g0rky, 03 Декабря 2013

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

    +155

    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
    $sqlQuery = trim(str_replace("\n", ' ', $sqlQuery));
    $sqlQuery = trim(str_replace("\r", ' ', $sqlQuery));
    $sqlQuery = trim(str_replace("\r\n", ' ', $sqlQuery));
    $sqlQuery = trim(str_replace("\t", ' ', $sqlQuery));
    
    $len = strlen($sqlQuery);
    $type = '';
    $i = 0;
    
    while ($i < $len && $sqlQuery{$i} != ' ') {
    	$type .= $sqlQuery{$i};
    	$i++;
    }
    
    $type = strtoupper($type);

    Получение типа запроса (SELECT, UPDATE и т.д. из строки запроса)

    Homess, 02 Декабря 2013

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $login = $_COOKIE['login'];
      $pass = $_COOKIE['pass'];
      $sec = $_COOKIE['sec'];
    
    
      if ($pass == '')
      {
        header("Location: index.php");
        exit;
      }

    Проверка авторизации в административной части сайта

    santa_microbe, 28 Ноября 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <a href="<?
    $p=explode("p=",$_SERVER['HTTP_REFERER']);
    $p=explode("&",$p[1]);
    
    if(is_int($p[0]) && empty($p[0]))echo $_SERVER['HTTP_REFERER'];
    else echo'/?p=search2&d='.$_GET[d].'&g='.$_GET[g]; 
    ?>"  class="top_s">← назад</a>

    psycho-coder, 28 Ноября 2013

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

    +162

    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
    function image($id, $idname, $width, $height, $save, $jpg) {
            
            ...........................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo 'Типо неизвестный формат изображения';
        
    }
    
    
    
    function video($id, $idname, $save, $wmv) {
             .......................................................................................
            //throw new Exception('Типо неизвестный формат');
            echo "Типо неизвестный формат !" . $id['name'];
        }

    От автора "Ghgh", Новый остросюжетный код "Типо ошибка"

    хуита, 27 Ноября 2013

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

    +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
    // выбираем случайные категории
            $sql="
                  SELECT `id`
                  FROM `category`
                  WHERE id>=(SELECT ROUND(RAND()*(SELECT COUNT(*) FROM `stat`)))
                  limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();
    
            // в nn будем хранить строку вида a,b,...,e где abc -цифры
            // позже мы скормим это в условие для sql запроса, это самый простой способ
            $nn='';
    
            foreach ($arr as $val){
                $nn.=$val['id'].',';
            }
    
            //добавим в конце строки "end", чтобы избавиться от лишней запятой
            $nn.='END';
    
            // выбираем пользователей из случайных категории, сгенерированных ранее
            $sql="
                  SELECT name, category_id, COUNT(category_id) AS total
                    FROM `stat`
                        JOIN `category` as C
                        WHERE C.id=category_id AND C.id in (".str_replace(',END','',$nn).")
                    GROUP BY category_id
                    limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();

    Сказочный говнокод. Сохранены авторские комментарии.

    SunnyMagadan, 27 Ноября 2013

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

    +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
    function CompareDates($date1, $date2)
    {
    	$s_date1 = $this->CharToDateFunction($date1);
    	$s_date2 = $this->CharToDateFunction($date2);
    	$strSql = "
    		SELECT
    			if($s_date1 > $s_date2, 1,
    				if ($s_date1 < $s_date2, -1,
    					if ($s_date1 = $s_date2, 0, 'x')
    			)) as RES
    		";
    	$z = $this->Query($strSql, false, "FILE: ".__FILE__."<br> LINE: ".__LINE__);
    	$zr = $z->Fetch();
    	return $zr["RES"];
    }

    Bitrix. Функция прекрасно живет как минимум с 10 версии по сей день.

    Homess, 26 Ноября 2013

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

    +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
    /*
     -----------------------------------------------------------------
     Отмечаем все темы как прочитанные
     -----------------------------------------------------------------
     */
    $req = mysql_query("SELECT `forum`.`id`
                FROM `forum` LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '$user_id'
                WHERE `forum`.`type`='t'
                AND `cms_forum_rdm`.`topic_id` Is Null");
    while ($res = mysql_fetch_assoc($req)) {
        mysql_query("INSERT INTO `cms_forum_rdm` SET
                        `topic_id` = '" . $res['id'] . "',
                        `user_id` = '$user_id',
                        `time` = '" . time() . "'");
    }
    $req = mysql_query("SELECT `forum`.`id` AS `id`
                FROM `forum` LEFT JOIN `cms_forum_rdm` ON `forum`.`id` = `cms_forum_rdm`.`topic_id` AND `cms_forum_rdm`.`user_id` = '$user_id'
                WHERE `forum`.`type`='t'
                AND `forum`.`time` > `cms_forum_rdm`.`time`");
    while ($res = mysql_fetch_array($req)) {
        mysql_query("UPDATE `cms_forum_rdm` SET
                        `time` = '" . time() . "'
                        WHERE `topic_id` = '" . $res['id'] . "' AND `user_id` = '$user_id'");
    }

    Один из самых популярных мобильных движков - JohnCMS.

    Скрипт отмечает темы форума как прочтенные. Частенько бывает за сотню непрочитанных тем. А я посещаю редко, так у меня вообще за тысячу переваливает иногда.

    Max_Coder, 21 Ноября 2013

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

    +160

    1. 1
    2. 2
    3. 3
    if(floor($info['http_code'] / 100) >= 4) {
      throw $this->castError($result);
    }

    Библиотека интеграции с Mandrill.

    korchasa, 20 Ноября 2013

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

    +153

    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
    //поменяет src картинки на cid и вернет массив с дополнительными секциями тела письма
    function convert_image_src($text, &$new_section_arr){
    	global $_SERVER;
    	
    	//расчленяем текст на куски по img
    	$new_src_arr=array();//массив путей к картинкам
    	$arrTmp=explode("<img", $text);
    	$explode_str=array("\\\"", "\"", "'");
    	
    	for($i=1; $i<sizeof($arrTmp); $i++){
    		$arrTmp2=explode("src=", $arrTmp[$i]);
    		
    		for($j=1; $j<sizeof($arrTmp2); $j++){
    			for($k=0; $k<sizeof($explode_str); $k++){
    				if(substr($arrTmp2[$j], 0, strlen($explode_str[$k]))==$explode_str[$k]){
    					$arrTmp3=explode($explode_str[$k], $arrTmp2[$j]);
    					
    					//считать можем только картинки с того же сервера  - остальные побоку
    					if(ref_is_server($arrTmp3[1])){
    						$old_src_arr[]=$arrTmp3[1];
    						$new_src_arr[]=convert_url_2_full_server($arrTmp3[1]);
    					}
    				}
    			}
    		}
    	}
    	
    	//теперь формируем новые секции
    	for($i=0; $i<sizeof($new_src_arr); $i++){
    		$file_arr=get_file_content($new_src_arr[$i], true);
    		if(strlen($file_arr[0])>0){
    			//запоминаем секцию
    			$new_section_arr[]=$file_arr[0];
    			//заменяем ссылку на cid
    			$text=str_replace($old_src_arr[$i], "cid:".$file_arr[1], $text);
    		}
    	}
    	
    	return $text;
    }

    Супер функция, которая парсит картинки в тексте и заменяет на, как я понял, новые ссылки уже на собственном сервере.
    Пока пытался разобраться, наступил когнитивный диссонанс.

    oooZinka, 20 Ноября 2013

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