- 1
- 2
- 3
- 4
static public function vkontakte_enabled()
{
return ( ipsRegistry::$settings['vk_enabled'] AND ipsRegistry::$settings['vk_api_id'] AND ipsRegistry::$settings['vk_secret'] ) ? TRUE : FALSE;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
static public function vkontakte_enabled()
{
return ( ipsRegistry::$settings['vk_enabled'] AND ipsRegistry::$settings['vk_api_id'] AND ipsRegistry::$settings['vk_secret'] ) ? TRUE : FALSE;
}
* IP.Board v3.1.4
И почему я пишу форумы сам?..
+133
// for cdio:
#include <cdio.h>
#include <cdio_unconfig.h> # remove *all* symbols libcdio defines
// Add back in the ones you want your program
#include <config.h>
But now what about the problem that there are common preprocessor symbols in config_cdio.h that an application may want to define in a different manner, like PACKAGE_NAME?
For this, there is yet another header, <cdio/cdio_unconfig.h>.
+72
LOG.error(msg);
Writer writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer, true));
LOG.error(writer.toString());
Паранойя... А вдруг LOG неправильно стэк трейс напечатает при передаче эксепшена вторым параметром.
+145
$sortBy = "";
if ( isset($_REQUEST['sortBy']) && ! empty($_REQUEST['sortBy'])) {
// Get sort direction and field sort.
$sortByParts = explode("-", $_REQUEST['sortBy']);
if ( is_array($sortByParts) && ! empty($sortByParts[0]) && ! empty($sortByParts[1])) {
$sortBy = $sortByParts[0];
$direction = $sortByParts[1];
}
}
switch ($sortBy)
case "discount":
$sortFieldBy = $sortBy;
break;
case "created":
$sortFieldBy = $sortBy;
break;
case "vendor":
$sortFieldBy = $sortBy;
break;
case "actual_euprice":
$sortFieldBy = $sortBy;
break;
case "actual_euprice":
$sortFieldBy = $sortBy;
break;
case "top_sell_product":
default:
$search->addAdditionalJoins(
"top_sell_product",
array("top_sell_product.prodlevid" => "p.prodlevid"),
SEARCH_ADDITIONAL_JOIN_TYPE_INNER,
array()
);
Очередная самописная CMS.
+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()? не, не слышал.
И еще куча лулзов в проекте, выложу по ходу.
Самое интересное, что проект крупной российской фирмы, видать местные индусы делали.
+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
+29
function multiselect_widget_init() {
if(variable_get('multiselect_widget_activeselall', false) === true && (variable_get('multiselect_widget_url', 'all') == 'all' || strstr($_GET['q'], variable_get('multiselect_widget_url', 'all')) !== FALSE)){
drupal_add_css(drupal_get_path('module', 'multiselect_widget') .'/multiselect/jquery.multiSelect.css');
drupal_add_js(drupal_get_path('module', 'multiselect_widget') .'/multiselect/jquery.multiSelect.js');
drupal_add_js(drupal_get_path('module', 'multiselect_widget') .'/multiselect/customSelect.jquery.js');
drupal_add_js(drupal_get_path('module', 'multiselect_widget') .'/multiselect/jquery.bgiframe.min.js');
$selectall = variable_get('multiselect_widget_selall', 'false') ? 'true' : 'false';
drupal_add_js("$(document).ready(function(){
$('#edit-tid').customStyle();
});", 'inline');
drupal_add_js("$(document).ready( function() {
$('".variable_get('multiselect_widget_selector', '.views-exposed-form select[multiple="multiple"]')."').multiSelect({
selectAll: ".$selectall.",
selectAllText: '".variable_get('multiselect_widget_selalltext', 'Выбрать все')."',
noneSelected: '".variable_get('multiselect_widget_notselectedtext', 'Ничего не выбрано')."',
oneOrMoreSelected: '".variable_get('multiselect_widget_countselected', 'Выбрано: %')."'
});
});", 'inline');
}
}
не мог не удержаться...
+156
#ifdef P3TURTLE_DEBUG
std::cerr << "performing search. OwnId = " << mLinkMgr->getOwnId() << std::endl ;
#endif
while(mLinkMgr->getOwnId() == "")
{
std::cerr << "... waitting for connect manager to form own id." << std::endl ;
#ifdef WIN32
Sleep(1000) ;
#else
sleep(1) ;
#endif
}
trunk/libretroshare/src/turtle/p3turtle.cc
+122
for (byte b4 = 0; b4 < 8; b4 += 1)
{
this.setBit(ref value4, b4, !this.getBit(value4, b4));
}
this.RA.Value = value4;
if (value4 == 0)
{
this.setBit(ref value, 0, true);
}
}
}
}
else
{
if (command <= 56)
{
if (command != 48)
{
if (command != 52)
{
if (command == 56)
{
byte value4 = this.RA.Value;
if (this.getBit(value4, 0))
{
this.setBit(ref value, 1, true);
}
for (byte b5 = 0; b5 < 7; b5 += 1)
{
this.setBit(ref value4, b5, this.getBit(value4, b5 + 1));
}
this.setBit(ref value4, 7, false);
this.RA.Value = value4;
if (value4 == 0)
{
this.setBit(ref value, 0, true);
}
}
}
else
{
byte value4 = this.RA.Value;
if (this.getBit(value4, 7))
{
this.setBit(ref value, 1, true);
}
for (byte b6 = 7; b6 > 0; b6 -= 1)
{
this.setBit(ref value4, b6, this.getBit(value4, b6 - 1));
}
this.setBit(ref value4, 0, false);
this.RA.Value = value4;
if (value4 == 0)
{
this.setBit(ref value, 0, true);
}
}
}
else
{
byte value2 = this.RA.Value;
byte value3 = this.RB.Value;
byte b = 0;
for (byte b7 = 0; b7 < 8; b7 += 1)
{
this.setBit(ref b, b7, this.getBit(value2, b7) ^ this.getBit(value3, b7));
}
this.RA.Value = b;
if (b == 0)
{
this.setBit(ref value, 0, true);
}
}
}
else
{
switch (command)
{
case 60:
{
int value5 = (int)this.RA.Value;
int value6 = (int)this.RB.Value;
int num = value5 + value6;
if (num == 0)
{
this.setBit(ref value, 0, true);
}
if (num > 255)
{
this.setBit(ref value, 1, true);
}
this.RA.Value = (byte)num;
break;
}
case 61:
case 62:
case 63:
break;
Элсы,свечи,ифы и просто хороший код №2
(продолжение следует)
годная реализация того что можно было написать в 10 строчек