- 1
var is_ie = !(navigator.appName.indexOf("Netscape") != -1);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157
var is_ie = !(navigator.appName.indexOf("Netscape") != -1);
Из недр http://habrahabr.ru/blogs/internet/117202/
+161
$Qstatus = $osC_Database->query('select max(cms_id) as cms_id from cms');
$Qstatus->execute();
$cms_id = $Qstatus->valueInt('cms_id') + 1;
Код в OSCommerce использующийся для увеличения id на 1.
+134
int _Mbtowcx(wchar_t *pwc, const char *s, size_t nin, mbstate_t *pst, _Statab *pmbstate)
char state = (char)pst->_State;
unsigned char *su = (unsigned char *)s;
wchar_t wc = (wchar_t)pst->_Wchar;
static const mbstate_t initial = {0};
if (pmbstate->_Tab[0] == 0) { /* no table, convert from UTF8 */
if (s == 0)
{ /* set initial state */
*pst = initial;
return (0);
}
for (; ; ++su, --nin) { /* consume an input byte */
if (nin == 0) { /* report incomplete conversion */
pst->_Wchar = wc;
pst->_State = state;
return (-2);
}
else if (0 < state) { /* fold in a successor byte */
if ((*su & 0xc0) != 0x80) { /* report invalid sequence */
errno = EILSEQ;
return (-1);
}
wc = (wchar_t)((wc << 6) | (*su & 0x3f));
--state;
}
else if ((*su & 0x80) == 0)
wc = *su; /* consume a single byte */
else if ((*su & 0xe0) == 0xc0) { /* consume first of two bytes */
wc = (wchar_t)(*su & 0x1f);
state = 1;
}
else if ((*su & 0xf0) == 0xe0) { /* consume first of three bytes */
wc = (wchar_t)(*su & 0x0f);
state = 2;
}
else{ /* report invalid sequence */
errno = EILSEQ;
return (-1);
}
if (state == 0) { /* produce an output wchar */
if (pwc != 0)
*pwc = wc;
pst->_State = 0;
return (wc == 0 ? 0 : (const char *)++su - s);
}
}
}
else
{ /* run finite state machine */
int limit = 0;
if (s == 0) { /* set initial state */
*pst = initial;
return (pmbstate->_Tab[0][0] & _ST_STATE);
}
for (; ; ) { /* perform a state transformation */
unsigned short code;
const unsigned short *stab;
if (nin == 0)
{ /* report incomplete conversion */
pst->_Wchar = wc;
pst->_State = state;
return (-2);
}
else if (_NSTATE <= state
|| (stab = pmbstate->_Tab[state]) == 0
|| (_NSTATE*UCHAR_MAX) <= ++limit
|| (code = stab[*su]) == 0)
{ /* report invalid sequence */
errno = EILSEQ;
return (-1);
}
state = (char)((code & _ST_STATE) >> _ST_STOFF);
if (code & _ST_FOLD)
wc = (wchar_t)(wc & ~UCHAR_MAX | code & _ST_CH);
if (code & _ST_ROTATE)
wc = (wchar_t)(wc << CHAR_BIT | UCHAR_MAX
& wc >> CHAR_BIT * (sizeof (wchar_t) - 1));
if (code & _ST_INPUT && *su != '\0')
++su, --nin, limit = 0;
if (code & _ST_OUTPUT)
{ /* produce an output wchar */
int nused = (const char *)su - s;
if (pwc)
*pwc = wc;
pst->_Wchar = wc;
pst->_State = state;
return (wc == 0 ? 0 : nused == 0 ? -3 : nused);
}
}
}
}
Долго не мог понять почему не работает
setlocale(...);
_setmbcp(...);
mbtowc(...);
на C++ Builder. Пока не заглянул в исходники.
+184
BLOG_BLOG_BLOG_NO_BLOG
Константа в 1C-Bitrix.
Баден-Баден отдыхает.
+115
columnDomain.Visible =
(grid.MainView.RowCount >
0
&&
!String.IsNullOrEmpty(
((ListItem)
grid.MainView.
GetRow(0)).Domain)
&&
((ListItem)
grid.MainView.GetRow(0))
.Domain !=
((ListItem)
grid.MainView.GetRow(0))
.DisplayName);
Это реальное форматирование кода, очевидно сделанное для удобства чтения на узком и высокои мониторе :) И такого многие и многие экраны
−103
public static function trimExtraLineBreaks(string:String):String
{
var trimmedString:String = string;
for(var i:int = 0; i < 20; i++)
{
trimmedString = trimmedString.replace(new RegExp("\r\r","g"),"\r");
trimmedString = trimmedString.replace(new RegExp("\r\n","g"),"\r");
trimmedString = trimmedString.replace(new RegExp("\n\n","g"),"\n");
trimmedString = trimmedString.replace(new RegExp("\n\r","g"),"\n");
trimmedString = trimmedString.replace(new RegExp("\n ","g"),"\n");
trimmedString = trimmedString.replace(new RegExp("\r ","g"),"\n");
trimmedString = trimmedString.replace(new RegExp(" \n","g"),"\n");
trimmedString = trimmedString.replace(new RegExp(" \r","g"),"\n");
}
return trimmedString;
}
Натолкнулся на просторах github'а во время поиска чего-то там... Ей богу сразу забыл, что искал.
+151
<?php
function test_menu() {
// $menu['test'] = array(
// 'page callback' => 'test_page',
// 'access callback' => TRUE,
// );
$menu['test/%user_uid_optional'] = array(
'page callback' => 'test_view',
'page arguments' => array(1),
'access callback' => 'test_access',
'access arguments' => array(1),
);
$menu['test/%user/view'] = array(
'title' => 'View',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
);
$menu['test/%user/edit'] = array(
'title' => 'Edit',
'page callback' => 'test_edit',
'page arguments' => array(1),
'access callback' => 'test_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
return $menu;
}
function test_page() {
global $user;
if ($user->uid) {
menu_set_active_item("test/$user->uid");
return menu_execute_active_handler();
}
else {
drupal_goto('user/login');
}
}
function test_view($account) {
module_load_include('pages.inc', 'user');
return user_view($account);
}
function test_edit($account) {
module_load_include('pages.inc', 'user');
return user_edit($account);
}
function test_access($account) {
dpm($account);
return TRUE;
}
+127
[code=Си]
switch(n)
case 1:
{
/* code1 */
/* fallthrough */
case 2:
/* code 2 */
}
[/code]
Все имена и явки изменены!
Сцуко, работает. Щас в стандарт полезу, интересно же! Обвиняют меня, я киваю на издержки мержа. Но смешно.
+167
float ArenaTeam::GetChanceAgainst(uint32 own_rating, uint32 enemy_rating)
{
// returns the chance to win against a team with the given rating, used in the rating adjustment calculation
// ELO system
// return 1.0f/(1.0f+exp(log(10.0f)*(float)((float)enemy_rating - (float)own_rating)/400.0f));
float a,b;
a = own_rating;
b = enemy_rating;
if(a<1800 && b<1800) return 16;
if(a>=1800 && a<2000 && b<2000 || b>=1800 && b<2000 && a<2000) return 15;
if(a>=2200 && b>=2200) return 15;
if(a>b){
if(a>=2000 && a<2100 && b>=2100 && b<2200) return 17;
if(a>=2000 && a<=2100 && b>=2200) return 18;
if(b>=2000 && b<2100 && a>=2200) return 9;
if(a>=2000 && a<2100 && b>=2000 && b<2100) return 15;
if(a>=2100 && a<2200 && b>=2100 && b<2200) return 15;
if(a>=2100 && a<2200 && b>=2200) return 16;
if(b>=2100 && b<2200 && a>=2200) return 11;
if (a>=2000 && a<2100 && b >=1850) return 10;
if (a>=2000 && a<2100 && b <=1850) return 5;
if (a>=2100 && a<=2200 && b >=1950 && b <2000) return 9;
if (a>=2100 && a<=2200 && b >=1900 && b <2000) return 7;
if (a>=2100 && a<=2200 && b >=2000 && b <2100) return 11;
if (a>=2100 && a<2200 && b <=1900 && b >=1750) return 4;
if (a>=2100 && a<2200 && b <1750) return 3;
if (a>=2200 && b >=1950 && b <=2000) return 4;
if (a>=2200 && b <=1950 && b>=1800) return 2;
if (a>=2200 && b <=1850) return 1;
if(a>=1500 && a<1600 && b >=2200) return 31;
if(a>=1500 && a<1600 && b>=2000 && b <2100) return 28;
if(a>=1500 && a<1600 && b>=2100 && b<2200) return 29;
if(a>=1500 && a<1600 && b>=2100 && b>2200) return 31;
if (a>=1900 && a<2000 && b>=2000 && b<= 2075) return 18;
if (a>=1900 && a<2000 && b>=2075 && b<= 2150) return 24;
if (a>=1900 && a<2000 && b>=2150 && b<= 2200) return 25;
if (a>=1900 && a<2000 && b>=2150 && b> 2200) return 27;
if (a>=1800 && a<1900 && b>=2000 && b<= 2075) return 22;
if (a>=1800 && a<1900 && b>=2075 && b<= 2150) return 27;
if (a>=1800 && a<1900 && b>=2150 && b<= 2200) return 29;
if (a>=1800 && a<1900 && b>=2150 && b> 2200) return 30;
if (a>=1600 && a<1800 && b>=2000 && b<= 2075) return 22;
if (a>=1600 && a<1800 && b>=2075 && b<= 2150) return 28;
if (a>=1600 && a<1800 && b>=2150 && b<= 2200) return 29;
if (a>=1600 && a<1800 && b>=2150 && b> 2200) return 30;
if(a<1500 & b>=2000) return 31;
}else{
// same just b instead of a and a instead of b
}
}
New developer for wow server ;) Best part is the cast to floats at start imo
+160
<?php
class security extends engine{
var $temp=array();
function getUserId(){
$hash=explode('::',$_COOKIE['site_hash']);
$id=$hash[0];
return $id;
}
function getUserSecurityAccess($id){
if(is_numeric($id)){
$id=rawurlencode($id);
$conn_id=mysql_connect('host','user','passwd');
mysql_select_db('database');
$q=mysql_query("SELECT groupid FROM `users`
WHERE id='".$id."'",$conn_id);
if($q){
if(mysql_numrows($q)!=0){
$result=@mysql_fetch_assoc($q);
return $result['group_id'];
}else{
return -1;
}
}else{
return -1;
}
mysql_close($conn_id);
}else{
return -1;
}
}
function checkUserPermission($module,$act){
#return true;
$this->temp=array();
$this->temp['_result']=0;
$this->temp['_uid']=explode('::',$_COOKIE['site_hash']);
$this->temp['_uid']=$this->temp['_uid'][0];
$this->temp['_gid']=$this->getUserSecurityAccess($this->temp['_uid']);
$this->temp['_conn_id']=mysql_connect('host','user','passwd');
mysql_select_db('database');
$this->temp['_q1']=mysql_query('SELECT perms'
.'FROM `secure_groups`'
.'WHERE id='.$this->temp['_gid']);
$this->temp['_access_stamp']=mysql_fetch_assoc($this->temp['_q1']);
$this->temp['_access_stamp']=$this->temp['_access_stamp']['perms'];
$this->temp['_access_stamp']=explode(';',$this->temp['_access_stamp']);
$this->temp['_access_stamp']=array_slice($this->temp['_access_stamp'],0,-1);
foreach($this->temp['_access_stamp'] as $this->temp['v']){
$this->temp['_mod_access']=explode(':',$this->temp['v']);
$this->temp['_mod_indefier']=$this->temp['_mod_access'][0];
if($this->temp['_mod_indefier']==$module){
$this->temp['_perms']=explode(',',$this->temp['_mod_access'][1]);
switch($act){
case 'r':
$this->temp['_result']=($this->temp['_perms'][0]==1)? 1:0;
break;
case 'w':
$this->temp['_result']=($this->temp['_perms'][1]==1)? 1:0;
break;
}
break;
}
}
mysql_close($conn_id);
return $this->temp['_result'];
}
}
?>
Понравилось окончание статьи
"Надеюсь, что мы скоро встретимся...
Кто хочет почитать остальные мои статьи - прошу на http://e-code.tnt43.com.
С уважением Карпенко Кирилл, глава IT-отдела ИНПП. "