- 1
- 2
- 3
if (round($this->shot, 2, PHP_ROUND_HALF_DOWN) > round($this->getSumBonus(), 2, PHP_ROUND_HALF_DOWN)) {
return false;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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);
}
}
}
Получение дробного до сотых числа
0
//- ASAP OR DIE♪
// re: ASAP OR DIE♪
//- next time, you should die
−10
static void Alert(object text)
{
Console.WriteLine(text);
}
0
private void CaretNormalize() {
if (Template.Terminals.Count == 0) { _sTermEnd = _sOffStart = _sOffEnd = _sTermStart = 0; return; }
if (_sTermStart == _sTermEnd) {
if (_sTermStart < 0) _sTermEnd = _sOffStart = _sOffEnd = _sTermStart = 0;
else if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = _sTermStart = Template.Terminals.Count - 1;
_sOffStart = _sOffEnd = Template.Terminals[Template.Terminals.Count - 1].Text.Length;
}
else {
if (_sOffStart != _sOffEnd) {
var nos = Math.Min(_sOffStart, _sOffEnd);
_sOffEnd = Math.Max(_sOffStart, _sOffEnd);
_sOffStart = nos;
if (_sOffStart < 0) {
_sTermEnd = --_sTermStart;
if (_sTermEnd < 0) _sTermStart = _sOffStart = 0; else _sOffStart = Template.Terminals[_sTermEnd].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
_sTermEnd = ++_sTermStart;
if (_sTermEnd > Template.Terminals.Count - 1)
{
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[_sTermEnd].Text.Length;
}
else _sOffEnd = 0;
}
}
else
{
if (_sOffStart < 0) {
_sTermEnd = --_sTermStart;
if (_sTermEnd < 0) _sTermStart = _sOffEnd = _sOffStart = 0; else _sOffEnd = _sOffStart = Template.Terminals[_sTermEnd].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
_sTermEnd = ++_sTermStart;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = _sOffStart = Template.Terminals[_sTermEnd].Text.Length;
} else _sOffEnd = _sOffStart = 0;
}
}
}
} else {
if (_sTermStart > _sTermEnd) {
var t = _sTermStart;
_sTermStart = _sTermEnd;
_sTermEnd = t;
t = _sOffStart;
_sOffStart = _sOffEnd;
_sOffEnd = t;
}
if (_sTermStart < 0) _sOffStart = _sTermStart = 0;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[Template.Terminals.Count - 1].Text.Length;
}
if (_sOffStart < 0) {
--_sTermStart;
if (_sTermStart < 0) _sTermStart = _sOffStart = 0; else _sOffStart = Template.Terminals[_sTermStart].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
++_sTermEnd;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[_sTermEnd].Text.Length;
}
else _sOffEnd = 0;
}
}
}
0
WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[HEADER]\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
ListMessage = strReader.ReadLine();
//...
while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
{
//Типа там читаем всякие заголовки и прочие бла-бла
if (ListMessage.IndexOf("filename=") > -1)
{
temp = ListMessage.Replace("filename=", "");
temp = temp.Trim();
file_name = temp;
is_file = 1; temp = ""; is_att = 1;
}
//...
ListMessage = strReader.ReadLine();
continue;
}
//...
WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[TEXT]\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
ListMessage = strReader.ReadLine();
temp = "";
end_file = 0;
body = "";
if (ListMessage.IndexOf("$ BAD ") == -1) ListMessage = strReader.ReadLine();
if (ListMessage == "")
is_body = 0;
else
is_body = 1;
while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
{
if (is_body == 1)
{
if (ListMessage == "")
is_body = 0;
else
body = body + ListMessage;
}
if ((is_att == 1) && (end_file == 0))
{
if (is_file == 1)
{
if (ListMessage.IndexOf("--") > -1)
end_file = 1;
else
temp = temp + ListMessage;
}
if (ListMessage == "")
{
is_file = 1;
}
}
if (ListMessage.IndexOf("Content-Disposition: attachment;") > -1)
{
is_att = 1;
}
//...
ListMessage = strReader.ReadLine();
continue;
}
if (is_att==0)
{
//А тут ничего интересного, просто декодирование из Base64 и сохранение в файл
}
Следите за булями (точнее, их суррогатами).
ЗЫ: да, я уже выкладывал кусок из того же модуля, и там уже были некоторые куски, которые попали и сюда тоже.
+1
document.getElementById('order').addEventListener('submit', function(e){
document.getElementById('order').addEventListener('keyup', function(e){
var appBtns = document.getElementsByClassName('btn'), i;
for (var i = 0; i < appBtns.length; i ++)
appBtns[i].style.disabled = false;
form.submit.disabled = false;
});
var appBtns = document.getElementsByClassName('btn'), i;
for (var i = 0; i < appBtns.length; i ++)
appBtns[i].style.disabled = true;
form.submit.disabled = true;
});
без комментариев