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

    +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
    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
    $extentions = array('1','2','3','6'); # определяем типы разрешенных файлов
    $Filedatasize = $_FILES['Filedata']['size']; 
    $width = 200; # Максимальная ширина миниатюры
    $height = 160;	# Максимальная высота миниатюры
    $file_type = exif_imagetype($_FILES['Filedata']['tmp_name']); # определяем тип файла
    if (in_array($file_type, $extentions) && ($maxfilesize >= $Filedatasize)){
    	switch ($file_type) {
    		case '2': $file_type = '.jpg'; break;
    		case '3': $file_type = '.png'; break;
    		case '1': $file_type = '.gif'; break;			
    		case '6': $file_type = '.bmp'; break;
    	}
    	if ($_POST['select_catalog'] > 0){
    		mysql_query("INSERT INTO `images` (`id_catalog`) VALUES ('".$_POST['select_catalog']."');") or die("MySQL Error: " . mysql_error());
    	} else {
    		 mysql_query("INSERT INTO `images` (`image_title`) VALUES (' ');") or die("MySQL Error: " . mysql_error());
    	}
    	$image_id = mysql_insert_id();
    	mysql_query("UPDATE `images` SET `image_name_d` = '".$image_id.$file_type."', `image_name_s` = '".$image_id."_m".$file_type."' WHERE `images`.`id_images` = ".$image_id.";") or die("MySQL Error: " . mysql_error());
    	$image_mini = $image_id.'_m'.$file_type;
    	$image_normal = $image_id.$file_type;
    	
    	$ext = $file_type; # Получаем формат уменьшаемого изображения
    	list($width_orig, $height_orig) = getimagesize($_FILES['Filedata']['tmp_name']); # получаем размеры изображения
    	
    	#высчитываем 
    	$ratio_orig = $width_orig/$height_orig;		
    	if ($width/$height > $ratio_orig) {
    		$width = $height*$ratio_orig;
    	} else {
    		$height = $width/$ratio_orig;
    	}
    	$image_p = imagecreatetruecolor($width, $height);
    	switch ($ext) {
    		case '.jpg': $source = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']); break;
    		case '.gif': $source = imagecreatefromgif($_FILES['Filedata']['tmp_name']); break;
    		case '.png': $source = imagecreatefrompng($_FILES['Filedata']['tmp_name']); break;			
    		case '.bmp': $source = imagecreatefromwbmp($_FILES['Filedata']['tmp_name']); break;
    	}
    	imagecopyresampled($image_p, $source, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    	switch ($ext) {
    		case '.jpg': imagejpeg($image_p, 'gallery/'.$image_mini, 100); break;                
    		case '.gif': imagegif($image_p, 'gallery/'.$image_mini);  break;                
    		case '.png': imagepng($image_p, 'gallery/'.$image_mini); break;                
    		case '.bmp': imagewbmp($image_p, 'gallery/'.$image_mini); break;
    	}
    	
    	# освобождаем память
    	imagedestroy($image_p);
    	imagedestroy($source);	
    	if (($width_orig >= 1600) or ($height_orig >= 1200)) {
    		$width = 1600; # Максимальная ширина
    		$height = 1200;	# Максимальная высота
    		$ratio_orig = $width_orig/$height_orig;		
    		if ($width/$height > $ratio_orig) {
    			$width = $height*$ratio_orig;
    		} else {
    			$height = $width/$ratio_orig;
    		}
    		$image_p = imagecreatetruecolor($width, $height);
    		switch ($ext) {
    			case '.jpg': $source = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']); break;
    			case '.gif': $source = imagecreatefromgif($_FILES['Filedata']['tmp_name']); break;
    			case '.png': $source = imagecreatefrompng($_FILES['Filedata']['tmp_name']); break;			
    			case '.bmp': $source = imagecreatefromwbmp($_FILES['Filedata']['tmp_name']); break;
    			}
    		imagecopyresampled($image_p, $source, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    			switch ($ext) {
    				case '.jpg': imagejpeg($image_p, 'gallery/'.$image_normal, 100); break;                
    				case '.gif': imagegif($image_p, 'gallery/'.$image_normal);  break;                
    				case '.png': imagepng($image_p, 'gallery/'.$image_normal); break;                
    				case '.bmp': imagewbmp($image_p, 'gallery/'.$image_normal); break;
    			}
    		
    		# освобождаем память
    		imagedestroy($image_p);
    		imagedestroy($source);
    			
    	} else {
    		move_uploaded_file($_FILES['Filedata']['tmp_name'], 'gallery/'.$image_normal);
    	}
    }	
    chmod('gallery/' . $image_normal, 0777);
    $return['src'] = 'gallery/' . $image_normal;

    ZekMan, 23 Ноября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']) 
    {} 
    else {
    $colerror=$colerror+1;
    echo "<div class='error'> Неверный код </div>";}

    Еще нашел в своих зарослях, кроме того, что входные данные не фильтровались, так и еще {} else { 0_о я в шоке!!

    BOOMik, 23 Ноября 2010

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

    +157

    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
    move_uploaded_file($_FILES['Filedata']['tmp_name'], 'gallery/' . $_FILES['Filedata']['name']);
     chmod('gallery/' . $_FILES['Filedata']['name'], 0777);
     $return['src'] = 'uploads/' . $_FILES['Filedata']['name'];
    /*
     * or
     *
     * $return['link'] = YourImageLibrary::createThumbnail($_FILES['Filedata']['tmp_name']);
     *
     */
    
    if ($error) {
    
    	$return = array(
    		'status' => '0',
    		'error' => $error
    	);
    
    } else {
    
    	$return = array(
    		'status' => '1',
    		'name' => $_FILES['Filedata']['name']
    	);
    
    	// Our processing, we get a hash value from the file
    	$return['hash'] = md5_file($_FILES['Filedata']['tmp_name']);
    
    	// ... and if available, we get image data
    	$info = @getimagesize($_FILES['Filedata']['tmp_name']);
    
    	if ($info) {
    		$return['width'] = $info[0];
    		$return['height'] = $info[1];
    		$return['mime'] = $info['mime'];
    	}
    
    }

    ZekMan, 23 Ноября 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ($_GET['sd']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sd];} else {$zagol=$title[spec];};
    if ($_GET['sv']=='show' && $_GET['sd']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[sv];} else {$zagol=$title[spec];};
    if ($_GET['vks']=='show' && $_GET['sv']=='' && $_GET['sd']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[vks];} else {$zagol=$title[spec];};
    if ($_GET['m']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['sd']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[m];} else {$zagol=$title[spec];};
    if ($_GET['bio']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['sd']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[bio];} else {$zagol=$title[spec];};
    if ($_GET['ras']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['sd']=='' && $_GET['tm']=='' && $_GET['ld']=='') {$zagol=$title[ras];} else {$zagol=$title[spec];};
    if ($_GET['tm']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['sd']=='' && $_GET['ld']=='') {$zagol=$title[tm];} else {$zagol=$title[spec];};
    if ($_GET['ld']=='show' && $_GET['sv']=='' && $_GET['vks']=='' && $_GET['m']=='' && $_GET['bio']=='' && $_GET['ras']=='' && $_GET['tm']=='' && $_GET['sd']=='') {$zagol=$title[ld];} else {$zagol=$title[spec];};

    Первые попытки писать на PHP...

    BOOMik, 22 Ноября 2010

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

    +163

    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
    function utf8_win ($s){
    	$out="";
    	$c1="";
    	$byte2=false;
    	for ($c=0;$c<strlen($s);$c++){
    		$i=ord($s[$c]);
    		if ($i<=127) $out.=$s[$c];
    		if ($byte2){
    			$new_c2=($c1&3)*64+($i&63);
    			$new_c1=($c1>>2)&5;
    			$new_i=$new_c1*256+$new_c2;
    			if ($new_i==1025){
    				$out_i=168;
    			}else{
    				if ($new_i==1105){
    					$out_i=184;
    				}else {
    					$out_i=$new_i-848;
    				}
    			}
    			$out.=chr($out_i);
    			$byte2=false;
    		}
    		if (($i>>5)==6) {
    			$c1=$i;
    			$byte2=true;
    		}
    	}
    	return $out;
    }

    iconv не по мне..., я лучше с побитовыми операциями поработаю, зато сам!
    Гораздо медленее правда, зато своё!

    dwinner, 22 Ноября 2010

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

    +145

    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
    class check_operation_t extends operation_group_t
    {
    	protected function _process_operation ()
    	{
    		// TODO : Проверить приход на счет?
    
    		// TTTTTTTT    OOOO    DDDDDD       OOOO
    		//    TT      OO  OO   DD   DD     OO  OO
    		//    TT     OO    OO  DD    DD   OO    OO
    		//    TT     OO    OO  DD    DD   OO    OO
    		//    TT     OO    OO  DD    DD   OO    OO
    		//    TT     OO    OO  DD    DD   OO    OO
    		//    TT      OO  OO   DD   DD     OO  OO
    		//    TT       OOOO    DDDDDD       OOOO
    
    		return true;
    	}
    }

    UncleRus, 22 Ноября 2010

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

    +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
    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
    echo "<body>";
    echo "<h1>Картинки</h1>";
    //$num =$_GET[num];
    $start = 0 ;
    $start=$_GET['start'];
    $ls_dir = $_GET ['ls_dir'];
    if (!isset($ls_dir ))
    {
        $ls_dir ="./pictures" ;
    }
    $num =10;
    if (!isset($start))
    {
        $start =0 ;
    }
    echo "$ls_dir";
    $dir = `ls $ls_dir | awk '/\.[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]?$/ {print "&&&" $1}'`;
    $fold_dir = `ls -l $ls_dir | awk '/^d/ {print "&&&" $9}'`;
    $pic_list = explode("&&&",$dir);
    $dir_list =explode("&&&",$fold_dir);
     
    echo "$fold_dir";
     
     
    ?>
     
    <h3>Доступные папки</h3>
    <ul>
    <?php
    for ($i=1;$i< count($dir_list);$i++)
    {
        $cur_val=$ls_dir."/".$dir_list[$i];
        echo "<li>";
     
    	 echo "<a href=pictures.php?start=0&ls_dir=$cur_val>";
        //echo $cur_val;
        echo "<img src=fold_im.JPG width=34 height=49 />";
    //    echo "&start=";
    //    echo $start;
    //    echo ">"; 
        echo $dir_list[$i];
        echo "</a>";
        echo "</li>";
    }
     
     
    ?>
     
     
    </ul>
     
     
    <table width="100%" border="1">
     
    <tr>
    <td width="10%">
    </td>
    <td><h1>Картинки из папки <?php echo $ls_dir ?></h1>
    </td>
    </tr>
    <?php
     
    for ($i = $start +1;($i<$start +1+ $num)&&($i<count($pic_list));$i++)
    {
        echo "<tr>";
        echo "<td width =10% >&nbsp</td>";
        $pic = $ls_dir."/".$pic_list[$i];
        echo "<td>";
        echo "<a href = $pic><img src=$pic/><a/>";
        echo "</td>";
        echo "</tr>";
    }
     
    ?>

    alexrp, 21 Ноября 2010

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?$APPLICATION->IncludeComponent("bitrix:system.auth.form","",Array(
         "REGISTER_URL" => "register.php",
         "PROFILE_URL" => "profile.php"
         "SHOW_ERRORS" => "Y" 
         )
    );?>

    Этот код из официальной документации Битрикса.
    Обратите внимание перечисление в массиве.

    Ох уж этот удивительный Битрискс... xD

    banji, 21 Ноября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (count($arResult[$j]["DATA"])!=1) $btw_max = count($arResult[$j]); else $btw_max = 0;
    
    				if ($btw_max ==2) $btw_max =1;
    
    
    
    				for ($k=0;$k<$btw_max;$k++){...}

    Суть проблемы, есть массив $arResult[$j]["DATA"], последний элемент которого лишний, его выводить не надо, для этого чувак сделал следующее
    Вместо того, чтобы это значения не добавлять в массив при его заполнении, либо исключив последний элемент при выводе. В общем труЪ говнокод :D

    minnigaliev-r, 21 Ноября 2010

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    elseif($_POST['step']=="step5"){
    	foreach($_POST['metric_checked'] as $key=>$value){
    		foreach($metrics as $key1=>$v1){
    			foreach($v1 as $key2)		    
    				foreach($value as $metric) 
    					if($key2==$_POST['metric'][$metric])
    						$_SESSION['metrics'][$key1][]=$_POST['metric'][$metric];
    		}
    	}
    }

    1_and_0, 21 Ноября 2010

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