summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-01-13 07:33:51 +0000
committerZach Copley <zach@status.net>2010-01-14 02:41:09 +0000
commit7c34ac8cc2c3813f05deb8ac80e511648b441914 (patch)
treec53ec0b5bf90387e476e2e08789c68a99fdd7683
parent22809baf94118ea7c0a41db4ac511277fc942a41 (diff)
Rework application registration workflow to be more private
-rw-r--r--actions/editapplication.php8
-rw-r--r--actions/newapplication.php8
-rw-r--r--actions/oauthappssettings.php (renamed from actions/apps.php)10
-rw-r--r--actions/oauthconnectionssettings.php2
-rw-r--r--actions/showapplication.php25
-rw-r--r--lib/applicationeditform.php61
-rw-r--r--lib/applicationlist.php13
-rw-r--r--lib/router.php23
8 files changed, 58 insertions, 92 deletions
diff --git a/actions/editapplication.php b/actions/editapplication.php
index a0ed3117a..a6db87c61 100644
--- a/actions/editapplication.php
+++ b/actions/editapplication.php
@@ -125,10 +125,7 @@ class EditApplicationAction extends OwnerDesignAction
if ($this->arg('cancel')) {
common_redirect(common_local_url('showapplication',
- array(
- 'nickname' => $cur->nickname,
- 'id' => $this->app->id)
- ), 303);
+ array('id' => $this->app->id)), 303);
} elseif ($this->arg('save')) {
$this->trySave();
} else {
@@ -253,8 +250,7 @@ class EditApplicationAction extends OwnerDesignAction
$this->app->uploadLogo();
- common_redirect(common_local_url('apps',
- array('nickname' => $cur->nickname)), 303);
+ common_redirect(common_local_url('oauthappssettings'), 303);
}
}
diff --git a/actions/newapplication.php b/actions/newapplication.php
index 7bb81095d..c499fe7c7 100644
--- a/actions/newapplication.php
+++ b/actions/newapplication.php
@@ -114,8 +114,7 @@ class NewApplicationAction extends OwnerDesignAction
$cur = common_current_user();
if ($this->arg('cancel')) {
- common_redirect(common_local_url('apps',
- array('nickname' => $cur->nickname)), 303);
+ common_redirect(common_local_url('oauthappssettings'), 303);
} elseif ($this->arg('save')) {
$this->trySave();
} else {
@@ -147,7 +146,7 @@ class NewApplicationAction extends OwnerDesignAction
function trySave()
{
- $name = $this->trimmed('name');
+ $name = $this->trimmed('name');
$description = $this->trimmed('description');
$source_url = $this->trimmed('source_url');
$organization = $this->trimmed('organization');
@@ -270,8 +269,7 @@ class NewApplicationAction extends OwnerDesignAction
$app->query('COMMIT');
- common_redirect(common_local_url('apps',
- array('nickname' => $cur->nickname)), 303);
+ common_redirect(common_local_url('oauthappssettings'), 303);
}
diff --git a/actions/apps.php b/actions/oauthappssettings.php
index 7c7b24570..6c0670b17 100644
--- a/actions/apps.php
+++ b/actions/oauthappssettings.php
@@ -46,7 +46,7 @@ require_once INSTALLDIR . '/lib/applicationlist.php';
* @see SettingsAction
*/
-class AppsAction extends SettingsAction
+class OauthappssettingsAction extends SettingsAction
{
var $page = 0;
@@ -116,10 +116,7 @@ class AppsAction extends SettingsAction
$this->elementStart('p', array('id' => 'application_register'));
$this->element('a',
- array('href' => common_local_url(
- 'newapplication',
- array('nickname' => $user->nickname)
- ),
+ array('href' => common_local_url('newapplication'),
'class' => 'more'
),
'Register a new application');
@@ -129,8 +126,7 @@ class AppsAction extends SettingsAction
$this->page > 1,
$cnt > APPS_PER_PAGE,
$this->page,
- 'apps',
- array('nickname' => $user->nickname)
+ 'oauthappssettings'
);
}
diff --git a/actions/oauthconnectionssettings.php b/actions/oauthconnectionssettings.php
index 56e7b02fb..99bb9022b 100644
--- a/actions/oauthconnectionssettings.php
+++ b/actions/oauthconnectionssettings.php
@@ -158,7 +158,7 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
$this->elementStart('p');
$this->raw(_('Developers can edit the registration settings for their applications '));
$this->element('a',
- array('href' => common_local_url('apps', array('nickname' => $cur->nickname))),
+ array('href' => common_local_url('oauthappssettings')),
'here.');
$this->elementEnd('p');
}
diff --git a/actions/showapplication.php b/actions/showapplication.php
index f2ff8b900..bd3337136 100644
--- a/actions/showapplication.php
+++ b/actions/showapplication.php
@@ -211,15 +211,9 @@ class ShowApplicationAction extends OwnerDesignAction
$this->elementStart('ul');
$this->elementStart('li', 'entity_edit');
$this->element('a',
- array('href' =>
- common_local_url(
- 'editapplication',
- array(
- 'nickname' => $this->owner->nickname,
- 'id' => $this->application->id
- )
- )
- ), 'Edit');
+ array('href' => common_local_url('editapplication',
+ array('id' => $this->application->id))),
+ 'Edit');
$this->elementEnd('li');
$this->elementStart('li', 'entity_reset_keysecret');
@@ -228,8 +222,7 @@ class ShowApplicationAction extends OwnerDesignAction
'class' => 'form_reset_key',
'method' => 'POST',
'action' => common_local_url('showapplication',
- array('nickname' => $cur->nickname,
- 'id' => $this->application->id))));
+ array('id' => $this->application->id))));
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
@@ -273,13 +266,9 @@ class ShowApplicationAction extends OwnerDesignAction
$this->elementStart('p', array('id' => 'application_action'));
$this->element('a',
- array(
- 'href' => common_local_url(
- 'apps',
- array('nickname' => $this->owner->nickname)),
- 'class' => 'more'
- ),
- 'View your applications');
+ array('href' => common_local_url('oauthappssettings'),
+ 'class' => 'more'),
+ 'View your applications');
$this->elementEnd('p');
}
diff --git a/lib/applicationeditform.php b/lib/applicationeditform.php
index e9ab46780..040d3bf74 100644
--- a/lib/applicationeditform.php
+++ b/lib/applicationeditform.php
@@ -119,12 +119,9 @@ class ApplicationEditForm extends Form
if (!empty($this->application)) {
return common_local_url('editapplication',
- array('id' => $this->application->id,
- 'nickname' => $cur->nickname)
- );
+ array('id' => $this->application->id));
} else {
- return common_local_url('newapplication',
- array('nickname' => $cur->nickname));
+ return common_local_url('newapplication');
}
}
@@ -149,7 +146,7 @@ class ApplicationEditForm extends Form
{
if ($this->application) {
$id = $this->application->id;
- $icon = $this->application->icon;
+ $icon = $this->application->icon;
$name = $this->application->name;
$description = $this->application->description;
$source_url = $this->application->source_url;
@@ -160,7 +157,7 @@ class ApplicationEditForm extends Form
$this->access_type = $this->application->access_type;
} else {
$id = '';
- $icon = '';
+ $icon = '';
$name = '';
$description = '';
$source_url = '';
@@ -171,26 +168,26 @@ class ApplicationEditForm extends Form
$this->access_type = '';
}
- $this->out->hidden('token', common_session_token());
+ $this->out->hidden('token', common_session_token());
$this->out->elementStart('ul', 'form_data');
- $this->out->elementStart('li', array('id' => 'application_icon'));
+ $this->out->elementStart('li', array('id' => 'application_icon'));
- if (!empty($icon)) {
- $this->out->element('img', array('src' => $icon));
- }
+ if (!empty($icon)) {
+ $this->out->element('img', array('src' => $icon));
+ }
- $this->out->element('label', array('for' => 'app_icon'),
- _('Icon'));
+ $this->out->element('label', array('for' => 'app_icon'),
+ _('Icon'));
$this->out->element('input', array('name' => 'app_icon',
- 'type' => 'file',
- 'id' => 'app_icon'));
+ 'type' => 'file',
+ 'id' => 'app_icon'));
$this->out->element('p', 'form_guide', _('Icon for this application'));
$this->out->element('input', array('name' => 'MAX_FILE_SIZE',
- 'type' => 'hidden',
- 'id' => 'MAX_FILE_SIZE',
- 'value' => ImageFile::maxFileSizeInt()));
+ 'type' => 'hidden',
+ 'id' => 'MAX_FILE_SIZE',
+ 'value' => ImageFile::maxFileSizeInt()));
$this->out->elementEnd('li');
$this->out->elementStart('li');
@@ -207,13 +204,13 @@ class ApplicationEditForm extends Form
$maxDesc = Oauth_application::maxDesc();
if ($maxDesc > 0) {
$descInstr = sprintf(_('Describe your application in %d chars'),
- $maxDesc);
+ $maxDesc);
} else {
$descInstr = _('Describe your application');
}
$this->out->textarea('description', _('Description'),
($this->out->arg('description')) ? $this->out->arg('description') : $description,
- $descInstr);
+ $descInstr);
$this->out->elementEnd('li');
@@ -259,8 +256,8 @@ class ApplicationEditForm extends Form
$this->out->element('input', $attrs);
$this->out->element('label', array('for' => 'app_type-browser',
- 'class' => 'radio'),
- _('Browser'));
+ 'class' => 'radio'),
+ _('Browser'));
$attrs = array('name' => 'app_type',
'type' => 'radio',
@@ -275,8 +272,8 @@ class ApplicationEditForm extends Form
$this->out->element('input', $attrs);
$this->out->element('label', array('for' => 'app_type-desktop',
- 'class' => 'radio'),
- _('Desktop'));
+ 'class' => 'radio'),
+ _('Desktop'));
$this->out->element('p', 'form_guide', _('Type of application, browser or desktop'));
$this->out->elementEnd('li');
@@ -298,8 +295,8 @@ class ApplicationEditForm extends Form
$this->out->element('input', $attrs);
$this->out->element('label', array('for' => 'default_access_type-ro',
- 'class' => 'radio'),
- _('Read-only'));
+ 'class' => 'radio'),
+ _('Read-only'));
$attrs = array('name' => 'default_access_type',
'type' => 'radio',
@@ -309,15 +306,15 @@ class ApplicationEditForm extends Form
if ($this->application->access_type & Oauth_application::$readAccess
&& $this->application->access_type & Oauth_application::$writeAccess
- ) {
+ ) {
$attrs['checked'] = 'checked';
}
$this->out->element('input', $attrs);
$this->out->element('label', array('for' => 'default_access_type-rw',
- 'class' => 'radio'),
- _('Read-write'));
+ 'class' => 'radio'),
+ _('Read-write'));
$this->out->element('p', 'form_guide', _('Default access for this application: read-only, or read-write'));
$this->out->elementEnd('li');
@@ -334,8 +331,8 @@ class ApplicationEditForm extends Form
function formActions()
{
$this->out->submit('cancel', _('Cancel'), 'submit form_action-primary',
- 'cancel', _('Cancel'));
+ 'cancel', _('Cancel'));
$this->out->submit('save', _('Save'), 'submit form_action-secondary',
- 'save', _('Save'));
+ 'save', _('Save'));
}
}
diff --git a/lib/applicationlist.php b/lib/applicationlist.php
index 15c2d588a..f2eaefb40 100644
--- a/lib/applicationlist.php
+++ b/lib/applicationlist.php
@@ -64,7 +64,7 @@ class ApplicationList extends Widget
$this->application = $application;
$this->owner = $owner;
$this->action = $action;
- $this->connections = $connections;
+ $this->connections = $connections;
}
function show()
@@ -97,10 +97,9 @@ class ApplicationList extends Widget
$this->out->elementStart('span', 'vcard author');
if (!$this->connections) {
$this->out->elementStart('a',
- array('href' => common_local_url('showapplication',
- array('nickname' => $user->nickname,
- 'id' => $this->application->id)),
- 'class' => 'url'));
+ array('href' => common_local_url('showapplication',
+ array('id' => $this->application->id)),
+ 'class' => 'url'));
} else {
$this->out->elementStart('a', array('href' => $this->application->source_url,
@@ -154,8 +153,4 @@ class ApplicationList extends Widget
return;
}
- function highlight($text)
- {
- return htmlspecialchars($text);
- }
}
diff --git a/lib/router.php b/lib/router.php
index d6e448c2f..42bff2778 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -141,7 +141,7 @@ class Router
// settings
foreach (array('profile', 'avatar', 'password', 'im', 'oauthconnections',
- 'email', 'sms', 'userdesign', 'other') as $s) {
+ 'oauthapps', 'email', 'sms', 'userdesign', 'other') as $s) {
$m->connect('settings/'.$s, array('action' => $s.'settings'));
}
@@ -634,28 +634,23 @@ class Router
// user stuff
foreach (array('subscriptions', 'subscribers',
- 'nudge', 'all', 'foaf', 'xrds', 'apps',
+ 'nudge', 'all', 'foaf', 'xrds',
'replies', 'inbox', 'outbox', 'microsummary') as $a) {
$m->connect(':nickname/'.$a,
array('action' => $a),
array('nickname' => '[a-zA-Z0-9]{1,64}'));
}
- $m->connect(':nickname/apps',
- array('action' => 'apps'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}'));
- $m->connect(':nickname/apps/show/:id',
+ $m->connect('settings/oauthapps/show/:id',
array('action' => 'showapplication'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}',
- 'id' => '[0-9]+')
+ array('id' => '[0-9]+')
);
- $m->connect(':nickname/apps/new',
- array('action' => 'newapplication'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}'));
- $m->connect(':nickname/apps/edit/:id',
+ $m->connect('settings/oauthapps/new',
+ array('action' => 'newapplication')
+ );
+ $m->connect('settings/oauthapps/edit/:id',
array('action' => 'editapplication'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}',
- 'id' => '[0-9]+')
+ array('id' => '[0-9]+')
);
$m->connect('api/oauth/request_token',