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

    +3

    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
    if('sqlite' == get($conf, 'db', 'type')){
    	if(($admin_usr = get($_POST, "admin_usr")) && ($admin_pass = get($_POST, "admin_pass"))){
    		if($users = fk("{$conf['db']['prefix']}users", $w = array("name"=>$admin_usr, "pass"=>mphash($admin_usr, $admin_pass)), $w += array("type_id"=>1), $w)){
    			if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'user_grp'). "]")){
    				if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    					if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'admin_grp'). "]")){
    						if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    							if($settings = fk("{$conf['db']['prefix']}settings", $w = array("name"=>"admin_usr"), $w += array("modpath"=>"users", "aid"=>5, "value"=>$users['name'], "description"=>"Корень"), $w)){
    								qw($sql = "UPDATE {$conf['db']['prefix']}sess SET uid=". $users['id']. " WHERE id=". get($conf, 'user', 'sess', 'id'));
    								exit(header("Location: /admin"));
    							}else{ pre("Ошибка установки администратора сайта"); }
    						}else{ pre("Ошибка добавления пользователя в группу администраторов"); }
    					}else{ pre("Ошибка добавления группы администраторов"); }
    				}else{ pre("Ошибка добавления пользователя в группу пользователи"); }
    			}else{ pre("Ошибка добавления группы пользователей"); }
    		}else{ pre("Ошибка добавления администратора"); }
    	}else if(get($conf, 'settings', 'admin_usr')){ pre("База данных 'sqlite' корень сутановлен"); }else{
    		$form = <<<EOF
    			<div>
    				<form method="post" style="padding:150px; text-align:center;">
    					<p><input type="text" name="admin_usr" placeholder="Имя администратора"></p>
    					<p><input type="password" name="admin_pass" placeholder="Пароль администратора"></p>
    					<p><button>Установить</button></p>
    				</form>
    			</div>
    EOF;
    		exit($form);
    	}
    }

    установка жираф cms. Ужасы внутри phar-архива
    https://github.com/mpak2/mpak.su

    loki90, 10 Июня 2016

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

    +2

    1. 1
    2. 2
    ХабраКал
    //// https://habrahabr.ru/post/279029/

    Пыхомакака изобрела орм из 2007

    govnokoderphp, 10 Июня 2016

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

    +3

    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
    /**
    	* Gibt ein Array mit den Fehlermeldungen zurück
    	*
    	* @todo Test
    	* @param void
    	* @return bool|array True = Keine Fehler, Array = Fehler-Array
    	* @access public
    	* @since version 4.0
    	*/
    public function get_meldung()
    	{
    		if($fehler_meldung == null)
    		{
    			return true;
    		}
    		else
    		{
    			for($errori=0;$fehleri<count($this->fehler_meldung);$fehleri++)
    			{
    				echo $this->fehler_meldung[$fehleri]."<br>\n";
    			}	
    			return false;
    		}
    	}

    Ещё немного немецкого говнокода.
    По описанию ЭТО возвращает true когда ошибок нет или array с ошибками.

    kropotor, 09 Июня 2016

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

    +5

    1. 1
    2. 2
    3. 3
    if ($this->_session->isLoggedIn() && isset($jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']['before-form']['children'])) {
        // some code
    }

    Самая правильная проверка наличия элемента в DOM...

    Tim_Walker, 09 Июня 2016

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

    +3

    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
    function get_users(){
    	$limit = 5;
    	$offset = 0;// $limit * intval($_POST["offset"]);
    	$ids = mysql_escape_string($_POST['ids']);
    	$res = mysql_query("SELECT * from users where id not in ($ids) limit 6 offset $offset");
    	$i = 0;
    	if($res){
    		while ($user = mysql_fetch_object($res)) {
    			$i++;
    			if($i == 6){
    				$i = 5;
    				$more = 'yes';
    				continue;
    			}
    			$users['i' . $i] = $user;
    		}
    		$data = array("status" => "ok", "users" => $users, "count" => $i, 'more' => $more ? $more : "0");
    		echo json_encode($data, JSON_UNESCAPED_UNICODE);
    }

    Пагинация??? Давайте просто пришлём id тех, кого не нужно возвращать

    nikolawan, 09 Июня 2016

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

    +3

    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
    class TM
    {
        function TM()
        {
             $this->startBuffering();
             register_shutdown_function(array($this, 'endBuffering'));
        }
     
        public function startBuffering()
        {
            ob_start();
        }
     
        public function endBuffering()
        {
            if(ob_get_level() > 1)
            {
                $data = ob_get_contents();
                ob_end_clean();
                
                $this->insertBufferedContent($data);
                
                echo $data;
            }
        }
     
        function insertBufferedContent(&$data)
        {
            if(!empty($this->buffered))
            {
                foreach($this->buffered as $contentID => $contentData)
                {
                    $search[] = ' <!--'.$contentID.'--> ';
                }
     
                $data = str_replace($search, $this->buffered, $data);
            }
        }
     
        function showBuffered($contentID)
        {
            if(ob_get_level() > 1)
            {
                echo '<!--'.$contentID.'-->';
            }
        }
        
        function setBuffered($contentID, $data)
        {
            $this->buffered[$contentID] = $data;
        }
    }
    
    $tm = new TM();

    даже комментировать не хочется

    Взято отсюда:
    http://blog.kpitv.net/article/how-to-set-title/
    Автор:
    http://govnokod.ru/user/13961

    dead_star, 09 Июня 2016

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

    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
    {if 1}
        {if !empty($stickers)}
            <div class="sticker-box" style="width: 152px">
                {foreach $stickers as $sticker}
                    <span><em>{$sticker.value}</em><span><img src="/i/stickers/{$sticker.name}.png" /></span></span>
                {/foreach}
            </div>
        {/if}
        <a href="javascript:;" style="{if !empty($stickers)}top:-7px;{/if}position:relative;display: block; text-align: center;"><img src="{$i->icon[0].files.icon}" alt="{$i->icon[0].fields.title|default:$i->title}" height="{if !empty($stickers)}110{else}130{/if}" /></a>
    {else}
        <a href="javascript:;"><img src="/i/b.gif" style="background: url({$i->icon[0].files.icon}) 50% 50% no-repeat" alt="{$i->icon[0].fields.title|default:$i->title}" width="130" height="130" /></a>
    {/if}

    StTv, 09 Июня 2016

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

    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
    if($blog) {
    		$content = get_blog($db, $blog);
    		$content = $content[0];
    		$desc = $content[1];
    		$keyw = $content[2];
    	}
    	if(!$blog) {
    		$content = get_news($db, "SELECT * FROM `news` ORDER BY `id` DESC");
    		$desc = "Блог Neon Games";
    		$keyw = "Блог, Neon, Games, NeonGames, Игры, разработка игр, Разработка";
    	}
    	$content = parse_text($content);

    parse_text на уже готовом HTML

    UsernameAK, 08 Июня 2016

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

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    if($login=='')
    {
       global $APPLICATION;
       $APPLICATION->ThrowException('Имя входа должно быть заполнено.'); 
       return false;
    }
    
    // Получить последнее исключение можно методом 
    $APPLICATION->GetException()
    ?>

    Bitrix. Лучшие стандарты веб-разработки и новое ядро! Создатели логики try-catch-throw наверное перевернулись бы 100500 раз в гробу увидев такую "реализацию". Пруф как "нужно делать": https://dev.1c-bitrix.ru/api_help/main/reference/cmain/throwexception.php

    zenn1989, 08 Июня 2016

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

    +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
    <?php
    /*
    You can place here your functions and event handlers
    
    AddEventHandler("module", "EventName", "FunctionName");
    function FunctionName(params)
    {
            //code
    }
    */
    
    AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
    CModule::IncludeModule('cleantalk.antispam');
    
    function my_onBeforeResultAdd($WEB_FORM_ID, $arFields, $arrVALUES) {
     $ct_status = COption::GetOptionString('cleantalk.antispam', 'status', '0');
     if ($ct_status == 1) {
      global $APPLICATION;
      $aParams = array();
      $aParams['type'] = 'comment';
      $aParams['sender_email'] = isset($arrVALUES['email']) ? $arrVALUES['email'] : '';
      $aParams['sender_nickname'] = isset($arrVALUES['nickname']) ? $arrVALUES['nickname'] : '';
      $aParams['message_title'] = isset($arrVALUES['title']) ? $arrVALUES['title'] : '';
      $aParams['message_body'] = isset($arrVALUES['message']) ? $arrVALUES['message'] : '';
      $aResult = CleantalkAntispam::CheckAllBefore($aParams, FALSE);
      if (isset($aResult) && is_array($aResult)) {
       if ($aResult['errno'] == 0) {
        if ($aResult['allow'] == 1) {
            //Not spammer - just return;
            return;
        } else {
         if (preg_match('//u', $aResult['ct_result_comment'])) {
          $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/iu','',$aResult['ct_result_comment']);
          $err_str=preg_replace('/<[^<>]*>/iu', '', $err_str);
         } else {
          $err_str=preg_replace('/^[^\*]*?\*\*\*|\*\*\*[^\*]*?$/i','',$aResult['ct_result_comment']);
          $err_str=preg_replace('/<[^<>]*>/i', '', $err_str);
         }
         $APPLICATION->ThrowException($err_str);
         return false;
        }
       }
      }
     }
    }
    ?>

    Четкая конторка написала четкий антиспам-модуль для битрикса и показывает как его нужно использовать. Тут все в одном флаконе - от игнорирования всех стандартов PSR разом до иррациональной реализации ... Пост на хабре: https://habrahabr.ru/company/cleantalk/blog/302800/

    zenn1989, 08 Июня 2016

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