X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Futil.php;h=fdd678abdb1406c859acba5092faf1933274deac;hb=87370f0cb18aab5d2c5f7d1325f47692fa39ad90;hp=3c65d287d018648b54ff1ee69bb1c9275a3a5c71;hpb=64b03439b517695f1bfd0aa15f0f9e872b27c029;p=quix0rs-gnu-social.git diff --git a/lib/util.php b/lib/util.php index 3c65d287d0..fdd678abdb 100644 --- a/lib/util.php +++ b/lib/util.php @@ -235,9 +235,9 @@ function common_check_user($nickname, $password) 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)) { @@ -315,7 +315,7 @@ function common_set_user($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; } @@ -413,7 +413,7 @@ function common_remembered_user() 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); @@ -427,7 +427,7 @@ function common_remembered_user() 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); @@ -484,7 +484,7 @@ function common_current_user() 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; @@ -585,8 +585,8 @@ function common_render_content($text, $notice) $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; } @@ -675,7 +675,7 @@ function common_find_mentions($text, $notice) { $mentions = array(); - $sender = Profile::staticGet('id', $notice->profile_id); + $sender = Profile::getKV('id', $notice->profile_id); if (empty($sender)) { return $mentions; @@ -690,14 +690,14 @@ function common_find_mentions($text, $notice) // 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; } @@ -729,7 +729,7 @@ function common_find_mentions($text, $notice) } 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)); @@ -812,7 +812,8 @@ function common_render_text($text) $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; } @@ -979,7 +980,7 @@ function common_linkify($url) { // 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')) { @@ -993,7 +994,7 @@ function common_linkify($url) { $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; } @@ -1040,11 +1041,13 @@ function common_linkify($url) { */ 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); @@ -1148,7 +1151,7 @@ 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(), @@ -1215,9 +1218,9 @@ function common_relative_profile($sender, $nickname, $dt=null) 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(); } @@ -1234,7 +1237,7 @@ function common_local_url($action, $args=null, $params=null, $fragment=null, $ad $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); @@ -1257,10 +1260,10 @@ function common_is_sensitive($action) 'register', 'passwordsettings', 'api', - 'ApiOauthRequestToken', - 'ApiOauthAccessToken', - 'ApiOauthAuthorize', - 'ApiOauthPin', + 'ApiOAuthRequestToken', + 'ApiOAuthAccessToken', + 'ApiOAuthAuthorize', + 'ApiOAuthPin', 'showapplication' ); $ssl = null; @@ -1311,7 +1314,7 @@ function common_inject_session($url, $serverpart = null) $serverpart = parse_url($url, PHP_URL_HOST); } - $currentServer = (array_has_key('HTTP_HOST')) ? $_SERVER['HTTP_HOST'] : null; + $currentServer = (array_key_exists('HTTP_HOST', $_SERVER)) ? $_SERVER['HTTP_HOST'] : null; // Are we pointing to another server (like an SSL server?) @@ -1978,10 +1981,10 @@ function common_markup_to_html($c, $args=null) $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); } @@ -2002,7 +2005,11 @@ function common_user_property($property) 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(); @@ -2018,7 +2025,7 @@ function common_profile_uri($profile) 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; } @@ -2148,7 +2155,7 @@ function common_shorten_url($long_url, User $user=null, $force = false) // $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; }