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

    Всего: 16

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

    +62

    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
    <?php
    
    define( 'SIGNATURE', 'eval(base64_decode("<закодированный код виря>"));' );
    
    function analyzeFolder( $path ) {
    	
    	foreach ( glob( $path . DIRECTORY_SEPARATOR . '*' ) as $file ) {
    		if ( is_dir( $file ) ) analyzeFolder( $file );
    		elseif ( is_file( $file ) ) delBody( $file );
    	}
    	
    }
    
    function delBody( $file ) {
    	if ( $file != $argv[0] && !is_dir( $file ) && is_file( $file ) ) {
    		$file_info = pathinfo( $file );
    		
    		if ( strtolower( $file_info['extension'] ) == 'php' ) {
    			$o = file_get_contents( $file );
    			$w = str_replace( SIGNATURE, '', $o );
    			file_put_contents($file, $w, LOCK_EX);
    			
    			if ( strcasecmp($o, $w) != 0 ) echo "file \"$file\" was modified\n";
    		}
    	}
    }
    
    if ( !empty( $argv[1] ) && ( $argv[1] == '--help' || $argv[1] == '-h' ) ) {
    	
    	print( "using: $ php antivirus [path]\n" );
    	
    } elseif ( !empty( $argv[1] ) && is_dir( $argv[1] ) ) {
    	
    	analyzeFolder( realpath( $argv[1] ) );
    	
    } else {
    	
    	analyzeFolder( dirname( __FILE__ ) );
    	 
    }

    Мой быдлядский антивирь, удаляющий тело вируса из скриптов.

    psycho-coder, 18 Июля 2012

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

    +52

    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
    header( 'Content-Type: text/html; charset=utf-8' );
    
    $year  = date( 'Y' );
    
    $months = array( 1 => 'Январь', 'Фервраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' );
    
    $infoYear = getdate( mktime( 0, 0, 0, 1, 1, $year, 0 ) );
    
    $weekDay = $infoYear['wday'] == 0 ? 7 : $infoYear['wday']; // wday - номер дня недели. 0 - Воскресение. Делаем воскресение седьмым днем.
    
    echo "<h2>$year</h2>";
    
    for ( $month = 1; $month <= 12; $month++ ) {
    	echo '<div style="float: left; padding: 2px;"><b>' . $months[$month] . '</b>';
    	echo '<table border="1">';
    	echo '<th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th>';
    	echo '<tr>';
    	
    	for ( $day = 1; $day < 31; $day++ ) {
    		
    		if ( checkdate($month, $day, $year) ) {
    			
    			if ( $day == 1 )
    				for ( $i = 1; $i < $weekDay; $i++ )
    					echo '<td> </td>';
    			
    			printf( '<td>%02d</td>', $day );
    			
    			$weekDay++;
    			if ( $weekDay > 7 ) {
    				$weekDay = 1;
    				echo '</tr><tr>';
    			}
    		}
    	}
    	
    	echo '</tr></table></div>';
    }

    Задача: Вывести календарь, для установки нужных дат админом и сохранить их в БД.
    Остается отрефракторить и добавить checkbox'ы.

    psycho-coder, 09 Июня 2012

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

    +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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    function navigationblock() {
    	$lettersarr=array();
    
    function _strtolower($string)
    {
        $small = array('а','б','в','г','д','е','ё','ж','з','и','й',
                       'к','л','м','н','о','п','р','с','т','у','ф',
                       'х','ч','ц','ш','щ','э','ю','я','ы','ъ','ь',
                       'э', 'ю', 'я');
        $large = array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й',
                       'К','Л','М','Н','О','П','Р','С','Т','У','Ф',
                       'Х','Ч','Ц','Ш','Щ','Э','Ю','Я','Ы','Ъ','Ь',
                       'Э', 'Ю', 'Я');
        return str_replace($large, $small, $string); 
    }
     
    function _strtoupper($string)
    {
        $small = array('а','б','в','г','д','е','ё','ж','з','и','й',
                       'к','л','м','н','о','п','р','с','т','у','ф',
                       'х','ч','ц','ш','щ','э','ю','я','ы','ъ','ь',
                       'э', 'ю', 'я');
        $large = array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й',
                       'К','Л','М','Н','О','П','Р','С','Т','У','Ф',
                       'Х','Ч','Ц','Ш','Щ','Э','Ю','Я','Ы','Ъ','Ь',
                       'Э', 'Ю', 'Я');
        return str_replace($small, $large, $string); 
    }
    
    	$rs=mysql_query("SELECT DISTINCT firstletter FROM mr_gazette WHERE firstletter!=' ' AND parent=0 ORDER BY firstletter");
    	while($one=mysql_fetch_array($rs)) $lettersarr[]=$one["firstletter"];
    	?><form name=findform action='index.php' method=get style="margin:10px 20px 20px 0px; text-align:right; ">
    		<font style='font:bold 8pt Tahoma;'><? 
    		for ($i=0; $i<count($lettersarr);$i++) {
    			?><a href="index.php?&letter=<?=$lettersarr[$i]?>" style='font:bold 8pt Tahoma; text-transform:uppercase;'><?=_strtolower($lettersarr[$i])?></a><img src="img/null.gif" width=5><?
    		}
    		?></font>
    		<input type=hidden name="act" value="search">
    		<input type=text name=searchval class=frmtextsub>&nbsp;&nbsp;<input type=submit value='найти' class=mybutton style="width:50px; height:18px;">
    	</form><?
    	return $lettersarr;
    }

    T_T

    форматирование сохранено

    psycho-coder, 07 Июня 2012

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

    +58

    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
    <?php if ( $poll ) : ?>
    	<h2>Опрос: <?php echo $poll->getTitle(); ?></h2>
    	
    	<?php $count = $poll->votes->count(); ?>
    	
    	<div>Всего ответивших: <?php echo $count; ?></div>
    	
    	<?php if ( $sf_user->isAuthenticated() ) : ?>
    		
    		<?php if ( !$poll->isVote( $sf_user->getGuardUser()->getId() ) ) : ?>
    			
    			<?php foreach ( $poll->answers as $answer ) : ?>
    				<div><?php echo link_to( $answer->getTitle(), 'poll_vote', array( 'poll' => $poll->getId(), 'answer' => $answer->getId() ) ); ?></div>
    			<?php endforeach; ?>
    			
    		<?php else : ?>
    			
    			<?php foreach ( $poll->answers as $answer ) : ?>
    				<div><?php echo $answer->getTitle(); ?> ($count / <?php echo $answer->getPercent( $count ); ?>%)</div>
    			<?php endforeach; ?>
    			
    		<?php endif; ?>
    		
    	<?php else : ?>
    		
    		<?php foreach ( $poll->answers as $answer ) : ?>
    			<div><?php echo $answer->getTitle(); ?></div>
    		<?php endforeach; ?>
    		
    		<div>Что бы выбрать вариант ответа, необходимо войти.</div>
    		
    	<?php endif; ?>
    	
    <?php endif; ?>

    Пал выбор, делать проверку, голосовал пользователь или нет в цикле и выводить соответствующую инфу или сделать проверку и использовать два разных цикла в разных ветках

    psycho-coder, 24 Мая 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // добавление элемента в корзину
    public function basketAdd( $id, $product ) {
    	$basket = $this->getBasket( );
    
    	if ( !isset( $basket[$id] ) )
    		$basket[$id] = array( 'id' => $product['id'], 'price' => $product['price'], 'count' => $product['count'] );
    
    	$this->setBasket( $basket );
    }

    Было обнаружено в предрелизе)
    Надо больше спать...

    psycho-coder, 20 Апреля 2012

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

    +154

    1. 1
    $explodeSize = explode( '-', str_replace( "\x20", '', trim( $sizes[0] ) ) );

    Не, ну надо было додуматься еще и str_replace туда запихать)

    psycho-coder, 12 Апреля 2012

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