- 1
- 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"));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+156
$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"));
Вычисляем последний день месяца
+157
/**
* @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
+157
float floor ( float $value )
Возврашает ближайшее целое число, округляя value в меньшую сторону.
> float
> Возврашает ближайшее целое число
> Возвращаемое значение функции floor() по прежнему типа float потому что диапазон значений float обычно больше, чем у integer.
когда мне айдешка подсветила, что я в качестве ключа массива подставляю что-то не то, я начал прихуевать
http://php.net/manual/ru/function.floor.php
+166
$this->log->log($log);
+164
// КЛАСС: класс 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
+158
function StrToFloat($str) {
if (strstr($str, ',')) {
$i = explode(',', $str);
$str = implode('.', $i);
settype($str, 'float');
}
return $str;
}
+157
<?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
+159
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
+157
<?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;?>
+159
...
$personInfos = $query->getResult();
foreach ($personInfos as $personInfo) {
return $personInfo;
}
/* we lost our person */
return false;
Ребята-оутсорсеры насмешили наш отдел))