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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (in_array ($v["field_currency_out"]["und"][0]["tid"], array(20, 21, 26, 27,153,157,154,152,155,162)) || in_array ($v["field_currency_in"]["und"][0]["tid"], array(22, 23, 24, 25,151,156,150,149,148,161))) {
        $v["field_payment"]["und"][0]["tid"] = 28;
    } else {
        $v["field_payment"]["und"][0]["tid"]= 13;
    }

    Представте что весь сайт написан в этом же духе.
    Причем мы имеем дело с двома наборами констант для обозначения валют - для входа и выхода перевода.

    kissarat, 10 Февраля 2015

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

    +156

    1. 1
    2. 2
    $dateStart = "2015-01-01";
    $dateEnd = date("Y-m-d", strtotime(date("Y-m-01", strtotime(date("Y-m-d", strtotime("+1 month", strtotime($dateStart))))) . " -1 day"));

    Вычисляем последний день месяца

    chumoleg, 10 Февраля 2015

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

    +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
    /**
    	 * @return DevblocksSearchField[]
    	 */
    	static function getFields() {
    		$translate = DevblocksPlatform::getTranslationService();
    		
    		$columns = array(
    			SearchFields_Ticket::TICKET_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_ID, 't', 'id', $translate->_('common.id'), Model_CustomField::TYPE_NUMBER),
    			SearchFields_Ticket::TICKET_MASK => new DevblocksSearchField(SearchFields_Ticket::TICKET_MASK, 't', 'mask', $translate->_('ticket.mask'), Model_CustomField::TYPE_SINGLE_LINE),
    			SearchFields_Ticket::TICKET_SUBJECT => new DevblocksSearchField(SearchFields_Ticket::TICKET_SUBJECT, 't', 'subject', $translate->_('ticket.subject'), Model_CustomField::TYPE_SINGLE_LINE),
    			
    			SearchFields_Ticket::TICKET_FIRST_MESSAGE_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_MESSAGE_ID, 't', 'first_message_id'),
    			SearchFields_Ticket::TICKET_FIRST_OUTGOING_MESSAGE_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_OUTGOING_MESSAGE_ID, 't', 'first_outgoing_message_id'),
    			SearchFields_Ticket::TICKET_LAST_MESSAGE_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_LAST_MESSAGE_ID, 't', 'last_message_id'),
    			
    			SearchFields_Ticket::TICKET_FIRST_WROTE_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE_ID, 't', 'first_wrote_address_id'),
    			SearchFields_Ticket::TICKET_FIRST_WROTE => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE, 'a1', 'email',$translate->_('ticket.first_wrote'), Model_CustomField::TYPE_SINGLE_LINE),
    			SearchFields_Ticket::TICKET_FIRST_WROTE_FIRST_NAME => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE_FIRST_NAME, 'a1', 'first_name', $translate->_('ticket.first_wrote') . ' First Name'),
    			SearchFields_Ticket::TICKET_FIRST_WROTE_LAST_NAME => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE_LAST_NAME, 'a1', 'last_name', $translate->_('ticket.first_wrote') . ' Last Name'),
    			SearchFields_Ticket::TICKET_FIRST_WROTE_SPAM => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE_SPAM, 'a1', 'num_spam',$translate->_('address.num_spam'), Model_CustomField::TYPE_NUMBER),
    			SearchFields_Ticket::TICKET_FIRST_WROTE_NONSPAM => new DevblocksSearchField(SearchFields_Ticket::TICKET_FIRST_WROTE_NONSPAM, 'a1', 'num_nonspam',$translate->_('address.num_nonspam'), Model_CustomField::TYPE_NUMBER),
    				
    			SearchFields_Ticket::TICKET_LAST_WROTE_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_LAST_WROTE_ID, 't', 'last_wrote_address_id'),
    			SearchFields_Ticket::TICKET_LAST_WROTE => new DevblocksSearchField(SearchFields_Ticket::TICKET_LAST_WROTE, 'a2', 'email',$translate->_('ticket.last_wrote'), Model_CustomField::TYPE_SINGLE_LINE),
    			SearchFields_Ticket::TICKET_LAST_WROTE_FIRST_NAME => new DevblocksSearchField(SearchFields_Ticket::TICKET_LAST_WROTE_FIRST_NAME, 'a2', 'first_name', $translate->_('ticket.last_wrote') . ' First Name'),
    			SearchFields_Ticket::TICKET_LAST_WROTE_LAST_NAME => new DevblocksSearchField(SearchFields_Ticket::TICKET_LAST_WROTE_LAST_NAME, 'a2', 'last_name', $translate->_('ticket.last_wrote') . ' Last Name'),
    				
    			SearchFields_Ticket::ORG_NAME => new DevblocksSearchField(SearchFields_Ticket::ORG_NAME, 'o', 'name', $translate->_('contact_org.name'), Model_CustomField::TYPE_SINGLE_LINE),
    			SearchFields_Ticket::REQUESTER_ADDRESS => new DevblocksSearchField(SearchFields_Ticket::REQUESTER_ADDRESS, 'ra', 'email',$translate->_('ticket.requester'), Model_CustomField::TYPE_SINGLE_LINE),
    			
    			SearchFields_Ticket::TICKET_ORG_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_ORG_ID, 't','org_id',$translate->_('contact_org.id')),
    			SearchFields_Ticket::TICKET_OWNER_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_OWNER_ID,'t','owner_id',$translate->_('common.owner'), Model_CustomField::TYPE_WORKER),
    			SearchFields_Ticket::TICKET_GROUP_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_GROUP_ID,'t','group_id',$translate->_('common.group')),
    			SearchFields_Ticket::TICKET_BUCKET_ID => new DevblocksSearchField(SearchFields_Ticket::TICKET_BUCKET_ID, 't', 'bucket_id',$translate->_('common.bucket')),
    			SearchFields_Ticket::TICKET_CREATED_DATE => new DevblocksSearchField(SearchFields_Ticket::TICKET_CREATED_DATE, 't', 'created_date',$translate->_('common.created'), Model_CustomField::TYPE_DATE),
    			SearchFields_Ticket::TICKET_UPDATED_DATE => new DevblocksSearchField(SearchFields_Ticket::TICKET_UPDATED_DATE, 't', 'updated_date',$translate->_('common.updated'), Model_CustomField::TYPE_DATE),
    			SearchFields_Ticket::TICKET_CLOSED_AT => new DevblocksSearchField(SearchFields_Ticket::TICKET_CLOSED_AT, 't', 'closed_at',$translate->_('ticket.closed_at'), Model_CustomField::TYPE_DATE),
    			SearchFields_Ticket::TICKET_WAITING => new DevblocksSearchField(SearchFields_Ticket::TICKET_WAITING, 't', 'is_waiting',$translate->_('status.waiting'), Model_CustomField::TYPE_CHECKBOX),
    			SearchFields_Ticket::TICKET_CLOSED => new DevblocksSearchField(SearchFields_Ticket::TICKET_CLOSED, 't', 'is_closed',$translate->_('status.closed'), Model_CustomField::TYPE_CHECKBOX),
    			SearchFields_Ticket::TICKET_DELETED => new DevblocksSearchField(SearchFields_Ticket::TICKET_DELETED, 't', 'is_deleted',$translate->_('status.deleted'), Model_CustomField::TYPE_CHECKBOX),

    https://github.com/jstanden/cerb6/blob/6.9.1/features/cerberusweb.core/api/dao/ticket.php#L1979

    lav45, 10 Февраля 2015

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

    +157

    1. 1
    2. 2
    float floor ( float $value )
    Возврашает ближайшее целое число, округляя value в меньшую сторону.

    > float
    > Возврашает ближайшее целое число
    > Возвращаемое значение функции floor() по прежнему типа float потому что диапазон значений float обычно больше, чем у integer.

    когда мне айдешка подсветила, что я в качестве ключа массива подставляю что-то не то, я начал прихуевать

    http://php.net/manual/ru/function.floor.php

    Fike, 10 Февраля 2015

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

    +166

    1. 1
    $this->log->log($log);

    DIX315, 09 Февраля 2015

    Комментарии (7)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)