summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-05-30 13:43:10 -0400
committerEvan Prodromou <evan@prodromou.name>2008-05-30 13:43:10 -0400
commitbf5ae8e69a971b6310641f5a963292a64609d0e8 (patch)
tree73cdf4e079c324f332f02362d52fc846e0286ff3
parentf8a070394f8d9ba9bd5eab4bcf7eab628ceb852b (diff)
remotesubscribe form
darcs-hash:20080530174310-84dde-1e05966eb48573ced8e73acf3f3b59e7bc4f1170.gz
-rw-r--r--actions/remotesubscribe.php2
-rw-r--r--actions/showstream.php23
-rw-r--r--doc/TODO14
-rw-r--r--lib/common.php2
-rw-r--r--lib/util.php7
5 files changed, 36 insertions, 12 deletions
diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php
index 68f5f0fc3..29e62c3e9 100644
--- a/actions/remotesubscribe.php
+++ b/actions/remotesubscribe.php
@@ -41,12 +41,14 @@ class RemotesubscribeAction extends Action {
}
function show_form($err=NULL) {
+ $nickname = $this->trimmed('nickname');
common_show_header(_t('Remote subscribe'));
if ($err) {
common_element('div', 'error', $err);
}
common_element_start('form', array('id' => 'remotesubscribe', 'method' => 'POST',
'action' => common_local_url('remotesubscribe')));
+ common_input('nickname', _t('User nickname'), $nickname);
common_input('profile', _t('Profile URL'));
common_submit('submit', _t('Subscribe'));
common_element_end('form');
diff --git a/actions/showstream.php b/actions/showstream.php
index 7bdc7c679..a4c476534 100644
--- a/actions/showstream.php
+++ b/actions/showstream.php
@@ -88,12 +88,16 @@ class ShowstreamAction extends StreamAction {
$cur = common_current_user();
- if ($cur && $cur->id != $profile->id) {
- if ($cur->isSubscribed($profile)) {
- $this->show_unsubscribe_form($profile);
- } else {
- $this->show_subscribe_form($profile);
+ if ($cur) {
+ if ($cur->id != $profile->id) {
+ if ($cur->isSubscribed($profile)) {
+ $this->show_unsubscribe_form($profile);
+ } else {
+ $this->show_subscribe_form($profile);
+ }
}
+ } else {
+ $this->show_remote_subscribe_form($profile);
}
$this->show_statistics($profile);
@@ -146,6 +150,15 @@ class ShowstreamAction extends StreamAction {
common_element_end('form');
}
+ function show_remote_subscribe_form($profile) {
+ common_element_start('form', array('id' => 'remotesubscribe', 'method' => 'POST',
+ 'action' => common_local_url('remotesubscribe')));
+ common_hidden('nickname', $profile->nickname);
+ common_input('profile', _t('Profile'));
+ common_submit('submit',_t('Subscribe'));
+ common_element_end('form');
+ }
+
function show_unsubscribe_form($profile) {
common_element_start('form', array('id' => 'unsubscribe', 'method' => 'POST',
'action' => common_local_url('unsubscribe')));
diff --git a/doc/TODO b/doc/TODO
index 6c4996709..10a072a87 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -60,8 +60,8 @@
- server side of user authorization
- server side of request token
- server side of access token
-- OAuth store
-- log of consumers who ask for access
++ OAuth store
++ log of consumers who ask for access
- receive remote notice
- send remote notice
- subscribe form for not-logged-in users on showstream
@@ -83,10 +83,12 @@
+ add a next page link to all
- AGPL notification
- Check licenses of all libraries for compatibility
-- gettext
++ @ messages
++ Automatically linkify URLs in notices
- release 0.3
+- email notification on subscriptions
+- gettext
- license per notice
-- Automatically linkify URLs in notices
- tinyurl-ification of URLs
- use only canonical email addresses
- allow mixed-case usernames
@@ -98,6 +100,8 @@
- theme per site
- theme per profile
- email confirmation for registration
+- email options
+- email newsletter
- change cookie handling for anon users to be more cache-friendly
- jQuery for as much as possible
- content negotiation for interface language
@@ -114,7 +118,6 @@
- RDFa for stream pages
- RDFa for subscriber pages
- RDFa for subscribed pages
-- @ messages
- # tags
- L: location
- hreviews
@@ -134,6 +137,7 @@
- receive notices from mobile phone
- machine tags
- release 0.6
+- OAuth for third-party tools (desktop, other sites)
- Twitter-compatible API
- Pownce-compatible API
- include twitter subscriptions (push and pull)
diff --git a/lib/common.php b/lib/common.php
index 1954dfc2a..6ff40ab5f 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -17,8 +17,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* XXX: break up into separate modules (HTTP, HTML, user, files) */
-
if (!defined('LACONICA')) { exit(1); }
define('AVATAR_PROFILE_SIZE', 96);
diff --git a/lib/util.php b/lib/util.php
index 72876cef7..126801126 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -238,6 +238,13 @@ function common_input($id, $label, $value=NULL) {
common_element_end('p');
}
+function common_hidden($id, $value) {
+ common_element('input', array('name' => $id,
+ 'type' => 'hidden',
+ 'id' => $id,
+ 'value' => $value));
+}
+
function common_password($id, $label) {
common_element_start('p');
common_element('label', array('for' => $id), $label);