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

    +164

    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
    # Обрабатываем встроенные теги
    $msg = str_replace("[u]", "<u>", $msg);
    $msg = str_replace("[U]", "<u>", $msg);
    $msg = str_replace("[i]", "<i>", $msg);
    $msg = str_replace("[I]", "<i>", $msg);
    $msg = str_replace("[b]", "<b>", $msg);
    $msg = str_replace("[B]", "<b>", $msg);
    $msg = str_replace("[sub]", "<sub>", $msg);
    $msg = str_replace("[SUB]", "<SUB>", $msg);
    $msg = str_replace("[sup]", "<sup>", $msg);
    $msg = str_replace("[SUP]", "<sup>", $msg);
    $msg = str_replace("[/u]", "</u>", $msg);
    $msg = str_replace("[/U]", "</u>", $msg);
    $msg = str_replace("[/i]", "</i>", $msg);
    $msg = str_replace("[/I]", "</i>", $msg);
    $msg = str_replace("[/b]", "</b>", $msg);
    $msg = str_replace("[/B]", "</b>", $msg);
    $msg = str_replace("[/SUB]", "<sub>", $msg);
    $msg = str_replace("[/sub]", "</sub>", $msg);
    $msg = str_replace("[/SUP]", "</sup>", $msg);
    $msg = str_replace("[/sup]", "</sup>", $msg);

    Года 4 назад пришлось лазить и исправлять код чужой гостевухи,
    вот такое встретилось, и это ещё не хит ;-)

    dwinner, 17 Ноября 2010

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

    +173

    1. 1
    2. 2
    3. 3
    $S=preg_replace('/(\')|(\")|(\,)|(\()|(\))|(\.)|(\‹)|(\:)|(\;)|(\$)|(\#)|(\/)|(\{)|(\})|(\*)|(\ )|(\|)|(\>)|(\<)|(\=)|(\-)|(\[)|(\])|(\!)|(\+)|(\☺)|(\☻)'
                                 .'|(\♥)|(\♦)...................../', '', $S);
    $S=trim($S);

    Регулярные выражения! Супер!

    Yakud, 16 Ноября 2010

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

    +177

    1. 1
    2. 2
    if(strlen($text)) return $text;
    return "";

    ferry-very-good, 16 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <map name="Map">
    	<area shape="rect" coords="0,1,25,14" href="/rada/control/uk/index">
    	<area shape="rect" coords="40,1,64,14" href="/rada/control/ru/index">
    	<area shape="rect" coords="79,1,104,14" href="/rada/control/en/index">
    </map>

    http://portal.rada.gov.ua/
    Это они так ссылки на переключение языков сделали <_<
    Просто пиздец.

    p.s. категории "html" нет, поэтому запостил в РНР.

    olegsuv, 15 Ноября 2010

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

    +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
    class MysqlResultSet implements Iterator{
      private $strSQL;
      private $databasename;
      private $connection;
      private $result;
      private $valid;
      private $currentrow;
      private $key;
      const INDETERMINATE_TOTAL_NUMBER = 5001;
      const UNNECESSARY_SQL_CALC_FOUND_ROWS = 5002;
      const NOT_SELECT_QUERY = 5003;
      public function __construct( $strSQL, $databasename, $connection ){
        $this->strSQL = $strSQL;
        $this->connection = $connection;
        $this->databasename = $databasename;
        if(!mysql_selectdb($databasename, $connection)){
          throw new MySQLException(mysql_error(), mysql_errno());
        }
        if(!$this->result = mysql_query($strSQL, $connection)){
          throw new MySQLException(mysql_error(), mysql_errno());
        }
        if (stristr($strSQL,"SQL_CALC_FOUND_ROWS")){
          $msg = "No need to use SQL_CALC_FOUND_ROWS.";
          throw new MySQLException($msg, self::UNNECESSARY_SQL_CALC_FOUND_ROWS);
        }
        $this->rewind();
      }
      public function __destruct(){
        $this->close();
      }
      public function __call($name, $args){  
        $args = null;
        $name = "mysql_". $name;
        if(function_exists($name)){
          return call_user_func_array($name, $args);      
        }  
      }
      # Ну и так далее...

    31-38 строки: Не понятно, зачем нужно было вообще этот класс писать?!
    32-ая строка вообще сногсшибательна... (P.S. Из одной book по ООП в PHP5)

    dwinner, 15 Ноября 2010

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

    +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
    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
    ..............
    
    $q = mysql_query("SELECT * FROM `$TBL` $WHERE ORDER BY `id`") or die(mysql_error());
    while ($l = mysql_fetch_array($q)) {
    	$result[] = $l;
    	sleep(0.4);
    	$pause = $pause + 0.4;
    
    }
    unset($q);
    
    mysql_close($link);
    
    // получили объект из первой базы
    print ('Получили данные из главной базы N' . $i . '.');
    
    include_once ('start.php');
    
    $sync = rand(10, 99999); // случайное число для проверки синхронизации
    // заносим данные
    
    foreach ($result as $sync_arr) {
    	$id = $sync_arr['id'];
    	//print($id.'<br /><br />');
    	$sch = 0;
    	while ($sch <= 50) {
    		if (isset($sync_arr[$sch])) unset($sync_arr[$sch]);
    		$sch++;
    	}
    
    	$sync_arr['sync'] = $sync;
    
    	$pr = $ExpGlobal['DBCONN']->RowExists($TBL, 'id', $id);
    	if ($pr) {
    		//print_r_pre($sync_arr);
    		$ExpGlobal['DBCONN']->UpdateRow($TBL, $id, $sync_arr);
    		sleep(0.4);
    		$pause = $pause + 0.4;
    
    		$s++;
    	}
    	else {
    		$ExpGlobal['DBCONN']->InsertRow($TBL, $sync_arr);
    		sleep(0.4);
    		$pause = $pause + 0.4;
    
    		$dob++;
    	}
    }
    
    ................

    Что-то вроде синхронизации из одной таблицы с другой...

    Tep, 15 Ноября 2010

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

    +151

    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
    function send_mail ($to, $thm, $html, $path) {
    	$fp = @fopen ($path, 'r');
    	if (!$fp) {
    		print "<p>File $path could not be read</p>";
    		exit();
    	}
    	$file = fread ($fp, filesize ($path));
    	fclose($fp);
    	// Generate the separate
    	$boundary = "--".md5 (uniqid(time ()));
    	$headers = "MIME-Version: 1.0\n";
    	$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    	$multipart = "--$boundary\n";
    	$kod = "koi8-r";	// or $kod = "windows-1251";
    	$mulripart .= "Content-Type: text/html; charset=$kod\n";
    	$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    	$multipart .= "$html\n\n";
    	$message_part = "--$boundary\n";
    	$message_part .= "Content-Type: application/octet-stream\n";
    	$message_part .= "Content-Transfer-Encoding: base64\n";
    	$message_part .= "Content-Disposition: attachment; filename=\"".$path."\"\n\n";
    	$message_part .= chunk_split (base64_encode ($file));
    	$miltipart .= $message_part."--$boundary--\n";
    	if (!mail ($to, $thm, $multipart, $headers))
    		exit("<p>Error sending e-mail</p>");
    }

    Интересно, кто-нибудь будет этим Г пользоваться?!

    dwinner, 15 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    switch ($mode) {
                default:
                <не интересный код пропущен>
                break;
    }

    Догайтесь с какого это проекта?

    Я бы не запостил, если бы не увидел на хабре сообщение от некоторого striker_vlad:
    "буду рад, если найдете там что-то, что можно будет напостить на сам сайт ;)"

    Oleg_quadro, 13 Ноября 2010

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

    +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
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    <?php
    //Список категорий
    function get_cat_list () {
    $sql_cat_list = mysql_query("SELECT * FROM te_categories ORDER BY category_id");
    for ($cat_list=array(); $row=mysql_fetch_assoc($sql_cat_list); $cat_list[]=$row);
    $cat_list = array_reverse ($cat_list); //переворачиваем массив
    return $cat_list;
    }
     
    //Категории в норм виде (возвращает массив или печатает)
    function get_categories ($cat_list, $print="noprint") {
    foreach ($cat_list as $cat)
    	{
    	$categories [$cat['category_id']]['name'] = $cat['name'];
    	$categories [$cat['category_id']]['cat_count'] = $cat['cat_count'];
    	if ($print !== "noprint") echo '<li class="list"><a href="?page=article&category_id='.$cat['category_id'].'">'.$cat['name'].'</a> <small>('.$cat['cat_count'].')</small></li>';
    	}
    	if ($print == "noprint") return $categories;
    }
    /*
    Коментарий ниже:
    Зачем вначале мы получили список категорий $cat_list, 
    а затем зачем-то преобразовали в $categories в цикле foreach? 
    Просто для удобства и красоты мы из списка массивов 
    (записей или строк), полученных из БД, 
    сделали двумерный массив 
    с первичным ключом category_id 
    (ведь он у нас уникален). 
    Для наглядности распечатайте оба этих массива, 
    и сразу увидите разницу:
    */
    ?>

    Свеженькое Г
    Версия 0.02 CMS Tractor Engine
    (Кажись 2010 год)
    Будущее интернетов...

    istem, 13 Ноября 2010

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

    +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
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    $myPid = getmypid();
    $state = shell_exec("ps -o \"%p:%P:%c;\"");
    $psPid = false;
    $processes = array();
    $linesArr = explode(";", $state);
    foreach($linesArr as $line)
    {
        $pProp = explode(":", $line);
        $processes[trim($pProp[0])] = $pProp;
        if($pProp[1] == $myPid)
        {
            $psPid = $pProp[0];
        }
    }
    //checking pids of processes
    if($psPid !== false)
    {
        if(key_exists($psPid - 1,$processes) && preg_match("/micq/i",$processes[$psPid - 1][2]))
        {
            $sessionConfig->addPid($psPid - 1);
        }
        if(key_exists($psPid - 2,$processes) && preg_match("/tail/i",$processes[$psPid - 2][2]))
        {
            $sessionConfig->addPid($psPid - 2);
        }
    }

    Вот и этот код, про который я рассказывал в комментарии к #4609

    raorn, 13 Ноября 2010

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