All pastes #830479 Raw Edit

kusabasux

public php v1 · immutable
#830479 ·published 2007-12-24 00:10 UTC
rendered paste body
/*---------------  KUSABA METHOD---------------*/function calculateNameAndTripcode($post_name) {	global $tc_db;	if(ereg("(#|!)(.*)", $post_name, $regs)){		$cap = $regs[2];		$cap_full = '#' . $regs[2];		if (function_exists('mb_convert_encoding')) {			$recoded_cap = mb_convert_encoding($cap, 'SJIS', 'UTF-8');			if ($recoded_cap != '') {				$cap = $recoded_cap;			}		}		if (strpos($post_name, '#') === false) {			$cap_delimiter = '!';		} elseif (strpos($post_name, '!') === false) {			$cap_delimiter = '#';		} else {			$cap_delimiter = (strpos($post_name, '#') < strpos($post_name, '!')) ? '#' : '!';		}		if (ereg("(.*)(" . $cap_delimiter . ")(.*)", $cap, $regs_secure)) {			$cap = $regs_secure[1];			$cap_secure = $regs_secure[3];			$is_secure_trip = true;		} else {			$is_secure_trip = false;		}		$tripcode = '';		if ($cap != '') {			/* From Futabally */			$cap = strtr($cap, "&amp;", "&");			$cap = strtr($cap, "&#44;", ", ");			$salt = substr($cap."H.", 1, 2);			$salt = ereg_replace("[^\.-z]", ".", $salt);			$salt = strtr($salt, ":;<=>?@[\\]^_`", "ABCDEFGabcdef");			$tripcode = substr(crypt($cap, $salt), -10);		}		if ($is_secure_trip) {			if ($cap != '') {				$tripcode .= '!';			}			$secure_tripcode = md5($cap_secure . KU_RANDOMSEED);			if (function_exists('base64_encode')) {				$secure_tripcode = base64_encode($secure_tripcode);			}			if (function_exists('str_rot13')) {				$secure_tripcode = str_rot13($secure_tripcode);			}			$secure_tripcode = substr($secure_tripcode, 2, 10);			$tripcode .= '!' . $secure_tripcode;		}		$name = ereg_replace("(" . $cap_delimiter . ")(.*)", "", $post_name);		$tc_db->Execute("INSERT INTO `".KU_DBPREFIX."passcache` ( `md5` , `name` , `tripcode` ) VALUES ( '" . md5($post_name) . "' , '" . $name . "' , '" . $tripcode . "' )");		return array($name, $tripcode);	}	return $post_name;}/*----------------  FIOKARA METHOD----------------*/static function username ($name = false){	// Strip unneccessary whitespace and set variables	$name	= preg_replace ('/(\s+)?([#])/s', '#', $name);	$cap_n	= false;	$cap_s	= false;	$trip	= false;	$split	= split ('#', $name); // ereg is overkill for this	if ($split[1]) { $cap_n	= $split[1]; } // Normal tripcode	if ($split[2]) { $cap_s	= $split[2]; } // Secure tripcode	if ($split[3]) { $cap_s	= $split[3]; } // Secure tripcode	if ($cap_n) // Normal tripcode parsing	{		$name	= str_replace ('#' . $cap_n, '', $name); // Remove cap from name		$cap_n	= strtr ($cap_n, '&amp;', '&');		$cap_n	= strtr ($cap_n, '&#44;', ',');		$salt	= substr ($cap_n . 'H.', 1, 2);		$salt	= preg_replace ('/[^\.-z]/', '.', $salt);		$salt	= strtr ($salt, ':;<=>?@[\\]^_`', 'ABCDEFGabcdef');		$trip	.= '!' . substr (crypt ($cap_n, $salt), - 10);	}	if ($cap_s) // Secure tripcode parsing	{		$name	= str_replace ('##' . $cap_s, '', $name); // Remove cap from name		$cap_s	= md5 ($cap_s . config::get ('encryption:seed') );		if (function_exists ('base64_encode') )		{ $cap_s	= base64_encode ($cap_s); }		if (function_exists ('str_rot13') )		{ $cap_s	= str_rot13 ($cap_s); }		$cap_s	= substr ($cap_s, 2, 10);		$trip	.= '!!' . $cap_s;	}	if (!$name && !$cap_n && !$cap_s)	{ $name	= language::get ('default:name'); }	return (format::username ($name, $trip) );}