- 1
$this->a[$this->c[$this->m]] = my_substr($this->t, $prev[2], ($v[0] - $prev[2]));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
$this->a[$this->c[$this->m]] = my_substr($this->t, $prev[2], ($v[0] - $prev[2]));
Кусочек кустарного говношаблонизатора.
Без комментариев. В обоих смыслах.
+6
switch ($m->type) {
case 'photo':
echo sprintf('<div class="fb_photo %s"><a %s href="%s"><div style="background-image: url(\'%s\');"><b>%s</b><br>%s%s<div class="status">%s <img src="%s" /> %s <img src="%s" /></div></div></div>', ($showProfilePic ? 'padding65' : ''), (isset($_GET['nonavbar']) ? 'target="_top"' : 'target="_blank"'), $m->link . (isset($_GET['nonavbar']) ? '&openwithnavigation=1' : ''), str_replace("_s", "_n", $m->picture), $m->from->name, (!empty($m->message) ? $m->message.'<br>' : ''), ago($m->created_time, $timezone), isset($m->likes) && isset($m->likes->count) ? $m->likes->count : '', isset($m->likes) && isset($m->likes->count) ? buildUri('images/icons/like.png') : '', isset($m->comments) && isset($m->comments->count) ? $m->comments->count : '', isset($m->comments) && isset($m->comments->count) ? buildUri('images/icons/comment.png') : '');
break;
case 'video':
case 'link':
echo sprintf('<div class="fb_link %s"><a %s href="%s"><div style="width: 100%%; padding: 30px; box-sizing: border-box;border-bottom:1px solid #ccc;border-top:1px solid #ccc;"><img style="max-width: none; width:100px;" src="%s" /><div style="width: 100%%"><b>%s</b><br>%s</div></div><div style="position:absolute; right: 10px; bottom: 10px;" class="status">%s <img style="display: inline-block" src="%s" /> %s <img style="display: inline-block" src="%s" /></div></a></div>', ($showProfilePic ? 'padding65' : ''), (isset($_GET['nonavbar']) ? 'target="_top"' : 'target="_blank"'), $m->link . (isset($_GET['nonavbar']) ? '&openwithnavigation=1' : ''), $m->picture, $m->name, $m->message, ago($m->created_time, $timezone), isset($m->likes) && isset($m->likes->count) ? $m->likes->count : '', isset($m->likes) && isset($m->likes->count) ? buildUri('images/icons/like.png') : '', isset($m->comments) && isset($m->comments->count) ? $m->comments->count : '', isset($m->comments) && isset($m->comments->count) ? buildUri('images/icons/comment.png') : '');
//echo sprintf('<div class="fb_link"><a href="%s"><div><img src="%s" /><b>%s</b><br>%s<div class="status">%s likes, %s comments</div></div></div></div>', $m->link, str_replace("_s", "_n", $m->picture), $m->from->name, $m->message, $m->likes->count, $m->comments->count);
break;
case 'status':
echo sprintf('<div class="fb_link %s"><a %s href="%s"><div style="width: 100%%; padding: 30px; box-sizing: border-box;border-bottom:1px solid #ccc;border-top:1px solid #ccc;"><img style="max-width: none; width:100px;" src="%s" /><div style="width: 100%%"><b>%s</b><br>%s</div></div><div style="position:absolute; right: 10px; bottom: 10px;" class="status">%s <img style="display: inline-block" src="%s" /> %s <img style="display: inline-block" src="%s" /></div></a></div>', ($showProfilePic ? 'padding65' : ''), '', '', $m->picture, $m->name, $m->message, ago($m->created_time, $timezone), isset($m->likes) && isset($m->likes->count) ? $m->likes->count : '', isset($m->likes) && isset($m->likes->count) ? buildUri('images/icons/like.png') : '', isset($m->comments) && isset($m->comments->count) ? $m->comments->count : '', isset($m->comments) && isset($m->comments->count) ? buildUri('images/icons/comment.png') : '');
break;
default:
//echo 'TODO: ' . $m->type;
//var_dump($m);
break;
}
Верстка.
Уровень - бог.
−1
AnsiString message=IntToStr((int)GetTickCount());
if(message.Length()>=3)
message=message.SubString(message.Length()-3, 3);
else if(message.Length()==2)
message="0"+message;
else if(message.Length()==1)
message="00"+message;
message=dt.FormatString("yy")+dt.FormatString("mm")+dt.FormatString("dd")+" "+
dt.FormatString("hh")+dt.FormatString("nn")+dt.FormatString("ss")+" "+message;
message=message+" "+aMessage;
if(FMemoMes){
FMemoMes->Lines->Add(message);
}
Выводит сообщение aMessage, вставляя в начало сообщения текущие дату и время с миллисекундами.
0
function setLastHandshake ($carID) {
$HsList = json_decode(file_get_contents('carconnection.txt'), 1);
if ($HsList == "null" || $HsList == null) {
$HsList = json_decode("[]");
}
$carCount = count($HsList);
$i = 0;
foreach ($HsList as &$row) {
if ($row['car'] == $carID) {
$row['lastHS'] = (string)time();
break;
}
else {
$i++;
}
if ($i == $carCount) {
$HsList[] = array('car' => (string)$carID, 'lastHS' => (string)time());
}
}
if ($HsList == "null" || $HsList == null) {
return -1;
}
$f = fopen('carconnection.txt', 'w');
fwrite($f, json_encode($HsList));
}
0
function * getTreePost(postsInfo, id) {
var parent = _.filter(postsInfo, function (item) {
return Boolean(item._id == id);
});
var children = _.filter(postsInfo, function (item) {
return Boolean(item.parentId);
});
return _.union(parent, findChildren(id, children));
function findChildren(parentId) {
if (parentId) {
var data = _.where(children, {parentId: parentId});
var ret = [];
if (data.length) {
_.each(data, function (item, index) {
var data_r = findChildren(item._id);
if (data_r.length) {
ret = _.union(data_r, ret);
}
});
return _.union(data, ret);
} else
return [];
} else return [];
}
}
обычная рекурсия
+1
if (round($this->shot, 2, PHP_ROUND_HALF_DOWN) > round($this->getSumBonus(), 2, PHP_ROUND_HALF_DOWN)) {
return false;
}
Сравнение двух double числе
+1
// новый тестовый экшн в контроллере
public function actionNew($alias)
{
$model=Partners::model()->model()->findByAttributes(array('alias'=>$alias));
if($model==null)
throw new CHttpException(404,'The requested page does not exist.');
$this->render('view',array(
'model'=>$this->loadModel($model->id),
));
}
// правило в конфиге
// '<module:\w+>/<controller:\w+>/<alias:\w+>' => '<module>/<controller>/new',
https://vk.com/echo_php?w=wall-175_189930%2Fall
Уи1
+1
<ol ng-init="citationsLimit = 3" ng-model="citationsLimit">
<li class="citation citationList" ng-repeat="citation in answerFact.citations | limitTo: citationsLimit as citationsResult">
<i class="fa ic-marker fa-circle" aria-hidden="true"></i>
<div class="citation-text">
<span ng-bind-html="citation.highlightedSentenceString"></span>
<span ng-if="citation.source">
(<a href="{{citation.source}}" target="_blank">{{citation.source}}</a>)
</span>
</div>
</li>
</ol>
0
<?php
namespace DoctrineExtensions;
use \Doctrine\ORM\Event\LoadClassMetadataEventArgs;
/**
* Расширение для Doctrine ORM
* Позволяет отслеживать и работать не со всей базой, а только с таблицами с префиксом
* Необходимо для уживания с битриксом
*
* Class TablePrefix
* @package DoctrineExtensions
*/
class TablePrefix
{
protected $prefix = '';
public function __construct($prefix)
{
$this->prefix = (string) $prefix;
}
public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
{
$classMetadata = $eventArgs->getClassMetadata();
$classMetadata->setTableName($this->prefix . $classMetadata->getTableName());
foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) {
if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_MANY) {
$mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name'];
$classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName;
}
}
}
}
Адепты битрикса добрались до Doctrine ORM. И вот что из этого получилось.
Заставь дурака ORM подключать, он и events задрочит.
+1
if(!strpos($amount,'.')) {
$amount = $amount . '.00';
} else {
$strlength = strlen(explode('.',$amount)[1]);
if($strlength != 2) {
if($strlength == 1) {
$amount = $amount . '0';
}
if($strlength > 2) {
$amount = round($amount,2);
}
}
}
Получение дробного до сотых числа