Merge branch '0.7.x' of git://gitorious.org/laconica/bAvatar-clone without the unintended deletion.

This commit is contained in:
Adrian Lang 2009-04-20 12:15:12 +02:00
commit 558fa2743e
2 changed files with 11 additions and 14 deletions

View File

@ -519,11 +519,16 @@ function common_shorten_links($text)
function common_shorten_link($url, $reverse = false)
{
static $url_cache = array();
if ($reverse) return isset($url_cache[$url]) ? $url_cache[$url] : $url;
$user = common_current_user();
if (!isset($user)) {
// common current user does not find a user when called from the XMPP daemon
// therefore we'll set one here fix, so that XMPP given URLs may be shortened
$user->urlshorteningservice = 'ur1.ca';
}
$curlh = curl_init();
curl_setopt($curlh, CURLOPT_CONNECTTIMEOUT, 20); // # seconds to wait
curl_setopt($curlh, CURLOPT_USERAGENT, 'Laconica');
@ -1334,4 +1339,3 @@ function common_database_tablename($tablename)
//table prefixes could be added here later
return $tablename;
}

View File

@ -152,11 +152,6 @@ class XMPPDaemon extends Daemon
$body = preg_replace('/d[\ ]*('. $to .')[\ ]*/', '', $pl['body']);
$this->add_direct($user, $body, $to, $from);
} else {
$len = mb_strlen($pl['body']);
if($len > 140) {
$this->from_site($from, 'Message too long - maximum is 140 characters, you sent ' . $len);
return;
}
$this->add_notice($user, $pl);
}
@ -255,15 +250,13 @@ class XMPPDaemon extends Daemon
function add_notice(&$user, &$pl)
{
$body = trim($pl['body']);
$content_shortened = common_shorten_link($body);
$content_shortened = common_shorten_links($body);
if (mb_strlen($content_shortened) > 140) {
$content = trim(mb_substr($body, 0, 140));
$content_shortened = common_shorten_link($content);
$from = jabber_normalize_jid($pl['from']);
$this->from_site($from, "Message too long - maximum is 140 characters, you sent ".mb_strlen($content_shortened));
return;
}
else {
$content = $body;
}
$notice = Notice::saveNew($user->id, $content, 'xmpp');
$notice = Notice::saveNew($user->id, $content_shortened, 'xmpp');
if (is_string($notice)) {
$this->log(LOG_ERR, $notice);
return;