-
+149
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
$finalTimeNews = '';
$timeNews = strftime('%#d %B', strtotime($article->created));
if($language->language === 'ru')
{
$months_pattern = explode('|', 'Январь|Февраль|Март|Апрель|Май|Июнь|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь');
$months_grammar = explode('|', 'Января|Февраля|Марта|Апреля|Мая|Июня|Июля|Августа|Сентября|Октября|Ноября|Декабря');
for($i = 0; $i <= 11; $i++)
{
//$months_grammar[0];
}
$art_date = explode(' ', $timeNews);
for($i = 0; $i <= 11; $i++)
{
if($art_date[1] === $months_pattern[$i])
{
$finalTimeNews = $art_date[0] . ' ' . $months_grammar[$i];
break;
}
}
unset($months_pattern, $months_grammar, $art_date);
}
Новобраней постарался
Edd,
27 Августа 2013
-
+126
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
import Data.Char
import Data.List
digitRangeToRegex :: Integer -> Integer -> String
digitRangeToRegex min max
| min == max = digit min : ""
-- uncomment if you want \d instead of [0-9]
-- | min == 0 && max == 9 = "\\d"
| min >= 10 || max <= 9 = "[" ++ rangeToStr (digit min) (digit max) ++ "]"
| otherwise = "[" ++ rangeToStr (digit min) '9' ++ rangeToStr 'a' (digit max) ++ "]"
where
rangeToStr min max
| min == max = min : ""
| otherwise = min : '-' : max : ""
digit d
| d >= 0 && d <= 9 = chr (ord '0' + fromIntegral d)
| d < 36 = chr (ord 'a' + fromIntegral d - 10)
numberRangeToRegex :: Integer -> Integer -> Integer -> String
numberRangeToRegex base min max
| min == 0 && max == 0 = "0"
| cmin == cmax = intercalate "|" $ map formatRanges $ step dmin dmax
| otherwise = intercalate "|" $
(map formatRanges $ step dmin (replicate cmin (base-1))) ++
(if cmin + 1 < cmax then [digitRangeToRegex 1 (base - 1) ++ digitRangeToRegex 0 (base-1) ++ formatCount cmin (cmax-2)] else []) ++
(map formatRanges $ step (1 : replicate (cmax-1) 0) dmax)
where
digits 0 = [0]
digits n = reverse $ map (`mod` base) $ takeWhile (>0) $ iterate (`div` base) n
dmin = digits min
dmax = digits max
cmin = length dmin
cmax = length dmax
step [] [] = [[]]
step (a:as) (b:bs) =
if a == b then
prepend a $ step as bs
else
(if zeroHead then [] else prepend a $ step as nines) ++
(if na > nb then [] else [(na, nb) : replicate (length as) (0, base-1)]) ++
(if nineTail then [] else prepend b $ step zeros bs)
where
suffixLen = length as
zeroHead = all (== 0) as
nineTail = all (== base-1) bs
na = if zeroHead then a else a+1
nb = if nineTail then b else b-1
zeros = replicate suffixLen 0
nines = replicate suffixLen (base-1)
prepend x = map ((x, x):)
formatRanges = concatMap formatGroup . group . dropWhile (== (0,0)) where
formatGroup [(min, max)] = digitRangeToRegex min max
formatGroup xs@((min, max) : _)
| min == max = concat $ replicate (length xs) $ digitRangeToRegex min max
| otherwise = digitRangeToRegex min max ++ "{" ++ show (length xs) ++ "}"
formatCount min max
| min == 1 && max == 1 = ""
| min == max = "{" ++ show min ++ "}"
| otherwise = "{" ++ show min ++ "," ++ show max ++ "}"
Генератор реджексов, проверяющих диапазон чисел. Говнецо то еще, причем не только в реализации и выхлопе, но и в самой идее :)
Пример: http://ideone.com/FzAmYd
bormand,
27 Августа 2013
-
+152
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
<? if(Yii::app()->controller->getCurrentModelName()!=="Home") { ?>
<div id="nav"><?php
$this->widget(
'Breadcrumbs',
array(
'links' => $this->breadcrumbs,
'homeLink' => false,
'separator' => ' » ',
)
);
?></div>
<h1 class="title">
<? if(Yii::app()->controller->getCurrentModelName()!=="Home") {?>
<? echo $this->getCurrentModel()->name ?>
<?
}
?>
<? if( $this->getCurrentModelName() === 'Product') {?>
<a href="javascript:window.print()" class="icon_print"></a>
<? } ?>
</h1>
<? } ?>
Фреймворки способствуют написанию хорошего кода, ага.
Tairesh,
27 Августа 2013
-
−158
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
sub get_number_from_possible_b64
{
my $s = shift;
my $rv = $s;
if( $s =~ /^\d+$/ )
{
$rv = int( $s );
} elsif( $s =~ /=$/ )
{
$rv = decode_base64( $rv );
}
return $rv;
}
Где-то есть что-то, что либо цифорка, либо строка, оканчивающаяся на знак равенства.
kainwinterheart,
27 Августа 2013
-
+147
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
<?php
// semantic schema
$s_path = 'http://schema.org/';
// [1] : global
$s_schema = $s_path . 'WebPage';
$base_schema = 'prefix="og: http://ogp.me/ns#"';
$body_schema = 'itemtype="'. $s_schema .'"' . ' itemscope';
// [2] : section
$b_schema = ( $is_front ) ? $s_path . 'Blog' : $s_path . 'Article';
$section_schema = 'itemtype="'. $b_schema .'"' . ' itemscope';
$canonical = ( $is_front ) ? 'http://www.domain.in' : 'http://www.domain.out' . $_SERVER['REQUEST_URI'];
// jquery
$libs = array(
'jQuery 1.4.2' => '...',
'jQuery Form' => '...'
);
// spider detect
$spider = ( is_robot() ) ? true : false;
$metter = ( arg(0) != 'admin' && !$is_admin && !$spider ) ? true : false;
$adm = ( arg(0) != 'admin' && !$is_admin ) ? true : false;
?>
индуcтриальненько … семантический шаблонизатор
Stealth,
26 Августа 2013
-
+164
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
function ПечатьТоварногоЧека($com, $x) {
echodos(" [{$x['in']['НомерЗаказа']}] ");
$Сделка=$this->app->Документы->ЗаказПокупателя->НайтиПоНомеру($x['in']["НомерЗаказа"], $this->settime(time()));
d(__LINE__);
$Док2=$this->app->Документы->ПлатежноеТребованиеВыставленное->СоздатьДокумент();
$doctime=time();
$Док2->Дата=$this->settime($doctime);
d(__LINE__);
$Док2->Заполнить($Сделка);//Заполняем по счету
$ДД=$this->app->ЗаполнениеДокументов;
d(__LINE__);
$ДД->ЗаполнитьШапкуДокументаПоОснованию($Док2, $Сделка);
$this->app->УправлениеДенежнымиСредствами->ЗаполнитьПриходПоОснованию($Док2,
$Сделка, $this->app->ПараметрыСеанса->ТекущийПользователь);
d(__LINE__);
$this->app->УправлениеДенежнымиСредствами->ЗаполнитьРеквизитыРасчетногоДокумента($Док2,
$this->app->ПараметрыСеанса->ТекущийПользователь,
$this->app->Константы->ВалютаРегламентированногоУчета->Получить(),
$Док2->РасшифровкаПлатежа);
d(__LINE__);
$this->app->УправлениеДенежнымиСредствами->УстановитьСтатьюДДСПоУмолчанию(
$Док2->РасшифровкаПлатежа->Получить(0),
$Док2->ВидОперации);
d(__LINE__);
$Док2->ВидПлатежа = "Электронно";
$Док2->ИННПолучателя = $Док2->Организация->ИНН;
$Док2->КПППолучателя = $Док2->Организация->КПП;
$Док2->ИННПлательщика = $Док2->Контрагент->ИНН;
d(__LINE__);
$ДД=$Док2->РасшифровкаПлатежа->Получить(0);
$ДД->Сделка = $Сделка;
d(__LINE__);
$Док2->Комментарий=$Док2->Комментарий."*Создана с сайта по требованию клиента";
d(__LINE__);
echodos(" [\$x['in']['Сумма']={$x['in']['Сумма']}] ");
d(__LINE__);
echodos(" [\$Сделка->СуммаДокумента={$Сделка->СуммаДокумента}] ");
d(__LINE__);
echodos(" [\$Док2->СуммаДокумента={$Док2->СуммаДокумента}] ");
d(__LINE__);
Связь с 1С. файл на 5к строк подобного говна
heyzea1,
26 Августа 2013
-
+152
- 1
- 2
- 3
- 4
- 5
if ($val['postName'] == "СПб"){
$line['day2'] = array(" ");
foreach ($line as &$cell)
$cell[1].=" class=tdpresence style='background-color: #8ABB04;color: white !important;font-weight:bold;'";
}
Выделяем зелененьким определенные результаты поиска
heyzea1,
26 Августа 2013
-
+152
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
/* mootools javascript */
function animateCd() {
$$('.countdown').each(function(el) {
var inp = $(el).getElement('.ts');
var time = +$(inp).get('text')-1;
$(inp).set('text', time);
var _time = Math.abs(time);
var h = Math.floor(_time/3600);
var _h = (h < 10 ? '0' : '') + h;
var m = Math.floor(_time/60)-h*60;
var _m = (m < 10 ? '0' : '') + m;
var s = _time-(h*3600+m*60);
var _s = (s < 10 ? '0' : '') + s;
var timeStr = _h+' : '+_m+' : '+_s;
if ( time < 0 ) {
timeStr = '- '+timeStr;
}
$(el).getElement('.timer_cd').set('text', timeStr);
});
setTimeout(animateCd, 1000);
}
animateCd();
<!-- html -->
<div class="countdown">
<div class="timer_cd"></div>
<div style="display: none" class="ts">7200</div>
</div>
"Для создания таймера будем отталкиваться от стартового времени указанного в секундах, в примере 7200 (2 часа). Сначала из скрытого блока <div style="display: none" class="ts">7200</div> вытягиваем текущее значение счетчика в секундах, декрементируем его и возвращаем туда новое значение. Потом разбиваем значение счетчика на часы, минуты и секунды, при этом формируя значения в двухзначном формате. Собираем все в кучу и вставляем полученную строку в блок <div class="timer_cd"></div>. Данную операцию повторяем раз в секунду setTimeout(animateCd, 1000);."
http://webbystep.ru/all-posts/16-js-clock/
psycho-coder,
26 Августа 2013
-
+160
- 1
if($this->rollbackFilter == 3) $this->draftId ? $this->rollbackFilter : 0;
бессмысленный и беспощадный код
dimkich,
26 Августа 2013
-
−167
- 1
- 2
- 3
- 4
foreach my $ex (@excluded)
{
.....
}
О чем думал, когда имя переменной давал?
Alexandris,
25 Августа 2013