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

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

    +160

    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
    // File: /controllers/register.php
    
    //......
    $sql = 'INSERT INTO `users` SET `ID`=NULL, `login`="'.mysql_real_escape_string(substr($_POST['login'], 0, 12)).'", `pass`= blah blah blah....';
    //......
    
    
    
    // File: /templates/default/index.tpl
    /*
    //... 
    <td><div>Hello, <b>{LOGIN}</b></div><!---- blah blah blah ---><div>Server time: <?php echo getCurrentTime();?></div>
    //
    */
    
    
    //File: /index.php
    
    //......
    $sql = 'SELECT * FROM `users` WHERE `id`=........';
    $data = SYS::$db->getDataRow($sql);
    if(sizeof($data)>0) {
          showTeplate(TEMPLATE_NAME, 'index', $data);
    }
    //......
    
    //Function showTeplate();
    
    function showTeplate($tpl_name, $file_name, $data) {
           $template_code = file_get_contents(TPL_PATH.'/'.$tpl_name.'/'.$file_name.'.'.TPL_EXT);
           foreach($data as $name=>$value) {
                  $template_code = str_replace('{'.strtoupper($name).'}', $value, $template_code);
           }
           
          //......
           eval($template_code);
          //......
    
    }

    Внимание, загадка! Найти уязвимость.

    jokz, 04 Августа 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(preg_match("/^(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)$/", $dt, $m)) {
    } elseif(preg_match("/^(\d\d\d\d)-(\d\d)-(\d\d)$/", $dt, $m)) {
            $isH = false;
            $isM = false;
            $isS = false;
    }

    facepalm...

    nergalic, 03 Августа 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $fileExt = strtolower(substr( $file['name'], -3 ));
    $allowedFile = false;
    foreach($this->allowableFilesExt as $allowableExt )
    if (strcasecmp( $fileExt, $allowableExt ) == 0)
    	$allowedFile = true;
    	if(!$allowedFile) {
    	   	echo "<div class='message'>"._S_2_GALLERY_ERR_EXT."</div>";
    	   	$this->formIframe($sobi2Id, $sobi_gallery_id,$sgssid);
    	   	return false;
    	 }

    Проверка расширения файлов в одном из компонентов joomla.

    dron, 01 Августа 2011

    Комментарии (15)
  5. JavaScript / Говнокод #7319

    +160

    1. 1
    path = path.path if typeof path "object"

    На CoffeeScript написал.

    Jesus, 23 Июля 2011

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

    +160

    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
    class Loging
    {	
    	function referer()
    	{
    		global $_SERVER, $cms_site, $Filtr;
       		if (isset($_SERVER['HTTP_REFERER']))
       		{
          			if ($_SERVER['HTTP_REFERER']!="")
          			{
             			$return = $Filtr->clear($_SERVER['HTTP_REFERER']);
             			if (
                				(strstr($_SERVER['HTTP_REFERER'],"action"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"pm"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"getfile"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"editprofile"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"restore"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"registration"))
             			)
             			$return = $cms_site;
          			}
          			else
             			$return = $cms_site;
       		}
       		else
          			$return = $cms_site;
       		return $return;
    	}
    }
    
    $Loging = new Loging;

    И таких классов не понятных тьма, его инициализируют, и всё просто забывают...

    nethak, 19 Июля 2011

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

    +160

    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
    function generateMessage($template, $tokens){
          foreach($tokens as $key => $value){
            $search[] = $key;
            $replace[] = $value;
          }
          return str_replace($search, $replace, $template);
        }
    
    $template = "Здравствуйте, %contact%! К нам поступил запрос на восстановление пароля на сайте...";
    $token['%contact%'] = 'Иван';
    generateMessage($template, $token);
    
    вместо:
    sprintf("Здравствуйте, %s! К нам поступил запрос на восстановление пароля на сайте...", 'Иван');

    нашёл в коде на работе

    morozovsk, 17 Июля 2011

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

    +160

    1. 1
    "trim(.$resultm[1].)"

    substr, 09 Июля 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    //...
    public function saveTask($task){
    			if(is_numeric($task->id)){ //How do I check whether a member exists in php?
    				//update
    			}else{
    				// insert new
    			}
    		}
    //...

    Комментарий на 4-й строке убивает.
    Снова код из vTiger CRM.

    mr.The, 07 Июля 2011

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

    +160

    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
    /*
    		* Быстрая навигация
    		*/
    		if(isset($url[1]))
    		{
    			if(isset($component_array[$url[1]]))
    			{
    				if(isset($component_array[$url[1]]['subAct']))
    				{
    					foreach($component_array[$url[1]]['subAct'] as $comAct => $comActLink)
    					{
    						$subNav .= '<span' . ((isset($url[2]) && $url[2] == $comActLink OR !isset($url[2]) && $comActLink == '') ? ' class="navMainActive"' : '') . '><a href="' . ADMIN . '/' . $url[1] . '/' . $comActLink . '">' . $comAct . '</a></span>';
    					}
    				}
    				
    				$noSub = '<span class="navMainActive"><a href="' . ADMIN . '/' . $url[1] . '">' . $component_array[$url[1]]['name'] . '</a></span>';
    			}
    			elseif(isset($url[2]) && isset($module_array[$url[2]]))
    			{
    				if(isset($module_array[$url[2]]['subAct']))
    				{
    					foreach($module_array[$url[2]]['subAct'] as $comAct => $comActLink)
    					{
    						$subNav .= '<span' . ((isset($url[3]) && $url[3] == $comActLink OR !isset($url[3]) && $comActLink == '') ? ' class="navMainActive"' : '') . '><a href="' . ADMIN . '/module/' . $url[2] . '/' . $comActLink . '">' . $comAct . '</a></span>';
    					}
    				}
    				
    				$noSub = '<span class="navMainActive"><a href="' . ADMIN . '/module/' . $url[2] . '">' . $module_array[$url[2]]['name'] . '</a></span>';
    			}
    			elseif(isset($services_array[$url[1]]))
    			{
    				if(isset($services_array[$url[1]]['subAct']))
    				{
    					foreach($services_array[$url[1]]['subAct'] as $comAct => $comActLink)
    					{
    						$subNav .= '<span' . ((isset($url[2]) && $url[2] == $comActLink OR !isset($url[2]) && $comActLink == '') ? ' class="navMainActive"' : '') . '><a href="' . ADMIN . '/' . $url[1] . '/' . $comActLink . '">' . $comAct . '</a></span>';
    					}
    				}
    				
    				$noSub = '<span class="navMainActive"><a href="' . ADMIN . '/' . $url[1] . '">' . $services_array[$url[1]]['name'] . '</a></span>';
    			}
    		}

    Кусок из Toogle CMS.
    facepalm.

    invision70, 05 Июля 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <title><?php getSiteName();echo ' - ';getTitle();?></title>
    // Еще
                  if(isset($errors['sitename']))  echo '<span class="error"><li>'.$errors['sitename'].'</li></span>';
                    if(isset($errors['siteurl']))   echo '<span class="error"><li>'.$errors['siteurl'].'</li></span>';
                    if(isset($errors['login']))     echo '<span class="error"><li>'.$errors['login'].'</li></span>';
                    if(isset($errors['password']))  echo '<span class="error"><li>'.$errors['password'].'</li></span>';
                    if(isset($errors['email']))     echo '<span class="error"><li>'.$errors['email'].'</li></span>'

    Пример из template cms =)

    invision70, 04 Июля 2011

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