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

    +164

    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
    // КЛАСС: класс 1
    class clsClass1 {
    	public function Test1() {
    		echo('Вызов из объекта clsClass2');
    	}
    }
    // КЛАСС: класс 2
    class clsClass2 {
    	public function Test2() {
    		objClass1()->Test1();
    	}
    }
    
    // ФУНКЦИЯ: возвращает объект
    function objClass1() {
    	// объявление глобальной переменой
    	global $objClass1;
    	// создание объекта
    	if (!isset($objClass1)) $objClass1 = new clsClass1();
    	// сохранение результата
    	return $objClass1;
    }
    
    // создание объекта класса 2
    $objClass2 = new clsClass2;
    
    // вызываем метод Test2() класса 2
    $objClass2->Test2();

    Как вызвать из метода класса метод другого класса? Это же очевидно!
    1. Обмазаться глобальными переменными
    2. Навелосипедить недосирглтон
    3. ?????
    4. PROFIT!

    http://www.sql.ru/forum/1136133/kak-obratitsya-k-obektu-iz-funkcii-klassa

    Stallman, 09 Февраля 2015

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function StrToFloat($str) {
        if (strstr($str, ',')) {
            $i = explode(',', $str);
            $str = implode('.', $i);
            settype($str, 'float');
        }
        return $str;
    }

    kissarat, 09 Февраля 2015

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

    +157

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    <?php
    
    // БИБЛИОТЕКА PHP: функции для работы с XML
    
    // ФУНКЦИЯ: установка значения
    //	&$strDoc	- текст документа
    //	$strField	- имя поля (в документе к именам полей нужно добавлять символ "1", например: Name1
    //	$strValue	- значение поля
    function DocXML_Value(&$strDoc, $strField, $strValue) {
    	// определение длины текста
    	if (!($intDoc = strlen($strDoc))) return;
    	// определение кода поля
    	$strCode = $strField."1";
    	// определение длины кода поля
    	if (!($intCode = strlen($strCode))) return;
    	// поиск поля
    	if (!($intPos = stripos($strDoc, $strCode))) return;
    	// преобразование значения в кодировку UTF-8
    	$strText = iconv("WINDOWS-1251", "UTF-8", $strValue);	
    	// определение результата
    	$strDoc = Left($strDoc, $intPos).$strText.Right($strDoc, $intDoc-$intPos-$intCode);
    }
    
    // ФУНКЦИЯ: получение текста таблицы
    //	&$strDoc	- исходный документ
    //	$strField	- имя поля (в документе к именам полей нужно добавлять символ "1", например: Name1
    function DocXML_Table(&$strDoc, $strField) {
    	// определение длины текста
    	if (!($intDoc = strlen($strDoc))) return '';
    	// определение кода поля
    	$strCode = ">".$strField."1<";
    	// определение длины кода поля
    	if (!($intCode = strlen($strCode))) return '';
    	// поиск поля
    	if (!($intPos = stripos($strDoc, $strCode))) return '';
    	// поиск тега <w:tbl> до поля
    	if (!($intBegin = strripos(Left($strDoc, $intPos),'<w:tbl>'))) return '';
    	// поиск тега </w:tbl> после поля
    	if (!($intEnd = stripos($strDoc, '</w:tbl>', $intPos))) return '';
    	// определение результата
    	$strRes = Left(Right($strDoc,$intDoc-$intBegin),$intEnd-$intBegin+strlen('</w:tbl>'));
    	// определение результата
    	return $strRes;
    }
    
    // ФУНКЦИЯ: получение текста шаблона строки
    //	&$strTable	- текст таблицы
    //	$strField	- имя поля (в документе к именам полей нужно добавлять символ "1", например: Name1
    function DocXML_Row(&$strTable, $strField) {
    	// определение длины текста
    	if (!($intTable = strlen($strTable))) return '';
    	// определение кода поля 
    	$strCode = ">".$strField."1<";
    	// определение длины кода поля
    	if (!($intCode = strlen($strCode))) return '';
    	// поиск поля
    	if (!($intPos = stripos($strTable, $strCode))) return '';
    	// поиск тега <w:tr> до поля
    	if (!($intBegin = strripos(Left($strTable, $intPos),'<w:tr>'))) return '';
    	// поиск тега </w:tr> после поля
    	if (!($intEnd = stripos($strTable, '</w:tr>', $intPos))) return '';
    	// определение результата
    	return Left(Right($strTable,$intTable-$intBegin),$intEnd-$intBegin+strlen('</w:tr>'));
    }
    
    // ФУНКЦИЯ: замена строки в таблице
    //	&$strTable	- текст таблицы
    //	$strField	- имя поля (в документе к именам полей нужно добавлять символ "1", например: Name1
    //	$strRow	- текст строки
    function DocXML_RowSet(&$strTable, $strField, $strRow) {
    	// определение длины текста
    	if (!($intTable = strlen($strTable))) return;
    	// определение кода поля
    	$strCode = ">".$strField."1<";
    	// определение длины кода поля
    	if (!($intCode = strlen($strCode))) return;
    	// поиск поля
    	if (!($intPos = stripos($strTable, $strCode))) return;
    	// поиск тега <w:tr> до поля
    	if (!($intBegin = strripos(Left($strTable, $intPos),'<w:tr>'))) return;
    	// поиск тега </w:tr> после поля
    	if (!($intEnd = stripos($strTable, '</w:tr>', $intPos))) return;
    	// определение результата
    	$strTable = Left($strTable, $intBegin).Right($strTable, $intTable-$intEnd-strlen('</w:tr>'));
    }
    
    // ФУНКЦИЯ: добавление строки в таблицу
    //	&$strTable	- текст таблицы
    //	$strRow	- текст строки
    function DocXML_RowAdd(&$strTable, $strRow) {
    	// определение длины текста
    	if (!($intTable = strlen($strTable))) return;
    	// определение результата
    	$strTable = Left($strTable, $intTable-strlen('</w:tbl>')).$strRow.'</w:tbl>';
    }

    Взято с SQL.ru http://www.sql.ru/forum/1141421/pomogite-prochitat-xml

    QBatman, 08 Февраля 2015

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function resort($a){
        $res=mysql_query("select * from image where id_gal='".$a."' order by position");
        for ($q=array(); $w=mysql_fetch_assoc($res); $q[]=$w);
        for ($i=0; $i<count($q); $i++){mysql_query("delete from image where id='".$q[$i]['id']."'");}
        for ($i=0; $i<count($q); $i++){
        static $e=1;
            $res="INSERT INTO `image` ( `id` , `id_gal` , `user_id`, `file` , `podp` , `position`, `status` )
                    VALUES ('".$q[$i]['id']."', '".$q[$i]['id_gal']."', '".$q[$i]['user_id']."', '".$q[$i]['file']."', '".$q[$i]['podp']."', '".($e++)."', '".$q[$i]['status']."')";
            mysql_query($res);
        }
    }

    Сортируем фото после удаления одного из них. Зачем то нужен непрерывный position

    stechkh, 07 Февраля 2015

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

    +157

    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
    <?if ($_SERVER['REQUEST_URI'] == "/zakazat-semena"):?>
    <?
        $cont = str_replace("asd", "asdqwe", $content);
        echo $cont;
    ?>
    <?elseif($_SERVER['REQUEST_URI'] == "/map"): ?>
    <?
    	$cont = str_replace('qwe', 'qweiop', $content);
    	echo $cont;
    ?>
    <?else:?>
    	{content}
    <?endif;?>

    deathburger777, 06 Февраля 2015

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ...
    $personInfos = $query->getResult();
    foreach ($personInfos as $personInfo) {
        return $personInfo;
    }
    /* we lost our person */
    return false;

    Ребята-оутсорсеры насмешили наш отдел))

    zinovyev, 06 Февраля 2015

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $var = null;
    
    // Не вызовет: "Notice: Undefined Index 0"
    var_dump($var[0][1][2][3]['route']); // NULL

    PHP не показывает Notic'ы если переменная или значение является NULL'ом при попытки получить доступ к элементам массива (заметил это когда функция могла возвратить null или массив). Нашел это интересным.

    volter9, 05 Февраля 2015

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

    +154

    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
    public static function ShowClaimsByManager($manager_id,$status,$offset_limit,$rows_limit){
            $DBH = Registry::get('DBH');
            $STH = $DBH ->prepare(
                "SELECT * FROM claims,claims_status
                 WHERE claims.manager_id = :manager_id
                 AND claims.id = claims_status.claim_id
                 AND claims_status.status = :statusc
                 LIMIT :offsetl, :rowsl" );
            $STH->bindParam(':manager_id', $manager_id, PDO::PARAM_STR);
            $STH->bindParam(':statusc', $status, PDO::PARAM_STR);
            $STH->bindParam(':offsetl', $offset_limit, PDO::PARAM_INT);
            $STH->bindParam(':rowsl', $rows_limit, PDO::PARAM_INT);
            $STH->execute();
            $result = $STH->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        }

    Парень явно любит ctrl+c и ctrl+v
    про $STH->execute($data); не не слышал.

    werdan, 04 Февраля 2015

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php // if you delete this the sky will fall on your head
    endwhile; //endwhile have_posts()
    else: //have_posts()
    ?>
    <p>Sorry, no posts matched your criteria.</p>
    <?php endif; ?>
    <!-- // this is just the end of the motor - don't touch that line either :) -->

    ...мм, Ок!

    elvis, 04 Февраля 2015

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    	/* ... */
    } catch (\Exception $e) {
    	@trigger_error($e->getMessage(), E_USER_WARNING);
    }

    ini_set('tsundere_mode', '1');

    Stallman, 04 Февраля 2015

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