1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #5749

    +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
    <?php 
    echo '
    <form method="POST" action="">
    <input type="submit" name="sub" value="Отправить">
    </form>
    ';
    $sub=$_POST['sub'];
    if ($sub==true){
    function rand_foto($patch = "images") 
    { 
    if(!$dir = opendir($patch)) return "images"; 
    while(($t = readdir($dir)) !== false) 
    { 
    $ext = substr(strrchr($t,'.'), 1); 
    if(is_file($t) && ($ext == "gif") || ($ext == "jpg") || ($ext == "png")) 
    { 
    $filename[] = $patch."/".$t; 
    } 
    } 
    closedir($dir); 
    $index = rand(0, count($filename) - 1); 
    $foto = "<img src=".$filename[$index].">"; 
    return $foto; 
    } 
    echo rand_foto(); }

    qbasic, 21 Февраля 2011

    Комментарии (1)
  3. JavaScript / Говнокод #5741

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    function auCtrl(whSound,play) {
    if (IE) this.src = play? aySound[whSound]:'';
    else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
    }

    ___, 21 Февраля 2011

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

    +157

    1. 1
    if(!$model->sourse->access->firstname == 1)

    $model->sourse->access->firstname - либо 0, либо 1... Нужно просто иногда высыпаться :(

    VasyOk, 21 Февраля 2011

    Комментарии (12)
  5. C++ / Говнокод #5687

    +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
    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
    struct Event
    {
       int priority;
       bool operator<(Event e) const
       {
          return e.priority>priority;
       }
       
       virtual void operator() () = 0;
    };
    
    priority_queue<Event*, deque<Event*> > eventQueue;
    
    template <typename T, void (T::*g)()>
    struct  TEvent : Event
    { 
       T* parent;
       virtual void operator() () 
       {
          (parent->*g)();
       }
       TEvent (T* _parent) : parent(_parent){}
    };
    
    struct Entity
    {
       int foo;
       void AFunc() 
       {
          cout<<foo;
       }
    
       void BFunc() 
       {
          cout<<"Ololo";
       }
               
       typedef TEvent<Entity,&Entity::AFunc> someEvent;
       Entity(int _foo): foo(_foo){}
             
       void addEvent()
       {
          eventQueue.push(new someEvent(this));
       }
    };
    
    int main()
    {
       Entity foo(10);
       foo.addEvent();
       (*eventQueue.top())();
       return 0;
    }

    Один из самых сложных и неочевидных способов вывести в консоль число 10.
    (Этот код - проверка, будет ли работать прототип велосипедного делегата)

    CHayT, 15 Февраля 2011

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

    +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
    <?
    $past=time()-900;  // задаем время через которое будет удолен uzer
    mysql_query("DELETE FROM session WHERE time<$past"); // удаляем uzera которые все это время ничего на сайте не делал
    if(isset($_SESSION['name_user'])){
    $result=mysql_query("SELECT time FROM session WHERE username='$name_user'",$db); 
    $ctime=time();
    if($row=mysql_fetch_array($result)){
    mysql_query("UPDATE session SET username='$name',time='$ctime' WHERE username='$name'"); //перезаписываем время посещения страницы
    } else {
    mysql_query("INSERT INTO session (username,time) VALUES('$name','$ctime')"); //если он в первый рас тут то добавляем его в БД
    }
    }
    $result=mysql_query("SELECT COUNT(*) FROM session");
    $count=mysql_fetch_array($result);

    qbasic, 13 Февраля 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //@see http://ru2.php.net/manual/en/function.exif-imagetype.php
    if (!function_exists('exif_imagetype')) {
        function exif_imagetype($filename) {
            if ((list($width, $height, $type, $attr) = getimagesize($filename)) !== false) {
                if ($type > 0) {
                    return $type;
                }
            }
            return false;
        }
    }

    Скопипастил этот код к себе в проект из мануала с php.net для определения типа картинки, т.к на сервере не было экстеншина Exif.
    Много лишних переменных, но в ломак было переписывать, запузырил как есть.

    govnomes, 12 Февраля 2011

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

    +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
    function getAvailablePrivileges(Workset_Model_Object_Interface $resource, $where = null, $order = null, $limit = null, $offset = null, $offsetByPage = false) {
    
            if (true == $offsetByPage) {
                $offset = $this->getPageOffset($limit, $offset);
            }
    
    	$table = $this->_getTable();
    	$select = $table->prepareSelect($where, $order, $limit, $offset);
    
            $iselect = $this->_getTable()->select();
    
            $iselect->from(
                array('m' => $this->_getTable()->info(Zend_Db_Table_Abstract::NAME)),
                array('id')
            )
           ->join(
                array('i' => $this->_getTable($this->_linkedObjectTableClass)->info(Zend_Db_Table_Abstract::NAME)),
                "i.privilege_id = m.id",
                array()
            )
            ->where(
                'i.resource_id = ?', $resource->getId()
            );
    
            $select->where("id not in(?)", new Zend_Db_Expr($iselect->assemble()));
    
            $rowset = $table->fetchAll($select);
    
            return $this->getIterator($rowset, array(
                'countRows' => $this->_countAllRecords,
                'filter' => $select
            ));
    
        }

    Из проекта на Zend

    govnomes, 11 Февраля 2011

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

    +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
    if($amount > 0) :
    	if (is_dir($directory)) {
    		if ($open_dir = opendir($directory)) {
    			$a = 0; $b = 0;
    			while (false !== ($file = readdir($open_dir))) {
    				if ($file != "." && $file != ".." && !is_dir($directory."/".$file)) {
    					$a++;
    					if($a > $min) {
    						$b++;
    						echo "<tr id=\"am-list-input\" valign=\"center\" height: 20px;><td align=\"left\" width=\"10%\">";
    						echo " <a href=\"index.php?am=mod[uploader]&delete=$file\"><img src=\"../images/mini_icons/del.png\" /></a> ";
    						if(in_array(strtolower(getExtension($file)), $gud_types)) echo "<span OnClick=\"CaricaFoto('".$directory."/".$file."')\" OnMouseOver=\"Tip('<img style="max-width: 400px" src="".$directory."/".$file."" >')\"><img style=\"cursor: help\" src=\"../images/mini_icons/display.png\" /></span>";
    						if(in_array(strtolower(getExtension($file)), explode(',', strtolower("mp3,wma,waw,amr,ape,bin,flac,m4a,mdi,ram")))) echo "<img src=\"modules/mod[uploader]/assets/type/sound.png\" />";
    						if(in_array(strtolower(getExtension($file)), explode(',', strtolower("3gp,avi,dat,flv,ifo,m4v,mkv,mov,mp4,rm,vob,wmv")))) echo "<img src=\"modules/mod[uploader]/assets/type/video.png\" />";
    						if(!in_array(strtolower(getExtension($file)), explode(',', strtolower("3gp,avi,dat,flv,ifo,m4v,mkv,mov,mp4,rm,vob,wmv,mp3,wma,waw,amr,ape,bin,flac,m4a,mdi,ram,jpg,jpeg,png,gif")))) echo "<img src=\"modules/mod[uploader]/assets/type/all.png\" />";
    						echo "</td><td width=\"70%\"><span style=\"display: block; cursor: pointer; color: #446eb8; font-weight: bold; line-height: 16px;\" onClick=\"document.getElementById('onclick').value='".str_replace("..", $conf_global["base_url"], $directory)."/".$file."'\" />".substr($file, 0, 100)."</span></td><td width=\"20%\">".formatsize(filesize($directory.DS.$file))."</td></tr>";
    						if($b == $max) : break; endif;
    					}
    				}
    			}
    		closedir($open_dir);
    		}
    	}
    endif;

    Грех не посмеятся над своими старыми проектами =)))

    nethak, 11 Февраля 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public function getUserDeliveryList($deliverySettings) {
    	$obligatoryFieldsList = array('type', 'periods', 'freq');
    	foreach ($obligatoryFieldsList as $v){
    		if (!isset($deliverySettings[$v])){
    			return false;
    		} else {
    			$$v = $deliverySettings[$v];
    		}
    	}
    //	...
    }

    Обратил внимание после того, как в тексте метода обнаружил некоторое количество undefined (по мнению IDE) переменных.

    quall, 08 Февраля 2011

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

    +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
    <?php
    function Sleeper($mSec)
    {
    	//    For dummies like me who spent 5 minutes
    	//    wondering why socket_create wasn't defined
    	if(!function_exists('socket_create')){
    		die("Please enable extension php_sockets.dll");
    	}
    	//    So the socket is only created once
    	static $socket=false;
    	if($socket===false){
    		$socket=array(socket_create(AF_INET,SOCK_RAW,0));
    	}
    	$pSock=$socket;
    	//    Calc time
    	$uSex = $mSec * 1000;
    	//    Do the waiting
    	socket_select($read=NULL,$write=NULL,$pSock,0,$uSex);
    	//    OCD
    	return true;
    }

    что бы гк делал без этого чудесного языка..

    xXx_totalwar, 07 Февраля 2011

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