- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
function draw_text() {
// ***
// Здесь код, генерирующий изображение для текста капчи
// $im_text - это его дескриптор
// Но самое интересное в конце ))
// ***
return $im_text;
imagedestroy($im_text);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+170
function draw_text() {
// ***
// Здесь код, генерирующий изображение для текста капчи
// $im_text - это его дескриптор
// Но самое интересное в конце ))
// ***
return $im_text;
imagedestroy($im_text);
}
MODx Evolution 1.0.5, фрагмент кода, отвечающего за генерацию капчи
+159
// Strip out the embedded timestamp
if ( ! preg_match("/(\d+TS--->)/", $cache, $match))
{
return FALSE;
}
// Has the file expired? If so we'll delete it.
if (time() >= trim(str_replace('TS--->', '', $match['1'])))
{
...
CodeIgniter → System → Core → Output.php
Это чтение временной метки в кэш-файле. Почему бы в регулярке в "карман" не взять только \d+?
+138
int my_number = count-1;
int addition_size =18;
if(sock >= 0)
{
while(1)
{
bytes_read = recv(sock, buf, 1024, 0);
if(bytes_read <= 0) break;
send_buf[0]='r';
send_buf[1]='e';
send_buf[2]='c';
send_buf[3]='e';
send_buf[4]='i';
send_buf[5]='v';
send_buf[6]='e';
send_buf[7]='d';
send_buf[8]=' ';
send_buf[9]='m';
send_buf[10]='e';
send_buf[11]='s';
send_buf[12]='s';
send_buf[13]='a';
send_buf[14]='g';
send_buf[15]='e';
send_buf[16]=':';
send_buf[17]=' ';
for(i=addition_size;i<addition_size+bytes_read;i++)
send_buf[i]=buf[i-addition_size];
for(i=0;i<count;i++)
if(i != my_number)
send(active_sockets[i], send_buf, bytes_read+addition_size, 0);
}
close(sock);
for(i=my_number;i<count-1;i++)
active_sockets[i]=active_sockets[i+1];
count--;
}
наша студентота 3курса :(
−101
def type
return 'Anonymous' if self.builtin == BUILTIN_ANONYMOUS
return 'Non Member' if self.builtin == BUILTIN_NON_MEMBER
return 'Member' if self.builtin == BUILTIN_MEMBER
return 'User' if self.builtin == BUILTIN_USER
return 'Manager' if self.builtin == BUILTIN_MANAGER
return 'Architect' if self.builtin == BUILTIN_ARCHITECT
return 'Designer' if self.builtin == BUILTIN_DESIGNER
return 'Customer' if self.builtin == BUILTIN_CUSTOMER
return 'Vendor' if self.builtin == BUILTIN_VENDOR
return 'Dealer' if self.builtin == BUILTIN_DEALER
end
def require_name
return 'is_anonymous' if self.builtin == BUILTIN_ANONYMOUS
return 'is_non_member' if self.builtin == BUILTIN_NON_MEMBER
return 'is_member' if self.builtin == BUILTIN_MEMBER
return 'is_user' if self.builtin == BUILTIN_USER
return 'is_manager' if self.builtin == BUILTIN_MANAGER
return 'is_architect' if self.builtin == BUILTIN_ARCHITECT
return 'is_designer' if self.builtin == BUILTIN_DESIGNER
return 'is_customer' if self.builtin == BUILTIN_CUSTOMER
return 'is_vendor' if self.builtin == BUILTIN_VENDOR
return 'is_dealer' if self.builtin == BUILTIN_DEALER
end
еще ниже в модели
−99
# Return all the permissions that can be given to the role
def for_set_permissions
permissions = Abt::AccessControl.permissions
permissions = Abt::AccessControl.user_permissions if self.builtin == BUILTIN_USER
permissions = Abt::AccessControl.manager_permissions if self.builtin == BUILTIN_MANAGER
permissions = Abt::AccessControl.architect_permissions if self.builtin == BUILTIN_ARCHITECT
permissions = Abt::AccessControl.designer_permissions if self.builtin == BUILTIN_DESIGNER
permissions = Abt::AccessControl.customer_permissions if self.builtin == BUILTIN_CUSTOMER
permissions = Abt::AccessControl.vendor_permissions if self.builtin == BUILTIN_VENDOR
permissions = Abt::AccessControl.dealer_permissions if self.builtin == BUILTIN_DEALER
permissions - Abt::AccessControl.public_permissions
end
Сурово
−102
<div class="pane">
<% #Вывод материалов
if pms.size > 0 %>
<% for pm in pms do %>
<div class="mat">
<div><%= pm.name %></div>
<p>art. <%= pm.id %></p>
<%= image_tag pm.image.url(:small) %>
<%= link_to 'Выбрать +', '#' %>
</div>
<% end %>
<% end %>
</div>
ПМС =)
−103
class Person < ActiveRecord::Base
def self.current=(person)
@current_people = person
end
def self.current
@current_people
end
end
Определяют текущего пользователя в модели=)
+1006
const unsigned BAD_VALUE = (unsigned) -1;
typedef pair<string, unsigned> RomeDecPair;
typedef map<string, unsigned> Table;
Table g_table;
void InitTables()
{
g_table["I"] = 1;
g_table["II"] = 2;
g_table["III"] = 3;
g_table["IV"] = 4;
g_table["V"] = 5;
g_table["VI"] = 6;
g_table["VII"] = 7;
g_table["VIII"] = 8;
g_table["IX"] = 9;
g_table["X"] = 10;
g_table["XX"] = 20;
g_table["XXX"] = 30;
g_table["XL"] = 40;
g_table["L"] = 50;
g_table["XC"] = 90;
g_table["C"] = 100;
g_table["CC"] = 200;
g_table["CCC"] = 300;
g_table["CD"] = 400;
g_table["D"] = 500;
g_table["CM"] = 900;
g_table["M"] = 1000;
g_table["MM"] = 2000;
g_table["MMM"] = 3000;
}
.....
int main()
{
InitTables();
vector<RomeDecPair> tests;
tests.push_back(make_pair("I", 1));
tests.push_back(make_pair("II", 2));
tests.push_back(make_pair("III", 3));
tests.push_back(make_pair("IV", 4));
tests.push_back(make_pair("V", 5));
tests.push_back(make_pair("VI", 6));
tests.push_back(make_pair("VII", 7));
tests.push_back(make_pair("VIII", 8));
tests.push_back(make_pair("IX", 9));
tests.push_back(make_pair("X", 10));
tests.push_back(make_pair("XI", 11));
tests.push_back(make_pair("XII", 12));
tests.push_back(make_pair("XIII", 13));
tests.push_back(make_pair("XIV", 14));
tests.push_back(make_pair("XV", 15));
tests.push_back(make_pair("XVI", 16));
tests.push_back(make_pair("XVII", 17));
tests.push_back(make_pair("XVIII", 18));
tests.push_back(make_pair("XIX", 19));
tests.push_back(make_pair("XX", 20));
tests.push_back(make_pair("XXI", 21));
tests.push_back(make_pair("XL", 40));
tests.push_back(make_pair("XLII", 42));
tests.push_back(make_pair("LIX", 59));
tests.push_back(make_pair("LXXVII", 77));
tests.push_back(make_pair("XC", 90));
tests.push_back(make_pair("CX", 110));
tests.push_back(make_pair("CDXCIX", 499));
tests.push_back(make_pair("DLXXXIII", 583));
tests.push_back(make_pair("DCCCLXXXVIII", 888));
tests.push_back(make_pair("MDCLXVIII", 1668));
tests.push_back(make_pair("MCMLXXXIX", 1989));
tests.push_back(make_pair("MMMCMXCIX", 3999));
tests.push_back(make_pair("", BAD_VALUE));
tests.push_back(make_pair("IIIV", BAD_VALUE));
tests.push_back(make_pair("IIV", BAD_VALUE));
tests.push_back(make_pair("IIII", BAD_VALUE));
tests.push_back(make_pair("IIX", BAD_VALUE));
tests.push_back(make_pair("XIIII", BAD_VALUE));
tests.push_back(make_pair("XIIIIX", BAD_VALUE));
tests.push_back(make_pair("XIIIIX", BAD_VALUE));
tests.push_back(make_pair("XXXX", BAD_VALUE));
tests.push_back(make_pair("LL", BAD_VALUE));
tests.push_back(make_pair("CLC", BAD_VALUE));
tests.push_back(make_pair("CLL", BAD_VALUE));
tests.push_back(make_pair("DLD", BAD_VALUE));
tests.push_back(make_pair("LDD", BAD_VALUE));
tests.push_back(make_pair("LLI", BAD_VALUE));
tests.push_back(make_pair("MMMCMXCX", BAD_VALUE));
tests.push_back(make_pair("AXX", BAD_VALUE));
tests.push_back(make_pair("LXA", BAD_VALUE));
for (vector<RomeDecPair>::const_iterator it = tests.begin(), end = tests.end(); it != end; ++it)
{
CheckConversion(*it);
}
return 0;
}
+138
#define true false
happy debug!
−100
module ModelHelper
extend ActiveSupport::Concern
module InstanceMethods
def prepare_url
"http://#{Banjo::Application.config.short_url_host}"
end
def adjust_comment(text, url, max_len)
maximum_text_length = max_len - url.length - 1
if text.length > maximum_text_length
text = text[0, maximum_text_length - 3] + "..."
end
if url.present?
message = [text, url].join(' ')
else
message = text
end
message
end
def fullname_to_first_last_initial(fullname)
name_token = fullname.split(/ /)
last_initial = (name_token.length > 1) ? name_token.pop.first : nil
first = name_token.join(' ')
return (last_initial.nil?) ? first : "#{first} #{last_initial}"
end
end
module ClassMethods
def adjust_comment(text, url, max_len)
maximum_text_length = max_len - url.length - 1
if text.length > maximum_text_length
text = text[0, maximum_text_length - 3] + "..."
end
if url.present?
message = [text, url].join(' ')
else
message = text
end
message
end
def fullname_to_first_last_initial(fullname)
name_token = fullname.split(/ /)
last_initial = (name_token.length > 1) ? name_token.pop.first : nil
first = name_token.join(' ')
return (last_initial.nil?) ? first : "#{first} #{last_initial}"
end
end
end
DRY principle in action