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

    +159

    1. 1
    2. 2
    3. 3
    $sql="SELECT * FROM `obmennik_files` WHERE(`id`='$ofile_id' && `id_user`='$user[id]') LIMIT 1"; 
    $row=mysql_fetch_assoc(mysql_query($sql)); 
    if(!is_array($row)) echo'Этот файл не найден.<br />';

    из мода к dcms)

    DmitryDick, 27 Июня 2010

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

    +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
    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    function addimagesave()
    	{
    		if (!$this->Login->isLogged())
            {
                $this->loginto();
                return;
            }
            else $this->Login->Update();
    		$error = '';
    		$recordExists = false;
    		$post_name = trim($this->input->post('name'));
    		if ($post_name != '') $insert['file_name'] = $post_name;
    		// now need to get from db if id_all in i_pics
    		$this->db->where('id_all',$this->input->post('id_all'));
    		$this->db->limit(1);
    		$query = $this->db->get('i_pics');
    		if ($query->num_rows() == 1)
    		{
    			$row = $query->row();
    			$recordExists = true;
    			$file_name = $row->file_name;
    			$id_pics = $row->id_pics;
    		}
    		if (isset($_FILES['upload']) && ($_FILES['upload']['error'] == 0)) // is file loaded?
    		{
    			$ext = getExtensionOnly($_FILES['upload']['name']);
    			if ($post_name != '') $_FILES['upload']['name'] = $post_name.'.'.$ext;
    			else $post_name = delExtensionWithDot($_FILES['upload']['name']);
    			$_FILES['upload']['name'] = translitIt(delExtensionWithDot($_FILES['upload']['name'])).'.'.$ext;
    			$config['upload_path'] = './pics/';
    			$config['allowed_types'] = 'gif|jpg|png|bmp';
    			$this->load->library('upload', $config);
    			if ($this->upload->do_upload('upload'))
    			{
    				$this->General->setEmes(array('roster'=>"Картинку загружено."), true);
    				$data = $this->upload->data();
    				$insert['file_name'] = $data['file_name'];
    				// resize now
    				$config1['image_library'] = 'gd2'; // выбираем библиотеку
    				$config1['source_image'] = 'pics/'.$data['file_name'];
    				$config1['create_thumb'] = TRUE; // ставим флаг создания эскиза
    				$config1['maintain_ratio'] = true; // сохранять пропорции
    				$config1['width'] = 250; // и задаем размеры
    				$config1['height'] = 180;
    				// pre crack image for resizing! )))
    				$this->load->model('Image');
    				$this->Image->smartsigninto('pics/'.$data['file_name'], 250, 180);
    				$this->load->library('image_lib', $config1); // загружаем библиотеку
    				$this->image_lib->resize(); // и вызываем функцию
    				// now rename and owerwrite original image
    				$ext = getExtensionOnly($data['file_name']);
    				$fol = "pics/";
    				if (is_file($fol.$data['raw_name'].'_thumb.'.$ext))
    				rename($fol.$data['raw_name'].'_thumb.'.$ext, $fol.$data['file_name']);
    				else $this->General->setEmes(array('roster'=>"Файл *_thumb не был создан!"));
    				// now set new file size
    				$insert['size'] = round(filesize($fol.$data['file_name'])/1024 , 2);
    			}
    			else $this->General->setEmes(array('roster'=>$this->upload->display_errors()));
    		}
    		else // we need to try to rename assigned file if name is not empty and file exists
    		{
    			if ($recordExists && is_file('pics/'.$file_name) && ($post_name != ''))
    			{
    				$ext = getExtensionOnly($file_name);
    				$fol = "pics/";
    				$newName = translitIt($post_name).'.'.$ext;
    				if (is_file('pics/'.$newName))
    				{
    					$this->General->setEmes(array('roster'=>"Имя уже существует"), true);
    					$insert['file_name'] = $file_name;
    				}
    				else
    				{
    					rename($fol.$file_name, $fol.$newName);
    					$insert['file_name'] = $newName;
    				}
    			}
    		}
    		// prepare data to be ins or upd
    		$insert['lang'] = 'ru';
    		$insert['title'] = $this->input->post('title');
    		$insert['alt'] = $this->input->post('alt');
    		$insert['id_all'] = $this->input->post('id_all');
    		if ($recordExists)
    		{
    			$this->db->where('id_pics',$id_pics);
    			$this->db->update('i_pics', $insert);
    			$this->General->setEmes(array('roster'=>"Данные обновлены"), true);
    		}
    		else $this->db->insert('i_pics', $insert);
    		$this->redirect('roster/'.$this->input->post('type'));
    	}

    Функция - контроллер сохранения, resize на лету картинки для новости или прочей байды. Есть все проверки. Любая картинка которая приходит, становится размером 250, 180 , причем без растяжения. Это задача типа вписать прямоугольник в прямоугольник, которую я сейчас ночью выполнил - даже если картинка меньше оно впишет. I must be proud about this functionality! Заметим, что в интернете все и умеют что вырезать квадраты из картинки, а произвольный размер - НЕТ такого. Код выложен чтобы вы посмотрели, нравятся ли вам имена переменных, логическое мышление, форматирование, коментарии (на русском - то не мои коментарии). Код CodeIgniter powered.

    increazon, 25 Июня 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($cmp['id_rcp_prod']) {
        $data['consumed'][] = $det;
    } elseif ($cmp['id_rcp_raw']) {
        $data['consumed'][] = $det;
    } else {
        $data['consumed'][] = $det;
    }

    nekufa, 24 Июня 2010

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

    +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
    $da=0;
    		foreach($_COOKIE as $w=>$e)
    		{
    		if(($e!='') && (substr($w,0,1)=='!')) {$da++;}
    		}
    		if($da==0) {$arResult["ERRORS"][]="Не выбран товар для оформления заказа!";}
    		
    		for($i=2;$i<=2;$i++)
    		{
    		if($i==1) {$str=$_REQUEST["PROPERTY"]["63"]["0"];}
    		if($i==2) {$str=$_REQUEST["PROPERTY"]["67"]["0"];}
    		$e_1=0;
    		$e_2=1;
    		$e_3=0;
    		for($j=0;$j<=strlen($str)-1;$j++)
    		{
    		if(substr($str,$j,1)!=" ") {$e_1=1;}
    		if(substr($str,$j,1)=="." || substr($str,$j,1)==",") {$e_2=0;}
    		}
    		if((int)$str>0) {$e_3=1;}
    		if($e_1==0 || $e_2==0 || $e_3==0) 
    		{
    		if($i==1) {$arResult["ERRORS"][]="Неправильно заполнено поле 'Количество'!";}
    		if($i==2) {$arResult["ERRORS"][]="Неправильно заполнено поле 'Телефон'!";}
    		}

    Круче обфускатора.

    shiz, 24 Июня 2010

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

    +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
    $pass = 12345; 
    
    if (!isset($_POST['pass'])) { 
    $pass = $_GET['pass']; 
    } 
    else 
    { 
    $pass = $_POST['pass']; 
    } 
    if ($pass !== $pass) { 
    
    echo '<form method = "post" action = "pass.php?"> 
          Пароль:<br/> 
          <input name = "pass" type = "password"/><br/> 
          <input type = "submit" value = "OK"/></form>'; 
          } 
          echo 'Тебе сюда можна'; 
          ....блаблабла  
          } else { 
          echo 'Низя :)'; 
          break; 
          } 
          }

    >>Надо чтобы проверял если там дата[2] не пуста то показал форму инпут.
    жесть)))

    Aligan, 23 Июня 2010

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

    +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
    function gp($points){
      	if ($points > 10){
      	  $points = $points % 10;	
      	}
      	switch ($points) {
      		case 1: return "балл";
      		case 2: return "балла";
      		case 3: return "балла";
      		case 4: return "балла";
      		default: return "баллов";
      	}
      }

    жесть :)

    antigovnokoder, 22 Июня 2010

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    private $title_host='Посещаемость (уникальных посетителей в сутки)';
    private $title_download='ПРОГОРОД скачан (количество скачиваний программы в сутки)';
    private $title_sell='ПРОГОРОД куплен (количество покупок ПРОГОРОД в сутки)';
    private $title_sellshop='ПРОГОРОД офлайновые активации (количество в сутки)';

    agent-0007, 21 Июня 2010

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

    +144

    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
    <?
    
    class db // mysql funkciju klase 
    {
    	var $id = '';		
    	function connect() // prisijungimas prie mysql serverio
    	{
    
    		$this->id = mysql_connect($this->host, $this->user, $this->pass);
    		
    		if ( !$this->id || !mysql_select_db($this->db, $this->id) ) {
    			die ("mysql connect failed: " . mysql_error());
    			return false;
    		}	
    		else {
    		    return $this->id;
    		}			    	    
    	} 
    	
    	function query ($query, $silent = 0) // duotos uzklausos vykdymas
    	{
    		$this->result = '';
    
    		if ($this->result = mysql_query($query)) { //var_dump($query);
    			return $this->result;}
    		else
    			if ($silent == 0)
    				die("mysql query failed: " . mysql_error());
    			else
    				die("Atsiprasome, jusu uzklausos negalejome apdoroti");
    
    	}
    
    	function fetch ($result) // rezultato grazinimas pagal uzklausa. grazinamas masyvas
    	{
    		$this->row = '';
    
    		if ($this->row = mysql_fetch_array($result)) { //var_dump($this->row);
    			return $this->row;}
    	}
    	
    	function fetchrow ($result) {
    		
    		$this->row = '';
    
    		if ($this->row = mysql_fetch_row($result))
    			return $this->row;
    	}
    	
    	function num($result) // suskaiciuoja kiek yra eiluciu rezultate
    	{
    		$this->num = '';
    
    	    if ($this->num = mysql_num_rows($result))
    			return $this->num;
    	}
    
    	function last($result) {
    		
    		$this->last = '';
    
    		if ($this->last = mysql_insert_id($this->id))
    			return $this->last;
    	}
    
    	function close() {
    		mysql_close();
    		return true;
    	}
    } 
    
    ?>

    (предыдущие серии в http://govnokod.ru/3526, http://govnokod.ru/3525, http://govnokod.ru/3524 и http://govnokod.ru/3522)

    класс, то ли аффтарописный, то ли из ынтырнета с его комментами.

    кому лень обращать внимание на код:
    1. обьявление полей host, user, pass я не нашел, зато нашел обращение к ним
    2. функции возвращают что-то в нормальных условиях, иначе не возвращают совсем ничего
    3. в 20й строке $silent = 0, но запрос умирает при любом значении
    4. метод num() даже в нормальной ситуации может не вернуть ничего
    5. close() успешен в любом случае

    Lure Of Chaos, 21 Июня 2010

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

    +144

    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
    f ($_SESSION["id"]) {
    	
    $v=$_GET['v'];
    $placiau=$_GET['placiau'];
    
    $kalba_mas = array("LT","EN","RU");
    $kategorija_mas = array("virtuves_baldai","vonios_baldai","ofiso_baldai","spintos");
    $kategorija_mas_ = array("Virtuvлs baldai","Vonios baldai","Ofiso baldai","Spintos");
    
    switch($v) {
    	case "admin":
    // много-много всякой писанины
    	break;
    	case "pagrindinis":
    // еще огромный кусок, брат предыдущего
    	break;
    	case "apie_mus":
    //.....
    	break;
    	case "produkcija":
    		$tpl->DisplayParsedTemplate("produkcija");
    	break;
    case "produkcija_m":
    	break;
    
    	case "produkcija_n":
    	break;
    
    	case "kontaktai":
    	break;
    case "uzsakymas":
    		if($_POST['uzsakymas_saugoti']) {
    			$db -> Query("UPDATE uzsakymas SET el_pastas = '$_POST[el_pastas]'");
    		}
    
    		$res = $db -> Query("SELECT * FROM uzsakymas");
    		list($el_pastas) = $db -> Fetch($res);
    
    		$tpl->AddVars("uzsakymas", array(
    			"ELPASTAS"=>$el_pastas
    			));
    		$tpl->ParseTemplate("uzsakymas", "a");
    
    		$tpl->DisplayParsedTemplate("uzsakymas");
    	break;
    
    	default: login($db, $tpl);
    
    } else  login($db, $tpl);

    оттуда же что http://govnokod.ru/3524 и http://govnokod.ru/3522
    логин по дефолту(47) и если сессия не начата(49) не то что убили, порвали. Четвертовали.
    молчу про свитч-логику и не проескейпенный скул

    Lure Of Chaos, 21 Июня 2010

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

    +144

    1. 1
    $connect=array("$db->host","$db->user","$db->pass","$db->db");

    фееричный кусничок в продолжение http://govnokod.ru/3522

    на самом деле трудно выложить маленький кусок, что бы было понятно, что к чему: там общая логика дерьмо

    Lure Of Chaos, 21 Июня 2010

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