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

    +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
    class XXX
    {
    	function _item()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function _lister()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function item()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function lister()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function __construct()
    	{
    		$this->_lister();
    	}
    }

    В прицнипе пофиг что оно делает. Но смотреть без слез, имхо нельзя :)

    grelkin, 21 Октября 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //функция конвертации времени в таймстамп, добавлено 08.07.2010
    function convertDate($date){
    	$dateArr = explode(".", $date);
    	$date = mktime(0,0,0,$dateArr[1],$dateArr[0],$dateArr[2]);
    	return $date;
    	
    	// 21.10.2010: а чем strtotime не устраивает?
    }

    И чем strtotime() не устроило, не понятно.

    getrix, 21 Октября 2010

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

    +163

    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
    <?php
    		// ...
    		////////////////
    		$_engines = unserialize(SENGINES);
    
    		if (0 == count($loading)) return -3;
    		$select=-1;
    		$delta=0;
    		$me=count($_engines);
    		$ms=count($args);
    
    		if (count($loading))
    		foreach ($loading as $k=>$v)
    		{
    			if (!isset($v['all'])) continue;
    			if (0==$v['all']) continue;
    			$tmp=0;
    			switch(1)
    			{
    				case $ms > 0:
    					foreach ($args as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$ms;
    					break;
    
    				case $me > 0:
    					foreach ($_engines as $engine)
    					{
    						if (isset($v[$engine]))
    						$tmp += (float) $v[$engine]/(float) $v['all'];
    					}
    					$tmp=$tmp/$me;
    					break;
    
    			}
    
    			if ($tmp > $delta)	{$delta=$tmp;$select=$k;}
    		}
    		if (-1 == $select) return false;
    		////////////////
    		// ...

    Автор этого убеждает, что тут где-то производится сортировка.

    Кстати, это, #4071 и #4215 кодил один и тот же автор. Поэтому тут можно наблюдать десериализацию массива из константы, возвращение непонятных отрицательных статусов, очень информативное именование переменных, копипаст и самое классное — "if для лохов, я использую switch(1)"

    user654321, 20 Октября 2010

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

    +159

    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
    class Request_BrowserDetector
    {
      public static function singleton()
      {
        if (null === self::$_instance)
        {
          self::$_instance = new self;
        }
        
        return self::$_instance;
      }
      
      protected static $_instance = null;
    
      public function __construct()
      {
        $this->_sigs = Application::singleton()->cfg('request.browser.signatures');
      }
      
      public function detect($str)
      {
        if (isset($this->_cache[$str]))
        {
          $out = $this->_cache[$str];
        }
        else
        {
          $notFound = true;
          
          foreach ($this->_sigs as $k => $v)
          {
            if (false !== strpos($str, $k))
            {
              $out = $v;
              $notFound = false;
              break;
            }
          }
          
          if ($notFound)
          {
            $out = $this->_escape($str);
          }
          
          $this->_cache[$str] = $out;
        }
        
        return $out;
      }
      
      protected function _escape($str)
      {
        return mysql_real_escape_string($str);
      }
      
      protected $_sigs, $_cache = array();
    }

    синглетон такой, синглетон

    seonull, 20 Октября 2010

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

    +232

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function get_user_balls($user_id)
    {
    //blah blah blah
    }
    
    function destroy_user_balls($user_id)
    {
    //blah blah blah
    }

    Никогда не догадаетесь, что это за функции. Ржал до слез. Готовы? Возвращает кол-во баллов, набранных пользователем и очищает их.

    j0kz, 19 Октября 2010

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

    +162

    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
    function brows($str)
     {
    	if(strpos($str,'Googlebot')!==false)
    	{
    		return 'Googlebot';
    	}
    	elseif(strpos($str,'Yandex')!==false)
    	{
    		return 'Yandex';
    	}
    	elseif(strpos($str,'Opera')!==false)
    	{
    		return 'Opera';
    	}
    	elseif(strpos($str,'Firefox')!==false)
    	{
    		return 'Firefox';
    	}
    	elseif(strpos($str,'MSIE')!==false)
    	{
    		return 'MSIE';
    	}
    	elseif(strpos($str,'Chrome')!==false)
    	{
    		return 'Chrome';
    	}
    	elseif(strpos($str,'Yahoo')!==false)
    	{
    		return 'Yahoo';
    	}
    	else
    	{
    		return mysql_real_escape_string($str);	
    	}	
     }

    мне кажется тут явно что-то не чисто :D

    GoodTalkBot, 19 Октября 2010

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

    +165

    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
    $conf_is_homepage=(strpos(strtolower($_SERVER['PHP_SELF']),"/index.php")>0)?true:false;
    
    
    
    $accounttype=explode("|","General User|Administrator");
    
    
    
    $accountstatus=explode("|","Inactive|Active");
    
    
    
    $varLabel=explode("|","Message|First Name|Last Name|Username|User Email|Password");
    
    
    
    $varName=explode("|","xxMESSAGExx|xxFIRSTNAMExx|xxSURNAMExx|xxUSERNAMExx|xxUSEREMAILxx|xxPASSWORDxx");
    
    $varValue=explode("|","message_|cus_fname|cus_lname|cus_username|cus_email|cus_password");
    
    // Error & Messages
    
    $site_root=$conf_script_folder."/";
    
    
    
    //$arrDayNames=explode('|', 'Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday');
    
    $arrDayNames=explode('|', 'Weekdays|Saturday|Sunday');

    bytes, 18 Октября 2010

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

    +125

    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
    <?
    # запускаем сессии
    session_start();
    # подключаем MySQL
    require "db.php";
    // Если существуют куки, то выполняем автовход!
    if(isset($_COOKIE['adminauto']))
    {$nik = $_COOKIE['adminnik'];
    $password = $_COOKIE['adminpassword'];
    $_SESSION['adminnik'] = $nik;
    $_SESSION['adminpassword'] = crc32(crypt(base64_encode(strrev(md5($password)))));
    }// Если переменные пустые, то запрещаем вход
    ....... Тут какое то говнишко 
    # если пользователь ввел данные, то проверяем их
    if(isset($go))
    {
    # принимаем данные через POST
    if (isset($_POST['nik'])) {$nik = $_POST['nik'];}
    if (isset($_POST['pass'])) {$pass = $_POST['pass'];}
    # проверяем нет ли пустых полей
    if(empty($nik) or empty($pass)) 
    {exit("<script language='javascript'>alert('Вы попытались получить доступ к Чату, но замечено, что Вы не ввели какое-то из полей, пожалуйста заполните их!');</script><head><meta http-equiv='refresh' content='0; URL=admin.php'></head>");}
    
    $result = mysql_query("SELECT nik,password FROM admin WHERE nik='$nik' and password='$pass'");
    if(mysql_num_rows($result) > 0) 
    { 
    
    $_SESSION['adminnik'] = $nik; 
    $_SESSION['adminpassword'] = crc32(crypt(base64_encode(strrev(md5($pass)))));}
    else {exit("<script language='javascript'>alert('Вы попытались получить доступ к Чату, но те данные которые Вы ввели, не совподают с правильными! Пожалуйста введите правильные!');</script><head><meta http-equiv='refresh' content='0; URL=admin.php'></head>");}}
    
    if( !isset($_SESSION['adminnik']) or !isset($_SESSION['adminpassword']) )  {
    echo "<br><br><br><br><br><br><br>
    <table bgcolor='#EAF3FF' width='300px' align='center' style='border:1px solid #000000; padding:10px;'>
    <tr><td><strong>Вход</strong></td></tr><br>
    <form method='post'><tr bgcolor='#F9F8FD'><td>
    <div style='font-size:11px; font-family:Verdana; color:#424242;'>Ваш ник:</div></td><td>
    <input style='border:1px solid #B3B9C3; font-size:12px;' type='text' name='nik'></td></tr>
    <tr bgcolor='#F9F8FD'><td>
    <div style='font-size:11px; font-family:Verdana; color:#424242;'>Ваш пароль:</div></td><td>
    <input style='border:1px solid #B3B9C3; font-size:12px;' type='password' name='pass'></td></tr><tr><td>
    <input type='checkbox' name='auto' cheked> Автовход<br>
    <input style='border:1px solid #000000; color:#3A4F6C; font-weight:700; padding:0px; background-color:#F0F5FA; margin-top:5px;' type='submit' name='go' value='Войти'></form>
    </td>
    </tr>
    </table>
    <br><table bgcolor='#EAF3FF' width='500px' align='center' style='border:1px solid #000000; padding:10px;'><tr align='center'><td><strong style='font-size:14px;'>Забыли пароль?</strong></td></tr><form method='post' action='newpass.php'><tr align='center'><td bgcolor='#F9F8FD' style='padding-bottom:7px;'><strong style='font-size:11px; font-family:Verdana;'>Введите Ваш email:   </strong><input type='text' name='email' style='border:1px solid #B3B9C3; font-size:11px; font-family:Verdana; padding:1px; margin-top:5px;'>  <input type='submit' style='border:1px solid #000000; color:#3A4F6C; font-weight:700; padding:0px; background-color:#F0F5FA; margin-top:5px;' name='newpass' value='Получить пароль!'></form></td></tr><tr><td align='center' style='font-size:11px; font-family:Verdana; color:#FF0000;'>* Вам на email будет выслан новый пароль!</td></tr></table>
    ";
    exit();
    }
    ?>

    Вот. это называется авто вход.

    Vasiliy, 18 Октября 2010

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

    +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
    public function getOwnTimeFromTime($_site_end_time , $timeSyncOk = false)
    {
            $_site_end_time_msk = strtotime($_site_end_time);
            $_site_end = date('Y-m-d H:i:s', $_site_end_time_msk);
            
            $iter = 0;
            
            preg_match ("|(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)|usi",$_site_end_time, $_Time1);
    
            do {    
                $date2 = mktime($_Time1[4], $_Time1[5], $_Time1[6], $_Time1[2], $_Time1[3], $_Time1[1]);
                
                if ((($_site_end_time_msk - $date2) == 3*60*60) || (($_site_end_time_msk - $date2) == 4*60*60)) {
                    $timeSyncOk = true;
                }                                       
                $iter++;                    
                
            } while ($iter<=20 && $timeSyncOk==false);
                  
            if ($timeSyncOk==false) {
    
                $_site_end = date("Y-m-d H:i:s", parseDatetime($_site_end_time));
            }
            
            return $_site_end;
    }

    Шаманство

    minisot, 18 Октября 2010

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

    +172

    1. 1
    <td><?="ID"?>:</td>

    Пример из документации Bitrix
    http://dev.1c-bitrix.ru/api_help/main/general/admin.section/classes/cadminfilter

    Rpsl, 18 Октября 2010

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