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

    +53

    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
    protected function CreateClass($className, $params) {
    		switch (count($params)) {
    			case 0:
    				return new $className();
    				break;
    			case 1:
    				return new $className($params[0]);
    				break;
    			case 2:
    				return new $className($params[0], $params[1]);
    				break;
    			case 3:
    				return new $className($params[0], $params[1], $params[2]);
    				break;
    			case 4:
    				return new $className($params[0], $params[1], $params[2], $params[3]);
    				break;
    			case 5:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4]);
    				break;
    			case 6:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5]);
    				break;
    			case 7:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6]);
    				break;
    			case 8:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7]);
    				break;
    			case 9:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8]);
    				break;
    			case 10:
    				return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8], $params[9]);
    				break;
    			default:
    				echo "Too many arguments";
    				return null;
    				break;
    		}
    }

    Продолжение одного нашумевшего блокбастера: Радж и "шоколадная" фабрика.
    Исходники взяты из компонента JEvents для Joomla. Файл из папки "icalevent". Думаю что стоит сделать акцент на iCAL, есть в этом что-то особенное.

    SunnyMagadan, 24 Октября 2012

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

    +59

    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
    "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
    "IBLOCK_ID" => $arParams["IBLOCK_ID"],
    "ELEMENT_SORT_FIELD" => $arParams["ELEMENT_SORT_FIELD"],
    "ELEMENT_SORT_ORDER" => $arParams["ELEMENT_SORT_ORDER"],
    "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"],
    "META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"],
    "META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"],
    "BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"],
    "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"],
    "BASKET_URL" => $arParams["BASKET_URL"],
    "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
    "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
    "SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
    "FILTER_NAME" => $arParams["FILTER_NAME"],
    "DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"],
    "CACHE_TYPE" => $arParams["CACHE_TYPE"],
    "CACHE_TIME" => $arParams["CACHE_TIME"],
    "CACHE_FILTER" => $arParams["CACHE_FILTER"],
    "CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
    "SET_TITLE" => $arParams["SET_TITLE"],
    "SET_STATUS_404" => $arParams["SET_STATUS_404"],
    "DISPLAY_COMPARE" => $arParams["USE_COMPARE"],
    "PAGE_ELEMENT_COUNT" => $arParams["PAGE_ELEMENT_COUNT"],
    "LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"],
    "PRICE_CODE" => $arParams["PRICE_CODE"],
    "USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
    "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],

    Очень ценные данные. Сразу как-то подозрительно, когда видишь в cms такое. Ну это ж божественная суть битрикса...

    gorky, 22 Октября 2012

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

    +117

    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
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    class traffic {
            function traffic() {
                global $mosConfig_live_site;
    
                $remhost = @$_SERVER['REMOTE_HOST'];
                if (strpos($remhost,".") != false) { $remhost = strtok($remhost,"."); }
                $remhost = strtoupper($remhost);
    
                $mb = @$_COOKIE['mb'];
                //if ($mb ==  -1 || $mb ==  0) { return; }
                if (isset($mb)) {
                    if ($mb < 300) { $colormb = "green"; }
                else { $colormb = "red"; }
                    $t =<<<TXT
                     <center><b> 
                    <font size="4" style="line-height: 40px"><font color="$colormb"><p>eto prosto tak</p> $mb </font> </font> 
                    <br><font size="2" color="blue" style="line-height: 20px">$remhost</font></br></b></center>
                    <font color="brown" size="1" style="line-height: 8px">* -01:00</font> 
    TXT;
                    echo $t ;
                    echo @$_SERVER['HTTP_USER_AGENT'];
                    return;
                 }
                $headers = apache_request_headers(); //    
                if (!isset($headers['Authorization'])) {     //    
                  header('HTTP/1.0 401 Unauthorized');     //    
                  header('WWW-Authenticate: NTLM');      //    - NTLM
                  return; } //   
    
                //     
                if (substr($headers['Authorization'],0,5) == 'NTLM ') { // ,   NTLM-
                  $chain = base64_decode(substr($headers['Authorization'],5)); //   
                  switch (ord($chain{8})) { //     
                    case 3: //  5 -   type-3
                      foreach (array('LM_resp','NT_resp','domain','user','host') as $k=>$v) {
                        extract(unpack('vlength/voffset',substr($chain,$k*8+14,4)));
                        $val = substr($chain,$offset,$length);
                        //echo "$v: ".($k<2 ? hex_dump($val) : iconv('UTF-16LE','CP1251',$val))."<br>\r\n";
                        switch ($k) {
                             case 2:
                                $domain = iconv('UTF-16LE','CP1251',$val);
                              case 3:
                                  $username = iconv('UTF-16LE','CP1251',$val);
                              //case 4:
                              //    $hostname = iconv('UTF-16LE','CP1251',$val);
                              }
                      }
                      $sdlt = fopen("http://sdlt/sdlt.php?username=".$username."&domainname=".$domain."&key=4125896370","r");
                      $str = fscanf($sdlt,"%s");
                      fclose($sdlt);
                      list($mb) = $str;
                      if ($mb ==  -1) { return; }
                      setcookie("mb",$mb,time()+64800);
                      if ($mb < 300) { $colormb = "green"; }
                      else { $colormb = "red"; }
    $t =<<<TXT
                    <center><b> -<br>  :<br>
                    <font size="4" style="line-height: 40px"><font color="$colormb"><p>privet ilya!!!!!!!!!!!!!!!!!!!!!! </p> $mb </font><font color="brown">*</font></font><br>
                    <font style="line-height: 24px">  :</font><br>
                    <font size="1" color="blue" style="line-height: 20px">$remhost ($domain - $username)</font><br></b></center>
                    <font color="brown" size="1" style="line-height: 8px">* -  01:00</font>
    
    TXT;
                      echo $t;
                      
                      return;
                  case 1: //  3
                    //if (ord($chain{13}) == 0xB2 || ord($chain{13}) == 0x8201) { //   NTLM 0xb2   13   type-1:
                      $chain = "NTLMSSP\x00".// 
                                 "\x02" /*   */ ."\x00\x00\x00\x00\x00\x00\x00".
                                 "\x28\x00" /*    */ ."\x00\x00".
                                 "\x01\xB2" /*  */ ."\x00\x00".
                                 "\x00\x02\x02\x02\x00\x00\x00\x00". // nonce
                                 "\x00\x00\x00\x00\x00\x00\x00\x00";
                      header('HTTP/1.0 401 Unauthorized');
                      header('WWW-Authenticate: NTLM '.base64_encode($chain)); //   type-2
                      return;// }
                    }
                  }
                }
            }
        }
    
    $traffic=new traffic();

    безжалостный и беспощадный ООП в php

    Vasiliy, 22 Октября 2012

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

    +53

    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
    <?php
    $banners = array(
    /*
    	array(
    		'file' => '/files/images/domofony/domofon.swf',
    		'w' => 295,
    		'h' => 40,
    		//'url' => ''
    	),
    */
        array(
            'file' => '/files/banners/mega-sale.swf',
            'w' => 600,
            'h' => 90,
            'url' => 'http://podryad.tv/mega-sale.html'
        )
    
    );
    
    $banners = array();
    
    if(sizeof($banners)) {
    
    $b = $banners[array_rand($banners)];
    
    $b_html = "<div style='position:relative; text-align:center; width: {$b['w']}px; height: {$b['h']}px; margin: 0 auto 10px auto; padding-top: 10px;'>";
    if($b['url']) $b_html .= "
        <a href='{$b['url']}' target=_blank style='display:block; width: 100%; height: 100%; position: absolute; top:0; left:0; z-index:5; background: url(\"/images/px.png\") top left repeat transparent;'></a>";
    $b_html .= "
        <object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='{$b['w']}' height='{$b['h']}' align='middle'>
            <param name='allowScriptAccess' value='sameDomain' />
            <param name='allowFullScreen' value='false' />
            <param name='movie' value='{$b['file']}' />
            <param name='quality' value='high' />
            <param name='bgcolor' value='#ffffff' />
            <param name='wmode' value='opaque' />
            <embed src='{$b['file']}' quality='high' bgcolor='#ffffff' allowscriptaccess='sameDomain' allowfullscreen='false' wmode='opaque' width='{$b['w']}' height='{$b['h']}' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />
        </object>
    </div>";
    
    echo $b_html; unset($b_html);
    
    }
    unset($banners);
    ?>

    baner view. Уничтож меня, уничтож меня полностью...

    Razban_Guestov, 22 Октября 2012

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

    +42

    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($_GET['file'])) {
    	$dirname = 'download';
    	$file = (string) $_GET['file'];
    	$file = $dirname . DIRECTORY_SEPARATOR . trim($file);
    	if (is_file($file)) {
    		header('Content-Description: File Transfer');
    		header('Content-Type: application/octet-stream');
    		header('Content-Disposition: attachment; filename=' . basename($file));
    		header('Content-Transfer-Encoding: binary');
    		header('Expires: 0');
    		header('Cache-Control: must-revalidate');
    		header('Pragma: public');
    		header('Content-Length: ' . filesize($file));
    		ob_clean();
    		flush();
    		readfile($file);
    		exit();
    	}
    }

    вопрос:
    Нужно чтобы при клике по ссылке запускалось скачивание файла, но ссылка должна быть не прямая как site.ru/download/file1.rar
    - а вот такая: site.ru/download/1/

    ответ:
    создайте файл download.php и папку download для файлов.
    использовать так: localhost/download.php?file=01.jpg

    ahref, 20 Октября 2012

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

    +61

    1. 1
    'timestamp' => strval(date('U')),

    Русский аутсорс.

    grelkin, 19 Октября 2012

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

    +67

    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
    if( $proverka === true )
        $_SESSION['id'] = $user['id'];
    if( $proverka === true )
        $_SESSION['milo'] = $user['milo'];
    if( $proverka === true )
        $_SESSION['parol'] = $user['parol'];
    if( $proverka === true )
        $_SESSION['prava'] = $user['prava'];
    if( $proverka === false )
        echo 'Ввиденные вами данные неверны!';
    if( $proverka === false )
        $_SESSION['id'] = '';
    if( $proverka === false )
        $_SESSION['milo'] = '';
    if( $proverka === false )
        $_SESSION['parol'] = '';
    if( $proverka === false )
        $_SESSION['prava'] = '';

    0-0 //-0 //-\\

    Snickers, 19 Октября 2012

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

    +63

    1. 1
    Лех, разве код <?php  CREATE DATABASE tbl_name; ?> не должен создать БД?

    Пришло в аське

    kindofbear, 18 Октября 2012

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

    +62

    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
    // ==================================================================== //
    
        /**
         * Процедура установки плагина
         * @return bool
         */
        public function install(){
    
            return parent::install();
    
        }
    
    // ==================================================================== //
    
        /**
         * Процедура обновления плагина
         * @return bool
         */
        public function upgrade(){
    
            return parent::upgrade();
    
        }

    Если завтра война и автоматическое наследование методов отменят - мы не пропадём!

    InstantCMS v. 1.9

    telnet, 18 Октября 2012

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

    +49

    1. 1
    2. 2
    3. 3
    4. 4
    ob_start();
    require_once realpath('.').'/email-template.html';
    $messageWithEwlTrailer = ob_get_contents();
    ob_end_clean();

    no comments

    anycolor, 18 Октября 2012

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