summaryrefslogtreecommitdiff
path: root/lib/applicationlist.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/applicationlist.php')
-rw-r--r--lib/applicationlist.php68
1 files changed, 49 insertions, 19 deletions
diff --git a/lib/applicationlist.php b/lib/applicationlist.php
index 5392ddab8..e305437f4 100644
--- a/lib/applicationlist.php
+++ b/lib/applicationlist.php
@@ -57,13 +57,14 @@ class ApplicationList extends Widget
/** Action object using us. */
var $action = null;
- function __construct($application, $owner=null, $action=null)
+ function __construct($application, $owner=null, $action=null, $connections = false)
{
parent::__construct($action);
$this->application = $application;
$this->owner = $owner;
$this->action = $action;
+ $this->connections = $connections;
}
function show()
@@ -97,36 +98,65 @@ class ApplicationList extends Widget
$this->out->element('img', array('src' => $this->application->icon));
}
- $this->out->elementStart('a',
- array('href' => common_local_url(
- 'showapplication',
- array(
- 'nickname' => $user->nickname,
- 'id' => $this->application->id
- )
- ),
- 'class' => 'url')
- );
+ if (!$this->connections) {
+
+ $this->out->elementStart('a',
+ array('href' =>
+ common_local_url('showapplication',
+ array('nickname' => $user->nickname,
+ 'id' => $this->application->id)),
+ 'class' => 'url')
+ );
$this->out->raw($this->application->name);
$this->out->elementEnd('a');
+ } else {
+ $this->out->elementStart('a',
+ array('href' => $this->application->source_url,
+ 'class' => 'url'));
- $this->out->raw(' by ');
+ $this->out->raw($this->application->name);
+ $this->out->elementEnd('a');
+ }
- $this->out->elementStart('a',
+ $this->out->raw(' by ');
+
+ $this->out->elementStart('a',
array(
- 'href' => $this->application->homepage,
- 'class' => 'url'
+ 'href' => $this->application->homepage,
+ 'class' => 'url'
)
- );
- $this->out->raw($this->application->organization);
- $this->out->elementEnd('a');
+ );
+ $this->out->raw($this->application->organization);
+ $this->out->elementEnd('a');
- $this->out->elementStart('p', 'note');
+ $this->out->elementStart('p', 'note');
$this->out->raw($this->application->description);
$this->out->elementEnd('p');
+ $this->out->elementEnd('li');
+
+ if ($this->connections) {
+
+ $appUser = Oauth_application_user::getByKeys($this->owner, $this->application);
+
+ if (empty($appUser)) {
+ common_debug("empty appUser!");
+ }
+
+ $this->out->elementStart('li');
+
+ $access = ($this->application->access_type & Oauth_application::$writeAccess)
+ ? 'read-write' : 'read-only';
+
+ $txt = 'Approved ' . common_exact_date($appUser->modified) .
+ " $access for access.";
+
+ $this->out->raw($txt);
$this->out->elementEnd('li');
+
+ // XXX: Add revoke access button
+ }
}
/* Override this in subclasses. */