if (Event::handle('StartCheckPassword', array($nickname, $password, &$authenticatedUser))) {
if (common_is_email($nickname)) {
- $user = User::staticGet('email', common_canonical_email($nickname));
+ $user = User::getKV('email', common_canonical_email($nickname));
} else {
- $user = User::staticGet('nickname', common_canonical_nickname($nickname));
+ $user = User::getKV('nickname', common_canonical_nickname($nickname));
}
if (!empty($user)) {
return true;
} else if (is_string($user)) {
$nickname = $user;
- $user = User::staticGet('nickname', $nickname);
+ $user = User::getKV('nickname', $nickname);
} else if (!($user instanceof User)) {
return false;
}
return null;
}
- $rm = Remember_me::staticGet($code);
+ $rm = Remember_me::getKV('code', $code);
if (!$rm) {
common_log(LOG_WARNING, 'No such remember code: ' . $code);
return null;
}
- $user = User::staticGet($rm->user_id);
+ $user = User::getKV('id', $rm->user_id);
if (!$user) {
common_log(LOG_WARNING, 'No such user for rememberme: ' . $rm->user_id);
common_ensure_session();
$id = isset($_SESSION['userid']) ? $_SESSION['userid'] : false;
if ($id) {
- $user = User::staticGet($id);
+ $user = User::getKV($id);
if ($user) {
$_cur = $user;
return $_cur;
{
$mentions = array();
- $sender = Profile::staticGet('id', $notice->profile_id);
+ $sender = Profile::getKV('id', $notice->profile_id);
if (empty($sender)) {
return $mentions;
// Is it a reply?
if (!empty($notice) && !empty($notice->reply_to)) {
- $originalNotice = Notice::staticGet('id', $notice->reply_to);
+ $originalNotice = Notice::getKV('id', $notice->reply_to);
if (!empty($originalNotice)) {
- $originalAuthor = Profile::staticGet('id', $originalNotice->profile_id);
+ $originalAuthor = Profile::getKV('id', $originalNotice->profile_id);
$ids = $originalNotice->getReplies();
foreach ($ids as $id) {
- $repliedTo = Profile::staticGet('id', $id);
+ $repliedTo = Profile::getKV('id', $id);
if (!empty($repliedTo)) {
$originalMentions[$repliedTo->nickname] = $repliedTo;
}
}
if (!empty($mentioned)) {
- $user = User::staticGet('id', $mentioned->id);
+ $user = User::getKV('id', $mentioned->id);
if ($user) {
$url = common_local_url('userbyid', array('id' => $user->id));
// Check to see whether this is a known "attachment" URL.
- $f = File::staticGet('url', $longurl);
+ $f = File::getKV('url', $longurl);
if (empty($f)) {
if (common_config('attachments', 'process_links')) {
$is_attachment = true;
$attachment_id = $f->id;
- $thumb = File_thumbnail::staticGet('file_id', $f->id);
+ $thumb = File_thumbnail::getKV('file_id', $f->id);
if (!empty($thumb)) {
$has_thumb = true;
}
*/
function common_shorten_links($text, $always = false, User $user=null)
{
- $user = common_current_user();
+ if ($user === null) {
+ $user = common_current_user();
+ }
$maxLength = User_urlshortener_prefs::maxNoticeLength($user);
function common_canonical_tag($tag)
{
+ // only alphanum
+ $tag = preg_replace('/[^\pL\pN]/u', '', $tag);
$tag = mb_convert_case($tag, MB_CASE_LOWER, "UTF-8");
- return str_replace(array('-', '_', '.'), '', $tag);
+ $tag = substr($tag, 0, 64);
+ return $tag;
}
function common_valid_profile_tag($str)
*/
function common_group_link($sender_id, $nickname)
{
- $sender = Profile::staticGet($sender_id);
+ $sender = Profile::getKV($sender_id);
$group = User_group::getForNickname($nickname, $sender);
if ($sender && $group && $sender->isMember($group)) {
$attrs = array('href' => $group->permalink(),
return $recipient;
}
// If this is a local user, try to find a local user with that nickname.
- $sender = User::staticGet($sender->id);
+ $sender = User::getKV($sender->id);
if ($sender) {
- $recipient_user = User::staticGet('nickname', $nickname);
+ $recipient_user = User::getKV('nickname', $nickname);
if ($recipient_user) {
return $recipient_user->getProfile();
}
$ssl = common_is_sensitive($action);
if (common_config('site','fancy')) {
- $url = common_path(mb_substr($path, 1), $ssl, $addSession);
+ $url = common_path($path, $ssl, $addSession);
} else {
if (mb_strpos($path, '/index.php') === 0) {
- $url = common_path(mb_substr($path, 1), $ssl, $addSession);
+ $url = common_path($path, $ssl, $addSession);
} else {
- $url = common_path('index.php'.$path, $ssl, $addSession);
+ $url = common_path('index.php/'.$path, $ssl, $addSession);
}
}
Event::handle('EndLocalURL', array(&$action, &$params, &$fragment, &$addSession, &$url));
{
if (common_have_session()) {
- if (empty($serverpart)) {
- $serverpart = parse_url($url, PHP_URL_HOST);
- }
+ if (empty($serverpart)) {
+ $serverpart = parse_url($url, PHP_URL_HOST);
+ }
- $currentServer = $_SERVER['HTTP_HOST'];
+ $currentServer = (array_key_exists('HTTP_HOST', $_SERVER)) ? $_SERVER['HTTP_HOST'] : null;
// Are we pointing to another server (like an SSL server?)
header('HTTP/1.1 '.$code.' '.$status[$code]);
header("Location: $url");
+ header("Connection: close");
$xo = new XMLOutputter();
$xo->startXML('a',
if (!empty($profile)) {
if (Event::handle('StartCommonProfileURI', array($profile, &$uri))) {
- $user = User::staticGet($profile->id);
+ $user = User::getKV($profile->id);
if (!empty($user)) {
$uri = $user->uri;
}
} else {
$shortenedUrl = common_local_url('redirecturl',
array('id' => $f->id));
- return $shortenedUrl;
+ if ((mb_strlen($shortenedUrl) < mb_strlen($long_url)) || $force) {
+ return $shortenedUrl;
+ } else {
+ return $long_url;
+ }
}
} else {
return $long_url;
{
return (strpos($str, '@') !== false);
}
+
+function common_init_stats()
+{
+ global $_mem, $_ts;
+
+ $_mem = memory_get_usage(true);
+ $_ts = microtime(true);
+}
+
+function common_log_delta($comment=null)
+{
+ global $_mem, $_ts;
+
+ $mold = $_mem;
+ $told = $_ts;
+
+ $_mem = memory_get_usage(true);
+ $_ts = microtime(true);
+
+ $mtotal = $_mem - $mold;
+ $ttotal = $_ts - $told;
+
+ if (empty($comment)) {
+ $comment = 'Delta';
+ }
+
+ common_debug(sprintf("%s: %d %d", $comment, $mtotal, round($ttotal * 1000000)));
+}