-
+161
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
reset($queue);
$query = 'SELECT COUNT(*)'
.' FROM #__datsogallery'
.' WHERE (0 != 0';
while (list($key, $cat) = each($queue)) {
$query .= ' OR catid = '.$cat;
}
$query = $query
.') AND published = 1'
.' AND approved = 1';
$db->setQuery($query);
$result = $db->query();
Очень возбуждает строка 4.
Это в официальном релизе компонента com_datsogallery к Joomla 1.5
airrussia,
20 Октября 2011
-
+78
- 1
- 2
- 3
- 4
- 5
- 6
// inside some method
final DateFormat dateFormat = i18n.getDateFormat();
synchronized (dateFormat) {
formatedViolationDate = (violationDate != null) ?
dateFormat.format(violationDate) : "";
}
i18n.getDateFormat() возвращает статический объект DateFormat, который может использоваться несколькими потоками. В руки бы накласть тому, кто это писал.
Решение: getDateFormat() возвращает строку формата, объект формата создаем при каждом вызове.
roman-kashitsyn,
20 Октября 2011
-
+145
- 1
- 2
неудачник тред:
http://www.gamedev.ru/flame/forum/?id=153748
я лежал в психушке у меня нет работы девушки и я бородат и живу с родителями...
наболело
что делать?
AnimeGovno-_-,
20 Октября 2011
-
+1005
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
memsize =
strlen("cpy_dta.sh ");
if ( memsize >= 4096 ) {
sprintf( errMsg, "[%s] - ExecScript string too long", func);
return -7;
}
sprintf( args, "cpy_dta.sh " );
if ( 0 != ( rc = ::system ( args ) ) )
{
// ...
}
просто фейспалм.
Dummy00001,
20 Октября 2011
-
+157
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
function get_uri()
{
// Path corrector //
$path_correct = str_replace("http://","",$_SERVER['REQUEST_URI']);
if (($path_correct[strlen($path_correct)-1] != "/") and (!preg_match("#[\.|\?]#i",$path_correct))) {
header("Location: {$_SERVER['REQUEST_URI']}/"); exit;
}
// Path parser //
$request = str_replace("http://","",$_SERVER['REQUEST_URI']);
$params = strpos($request,"?");
if ($params>0) { $request = substr($request,0,$params); }
@list($ignore,$path) = @explode("/",$request,2);
$CRT['PATH'] = @explode("/",$path);
if ($CRT['PATH'][count($CRT['PATH'])-1] == "") { unset($CRT['PATH'][count($CRT['PATH'])-1]); }
return $CRT['PATH'];
}
Пиздец.
Думаю, какого хрена я отсылаю форму постом, а приходит гет.
Такое только на пиэйчпи могли написать.
Nicklasos,
20 Октября 2011
-
+159
- 1
- 2
- 3
- 4
- 5
if (!empty($query['date_act_start']) && !empty($query['date_act_end'])) {
if ($query['date_act_start'] && $query['date_act_end']) {
$sphinx->setFilterRange('startdate', $query['date_act_start'], $query['date_act_end']);
}
}
Вот такая проверка встретилась. Железная =)
shatzibitten,
20 Октября 2011
-
+139
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
j = 0;
while (len >= 8)
{
N[0] = N[0] ^ in[j++];
N[1] = N[1] ^ in[j++];
// first round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
S = N[0];
N[0] = N[0] + k[1];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
S = N[0];
N[0] = N[0] + k[2];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped k[3] - k[6] */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
// second round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
len = len - 8;
};
if (len > 0)
{
for (i=0;i<len;i++)
((uint8 *)N)[i] = ((uint8 *)N)[i]^((uint8 *)&in[j])[i];
// first round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
// second round
S = N[0];
N[0] = N[0] + k[0];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
/* skipped */
S = N[0];
N[0] = N[0] + k[7];
N[0] = sbox_ext1[Sa0->b0]^sbox_ext2[Sa0->b1]^sbox_ext3[Sa0->b2]^sbox_ext4[Sa0->b3];
N[0] = (N[0]<<11) | (N[0]>>21);
N[0] = N[0]^N[1];
N[1]=S;
};
полная версия - 250 строк.
это не школолостудентокод, это реальный код, за который когда то кому то были заплачены деньги
defecate-plusplus,
20 Октября 2011
-
+145
- 1
- 2
- 3
- 4
- 5
500 Internal Server Error
К сожалению, произошел какой-то сбой.
Бригада скорой помощи уже выехала по этому адресу.
AnimeGovno-_-,
20 Октября 2011
-
−149
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
Dim a as Stack
Dim b as Stack
For n :=8 to 1:
a.Push 1
b.Push 1 xor n
if n xor 1 = 1 then
begin
a.push(b) b.push(a)
end
end
Мультивложенные стеки
Операции за О(1)
Вставка, забывчивость
О(1)
Извлечение в От (1)
От - О с чертой
Константа, короче говоря.
Настоящий стек.
alexoy,
19 Октября 2011
-
−154
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
case 2: //редактирование таблицы
do
{
for (i = 0; i < size; i++) //вывод таблицы, чтобы видно было, что нужно изменять
{
for (j = 0; j < 4; j++)
{
for (k = 0; k < 4; k++)
{
adres[k] = ((maska << (24 - 8 * k)) & bin_adres[i][j]) >> (24 - 8 * k);
}
cout << adres [0] << "." << adres [1] << "." << adres [2] << "." << adres [3] << "\t";
}
cout << endl;
}
cto ("Наберите необходимый адрес назначения" , s);
cout << s << endl;
for (j = 0; j < 4; j++)
{
cin >> adres [j];
if (adres[j] < 0 || adres[i] > 255) //проверка каждой введенной цифры на соответствие интервалу
{
cto ("Вы ввели неверное число. Введите число в диапазонe 0-255" , s);
cout << s << endl;
j--;
}
else
crv = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3];
}
for (i = 0; i < size; i++) //перебор по строкам всего массива
{
if (crv == bin_adres[i][0]) //сравниваем первый элемент каждой строки, с введенным значением
{
temp = i; //получаем номер строки, которую необходимо редактировать
break;
}
}
cto ("Что необходимо изменить?\n Адрес назначения (нажмите 1)\n Адрес источника (нажмите 2)\n Шлюз(Нажмите 3)\n Маску(нажмите 4)\n", s);
cout << s << endl;
number = 0;
cin >> number; //получаем номер столбца для изменения
number--; //для правильного определения индекса элемента в массиве
cto ("Введите элемент", s);
cout << s << endl;
for (i = 0; i < 4; i++)
{
cin >> adres[i];
if (adres[i] < 0 || adres[i] > 255)
{
cto ("Вы выпали из диапазона 0-255. Введите нормальное число", s);
cout << s << endl;
i--;
}
}
bin_adres[temp][number] = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; //записываем данный элемент в заданную строку
cto ("Для выхода из редактирования нажмите 1 (продолжить - любая цифра)", s);
cout << s << endl;
cin >> number;
}
while (number != 1);
system("cls"); //очиста окна командной строки
break;
Команда стажеров писала маршрутизатор на базе 1С предприятия и вот что получилось.
alexoy,
19 Октября 2011