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

    +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
    // START MY FOR MENU
    $list_pages = preg_replace('/<li([^>]*)>/is', ' ', $output);
    $list_pages = str_replace('</li>', '', $list_pages);
    $list_pages = preg_replace('/<a/is', '</td><td class="menu"> <a$1', $list_pages);
    
    if (isset($_GET['page_id']) AND !is_numeric($_GET['page_id'])) { exit("ERROR!"); }
    $pd = mysql_real_escape_string($_GET['page_id']);
    if(strstr($_SERVER['REQUEST_URI'], 'page_id='.$pd) == TRUE) {
    $list_pages = preg_replace('/<\/td><td class=\"menu\"\> <a href=\"(http:\/\/'.$_SERVER["HTTP_HOST"].'\/\?page_id='.$pd.')/is', '</td><td class="menu_click"><a href="$1', $list_pages);
    }
    
    //for($i=0; $i<sizeof($pages); $i++) {
    //$link = $pages[$i]->guid;
    //$lol = '';
    //if(strstr($_SERVER['REQUEST_URI'], '?') == TRUE) {
    //if ($link == 'http://'.$_SERVER['HTTP_HOST'].'/?'.$_SERVER['QUERY_STRING']) {
    //$list_pages = preg_replace('/<\/td><td class=\"menu\"\> <a href=\"(http:\/\/'.$_SERVER["HTTP_HOST"].'\/\?'.$_SERVER["QUERY_STRING"].')/is', '</td><td class="menu_click2"><a href="$1', $list_pages);
    //}
    // } else {
    //if ($link == 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) {
    //$list_pages = preg_replace('/<\/td><td class=\"menu\"\> <a href=\"(http:\/\/'.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"].')/is', '</td><td class="menu_click2"><a href="$1', $list_pages);   
    //}
    //   }
    //}
    
    
         $output = $list_pages;
         $str = preg_split("/<\/a\>/i", $output);
         $moar = '';
       for ($i=0; $i<sizeof($pages); $i++)
       {
         $moar .= preg_replace('/<\/td><td class=\"menu\"\> <a href=\"(.*)\" title=\"(.*)\">/is', 
         '</td><td class="menu" onclick="linkgo(\'$1\');" id="moar'.$i.'" onmouseover="menu1(\'moar'.$i.'\');" onmouseout="menu2(\'moar'.$i.'\');"> <a href="$1" title="$2">', $str[$i]);
         $moar .= "</a>";
         }
        $output = $moar;
        
    // END MY FOR MENU

    None.

    Furry, 18 Января 2011

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

    +165

    1. 1
    $ext = substr($fileName, strrpos($fileName, '.') + 1);

    Про pathinfo никто и не слышал видимо. Код написан недавно кем-то из команды)

    anycolor, 18 Января 2011

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

    +184

    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
    $multiplier = 1.15;
    $allowedLen = 56;
    echo 
    	(
    		(
    			(
    				$allowedLen - 
    				(
    					strlen($resSingle->name) * $multiplier
    				)
    			) > 0
    		) ?
    		(
    			(
    				isset
    				(
    					$resSingle->address
    					[
    						$allowedLen - 
    						(
    							strlen($resSingle->name) * $multiplier
    						)
    					]
    				) ?
    				(
    					' - ' . substr
    					(
    						$resSingle->address , 0 , $allowedLen - 
    						(
    							strlen($resSingle->name) * $multiplier
    						)
    					) .
    					'...'
    				) :
    				(
    					' - ' . $resSingle->address
    				)
    			)
    		) :
    		(
    			''
    		)
    	);

    Here's my string formatting echo. Name is upper case and address is lowercase. I needed to echo this information, and the rows should be with ~equal length. Enjoy!

    wyand, 17 Января 2011

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

    +148

    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
    $take_mod = mysql_query("select * from `cpdb`.`".$mod."`;");
    			
    $rows = mysql_num_rows($take_mod);
    $fields = mysql_num_fields($take_mod);
    
    		### Вывод БД<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    	
    			echo '<td width="100%" height="26" valign="center">';			
    			### Создание названия полей____________
    		
    				echo "<table border=3px>";
    				echo "<tr>";
    				for ($b=0; $b<$fields; $b++)
    				{
    					echo "<td bgcolor='#CCFFFF'>".mysql_field_name ($take_mod, $b)."</td>";
    				}
    				echo "</tr>";
    		
    			### Содержание БД____________
    				for ($c=0; $c<$rows; $c++) {
    				 	echo "<tr>";
    					echo "<td>".mysql_result($take_mod, $c, 0)."</td>";				
    					for ($cc=1; $cc<$fields; $cc++) {
    						if($mod == 'img'){
    							echo "<td><img src='../images/100/".mysql_result($take_mod, $c, $cc)."'  width='200'/></td>";
    						}
    						else{
    							echo "<td>".mysql_result($take_mod, $c, $cc)."</td>";
    						}
    				    }
    				
    					$edit_id = $c;
    					$drop_id = mysql_result($take_mod, $c, 0);
    				
    					echo '<td width="25" bgcolor="#CCFFFF" align="center" valign="middle" >
    					<a href="?key=2&mod='.$mod.'&edit_id= '.$edit_id.'"><img src="img/b_edit.png" alt="Изменить" /></a></td>';
    					echo '<td width="25" bgcolor="#CCFFFF" align="center" valign="middle" >
    					<a href="?key=2&mod='.$mod.'&id_del='.$drop_id.'"><img src="img/b_drop.png" alt="Удалить" /></a></td>';
    
    				  	echo "</tr>";
    					}
    				echo "</table>";
    			echo '</td>';

    Это CMS - мегавывод записей БД для выбора: редактирование или удаление записи.
    Я пока только догадываюсь, что это мой мега высер..))) И пока еще не опечален)..

    Hello_O, 17 Января 2011

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    # bla bla bla...
    $friends->add(new Friend('Den'));
    $user->add($friends);
    $friends->add($user);
    $friends->getRecursiveDescription(); # сбой!
    # bla bla bla...
    ?>

    Крах композита "вешает" веб-сервер!

    dwinner, 17 Января 2011

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

    +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
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    <?php
    session_start();
    require_once 'connection/ConnectionConfig.php';
    require_once 'classes/DBClass.php';
    $DB = new DB($host, $user, $password);
    
    function LoadContent($DB) {
        if (isset($_GET["ShowTable"]) || isset($_GET["ViewPage"]) || isset($_POST["Cancel"])) {
            $DB->SelectBase($_SESSION["CurrentDB"]);
            include 'loaders/view_table.te.php';
        }
        if (isset($_GET["NewRecord"]) || isset($_GET["EditRecord"])) {
            if (isset($_GET["EditRecord"]) && (!isset($_GET["SelectedRecord"]))) {
                $message = "Не выбрана запись для редактирования!";
                include 'templates/message.te.html';
            }
            else
                include 'loaders/edit_record.te.php';
        }
        if (isset($_POST["Save"])) {
            include 'loaders/edit_function.te.php';
        }
        if (isset($_GET["DeleteRecord"])) {
            if (!isset($_GET["SelectedRecord"])) {
                $message = "Не выбрана запись для удаления!";
                include 'templates/message.te.html';
            } else {
                include 'loaders/del_function.te.php';
            }
        }
    }
    
    function LoadMenu($DB) {
        include 'loaders/menu_bases.te.php';
        if (isset($_GET["SelectDatabase"])) {
            $DB->SelectBase($_GET["SelectedDatabase"]);
            $_SESSION["CurrentDB"] = $DB->GetCurrentBase();
        }
        if (isset($_SESSION["CurrentDB"]))
            include 'loaders/menu_tables.te.php';
    }
    
    include 'templates/common.te.html';
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <title></title>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
            <link rel="stylesheet" type="text/css" href="style/style.css">
        </head>
        <body>
            <table border="1" class="common">
                <tr>
                    <td width="250" height="130">
                        <img src="image/logo1.jpg" alt="logo"/>
    
                    </td>
                    <td rowspan="2" valign="top">
                        <?php LoadContent($DB); ?>
                    </td>
                </tr>
                <tr>
                    <td valign="top" class="menu_container">
                        <?php LoadMenu($DB); ?>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <p class="copyright">Разработано: 2011г. Автор: Тяготенков В.Э.</p>
                    </td>
                </tr>
            </table>
        </body>
    </html>

    qbasic, 17 Января 2011

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

    +166

    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
    <?php
    ...
    if($_POST['action'] == 'parse') {
    	$login = $_POST['login'];
    	$pass = $_POST['pass'];
    	$file = $_POST['file'];
    	$page = $_POST['page'];
    	$sleep = intval($_POST['sleep']);
    	
    	//$key = iconv('cp1251','utf-8',$_POST['key']);
    
    	if ( empty($login) or empty($pass) or empty($file) or empty($page) ) die('Не заданы параметры.');
    	
    	if ( !login($login,$pass) ) die('Неверный логин или пароль.');
    ...
    if ( preg_match('#Изменить персональные данные|Создание страницы#Ui',$code) ) {
        return true;
    } else {
        return false;
    }
    ...
    ?>

    Прислали в ICQ, попросили доработать... Отказал

    Devzirom, 17 Января 2011

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

    +145

    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
    /**
     * commentsPostController: контроллер для метода post модуля comments
     *
     * @package modules
     * @subpackage comments
     * @version 0.2
     */
    class commentsPostController extends simpleController
    {
    //......
            $formTitles = array(
                'Я, <b>' . htmlspecialchars($user->getLogin()) . '</b>, находясь в здравом уме и твердой памяти, торжественно заявляю:',
                'Помни, <b>' . htmlspecialchars($user->getLogin()) . '</b>, за тобой могут следить!',
                'Семь раз отмерь — один отрежь, <b>' . htmlspecialchars($user->getLogin()) . '</b>!',
                'Где здесь C++, <b>' . htmlspecialchars($user->getLogin()) . '</b>?!',
            );
    
            $session = $this->toolkit->getSession();
            if ($onlyForm) {
                $currentTitleIndex = mt_rand(0, sizeof($formTitles) - 1);
                $session->set('comments_form_title_index', $currentTitleIndex);
            } else {
                $currentTitleIndex = $session->get('comments_form_title_index', -1);
                if (!isset($formTitles[$currentTitleIndex])) {
                    $currentTitleIndex = mt_rand(0, sizeof($formTitles) - 1);
                    $session->set('comments_form_title_index', $currentTitleIndex);
                }
            }
    //......
    }

    11-16: титлам самое место в контроллере!

    18-28 меня совсем обескуражило... Но чем, подсказывать не буду, глядите сами = )

    откуда взято, сами понимаете = )

    Lure Of Chaos, 16 Января 2011

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

    +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
    58. 58
    /* Draw the legend of the active series */
       function drawLegend($X,$Y,$Format="")
        {
         $Family	= isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
    ...
         $Mode	= isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
         if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
         $YStep = max($this->FontSize,$BoxHeight) + 5;
         $XStep = $BoxWidth + 5;
         $XStep = $XSpacing;
         $Data = $this->DataSet->getData();
         $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             if ( $Mode == LEGEND_VERTICAL )
              {
               $BoxArray = $this->getTextBox($vX+$BoxWidth+4,$vY+$BoxHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
               if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
               if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
               if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $vY = $vY + max($this->FontSize*count($Lines),$BoxHeight) + 5;
              }
             elseif ( $Mode == LEGEND_HORIZONTAL )
              {
               $Lines = preg_split("/\n/",$Serie["Description"]);
               $Width = "";
               foreach($Lines as $Key => $Value)
                {
                 $BoxArray = $this->getTextBox($vX+$BoxWidth+6,$Y+$BoxHeight/2+(($YStep-3)*$Key),$FontName,$FontSize,0,$Value);
                 if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxHeight/2; }
                 if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
                 if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxHeight/2; }
                 $Width[] = $BoxArray[1]["X"];
                }
               $vX=max($Width)+$XStep;
              }
            }
          }
         $vY=$vY-$YStep; $vX=$vX-$XStep;
         $TopOffset  = $Y - $Boundaries["T"];
         if ( $Boundaries["B"]-($vY+$BoxHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxHeight+$TopOffset; }
         if ( $Style == LEGEND_ROUND )      $this->drawRoundedFilledRectangle(...);
         elseif ( $Style == LEGEND_BOX )  $this->drawFilledRectangle(...);
         $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
         foreach($Data["Series"] as $SerieName => $Serie)
          {
           if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
            {
             $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
             $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
             if ( $Family == LEGEND_FAMILY_BOX )
    
          }
         $this->Shadow = $RestoreShadow;
        }

    Наша либа, которая рисует графики: функция рисующая легенду.

    jdmien, 16 Января 2011

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

    +167

    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
    class country extends baza
    {
    ......
    function show_description($country=NULL)
    {
        if ($this instanceof country)
            $quest="SELECT description FROM countries WHERE name=\"$this->name"";
        if ($this instanceof city) // йобаный стыд!!! 0_0
            $quest="SELECT description FROM cities WHERE name\"$this->name\" AND country=\"$country\" ";
    ......
    }
    
    class city extends country
    .....

    предок "country" знает о потомке "city"

    Говнокод из говнокнижки Елены Бенкен "PHP, MySQL, XML Программирование для интернета" БХВ-Петербург,ISBN 5-9775-0039-4 страница 209

    StriderMan, 16 Января 2011

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