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

    +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
    /**
     * Метод проверяет и правит корректность символов кодировки
     * @param іекштп $str Проверяемая строка
     * @param string $charset Кодировка строки
     * @return string
     */
    public function fixCharset($str, $charset = 'utf-8'){
        $return = '';
        // Проверяем строку на корректность, если нет, дробим на два и проверяем первую часть,
        // и т.д. проверяем первую часть от части, пока не найдём корректную или не останется 1 символ
        // который отбрасываем
        while(($len = strlen($str)) > 0){
            while(($iconv = @iconv($charset,
                    (strtolower($charset) == "utf-8" ? "cp1251" : "utf-8"),
                    substr($str,0,$len))) === false){
    
                if($len == 1){
                    break;
                }
                $len = ceil($len / 2);
            }
    
            if($iconv){
                $return .= substr($str,0,$len);
            }
            $str = substr($str,$len);
        }
    
        return $return;
    }

    Человек знал про iconv //IGNORE и все равно такое сотворил.

    Ant, 25 Ноября 2015

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

    +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
    $d = getdate();
    $formatMon = '';
    if ($d['mon'] < 10) {
    	$formatMon = '0';
    }
    
    $formatMday = '';
    if ($d['mday'] < 10) {
    	$formatMday = '0';
    }
    
    $formatHour = '';
    if ($d['hours'] < 10) {
    	$formatHour = '0';
    }
    
    $formatMinutes = '';
    if ($d['minutes'] < 10) {
    	$formatMinutes = '0';
    }
    
    $formatSeconds = '';
    if ($d['seconds'] < 10) {
    	$formatSeconds = '0';
    }
    
    $today = $formatMday . $d['mday'] . '.' . $formatMon . $d['mon'] . '.' . $d['year'] . ' ' . $formatHour . $d['hours'] . ':' . $formatMinutes . $d['minutes'] . ':' . $formatSeconds . $d['seconds'];

    Форматирование датывремени

    foreign, 25 Ноября 2015

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

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function checkRus($str)
    {
    	$result = true;
    	$eng = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
    	for ($i = 0; $i < strlen($str); $i++) {
    		if (in_array($str[$i], $eng)) {
    			$result = false;
    			break;
    		}
    	}
    	return $result;
    }

    Проверка на "русскость" строки

    foreign, 25 Ноября 2015

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

    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
    <title>Обработчик</title>
    <?php     
    
    include ("blocks/bd.php");
        if (isset($_POST['name'])) { $name = $_POST['name']; if ($name == '') { unset($name);} }
        if (isset($_POST['dolzhnost'])) { $dolzhnost = $_POST['dolzhnost']; if ($dolzhnost == '') { unset($dolzhnost);} }
        if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} }
        if (isset($_POST['website'])) { $website = $_POST['website']; if ($website == '') { unset($website);} }
        if (isset($_POST['stazh'])) { $stazh = $_POST['stazh']; if ($stazh == '') { unset($stazh);} }
        if (isset($_POST['obrazovanie'])) { $obrazovanie = $_POST['obrazovanie']; if ($obrazovanie == '') { unset($obrazovanie);} }
        if (isset($_POST['kategoria'])) { $kategoria = $_POST['kategoria']; if ($kategoria == '') { unset($kategoria);} }
        if (isset($_POST['cat'])) { $cat = $_POST['cat']; if ($cat == '') { unset($cat);} }
    	if (isset($_POST['id']))        {$id = $_POST['id'];}
    
    if (isset($name) && isset($dolzhnost) && isset($email) && isset($website) && isset($stazh) && isset($obrazovanie) && isset($kategoria) && isset($cat))
    {
    $result = mysql_query ("UPDATE personal SET name='$name', dolzhnost='$dolzhnost', email='$email', website='$website', stazh='$stazh', obrazovanie='$obrazovanie', kategoria='$kategoria', cat='$cat' WHERE id='$id'");
    
    if ($result == 'true') {echo ("<p>Успешно изменено! <a href='edit_personal.php'>Назад...</a></p>");} 
    
    
    else {
      echo ("<p>Не изменено!</p>");} 
    }
    else
    {
     echo ("<p>Вы заполнили не все поля! </p>");			
    }
    
    	?>

    Адепты пРуссакова(Жопов number 2) http://vk.com/sitemyrusakov?w=wall-25691304_1204%2Fall

    Keeper, 24 Ноября 2015

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

    +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
    <?php
            $gudir = opendir("../text/$book");
            $guarray = Array();
            while(false != ($gufile = readdir($gudir)))
            {
                    if(strstr($gufile, "gu@"))
                    {
                            $guarray[count($guarray)] = $gufile;
                    }
            }
            closedir($gudir);
            if(count($guarray))
            {
                    rsort($guarray);
                    foreach($guarray as $gucomment)
                    {
                            /*Здесь движок отображения комментариев*/
                            include "../text/$book/$gucomment";
                    }
            }
    ?>

    Я не знаю, что делает этот код. Никаких файлов с символами gu@ в каталогах не осталось. Лет 8 назад с другом книгу писали, решили замутить сайт. Ту книгу мы потом посчитали фигней и забросили. Про БД я тогда и не подозревал. Все хранилось в таких файлах:

    chapter#prae#prae#Предисловие#previous#0 #0#next#1#1
    chapter#1#1#Глава 1.1#previous#prae#prae#next#1#2
    chapter#1#2#Глава 1.2#previous#1#1#next#0#0

    kgm-rj, 23 Ноября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function calculateSum($products) {
            $sum = 0.0;
            array_map(function($product) use (&$sum)
            {
                    $sum += $product->hasSale() ? $product->getPriceWithSale() : $product->getPrice();
            }, $products);
            return $sum;
    }

    Человек начитался, что функциональщина это модно, но вот про её основу, immutable states, он не слышал. В общем, человек открыл для себя ещё foreach.

    Strannik1941, 23 Ноября 2015

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

    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
    $routeAnalyze = new TaxiRouteAnalyzerLite();
    $options = array(
    	'fromLat'     => $fromLat,
    	'fromLon'     => $fromLon,
    	'toLat'       => $toLat,
    	'toLon'       => $toLon,
    	'cityPolygon' => $this->cityPolygon,
    	'costPos'     =>$costPos,
    	'costPosOut'  => $costPosOut,
    	'costKm'      => $costKm,
    	'costKmOut'   => $costKmOut,
    	'includedKm'  => $includedKm,
    	'meas'        => 'distance',
    	'costKmOutIn' => $costKmOutIn,
    );
    $this->writeLog('options', $options);
    $cost = $routeAnalyze->calcCost($fromLat, $fromLon, $toLat, $toLon, $this->cityPolygon, $costPos, $costPosOut, $costKm, $costKmOut, $includedKm, 'distance', $costKmOutIn);
    $this->writeLog('cost', $cost);
    return $cost;

    Неужели нужно создавать отдельно переменную чтобы вывести в лог, а при этом метод должен быть таким громоздким?!

    akanit, 23 Ноября 2015

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

    +7

    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
    $a=$_POST['a'];
    $b=$_POST['b'];
    $c=$_POST['c'];
    if $_POST['a']*x*2+$_POST['b']*x+$_POST['c']
    {
    else $y=$_POST['b']*2-4*$_POST['a']*$_POST['c'];
    nl2br('</n>')
    echo $y;
    $k1=$_POST['b']+$y/2*$_POST['a'];
    nl2br('</n>')
    echo $k1;
    $k2=$_POST['b']-$y/2*$_POST['a'];
    nl2br('</n>')
    echo $k2;
    
    }
    echo $k1;
    echo $k2;
    ?>

    http://www.cyberforum.ru/php/thread1589333.html

    wiox, 22 Ноября 2015

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

    +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
    $dbh = new PDO("mysql:host=$this->dbHost;dbname=$this->dbName", $this->dbUser, $this->dbPassword);
            $dbh->exec("set names utf8");
    
            $street = $streetPart.'%';
            if (isset($arChooseCity[$cityIndex])) {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_az LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_en LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            else {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            $condition_type = " AND type = 'geo_object'";
            $condition_street = " AND type = 'street'";
    
            $query_street = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_street GROUP BY street_{$lang}, city_{$lang} ORDER BY weight DESC LIMIT 0, {$maxLimit}");
            $query_type = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_type LIMIT 0, {$maxLimit}");
    
            $query_street->execute();
            $query_type->execute();

    match - against никому не нужен! пользуйся только like.

    akanit, 18 Ноября 2015

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

    +3

    1. 1
    2. 2
    $xml = simplexml_load_string($Result);
    $xml_array = unserialize(serialize(json_decode(json_encode((array) $xml), 1)));

    Ребята, объясните, что это?!

    bot, 18 Ноября 2015

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