1. Список говнокодов пользователя varg242

    Всего: 41

  2. PHP / Говнокод #9273

    +148

    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
    <?php
    function demotivator($image, $wheresave, $slogan1, $slogan2, $copyright) {
    $ext = getimagesize($image);
    // Открываем изображение
    switch($ext[2]) {
    
    	case 2: {$img = ImageCreateFromJPEG($image); break;}
    	case 1: {$img = ImageCreateFromGIF($image); break; }
    	case 3: {$img = ImageCreateFromPNG($image); break;}
    	case 6: {$img = ImageCreateFromBMP($image); break;}
    	default : {
    		unlink ($image);
    		return 2;
    	}
    }
    // Получение размеров изображения
    $x = ImageSX($img); // X
    $y = ImageSY($img); // Y
    // Размер черного прямоугольника, который будем рисовать
    $tx = $x * 0.1;
    $ty = $x * 0.1;
    $bx = $x + $tx;
    $by = $y + $ty;
    $dx= $x * 0.01; // Смещение. Необходимо для рисования рамки
    $dy= $x * 0.01;
    // Черный фон
    $black = ImageColorAllocate($img, 0, 0, 0);
    // Создаем новое изображение
    $img2 = ImageCreateTrueColor($bx + $tx, $by + $tx * 2.6);
    $black = ImageColorAllocate($img2, 0, 0, 0);
    // Масштабирование
    ImageCopyResized($img2, $img, $tx, $ty, 0, 0, $bx-$tx, $y, $x, $y);
    // Расчет смещений для рисования рамки
    $x1 = $tx;
    $y1 = $ty;
    $x2 = $bx;
    $y2 = $y + $ty;
    // Цвета рамки, слоганов и копирайта
    $col = ImageColorAllocate($img2, 255, 255, 255); // Цвет слоганов
    $col2 = ImageColorAllocate($img2, 255, 255, 255); // Цвет копирайта
    $col3 = ImageColorAllocate($img2, 255, 255, 255); // Цвет рамки
    // Рамки на изображении
    ImageRectangle($img2, $x1 - 5, $y1 - 5, $x2 + 4, $y2 + 4, $col3);
    ImageRectangle($img2, $x1 - 6, $y1 - 6, $x2 + 5, $y2 + 5, $col3);
    // Пишем слоганы, сначала с X=0, чтобы получить линейные размеры текста
    $s1 = ImageTTFText($img2, 0.06 * $bx, 0, $dx, $by + $ty, $col, "/times.ttf", $slogan1);
    $s2 = ImageTTFText($img2, 0.035 * $bx, 0, $dx, $by + $ty + 0.08 * $bx, $col, "/arial.ttf", $slogan2);
    // 1-й слоган не помещается в картинку - ошибка!
    if (($s1[2] - $s1[0]) > $bx + $tx) $sl1 = 1;
    $dx = (($bx + $tx) - ($s1[2] - $s1[0]))/2; // Смещение. Эта величина определяет центровку текста для 1-го слогана
    // Непосредственно текст. 1-й слоган
    ImageFilledRectangle($img2, 0, $y2 + 10, $bx + $tx, $by + $tx * 2.8, $black);
    ImageTTFText($img2, 0.06 * $bx, 0, $dx, $by + 1.1*$ty, $col, "/times.ttf", $slogan1);
    $dx = (($bx + $tx) - ($s2[2] - $s2[0]))/2; // Смещение. Эта величина определяет центровку текста для 2-го слогана
    // Непосредственно текст. 2-й слоган (таглайн)
    if ($dx < 0)  {
    	// Текст не умещается в картинку, масштабируем.
    	$s = $s2[2] - $s2[0];
    	$size = (0.035 * $bx * $bx) /$s;
    	$s2 = ImageTTFText($img2, $size, 0, $dx, $by + $ty + 0.08 * $bx, $col, "/arial.ttf", $slogan2);
    	$dx = (($bx + $tx) - ($s2[2] - $s2[0]))/2;
    	ImageFilledRectangle($img2, 0, $by + 1.2* $tx, $bx + $tx, $by + $tx * 2.6, $black);
    	ImageTTFText($img2, $size, 0, $dx, $by + $ty + 0.08 * $bx, $col, "/arial.ttf", $slogan2);
    } else  {
    	$size = 0.035 * $bx;
    	ImageFilledRectangle($img2, 0, $by + 1.4*$tx, $bx + $tx, $by + $tx * 2.3, $black);
    	ImageTTFText($img2, $size, 0, $dx, $by + $ty + 0.08 * $bx, $col, "/arial.ttf", $slogan2);
    }
    // Copyright
    ImageTTFText($img2, $size/1.7, 0, 10, $by + $tx * 2.5, $col2, "/arial.ttf", $copyright);
    ImageJpeg($img2, $wheresave);
    ImageDestroy($img2);
    return 0;
    }
    ?>

    Код не мой, я просто разместил объяву.

    varg242, 31 Января 2012

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

    +148

    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
    /*
     @param array $menu_array Array of pages
     @param string $current Current page
     @return string $menu Menu.
    */
    function CreateMenu($menu_array, $current)
    {
        foreach($menu_array as $key => $value)
        {
            if($key == $current) $active = " class=\"active\"";
            
            $menu .= "<li$active><a href=\"$key\">$value</a></li>\n";
            unset($active);
        }
        
        return $menu;
    }

    varg242, 31 Января 2012

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /*
     @param string $ext File extension
     @return string Filename.
    */
    function GenFName($ext)
    {
        return md5(rand(rand(0, rand()), time())).md5(rand(rand(0, rand()), time())).".".$ext;
    }

    varg242, 31 Января 2012

    Комментарии (2)
  5. Java / Говнокод #9193

    +70

    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
    public class Brakets {
    	public static void main(String args[]) {
    		String sample;
    		if (args.length > 0 && args[0] != "")
    			sample = args[0];
    		else
    			sample = "asdf(sd{sd}sdfgs[sdfg{}]_)){}sdfg[sdfg{sdfg}]";
    		// init handler and add patterns
    		BracketHandler b = new BracketHandler();
    		b.add("[", "]");
    		b.add("{", "}");
    		b.add("[", "]");
    		b.add("(", ")");
    
    		// init input stack
    		CommonStack<BracketTemplate> result = new CommonStack<BracketTemplate>();
    
    		for (int i = 0; i < sample.length(); i++) {
    			// Assert that pattern is one characted length
    			String subString = sample.substring(i, i + 1);
    			BracketTemplate tmp = b.getTemplate(subString);
    			if (tmp != null) {
    				if (tmp.isStartPattern(subString)) {
    					result.push(tmp);
    				} else {
    					BracketTemplate t = result.pop();
    					if (t == null || !t.isEndPAttern(subString)) {
    						System.out.print("Check failed");
    						return;
    					}
    				}
    
    			}
    		}
    		System.out.print("Check passed");
    	}
    }

    Ещё одна реализация Brackets, теперь и на Java (от автора предыдущего класса стека)

    varg242, 21 Января 2012

    Комментарии (6)
  6. Java / Говнокод #9192

    +76

    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
    package brakets;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class CommonStack<T> {
    	private final List<T> items = new ArrayList<T>();
    	private int position = -1;
    
    	public void push(T newEl) {
    		items.add(newEl);
    		position++;
    	}
    
    	public T pop() {
    		if (position >= 0) {
    			T b = items.get(position);
    			items.remove(position);
    			position--;
    			return b;
    		}
    		return null;
    	}
    
    	@Override
    	public String toString() {
    		return "CommonStack [items=" + items + ", position=" + position + "]";
    	}
    
    	public boolean hasNext() {
    		return position >= 0;
    	}
    }

    Человек написал свою реализацию стека на Java

    varg242, 21 Января 2012

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

    +149

    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
    <?php
    function check_brackets($s)
    {
        $brackets = array('(' => ')' , '[' => ']', '{' => '}');
        $stack = array();
        
        for($i = 0; $i < strlen($s); $i++)
        {
            if(in_array($s[$i], array_keys($brackets)))
            {
                array_push($stack, $brackets[$s[$i]]);
            }
            elseif(in_array($s[$i], array_values($brackets)))
            {
                if(empty($stack) || array_pop($stack) != $s[$i])
                {
                    return false;
                }
            }
        }
        if(empty($stack)) return true;
    }
    
    if($_POST["bracket_string"] && $_POST["bracket_string"] <= 30)
    {
        if(check_brackets($_POST["bracket_string"]))
        {
            $message = "Check passed";
        }
        else $message = "Check failed";
    }
    
    ?>

    Финальная версия.

    varg242, 16 Января 2012

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

    +150

    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
    function check($string_to_search) {
    $stack = array();
    foreach (preg_split("//", $string_to_search) as $char) {
    switch ($char) {
    case '{':
    case '(':
    case '[':
    array_push($stack, $char);
    break;
    case '}':
    if (array_pop($stack) != "{") return false;
    break;
    case ')':
    if (array_pop($stack) != "(") return false;
    break;
    case ']':
    if (array_pop($stack) != "[") return false;
    break;
    }
    }
    return true;
    }

    by kolen

    varg242, 16 Января 2012

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

    +146

    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
    <?php
    function check($s)
    {
        $brackets = array(')' => '(', ']' => '[', '}' => '{');
        $stack = array();
        $stack_size = 0;
        for($i = 0; $i < strlen($s); $i++)
        {
    	if (in_array($s[$i], array_values($brackets)))
            {
        	    $stack[$stack_size++] = $s[$i];
            }
            else if (in_array($s[$i], array_keys($brackets)))
            {
        	    $last = $stack_size ? $stack[$stack_size-1] : '';
                if ($last != $brackets[$s[$i]])
                {
            	return false;
        	    }
                else
                {
        		unset($stack[--$stack_size]);
        	    }
        	}
        }
        return count($stack) == 0;
    }
    
    function check_brackets($s)
    {
        if(check($s))
        {
            return true;
        }
        else return false;
    }
    
    if($_POST["bracket_string"])
    {
        if(check_brackets($_POST["bracket_string"]))
        {
            $message = "Check passed";
        }
        else $message = "Check failed";
    }
    
    ?>

    Пацаны, есть задание. Срочно заговнокодить код, но чтобы точно работало.

    varg242, 16 Января 2012

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

    +158

    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
    <?php
    function bracket_checker($input_string)
    {
    $checked = true;
    $bracket1_open = "(";
    $bracket1_close = ")";
    $bracket2_open = "[";
    $bracket2_close = "]";
    $bracket3_open = "{";
    $bracket3_close = "}";
    If (strlen($input_string)> 30)
    	die("Wrong length of the input string!");
    $bracket1_count= substr_count($input_string,$bracket1_open);
    $bracket2_count= substr_count($input_string,$bracket1_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    $bracket1_count= substr_count($input_string,$bracket2_open);
    $bracket2_count= substr_count($input_string,$bracket3_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    
    $bracket1_count= substr_count($input_string,$bracket3_open);
    $bracket2_count= substr_count($input_string,$bracket3_close);
    If ($bracket1_count != $bracket2_count)
    	$checked = false;
    
    If  ($checked)
    	print("Check passed!");
    else
    	print("Check failed!");
    }
    
    echo "ab ( cd ()[]) ef{5} - "; bracket_checker("ab ( cd ()[]) ef{5}"); echo "\n";
    echo "ab ( cd { ef ) gh } ij - "; bracket_checker("ab ( cd { ef ) gh } ij"); echo "\n";
    
    ?>

    Прямо с собеседования пишу

    varg242, 11 Января 2012

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

    +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
    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
    <?php
    $tmp = mcc_get_contacts();
    if (!empty($tmp)) {
      $i = 0;
      foreach ($tmp as $k => $v) {
        if (empty($v['coords'])) {
          echo '<div class="s_adr" style="width: 275px;">' . "\r\n";
          echo 'г. <span>' . $v['city'] . '</span><br /><br />' . "\r\n";
          if (!empty($v['telfax'])) foreach ($v['telfax'] as $v_t) {
            echo 'Тел/факс: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          if (!empty($v['tel'])) foreach ($v['tel'] as $v_t) {
            echo 'Телефон: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          echo 'e-mail: <a href="mailto:' . $v['email'] . '">' . $v['email'] . '</a><br />' . "\r\n";
          echo '</div>' . "\r\n";
        } else {
          echo '<div class="s_cont">' . "\r\n";
          if ($i === 0) {
            echo '<div class="print-icon"><a href="#print" onclick="window.print(); return false;">Печать</a></div>' . "\r\n";
          }
          echo '<div class="map" id="map' . $k . '">' . $v['coords'] . '</div>' . "\r\n";
          echo '<div class="s_adr" >' . "\r\n";
          echo 'г. <span>' . $v['city'] . '</span><br /><br />' . "\r\n";
          echo '<p>';
          if (!empty($v['telfax'])) foreach ($v['telfax'] as $v_t) {
            echo 'Тел/факс: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          if (!empty($v['tel'])) foreach ($v['tel'] as $v_t) {
            echo 'Телефон: <span>' . $v_t . '</span><br />' . "\r\n";
          }
          echo 'e-mail: <a href="mailto:' . $v['email'] . '">' . $v['email'] . '</a></p>' . "\r\n";
          echo '<p>';
          if (!empty($v['metro'])) {
            echo 'м. &quot;' . implode('&quot; / &quot;', $v['metro']) . '&quot;,<br />' . "\r\n";
          }
          echo $v['address'] . '</p>' . "\r\n";
          echo '</div>' . "\r\n";
          echo '</div>' . "\r\n";
          echo '<div class="hr"></div>' . "\r\n";
        }
        $i++;
      }
    }
    ?>
    
    <div class="hr"></div>
    
    <script src="<?php bloginfo('stylesheet_directory'); ?>/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAY78XWK5-Zy3qhkiV3w_m0hTPoZqTU4uhKIMSNHImBFQOd4WjahSr_Q8JwRSdhkeCWJkgoFFnVWj2Aw" type="text/javascript"></script>
    <script type="text/javascript"><!--
    $(document).ready(function(){
      var show_map = function(o, p3, p2, p1, p0, p4) {
        if (o.length) {
          o.empty().show();
    
          var s = $('<img class="print" />').attr('alt', '');
          s.attr('src', 'http://maps.google.com/staticmap?center=' + p0 + ',' + p1 + '&zoom=' + p4 + '&size=580x312&maptype=roadmap&markers=' + p2 + ',' + p3 + '&hl=ru&key=ABQIAAAAY78XWK5-Zy3qhkiV3w_m0hTPoZqTU4uhKIMSNHImBFQOd4WjahSr_Q8JwRSdhkeCWJkgoFFnVWj2Aw');
          o.next().after(s);
    
          var map = new GMap2(o.get(0));
          map.addControl(new GSmallMapControl());
          map.setCenter(new GLatLng(p0, p1), p4);
          var marker = new GMarker(new GLatLng(p2, p3));
          map.addOverlay(marker);
        }
      };
      if (GBrowserIsCompatible()) {
        $('div.map').each(function () {
          var p = $(this).text().split(',');
          show_map($(this), parseFloat(p[1]), parseFloat(p[0]), parseFloat(p[3]), parseFloat(p[2]), parseInt(p[4]));
        });
      }
    });
    //--></script>

    varg242, 01 Декабря 2011

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