1. 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)
  2. 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)
  3. 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)
  4. PHP / Говнокод #4619

    +144

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

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

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

    Oleg_quadro, 13 Ноября 2010

    Комментарии (47)
  5. 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)
  6. 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)
  7. PHP / Говнокод #4609

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    function runIcqBot($username, $password) {
    	$command = "nohup php-fcgi process.php ". $username ." ". $password ." > logs/".$username.".log &";
    	shell_exec($command);
    }

    И похеру на безопасность... Зато ICQ-клиент прямо в браузере!

    dwinner, 13 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public function redirect($url) {
            header('Location: '.$url);
            echo '<script>document.location.href = "'.$url.'"</script>';
            die('<a href="'.$url.'"><h2>Нажмите сюда. У вас ебанутый браузер.</h2></a>');
        }

    j0kz, 12 Ноября 2010

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

    +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
    <?php
    # bla bla bla...
    public function __construct ($dbname, $host = null, $user = null, $pass = null) {
    
    	$numargs = func_num_args ();
    	if ($numargs == 1)
    		parent::__construct ($dbname);
    	else
    		parent::__construct ($dbname, $host = null, $user = null, $pass = null);
            $this->begin = time ();
      }
    # bla bla bla...

    "гениальный" вызов конструктора!

    dwinner, 12 Ноября 2010

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

    +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
    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
    index.php:
    <?php
    
    	define("TEMPLATE_FOLDER", "./templates/");
    
    	class Template
    	{
    		
    		public function view($template, $data)
    		{
    			foreach($data as $key => $variable)
    				$$key = $variable;
    			
    			require(TEMPLATE_FOLDER . $template . '.php');
    			
    			foreach($data as $key => $variable)
    				unset($$key);
    		}
    		
    	}
    	
    	$template = new Template();
    	
    	$data['test'] = array(1, 2, 3);
    	
    	$template->view('index', $data);
    	
    ?>
    
    templates/index.php:
    <html>
    	<body>
    		<?php foreach($test as $row): ?>
    			<?php echo $row ?><br/><br/>
    		<?php endforeach; ?>
    	</body>
    </html>

    Говно ли?

    TapTap, 12 Ноября 2010

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