1. Список говнокодов пользователя nik757

    Всего: 8

  2. JavaScript / Говнокод #20062

    0

    1. 1
    2. 2
    $.get( '/scripts/ajax/popup/add_to_favorite.php', { id: productID, ajax_call: 'Y' }, function ( data ) {
                        data = JSON.parse( data );

    $.getJSON
    http://www.sapato.ru/js/ajax/widgets/baseAjaxes.js?bust=208

    nik757, 23 Мая 2016

    Комментарии (3)
  3. JavaScript / Говнокод #20050

    0

    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
    // jquery required
    
    function trim(str){
    	return str.replace(/^\s+/, "").replace(/\s+$/, "");
    }
    
    function round1000(val){
    	return Math.round(parseInt(val)/1000)*1000;
    }
    function floor1000(val){
    	return Math.floor(parseInt(val)/1000)*1000;
    }
    function ceil1000(val){
    	return Math.ceil(parseInt(val)/1000)*1000;
    }
    
    function setCookie(c_name,value,expiredays){
    	var exdate=new Date();
    	exdate.setDate(exdate.getDate()+expiredays);
    	document.cookie=c_name+'='+escape(value)+((expiredays==null)?'':';expires='+exdate.toGMTString())+';path=/';
    }
    
    function resetCookie(c_name){
      var exdate=new Date(0);
    	document.cookie = c_name + '=0;expires=' + exdate.toUTCString() + ';path=/';
    }
    
    function getCookie(name){
    	var cookies=document.cookie.split(";");
    	for(var i=0;i<cookies.length;i++){
    		var params=cookies[i].split("=");
    		if(trim(params[0])==name){
    			return unescape(params[1]);
    		}
    	}
    	return false;
    }
    
    function asyncScriptLoader(scriptUrl){
    	var d=document,
    	h=d.getElementsByTagName('head')[0],
    	s=d.createElement('script');
    	s.type='text/javascript';
    	s.async=true;
    	s.src=scriptUrl;
    	h.appendChild(s);
    }

    http://www.morton.ru/images/js/main.js

    >> // jquery required
    >> function asyncScriptLoader(scriptUrl){

    nik757, 20 Мая 2016

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

    +1

    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
    <?php
      
      /*
        > 60 seconds - "s"
        > 60 minutes - "m"
        > 24 hours   - "h"
        > 30 days    - "d"
        < 30 days    - "5 sep 2010"
      */
      
      class Date {
        
        public static function DateAgo($DateTime) {
          
          $s = s; $m = m; $h = h; $d = d;
    
          $Now = date('Y-m-d H:i:s');
          $Now = time();
    
          $Year   = substr($DateTime, 0, 4);
          $Month  = substr($DateTime, 5, 2);
          $Day    = substr($DateTime, 8, 2);
          $Hour   = substr($DateTime, 11, 2);
          $Minute = substr($DateTime, 14, 2);
          $Second = substr($DateTime, 17, 2);
    
          $Time = mktime($Hour, $Minute, $Second, $Month, $Day, $Year);
          
          $Difference = $Now - $Time;
          
          if($Difference < 60) {
            $Ago = $Difference.$s;
          } elseif($Difference < (60 * 60)) {
            $Ago = floor($Difference / 60).$m;
          } elseif($Difference < (60 * 60 * 24)) {
            $Ago = floor($Difference / (60 * 60)).$h;
          } elseif($Difference < (60 * 60 * 24 * 30)) {
            $Ago = floor($Difference / (60 * 60 * 24)).$d;
          } else {
            $Ago = $Day.'.'.$Month.'.'.$Year;
          }
          
          return $Ago;      
        }
        
      } // End class
      
    ?>

    Забирайте целиком! Нашёл в CMS от http://fn85.ru/ охрененный класс для работы с датами!

    nik757, 18 Мая 2016

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

    0

    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
    Нам нужно больше запросов в БД!!!!111 строим дерево меню:
        private function Stack($PageCategory) {
          $Menu = NULL;
          $Q = 'SELECT * FROM '.$this->table.' WHERE pageCategory = '.$PageCategory.' ORDER BY pagePosition;';
          $Result = $this->Result($Q);
          while($Row = mysql_fetch_assoc($Result)) {
            $Row['pageChilds'] = $this->Stack($Row['pageID']);
            $Menu[$Row['pageID']] = $Row;
          }
          return $Menu;
        }
    
    AUTOINCREMENT PHP-way:
        private function CurrentID() {
          $Q = 'SELECT MAX(pageID) as maxID FROM '.$this->table.';';
          $Row = $this->Row($Q);
          return ++$Row['maxID'];
        }
    
    Так форматируем даты:
        private function FormatDate() {
          $Year = substr($this->publication['publicationDate'], 0, 4);
          $Month = substr($this->publication['publicationDate'], 5, 2);
          $Day = substr($this->publication['publicationDate'], 8, 2);
          return $Day.'.'.$Month.'.'.$Year;
        }
    
    Просто контроллер:) А чо?
    <?php
      
      class Slider extends DataBase {
        
        private $slides;
        
        public function GetSlides() {
          $Q = 'SELECT * FROM slide ORDER BY slidePosition;';
          $this->slides = $this->Rows($Q);
        }
        
        public function ViewSlides() {
          $Slides = '';
          if($this->slides) {
            foreach($this->slides as $SlideStack) {
              $Slides .= $this->ViewSlide($SlideStack);
            }
          }
          return $Slides;
        }
        
        private function ViewSlide($SlideStack) {
          $A = '<a href="'.$SlideStack['slideLink'].'">';
          $A .= '  <div class="BannerSlide">';
          $A .= '    <img src="'.I.'/slides/'.$SlideStack['slideImage'].'.jpg">';
          $A .= '    <div class="BannerSlideText">';
          $A .= '      <div class="BannerSlideTextInner">'.$SlideStack['slideName'].'<br>';
          $A .= '        <span>'.$SlideStack['slideText'].'</span>';
          $A .= '      </div>';
          $A .= '    </div>';
          $A .= '  </div>';
          $A .= '</a>';
          return $A;
        }
        
      } // End class
      
    ?>

    Окунулся в велосипедную CMS, на которой ваяет контора http://fn85.ru/

    nik757, 18 Мая 2016

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

    +2

    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
    function Show($aMenu, $level=0)
    	{
    		$scripts = '';
    
    		$bSubmenu = (isset($aMenu["items"]) && is_array($aMenu["items"]) && !empty($aMenu["items"])) || isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true;
    		$bSectionActive = isset($aMenu["items_id"]) && (in_array($aMenu["items_id"], array_keys($this->aActiveSections)) || $this->IsSectionActive($aMenu["items_id"]));
    
    		$icon = isset($aMenu["icon"]) && $aMenu["icon"] <> ""
    			? '<span class="adm-submenu-item-link-icon '.$aMenu["icon"].'"></span>'
    //			: ($level < 1 ? '<span class="adm-submenu-item-link-icon" id="default_menu_icon"></span>' : '');
    			: '';
    		$id = 'menu_item_'.RandString(10);
    		?><div class="adm-sub-submenu-block<?=$level > 0 ? ' adm-submenu-level-'.($level+1) : ''?><?=$bSectionActive && isset($aMenu["items"]) && is_array($aMenu["items"]) && count($aMenu['items']) > 0 ? ' adm-sub-submenu-open' : ''?><?=$aMenu["_active"] ? ' adm-submenu-item-active' : ''?>"><?
    		?><div class="adm-submenu-item-name<?=!$bSubmenu ? ' adm-submenu-no-children' : ''?>" id="<?=$id?>" data-type="submenu-item"<?=isset($aMenu['fav_id']) ? ' data-fav-id="'.intval($aMenu['fav_id']).'"' : ''?>><?
    		$onclick = '';
    		if ($bSubmenu)
    		{
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && (!$aMenu["items"] || count($aMenu["items"]) <= 0))
    			{
    				$onclick = "BX.adminMenu.toggleDynSection(".$this->_get_menu_item_width($level).", this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))."', '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			}
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0)
    			{
    				$onclick = "BX.adminMenu.toggleSection(this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			} //endif;
    		}
    
    		?><span class="adm-submenu-item-arrow"<?=$level > 0 ? ' style="width:'.$this->_get_menu_item_width($level).'px;"' : ''?><?=$onclick ? ' onclick="'.$onclick.'"' : ''?>><span class="adm-submenu-item-arrow-icon"></span></span><?
    
    		if(isset($aMenu["url"]) && $aMenu["url"] <> ""):
    			?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="<?=$aMenu["url"]?>"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    		elseif ($bSubmenu):
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && !$bSectionActive && (!$aMenu["items"] || count($aMenu["items"]) <= 0)):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleDynSection(<?=$this->_get_menu_item_width($level)?>, this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))?>', '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleSection(this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			else:
    				?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    			endif;
    		else:
    			?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    		endif;
    		?></div><?
    
    		if(($bSubmenu || (isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true)) && is_array($aMenu["items"]))
    		{
    			echo  "<div class=\"adm-sub-submenu-block-children\">";
    			foreach($aMenu["items"] as $submenu)
    			{
    				if($submenu)
    				{
    					$scripts .= $this->Show($submenu, $level+1);
    				}
    			}
    			echo "</div>";
    		}

    это между прочим метод класса CAdminPage административного интерфейса 1С Битрикс.
    Адская смесь всех вэб-технологий, от которой лопаются глаза!

    nik757, 20 Октября 2015

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

    +1

    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
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Новости");
    ob_start();
    
    $APPLICATION->IncludeComponent("bitrix:news", "news-lenta", array(
    	"IBLOCK_TYPE" => "press",
    	"IBLOCK_ID" => "12",
    # вырезано: просто вызывается компонент Битрикс "список новостей"
    );
    
    # веселье тут. Шах и мат, Битрикс!
    $html_code = ob_get_contents();
    ob_end_clean();
    $doc = new DOMDocument();
    
    $html_code = mb_convert_encoding('<meta charset="utf-8">'.$html_code, 'HTML-ENTITIES', "UTF-8");
    if($doc->loadHTML($html_code))
    {
    	$xpath = new DOMXpath($doc);
    }
    // Элемент
    $element_list = $xpath->query(".//descendant::div[@id='element']");
    if($element_list->length > 0)
    {?>
        <div class="container"><?
    	for($i=0;$i<$element_list->length;$i++)
    	{
    		echo $doc->saveHTML($element_list->item($i));
    	}
    	?></div><?}
    
    // Новости
    $blog_post_list = $xpath->query(".//descendant::div[@id='res']/div[@class='blog margin-bottom-40']");
    if($blog_post_list->length > 0)
    {
    	?><div class="container blog-full-width"><?
    	for($i=0;$i<$blog_post_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($blog_post_list->item($i));
    		
    	}
    	?></div><?
    }
    // Пагинатор
    $pagination_list = $xpath->query(".//descendant::ul[@class='pagination']");
    if($pagination_list->length > 0)
    {
    	?><div class="text-center"><?
    	for($i=0;$i<$pagination_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($pagination_list->item($i));
    		
    	}
    	?></div><?
    }
    ?>
    
     <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

    Шах и мат, Битрикс!

    nik757, 07 Сентября 2015

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

    −11

    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
    $soap_envelope = '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    					<s:Body>
    					  <Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    						<entity xmlns:a="http://schemas.microsoft.com/xrm/2011/Contracts">
    						  <a:Attributes xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
    							<a:KeyValuePairOfstringanyType>
    							  <b:key>subject</b:key>
    							  <b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">Заказ обратного звонка от '.$fio.' ::: '.$subject.'</b:value>
    							</a:KeyValuePairOfstringanyType>
    							<a:KeyValuePairOfstringanyType>
    							  <b:key>description</b:key>
    							  <b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$text.'</b:value>
    							</a:KeyValuePairOfstringanyType>
    							<a:KeyValuePairOfstringanyType>
    							  <b:key>phonenumber</b:key>
    							  <b:value i:type="c:string" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$phone.'</b:value>
    							</a:KeyValuePairOfstringanyType>
    							<a:KeyValuePairOfstringanyType>
    							  <b:key>scheduledend</b:key>
    							  <b:value i:type="c:dateTime" xmlns:c="http://www.w3.org/2001/XMLSchema">'.$dateStr.'</b:value>
    = вырезано =
    						  <a:EntityState i:nil="true" />
    						  <a:FormattedValues xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    						  <a:Id>00000000-0000-0000-0000-000000000000</a:Id>
    						  <a:LogicalName>phonecall</a:LogicalName>
    						  <a:RelatedEntities xmlns:b="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    						</entity>
    					  </Create>
    					</s:Body>
    				  </s:Envelope>';
    				$soap_action = 'http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Create';
    				$req_location = 'http://XXXXX/YYYYY/XRMServices/2011/Organization.svc/web';
    
    				$headers = array(
    					'Method: POST',
    					'Connection: Keep-Alive',
    					'User-Agent: PHP-SOAP-CURL',
    					'Content-Type: text/xml; charset=utf-8',
    					'SOAPAction: "'.$soap_action.'"'
    					);
    			  			  
    				$ch = curl_init();
    				curl_setopt($ch, CURLOPT_URL, $req_location);
    				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    				curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    				curl_setopt($ch, CURLOPT_POST, true );
    				curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
    				curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$password);
    				curl_setopt($ch, CURLOPT_POSTFIELDS, $soap_envelope);
    				$response = curl_exec($ch);
    				if($response !== false)

    От создателей "SOAP клиент своими руками"

    nik757, 07 Сентября 2015

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

    +1

    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
    <?php
    if(!isset($_GET['conn'])) { $conn = "yes";}
       else {$conn = $_GET['conn'];}
       if(!isset($_GET['kat'])) { $kat = $kateg[0];}
       else {$kat = $_GET['kat'];}
        if(!isset($_GET['start'])) $start = 0;
      else $start = $_GET['start'];
      if(isset($_GET['torgi_id'])) $torgi_id = $_GET['torgi_id']; 
     
      // Устанавливаем соединение с базой данныъ
      require_once("../config.php");
      // Формируем и выполянем SQL-запрос на удаление записи в таблице users 
      $query = "DELETE FROM torgi 
                WHERE torgi_id=".$_GET['torgi_id'];
      mysql_query($query);	
      $query = "DELETE FROM news 
                WHERE torgi_id=".$_GET['torgi_id'];
    			
      if(mysql_query($query))
      {
        // Осуществляем автоматический переход на страницу администрирования
        echo "<HTML><HEAD>
               <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?conn=$conn&kat=$kat&start=$start'>
              </HEAD>";
      }
      else puterror("Ошибка при обращении к таблице документов");
    ?>

    в целом весь проект состоит из одних Injection. На последок автор демонстриует оригинальный редирект.
    Проект очень известный и этот код до сих пор крутится в бою)

    nik757, 06 Сентября 2015

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