- 1
- 2
- 3
- 4
public function &entityFactory() {
$entityObject = new stdClass();
return $entityObject;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+161
public function &entityFactory() {
$entityObject = new stdClass();
return $entityObject;
}
+146
Как известно Страуструп для своей диссертации написал на языке Симула программу расчета данных.
Причем программа была написана очень быстро и легко, что весьма порадовало Б.С. Но вот дальше
обнаружилось, что скорость работы этой программы крайне мала. Как говорят, ее не хватало даже
для того, чтобы насчитать необходимые данные к моменту защиты дисертации. Эффект этого произвел
на (неокрепшие ) мозги г-на Страуструпа был ужасен. Но вместо визита к психотерапевту
он решил создать свой язык, который бы совмещал в себе высокую скорость разработки (от Симулы)
и высокую скорость выполнения (от С). Т.е. была поставлена задача написания языка C++, во-первых,
объектно-ориентированного (в понимании Б.С.), а во-вторых, очень эффективного (в плане скорости
выполнения скомпилированного кода).
Статья:
http://steps3d.narod.ru/tutorials/c-minus-minus.html
Наш ответ:http://dshevchenko.biz/content/мой-ответ-алексею-викторовичу
+161
$name = $data->fields["name"];
$name = str_replace("\n","",$name);
$name = str_replace("\r","",$name);
$name = str_replace("\\","\\\\",$name);
$name = preg_replace("/'/","'",str_replace("\n","",str_replace("\"",""",$name)));
2, 3 и 4 строчки похожи на серию ударов по мозгу, а последняя на кровавое комбо :)
+154
$username=strtolower($this->username);
$user=User::model()->find('LOWER(username)=?',array($username));
чтоб наверняка
http://yiiframework.ru/doc/blog/ru/prototype.auth
+147
<?php
/*
Виджет для формы логина
*/
class UserLogin extends CWidget
{
public function run()
{
$model = new Login;
if(!Yii::app()->user->isGuest)
{
$this->render('loginOut', array('model'=>$model));
} else {
$this->render('loginForm', array('model'=>$model));
}
}
}
/**
* модель логина
*/
class Login extends CFormModel
{
public $login;
public $pass;
public $rememberMe;
private $_identity;
public function rules()
{
return array(
// username and password are required
array('login, pass', 'required', 'message'=>'поле {attribute} не может быть пустым'),
// rememberMe needs to be a boolean
array('rememberMe', 'boolean'),
// password needs to be authenticated
array('pass', 'authenticate'),
);
}
/**
* Declares attribute labels.
*/
public function attributeLabels()
{
return array(
'login'=>'Логин',
'pass'=>'Пароль',
'rememberMe'=>'Запомнить',
);
}
/**
* Authenticates the password.
* This is the 'authenticate' validator as declared in rules().
*/
public function authenticate($pass,$params)
{
$this->_identity=new UserIdentity($this->login,$this->pass);
if(!$this->_identity->authenticate())
$this->addError($pass, empty($params['message'])?'неправильный лоин или пароль':$params['message']);
}
/**
* Logs in the user using the given username and password in the model.
* @return boolean whether login is successful
*/
public function login()
{
if($this->_identity===null)
{
$this->_identity=new UserIdentity($this->login,$this->pass);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
} else {
return false;
}
}
}
+104
procedure drawGird( var image1: TImage; needAxisLines: Boolean = True );
var
xP, yP: Integer;
xC, yC: Double;
h, w, tx, ty: Integer;
Text: String;
begin
image1.Canvas.FillRect( image1.ClientRect );
accuracy := 1 / cellSize;
image1.Canvas.Brush.Style := bsClear;
xC := p2cX( 0 );
while forC( xC, p2cX( image1.Width ), accuracy ) do
if floor( xC * cellSize ) mod cellSize = 0 then
begin
xP := c2pX( xC );
image1.Canvas.Pen.Color := clSilver;
image1.Canvas.MoveTo( xP, 0 );
image1.Canvas.LineTo( xP, image1.Height );
if ( needaxislines ) and ( abs( xC ) > 0.5 ) and
( xP > 30 ) and ( xP < image1.Width - 30 ) then
begin
image1.Canvas.Pen.Color := clBlack;
image1.Canvas.MoveTo( xP, c2pY( -0.5 ) );
image1.Canvas.LineTo( xP, c2pY( 0.5 ) );
end;
end;
yC := p2cY( 0 );
while forC( yC, p2cY( image1.Height ), accuracy ) do
if floor( yC * cellSize ) mod cellSize = 0 then
begin
yP := c2pY( yC );
image1.Canvas.Pen.Color := clSilver;
image1.Canvas.MoveTo( 0, yP );
image1.Canvas.LineTo( image1.Width, yP );
if ( needaxislines ) and ( abs( yC ) > 0.5 ) and
( yP > 30 ) and ( yP < image1.Height - 30 ) then
begin
image1.Canvas.Pen.Color := clBlack;
image1.Canvas.MoveTo( c2pX( -0.5 ), yP );
image1.Canvas.LineTo( c2pX( 0.5 ), yP );
end;
end;
xC := p2cX( 0 );
while forC( xC, p2cX( image1.Width ), accuracy ) do
if floor( xC * cellSize ) mod cellSize = 0 then
begin
xP := c2pX( xC );
if ( needaxislines ) and ( abs( xC ) > 1.5 ) and
( xP > 30 ) and ( xP < image1.Width - 30 ) then
begin
image1.Canvas.Pen.Color := clBlack;
Text := IntToStr( floor( xC ) );
h := image1.Canvas.TextHeight( Text ) div 2;
w := image1.Canvas.TextWidth( Text ) div 2;
image1.Canvas.TextOut( xP - w, c2pY( -0.5 ) + ( h + 3 ) *
( ( floor( abs( xC ) ) mod ( ( ( w * 2 + 8 ) div cellSize ) +
1 ) ) ), Text );
end;
end;
yC := p2cY( 0 );
while forC( yC, p2cY( image1.Height ), accuracy ) do
if floor( yC * cellSize ) mod cellSize = 0 then
begin
yP := c2pY( yC );
if ( needaxislines ) and ( abs( yC ) > 1.5 ) and
( yP > 30 ) and ( yP < image1.Height - 30 ) then
begin
image1.Canvas.Pen.Color := clBlack;
Text := IntToStr( floor( yC ) );
h := image1.Canvas.TextHeight( Text ) div 2;
w := image1.Canvas.TextWidth( Text ) div 2;
image1.Canvas.TextOut( c2pX( -0.5 ) - w * 2 - 2, yP - h, Text );
end;
end;
image1.Canvas.Brush.Style := bsSolid;
end;
Сотня строк кода, для того, чтобы нарисовать сетку.
+147
procedure TForm1.GoBtnClick(Sender: TObject);
BEGIN
If GoBtn.Enabled = false then Exit;
GoBtn.Enabled := false;
// Some code
END;
Вот что бывает, когда не продумаешь весь проект до конца.
+160
path = path.path if typeof path "object"
На CoffeeScript написал.
−96
function onUpdate(this)
local a;
a = math.floor( math.random() * 1000);
if(a==68)then
playParticleFx(this,"/particles/spider/spider_lift.psysl",10);
--logWarning("spirder1");
end
if(a==35)then
playParticleFx(this,"/particles/spider/spider_lift_1.psysl",10);
--logWarning("spirder2");
end
if(a==73)then
playParticleFx(this,"/particles/spider/spider_lift_2.psysl",10);
--logWarning("spirder3");
end
end;
Выдержка из Lua-скрипта.
Выпускаем побегать декоративного паучка по случайными интервалам времени.
+153
<!-- позиционирование элементов меню -->
<script language="JavaScript">
var pos = document.getElementById('f_g_b').offsetLeft;
var obj = getElementsByClass('s_g_b',null,'table');
for(i=0;i<obj.length;i++){
obj[i].style.left = pos+"px";
}
var ua = navigator.userAgent;
if ((ua.indexOf('Gecko') != -1)&&(ua.indexOf('Chrome') == -1))
{
obj = getElementsByClass('s_g_t',null,'table');
for(i=0;i<obj.length;i++){
obj[i].style.left = pos+"px";
}
}
</script>
Предыдущий пост цвяточек по сравнению, с использованияем JS вместо css хаков. ППЦ я такого еще не видел.