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

    +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
    <?php 
    session_start();
    define('_JEXEC', 1);
    $host = $_SERVER['DOCUMENT_ROOT'];
    include $host.'/admin/function.php';
    include $host.'/data/conf.php';
    include $host.'/data/settings.php';
    
    $templates = $system['templates'];
    
    $content = file_get_contents($host.'/design/'.$templates.'/index.tpl');
    
    $result = mysql_query(" SELECT * FROM news WHERE section='index' ");
    $myrow = mysql_fetch_array($result);
    
    $result2 = mysql_query(" SELECT * FROM slogan ");
    $myrow2 = mysql_fetch_array($result2);
    
    $index_news = $myrow['news'];
    $title = $myrow['title'];
    $description = $myrow['description'];
    $keywords = $myrow['keywords'];
    
    $menu=''; 
    function callback($s) {$GLOBALS['menu'].=$s; }
    ob_start('callback');
    include $host.'/data/site_content/menu.php'; 
    ob_end_flush();   
    $menu="$menu";
    
    $content=str_replace('{templates}', $templates, $content);
    $content=str_replace('{menu}', $menu, $content);
    $content=str_replace('{content}', $index_news, $content);
    
    $content=str_replace('{slogan_name}', $myrow2['slogan_name'], $content);
    $content=str_replace('{slogan}',$myrow2['slogan'], $content);
    
    $content=str_replace('{title}', $title, $content);
    $content=str_replace('{description}', $description, $content);
    $content=str_replace('{keywords}', $keywords, $content);
    
    echo $content;
    
    ?>

    Запостил: qbasic, 07 Декабря 2010

    Комментарии (15) RSS

    • "Nothing is going to build your application for you, no matter what it promises. You are going to have to build it yourself" (c)

      достойные ученики лердорфа - часть 2: возрождение
      Ответить
    • > define('_JEXEC', 1);
      Джумла такая Джумла, ломаный же ворд.
      Ответить
      • Это не похоже на Джумлу ни разу... Ну, ладно, только названием одной константы. Но сути не меняет - это не Джумла...
        Ответить
    • $host = $_SERVER['DOCUMENT_ROOT']
      чтобы враг не догадался?
      Ответить
      • Помню, одна ярая фанатка register_globals так же вот запутывала имена переменных безопасности ради. Наплодила больше дыр, чем пыталась закрыть.
        Ответить
        • запрет бы тотальный в пыхе сделали на использование неинициализированных переменных. чтобы такие скрипты с ошибкой выпадали.
          хотя и это не поможет учитывая что некоторе удолбаны эмулируют register_globals в своих продуктах в начале работы скрипта.
          Ответить
          • В истории PHP есть откровенно позорные страницы: magic quotes, register_globals, short_open_tag. А ведь делались все эти вещи с благими намерениями. Ладно хотя бы в качестве иллюстрации известной поговорки эпик вин получился.
            Ответить
            • и еще на мой взгляд тупость сделали уточнее типа классов в методах а для простых типов уточнее не работает. Аж прям бесит
              Ответить
            • нет, короткие теги в стиле jsp это было бы хорошо. но дерьмо все в том, что конфигой их можно запретить и тогда скрипт не работает. лучше бы они были по дефолту и вырубить их было бы нельзя
              Ответить
              • Были, не были - но анекдот же! "Давайте сделаем, чтобы вместо <?php писать <?, а то три кнопки лень нажать. Сделали. Очорт, теперь <?xml не катит. Лююююдиии, выводите <?xml через echo, слышите?! Хммм, глупо получилось, может, выключим тогда?.. Блин, а народ уже скрипты под <? пишет, вот отстой. Ладно, напишем в доке, что это депрекейтед, но <?xml чтобы всё равно через echo выводили." Руки девать некуда, ёпта.
                Ответить
            • register_globals тоже само по себе не так уж плохо, плохо что эти глобалсы никто не проверяет на валидность и инициализированность. То есть, никакой разницы в двух кусках:
              <?php //register_globals=On
              echo($p);

              и
              <?php //register_globals=Off
              echo($_REQUEST['p']);


              только в первом куске запись короче
              Ответить
            • а вот волшебные кавычки откровенно глупость, поскольку портит входные данные там, где это не надо. Epic fail дополнен тем, что они могут быть включены или выключены, в результате один и тот же скрипт может работать или не работать как надо.
              Лучше бы в пхп были встроены prepared statements
              Ответить
    • $menu="$menu";

      ну ок, чо
      Ответить

    Добавить комментарий