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', $code);
+ $rm = Remember_me::getKV('code', $code);
if (!$rm) {
common_log(LOG_WARNING, 'No such remember code: ' . $code);
return null;
}
- $user = User::staticGet('id', $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;
$r = common_render_text($text);
$id = $notice->profile_id;
$r = common_linkify_mentions($r, $notice);
- $r = preg_replace('/(^|[\s\.\,\:\;]+)!(' . Nickname::DISPLAY_FMT . ')/e',
- "'\\1!'.common_group_link($id, '\\2')", $r);
+ $r = preg_replace_callback('/(^|[\s\.\,\:\;]+)!(' . Nickname::DISPLAY_FMT . ')/',
+ function ($m) { return "{$m[1]}!".common_group_link($id, $m[2]); }, $r);
return $r;
}
{
$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));
$r = preg_replace('/[\x{0}-\x{8}\x{b}-\x{c}\x{e}-\x{19}]/', '', $r);
$r = common_replace_urls_callback($r, 'common_linkify');
- $r = preg_replace('/(^|\"\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/ue', "'\\1#'.common_tag_link('\\2')", $r);
+ $r = preg_replace_callback('/(^|\"\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/u',
+ function ($m) { return "{$m[1]}#".common_tag_link($m[2]); }, $r);
// XXX: machine tags
return $r;
}
// 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);
- if ($always || mb_strlen($text) > $maxLength) {
+ if ($always || ($maxLength != -1 && mb_strlen($text) > $maxLength)) {
return common_replace_urls_callback($text, array('File_redirection', 'forceShort'), $user);
} else {
return common_replace_urls_callback($text, array('File_redirection', 'makeShort'), $user);
*/
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();
}
$r = Router::get();
$path = $r->build($action, $args, $params, $fragment);
- $ssl = common_is_sensitive($action);
+ $ssl = StatusNet::isHTTPS() || common_is_sensitive($action);
if (common_config('site','fancy')) {
$url = common_path($path, $ssl, $addSession);
'register',
'passwordsettings',
'api',
- 'ApiOauthRequestToken',
- 'ApiOauthAccessToken',
- 'ApiOauthAuthorize',
- 'ApiOauthPin',
+ 'ApiOAuthRequestToken',
+ 'ApiOAuthAccessToken',
+ 'ApiOAuthAuthorize',
+ 'ApiOAuthPin',
'showapplication'
);
$ssl = null;
{
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',
$c = preg_replace('/%%arg.'.$name.'%%/', $value, $c);
}
- $c = preg_replace('/%%user.(\w+)%%/e', "common_user_property('\\1')", $c);
- $c = preg_replace('/%%action.(\w+)%%/e', "common_local_url('\\1')", $c);
- $c = preg_replace('/%%doc.(\w+)%%/e', "common_local_url('doc', array('title'=>'\\1'))", $c);
- $c = preg_replace('/%%(\w+).(\w+)%%/e', 'common_config(\'\\1\', \'\\2\')', $c);
+ $c = preg_replace_callback('/%%user.(\w+)%%/', function ($m) { return common_user_property($m[1]); }, $c);
+ $c = preg_replace_callback('/%%action.(\w+)%%/', function ($m) { return common_local_url($m[1]); }, $c);
+ $c = preg_replace_callback('/%%doc.(\w+)%%/', function ($m) { return common_local_url('doc', array('title'=>$m[1])); }, $c);
+ $c = preg_replace_callback('/%%(\w+).(\w+)%%/', function ($m) { return common_config($m[1], $m[2]); }, $c);
return Markdown($c);
}
return $profile->$property;
break;
case 'avatar':
- return $profile->getAvatar(AVATAR_STREAM_SIZE);
+ try {
+ return $profile->getAvatar(AVATAR_STREAM_SIZE);
+ } catch (Exception $e) {
+ return null;
+ }
break;
case 'bestname':
return $profile->getBestName();
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;
}
// $force forces shortening even if it's not strictly needed
// I doubt URL shortening is ever 'strictly' needed. - ESP
- if (mb_strlen($long_url) < $maxUrlLength && !$force) {
+ if (($maxUrlLength == -1 || mb_strlen($long_url) < $maxUrlLength) && !$force) {
return $long_url;
}
} 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;