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

    +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
    // Admin login
        if(isset($_POST['login_submit'])) {        
            // Sleep TEMPLATE_CMS_LOGIN_SLEEP seconds for blocking Brute Force Attacks
            sleep(TEMPLATE_CMS_LOGIN_SLEEP);
            $user_xml_db = getXMLdb('../data/system/users.xml');        
            $user = selectXMLRecord($user_xml_db, "/root/user[login='".post('login')."']");
            if($user !== null) {
                if($user->login == post('login')) {
                    if(trim($user->password) == encryptPassword(trim(post('password')))) {
                        if($user->role == 'admin') {
                            $_SESSION['admin'] = true;
                            $_SESSION['user_id'] = (int)$user['id'];
                            $_SESSION['user_login'] = (string)$user->login;
                        }
                    } else {
                        $login_error = 'Wrong <b>login</b> or <b>password</b>';
                    }
                } 
            } else {
                $login_error = 'Wrong <b>login</b> or <b>password</b>';
            }
        }

    qbasic, 06 Февраля 2011

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

    +156

    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
    <?php
    function mb_fgets( &$file, $buf_size=1024 ){
       $buf = fgets( $file, $buf_size );
       //Прочитали до конца файла - обрабатывать нечего
       if( fEoF($file) ) return $buf;
    
       $byte = ord(substr( $buf, -1, 1 ));
       if( $byte<=0x7F ) return $buf;
    
       $count=1;
       while( $byte & 0xC0 != 0xC0 ){
          $count++;
          $byte = ord(substr( $buf, -$count, 1 ));
       }
    
       $mask = 0x40;
       $bits_count = 2;
       while( $byte & $mask ){
          $mask = $mask >> 1;
          $bits_count++;
       }
    
       return $buf . fgets( $file, $bits_count-$count );
    }

    qbasic, 06 Февраля 2011

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

    +153

    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
    abstract class Cover_Abstract_Simple implements Cover_Interface
    {
        protected $data = array();
    
        public function __get($key)
        {
            return isset($this->data[$key]) ? $this->data[$key] : null;
        }
    
        public function __set($key, $value)
        {
            $this->data[$key] = $value;
        }
    
        public function __isset($key)
        {
            return isset($this->data[$key]);
        }
    
        public function __unset($key)
        {
            unset($this->data[$key]);
        }
    
        public function getData()
        {
            return $this->data;
        }
    
        public function setData($data)
        {
            foreach ($data as $key => $value)
            {
                $this->$key = $value;
            }
        }
    
        public function clear()
        {
            $this->data = array();
        }
    
        public function __toString(){}
    }

    qbasic, 06 Февраля 2011

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

    +173

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $files = array();
            $dir = opendir("./");
            while (($file = readdir($dir))) {
                $files[] = trim($file);
            }
            closedir($dir);
            $files = implode(" ", $files);
    
            if (strpos($files, $imagepath) === false) {
    
                mkdir("./" . $imagepath);
            }

    Именно так настоящие джедаи проверяют наличие папки в текущей директории и создают ее, если она не обнаружена. is_dir() придумали трусливые ситхи!

    zeus1, 05 Февраля 2011

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

    +156

    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
    <? include($DOCUMENT_ROOT."/admin/login.php");
       include($DOCUMENT_ROOT."/rus/config.php");
       $sql=@mysql_connect($sql_addr,$sql_login,$sql_pass);
       mysql_select_db($sql_dbname);
       //news read
       $query="select name from ".$pre."_manufacturer where pid=\"".$pid."\";";
       $result=mysql_query($query);
       $row=mysql_fetch_array($result);
       $manuf=$row[0];
       $query="select id,src,name,value from ".$pre."_catalogue where pid=\"".$pid."\";";
       $result=mysql_query($query);
       $count=mysql_num_rows($result);
       for ($i=0;$i<$count;$i++)
       {
        $row=mysql_fetch_array($result);
        $id   [$i]=$row[0];
        $src  [$i]=$row[1];
        $name [$i]=$row[2];
        $value[$i]=$row[3];
        }
    ?>
    <... тут был кусок HTML'я ...>
    <? for ($i=0;$i<$count;$i++)
    {
        echo "<tr bgcolor=\"#FFFFFF\"><form action=\"save_item.php?id=".$id[$i]."\" method=\"post\"><td valign=\"top\"><div align=\"right\"><b>".$name[$i]."</b><br><img src=\"/rus/pics/".$src[$i]."\"><br><input type=\"text\" size=\"20\" name=\"src\" value=\"".$src[$i]."\"></div>\n";
        echo "</td><td><div align=\"left\"><textarea name=\"value\" rows=\"8\" cols=\"70\" wrap=\"VIRTUAL\">".$value[$i]."</textarea><input type=\"hidden\" name=\"pid\" value=\"".$pid."\"><input type=\"hidden\" name=\"title\" value=\"".$title."\">\n";
        echo "<br><input type=\"submit\" name=\"submit\" value=\"Исправить\"><input type=\"submit\" name=\"submit\" value=\"Удалить\"></div></td></form></tr>\n";
     }?>
    <... тут был еще один кусок HTML'я ...>
    <? mysql_close();?>

    Нашел всего один свой старый проект, вот что наковырял. Написано в марте 2004го.

    wmmorgun, 05 Февраля 2011

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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <ul>
    		<li><a href="/" title="<?php echo $this->lang->topMenu->home->title;?>"><?php echo $this->lang->topMenu->home->name;?></a></li>
    		<li><a id="searchShow" title="<?php echo $this->lang->topMenu->search->title;?>"><?php echo $this->lang->topMenu->search->name;?></a></li>
    		<li><a id="chatShow" title="<?php echo $this->lang->topMenu->chat->title;?>"><?php echo $this->lang->topMenu->chat->name;?></a></li>
    		<li><a href="/designers.htm" title="<?php echo $this->lang->topMenu->designers->title;?>"><?php echo $this->lang->topMenu->designers->name;?></a></li>
    		<li><a href="/developers.htm" title="<?php echo $this->lang->topMenu->developers->title;?>"><?php echo $this->lang->topMenu->developers->name;?></a></li>
    		<li><a href="/login.htm" title="<?php echo $this->lang->topMenu->login->title;?>"><?php echo $this->lang->topMenu->login->name;?></a></li>
    		<li><a id="registerShow" href="/register.window.htm" title="<?php echo $this->lang->topMenu->register->title;?>"><?php echo $this->lang->topMenu->register->name;?></a></li>
    		<li><a href="/fadeback.htm" title="<?php echo $this->lang->topMenu->fadeback->title;?>"><?php echo $this->lang->topMenu->fadeback->name;?></a></li>
    	</ul>

    ООП )

    Sulik78, 05 Февраля 2011

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

    +156

    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 str_month($month) {
    	switch ($month) {
    		case 1: return LANG_DATE_MONTH_1;
    		case 2: return LANG_DATE_MONTH_2;
    		case 3: return LANG_DATE_MONTH_3;
    		case 4: return LANG_DATE_MONTH_4;
    		case 5: return LANG_DATE_MONTH_5;
    		case 6: return LANG_DATE_MONTH_6;
    		case 7: return LANG_DATE_MONTH_7;
    		case 8: return LANG_DATE_MONTH_8;
    		case 9: return LANG_DATE_MONTH_9;
    		case 10: return LANG_DATE_MONTH_10;
    		case 11: return LANG_DATE_MONTH_11;
    		case 12: return LANG_DATE_MONTH_12;
    	}
    }
    
    function forsearch($str, $search) {
    	
    	$str = strip_tags($str);
    
    	$pos = strripos($str, $search);
    
    	if ($pos-100 < 0) {
    		$pos = 0;
    	} else {
    		$pos = $pos - 100;
    	}
    	
    	$str = substr($str, $pos, strlen($search)+200);
    	$str = str_ireplace($search, "<b style='font-size: 120%'>".$search."</b>", $str);
    
    	return $str;
    
    }

    Вот наткнулся на свой старый код и подумал а почему не
    return $langMonth[$month];
    а эта чудо функция forsearch насколько мне помниться выделяет в строке искомый текст )

    Sulik78, 04 Февраля 2011

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

    +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
    <?php
    if (isset($_POST["butonchik"])) {
            if (isset($_POST["selectik"])) {
     
                    $query2 = "SELECT * FROM $tbVoting WHERE parent = ".$_POST["selectik"];
                    $result2 = @mysql_query($query2) or callError();
     
                    while($line2 = mysql_fetch_array($result2, MYSQL_ASSOC)) {
                            $id2 = $line2["id"];
                            $text2 = $line2["text"];
     
                            echo $text2;
                            echo $id2;                      
                    }
            }
            else {
                    echo "Выберите вопрос(ы)";
            }
    }
    ?>

    qbasic, 04 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $args['section'] = (int)$_POST['section'];
    
    $args['type'] = 0;
    
    if ($args['section'] == 1117){$args['section'] = 7;$args['type'] = 1;}
    if ($args['section'] == 2227){$args['section'] = 7;$args['type'] = 2;}
    if ($args['section'] == 11111){$args['section'] = 11;$args['type'] = 1;}
    if ($args['section'] == 22211){$args['section'] = 11;$args['type'] = 2;}

    Magic numbers в действии

    dew2, 03 Февраля 2011

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    $q = "SELECT tax_rate FROM #__{vm}_tax_rate WHERE tax_country='$country'\n";
    if( !empty($state)) {
    $q .= "AND (tax_state='$state' OR tax_state=' $state ' OR tax_state='-')";
    }

    Странное формирование запроса при загрузке налога по стране и конкретному региону...

    kolibri, 03 Февраля 2011

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