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

    +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
    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
    <?php
    class VIEW_View
    {
    	private $_path;
    	private $_template;
    	private $_var = array();
    
    	public function __construct($path = '')
    	{
    		$this->_path = $_SERVER['DOCUMENT_ROOT'] . $path;
    	}
    
    	public function set($name, $value)
    	{
    		$this->_var[$name] = $value;
    	}
    
    	public function __get($name)
    	{
    		if (isset($this->_var[$name])) return $this->_var[$name];
    		return '';
    	}
    
    	public function display($template, $strip = true)
    	{
    		$this->_template = $this->_path . $template;
    		if (!file_exists($this->_template)) die('Шаблона ' . $this->_template . ' не существует!');
    
    		ob_start();
    		include($this->_template);
    		echo ($strip) ? $this->_strip(ob_get_clean()) : ob_get_clean();
    	}
    
    	private function _strip($data)
    	{
    		$lit = array("\\t", "\\n", "\\n\\r", "\\r\\n", "  ");
    		$sp = array('', '', '', '', '');
    		return str_replace($lit, $sp, $data);
    	}
    
    	public function xss($data)
    	{
    		if (is_array($data)) {
    			$escaped = array();
    			foreach ($data as $key => $value) {
    				$escaped[$key] = $this->xss($value);
    			}
    			return $escaped;
    		}
    		return htmlspecialchars($data, ENT_QUOTES);
    	}
    }
    ?>

    Тема: "foreach в шаблонизаторе." http://www.php.ru/forum/viewtopic.php?t=29937

    Заголовок в блоге: "Меня зовут — Анатолий Ларин - Архив блога - Прощай Smarty или простой шаблонизатор"
    http://larin.in/archives/16

    Devzirom, 08 Января 2011

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

    +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
    class my_anekdots
    {
        private $url="http://anekdots.ru/roulette.pl?catid=";
        private $type=2;
        private $output;
        private $content;
        public function getRandAnekdots()
        {
            $this->content = file_get_contents($this->url.$this->type);
            $this->parseAnekdots()->_display();
            
        }
        private function parseAnekdots()
        {
            preg_match('|<font face=Tahoma size=2 style="font-size: 11px;"><p align=justify>(.*?)</p></font>|is',$this->content,$matches);
            $this->output = $matches[1];
            $this->output = str_replace('\n','<br />',$this->output);
            return $this;
            
        }
        public function _display()
        {
            echo "<span style='padding:5px;'>".$this->output."</span>";
        }
    }
    $my_anekdots = new my_anekdots;
    $my_anekdots->getRandAnekdots();

    O_op

    DanxilLs, 08 Января 2011

    Комментарии (5)
  3. Ruby / Говнокод #5180

    −100

    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
    N = 5
    $mas = (1..N).to_a
    $c = 0
     
    def generate(l = 0)
        if l == N-1
            for i in 0..N-1 do
                print("#{$mas[i]} ")
            end
            $c += 1; print("\n")
        else
            for i in l..N-1 do
                t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
                generate(l+1)
                t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
            end
        end
        return $c
    end
     
    p generate(0);

    qbasic, 08 Января 2011

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

    +34

    1. 1
    2. 2
    foreach($keys as $key) 
         $settings[$type][$fieldname][$key] =  (isset($fl[$type] [$fieldname] ['widget'] [$key] ) ) ? $fl[$type] [$fieldname] ['widget'] [$key] : '';

    вобля

    brainstorm, 08 Января 2011

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

    +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
    <?php 
     error_reporting(E_ALL | E_STRICT); 
     ini_set("display_errors", "1"); 
      
     setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251'); 
     
      
     $text='[email protected] , [email protected]';
    
     
     $poisk='/([^,]+@.+?\.(?:com|ru|de|en))/si';
     
     
     preg_match_all($poisk,$text,$match);
     
     foreach ($match[1] as $value)
    
    {
    echo $value;
    echo '<br>';
     
    }
     
     
      
     ?>

    Тема: Регулярка для почты.

    http://www.php.ru/forum/viewtopic.php?p=256681#256681

    Devzirom, 07 Января 2011

    Комментарии (15)
  6. C# / Говнокод #5177

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                label5.Text = Convert.ToInt32(e.X.ToString()).ToString();
                label6.Text = Convert.ToInt32(e.Y.ToString()).ToString();
                label1.Location = new Point(e.X, e.Y);
            }

    Не знаю лаба это или нет, но взято это с www.cyberforum.ru

    psina-from-ua, 07 Января 2011

    Комментарии (5)
  7. Си / Говнокод #5176

    +134

    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
    void epilog()
    {  
    	fprintf(fvih,"\tINCLUDE\tstd.asm\n");
    	fprintf(fvih,"_KOM\tENDS\n");
    	fprintf(fvih,"_STEK\tSEGMENT USE16\tSTACK\n");
    	fprintf(fvih,"\tDW\t100 DUP (?)\n");
    	fprintf(fvih,"_DNOST\tDW\t?\n");
    	fprintf(fvih,"_STEK\tENDS\n");
    	if (kolglb > 0) {  
    		fprintf(fvih,"_DAN\tSEGMENT USE16\n");
    		for (i = 1; i <= kolglb; i++)
    			if (tabim[i].vidob == 1)      /* пеpеменная */
    				if (tabim[i].typ == int_t)
    					fprintf(fvih,"%s\tDW\t?\n",tabim[i].imja);
    				else
    					fprintf(fvih,"%s\tDD\t?\n",tabim[i].imja);
    		fprintf(fvih,"_DAN\tENDS\n");
    	}
    	if (est6_main)
    		fprintf(fvih,"\tEND\t_main\n");
    	else fprintf(fvih,"\tEND\n");
    	fprintf(fvih,";Компилятоp С0 от 9/10/92:\n;колич. ошибок %d\n",kolosh);	
    	printf("Компилятоp С0 от 9/10/92:\nколич. ошибок %d\n",kolosh);
    }
    
         /**********************************************/
         /*             Основная пpогpамма             */
         /**********************************************/
    int main(int agrc, char *argv[])
    {  
    	int i;
    	for (i=0; i<=255; i++) leksim[i]=osh;
    	leksim['+']=plus;  leksim['-']=minus;  leksim['*']=umn;
    	leksim['/']=del;   leksim['%']=ost;    leksim['=']=prisv;
    	leksim['<']=men;   leksim['>']=bol;    leksim['(']=lskob;
    	leksim[')']=pskob; leksim['{']=flskob; leksim['}']=fpskob;
    	leksim[',']=zpt;   leksim[';']=tchzpt; 
    
        /* множество начальных лексем выpажения */
    	nvir = st2[ident] | st2[chislo] | st2[minus] | st2[lskob];
    
    	/* мн-во нач-х лексем оп-pа */
    	noper = st2[flskob] | st2[ifsl] | st2[whilesl] | st2[retsl] | st2[tchzpt] | st2[dosl] | nvir; 
    	vhstr[0]=' '; 
    	vhstr[1]='\0'; 
    	usim = vhstr;kolglb =kolim =ef =	tipop =est6_main =kolosh =kmet =0;
    	is_leave_old = false;
    	fvh=fopen("C://p.c0","r");
    	//fvh=fopen(argv[1],"r");            /* откpыть входной файл  */
    	fvih=fopen("C://p.asm","w"); 
    	//fvih=fopen(argv[2],"w");          /* откpыть выходной файл */
    	if ((fvh == NULL) || (fvih == NULL))
    		oshibka(8);                      /*  файлы не откpылись */
    	else {
    		prolog();
    		while (!ef) {
    			chleks();
    			if (leksema == intsl) {              /* слово int        */
    				opisper(0); 
    				kolglb=kolim; 
    			}/*описание глоб-х пер-х*/
    			else if (leksema == longsl) {              /* слово int        */
    				opisper_long(0); 
    				kolglb=kolim; 
    			}/*описание глоб-х пер-х*/
    			else if (leksema == ident)      /* имя                 */
    				oprfun();                  /* опpеделение функции */
    			else if (!ef)    /* тpебуется опис-е пеp-х или ф-ции */
    				test(st2[intsl] | st2[ident],st2[pskob] | st2[tchzpt],3);
    		}
    		epilog();
    		fclose(fvh);
    	    fclose(fvih);
    	}
    	return 0;
    }

    qbasic, 07 Января 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    $data_array = file('./dir/file.txt'); //Прочитали файл в массив
    $count = count($data_array); //Подсчитали количество элементов массива
    $chislo = rand(0,$count-1); //Так как элементы массива имеют ключи с 0 до $count-1
    echo $data_array[$chislo]; //Вот вам и произвольная строка из файла

    Основная говнистость в том, что это статья, т.е. человек этому учит других, ни в чём не повинных людей.

    DeaDrash, 07 Января 2011

    Комментарии (49)
  9. 1C / Говнокод #5174

    −127

    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
    Запрос = Новый Запрос(
    	"ВЫБРАТЬ
    	|    РегШК.Владелец                   КАК Владелец,
    	|    РегШК.ЕдиницаИзмерения           КАК ЕдиницаИзмерения,
    	|    РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
    	|ИЗ
    	|    РегистрСведений.Штрихкоды        КАК РегШК
    	|ГДЕ
    	|    РегШК.Штрихкод = &Штрихкод");
    	
    	Запрос.УстановитьПараметр("Штрихкод", Штрихкод);
    	РезультатЗапроса = Запрос.Выполнить();
    	
    	//Николай
    	Если РезультатЗапроса.Пустой() Тогда
    		Штрихкод=Сред(Штрихкод,7,6);
    		Запрос = Новый Запрос(
    		"ВЫБРАТЬ
    		|    РегШК.Владелец                   КАК Владелец,
    		|    РегШК.ЕдиницаИзмерения           КАК ЕдиницаИзмерения,
    		|    РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
    		|ИЗ
    		|    РегистрСведений.Штрихкоды        КАК РегШК
    		|ГДЕ
    		|    РегШК.Штрихкод = &Штрихкод");
    		
    		Запрос.УстановитьПараметр("Штрихкод", Штрихкод);
    		РезультатЗапроса = Запрос.Выполнить();
        КонецЕсли;
    	
    	//Николай

    Вот как надо выполнять тот же запрос, но с другим параметром!

    alex-makhnev, 07 Января 2011

    Комментарии (13)
  10. Perl / Говнокод #5173

    −123

    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
    # Обработка нажатия клавиш
    # Если нажата кнопка СОХРАНИТЬ
    if(CGI::param('sub_data_save'))
    {
      if(CGI::param('content')){ $content=CGI::param('content'); }
    	
      $content=~s/'/\\'/g;	
      $dbh->do("update public.m_content set content='$content' where id=70");
                                                                                                                                 
      # Зафиксировали изменения
      $dbh->commit;
                                                                                                                                 
      # формируем страницу
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content,$www{'path'},'/turfirm.php');
    
      # подгонка остальных страниц
      # новости
      $sql = "select content from public.m_content where \"id\"=20";
      $sth=$dbh->prepare($sql);
      $sth->execute;
      ($content0)=$sth->fetchrow_array;
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/news.php');
      # Корпаративным клиентам
      $sql = "select content from public.m_content where \"id\"=60";
      $sth=$dbh->prepare($sql);
      $sth->execute;
      ($content0)=$sth->fetchrow_array;
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/cor_clients.php');
      # Главная
      $sql = "select content from public.m_content where \"id\"=10";
      $sth=$dbh->prepare($sql);
      $sth->execute;
      ($content0)=$sth->fetchrow_array;
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/index.php');
      # Контакты
      $sql = "select content from public.m_content where \"id\"=30";
      $sth=$dbh->prepare($sql);
      $sth->execute;
      ($content0)=$sth->fetchrow_array;
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/contact.php');
      # Базы
      $sql = "select content from public.m_content where \"id\"=40";
      $sth=$dbh->prepare($sql);
      $sth->execute;
      ($content0)=$sth->fetchrow_array;
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/centre.php');
      # Бронирование
      $content0="<iframe width=100% scrolling='auto' height=100% frameborder=0 src='/cgi-bin/res.cgi' ></iframe>";
      md::tools->create_page($www{'main_template'},"<#CONTENT#>",$content0,$www{'path'},'/reservation.php'); 
    }

    Из админки одного сайта
    (админка - один сплошной перл)

    happy_me, 07 Января 2011

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