summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-03-03 09:53:38 -0800
committerBrion Vibber <brion@pobox.com>2010-03-03 09:53:38 -0800
commit7313cd909479f771e960466d9194783c9a3158bb (patch)
tree318734efe06c9de904364f04cb76e1c54b75e269 /lib
parent49a872b56f82a3f1ba59f0751c11dfe7754393dd (diff)
parentf3cea2430497e751bc7776fe3abf0603e2b55f8b (diff)
Merge branch 'testing' of git@gitorious.org:statusnet/mainline
Conflicts: plugins/OStatus/OStatusPlugin.php
Diffstat (limited to 'lib')
-rw-r--r--lib/action.php2
-rw-r--r--lib/activity.php5
-rw-r--r--lib/apiaction.php9
-rw-r--r--lib/default.php4
-rw-r--r--lib/profileaction.php35
-rw-r--r--lib/profilelist.php9
-rw-r--r--lib/util.php41
7 files changed, 65 insertions, 40 deletions
diff --git a/lib/action.php b/lib/action.php
index a7e0eb33b..0918c6858 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -425,8 +425,6 @@ class Action extends HTMLOutputter // lawsuit
$connect = 'imsettings';
} else if (common_config('sms', 'enabled')) {
$connect = 'smssettings';
- } else if (common_config('twitter', 'enabled')) {
- $connect = 'twittersettings';
}
$this->elementStart('dl', array('id' => 'site_nav_global_primary'));
diff --git a/lib/activity.php b/lib/activity.php
index 7926d0569..7334239ec 100644
--- a/lib/activity.php
+++ b/lib/activity.php
@@ -1048,6 +1048,7 @@ class Activity
public $id; // ID of the activity
public $title; // title of the activity
public $categories = array(); // list of AtomCategory objects
+ public $enclosures = array(); // list of enclosure URL references
/**
* Turns a regular old Atom <entry> into a magical activity
@@ -1144,6 +1145,10 @@ class Activity
$this->categories[] = new AtomCategory($catEl);
}
}
+
+ foreach (ActivityUtils::getLinks($entry, 'enclosure') as $link) {
+ $this->enclosures[] = $link->getAttribute('href');
+ }
}
/**
diff --git a/lib/apiaction.php b/lib/apiaction.php
index 8049c0901..eef0ba637 100644
--- a/lib/apiaction.php
+++ b/lib/apiaction.php
@@ -291,11 +291,12 @@ class ApiAction extends Action
$twitter_status['attachments'] = array();
foreach ($attachments as $attachment) {
- if ($attachment->isEnclosure()) {
+ $enclosure_o=$attachment->getEnclosure();
+ if ($enclosure_o) {
$enclosure = array();
- $enclosure['url'] = $attachment->url;
- $enclosure['mimetype'] = $attachment->mimetype;
- $enclosure['size'] = $attachment->size;
+ $enclosure['url'] = $enclosure_o->url;
+ $enclosure['mimetype'] = $enclosure_o->mimetype;
+ $enclosure['size'] = $enclosure_o->size;
$twitter_status['attachments'][] = $enclosure;
}
}
diff --git a/lib/default.php b/lib/default.php
index d849055c2..7b50242ae 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -177,8 +177,8 @@ $default =
array('source' => 'StatusNet', # source attribute for Twitter
'taguri' => null), # base for tag URIs
'twitter' =>
- array('enabled' => true,
- 'consumer_key' => null,
+ array('signin' => true,
+ 'consumer_key' => null,
'consumer_secret' => null),
'cache' =>
array('base' => null),
diff --git a/lib/profileaction.php b/lib/profileaction.php
index 2d4d23265..2bda8b07c 100644
--- a/lib/profileaction.php
+++ b/lib/profileaction.php
@@ -106,27 +106,30 @@ class ProfileAction extends OwnerDesignAction
$this->elementStart('div', array('id' => 'entity_subscriptions',
'class' => 'section'));
- $this->element('h2', null, _('Subscriptions'));
+ if (Event::handle('StartShowSubscriptionsMiniList', array($this))) {
+ $this->element('h2', null, _('Subscriptions'));
- $cnt = 0;
+ $cnt = 0;
- if (!empty($profile)) {
- $pml = new ProfileMiniList($profile, $this);
- $cnt = $pml->show();
- if ($cnt == 0) {
- $this->element('p', null, _('(None)'));
+ if (!empty($profile)) {
+ $pml = new ProfileMiniList($profile, $this);
+ $cnt = $pml->show();
+ if ($cnt == 0) {
+ $this->element('p', null, _('(None)'));
+ }
}
- }
- if ($cnt > PROFILES_PER_MINILIST) {
- $this->elementStart('p');
- $this->element('a', array('href' => common_local_url('subscriptions',
- array('nickname' => $this->profile->nickname)),
- 'class' => 'more'),
- _('All subscriptions'));
- $this->elementEnd('p');
- }
+ if ($cnt > PROFILES_PER_MINILIST) {
+ $this->elementStart('p');
+ $this->element('a', array('href' => common_local_url('subscriptions',
+ array('nickname' => $this->profile->nickname)),
+ 'class' => 'more'),
+ _('All subscriptions'));
+ $this->elementEnd('p');
+ }
+ Event::handle('EndShowSubscriptionsMiniList', array($this));
+ }
$this->elementEnd('div');
}
diff --git a/lib/profilelist.php b/lib/profilelist.php
index 693cd6449..4f1e84a6a 100644
--- a/lib/profilelist.php
+++ b/lib/profilelist.php
@@ -273,13 +273,18 @@ class ProfileListItem extends Widget
$usf = new UnsubscribeForm($this->out, $this->profile);
$usf->show();
} else {
- // Is it a local user? can't remote sub from a list
- // XXX: make that possible!
$other = User::staticGet('id', $this->profile->id);
if (!empty($other)) {
$sf = new SubscribeForm($this->out, $this->profile);
$sf->show();
}
+ else {
+ $url = common_local_url('remotesubscribe',
+ array('nickname' => $this->profile->nickname));
+ $this->out->element('a', array('href' => $url,
+ 'class' => 'entity_remote_subscribe'),
+ _('Subscribe'));
+ }
}
$this->out->elementEnd('li');
}
diff --git a/lib/util.php b/lib/util.php
index 485f6f0d9..add1b0ae6 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -770,20 +770,13 @@ function common_linkify($url) {
}
if (!empty($f)) {
- if ($f->isEnclosure()) {
+ if ($f->getEnclosure()) {
$is_attachment = true;
$attachment_id = $f->id;
- } else {
- $foe = File_oembed::staticGet('file_id', $f->id);
- if (!empty($foe)) {
- // if it has OEmbed info, it's an attachment, too
- $is_attachment = true;
- $attachment_id = $f->id;
-
- $thumb = File_thumbnail::staticGet('file_id', $f->id);
- if (!empty($thumb)) {
- $has_thumb = true;
- }
+
+ $thumb = File_thumbnail::staticGet('file_id', $f->id);
+ if (!empty($thumb)) {
+ $has_thumb = true;
}
}
}
@@ -809,8 +802,28 @@ function common_shorten_links($text)
function common_xml_safe_str($str)
{
- // Neutralize control codes and surrogates
- return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
+ // Replace common eol and extra whitespace input chars
+ $unWelcome = array(
+ "\t", // tab
+ "\n", // newline
+ "\r", // cr
+ "\0", // null byte eos
+ "\x0B" // vertical tab
+ );
+
+ $replacement = array(
+ ' ', // single space
+ ' ',
+ '', // nothing
+ '',
+ ' '
+ );
+
+ $str = str_replace($unWelcome, $replacement, $str);
+
+ // Neutralize any additional control codes and UTF-16 surrogates
+ // (Twitter uses '*')
+ return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
}
function common_tag_link($tag)