- 1
class TSettingGrouperator
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+13
class TSettingGrouperator
+60
function GetEndUTCTime($stime) {
$ddd = split('-', $stime);
if ($ddd[1] == '01')
$ddd[1] = '02'; else if ($ddd[1] == '02')
$ddd[1] = '03'; else if ($ddd[1] == '03')
$ddd[1] = '04'; else if ($ddd[1] == '04')
$ddd[1] = '05'; else if ($ddd[1] == '05')
$ddd[1] = '06'; else if ($ddd[1] == '06')
$ddd[1] = '07'; else if ($ddd[1] == '07')
$ddd[1] = '08'; else if ($ddd[1] == '08')
$ddd[1] = '09'; else if ($ddd[1] == '09')
$ddd[1] = '10'; else if ($ddd[1] == '10')
$ddd[1] = '11'; else if ($ddd[1] == '11')
$ddd[1] = '12'; else if ($ddd[1] == '12') {
$ddd[1] = '01';
$ddd[0]++;
} $result = $ddd[0] . '-' . $ddd[1] . '-' . $ddd[2];
return $result;
}
// Returns submitted time in appropriate format (e.g. 2009-04-01T09:43:25.5244704Z)
Документацыя по API SmartMove.
+160
jQuery('#items > div > a > img').hover(
function(){
jQuery(this).css('border', 'solid 1px gray');
var pos = jQuery(this).parent().parent().position().left;
var posTop = jQuery(this).parent().parent().position().top;
jQuery(this).parent().parent().css('left', (pos-1));
jQuery(this).parent().parent().css('top', (posTop-1));
},
function(){
jQuery(this).css('border', '0');
var pos = jQuery(this).parent().parent().position().left;
var posTop = jQuery(this).parent().parent().position().top;
jQuery(this).parent().parent().css('left', (pos+1));
jQuery(this).parent().parent().css('top', (posTop+1));
}
)
Вот такой вот неожиданный вариант отображения рамочек вокруг изображений в галерее при наведении курсора мыши. Наткнулся в проекте, над которым сейчас работаю.
+133
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// ...skipped...
});
</script>
<!-- end script vert menu -->
<!-- spoiler -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"> </script>
<script type="text/javascript">
$(document).ready(function(){
// ...skipped...
});
</script>
<!-- spoiler -->
<!-- up-->
<script language="JavaScript" type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script><!--up-->
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js' type='text/javascript'></script>
<script type="text/javascript" src="ajax.js"></script>
<!-- gallery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
jQuery в организме не хватает?..
+117
class traffic {
function traffic() {
global $mosConfig_live_site;
$remhost = @$_SERVER['REMOTE_HOST'];
if (strpos($remhost,".") != false) { $remhost = strtok($remhost,"."); }
$remhost = strtoupper($remhost);
$mb = @$_COOKIE['mb'];
//if ($mb == -1 || $mb == 0) { return; }
if (isset($mb)) {
if ($mb < 300) { $colormb = "green"; }
else { $colormb = "red"; }
$t =<<<TXT
<center><b>
<font size="4" style="line-height: 40px"><font color="$colormb"><p>eto prosto tak</p> $mb </font> </font>
<br><font size="2" color="blue" style="line-height: 20px">$remhost</font></br></b></center>
<font color="brown" size="1" style="line-height: 8px">* -01:00</font>
TXT;
echo $t ;
echo @$_SERVER['HTTP_USER_AGENT'];
return;
}
$headers = apache_request_headers(); //
if (!isset($headers['Authorization'])) { //
header('HTTP/1.0 401 Unauthorized'); //
header('WWW-Authenticate: NTLM'); // - NTLM
return; } //
//
if (substr($headers['Authorization'],0,5) == 'NTLM ') { // , NTLM-
$chain = base64_decode(substr($headers['Authorization'],5)); //
switch (ord($chain{8})) { //
case 3: // 5 - type-3
foreach (array('LM_resp','NT_resp','domain','user','host') as $k=>$v) {
extract(unpack('vlength/voffset',substr($chain,$k*8+14,4)));
$val = substr($chain,$offset,$length);
//echo "$v: ".($k<2 ? hex_dump($val) : iconv('UTF-16LE','CP1251',$val))."<br>\r\n";
switch ($k) {
case 2:
$domain = iconv('UTF-16LE','CP1251',$val);
case 3:
$username = iconv('UTF-16LE','CP1251',$val);
//case 4:
// $hostname = iconv('UTF-16LE','CP1251',$val);
}
}
$sdlt = fopen("http://sdlt/sdlt.php?username=".$username."&domainname=".$domain."&key=4125896370","r");
$str = fscanf($sdlt,"%s");
fclose($sdlt);
list($mb) = $str;
if ($mb == -1) { return; }
setcookie("mb",$mb,time()+64800);
if ($mb < 300) { $colormb = "green"; }
else { $colormb = "red"; }
$t =<<<TXT
<center><b> -<br> :<br>
<font size="4" style="line-height: 40px"><font color="$colormb"><p>privet ilya!!!!!!!!!!!!!!!!!!!!!! </p> $mb </font><font color="brown">*</font></font><br>
<font style="line-height: 24px"> :</font><br>
<font size="1" color="blue" style="line-height: 20px">$remhost ($domain - $username)</font><br></b></center>
<font color="brown" size="1" style="line-height: 8px">* - 01:00</font>
TXT;
echo $t;
return;
case 1: // 3
//if (ord($chain{13}) == 0xB2 || ord($chain{13}) == 0x8201) { // NTLM 0xb2 13 type-1:
$chain = "NTLMSSP\x00".//
"\x02" /* */ ."\x00\x00\x00\x00\x00\x00\x00".
"\x28\x00" /* */ ."\x00\x00".
"\x01\xB2" /* */ ."\x00\x00".
"\x00\x02\x02\x02\x00\x00\x00\x00". // nonce
"\x00\x00\x00\x00\x00\x00\x00\x00";
header('HTTP/1.0 401 Unauthorized');
header('WWW-Authenticate: NTLM '.base64_encode($chain)); // type-2
return;// }
}
}
}
}
}
$traffic=new traffic();
безжалостный и беспощадный ООП в php
+156
function ValidatePhone(strphone)
{
for(j=0;j<strphone.length;j++)
{
var cut;
cut=strphone.charAt( j )
if(cut!=0&&cut!=1&&cut!=2&&cut!=3&&cut!=4&&cut!=5&&cut!=6&&cut!=7&&cut!=8&&cut!=9&&cut!="("&&cut!=")"&&cut!=".")
return false;
}
return true;
}
классика
+46
// БреДскрамс и выделение текущих категорий
if($level==1){
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $parent_id);
$data_1ur = $query->getFirstRecord();
$this->template->assign('data_1ur', $data_1ur);
}
if($level==2){
// первым делом досается сама категория
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $parent_id);
$data_2ur = $query->getFirstRecord();
$this->template->assign('data_2ur', $data_2ur);
// ее родители
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $data_2ur['parent_id']);
$data_1ur = $query->getFirstRecord();
$this->template->assign('data_1ur', $data_1ur);
}
if($level==3){
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $parent_id);
$data_3ur = $query->getFirstRecord();
$this->template->assign('data_3ur', $data_3ur);
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $data_3ur['parent_id']);
$data_2ur = $query->getFirstRecord();
$this->template->assign('data_2ur', $data_2ur);
$query = $conn->newStatement("SELECT * FROM item_level WHERE id=:parent_id:");
$query->setInteger('parent_id', $data_2ur['parent_id']);
$data_1ur = $query->getFirstRecord();
$this->template->assign('data_1ur', $data_1ur);
}
да, да, да...
+137
public List<int> parseInt(string input)
{
string res = "";
int i = 0;
while (input[i] != ' ')
{
res = res + input[i];
//System.Console.WriteLine(res + " = res[" + i + "]");
i++;
}
i = res.Length - 4;
List<int> num = new List<int>();
for (int j = 0; i > -4; i = i - 4, j++)
{
try
{
num.Add(int.Parse(res.Substring(i, 4)));
}
catch (Exception e1)
{
try
{
num.Add(int.Parse(res.Substring(i + 1, 3)));
}
catch (Exception e2)
{
try
{
num.Add(int.Parse(res.Substring(i + 2, 2)));
}
catch (Exception e3)
{
num.Add(int.Parse(res.Substring(i + 3, 1)));
}
}
}
//System.Console.WriteLine(num[j]+" = num["+j+"]");
}
return num;
}
Опять студенты.
Задание: реализовать длинную арифметику.
один из примеров чтения длинного числа
+93
package java.util.logging;
public class XMLFormatter extends Formatter
{
// Append a two digit number.
private void a2(StringBuffer sb, int x) {
if (x < 10) {
sb.append('0');
}
sb.append(x);
}
// Append the time and date in ISO 8601 format
private void appendISO8601(StringBuffer sb, long millis) {
Date date = new Date(millis);
sb.append(date.getYear() + 1900);
sb.append('-');
a2(sb, date.getMonth() + 1);
sb.append('-');
a2(sb, date.getDate());
sb.append('T');
a2(sb, date.getHours());
sb.append(':');
a2(sb, date.getMinutes());
sb.append(':');
a2(sb, date.getSeconds());
}
private void escape(StringBuffer sb, String text) {
if (text == null) {
text = "<null>";
}
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
if (ch == '<') {
sb.append("<");
} else if (ch == '>') {
sb.append(">");
} else if (ch == '&') {
sb.append("&");
} else {
sb.append(ch);
}
}
}
public String format(LogRecord record) {
StringBuffer sb = new StringBuffer(500);
sb.append("<record>\n");
sb.append(" <date>");
appendISO8601(sb, record.getMillis());
sb.append("</date>\n");
sb.append(" <millis>");
sb.append(record.getMillis());
sb.append("</millis>\n");
sb.append(" <sequence>");
sb.append(record.getSequenceNumber());
sb.append("</sequence>\n");
String name = record.getLoggerName();
if (name != null) {
sb.append(" <logger>");
escape(sb, name);
sb.append("</logger>\n");
}
sb.append(" <level>");
escape(sb, record.getLevel().toString());
sb.append("</level>\n");
if (record.getSourceClassName() != null) {
sb.append(" <class>");
escape(sb, record.getSourceClassName());
sb.append("</class>\n");
}
if (record.getSourceMethodName() != null) {
sb.append(" <method>");
escape(sb, record.getSourceMethodName());
sb.append("</method>\n");
}
sb.append(" <thread>");
sb.append(record.getThreadID());
sb.append("</thread>\n");
....
Я конечно всё понимаю, неоднократно были ситуации когда для скорости сам собирал xml руками.
Но тут и вовсе такое ощущение будто школьник писал.
http://kickjava.com/src/java/util/logging/XMLFormatter.java.htm
−121
Функция СоздатьЗапрос(Текст) Экспорт
Запрос = Новый Запрос;
Запрос.Текст=Текст;
Возврат Запрос;
КонецФункции
Функция СоздатьМассив() Экспорт
Возврат Новый Массив;
КонецФункции
Функция СоздатьСоответствие() Экспорт
Возврат Новый Соответствие;
КонецФункции
Функция СоздатьСтруктуру() Экспорт
Возврат Новый Структура;
КонецФункции
Функция СоздатьСписокЗначений() Экспорт
Возврат Новый СписокЗначений;
КонецФункции
Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.