- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
/**
* Enter description here ...
*/
function getStoresByZipcode($zipcode) {
$stores = array();
$range = 40;
$R = 6371; // earth's radius, km
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+150
/**
* Enter description here ...
*/
function getStoresByZipcode($zipcode) {
$stores = array();
$range = 40;
$R = 6371; // earth's radius, km
+157
$k=1;
$empty=true;?>
<?foreach($arResult["ITEMS"] as $arItem):?>
<?$time=time();
$delay=345600;//секунд в 4 днях
$date_elements = explode(".",$arItem["DATE_ACTIVE_TO"]);?>
<?if(((mktime(0,0,0,$date_elements[1],$date_elements[0],$date_elements[2])+$delay) < $time) or ($arItem["PROPERTIES"]["procedure"]["VALUE_XML_ID"]=="% тут айдишник %")):?>
<?if($k==1):?>
<table><tr>
<th>%тут оглавления%</th>
<th>%тут оглавления%</th>
<th>%тут оглавления%</th>
<th>%тут оглавления%</th>
<th>%тут оглавления%</th></tr>
<?$k++;
$empty=false;?>
<?endif?>
<?$name='';?>
<tr>
% тут перебор элементов %
</tr>
<?endif?>
<?endforeach;?>
</table>
кастомизированный news.list битрикса.
1) у каждого элемента есть ключ (номер элемента), но мы-то об этом не знаем.
2) зачем выносить table>tr>th за цикл? И так пойдет.
3) time() в каждой итерации? А вдруг сервер слабенький, выполнение цикла занимает больше 4-ёх дней.
4) strtotime()? не, не слышал.
И еще куча лулзов в проекте, выложу по ходу.
Самое интересное, что проект крупной российской фирмы, видать местные индусы делали.
+161
$ctime = sprintf("%04d%02d%02d%02d%02d%02d",
date ("Y",
mktime (date("s"),
date("i"),
date("H"),
date("m"),
date("d"),
date("Y")
)
),
date ("m",
mktime (date("H"),
date("i"),
date("s"),
date("m"),
date("d"),
date("Y")
)
),
date ("d",
mktime (date("H"),
date("i"),
date("s"),
date("m"),
date("d"),
date("Y")
)
),
date ("H",
mktime (date("H"),
date("i"),
date("s"),
date("m"),
date("d"),
date("Y")
)
),
date ("i",
mktime (date("H"),
date("i"),
date("s"),
date("m"),
date("d"),
date("Y")
)
),
date ("s",
mktime (date("H"),
date("i"),
date("s"),
date("m"),
date("d"),
date("Y")
)
)
);
+1002
template<class _CharType>
bool check_arith(const _CharType* str)
{
for(; *str ; ++str)
for(unsigned long long j = 0x6165696F7579ull; j; j >>= 8)
if(((j & 0xFF) | 0x20) == (*str | 0x20))
return true;
return false;
}
Функция, которая проверяет, есть ли в слове гласные буквы латинского алфавита с учетом регистра.
+149
#include <iostream>
#define caseop(op, code) case op: code; break;
#define clamp(a, lo, hi) (a < lo) ? (a = lo) : (a > hi) ? (a = hi) : a;
void main(int argc, char* args[]) {
FILE *srcfile = fopen(argc > 1 ? args[1] : "", "r");
(!srcfile) ? exit(0) : fseek(srcfile, 0, SEEK_END);
unsigned char bytes[1024], *byte = bytes;
int x = ftell(srcfile), bs = sizeof(bytes);
rewind(srcfile);
char *source = new char[x + 1], *token = source, *ret = token;
fread(source, sizeof(char), x, srcfile);
memset(&bytes, source[x] = (char)fclose(srcfile), bs--);
do {
switch(*token) {
caseop('+', ++(*byte));
caseop('-', --(*byte));
caseop('.', std::cout << *byte);
caseop(':', std::cout << (int)*byte);
caseop(',', std::cin >> *byte);
caseop('>', clamp(++byte, bytes, &bytes[bs]));
caseop('<', clamp(--byte, bytes, &bytes[bs]));
caseop('[', if (*byte == (x = 1) - 1) while ((*token++) && (x += *token == '[' ? 1 : *token == ']' ? -1 : 0)); else ret = token);
caseop(']', if (*byte) token = ret);
}
} while(*token++);
delete source;
}
Интерпретатор брэинфака
+149
<?PHP
##### ПРОВЕРКА ДАННЫХ #####
$admin=0;
//тут может быть еще что-нибудь предварительное
$admin=$_REQUEST['admin'];
if($admin)
{
//..функционал админа
}
else
{
//что-то еще
}
##### АВТОРИЗАЦИЯ #####
$login=$_POST['login'];
$password=$_POST['password'];
//предполагаем соединение с БД установленным
$result=mysql_query("SELECT user_id FROM users WHERE login=$login AND password=$password");
if(mysql_num_rows($result))
{
//все хорошо - пользователь найден, выполняем процедуру его логина
}
else
{
//какая-то ошибка для пользователя
}
?>
Примеры "супер" безопасности с того же PHP.su
+154
<?php
// Выводим HTML-заголовки:
echo '<html>';
echo '<head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">';
echo '<title>Test Form PHP.SU</title>';
echo '</head>';
echo '<body>';
echo '<h3>Тестовая форма</h3>';
echo "<p>Переданное значение текстового поля: <b>".$_POST['textfield']."</b></p>";
echo "<p>Переданное значение поля пароля: <b>".$_POST['pswfield']."</b></p>";
echo "<p>Переданное значение скрытого поля hidden: <b>".$_POST['hidden']."</b></p>";
echo '<hr size="1">';
echo '<p>Были включены следующие независимые переключатели: </p>';
if (isset($_POST['checkbox1'])) echo "<p><b>Первый</b></p>";
if (isset($_POST['checkbox2'])) echo "<p><b>Второй</b></p>";
if (isset($_POST['checkbox3'])) echo "<p><b>Третий</b></p>";
echo '<hr size="1">';
if (isset($_POST['radiobutton']))
{
echo '<p>Был выбран независимый переключатель со следующим значением: ';
if ($_POST['radiobutton']==="yes") echo "<b>Yes</b>";
if ($_POST['radiobutton']==="no") echo "<b>No</b>";
echo '</p>';
}
else echo '<p>Ни один из независимых переключателей не был выбран</p>';
echo '<hr size="1">';
echo '<p>Значение многострочного текстового поля :</p>';
echo "<p><b>".$_POST['textarea']."</b></p>";
echo '<hr size="1">';
echo "<p>Значение списка с единственным выбором: <b>".$_POST['day_s']."</b></p>";
echo '<hr size="1">';
echo '<p>Значения списка с множественным выбором: </p>';
foreach ($_POST['day_m'] as $keys=>$values) echo "<b>$values</b><br>";
echo '<hr size="1">';
echo '<p>© 2005 <a href="http://php.su">PHP.SU</a></p>';
echo '</body>';
echo '</html>';
?>
Пример работы с формами с сайта PHP.SU
+156
class store_mod_multi_ftp extends store_mod_ftp {
public function __construct($options) {
//...
}
protected function connect($url, $login) {
parent::__construct($url, $login);
}
//...
}
ФТП-мод, который умеет стягивать файлы с разных серверов сразу, в отличие от своего родителя. И ведь работает, зараза!
+148
.top_menu LI:FIRST-CHILD A
{
width:100px;
}
.top_menu LI + LI A
{
width:167px;
}
.top_menu LI + LI + LI A
{
width:127px;
}
.top_menu LI + LI + LI + LI A
{
width:102px;
}
.top_menu LI + LI + LI + LI + LI A
{
width:92px;
}
.top_menu LI + LI + LI + LI + LI + LI A
{
width:184px;
}
Не совсем php, конечно, но отборное Г***о я встретил в проекте))
+110
// Loop through the list of passwords and try them until one works
for (; passwordcounter < passwords.Length; passwordcounter++)
{
//shit goes here
}
...another one.