- 1
var coutryOption = commonSettings.parent().parent().parent().find("tr:contains('Country')");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
var coutryOption = commonSettings.parent().parent().parent().find("tr:contains('Country')");
очень поиск...
+154
function updateClock()
{
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var dateTimeString = day + "." + month + "." + year + " " + hours + ":" + minutes + ":" + seconds;
$('#clock').html("Сейчас " + dateTimeString);
}
Трибьют классике.
+154
if ((new Date(2014, 0, 1)).getHours() != 0 || new Date(2015, 0, 7).getHours() != 0) {
// Переопределяем конструктор
Date = (function (NativeDate) {
var NewDate = function (Y, M, D, h, m, s, ms) {
var length = arguments.length;
var date = length === 1 && String(Y) === Y ? // isString(Y)
new NativeDate(NewDate.parse(Y)) :
length >= 7 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m, s, ms)) :
length >= 6 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m, s)) :
length >= 5 ? new NativeDate(NativeDate.UTC(Y, M, D, h, m)) :
length >= 4 ? new NativeDate(NativeDate.UTC(Y, M, D, h)) :
length >= 3 ? new NativeDate(NativeDate.UTC(Y, M, D)) :
length >= 2 ? new NativeDate(NativeDate.UTC(Y, M)) :
length >= 1 ? new NativeDate(Y) :
new NativeDate();
if (length == 0) {
date = new NativeDate(+date - date.getTimezoneOffset() * 60000);
}
date.constructor = NewDate;
return this instanceof NativeDate ? date : date.toString();
};
if (NativeDate.now) {
NewDate.now = function () {
return new NewDate().getTime();
};
}
if (NativeDate.UTC) {
NewDate._UTC = NativeDate.UTC;
NewDate.UTC = function (Y, M, D, h, m, s, ms) {
var _date = new NewDate(NewDate._UTC.apply(this, arguments));
return +_date - _date.getTimezoneOffset() * 60000;
};
}
NewDate.prototype = NativeDate.prototype;
NewDate.prototype.constructor = NewDate;
И так далее, "фикс" для кривых таймзон в JS на винде http://habrahabr.ru/post/243685/
+154
$this->template_model = BaseCommunicationType::model()->findByAttributes(array('template' => $this->template));
if(!$this->template_model === NULL) {
throw new Exception("Template name is wrong", 1);
}
Угадайте, что будет из исключением?
+154
<?php if( !empty($documents[4]) ):?>
<hr>
<h3>Выполняемые работы</h3>
<table class="b-transparent-table">
<?php foreach ($documents[4] as $file_name => $text): ?>
<tr>
<td class ="td_big">
<h6><?= $text;?></h6>
</td>
<td>
<a href="<?= $dir.$passport['reforma_id'].DIRECTORY_SEPARATOR."4".DIRECTORY_SEPARATOR.$file_name;?>">скачать</a>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif;?>
магический документ 4. В файле откуда взят код есть также документ 5.
+154
$_params[] = sTools::convert2cp1251(preg_replace('|\s+|', ' ', str_replace('"', '""', htmlspecialchars_decode($_param['title'])))) . ':' . sTools::convert2cp1251(preg_replace('|\s+|', ' ', str_replace('"', '""', htmlspecialchars_decode($_param['unit'])))) . '|' . implode(',', $_param['value']);
+154
$a = null;
var_dump($a, $a[0], $a); // NULL, NULL, NULL // what the fuck?
$a[0] = null;
var_dump($a); // array(0 => NULL)
"PHP и type juggling", том третий. При этом на первый вызов $a[0] не ругается, будто при приведении NULL к пустому массиву в нем появляется нулевой элемент.
+154
class Session {
.....
public function getIdUser()
{
if ($this->isAnonymous()) {
return null;
}
return (int)$this->attributes[self::ATTR_ID_USER];
}
public function isAnonymous()
{
return empty($this->attributes[self::ATTR_ID_USER]);
}
....
}
............
$userId = $session->isAnonymous() ? null : (int)$session->getIdUser();
+154
class Registration{
protected $data;
protected $linc = "reg.php";
protected $v_log;
protected $query_login;
protected $v_pass;
protected $v_r_pass;
protected $v_pass_r_pass;
protected $v_mail;
public function __construct() {
$this->data = array('login'=> NULL, 'password'=> NULL, 'r_password'=> NULL, 'mail'=> NULL);
foreach($this->data as $key => $val) {
$this->data[$key] = $_POST[$key];
}
$this->v_log = $this->ver_login($this->data['login']);
$this->v_pass = $this->ver_pass($this->data['password']);
$this->v_r_pass = $this->ver_r_pass($this->data['r_password']);
$this->v_pass_r_pass = $this->ver_pass_r_pass($this->data['password'],$this->data['r_password']);
$this->v_mail = $this->ver_mail($this->data['mail']);
$this->error_reporting($this->v_log,$this->v_pass,$this->v_r_pass,$this->v_pass_r_pass,$this->v_mail, $this->error_log($this->linc));
}
protected function error_log($linc){
return("<p>В поле введены неверные данные!</p></br>"
. "<form action='$linc' metod='get'>"
. "<p>Вернуться и проверить<input type = 'submit' value = 'вернуться'></p>"
. "</form>");
}
protected function ver_login($login) {
if(empty($login) or (!preg_match("/^\A(\w){6,20}\Z/", $login))) {
$login = FALSE;
unset($login);
}else{
$login == TRUE;
$this->ver_db($login);
return($login);
}
}
protected function ver_db($log) {
$q = mysql_query("SELECT id FROM users WHERE login = '$log'");
$f = mysql_fetch_array($q);
if(empty($f['id']) or $f['id'] == '') {
return($log);
}else{
echo('Есть такой');
}
}
protected function ver_pass($pass) {
if(empty($pass) or (!preg_match("/^\A(\w){6,20}\Z/", $pass))) {
$pass == FALSE;
unset($pass);
}else {
$pass == TRUE;
$pass = md5($pass);
return($pass);
}
}
protected function ver_r_pass($r_pass) {
if(empty($r_pass) or (!preg_match("/^\A(\w){6,20}\Z/", $r_pass))) {
$r_pass == FALSE;
unset($r_pass);
}else {
$r_pass == TRUE;
$r_pass = md5($r_pass);
return($r_pass);
}
}
protected function ver_pass_r_pass($pass,$r_pass) {
if($pass != $r_pass) {
return(FALSE);
}else {
return (TRUE);
}
}
protected function ver_mail($mail) {
if(empty($mail) or (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $mail))) {
$mail == FALSE;
unset($mail);
}else {
$mail == TRUE;
return($mail);
}
}
protected function reg_ins($log,$pass,$mail) {
$date = date("d.m.y");
$const = ACCES_KEY_DEFAULT;
$ins_query = "INSERT INTO users(login,password,mail,date,acces) VALUES ('$log','$pass','$mail','$date','$const')";
$insert = mysql_query($ins_query);
if(!$insert){
echo('error');
} else {
echo('ok');
}
}
protected function error_reporting($log,$pass,$r_pass,$pass_r_pass,$mail,$error) {
if($log == FALSE or $pass == FALSE or $r_pass == FALSE or $pass_r_pass == FALSE or $mail == FALSE){
echo($error);
} else {
//выполняем если все данные введены верно
$this->reg_ins($log, $pass, $mail);
}
:)
+154
// Цитата №1: массив регулярных выражений из введённых пользователем строк
var strings = what.filter(function(e){ return e.replace(/s+/g,'').length; }).map(function(e){ var re = new RegExp(e, 'g' + (ignoreCase ? 'i' : '')); return re; });
// Цитата №2: проверяется наличие введённых строк в тексте и выводит результаты
function processText(pid, cid, text){
if(strings.every(function(re){
return re.test(text);
})){
// совпало
// тут выводится информация о совпадении для поста/комментария
// кроме вывода в консоль побочных эффектов нет
....
}
}
// Цитата №3: запуск поиска
posts.forEach(function(post){
processText(post.id, null, post.author.name + ' ' + post.text);
processText(post.id, null, post.author.name + ' ' + post.description);
post.comments.forEach(function(comment){
processText(post.id, comment.id, comment.author.name + ' ' + comment.text);
});
});
Цитаты из скрипта поиска по ГК.
Казалось бы, write-only питушня, работает - не трогать. Но, прочитав, http://govnokod.ru/16577#comment246821, решил поискать упоминания доктора по званию. Открываю найденный пост X, а там не все упоминания найдены. Меняю список постов, в которых искать - для X меняется список найденных комментариев.
Откуда такая питушня? processText почти чистая, strings, posts не меняется. Может, вывод на консоль как-то влияет?
Все волосы на жопе вырвал пока нашел в чем ошибка.
Внимание, вопрос. В чем гавно? (c) ursus